# Loads default set of integrations. Do not remove. default_config: homeassistant: packages: !include_dir_named packages # Retention de l'historique brut (24/08/2026) : 10 jours par defaut -> 90 jours. # Motif : pouvoir rejouer un incident plusieurs semaines apres coup. Les incidents # EDF/EVCS de juillet-aout n'ont pas pu etre reconstitues finement faute d'historique. # NB : les statistiques long terme (sommes horaires, base du bilan energetique) sont # deja conservees SANS limite et ne dependent pas de ce reglage. # Dimensionnement : 10 jours ~= 2,6 Go, donc 90 jours ~= 23 Go (volume1 : 5 To libres). # ===================================================================== # HISTORISATION LONGUE — InfluxDB sur 10.10.10.22 (ajoute le 04/09/2026) # L'historique brut ci-dessous (recorder) tient ~20 jours pour 5 Go ; les # statistiques long terme ne gardent que des moyennes horaires. InfluxDB # garde le detail, sur la duree, hors de cette machine. # Details et mise en service : deploy/historisation/README.md du depot EVCS. # ===================================================================== influxdb: # Pourquoi une liste plutôt que « tout » : la maison publie ~1,14 M états par # jour, dont l'essentiel n'a aucun rapport avec l'énergie. On garde large sur # le périmètre énergie — c'est justement là qu'on ne sait pas d'avance ce # dont on aura besoin, comme l'ont montré les modes MPPT le 03/09 — et on # laisse le reste de côté. include: entity_globs: - sensor.victron_* # Les capteurs propres a la borne (13 entites) : compteur cumulatif, # energie et duree de la derniere session, statut. Absents jusqu'au # 06/09, ce qui a empeche d'etablir la semantique de # `last_session_energy` quand elle a fausse une cloture de session. - sensor.evcs_* - sensor.mppt_* - sensor.airtria_* - sensor.gx_device_* - sensor.sun_solar_elevation - binary_sensor.victron_* - switch.edf_* - switch.gx_device_* - number.gx_device_* - input_boolean.victron_evcs_* - input_boolean.evcs_* - input_number.victron_evcs_* - input_number.evcs_* - input_select.victron_evcs_* - input_text.victron_evcs_* - input_text.evcs_* exclude: entities: # Une clé d'API n'a rien à faire dans une base de séries temporelles. - input_text.evcs_balance_forecast_api_key tags: installation: airtria recorder: purge_keep_days: 90 exclude: entities: # Clé d'API : aucune raison de l'archiver 90 jours dans la base. - input_text.evcs_balance_forecast_api_key # Load frontend themes from the themes folder frontend: themes: !include_dir_merge_named themes automation: !include automations.yaml script: !include scripts.yaml scene: !include scenes.yaml #gestion MQTT mqtt: sensor: - name: "Victron Max Charge Current Setting" unique_id: victron_max_charge_current_setting state_topic: "N/c0619ab34ac5/settings/0/Settings/SystemSetup/MaxChargeCurrent" value_template: "{{ value_json.value if value_json is defined and value_json.value is defined }}" json_attributes_topic: "N/c0619ab34ac5/settings/0/Settings/SystemSetup/MaxChargeCurrent" unit_of_measurement: "A" icon: mdi:current-dc state_class: measurement - name: "Victron Max Charge Voltage Setting" unique_id: victron_max_charge_voltage_setting state_topic: "N/c0619ab34ac5/settings/0/Settings/SystemSetup/MaxChargeVoltage" value_template: "{{ value_json.value if value_json is defined and value_json.value is defined }}" json_attributes_topic: "N/c0619ab34ac5/settings/0/Settings/SystemSetup/MaxChargeVoltage" unit_of_measurement: "V" icon: mdi:flash state_class: measurement - name: "Victron Battery SoC Live" unique_id: victron_battery_soc_live state_topic: "N/c0619ab34ac5/battery/512/Soc" value_template: "{{ value_json.value | float(0) if value_json is defined and value_json.value is defined }}" unit_of_measurement: "%" device_class: battery state_class: measurement expire_after: 600 # force_update: true # optionnel (je te conseille de le laisser commenté au début) - name: "Victron Battery SoC" unique_id: victron_battery_soc state_topic: "N/c0619ab34ac5/battery/512/Soc" unit_of_measurement: "%" device_class: battery value_template: "{{ value_json.value | float(0) if value_json is defined and value_json.value is defined }}" expire_after: 600 force_update: true state_class: measurement - name: "Victron Battery Voltage" unique_id: victron_battery_voltage state_topic: "N/c0619ab34ac5/battery/512/Dc/0/Voltage" unit_of_measurement: "V" device_class: voltage value_template: "{{ value_json.value | float(0) if value_json is defined and value_json.value is defined }}" state_class: measurement - name: "Victron Battery Current" unique_id: victron_battery_current state_topic: "N/c0619ab34ac5/battery/512/Dc/0/Current" unit_of_measurement: "A" device_class: current value_template: "{{ value_json.value | float(0) if value_json is defined and value_json.value is defined }}" state_class: measurement - name: "Victron Battery Power" unique_id: victron_battery_power state_topic: "N/c0619ab34ac5/battery/512/Dc/0/Power" unit_of_measurement: "W" device_class: power value_template: "{{ value_json.value | float(0) if value_json is defined and value_json.value is defined }}" state_class: measurement - name: "Victron Battery Temperature" unique_id: victron_battery_temperature state_topic: "N/c0619ab34ac5/battery/512/Dc/0/Temperature" unit_of_measurement: "°C" device_class: temperature value_template: "{{ value_json.value | float(0) if value_json is defined and value_json.value is defined }}" state_class: measurement - name: "Victron PV Power (system)" unique_id: victron_pv_power state_topic: "N/c0619ab34ac5/system/0/Dc/Pv/Power" unit_of_measurement: "W" device_class: power value_template: "{{ value_json.value | float(0) if value_json is defined and value_json.value is defined }}" state_class: measurement - name: "Victron VE.Bus DC Power (system)" unique_id: victron_vebus_dc_power state_topic: "N/c0619ab34ac5/system/0/Dc/Vebus/Power" unit_of_measurement: "W" device_class: power value_template: "{{ value_json.value | float(0) if value_json is defined and value_json.value is defined }}" state_class: measurement - name: "Victron Grid Power L1" unique_id: victron_grid_power_l1 state_topic: "N/c0619ab34ac5/system/0/Ac/Grid/L1/Power" unit_of_measurement: "W" device_class: power value_template: "{{ value_json.value | float(0) if value_json is defined and value_json.value is defined }}" state_class: measurement - name: "Victron Consumption Power L1" unique_id: victron_consumption_power_l1 state_topic: "N/c0619ab34ac5/system/0/Ac/Consumption/L1/Power" unit_of_measurement: "W" device_class: power value_template: "{{ value_json.value | float(0) if value_json is defined and value_json.value is defined }}" state_class: measurement - name: "Victron VE.Bus State (raw)" unique_id: victron_vebus_state_raw state_topic: "N/c0619ab34ac5/vebus/276/State" value_template: "{{ value_json.value | int(0) if value_json is defined and value_json.value is defined }}" - name: "Victron VE.Bus MainState (raw)" unique_id: victron_vebus_mainstate_raw state_topic: "N/c0619ab34ac5/vebus/276/VebusMainState" value_template: "{{ value_json.value | int(0) if value_json is defined and value_json.value is defined }}" - name: "Victron VE.Bus ChargeState (raw)" unique_id: victron_vebus_chargestate_raw state_topic: "N/c0619ab34ac5/vebus/276/VebusChargeState" value_template: "{{ value_json.value | int(0) if value_json is defined and value_json.value is defined }}" - name: "Victron AC-in1 available" unique_id: victron_acin1_available state_topic: "N/c0619ab34ac5/vebus/276/Ac/State/AcIn1Available" value_template: "{{ value_json.value | int(0) if value_json is defined and value_json.value is defined }}" template: - sensor: - name: "Victron mode (derived)" unique_id: victron_mode_derived state: >- {% set acin = states('sensor.victron_ac_in1_available')|int(0) %} {% set gridw = states('sensor.victron_grid_power_l1')|float(0) %} {% set batw = states('sensor.victron_battery_power')|float(0) %} {# Seuils anti-bruit #} {% set GRID_ON_W = 50 %} {% set BAT_CHG_W = 150 %} {% set BAT_DIS_W = -150 %} {% if acin == 0 %} {% if batw < BAT_DIS_W %} Inverting (on battery) {% else %} Off-grid (idle/low load) {% endif %} {% else %} {% if batw > BAT_CHG_W %} Charging (AC-in) {% elif gridw > GRID_ON_W %} On grid (passthru/import) {% else %} Grid available (low import) {% endif %} {% endif %} - name: Victron EVCS Status FR unique_id: victron_evcs_status_fr icon: mdi:ev-station state: >- {% set raw = states('sensor.victron_evcs_status_raw') | string %} {% set vehicle = is_state('binary_sensor.victron_evcs_vehicle_connected', 'on') %} {% set charging_switch = is_state('switch.victron_evcs_charging', 'on') %} {% set evcs_power = states('sensor.victron_evcs_ac_power') | float(0) %} {% if raw == '0' and not vehicle %} EV déconnecté {% elif raw == '2' %} Charge en cours {% elif raw == '6' and vehicle %} Véhicule connecté - en attente {% elif charging_switch or evcs_power > 100 %} Charge en cours {% elif raw in ['unknown', 'unavailable', '', 'none'] %} Inconnu {% else %} Inconnu ({{ raw }}) {% endif %} attributes: raw_status: "{{ states('sensor.victron_evcs_status_raw') }}" vehicle_connected: "{{ states('binary_sensor.victron_evcs_vehicle_connected') }}" charging_switch: "{{ states('switch.victron_evcs_charging') }}" evcs_power_w: "{{ states('sensor.victron_evcs_ac_power') }}" - name: Victron EVCS mode FR unique_id: victron_evcs_mode_fr icon: mdi:tune state: > {% set raw = states('sensor.victron_evcs_mode_raw') | string %} {% set source = states('sensor.victron_evcs_mode') | string %} {% set label = source | lower %} {% if raw == '0' or label in ['manuel', 'manual'] %} Manuel {% elif raw == '1' or label in ['auto', 'automatic', 'automatique'] %} Auto {% elif raw == '2' or label in ['planifié', 'planifie', 'scheduled', 'schedule'] %} Planifié {% elif source not in ['unknown', 'unavailable', '', 'none'] %} {{ source }} {% else %} Inconnu {% endif %} attributes: raw_mode: "{{ states('sensor.victron_evcs_mode_raw') }}" source_mode: "{{ states('sensor.victron_evcs_mode') }}" sensor: - platform: filter name: "Victron PV Power 10m Avg" unique_id: victron_pv_power_10m_avg entity_id: sensor.victron_pv_power_system filters: - filter: time_simple_moving_average window_size: "00:10:00" precision: 0 lovelace: dashboards: modele-local: mode: yaml title: Modèle local icon: mdi:robot-outline show_in_sidebar: true filename: dashboards/llm_monitor.yaml bilan-energetique: mode: yaml title: Bilan énergétique icon: mdi:scale-balance show_in_sidebar: true filename: dashboards/bilan_energetique.yaml victron-master: mode: yaml title: Victron Master icon: mdi:home-battery show_in_sidebar: true filename: dashboards/victron_master.yaml victron-debug: mode: yaml title: Victron Debug icon: mdi:bug show_in_sidebar: true require_admin: true filename: dashboards/victron_debug.yaml test-cards: mode: yaml title: Test Cards icon: mdi:test-tube show_in_sidebar: true require_admin: true filename: dashboards/test_cards.yaml victron-mobile: mode: yaml title: Victron Mobile icon: mdi:cellphone show_in_sidebar: true filename: dashboards/victron_mobile.yaml evcs-mobile: mode: yaml title: EVCS Mobile icon: mdi:car-electric show_in_sidebar: true filename: dashboards/evcs_mobile.yaml evcs-master: mode: yaml title: EVCS Master icon: mdi:car-electric show_in_sidebar: true filename: dashboards/evcs_master.yaml ecs-pilotage-premium: mode: yaml title: ECS Pilotage Premium icon: mdi:water-boiler show_in_sidebar: true filename: dashboards/ECS_PILOTAGE_PREMIUM.yaml ecs-debug-reglages-premium: mode: yaml title: ECS Debug Réglages Premium icon: mdi:bug show_in_sidebar: true require_admin: true filename: dashboards/ECS_DEBUG_REGLAGES_PREMIUM.yaml garage-premium-pilotage: mode: yaml title: Garage Premium Pilotage icon: mdi:garage-variant show_in_sidebar: true filename: dashboards/GARAGE_PREMIUM_PILOTAGE.yaml garage-debug-premium: mode: yaml title: Garage Debug Premium icon: mdi:bug show_in_sidebar: true require_admin: true filename: dashboards/GARAGE_DEBUG_PREMIUM.yaml garage-mobile: mode: yaml title: Garage Mobile icon: mdi:cellphone show_in_sidebar: true filename: dashboards/GARAGE_MOBILE.yaml sdb-premium-pilotage: mode: yaml title: SDB Premium Pilotage icon: mdi:shower-head show_in_sidebar: true filename: dashboards/SDB_PREMIUM_PILOTAGE.yaml sdb-debug-premium: mode: yaml title: SDB Debug Premium icon: mdi:bug show_in_sidebar: true require_admin: true filename: dashboards/SDB_DEBUG_PREMIUM.yaml # ===== NOUVELLE ENTITÉ V2.0 (Stratégie EVCS) ===== input_select: victron_evcs_strategy: name: Stratégie EVCS Surplus options: - auto_solar - auto_solar_plus - force_grid_now - force_charge_now - stop initial: "auto_solar_plus"