{"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\/es\/sauvegarder-les-sessions-de-charge-wallbox-dun-vehicule-electrique","title":{"rendered":"Guardar las sesiones de carga de Wallbox de un veh\u00edculo el\u00e9ctrico"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_89 counter-hierarchy ez-toc-counter ez-toc-light-blue ez-toc-container-direction\">\n<label for=\"ez-toc-cssicon-toggle-item-6ae45966dc170\" class=\"ez-toc-cssicon-toggle-label\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">alternar<\/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-6ae45966dc170\"  aria-label=\"Alternador\" \/><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\/es\/sauvegarder-les-sessions-de-charge-wallbox-dun-vehicule-electrique\/#Je_regarde_les_donnees_recuperees_de_lintegration_Wallbox\" >Miro los datos recuperados de la integraci\u00f3n de Wallbox<\/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\/es\/sauvegarder-les-sessions-de-charge-wallbox-dun-vehicule-electrique\/#Le_declencheur\" >El disparador<\/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\/es\/sauvegarder-les-sessions-de-charge-wallbox-dun-vehicule-electrique\/#Les_donnees\" >Datos<\/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\/es\/sauvegarder-les-sessions-de-charge-wallbox-dun-vehicule-electrique\/#Jajoute_lintegration_qui_va_stocker_les_donnees_de_charge\" >A\u00f1ado la integraci\u00f3n que almacenar\u00e1 los datos de carga<\/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\/es\/sauvegarder-les-sessions-de-charge-wallbox-dun-vehicule-electrique\/#Jajoute_un_sensor_detectant_le_debut_de_la_charge\" >A\u00f1ado un sensor que detecta el inicio de la carga<\/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\/es\/sauvegarder-les-sessions-de-charge-wallbox-dun-vehicule-electrique\/#Jajoute_lautomatisation_qui_va_enregistrer_les_donnees\" >A\u00f1ado la automatizaci\u00f3n que guardar\u00e1 los datos<\/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\/es\/sauvegarder-les-sessions-de-charge-wallbox-dun-vehicule-electrique\/#Explication_partie_par_partie\" >Explicaci\u00f3n parte por parte<\/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\/es\/sauvegarder-les-sessions-de-charge-wallbox-dun-vehicule-electrique\/#Explication_du_code_du_declencheur\" >Explicaci\u00f3n del c\u00f3digo de activaci\u00f3n\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\/es\/sauvegarder-les-sessions-de-charge-wallbox-dun-vehicule-electrique\/#Explication_de_laction_1\" >Explicaci\u00f3n de la acci\u00f3n 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\/es\/sauvegarder-les-sessions-de-charge-wallbox-dun-vehicule-electrique\/#Explication_de_laction_2\" >Explicaci\u00f3n de la acci\u00f3n 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\/es\/sauvegarder-les-sessions-de-charge-wallbox-dun-vehicule-electrique\/#Explication_de_laction_3_%E2%80%93_Principale_action\" >Explicaci\u00f3n de la acci\u00f3n 3 \u2013 Acci\u00f3n principal<\/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\/es\/sauvegarder-les-sessions-de-charge-wallbox-dun-vehicule-electrique\/#Resultat\" >Resultado<\/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\/es\/sauvegarder-les-sessions-de-charge-wallbox-dun-vehicule-electrique\/#Ajout_dune_carte_qui_affiche_toutes_les_sessions_de_charge\" >Se ha a\u00f1adido un mapa que muestra todas las sesiones de carga<\/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\/es\/sauvegarder-les-sessions-de-charge-wallbox-dun-vehicule-electrique\/#Ajout_dune_carte_qui_affiche_un_recapitulatif_par_annee_mois_semaine\" >Adici\u00f3n de un mapa que muestra un resumen por a\u00f1o, mes, semana<\/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\/es\/sauvegarder-les-sessions-de-charge-wallbox-dun-vehicule-electrique\/#Bonus_Enregistrer_les_donnees_dans_un_fichier_CSV\" >Bonificaci\u00f3n: Guardar datos en un archivo CSV<\/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\/es\/sauvegarder-les-sessions-de-charge-wallbox-dun-vehicule-electrique\/#Jajoute_un_sensor_%C2%AB_file_%C2%BB_qui_correspond_au_fichier_CSV\" >A\u00f1ado un sensor \u00abarchivo\u00bb que corresponde al archivo CSV<\/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\/es\/sauvegarder-les-sessions-de-charge-wallbox-dun-vehicule-electrique\/#Jajoute_une_action\" >A\u00f1ado una acci\u00f3n<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h3><span class=\"ez-toc-section\" id=\"Je_regarde_les_donnees_recuperees_de_lintegration_Wallbox\"><\/span>Miro los datos recuperados de la integraci\u00f3n de Wallbox<span class=\"ez-toc-section-end\"><\/span><\/h3>\r\n<p>A continuaci\u00f3n un peque\u00f1o resumen de los datos que me permitir\u00e1 guardar los datos de la \u00faltima sesi\u00f3n de carga en sensor.wallbox _charges.<\/p>\r\n<p>Ya he descrito todas las entidades de integraci\u00f3n de Wallbox en este Retex:<\/p>\r\n<ul>\r\n<li><a href=\"https:\/\/www.sigalou-domotique.fr\/es\/jintegre-la-wallbox-a-home-assistant\/\" target=\"_blank\" rel=\"noopener\">Integro el Wallbox en el Home Assistant<\/a><\/li>\r\n<\/ul>\r\n<p><!--more--><\/p>\r\n<h4><span class=\"ez-toc-section\" id=\"Le_declencheur\"><\/span>El disparador<span class=\"ez-toc-section-end\"><\/span><\/h4>\r\n<p>As\u00ed que voy a usar <a href=\"https:\/\/www.sigalou-domotique.fr\/es\/jintegre-la-wallbox-a-home-assistant\/#Je_decortique_lentite_Wallbox_Portal_Status_Description\" target=\"_blank\" rel=\"noopener\">sensor.wallbox_portal_status_description<\/a> como disparador para grabar la \u00faltima sesi\u00f3n de carga.<\/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>Por lo tanto, usar\u00e9 el cambio de estado de Carga a otra cosa para activar la grabaci\u00f3n.<\/p>\r\n<h4><span class=\"ez-toc-section\" id=\"Les_donnees\"><\/span>Datos<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\/es\/jintegre-la-wallbox-a-home-assistant\/#Je_decortique_lentite_Wallbox_Portal_Added_Energy\" target=\"_blank\" rel=\"noopener\">Wallbox Portal Energ\u00eda A\u00f1adida<\/a> (sensor.wallbox_portal_added_energy) me dar\u00e1 el n\u00famero de kWh a\u00f1adidos a la bater\u00eda del coche durante la \u00faltima carga<\/li>\r\n<li><a href=\"https:\/\/www.sigalou-domotique.fr\/es\/jintegre-la-wallbox-a-home-assistant\/#Je_decortique_lentite_Wallbox_Portal_Added_Range\" target=\"_blank\" rel=\"noopener\">Wallbox Portal Rango a\u00f1adido<\/a> (sensor.wallbox_portal_added_range) me dar\u00e1 una estimaci\u00f3n del n\u00famero de km a\u00f1adidos que se pueden conseguir con la \u00faltima carga.<\/li>\r\n<li><a href=\"https:\/\/www.sigalou-domotique.fr\/es\/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\">Precio de la energ\u00eda del portal de Wallbox<\/a> (sensor.wallbox_portal_energy_price) me dar\u00e1 el precio por kWh, lo usar\u00e9 para calcular el coste de la carga<\/li>\r\n<\/ul>\r\n<h3><span class=\"ez-toc-section\" id=\"Jajoute_lintegration_qui_va_stocker_les_donnees_de_charge\"><\/span>A\u00f1ado la integraci\u00f3n que almacenar\u00e1 los datos de carga<span class=\"ez-toc-section-end\"><\/span><\/h3>\r\n<p>Encontr\u00e9 la integraci\u00f3n <a href=\"https:\/\/github.com\/enkama\/hass-variables\" target=\"_blank\" rel=\"noopener\">variables de hass<\/a>, Absolutamente genial. Gracias a <a href=\"https:\/\/github.com\/enkama\" target=\"_blank\" rel=\"noopener\">Ankama<\/a> y <a href=\"https:\/\/github.com\/Snuffy2\" target=\"_blank\" rel=\"noopener\">Snuffy2<\/a> para este trabajo y seguimiento.<\/p>\r\n<p>Le permite crear un sensor que no est\u00e1 conectado a nada (no a una plantilla). Este sensor mantiene sus valores incluso en el relanzamiento de HA. Exactamente lo que necesitaba sin usar un modo de copia de seguridad de datos externo (json, otra base de datos de \u2026).<\/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>El nuevo sensor se llama: Sensor.wallbox _charges<\/p>\r\n<h3><span class=\"ez-toc-section\" id=\"Jajoute_un_sensor_detectant_le_debut_de_la_charge\"><\/span>A\u00f1ado un sensor que detecta el inicio de la carga<span class=\"ez-toc-section-end\"><\/span><\/h3>\r\n<p>De hecho, la integraci\u00f3n no me da la hora y la fecha de inicio de la \u00faltima carga. Para calcular la duraci\u00f3n, me parece interesante tener esta informaci\u00f3n. As\u00ed que voy a crearlo.<\/p>\r\n<p>Conf\u00edo en la entidad sensor.wallbox _portal _added _range y buscar\u00e9 la hora de inicio \/ fecha de carga (por lo tanto, su valor m\u00ednimo en las \u00faltimas 5 horas)<\/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>En mi archivo sensors.yaml, agrego esta entidad:<\/p>\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"yaml\">- plataforma: nombre estad\u00edstico: \"Wallbox Portal Added Range Min\" entidad_id: Sensor.wallbox _portal _added _range state _caracter\u00edstica: fecha _value _min max_age: horas: 5  <\/pre>\r\n<p>Esto crear\u00e1 para m\u00ed la entidad: 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>Usar\u00e9 esta entidad para registrar el inicio de la carga y calcular el tiempo de carga.<\/p>\r\n\r\n\r\n\r\n<h3><span class=\"ez-toc-section\" id=\"Jajoute_lautomatisation_qui_va_enregistrer_les_donnees\"><\/span>A\u00f1ado la automatizaci\u00f3n que guardar\u00e1 los datos<span class=\"ez-toc-section-end\"><\/span><\/h3>\r\n<p>Es bastante complejo, imagino que es simplifiable, lo explicar\u00e9 paso a paso<\/p>\r\n<p>Aqu\u00ed est\u00e1 el c\u00f3digo completo primero<\/p>\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"yaml\">alias: Guarda una descripci\u00f3n de la sesi\u00f3n de carga: Activador \"\": - plataforma: _id, entidad estatal: - sensor.wallbox_portal_status_descripci\u00f3n de: Carga a: alias nulo: Cuando finaliza la condici\u00f3n de carga: [] acci\u00f3n: - alias: &gt;- Inicializar el primer conso, que se lanzar\u00e1 solo una vez (deshabilitando las otras acciones) y luego deshabilitar el servicio: variable.update _sensor data: sustit\u00fayase _attributes: valor real: Atributos INIT: carga de sesiones: objetivo nulo: _id (entidad): Sensor.wallbox _charges habilitado: false - servicio: variable.update _sensor data: sustit\u00fayase _attributes: valor real: &gt;- {{ as_timestamp(states('sensor.wallbox _portal _added_range _min'))) | int | timestamp _custom('%d\/%m\/%Y %H:%M:%S', true)}}} atributos: carga de sesiones: &gt; {% set sessioncharge = {'consumo': 2.14, \u00abcoste\u00bb: 0,43, \u00abduraci\u00f3n\u00bb: \u00ab00:27\u00bb, \u00abcomienzo\u00bb: \u00ab19\/09\/2023 20:36\u00bb, \u00abfinal\u00bb: \u00ab21:03\u00bb, \u00abkm\u00bb: 17, \u00absalvado _at\u00bb: 1695150359} %}{{ carga de sesi\u00f3n }},{% set sessioncharge = {'consumo': 23.29, \u00abcoste\u00bb: 4.66, \u00abduraci\u00f3n\u00bb: \u00ab04:19\u00bb, \u00abprincipio\u00bb: \u00ab21\/09\/2023 21:06\u00bb, \u00abfin\u00bb: \u00ab01:25\u00bb, \u00abkm\u00bb: 192, \u00abSaved_at\u00bb: 1695323159} %}{{ carga de sesi\u00f3n }},{% set sessioncharge = {'consumo': 7.68, \u00abcoste\u00bb: 1.54, \u00abduraci\u00f3n\u00bb: \u00ab01:23\u00bb, \u00abcomienzo\u00bb: \u00ab22\/09\/2023 08:45\u00bb, \u00abfin\u00bb: \u00ab10:08\u00bb, \u00abkm\u00bb: 63, \u00abSaved_at\u00bb: 1695409559} %}{{ carga de sesi\u00f3n }},{% set sessioncharge = {'consumo': 23.8, \u00abcoste\u00bb: 4.76, \u00abduraci\u00f3n\u00bb: \u00ab04:26\u00bb, \u00abcomienzo\u00bb: \u00ab23\/09\/2023 16:57\u00bb, \u00abfin\u00bb: \u00ab21:23\u00bb, \u00abkm\u00bb: 196, 'salvado _at': 1695495959} %}{{ carga de sesi\u00f3n }},{% set sessioncharge = {'consumo': 23.64, \u00abcoste\u00bb: 4.73, \u00abduraci\u00f3n\u00bb: \u00ab04:05\u00bb, \u00abinicio\u00bb: \u00ab26\/09\/2023 20:59\u00bb, \u00abfin\u00bb: \u00ab01:04\u00bb, \u00abkm\u00bb: 195, \u00abSaved_at\u00bb: 1695755159} %}{{ carga de sesi\u00f3n }},{% set sessioncharge = {'consumo': 24.04, \u00abcoste\u00bb: 4.81, \u00abduraci\u00f3n\u00bb: \u00ab05:17\u00bb, \u00abcomienzo\u00bb: \u00ab28\/09\/2023 21:21\u00bb, \u00abfin\u00bb: \u00ab02:38\u00bb, \u00abkm\u00bb: 198, 'salvado _at': 1695927959} %}{{ carga de sesi\u00f3n }},{% set sessioncharge = {'consumo': 17.3, \u00abcoste\u00bb: 3.46, \u00abduraci\u00f3n\u00bb: \u00ab03:51\u00bb, \u00abcomienzo\u00bb: \u00ab30\/09\/2023 21:31\u00bb, \u00abfin\u00bb: \u00ab01:22\u00bb, \u00abkm\u00bb: 143, \u00abSaved_at\u00bb: 1696100759} %}{{ carga de sesi\u00f3n }},{% set sessioncharge = {'consumo': 22.18, \u00abcoste\u00bb: 4.44, \u00abduraci\u00f3n\u00bb: \u00ab04:25\u00bb, \u00abcomienzo\u00bb: \u00ab03\/10\/2023 20:43\u00bb, \u00abfin\u00bb: \u00ab01:08\u00bb, \u00abkm\u00bb: 183, \u00abSaved_at\u00bb: 1696359959} %}{{ carga de sesi\u00f3n }},{% set sessioncharge = {'consumo': 23.86, \u00abcoste\u00bb: 4.77, \u00abduraci\u00f3n\u00bb: \u00ab05:26\u00bb, \u00abcomienzo\u00bb: \u00ab05\/10\/2023 21:03\u00bb, \u00abfin\u00bb: \u00ab02:29\u00bb, \u00abkm\u00bb: 197, 'salvado _at': 1696532759} %}{{ carga de sesi\u00f3n }},{% set sessioncharge = {'consumo': 23.43, \u00abcoste\u00bb: 4.69, \u00abduraci\u00f3n\u00bb: \u00ab05:07\u00bb, \u00abcomienzo\u00bb: \u00ab07\/10\/2023 20:34\u00bb, \u00abfin\u00bb: \u00ab01:41\u00bb, \u00abkm\u00bb: 193, \u00abSaved_at\u00bb: 1696705559} %}{{ carga de sesi\u00f3n }},{% set sessioncharge = {'consumo': 23.32, \u00abcoste\u00bb: 4.66, \u00abduraci\u00f3n\u00bb: \u00ab04:40\u00bb, \u00abprincipio\u00bb: \u00ab10\/10\/2023 20:57\u00bb, \u00abfin\u00bb: \u00ab04:40\u00bb, \u00abkm\u00bb: 192, \u00abSaved_at\u00bb: 1696964759} %}{{ carga de sesi\u00f3n }},{% set sessioncharge = {'consumo': 25.19, \u00abcoste\u00bb: 5.04, \u00abduraci\u00f3n\u00bb: \u00ab04:39\u00bb, \u00abcomienzo\u00bb: \u00ab12\/10\/2023 19:53\u00bb, \u00abfinal\u00bb: \u00ab00:32\u00bb, \u00abkm\u00bb: 208, \u00abSaved_at\u00bb: 1697137559} %}{{ carga de sesi\u00f3n }},{% set sessioncharge = {'consumo': 8.61, \u00abcoste\u00bb: 1.72, \u00abduraci\u00f3n\u00bb: \u00ab01:32\u00bb, \u00abcomienzo\u00bb: \u00ab13\/10\/2023 21:05\u00bb, \u00abfin\u00bb: \u00ab22:37\u00bb, \u00abkm\u00bb: 71, \u00absalvado _at\u00bb: 1697223959} %}{{ carga de sesi\u00f3n }},{% set sessioncharge = {'consumo': 27.76, \u00abcoste\u00bb: 5.55, \u00abduraci\u00f3n\u00bb: \u00ab04:46\u00bb, \u00abprincipio\u00bb: \u00ab16\/10\/2023 02:11\u00bb, \u00abfin\u00bb: \u00ab06:57\u00bb, \u00abkm\u00bb: 231, \u00abSaved_at\u00bb: 1697474976} %}{{ carga de sesi\u00f3n }},{% set sessioncharge = {'consumo': 24.18, \u00abcoste\u00bb: 4.84, \u00abduraci\u00f3n\u00bb: \u00ab04:12\u00bb, \u00abcomienzo\u00bb: \u00ab18\/10\/2023 02:11\u00bb, \u00abfin\u00bb: \u00ab06:23\u00bb, \u00abkm\u00bb: 201, \u00abSaved_at\u00bb: 1697657509} %}{{ carga de sesi\u00f3n }},{% set sessioncharge = {'consumo': 20.17, \u00abcoste\u00bb: 4.03, \u00abduraci\u00f3n\u00bb: \u00ab03:38\u00bb, \u00abcomienzo\u00bb: \u00ab19\/10\/2023 02:11\u00bb, \u00abfin\u00bb: \u00ab05:50\u00bb, \u00abkm\u00bb: 168, \u00abSaved_at\u00bb: 1697688628} %}{{ carga de sesi\u00f3n }},{% set sessioncharge = {'consumo': 23.08, \u00abcoste\u00bb: 4.62, \u00abduraci\u00f3n\u00bb: \u00ab04:13\u00bb, \u00abcomienzo\u00bb: \u00ab21\/10\/2023 02:12\u00bb, \u00abfin\u00bb: \u00ab06:25\u00bb, \u00abkm\u00bb: 192, \u00abSaved_at\u00bb: 1697867735} %}{{ carga de sesi\u00f3n }},{% set sessioncharge = {'consumo': 12.19, \u00abcoste\u00bb: 2.44, \u00abduraci\u00f3n\u00bb: \u00ab03:21\u00bb, \u00abcomienzo\u00bb: \u00ab22\/10\/2023 02:13\u00bb, \u00abfin\u00bb: \u00ab05:34\u00bb, \u00abkm\u00bb: 101, \u00abSaved_at\u00bb: 1697946854} %}{{ sessionload }} target: _id (entidad): Sensor.wallbox _charges habilitado: alias falso: &gt;- Inicializar el primer conso, para iniciar solo una vez (deshabilitando las otras acciones) y luego deshabilitar - servicio: variable.update _sensor data: sustit\u00fayase _attributes: valor real: &gt;- {{ as_timestamp(states('sensor.wallbox _portal _added_range _min'))) | int | timestamp _custom('%d\/%m\/%Y %H:%M:%S', true)}}} atributos: carga de sesiones: &gt;- {% set diff_seconds = now().timestamp() - states.sensor.wallbox _portal _added _range _min.state | como _timestamp %} {% horario establecido = (diff _seconds \/ 3600) | int %} {% minutos establecidos = ((diff_seconds % 3600) \/ 60) | int %} {% set sessioncharge = { 'consumo': Estados('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), 'duration': ' quinquies:d' | format(hours, minutes) , 'beginning' (en ingl\u00e9s): como _timestamp(states('sensor.wallbox_portal_added_range_min')) | int | timestamp_custom('%d\/%m\/%Y %H:%M', verdad), 'fin': now().strftime(')%H:%M') , 'km': ('sensor.wallbox _portal _added _range') | int, 'saved_at': now().timestamp() | int } (en ingl\u00e9s) %} {% Si el estado _attr('sensor.wallbox _charges', 'sessionscharge') no es ninguno %} {{ state_attr('sensor.wallbox _charges', 'sessionscharge') }}, {{ sessioncharge }} {% de lo contrario %} {{ sessionload }}, {{ sessionload }} {% endif %} objetivo: _id (entidad): Sensor.wallbox _charges habilitado: alias verdadero: Guarda la sesi\u00f3n de carga que acaba de finalizar el modo: soltero\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>Explicaci\u00f3n parte por parte<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>El disparador: esto es cuando la carga est\u00e1 terminada<\/li>\r\n<li>La acci\u00f3n 1 (desactivada por defecto) debe activarse solo una vez pensando en deshabilitar las otras dos acciones, debe inicializarse como \u00abnulidad\u00bb una vez que la entidad que registra los datos.<\/li>\r\n<li>La acci\u00f3n 2 (desactivada por defecto) solo debe activarse una vez cuando se piensa en deshabilitar las otras 2 acciones, esto es para inicializar algunos datos anteriores. De hecho, no quer\u00eda perder los datos de carga desde la compra del autom\u00f3vil, as\u00ed que lo almacen\u00e9 all\u00ed.\u00a0<\/li>\r\n<li>La acci\u00f3n 3 (que se activar\u00e1 por defecto) es la acci\u00f3n que calcula y registra los datos de carga.<\/li>\r\n<\/ul>\r\n<h4><span class=\"ez-toc-section\" id=\"Explication_du_code_du_declencheur\"><\/span>Explicaci\u00f3n del c\u00f3digo de activaci\u00f3n\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>Este disparador se basa en la plataforma \"estado\" de Home Assistant. Controla la situaci\u00f3n de una entidad espec\u00edfica, en este caso, \u00absensor.wallbox _portal _status _description\u00bb. Espec\u00edficamente, est\u00e1 configurado para reaccionar cuando se produce un cambio en el estado de esa entidad. Los detalles de configuraci\u00f3n son los siguientes:<\/p>\r\n<p>\u2013 \u00abentidad _id\u00bb: Especifica la entidad cuyo estado es monitoreado. En este caso, se trata de \u00absensor.wallbox _portal _status _description\u00bb. M\u00faltiples entidades pueden ser monitoreadas proporcionando una lista de entidades en forma de una lista. Sin embargo, en este ejemplo, solo se supervisa una entidad.<\/p>\r\n<p>\u2013 \u201cdesde: tarificaci\u00f3n\u00bb: Esto significa que el disparador reacciona cuando el estado anterior de \u00absensor.wallbox _portal _status _description\u00bb era \u00abCharging\u00bb. Esta es una condici\u00f3n para activar la automatizaci\u00f3n. El disparador solo reacciona si el estado anterior era \u00abCarga\u00bb.<\/p>\r\n<p>\u2013 \u00aba: nulo\u201c: Esto significa que el disparador reacciona cuando el estado actual de \u00absensor.wallbox _portal _status _description\u00bb ha cambiado de \u00abCharging\u00bb a cualquier otro estado, incluido \u00abnull\u00bb. Esta es la nueva condici\u00f3n para activar la automatizaci\u00f3n. El disparador reacciona cuando el estado cambia de Carga a cualquier otro estado.<\/p>\r\n<p>\u2013 \u201dalias: Cuando finaliza la carga: Este es un alias para el disparador, un nombre que hace que sea m\u00e1s f\u00e1cil para usted reconocerlo. En este caso, simplemente indica que la automatizaci\u00f3n se activar\u00e1 cuando termine la carga.<\/p>\r\n<p>En resumen, esta automatizaci\u00f3n se activa cuando el estado de \u00absensor.wallbox_portal_status_description\u00bb cambia de \u00abcarga\u00bb a cualquier otro estado, lo que significa que est\u00e1 dise\u00f1ado para reaccionar cuando finaliza la carga del coche el\u00e9ctrico.<\/p>\r\n<\/blockquote>\r\n<h4><span class=\"ez-toc-section\" id=\"Explication_de_laction_1\"><\/span>Explicaci\u00f3n de la acci\u00f3n 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>Esta acci\u00f3n est\u00e1 destinada a inicializar el primer consumo (carga) para un sensor llamado \"sensor.wallbox _charges\" utilizando el servicio \"variable.update _sensor\" de Home Assistant. Aqu\u00ed hay una explicaci\u00f3n detallada de cada componente de la acci\u00f3n:<\/p>\r\n<p>\u2013 \u00abalias\u00bb: Es simplemente un nombre o descripci\u00f3n de la acci\u00f3n para hacerla m\u00e1s comprensible. En este caso, indica que esta acci\u00f3n est\u00e1 destinada a la inicializaci\u00f3n del primer consumo y que solo debe realizarse una vez. Tambi\u00e9n sugiere deshabilitar nuevas acciones despu\u00e9s de su ejecuci\u00f3n.<\/p>\r\n<p>\u2013 \u00abservicio: variable.update_sensor\u201c: Esta fila especifica el servicio que se utilizar\u00e1 para realizar la acci\u00f3n. El servicio variable.update _sensor se utiliza para actualizar o inicializar los atributos de una entidad (en este caso, \u00absensor.wallbox _charges\u00bb).<\/p>\r\n<p>\u2013 \"datos\": Esta secci\u00f3n contiene los datos que se enviar\u00e1n con el servicio. En este caso:<br \/>\u2013 \u00abSustituir _attributes: true\u00bb (Verdadero): Esto indica que los atributos de la entidad existente deben ser reemplazados por los nuevos datos. Si \"replace _attributes\" se establece en \"true\", los atributos existentes de \"sensor.wallbox _charges\" ser\u00e1n reemplazados por los nuevos datos.<\/p>\r\n<p>\u2013 Valor: INIT\u00bb: Esto indica el valor que debe asignarse al atributo \u00absessionload\u00bb de \u00absensor.wallbox _charges\u00bb. En este caso, se asigna el valor \"INIT\".<\/p>\r\n<p>\u2013 Atributos: carga de sesiones: nulo\u201c: Esta fila indica que el atributo \u00absessionload\u00bb de \u00absensor.wallbox _charges\u00bb debe inicializarse como \u00abnull\u00bb.<\/p>\r\n<p>\u2013 \u201cobjetivo\u201d: Especifica la entidad de destino, es decir, la entidad cuyos atributos se actualizan. En este caso, la entidad objetivo es sensor.wallbox _charges.<\/p>\r\n<p>\u2013 \u2019permitido: true\u00bb (Verdadero): Esto indica que esta acci\u00f3n est\u00e1 habilitada y se puede ejecutar.<\/p>\r\n<p>En resumen, esta acci\u00f3n se utiliza para inicializar el atributo \u00absessionload\u00bb de la entidad \u00absensor.wallbox _charges\u00bb con el valor \u00abnull\u00bb utilizando el servicio \u00abvariable.update _sensor\u00bb. Se pretende que se ejecute solo una vez para realizar esta inicializaci\u00f3n, despu\u00e9s de lo cual se recomienda deshabilitar esta acci\u00f3n. Esto podr\u00eda ser \u00fatil para comenzar con valores iniciales espec\u00edficos en sus automatizaciones o entidades.<\/p>\r\n<\/blockquote>\r\n<h4><span class=\"ez-toc-section\" id=\"Explication_de_laction_2\"><\/span>Explicaci\u00f3n de la acci\u00f3n 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>Esta acci\u00f3n tiene por objeto inicializar el atributo \u00absessionload\u00bb de una entidad denominada \u00absensor.wallbox _charges\u00bb con una serie de datos de sesi\u00f3n de carga preexistentes. Aqu\u00ed hay una explicaci\u00f3n detallada de cada elemento de la acci\u00f3n:<\/p>\r\n<p>\u2013 \u00abservicio: variable.update_sensor\u201c: Se trata del servicio utilizado para actualizar o inicializar los atributos de una entidad en Home Assistant.<\/p>\r\n<p>\u2013 \"datos\": Esta secci\u00f3n contiene los datos que se enviar\u00e1n con el servicio. En este caso:<br \/>\u2013 \u00abSustituir _attributes: true\u00bb (Verdadero): Esto indica que los atributos existentes de la entidad sensor.wallbox _charges ser\u00e1n reemplazados por los nuevos datos.<\/p>\r\n<p>\u2013 \"valor\": Esta parte se utiliza para definir el valor del atributo sessionload de la entidad sensor.wallbox _charges. El valor se genera din\u00e1micamente utilizando los modelos Jinja2. Utiliza la marca de tiempo de la primera sesi\u00f3n de carga (es decir, \u00absensor.wallbox _portal _added _range _min\u00bb) para obtener una fecha y hora, y luego la formatea en el estilo \u00abd\u00eda\/mes\/a\u00f1o hora:minuto:segundo\u00bb. Esto significa que el valor \u00abcarga de sesi\u00f3n\u00bb se inicializar\u00e1 con la fecha y hora de la primera sesi\u00f3n de recarga.<\/p>\r\n<p>\u2013 \"atributos\": Aqu\u00ed es donde se definen los datos para cada sesi\u00f3n de carga. Cada sesi\u00f3n de carga se define en un formato espec\u00edfico utilizando plantillas Jinja2. Estas sesiones de carga est\u00e1n separadas por comas.<\/p>\r\n<p>\u2013 \u201cobjetivo\u201d: Especifica la entidad de destino, es decir, la entidad cuyos atributos se actualizan. En este caso, la entidad objetivo es sensor.wallbox _charges.<\/p>\r\n<p>\u2013 \u2019permitido: true\u00bb (Verdadero): Esto indica que esta acci\u00f3n est\u00e1 habilitada y se puede ejecutar.<\/p>\r\n<p>La finalidad de esta acci\u00f3n es inicializar el atributo \u00absessionload\u00bb de \u00absensor.wallbox _charges\u00bb con datos simulados de sesiones de carga. Esto puede ser \u00fatil para probar o comenzar con datos de carga ficticios. Despu\u00e9s de la inicializaci\u00f3n, se recomienda desactivar esta acci\u00f3n, como se indica en el alias, ya que no es necesario repetirla.<\/p>\r\n<\/blockquote>\r\n<h4><span class=\"ez-toc-section\" id=\"Explication_de_laction_3_%E2%80%93_Principale_action\"><\/span>Explicaci\u00f3n de la acci\u00f3n 3 \u2013 Acci\u00f3n principal<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>Esta acci\u00f3n tiene por objeto actualizar el atributo \u00absessionload\u00bb de la entidad \u00absensor.wallbox _charges\u00bb con los datos de la sesi\u00f3n de carga que acaba de finalizar. Aqu\u00ed hay una explicaci\u00f3n detallada de cada elemento de la acci\u00f3n:<\/p>\r\n<p>\u2013 \u00abservicio: variable.update_sensor\u201c: Se trata del servicio utilizado para actualizar o inicializar los atributos de una entidad en Home Assistant.<\/p>\r\n<p>\u2013 \"datos\": Esta secci\u00f3n contiene los datos que se enviar\u00e1n con el servicio. En este caso:<br \/>\u2013 \u00abSustituir _attributes: true\u00bb (Verdadero): Esto indica que los atributos existentes de la entidad sensor.wallbox _charges ser\u00e1n reemplazados por los nuevos datos.<\/p>\r\n<p>\u2013 \"valor\": Esta parte se utiliza para definir el valor del atributo sessionload de la entidad sensor.wallbox _charges. El valor se genera din\u00e1micamente utilizando los modelos Jinja2. Incluye:<br \/>\u2013 Conversi\u00f3n de la marca de tiempo \u00absensor.wallbox_portal_added_range_min\u00bb en un formato de fecha y hora espec\u00edfico mediante la funci\u00f3n \u00abtimestamp_custom\u00bb.<\/p>\r\n<p>\u2013 \"atributos\": Aqu\u00ed es donde se definen los datos de la sesi\u00f3n de carga. Estos datos se calculan a partir de diversas entidades, en particular \u00absensor.wallbox _portal _added _energy\u00bb, \u00absensor.wallbox _portal _energy _price\u00bb, \u00absensor.wallbox _portal _added _rangemin\u00bb, \u00absensor.wallbox _portal _added _range\u00bb, y la marca de tiempo actual (obtenida a trav\u00e9s de \u00abnow()\u00bb). Los datos incluir\u00e1n el consumo, el coste, la duraci\u00f3n, el inicio, el final, los kil\u00f3metros y la marca de tiempo de la sesi\u00f3n de recarga.<\/p>\r\n<p>\u2013 La duraci\u00f3n se calcula restando la marca de tiempo de inicio de la sesi\u00f3n de carga de la marca de tiempo actual (expresada en segundos). Entonces estos segundos se convierten en horas y minutos.<\/p>\r\n<p>\u2013 En la secci\u00f3n \u00ab{% si \u2026 %}\u201c, el c\u00f3digo comprueba si el atributo \u00absessionload\u00bb de la entidad \u00absensor.wallbox _charges\u00bb ya est\u00e1 definido. Si este es el caso, se conservar\u00e1n los datos existentes. De lo contrario, se agregan nuevos datos de sesi\u00f3n de carga.<\/p>\r\n<p>\u2013 \u201cobjetivo\u201d: Especifica la entidad de destino, es decir, la entidad cuyos atributos se actualizan. En este caso, la entidad objetivo es sensor.wallbox _charges.<\/p>\r\n<p>\u2013 \u2019permitido: true\u00bb (Verdadero): Esto indica que esta acci\u00f3n est\u00e1 habilitada y se puede ejecutar.<\/p>\r\n<p>El objetivo de esta acci\u00f3n es registrar los datos de cada sesi\u00f3n de carga que acaba de terminar en el atributo \u00absessionload\u00bb de la entidad \u00absensor.wallbox _charges\u00bb. Esto realiza un seguimiento de cada sesi\u00f3n de carga realizada.<\/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>Resultado<span class=\"ez-toc-section-end\"><\/span><\/h3>\r\n<p>As\u00ed, en cada extremo de la carga, se a\u00f1ade un nuevo registro a la entidad sensor.wallbox _charges.<\/p>\r\n<p>Su contenido es el siguiente:<\/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>Se ha a\u00f1adido un mapa que muestra todas las sesiones de carga<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;Sesiones de carga&lt;\/div&gt; \r\n&Uacute;ltima actualizaci&oacute;n: {{ 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{% para i en rango(0, items | count, 1) %}\r\n&lt;tr&gt;\r\n&lt;td&gt;{{ items[i].start }} a {{ items[i].fin }} ({ items[i].duration }})&lt;\/td&gt;\r\n&lt;td&gt;{{ items[i].consumo }} 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>Adici\u00f3n de un mapa que muestra un resumen por a\u00f1o, mes, semana<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\">Tipo: contenido de la reducci&oacute;n: &amp;gt;-\r\n  &lt;div&gt;&lt;h1&gt;Sesiones de carga&lt;\/div&gt;  {%- establecer por defecto _language = &#039;en&#039; %} &Uacute;ltima actualizaci&oacute;n: {{ 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 septjours = now() - timedelta(days=7) %} {% set power_semaine = namespace(valor=0) %} {% set cout_semaine = namespace(valor=0) %} {% set unmois = now() - timedelta(days=30) %} {% set power_months = namespace(valor=0) %} {% set cout_mois = namespace(valor=0) %} {% set uneannee = now() - timedelta(days=365) %} {% set power_annee = namespace(valor=0) %} {% set cout_annee = namespace(valor=0) %} {% para i en rango(0, items | count, 1) %} {% if items[i].saved_at | int &amp;gt;= as_timestamp(uneannee) %} {% set power_annee.value = power_annee.value + items[i].consumo %} {% set cout_annee.value = cout_annee.value + items[i].cost %} {% if items[i].saved_at | int &amp;gt;= as_timestamp(unmonth) %} {% set power_mois.value = power_mois.value + items[i].consumo %} {% set cout_mois.value = cout_mois.value + items[i].cost %} {% if items[i].saved_at | int &amp;gt;= as_timestamp(sevendays) %} {% set power_semaine.value = power_semaine.value + items[i].consumo %} {% set cout_semaine.value = cout_semaine.value + items[i].cost %} {% endif %} {% endif %} {% endif %} {% endfor %}\r\n\r\n  &lt;\/ha-alert&gt; &lt;ha-alert alert-type=&quot;info&quot; title=&quot;El mes pasado: {{ potencia _mois.value | int }} kWh - {{ coste _mois.value | float | round(2) }} &euro;&quot;&gt;&lt;\/ha-alert&gt; &lt;ha-alert alert-type=&quot;info&quot; title=&quot;El a&ntilde;o pasado: {{ power_annee.value | int }} kWh - {{ cout _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 septjours = now() - timedelta(days=7) %}\r\n\r\n  &lt;table width=&#039;100%&#039;&gt; &lt;tbody&gt;  {% para i en rango(0, items | count, 1) %} {% if items[i].saved_at | int &amp;gt;= as_timestamp(sevendays) %} {% _obj = strptime(items[i].start, &#039;%d\/%m\/%Y %H:%M&#039;) %}\r\n\r\n  &lt;tr&gt; &lt;td&gt;&lt;h5&gt;{{items[i].start }} a {{ items[i].fin }} ({ items[i].duration }})&lt;\/td&gt; &lt;td&gt;{{ items[i].consumo }} 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;La semana pasada: {{ power_semaine.value | int}} kWh - {{ cost_semaine.value | float | round(2) }}&euro;&quot;&gt;    \r\nestilo: .: | ha-card { margen: 0px 0px 0px 0px; Sombra de caja: ninguna; } ha-markdown: $: | h5 { tama&ntilde;o de fuente: 15px!importante; peso de fuente: normal!importante; relleno: 0px 0px 0px 8px!importante; frontera izquierda: 3px s&oacute;lido #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>Bonificaci\u00f3n: Guardar datos en un archivo CSV<span class=\"ez-toc-section-end\"><\/span><\/h2>\r\n<p>Para uso futuro (y para no perder datos en caso de un fallo), decid\u00ed guardar cada sesi\u00f3n de carga sin un archivo CSV. En cada sesi\u00f3n, se agrega una l\u00ednea.<\/p>\r\n<p>As\u00ed es como me di cuenta de esto.<\/p>\r\n<h3><span class=\"ez-toc-section\" id=\"Jajoute_un_sensor_%C2%AB_file_%C2%BB_qui_correspond_au_fichier_CSV\"><\/span>A\u00f1ado un sensor \u00abarchivo\u00bb que corresponde al archivo CSV<span class=\"ez-toc-section-end\"><\/span><\/h3>\r\n<p>Uso un archivo <strong>notificar.yaml<\/strong> que se encuentra en la carpeta configuration.yaml que se declara en este archivo por el comando <strong>Notificar: !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>Declaro este nuevo sensor con este c\u00f3digo:<\/p>\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"yaml\">- nombre: _de_cargar las sesiones de la plataforma _CSV: nombre de archivo: \/config\/www\/csv\/sessions_de _charge.csv marca de tiempo: falso<\/pre>\r\n<p>Por lo tanto, cuando me gustar\u00eda escribir en el archivo, ser\u00e1 suficiente para m\u00ed para ejecutar el servicio <strong>Notificar.sesiones_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>A\u00f1ado una acci\u00f3n<span class=\"ez-toc-section-end\"><\/span><\/h3>\r\n<p>Agrego una acci\u00f3n en la automatizaci\u00f3n presentada anteriormente que escribir\u00e1 una l\u00ednea para cada registro de una sesi\u00f3n de carga<\/p>\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"yaml\">Servicio: _de _charge _CSV data: datos: {} mensaje: &gt;- {% set diff_seconds = now().timestamp() - states.sensor.wallbox _portal _added _range _min.state | como _timestamp %} {% horario establecido = (diff _seconds \/ 3600) | int %} {% minutos establecidos = ((diff_seconds % 3600) \/ 60) | int %} {% _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 + \"; \" + ' quinquies:d' | format(hours, minutes) | string + \"; \u00ab + as_timestamp(states('sensor.wallbox_portal _added_range_min')) | int | timestamp_custom('%d\/%m\/%Y', true) | string + \"; \u00ab + as_timestamp(states('sensor.wallbox_portal _added_range_min')) | int | timestamp_custom('%H:%M', true) | string + \"; \" + now().strftime('%H:%M') | string + \"; \u00ab + states('sensor.wallbox _portal _added _range') | int | string +\u00bb; \u00ab + now().timestamp() | int | string\u00bb (en ingl\u00e9s). %} {{ sessioncharge _string }} activado: alias verdadero: A\u00f1ada una l\u00ednea al archivo de sesiones _de_charge.CSV\r\n<\/pre>\r\n<p>\u00a0<\/p>","protected":false},"excerpt":{"rendered":"<p>Miro los datos recuperados de la integraci\u00f3n de Wallbox Aqu\u00ed hay un peque\u00f1o resumen de los datos que me permitir\u00e1n guardar los datos de la \u00faltima sesi\u00f3n de carga en sensor.wallbox_charges. Ya he descrito todas las entidades de integraci\u00f3n de Wallbox en este Retex: Integre el Wallbox en 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\/es\/wp-json\/wp\/v2\/posts\/5493","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sigalou-domotique.fr\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sigalou-domotique.fr\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sigalou-domotique.fr\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sigalou-domotique.fr\/es\/wp-json\/wp\/v2\/comments?post=5493"}],"version-history":[{"count":0,"href":"https:\/\/www.sigalou-domotique.fr\/es\/wp-json\/wp\/v2\/posts\/5493\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.sigalou-domotique.fr\/es\/wp-json\/wp\/v2\/media\/5262"}],"wp:attachment":[{"href":"https:\/\/www.sigalou-domotique.fr\/es\/wp-json\/wp\/v2\/media?parent=5493"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sigalou-domotique.fr\/es\/wp-json\/wp\/v2\/categories?post=5493"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sigalou-domotique.fr\/es\/wp-json\/wp\/v2\/tags?post=5493"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}