HA : un statut de borne illisible ne fabrique plus de faux branchement (vehicle_connected garde son etat)
This commit is contained in:
@@ -2451,5 +2451,11 @@ batterie a 32 A et JEEP (branchee 13:01, 52 %) qui ne demarre pas. SOC 47 % a 12
|
||||
- ⚠️ Rejeu du 14/10 20:40 : requis prudent **82,2 %** pour SOC 87 -> budget **1,44 kWh** seulement ; ma premiere analyse (« ~9 kWh, la batterie etait la bonne source ») utilisait le requis du matin (56 %) : fausse. Le gain reel du soir aurait ete ~1,4 kWh + les 2,8 kWh de batterie (corriges par A).
|
||||
- ⚠️ Les gardes de courant par bande de SOC restent en place sur le chemin batterie : debit possiblement bride.
|
||||
|
||||
### 16/10 01:00 — Faux branchements d'une seconde : supprimes a la source
|
||||
- Signale par SPARK (15/10 01:30:29 -> question du concierge a 01:50). A 01:30:29.9, TOUS les capteurs MQTT de la borne passent a `unknown` ~0,2 s (le GX perd la borne, origine non verifiee cote GX) ; `binary_sensor.victron_evcs_vehicle_connected` faisait `status_raw | int(-1) != 0` -> statut illisible = « branche ». 7 faux allers-retours du 08 au 15/10 ; le controleur a ouvert une session de nuit 30 s le 15/10 (budget fige puis efface, borne commandee 8 s sans voiture) ; une etiquette VW (11/10 23:29, sessions_vues 0) accrochee a l'un d'eux, sans effet sur les totaux.
|
||||
- Correctif (accord du proprietaire, 16/10 01:01) : statut illisible -> etat precedent (`this.state`). Fichier `packages/SAVE/victron_evcs.yaml` (⚠️ CHARGE par HA : `!include_dir_named` lit les sous-dossiers ; copie dans le depot `packages/SAVE/`), sauvegarde `.bak-20261016-statut-illisible`, check_config valide, gabarits recharges, capteur toujours `on` (VW branchee). Effet du rechargement : `last_changed` du capteur remis a 01:01:55 (aucun evenement, aucune session fraiche constatee).
|
||||
- Cote SPARK : filtre concierge « branchement termine en < 2 min = pas de question » (garde en second rideau).
|
||||
- Branchement VW du 15/10 14:09 etiquete par le proprietaire (etiquette `proprietaire` + session 16:23 0,64 kWh confirmee) ; la JEEP roulait pendant ce temps (Uconnect).
|
||||
|
||||
---
|
||||
*Document mis a jour le : 14/10/2026 (~00:10) — disjoncteur EDF 100A (identifiants repris), revue (EDF absent, voiture payee par la batterie, interventions, kWh sur la puissance), piles (hysteresis + acquittement), frontal web .17 en cours ; 13/10/2026 (~06:30) — nuit du 12-13/10 : disjoncteur EDF qui n'executait pas la fermeture (alerte edf_ne_ferme_pas, envoyee a toute heure), charge HC manuelle reparee et utilisee a 40 % ; 13/10 : certificats HTTPS du .50 renouveles (via le .17) + alerte d'expiration ; 12/10 : VW payee par la batterie (temps mini + tolerance nuage bornes par le bilan), niveaux estimes par l'autonomie ; 10/10/2026 (~16:00) — conseiller relecteur de la journee (revue calculee + pistes) ; nuit : voiture qui profite d'EDF ferme pour la batterie, nuit qui prepare le soir les jours annonces faibles ; 08/10/2026 (~00:15) — jour faible : charge maximale en HC de midi (bilan 100 %, ACM plafond + solaire) ; 07/10/2026 (~22:45) — reprise de 16 h verifiee, EDF en HP a 18:03, bilan : reprise du soir et prevision recalee sur la matinee ; bilan HC de midi, reprise du soir apres coupure en pleine chauffe, mesure ECS sur 10 min ; recharge reseau HC : courant calcule (12 kVA) et consigne non tenue ; HC de midi : AUTO ne chauffe pas (BOOST), alerte v2, Jeep (contact, relecture, zone), recharge batterie bridee a 30 A par l'ACM ; jour faible = EDF les deux fenetres HC pour le chauffe-eau, alerte BOOST, Victron Mobile refait ; 1re decision jour faible en reel, mesure ECS reparee, douches 06:00/20:00, Grafana chauffe-eau, tableaux ECS ; chauffe-eau en HC de nuit les jours faibles (decision du bilan, workflow ECS sous controle du depot, VRM, V2.3 desactive) ; garde batterie reseau : voiture bridee a 6 A au lieu d'un arret ; garde-fou concierge 2 h ; allers-retours brefs de la borne retrouves dans l'historique HA (echange VW -> JEEP de 20 s), production 14,5 kWh contre 22 prevus, defaut garde batterie en mode reseau a trancher ; voiture a midi : la batterie n'est plus comptee comme du solaire (EDF automatique les jours de depart si le surplus ne couvre pas) ; nuit 05->06 : JEEP chargee sur EDF en complete (6,32 kWh), budget 0 du a la prevision, Windy/ECMWF contre VRM, a comparer ce soir ; concierge aligne sur la preuve fin de trajet ; a verifier : nuit 05->06 et mardi faible, comparaison VRM/Forecast.Solar ; JEEP identifiee aussi par sa fin de trajet, prevision de la nuit 05->06 ; identification JEEP reussie en reel, correction humaine qui prime (refus supprime), session du 04/10 coupee ; EVCS Master en quatre onglets ; Jeep lue par Uconnect et identifiee seule, capacite JEEP 10 kWh, concierge variante (a) ; releve par photo (SPARK), hass-uconnect en attente ; ecart semaine/week-end mesure (pas de profil week-end la nuit) ; nuit du budget : budget borne au plancher prudent, sans EDF = voiture bloquee meme EDF ferme (batterie seule) ; Energie : sauts corriges ; tableau Energie complete (Sud/Ouest, batterie par integration, borne ; aucun redemarrage HA) ; kilometrage des vehicules (km/kWh, capacite, releves de reference, agent cable 15/15) ; a verifier le 04/10 au matin : nuit du budget JEEP ; concierge : vehicule non confirme demande, heure de saisie ; Grafana vehicules en tableau ; Grafana vehicules : ZERO et Invite ajoutes, session 16:46 reetiquetee ZERO ; prevision SOC 10 h ~35 % ; concierge fiable : niveau note par le script, une ligne, dedoublonnage, simulation par drapeau ; agent : message incompris = question, bourse sur demande explicite (banc final 6/6) ; a verifier : nuit du samedi 03 au dimanche 04/10 (budget < besoin JEEP), cron orange-cloture lundi 05/10 apres 17:40, comparaison VRM / Forecast.Solar lundi 05/10*
|
||||
|
||||
250
packages/SAVE/victron_evcs.yaml
Executable file
250
packages/SAVE/victron_evcs.yaml
Executable file
@@ -0,0 +1,250 @@
|
||||
mqtt:
|
||||
sensor:
|
||||
- name: "Victron EVCS Status Raw"
|
||||
unique_id: victron_evcs_status_raw
|
||||
state_topic: "N/c0619ab34ac5/evcharger/40/Status"
|
||||
value_template: "{{ value_json.value }}"
|
||||
icon: mdi:ev-station
|
||||
|
||||
- name: "Victron EVCS Mode Raw"
|
||||
unique_id: victron_evcs_mode_raw
|
||||
state_topic: "N/c0619ab34ac5/evcharger/40/Mode"
|
||||
value_template: "{{ value_json.value }}"
|
||||
icon: mdi:tune
|
||||
|
||||
- name: "Victron EVCS Current"
|
||||
unique_id: victron_evcs_current
|
||||
state_topic: "N/c0619ab34ac5/evcharger/40/Current"
|
||||
value_template: "{{ value_json.value }}"
|
||||
unit_of_measurement: "A"
|
||||
state_class: measurement
|
||||
icon: mdi:current-ac
|
||||
|
||||
- name: "Victron EVCS Set Current"
|
||||
unique_id: victron_evcs_set_current_sensor
|
||||
state_topic: "N/c0619ab34ac5/evcharger/40/SetCurrent"
|
||||
value_template: "{{ value_json.value }}"
|
||||
unit_of_measurement: "A"
|
||||
state_class: measurement
|
||||
icon: mdi:current-ac
|
||||
|
||||
- name: "Victron EVCS Max Current"
|
||||
unique_id: victron_evcs_max_current
|
||||
state_topic: "N/c0619ab34ac5/evcharger/40/MaxCurrent"
|
||||
value_template: "{{ value_json.value }}"
|
||||
unit_of_measurement: "A"
|
||||
state_class: measurement
|
||||
icon: mdi:current-ac
|
||||
|
||||
- name: "Victron EVCS Min Current"
|
||||
unique_id: victron_evcs_min_current
|
||||
state_topic: "N/c0619ab34ac5/evcharger/40/MinCurrent"
|
||||
value_template: "{{ value_json.value }}"
|
||||
unit_of_measurement: "A"
|
||||
state_class: measurement
|
||||
icon: mdi:current-ac
|
||||
|
||||
- name: "Victron EVCS Charging Time Raw"
|
||||
unique_id: victron_evcs_charging_time_raw
|
||||
state_topic: "N/c0619ab34ac5/evcharger/40/ChargingTime"
|
||||
value_template: "{{ value_json.value }}"
|
||||
unit_of_measurement: "s"
|
||||
state_class: measurement
|
||||
icon: mdi:timer-outline
|
||||
|
||||
- name: "Victron EVCS Connected Raw"
|
||||
unique_id: victron_evcs_connected_raw
|
||||
state_topic: "N/c0619ab34ac5/evcharger/40/Connected"
|
||||
value_template: "{{ value_json.value }}"
|
||||
icon: mdi:connection
|
||||
|
||||
- name: "Victron EVCS Product Name"
|
||||
unique_id: victron_evcs_product_name
|
||||
state_topic: "N/c0619ab34ac5/evcharger/40/ProductName"
|
||||
value_template: "{{ value_json.value }}"
|
||||
icon: mdi:ev-station
|
||||
|
||||
- name: "Victron EVCS Custom Name"
|
||||
unique_id: victron_evcs_custom_name
|
||||
state_topic: "N/c0619ab34ac5/evcharger/40/CustomName"
|
||||
value_template: "{{ value_json.value }}"
|
||||
icon: mdi:rename-box
|
||||
|
||||
- name: "Victron EVCS Serial"
|
||||
unique_id: victron_evcs_serial
|
||||
state_topic: "N/c0619ab34ac5/evcharger/40/Serial"
|
||||
value_template: "{{ value_json.value }}"
|
||||
icon: mdi:identifier
|
||||
|
||||
- name: "Victron EVCS Firmware Version"
|
||||
unique_id: victron_evcs_firmware_version
|
||||
state_topic: "N/c0619ab34ac5/evcharger/40/FirmwareVersion"
|
||||
value_template: "{{ value_json.value }}"
|
||||
icon: mdi:chip
|
||||
|
||||
- name: "Victron EVCS Device Instance"
|
||||
unique_id: victron_evcs_device_instance
|
||||
state_topic: "N/c0619ab34ac5/evcharger/40/DeviceInstance"
|
||||
value_template: "{{ value_json.value }}"
|
||||
icon: mdi:identifier
|
||||
|
||||
- name: "Victron EVCS AC Power"
|
||||
unique_id: victron_evcs_ac_power
|
||||
state_topic: "N/c0619ab34ac5/evcharger/40/Ac/Power"
|
||||
value_template: "{{ value_json.value }}"
|
||||
unit_of_measurement: "W"
|
||||
device_class: power
|
||||
state_class: measurement
|
||||
icon: mdi:flash
|
||||
|
||||
- name: "Victron EVCS L1 Power"
|
||||
unique_id: victron_evcs_l1_power
|
||||
state_topic: "N/c0619ab34ac5/evcharger/40/Ac/L1/Power"
|
||||
value_template: "{{ value_json.value }}"
|
||||
unit_of_measurement: "W"
|
||||
device_class: power
|
||||
state_class: measurement
|
||||
icon: mdi:flash
|
||||
|
||||
- name: "Victron EVCS L1 Energy Forward"
|
||||
unique_id: victron_evcs_l1_energy_forward
|
||||
state_topic: "N/c0619ab34ac5/evcharger/40/Ac/L1/Energy/Forward"
|
||||
value_template: "{{ value_json.value }}"
|
||||
unit_of_measurement: "kWh"
|
||||
device_class: energy
|
||||
state_class: total_increasing
|
||||
icon: mdi:lightning-bolt
|
||||
|
||||
binary_sensor:
|
||||
- name: "Victron EVCS Device Connected"
|
||||
unique_id: victron_evcs_device_connected
|
||||
state_topic: "N/c0619ab34ac5/evcharger/40/Connected"
|
||||
value_template: "{{ value_json.value | int }}"
|
||||
payload_on: "1"
|
||||
payload_off: "0"
|
||||
device_class: connectivity
|
||||
icon: mdi:lan-connect
|
||||
|
||||
switch:
|
||||
- name: "Victron EVCS Charging"
|
||||
unique_id: victron_evcs_charging
|
||||
state_topic: "N/c0619ab34ac5/evcharger/40/StartStop"
|
||||
value_template: "{{ value_json.value | int }}"
|
||||
state_on: "1"
|
||||
state_off: "0"
|
||||
command_topic: "W/c0619ab34ac5/evcharger/40/StartStop"
|
||||
payload_on: '{"value":1}'
|
||||
payload_off: '{"value":0}'
|
||||
icon: mdi:power
|
||||
|
||||
- name: "Victron EVCS Auto Start"
|
||||
unique_id: victron_evcs_auto_start
|
||||
state_topic: "N/c0619ab34ac5/evcharger/40/AutoStart"
|
||||
value_template: "{{ value_json.value | int }}"
|
||||
state_on: "1"
|
||||
state_off: "0"
|
||||
command_topic: "W/c0619ab34ac5/evcharger/40/AutoStart"
|
||||
payload_on: '{"value":1}'
|
||||
payload_off: '{"value":0}'
|
||||
icon: mdi:auto-fix
|
||||
|
||||
number:
|
||||
- name: "Victron EVCS Set Current Command"
|
||||
unique_id: victron_evcs_set_current_command
|
||||
state_topic: "N/c0619ab34ac5/evcharger/40/SetCurrent"
|
||||
value_template: "{{ value_json.value }}"
|
||||
command_topic: "W/c0619ab34ac5/evcharger/40/SetCurrent"
|
||||
command_template: '{"value": {{ value | int }}}'
|
||||
min: 6
|
||||
max: 32
|
||||
step: 1
|
||||
unit_of_measurement: "A"
|
||||
mode: box
|
||||
icon: mdi:current-ac
|
||||
|
||||
template:
|
||||
- sensor:
|
||||
- name: "Victron EVCS Status"
|
||||
unique_id: victron_evcs_status
|
||||
state: >
|
||||
{% set v = states('sensor.victron_evcs_status_raw') | int(-1) %}
|
||||
{% if v == 0 %}
|
||||
EV déconnecté
|
||||
{% else %}
|
||||
Inconnu ({{ v }})
|
||||
{% endif %}
|
||||
icon: mdi:ev-station
|
||||
|
||||
- name: "Victron EVCS Mode"
|
||||
unique_id: victron_evcs_mode_text
|
||||
state: >
|
||||
{% set v = states('sensor.victron_evcs_mode_raw') | int(-1) %}
|
||||
{% if v == 0 %}
|
||||
Manuel
|
||||
{% elif v == 1 %}
|
||||
Auto
|
||||
{% elif v == 2 %}
|
||||
Planifié
|
||||
{% else %}
|
||||
Inconnu ({{ v }})
|
||||
{% endif %}
|
||||
icon: mdi:tune
|
||||
|
||||
- name: "Victron EVCS Charging Time"
|
||||
unique_id: victron_evcs_charging_time
|
||||
state: >
|
||||
{% set s = states('sensor.victron_evcs_charging_time_raw') | int(0) %}
|
||||
{% set h = s // 3600 %}
|
||||
{% set m = (s % 3600) // 60 %}
|
||||
{% set sec = s % 60 %}
|
||||
{% if h > 0 %}
|
||||
{{ h }}h {{ m }}m
|
||||
{% elif m > 0 %}
|
||||
{{ m }}m {{ sec }}s
|
||||
{% else %}
|
||||
{{ sec }}s
|
||||
{% endif %}
|
||||
icon: mdi:timer-outline
|
||||
|
||||
- binary_sensor:
|
||||
- name: "Victron EVCS Vehicle Connected"
|
||||
unique_id: victron_evcs_vehicle_connected
|
||||
# 16/10/2026 : un statut ILLISIBLE (le GX perd la borne ~0,2 s) garde
|
||||
# l'etat precedent. Avant, `int(-1)` le transformait en -1, donc
|
||||
# « branche » : 7 faux branchements d'une seconde du 08 au 15/10
|
||||
# (questions du concierge, session de nuit ouverte 30 s le 15/10 01:30).
|
||||
state: >
|
||||
{% set raw = states('sensor.victron_evcs_status_raw') %}
|
||||
{% if raw | is_number %}
|
||||
{{ raw | int != 0 }}
|
||||
{% else %}
|
||||
{{ this.state == 'on' }}
|
||||
{% endif %}
|
||||
device_class: plug
|
||||
icon: mdi:car-electric
|
||||
|
||||
script:
|
||||
victron_evcs_mode_manuel:
|
||||
alias: Victron EVCS Mode Manuel
|
||||
sequence:
|
||||
- service: mqtt.publish
|
||||
data:
|
||||
topic: "W/c0619ab34ac5/evcharger/40/Mode"
|
||||
payload: '{"value":0}'
|
||||
|
||||
victron_evcs_mode_auto:
|
||||
alias: Victron EVCS Mode Auto
|
||||
sequence:
|
||||
- service: mqtt.publish
|
||||
data:
|
||||
topic: "W/c0619ab34ac5/evcharger/40/Mode"
|
||||
payload: '{"value":1}'
|
||||
|
||||
victron_evcs_mode_planifie:
|
||||
alias: Victron EVCS Mode Planifié
|
||||
sequence:
|
||||
- service: mqtt.publish
|
||||
data:
|
||||
topic: "W/c0619ab34ac5/evcharger/40/Mode"
|
||||
payload: '{"value":2}'
|
||||
|
||||
Reference in New Issue
Block a user