{"id":5493,"date":"2023-10-28T10:57:18","date_gmt":"2023-10-28T08:57:18","guid":{"rendered":"https:\/\/www.sigalou-domotique.fr\/?p=5493"},"modified":"2026-01-02T16:56:55","modified_gmt":"2026-01-02T14:56:55","slug":"sauvegarder-les-sessions-de-charge-wallbox-dun-vehicule-electrique","status":"publish","type":"post","link":"https:\/\/www.sigalou-domotique.fr\/de\/sauvegarder-les-sessions-de-charge-wallbox-dun-vehicule-electrique","title":{"rendered":"Speichern der Wallbox-Ladevorg\u00e4nge eines Elektrofahrzeugs"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_88 counter-hierarchy ez-toc-counter ez-toc-light-blue ez-toc-container-direction\">\n<label for=\"ez-toc-cssicon-toggle-item-6aae4eb3b21b1\" class=\"ez-toc-cssicon-toggle-label\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewbox=\"0 0 24 24\" version=\"1.2\" baseprofile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/label><input type=\"checkbox\"  id=\"ez-toc-cssicon-toggle-item-6aae4eb3b21b1\"  aria-label=\"Toggle\" \/><nav><ul class='ez-toc-list ez-toc-list-level-1' ><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.sigalou-domotique.fr\/de\/sauvegarder-les-sessions-de-charge-wallbox-dun-vehicule-electrique\/#Je_regarde_les_donnees_recuperees_de_lintegration_Wallbox\" >Ich schaue mir die aus der Wallbox-Integration abgerufenen Daten an<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.sigalou-domotique.fr\/de\/sauvegarder-les-sessions-de-charge-wallbox-dun-vehicule-electrique\/#Le_declencheur\" >Der Ausl\u00f6ser<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.sigalou-domotique.fr\/de\/sauvegarder-les-sessions-de-charge-wallbox-dun-vehicule-electrique\/#Les_donnees\" >Daten<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.sigalou-domotique.fr\/de\/sauvegarder-les-sessions-de-charge-wallbox-dun-vehicule-electrique\/#Jajoute_lintegration_qui_va_stocker_les_donnees_de_charge\" >Ich f\u00fcge die Integration hinzu, in der die Ladedaten gespeichert werden.<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.sigalou-domotique.fr\/de\/sauvegarder-les-sessions-de-charge-wallbox-dun-vehicule-electrique\/#Jajoute_un_sensor_detectant_le_debut_de_la_charge\" >Ich f\u00fcge einen Sensor hinzu, der den Beginn der Ladung erkennt<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.sigalou-domotique.fr\/de\/sauvegarder-les-sessions-de-charge-wallbox-dun-vehicule-electrique\/#Jajoute_lautomatisation_qui_va_enregistrer_les_donnees\" >Ich f\u00fcge die Automatisierung hinzu, mit der die Daten gespeichert werden.<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.sigalou-domotique.fr\/de\/sauvegarder-les-sessions-de-charge-wallbox-dun-vehicule-electrique\/#Explication_partie_par_partie\" >Erl\u00e4uterung Teil f\u00fcr Teil<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.sigalou-domotique.fr\/de\/sauvegarder-les-sessions-de-charge-wallbox-dun-vehicule-electrique\/#Explication_du_code_du_declencheur\" >Erl\u00e4uterung des Ausl\u00f6sercodes\u00a0<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.sigalou-domotique.fr\/de\/sauvegarder-les-sessions-de-charge-wallbox-dun-vehicule-electrique\/#Explication_de_laction_1\" >Erl\u00e4uterung der Ma\u00dfnahme 1\u00a0<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.sigalou-domotique.fr\/de\/sauvegarder-les-sessions-de-charge-wallbox-dun-vehicule-electrique\/#Explication_de_laction_2\" >Erl\u00e4uterung der Ma\u00dfnahme 2<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/www.sigalou-domotique.fr\/de\/sauvegarder-les-sessions-de-charge-wallbox-dun-vehicule-electrique\/#Explication_de_laction_3_%E2%80%93_Principale_action\" >Erl\u00e4uterung der Ma\u00dfnahme 3 \u2013 Hauptma\u00dfnahme<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/www.sigalou-domotique.fr\/de\/sauvegarder-les-sessions-de-charge-wallbox-dun-vehicule-electrique\/#Resultat\" >Ergebnis<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/www.sigalou-domotique.fr\/de\/sauvegarder-les-sessions-de-charge-wallbox-dun-vehicule-electrique\/#Ajout_dune_carte_qui_affiche_toutes_les_sessions_de_charge\" >Hinzuf\u00fcgen einer Karte, die alle Ladesitzungen anzeigt<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/www.sigalou-domotique.fr\/de\/sauvegarder-les-sessions-de-charge-wallbox-dun-vehicule-electrique\/#Ajout_dune_carte_qui_affiche_un_recapitulatif_par_annee_mois_semaine\" >Hinzuf\u00fcgen einer Karte, die eine Zusammenfassung nach Jahr, Monat und Woche anzeigt<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/www.sigalou-domotique.fr\/de\/sauvegarder-les-sessions-de-charge-wallbox-dun-vehicule-electrique\/#Bonus_Enregistrer_les_donnees_dans_un_fichier_CSV\" >Bonus: Speichern von Daten in einer CSV-Datei<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/www.sigalou-domotique.fr\/de\/sauvegarder-les-sessions-de-charge-wallbox-dun-vehicule-electrique\/#Jajoute_un_sensor_%C2%AB_file_%C2%BB_qui_correspond_au_fichier_CSV\" >Ich f\u00fcge einen Sensor \u201eDatei\u201c hinzu, der der CSV-Datei entspricht<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/www.sigalou-domotique.fr\/de\/sauvegarder-les-sessions-de-charge-wallbox-dun-vehicule-electrique\/#Jajoute_une_action\" >Ich f\u00fcge eine Aktion hinzu.<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h3><span class=\"ez-toc-section\" id=\"Je_regarde_les_donnees_recuperees_de_lintegration_Wallbox\"><\/span>Ich schaue mir die aus der Wallbox-Integration abgerufenen Daten an<span class=\"ez-toc-section-end\"><\/span><\/h3>\r\n<p>Hier eine kleine Zusammenfassung der Daten, die es mir erm\u00f6glichen, die Daten der letzten Ladesitzung in sensor.wallbox_charges zu speichern.<\/p>\r\n<p>Ich habe bereits alle Entit\u00e4ten der Wallbox-Integration auf diesem Retex beschrieben:<\/p>\r\n<ul>\r\n<li><a href=\"https:\/\/www.sigalou-domotique.fr\/de\/jintegre-la-wallbox-a-home-assistant\/\" target=\"_blank\" rel=\"noopener\">Ich integriere die Wallbox in den Home Assistant<\/a><\/li>\r\n<\/ul>\r\n<p><!--more--><\/p>\r\n<h4><span class=\"ez-toc-section\" id=\"Le_declencheur\"><\/span>Der Ausl\u00f6ser<span class=\"ez-toc-section-end\"><\/span><\/h4>\r\n<p>Also werde ich verwenden <a href=\"https:\/\/www.sigalou-domotique.fr\/de\/jintegre-la-wallbox-a-home-assistant\/#Je_decortique_lentite_Wallbox_Portal_Status_Description\" target=\"_blank\" rel=\"noopener\">sensor.wallbox_portal_status_description<\/a> als Ausl\u00f6ser f\u00fcr die Aufzeichnung der letzten Ladesitzung.<\/p>\r\n<p><a href=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/10\/status.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-5194\" src=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/10\/status.png\" alt=\"\" width=\"449\" height=\"150\" srcset=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/10\/status.png 449w, https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/10\/status-300x100.png 300w\" sizes=\"auto, (max-width: 449px) 100vw, 449px\" \/><\/a><\/p>\r\n<p>Ich werde daher die Status\u00e4nderung von \u201eCharging\u201c zu etwas anderem verwenden, um die Aufzeichnung auszul\u00f6sen.<\/p>\r\n<h4><span class=\"ez-toc-section\" id=\"Les_donnees\"><\/span>Daten<span class=\"ez-toc-section-end\"><\/span><\/h4>\r\n<p><a href=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/10\/wallbox8.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-5514\" src=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/10\/wallbox8.png\" alt=\"\" width=\"438\" height=\"210\" srcset=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/10\/wallbox8.png 438w, https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/10\/wallbox8-300x144.png 300w\" sizes=\"auto, (max-width: 438px) 100vw, 438px\" \/><\/a><\/p>\r\n<ul>\r\n<li><a href=\"https:\/\/www.sigalou-domotique.fr\/de\/jintegre-la-wallbox-a-home-assistant\/#Je_decortique_lentite_Wallbox_Portal_Added_Energy\" target=\"_blank\" rel=\"noopener\">Wallbox Portal Added Energy<\/a> (sensor.wallbox_portal_added_energy) gibt mir die Anzahl der kWh an, die der Autobatterie w\u00e4hrend des letzten Ladevorgangs hinzugef\u00fcgt wurden.<\/li>\r\n<li><a href=\"https:\/\/www.sigalou-domotique.fr\/de\/jintegre-la-wallbox-a-home-assistant\/#Je_decortique_lentite_Wallbox_Portal_Added_Range\" target=\"_blank\" rel=\"noopener\">Wallbox Portal Added Range<\/a> (sensor.wallbox_portal_added_range) wird mir eine Sch\u00e4tzung der Anzahl der zus\u00e4tzlichen Kilometer geben, die mit der letzten Last erreicht werden k\u00f6nnen.<\/li>\r\n<li><a href=\"https:\/\/www.sigalou-domotique.fr\/de\/jintegre-la-wallbox-a-home-assistant\/#Je_decortique_les_entites_Wallbox_Portal_Max_Available_Power_et_Wallbox_Portal_Max_Charging_Current\" target=\"_blank\" rel=\"noopener\">Wallbox Portal Energy Preis<\/a> (sensor.wallbox_portal_energy_price) wird mir den Preis pro kWh geben, ich werde ihn zur Berechnung der Ladekosten verwenden.<\/li>\r\n<\/ul>\r\n<h3><span class=\"ez-toc-section\" id=\"Jajoute_lintegration_qui_va_stocker_les_donnees_de_charge\"><\/span>Ich f\u00fcge die Integration hinzu, in der die Ladedaten gespeichert werden.<span class=\"ez-toc-section-end\"><\/span><\/h3>\r\n<p>Ich habe die Integration gefunden <a href=\"https:\/\/github.com\/enkama\/hass-variables\" target=\"_blank\" rel=\"noopener\">hass-Variablen<\/a>, absolut genial. Vielen Dank <a href=\"https:\/\/github.com\/enkama\" target=\"_blank\" rel=\"noopener\">Ankama<\/a> und <a href=\"https:\/\/github.com\/Snuffy2\" target=\"_blank\" rel=\"noopener\">Snuffy2<\/a> F\u00fcr diese Arbeit und dieses Follow-up.<\/p>\r\n<p>Sie erm\u00f6glicht es, einen Sensor zu erstellen, der mit nichts verbunden ist (kein Template). Dieser Sensor beh\u00e4lt seine Werte auch bei der Wiederbelebung von HA. Genau das, was ich brauchte, ohne einen externen Datensicherungsmodus (json, andere \u2026-Datenbank) zu verwenden.<\/p>\r\n<p><a href=\"https:\/\/my.home-assistant.io\/redirect\/hacs_repository\/?owner=Wibias&amp;repository=hass-variables\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" class=\"alignnone size-full wp-image-5498\" src=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/10\/config_flow_start.svg\" alt=\"\" \/><\/a><\/p>\r\n<p><a href=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/10\/wallbox4.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-5506\" src=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/10\/wallbox4.png\" alt=\"\" width=\"292\" height=\"116\" \/><\/a><\/p>\r\n<p><a href=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/10\/wallbox5.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-5507\" src=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/10\/wallbox5.png\" alt=\"\" width=\"369\" height=\"210\" srcset=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/10\/wallbox5.png 369w, https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/10\/wallbox5-300x171.png 300w\" sizes=\"auto, (max-width: 369px) 100vw, 369px\" \/><\/a><\/p>\r\n<p><a href=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/10\/wallbox6.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-5508\" src=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/10\/wallbox6.png\" alt=\"\" width=\"368\" height=\"668\" srcset=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/10\/wallbox6.png 368w, https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/10\/wallbox6-165x300.png 165w\" sizes=\"auto, (max-width: 368px) 100vw, 368px\" \/><\/a><\/p>\r\n<p><a href=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/10\/wallbox7.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-5509\" src=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/10\/wallbox7.png\" alt=\"\" width=\"549\" height=\"220\" srcset=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/10\/wallbox7.png 549w, https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/10\/wallbox7-300x120.png 300w\" sizes=\"auto, (max-width: 549px) 100vw, 549px\" \/><\/a><\/p>\r\n<p>Der neue Sensor hei\u00dft: sensor.wallbox_charges<\/p>\r\n<h3><span class=\"ez-toc-section\" id=\"Jajoute_un_sensor_detectant_le_debut_de_la_charge\"><\/span>Ich f\u00fcge einen Sensor hinzu, der den Beginn der Ladung erkennt<span class=\"ez-toc-section-end\"><\/span><\/h3>\r\n<p>Die Integration gibt mir n\u00e4mlich nicht die Uhrzeit und das Datum des Beginns der letzten Ladung an. Um die Dauer zu berechnen, finde ich es interessant, diese Informationen zu haben. Also werde ich sie erschaffen.<\/p>\r\n<p>Ich beziehe mich auf die Entit\u00e4t sensor.wallbox_portal_added_range und hole die Uhrzeit\/das Datum des Ladebeginns ab (d. h. den Mindestwert f\u00fcr die letzten 5 Stunden).<\/p>\r\n<p><a href=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/10\/wallbox9.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-5515\" src=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/10\/wallbox9.png\" alt=\"\" width=\"501\" height=\"336\" srcset=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/10\/wallbox9.png 501w, https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/10\/wallbox9-300x201.png 300w\" sizes=\"auto, (max-width: 501px) 100vw, 501px\" \/><\/a><\/p>\r\n<p>In meiner Datei sensors.yaml f\u00fcge ich diese Entit\u00e4t hinzu:<\/p>\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"yaml\">- platform: statistics name: \"Wallbox Portal Added Range Min\" entity_id: sensor.wallbox_portal_added_range state_characteristic: datetime_value_min max_age: hours: 5  <\/pre>\r\n<p>Dadurch erschaffe ich die Einheit: sensor.wallbox_portal_added_range_min<\/p>\r\n<p><a href=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/10\/wallbox10.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-5519\" src=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/10\/wallbox10.png\" alt=\"\" width=\"503\" height=\"260\" srcset=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/10\/wallbox10.png 503w, https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/10\/wallbox10-300x155.png 300w\" sizes=\"auto, (max-width: 503px) 100vw, 503px\" \/><\/a><\/p>\r\n<p>Ich werde diese Entit\u00e4t verwenden, um den Ladebeginn aufzuzeichnen und die Ladedauer zu berechnen.<\/p>\r\n\r\n\r\n\r\n<h3><span class=\"ez-toc-section\" id=\"Jajoute_lautomatisation_qui_va_enregistrer_les_donnees\"><\/span>Ich f\u00fcge die Automatisierung hinzu, mit der die Daten gespeichert werden.<span class=\"ez-toc-section-end\"><\/span><\/h3>\r\n<p>Es ist ziemlich komplex, ich nehme an, es ist einfach, ich werde es Schritt f\u00fcr Schritt erkl\u00e4ren<\/p>\r\n<p>Hier ist zun\u00e4chst der vollst\u00e4ndige Code<\/p>\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"yaml\">alias: Speichert eine Ladesitzung Beschreibung: \"\" Trigger: - platform: state entity_id: - sensor.wallbox_portal_status_description from: Charging to: null alias: Wenn die Last endet Bedingung: [] Ma\u00dfnahme: - alias: &gt;- Initialisieren Sie den ersten conso, starten Sie ihn nur einmal (indem Sie die anderen Aktionen deaktivieren) und deaktivieren Sie dann den Dienst: variable.update_sensor data: replace_attributes: true value: INIT Attribute: Sitzungsaufladung: null Ziel: entity_id: sensor.wallbox_charges enabled: false - Service: variable.update_sensor data: replace_attributes: true value: &gt;- {{ as_timestamp(states('sensor.wallbox_portal_added_range_min')) | int | timestamp_custom('%d\/%m\/%Y %H:%M:%S', true)}} Attribute: Sitzungsaufladung: &gt; {% set sessioncharge = {'Verbrauch': 2.14, 'Kosten': 0.43, 'Dauer': '00:27', 'Anfang': '19\/09\/2023 20:36', 'fin': '21:03', 'km': 17, 'saved_at': 1695150359} %}{{ sessionload }}},{% set sessioncharge = {'Verbrauch': 23.29, \"Kosten\": 4.66, 'Dauer': '04:19', 'Anfang': '21\/09\/2023 21:06', 'fin': '01:25', 'km': 192, 'saved_at': 1695323159} %}{{ sessionload }}},{% set sessioncharge = {'Verbrauch': 7.68, 'Kosten': 1.54, 'Dauer': '01:23', 'Anfang': '22\/09\/2023 08:45', 'fin': '10:08', 'km': 63, 'saved_at': 1695409559} %}{{ sessionload }}},{% set sessioncharge = {'Verbrauch': 23.8 \"Kosten\": 4.76, 'Dauer': '04:26', 'Anfang': '23\/09\/2023 16:57', 'fin': '21:23', 'km': 196, 'saved_at': 1695495959} %}{{ sessionload }}},{% set sessioncharge = {'Verbrauch': 23.64, 'Kosten': 4.73, 'Dauer': '04:05', 'Anfang': '26\/09\/2023 20:59', 'fin': '01:04', 'km': 195, 'saved_at': 1695755159} %}{{ sessionload }}},{% set sessioncharge = {'Verbrauch': 24.04, 'Kosten': 4.81, 'Dauer': '05:17', 'Anfang': '28\/09\/2023 21:21', 'fin': '02:38', 'km': 198, 'saved_at': 1695927959} %}{{ sessionload }}},{% set sessioncharge = {'Verbrauch': 17.3, 'Kosten': 3.46, 'Dauer': '03:51', 'Anfang': '30\/09\/2023 21:31', 'fin': '01:22', 'km': 143, 'saved_at': 1696100759} %}{{ sessionload }}},{% set sessioncharge = {'Verbrauch': 22.18, 'Kosten': 4.44, 'Dauer': '04:25', 'Anfang': '03\/10\/2023 20:43', 'fin': '01:08', 'km': 183, 'saved_at': 1696359959} %}{{ sessionload }}},{% set sessioncharge = {'Verbrauch': 23.86, 'Kosten': 4.77, 'Dauer': '05:26', 'Anfang': '05\/10\/2023 21:03', 'fin': '02:29', 'km': 197, 'saved_at': 1696532759} %}{{ sessionload }}},{% set sessioncharge = {'Verbrauch': 23.43, \"Kosten\": 4.69, 'Dauer': '05:07', 'Anfang': '07\/10\/2023 20:34', 'fin': '01:41', 'km': 193, 'saved_at': 1696705559} %}{{ sessionload }}},{% set sessioncharge = {'Verbrauch': 23.32, \"Kosten\": 4.66, 'Dauer': '04:40', 'Anfang': '10\/10\/2023 20:57', 'fin': '04:40', 'km': 192, 'saved_at': 1696964759} %}{{ sessionload }}},{% set sessioncharge = {'Verbrauch': 25.19, 'Kosten': 5.04, 'Dauer': '04:39', 'Anfang': '12\/10\/2023 19:53', 'fin': '00:32', 'km': 208, 'saved_at': 1697137559} %}{{ sessionload }}},{% set sessioncharge = {'Verbrauch': 8.61, 'Kosten': 1.72, 'Dauer': '01:32', 'Anfang': '13\/10\/2023 21:05', 'fin': '22:37', 'km': 71, 'saved_at': 1697223959} %}{{ sessionload }}},{% set sessioncharge = {'Verbrauch': 27.76, 'Kosten': 5.55, 'Dauer': '04:46', 'Anfang': '16\/10\/2023 02:11', 'fin': '06:57', 'km': 231, 'saved_at': 1697474976} %}{{ sessionload }}},{% set sessioncharge = {'Verbrauch': 24.18, 'Kosten': 4.84, 'Dauer': '04:12', 'Anfang': '18\/10\/2023 02:11', 'fin': '06:23', 'km': 201, 'saved_at': 1697657509} %}{{ sessionload }}},{% set sessioncharge = {'Verbrauch': 20.17, 'Kosten': 4.03, 'Dauer': '03:38', 'Anfang': '19\/10\/2023 02:11', 'fin': '05:50', 'km': 168, 'saved_at': 1697688628} %}{{ sessionload }}},{% set sessioncharge = {'Verbrauch': 23.08, 'Kosten': 4.62, 'Dauer': '04:13', 'Anfang': '21\/10\/2023 02:12', 'fin': '06:25', 'km': 192, 'saved_at': 1697867735} %}{{ sessionload }}},{% set sessioncharge = {'Verbrauch': 12.19, 'Kosten': 2.44, 'Dauer': '03:21', 'Anfang': '22\/10\/2023 02:13', 'fin': '05:34', 'km': 101, 'saved_at': 1697946854} %}{{ sessionload }} target: entity_id: sensor.wallbox_charges enabled: false alias: &gt;- Initialisieren Sie die ersten conso, starten Sie nur einmal (durch Deaktivieren der anderen Aktionen) und deaktivieren Sie dann - Service: variable.update_sensor data: replace_attributes: true value: &gt;- {{ as_timestamp(states('sensor.wallbox_portal_added_range_min')) | int | timestamp_custom('%d\/%m\/%Y %H:%M:%S', true)}} Attribute: Sitzungsaufladung: &gt;- {% set diff_seconds = now().timestamp() - states.sensor.wallbox_portal_added_range_min.state | as_timestamp %} {% set hours = (diff_seconds \/ 3600) | int %} {% set minutes = ((diff_seconds % 3600) \/ 60) | int %} {% set sessioncharge = { 'Verbrauch': states('sensor.wallbox_portal_added_energy') | float | round(2), 'cost': (states('sensor.wallbox_portal_energy_price') | float * states('sensor.wallbox_portal_added_energy') | float | round(2)) | round(2), 'Dauer': 'd:d' | format(hours, minutes) , 'Anfang': as_timestamp(states('sensor.wallbox_portal_added_range_min')) | int | timestamp_custom('%d\/%m\/%Y %H:%M', true), 'fin': now().strftime(')%H:%M') , 'km': states('sensor.wallbox_portal_added_range') | int, 'saved_at': now().timestamp() | int } %} {% if state_attr('sensor.wallbox_charges', 'sessionscharge') is not none %} {{ state_attr('sensor.wallbox_charges', 'sessionscharge') }}, {{ sessioncharge }} {% else %} {{ sessionload }}, {{ sessionload }} {% endif %} target: entity_id: sensor.wallbox_charges enabled: true alias: Speichert die gerade beendete Ladesitzung Modus: Single\r\n<\/pre>\r\n<p>&nbsp;<\/p>\r\n\r\n\r\n\r\n<h4><span class=\"ez-toc-section\" id=\"Explication_partie_par_partie\"><\/span>Erl\u00e4uterung Teil f\u00fcr Teil<span class=\"ez-toc-section-end\"><\/span><\/h4>\r\n<p><a href=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/10\/wallbox11.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-5524\" src=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/10\/wallbox11.png\" alt=\"\" width=\"983\" height=\"487\" srcset=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/10\/wallbox11.png 983w, https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/10\/wallbox11-600x297.png 600w, https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/10\/wallbox11-300x149.png 300w, https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/10\/wallbox11-768x380.png 768w\" sizes=\"auto, (max-width: 983px) 100vw, 983px\" \/><\/a><\/p>\r\n<ul>\r\n<li>Ausl\u00f6ser: das ist, wenn die Last beendet ist<\/li>\r\n<li>Aktion 1 (standardm\u00e4\u00dfig deaktiviert) muss nur einmal aktiviert werden, wobei daran gedacht wird, die beiden anderen Aktionen zu deaktivieren, um die Entit\u00e4t, die die Daten speichert, auf \u201enull\u201c zu initialisieren.<\/li>\r\n<li>Aktion 2 (standardm\u00e4\u00dfig deaktiviert) muss nur einmal aktiviert werden, um die beiden anderen Aktionen zu deaktivieren, d. h. um einige fr\u00fchere Daten zu initialisieren. Tats\u00e4chlich wollte ich die Ladedaten seit dem Kauf des Autos nicht verlieren, also habe ich sie dort gespeichert.\u00a0<\/li>\r\n<li>Aktion 3 (standardm\u00e4\u00dfig zu aktivieren) ist die Aktion, mit der die Lastdaten berechnet und gespeichert werden.<\/li>\r\n<\/ul>\r\n<h4><span class=\"ez-toc-section\" id=\"Explication_du_code_du_declencheur\"><\/span>Erl\u00e4uterung des Ausl\u00f6sercodes\u00a0<span class=\"ez-toc-section-end\"><\/span><\/h4>\r\n<p><a href=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/10\/ChatGPT_logo.svg-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-5529\" src=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/10\/ChatGPT_logo.svg-1.png\" alt=\"\" width=\"20\" height=\"20\" \/><\/a><\/p>\r\n<blockquote>\r\n<p>Dieser Ausl\u00f6ser basiert auf der \"State\"-Plattform von Home Assistant. Es \u00fcberwacht den Zustand einer bestimmten Einheit, im vorliegenden Fall \u201esensor.wallbox_portal_status_description\u201c. Insbesondere ist es so konfiguriert, dass es reagiert, wenn sich der Zustand dieses Unternehmens \u00e4ndert. Die Konfigurationsdetails lauten wie folgt:<\/p>\r\n<p>\u2013 Entity_id: Er gibt das Unternehmen an, dessen Status \u00fcberwacht wird. In diesem Fall handelt es sich um \u201esensor.wallbox_portal_status_description\u201c. Mehrere Einrichtungen k\u00f6nnen beaufsichtigt werden, indem eine Liste von Einrichtungen in Form einer Liste bereitgestellt wird. In diesem Beispiel wird jedoch nur eine Entit\u00e4t \u00fcberwacht.<\/p>\r\n<p>\u2013 \u0301from: Charging\u00bf: Dies bedeutet, dass der Ausl\u00f6ser reagiert, wenn der vorherige Status von \u201esensor.wallbox_portal_status_description\u201c \u201eCharging\u201c war. Dies ist eine Voraussetzung f\u00fcr die Automatisierung. Der Ausl\u00f6ser reagiert nur, wenn der vorherige Zustand \u201eCharging\u201c war.<\/p>\r\n<p>\u2013 \u0301to: null: Dies bedeutet, dass der Ausl\u00f6ser reagiert, wenn sich der aktuelle Status von \u201esensor.wallbox_portal_status_description\u201c von \u201eCharging\u201c in einen anderen Zustand, einschlie\u00dflich \u201enull\u201c, ge\u00e4ndert hat. Dies ist die neue Voraussetzung f\u00fcr die Automatisierung. Der Ausl\u00f6ser reagiert, wenn sich der Zustand von \u201eCharging\u201c auf einen anderen Zustand \u00e4ndert.<\/p>\r\n<p>\u2013 \u0301alias: Wenn die Ladung endet: Dies ist ein Alias f\u00fcr den Ausl\u00f6ser, ein Name, mit dem Sie ihn leichter erkennen k\u00f6nnen. In diesem Fall wird lediglich angegeben, dass die Automatisierung ausgel\u00f6st wird, wenn die Last endet.<\/p>\r\n<p>Zusammenfassend l\u00e4sst sich sagen, dass diese Automatisierung jedes Mal ausgel\u00f6st wird, wenn sich der Status von \u201esensor.wallbox_portal_status_description\u201c von \u201eCharging\u201c in einen anderen Zustand \u00e4ndert, was bedeutet, dass sie so konzipiert ist, dass sie reagiert, wenn die Ladung des Elektroautos endet.<\/p>\r\n<\/blockquote>\r\n<h4><span class=\"ez-toc-section\" id=\"Explication_de_laction_1\"><\/span>Erl\u00e4uterung der Ma\u00dfnahme 1\u00a0<span class=\"ez-toc-section-end\"><\/span><\/h4>\r\n<p><a href=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/10\/ChatGPT_logo.svg-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-5529\" src=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/10\/ChatGPT_logo.svg-1.png\" alt=\"\" width=\"20\" height=\"20\" \/><\/a><\/p>\r\n<blockquote>\r\n<p>Diese Aktion zielt darauf ab, den ersten Verbrauch (Last) f\u00fcr einen Sensor namens \"sensor.wallbox_charges\" mit dem Dienst \"variable.update_sensor\" des Home Assistant zu initialisieren. Im Folgenden werden die einzelnen Komponenten der Ma\u00dfnahme ausf\u00fchrlich erl\u00e4utert:<\/p>\r\n<p>\u2013 Aliasnamen: Es handelt sich lediglich um einen Namen oder eine Beschreibung der Ma\u00dfnahme, um sie verst\u00e4ndlicher zu machen. In diesem Fall weist er darauf hin, dass diese Ma\u00dfnahme f\u00fcr die Initialisierung des ersten Verbrauchs bestimmt ist und nur einmal durchgef\u00fchrt werden muss. Er schl\u00e4gt au\u00dferdem vor, nach der Ausf\u00fchrung weitere Aktionen zu deaktivieren.<\/p>\r\n<p>\u2013 \u0301Dienstleistung: variable.update_sensor\u00bf: In dieser Zeile wird der Dienst angegeben, der f\u00fcr die Durchf\u00fchrung der Ma\u00dfnahme verwendet werden soll. Der Dienst \u201evariable.update_sensor\u201c wird verwendet, um Attribute einer Entit\u00e4t zu aktualisieren oder zu initialisieren (in diesem Fall \u201esensor.wallbox_charges\u201c).<\/p>\r\n<p>\u2013 \u0301data\u0301: Dieser Abschnitt enth\u00e4lt die Daten, die mit dem Dienst gesendet werden sollen. In diesem Fall<br \/>\u2013 \u0301replace_attributes: true\u00bf: Dies bedeutet, dass die Attribute der bestehenden Entit\u00e4t durch die neuen Daten ersetzt werden m\u00fcssen. Wenn \"replace_attributes\" auf \"true\" gesetzt ist, werden die vorhandenen Attribute von \"sensor.wallbox_charges\" durch die neuen Daten ersetzt.<\/p>\r\n<p>\u2013 \u0301Wert: INIT: Dies gibt den Wert an, der dem Attribut \u201esessionscharge\u201c von \u201esensor.wallbox_charges\u201c zuzuweisen ist. In diesem Fall wird der Wert \"INIT\" zugewiesen.<\/p>\r\n<p>\u2013 Attribute: Sitzungsaufladung: null: In dieser Zeile hei\u00dft es, dass das Attribut \u201esessionscharge\u201c von \u201esensor.wallbox_charges\u201c auf \u201enull\u201c initialisiert werden muss.<\/p>\r\n<p>\u2013 \u201aZiel\u2018: Es gibt das Zielunternehmen an, d. h. das Unternehmen, dessen Attribute aktualisiert werden. In diesem Fall ist die Zieleinheit \u201esensor.wallbox_charges\u201c.<\/p>\r\n<p>\u2013 enabled: true\u00bf: Dies zeigt an, dass diese Aktion aktiviert ist und ausgef\u00fchrt werden kann.<\/p>\r\n<p>Zusammenfassend dient diese Aktion dazu, das Attribut \u201esessionscharge\u201c der Entit\u00e4t \u201esensor.wallbox_charges\u201c mit dem Wert \u201enull\u201c unter Verwendung des Dienstes \u201evariable.update_sensor\u201c zu initialisieren. Es soll nur einmal ausgef\u00fchrt werden, um diese Initialisierung durchzuf\u00fchren, danach wird empfohlen, diese Aktion zu deaktivieren. Dies kann n\u00fctzlich sein, um mit bestimmten Anfangswerten in Ihren Automatisierungen oder Entit\u00e4ten zu beginnen.<\/p>\r\n<\/blockquote>\r\n<h4><span class=\"ez-toc-section\" id=\"Explication_de_laction_2\"><\/span>Erl\u00e4uterung der Ma\u00dfnahme 2<span class=\"ez-toc-section-end\"><\/span><\/h4>\r\n<p><a href=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/10\/ChatGPT_logo.svg-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-5529\" src=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/10\/ChatGPT_logo.svg-1.png\" alt=\"\" width=\"20\" height=\"20\" \/><\/a><\/p>\r\n<blockquote>\r\n<p>Diese Aktion zielt darauf ab, das Attribut \u201esessionscharge\u201c einer Entit\u00e4t namens \u201esensor.wallbox_charges\u201c mit einer Reihe von Daten aus bereits bestehenden Ladesitzungen zu initialisieren. Nachstehend werden die einzelnen Elemente der Ma\u00dfnahme ausf\u00fchrlich erl\u00e4utert:<\/p>\r\n<p>\u2013 \u0301Dienstleistung: variable.update_sensor\u00bf: Dies ist der Dienst, mit dem die Attribute einer Entit\u00e4t im Home Assistant aktualisiert oder initialisiert werden.<\/p>\r\n<p>\u2013 \u0301data\u0301: Dieser Abschnitt enth\u00e4lt die Daten, die mit dem Dienst gesendet werden sollen. In diesem Fall<br \/>\u2013 \u0301replace_attributes: true\u0301: Dies deutet darauf hin, dass die vorhandenen Attribute der Entit\u00e4t \u201esensor.wallbox_charges\u201c durch die neuen Daten ersetzt werden.<\/p>\r\n<p>\u2013 \u201aWert\u2018: Dieser Teil wird verwendet, um den Wert des Attributs \u201esessionscharge\u201c der Entit\u00e4t \u201esensor.wallbox_charges\u201c zu definieren. Der Wert wird mithilfe von Jinja2-Modellen dynamisch generiert. Es verwendet den Zeitstempel der ersten Ladesitzung (d. h. \u201esensor.wallbox_portal_added_range_min\u201c), um ein Datum und eine Uhrzeit abzurufen, und formatiert sie dann im Stil \u201eTag\/Monat\/Jahr Stunde:Minute:Sekunde\u201c. Dies bedeutet, dass der Wert \u201esessionscharge\u201c mit dem Datum und der Uhrzeit der ersten Ladesitzung initialisiert wird.<\/p>\r\n<p>\u2013 Attribute: Hier werden die Daten f\u00fcr jede Ladesitzung definiert. Jede Ladesitzung wird in einem bestimmten Format mit Jinja2-Vorlagen definiert. Diese Ladesitzungen sind durch Kommas getrennt.<\/p>\r\n<p>\u2013 \u201aZiel\u2018: Es gibt das Zielunternehmen an, d. h. das Unternehmen, dessen Attribute aktualisiert werden. In diesem Fall ist die Zieleinheit \u201esensor.wallbox_charges\u201c.<\/p>\r\n<p>\u2013 enabled: true\u00bf: Dies zeigt an, dass diese Aktion aktiviert ist und ausgef\u00fchrt werden kann.<\/p>\r\n<p>Ziel dieser Aktion ist es, das Attribut \u201esessionscharge\u201c von \u201esensor.wallbox_charges\u201c mit simulierten Daten von Ladesitzungen zu initialisieren. Dies kann n\u00fctzlich sein, um mit fiktiven Lastdaten zu testen oder zu starten. Nach der Initialisierung wird empfohlen, diese Aktion wie im Alias angegeben zu deaktivieren, da sie nicht wiederholt werden muss.<\/p>\r\n<\/blockquote>\r\n<h4><span class=\"ez-toc-section\" id=\"Explication_de_laction_3_%E2%80%93_Principale_action\"><\/span>Erl\u00e4uterung der Ma\u00dfnahme 3 \u2013 Hauptma\u00dfnahme<span class=\"ez-toc-section-end\"><\/span><\/h4>\r\n<p><a href=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/10\/ChatGPT_logo.svg-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-5529\" src=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/10\/ChatGPT_logo.svg-1.png\" alt=\"\" width=\"20\" height=\"20\" \/><\/a><\/p>\r\n<blockquote>\r\n<p>Mit dieser Aktion soll das Attribut \u201esessionscharge\u201c der Entit\u00e4t \u201esensor.wallbox_charges\u201c mit den Daten der gerade beendeten Ladesitzung aktualisiert werden. Nachstehend werden die einzelnen Elemente der Ma\u00dfnahme ausf\u00fchrlich erl\u00e4utert:<\/p>\r\n<p>\u2013 \u0301Dienstleistung: variable.update_sensor\u00bf: Dies ist der Dienst, mit dem die Attribute einer Entit\u00e4t im Home Assistant aktualisiert oder initialisiert werden.<\/p>\r\n<p>\u2013 \u0301data\u0301: Dieser Abschnitt enth\u00e4lt die Daten, die mit dem Dienst gesendet werden sollen. In diesem Fall<br \/>\u2013 \u0301replace_attributes: true\u00bf: Dies deutet darauf hin, dass die vorhandenen Attribute der Entit\u00e4t \u201esensor.wallbox_charges\u201c durch die neuen Daten ersetzt werden.<\/p>\r\n<p>\u2013 \u201aWert\u2018: Dieser Teil wird verwendet, um den Wert des Attributs \u201esessionscharge\u201c der Entit\u00e4t \u201esensor.wallbox_charges\u201c zu definieren. Der Wert wird mithilfe von Jinja2-Modellen dynamisch generiert. Sie umfasst:<br \/>\u2013 Die Umwandlung des Zeitstempels von \u201esensor.wallbox_portal_added_range_min\u201c in ein bestimmtes Datums- und Zeitformat mithilfe der Funktion \u0301timestamp_custom\u0301.<\/p>\r\n<p>\u2013 Attribute: Hier werden die Daten der Ladesitzung definiert. Diese Daten werden aus verschiedenen Entit\u00e4ten berechnet, u. a. aus \u201esensor.wallbox_portal_added_energy\u201c, \u201esensor.wallbox_portal_energy_price\u201c, \u201esensor.wallbox_portal_added_range_min\u201c, \u201esensor.wallbox_portal_added_range\u201c und dem aktuellen Zeitstempel (erhalten \u00fcber \u0301now()\u0301). Die Daten umfassen Verbrauch, Kosten, Dauer, Beginn, Ende, Kilometer und Zeitstempel der Ladesitzung.<\/p>\r\n<p>\u2013 Die Dauer wird berechnet, indem der Startzeitstempel der Ladesitzung vom aktuellen Zeitstempel (in Sekunden) abgezogen wird. Dann werden diese Sekunden in Stunden und Minuten umgewandelt.<\/p>\r\n<p>\u2013 In Abschnitt {{% if \u2026 %Mit dem Code wird \u00fcberpr\u00fcft, ob das Attribut \u201esessionscharge\u201c der Entit\u00e4t \u201esensor.wallbox_charges\u201c bereits definiert ist. Ist dies der Fall, werden die vorhandenen Daten gespeichert. Andernfalls werden die neuen Ladesitzungsdaten hinzugef\u00fcgt.<\/p>\r\n<p>\u2013 \u201aZiel\u2018: Es gibt das Zielunternehmen an, d. h. das Unternehmen, dessen Attribute aktualisiert werden. In diesem Fall ist die Zieleinheit \u201esensor.wallbox_charges\u201c.<\/p>\r\n<p>\u2013 enabled: true\u00bf: Dies zeigt an, dass diese Aktion aktiviert ist und ausgef\u00fchrt werden kann.<\/p>\r\n<p>Ziel dieser Aktion ist es, die Daten jeder gerade abgeschlossenen Ladesitzung im Attribut \u201esessionscharge\u201c der Entit\u00e4t \u201esensor.wallbox_charges\u201c aufzuzeichnen. Dies erm\u00f6glicht es, jede durchgef\u00fchrte Ladesitzung zu verfolgen.<\/p>\r\n<\/blockquote>\r\n<p>\u00a0<\/p>\r\n\r\n\r\n\r\n<h3><span class=\"ez-toc-section\" id=\"Resultat\"><\/span>Ergebnis<span class=\"ez-toc-section-end\"><\/span><\/h3>\r\n<p>So wird bei jedem Ladeschluss der Entit\u00e4t sensor.wallbox _charges ein neuer Datensatz hinzugef\u00fcgt.<\/p>\r\n<p>Hier der Inhalt:<\/p>\r\n<p><a href=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/10\/wallbox12.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-5542\" src=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/10\/wallbox12.png\" alt=\"\" width=\"784\" height=\"548\" srcset=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/10\/wallbox12.png 784w, https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/10\/wallbox12-600x419.png 600w, https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/10\/wallbox12-300x210.png 300w, https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/10\/wallbox12-768x537.png 768w\" sizes=\"auto, (max-width: 784px) 100vw, 784px\" \/><\/a>&nbsp;<\/p>\r\n<h3><span class=\"ez-toc-section\" id=\"Ajout_dune_carte_qui_affiche_toutes_les_sessions_de_charge\"><\/span>Hinzuf\u00fcgen einer Karte, die alle Ladesitzungen anzeigt<span class=\"ez-toc-section-end\"><\/span><\/h3>\r\n<p><a href=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/10\/wallbox13.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-5543\" src=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/10\/wallbox13.png\" alt=\"\" width=\"453\" height=\"487\" srcset=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/10\/wallbox13.png 453w, https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/10\/wallbox13-279x300.png 279w\" sizes=\"auto, (max-width: 453px) 100vw, 453px\" \/><\/a><\/p>\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"yaml\">&lt;div&gt;Ladesitzungen&lt;\/div&gt; \r\nLetzte Aktualisierung: {{ state_attr(&#039;sensor.sessions_de_charge&#039;,&#039;updated_at&#039;)}} &lt;br&gt;&lt;br&gt;\r\n{% set items = state_attr(&#039;sensor.wallbox_charges&#039;, &#039;sessionscharge&#039;) %}\r\n&lt;table width=&#039;100%&#039;&gt;\r\n&lt;tbody&gt;\r\n{% for i in range(0, items | count, 1) %}\r\n&lt;tr&gt;\r\n&lt;td&gt;{{ items[i].Anfang }} bis {{ items[i].fin }} ({{ items[i].Dauer }})&lt;\/td&gt;\r\n&lt;td&gt;{{ items[i].Verbrauch }} kWh&lt;\/td&gt;\r\n&lt;td&gt;+{{ items[i].km }} km&lt;\/td&gt;\r\n&lt;td&gt;{{ items[i].cost }} &euro;&lt;\/td&gt;\r\n&lt;\/tr&gt;\r\n\r\n{% endfor %}\r\n&lt;\/tbody&gt;\r\n&lt;\/table&gt;<\/pre>\r\n\r\n\r\n\r\n<h3><span class=\"ez-toc-section\" id=\"Ajout_dune_carte_qui_affiche_un_recapitulatif_par_annee_mois_semaine\"><\/span>Hinzuf\u00fcgen einer Karte, die eine Zusammenfassung nach Jahr, Monat und Woche anzeigt<span class=\"ez-toc-section-end\"><\/span><\/h3>\r\n<p><a href=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/10\/wallbox14.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-5547\" src=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/10\/wallbox14.png\" alt=\"\" width=\"457\" height=\"416\" srcset=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/10\/wallbox14.png 457w, https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/10\/wallbox14-300x273.png 300w\" sizes=\"auto, (max-width: 457px) 100vw, 457px\" \/><\/a><\/p>\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"yaml\">Typ: Markdown Content: &amp;gt;-\r\n  &lt;div&gt;&lt;h1&gt;Ladesitzungen&lt;\/div&gt;  {%- set default_language = &#039;de&#039; %} Letzte Aktualisierung: {{ state_attr(&#039;sensor.wallbox_charges&#039;,&#039;updated_at&#039;)}} &lt;br&gt;&lt;br&gt;\r\n\r\n\r\n  {% set items = state_attr(&#039;sensor.wallbox_charges&#039;, &#039;sessionscharge&#039;) %} {% set sieben Tage = now() - timedelta(days=7) %} {% set power_Woche = namespace(value=0) %} {% set cost_woche = namespace(value=0) %} {% set einen Monat = now() - timedelta(days=30) %} {% set power_Monat = namespace(value=0) %} {% set cot_mois = namespace(value=0) %} {% set uneannee = now() - timedelta(days=365) %} {% set power_annee = namespace(value=0) %} {% set cout_annee = namespace(value=0) %} {% for i in range(0, items | count, 1) %} {% if items[i].saved_at | int &amp;gt;= as_timestamp(uneannee) %} {% set power_annee.value = power_annee.value + items[i].Verbrauch %} {% set cot_annee.value = cot_annee.value + items[i].kosten %} {% if items[i].saved_at | int &amp;gt;= as_timestamp(ein Monat) %} {% set power_mois.value = power_mois.value + items[i].Verbrauch %} {% set cot_mois.value = cot_mois.value + items[i].kosten %} {% if items[i].saved_at | int &amp;gt;= as_timestamp(sieben Tage) %} {% set power_woche.value = power_woche.value + items[i].Verbrauch %} {% set cout_swoche.value = cout_swoche.value + items[i].kosten %} {% endif %} {% endif %} {% endif %} {% endfor %}\r\n\r\n  &lt;\/ha-alert&gt; &lt;ha-alert alert-type=&quot;info&quot; title=&quot;Letzter Monat: {{ power_mois.value | int }} kWh - {{ cot_mois.value | float | round(2) }} &euro;&quot;&gt;&lt;\/ha-alert&gt; &lt;ha-alert alert-type=&quot;info&quot; title=&quot;Letztes Jahr: {{ power_annee.value | int }} kWh - {{ cot_annee.value | float | round(2) }} &euro;&quot;&gt;&lt;\/ha-alert&gt;\r\n\r\n\r\n  &lt;br&gt; \r\n\r\n\r\n  {% set items = state_attr(&#039;sensor.wallbox_charges&#039;, &#039;sessionscharge&#039;) %} {% set sieben Tage = now() - timedelta(days=7) %}\r\n\r\n  &lt;table width=&#039;100%&#039;&gt; &lt;tbody&gt;  {% for i in range(0, items | count, 1) %} {% if items[i].saved_at | int &amp;gt;= as_timestamp(sieben Tage) %} {% set datetime_obj = strptime(items[i].Anfang, &#039;%d\/%m\/%Y %H:%M&#039;) %}\r\n\r\n  &lt;tr&gt; &lt;td&gt;&lt;h5&gt;{{items[i].Anfang }} bis {{ items[i].fin }} ({{ items[i].Dauer }})&lt;\/td&gt; &lt;td&gt;{{ items[i].Verbrauch }} kWh&lt;\/td&gt; &lt;td&gt;+{{ items[i].km }} km&lt;\/td&gt; &lt;td&gt;{{ items[i].cost }} &euro;&lt;\/td&gt; &lt;\/tr&gt; {% endif %} {% endfor %} &lt;\/tbody&gt; &lt;\/table&gt;\r\n    &lt;ha-alert alert-type=&quot;success&quot; title=&quot;Letzte Woche: {{ power_semaine.value | int}} kWh - {{ cot_semaine.value | float | round(2) }}&euro;&quot;&gt;    \r\nStil: .: | ha-card { margin: 0px 0px 0px 0px; Box-Shadow: none; } ha-markdown: $: | h5 { font-size: 15px!wichtig; font-weight: normal! wichtig; Padding: 0px 0px 0px 8px!wichtig; Border-Left: 3px solid #429f46; }\r\n<\/pre>\r\n<p>&nbsp;<\/p>\r\n\r\n\r\n\r\n<h2><span class=\"ez-toc-section\" id=\"Bonus_Enregistrer_les_donnees_dans_un_fichier_CSV\"><\/span>Bonus: Speichern von Daten in einer CSV-Datei<span class=\"ez-toc-section-end\"><\/span><\/h2>\r\n<p>F\u00fcr die zuk\u00fcnftige Verwendung (und um Daten im Falle eines Problems nicht zu verlieren) habe ich beschlossen, jede Ladesitzung ohne eine CSV-Datei aufzuzeichnen. In jeder Sitzung wird eine Zeile hinzugef\u00fcgt.<\/p>\r\n<p>Hier ist, wie ich das erreicht habe.<\/p>\r\n<h3><span class=\"ez-toc-section\" id=\"Jajoute_un_sensor_%C2%AB_file_%C2%BB_qui_correspond_au_fichier_CSV\"><\/span>Ich f\u00fcge einen Sensor \u201eDatei\u201c hinzu, der der CSV-Datei entspricht<span class=\"ez-toc-section-end\"><\/span><\/h3>\r\n<p>Ich verwende eine Datei <strong>notify.yaml<\/strong> die sich im konfiguration.yaml-Ordner befindet, der in dieser Datei mit dem Befehl <strong>notify: !include notify.yaml<\/strong><\/p>\r\n<p><a href=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/10\/notify.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-5624\" src=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/10\/notify.png\" alt=\"\" width=\"396\" height=\"74\" srcset=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/10\/notify.png 396w, https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/10\/notify-300x56.png 300w\" sizes=\"auto, (max-width: 396px) 100vw, 396px\" \/><\/a><\/p>\r\n<p>Ich erkl\u00e4re diesen neuen Sensor mit diesem Code:<\/p>\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"yaml\">- name: Sitzungen_de_charge_CSV platform: file filename: \/config\/www\/csv\/sessions_de_charge.csv timestamp: false<\/pre>\r\n<p>Wenn ich also in die Datei schreiben m\u00f6chte, muss ich nur den Dienst ausf\u00fchren <strong>notify.sessions_de_charge_CSV<\/strong><\/p>\r\n<p><a href=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/10\/notify2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-5625\" src=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/10\/notify2.png\" alt=\"\" width=\"395\" height=\"121\" srcset=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/10\/notify2.png 395w, https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/10\/notify2-300x92.png 300w\" sizes=\"auto, (max-width: 395px) 100vw, 395px\" \/><\/a><\/p>\r\n<h3><span class=\"ez-toc-section\" id=\"Jajoute_une_action\"><\/span>Ich f\u00fcge eine Aktion hinzu.<span class=\"ez-toc-section-end\"><\/span><\/h3>\r\n<p>Ich f\u00fcge eine Aktion in der zuvor vorgestellten Automatisierung hinzu, die bei jeder Aufzeichnung einer Ladesitzung eine Zeile schreibt<\/p>\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"yaml\">Dienststelle: notify.sessions_de_charge_CSV data: Daten: {} Nachricht: &gt;- {% set diff_seconds = now().timestamp() - states.sensor.wallbox_portal_added_range_min.state | as_timestamp %} {% set hours = (diff_seconds \/ 3600) | int %} {% set minutes = ((diff_seconds % 3600) \/ 60) | int %} {% set sessioncharge_string = \"\" + states('sensor.wallbox_portal_added_energy') | round(2) | replace('.', ',')| string + \"; \" + (states('sensor.wallbox_portal_energy_price') | float * states('sensor.wallbox_portal_added_energy') | float | round(2)) | round(2) | replace('.', ',')| string + \"; \" + 'd:d' | format(hours, minutes) | string + \"; \" + as_timestamp(states('sensor.wallbox_portal_added_range_min')) | int | timestamp_custom('%d\/%m\/%Y', true) | string + \"; \" + as_timestamp(states('sensor.wallbox_portal_added_range_min')) | int | timestamp_custom('%H:%M', true) | string + \"; \" + now().strftime(')%H:%M') | string + \"; \" + states('sensor.wallbox_portal_added_range') | int | string + \"; \" + now().timestamp() | int| string %} {{ sessioncharge_string }} enabled: true alias: Hinzuf\u00fcgen einer Zeile in der _de_charge.CSV-Sitzungsdatei\r\n<\/pre>\r\n<p>\u00a0<\/p>","protected":false},"excerpt":{"rendered":"<p>Ich schaue mir die aus der Wallbox-Integration abgerufenen Daten an Hier ist eine kleine Zusammenfassung der Daten, die es mir erm\u00f6glichen, die Daten der letzten Ladesitzung in sensor.wallbox_charges zu speichern. Ich habe bereits alle Entit\u00e4ten der Wallbox-Integration auf diesem Retex beschrieben: Ich integriere die Wallbox in den Home Assistant<\/p>","protected":false},"author":1,"featured_media":5262,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[14,53,166],"tags":[81,80,67],"class_list":["post-5493","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-domotique","category-home-assistant","category-retex","tag-developpement","tag-vehicule-electrique","tag-wallbox"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.sigalou-domotique.fr\/de\/wp-json\/wp\/v2\/posts\/5493","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sigalou-domotique.fr\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sigalou-domotique.fr\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sigalou-domotique.fr\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sigalou-domotique.fr\/de\/wp-json\/wp\/v2\/comments?post=5493"}],"version-history":[{"count":0,"href":"https:\/\/www.sigalou-domotique.fr\/de\/wp-json\/wp\/v2\/posts\/5493\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.sigalou-domotique.fr\/de\/wp-json\/wp\/v2\/media\/5262"}],"wp:attachment":[{"href":"https:\/\/www.sigalou-domotique.fr\/de\/wp-json\/wp\/v2\/media?parent=5493"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sigalou-domotique.fr\/de\/wp-json\/wp\/v2\/categories?post=5493"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sigalou-domotique.fr\/de\/wp-json\/wp\/v2\/tags?post=5493"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}