Faire une addition sous home assistant

Hello,

Jusqu’à présent j’avais utilisé très basiquement HA, aujourd’hui avec le module Lixee ZLinky connecté a mon compteur Linky, je remonte les informations sur la consommation électrique et je voudrais me faire un tableau de bord pour la suivre.

J’ai un abonnement EDF Zeen weekend plus, donc les HC normales, plus des HC un jour par semaine et le HC du vendredi 00:00 au dimanche 00:00, j’ai donc plusieurs index de HC qui remontent.

Je voudrais donc faire une addition pour avoir le total d’HC.
Dans les outils de développement « modèle » j’ai testé ces paramètres

  -sensor:
    - name: lixee_zlinky_index_hc
      unit_of_measurement: "kWh"
      state: >
        {{ ( (states('sensor.lixee_zlinky_easd01') | float(default=0) ) + (states('sensor.lixee_zlinky_easd03') | float(default=0) ) ) }}

J’ai le bon résultat, mais comment intégré sa dans configuration.yaml, ça gère des erreurs?
Je me demande s’il ne manque - plateforme: …

Si j’ai compris, pour ne pas « travailler » dans configuration.yaml qui fonctionne, je peux créer sensors.yaml en indiquant sensor: !include sensors.yaml ou encore customize.yaml en indiquant customize: !include constomize.yaml ?

Autre question, le résultat de cette opération sera t il enregistré dans influxdb, pour moi m’en servir dans grafana?

Philippe

Renseigner votre problème

Ma configuration


System Information

version core-2023.3.2
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.10.10
os_name Linux
os_version 5.15.84-v7
arch armv7l
timezone Europe/Paris
config_dir /config
Home Assistant Community Store
GitHub API ok
GitHub Content ok
GitHub Web ok
GitHub API Calls Remaining 4981
Installed Version 1.31.0
Stage running
Available Repositories 1241
Downloaded Repositories 2
Home Assistant Cloud
logged_in false
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Home Assistant Supervisor
host_os Home Assistant OS 9.5
update_channel stable
supervisor_version supervisor-2023.03.1
agent_version 1.4.1
docker_version 20.10.22
disk_total 28.0 GB
disk_used 6.0 GB
healthy true
supported true
board rpi3
supervisor_api ok
version_api ok
installed_addons File editor (5.5.0), Grafana (8.2.0), InfluxDB (4.5.0), Terminal & SSH (9.6.1), Samba share (10.0.0)
Dashboards
dashboards 1
resources 0
views 1
mode storage
Recorder
oldest_recorder_run 8 mars 2023 à 11:59
current_recorder_run 9 mars 2023 à 15:12
estimated_db_size 2045.36 MiB
database_engine sqlite
database_version 3.38.5
___

Salut,

L’ajout de sous-fichiers de configuration c’est uniquement pour faciliter la lisibilité si tu as beaucoup de configuration. Ca n’apporte rien d’autre et ce n’est pas obligatoire si tu n’as pas trop prévu de faire du yaml.

Normalement ce sensor de type template s’écrit comme ça dans le yaml, attention ça dépend aussi de ce que tu as déjà dans configuration.yaml:

sensor:
  - platform: template
    sensors:
      lixee_zlinky_index_hc:
        unit_of_measurement: "kWh"
        [....]

Oui ça le sera, car là tu créé une nouvelle entité qui s’appellera sensor:lixee_zlinky_index_hc

@AlexHass merci pour ta réponse.

J’ai ajouté ceci a mon configuration.yaml:

sensor:
  - platform: template
    sensors:
      lixee_zlinky_index_hc:
        unit_of_measurement: "kWh"
        friendly_name: Index HC
        value_template: "{{ ( (states('sensor.lixee_zlinky_easd01') | round(0) ) + (states('sensor.lixee_zlinky_easd03') | round(0) ) ) }}"
        
      lixee_zlinky_index_hp:
        unit_of_measurement: "kWh"
        friendly_name: Index HP
        value_template: "{{ ( (states('sensor.lixee_zlinky_easd02') | round(0) ) + (states('sensor.lixee_zlinky_easd04') | round(0) ) ) }}"

ça fonctionne, je récupère bien les deux index et le calcul est bon.

Quand j’ajoute sur le même principe le calcul pour avoir la consommation de ma pompe à chaleur, malgrés que file editor est vert, j’ai une erreur a la vérification du yaml.

sensor:
  - platform: template
    sensors:
      lixee_zlinky_index_hc:
        unit_of_measurement: "kWh"
        friendly_name: Index HC
        value_template: "{{ ( (states('sensor.lixee_zlinky_easd01') | round(0) ) + (states('sensor.lixee_zlinky_easd03') | round(0) ) ) }}"
        
      lixee_zlinky_index_hp:
        unit_of_measurement: "kWh"
        friendly_name: Index HP
        value_template: "{{ ( (states('sensor.lixee_zlinky_easd02') | round(0) ) + (states('sensor.lixee_zlinky_easd04') | round(0) ) ) }}"
    PAC_GLOBAL_ENERGY:
        unit_of_measurement: "kWh"
        friendly_name: Consommation PAC
        value_template: "{{ ( (states('sensor.pac_interior_energy') | round(0) ) + (states('sensor.pac_outside_energy') | round(0) ) ) }}"
Configuration non valide !
Invalid config for [sensor.template]: [PAC_GLOBAL_ENERGY] is an invalid option for [sensor.template]. Check: sensor.template->PAC_GLOBAL_ENERGY. (See ?, line ?).

Je retourne le problème depuis ce matin, je vois pas.
Merci pour vos conseils.
Philippe

Salut @pce5962,

Problème d’indentation au niveau de « PAC_GLOBAL_ENERGY » à décaler de 2 espaces vers la droite :wink:

sensor:
  - platform: template
    sensors:
      lixee_zlinky_index_hc:
        unit_of_measurement: "kWh"
        friendly_name: Index HC
        value_template: "{{ ( (states('sensor.lixee_zlinky_easd01') | round(0) ) + (states('sensor.lixee_zlinky_easd03') | round(0) ) ) }}"
        
      lixee_zlinky_index_hp:
        unit_of_measurement: "kWh"
        friendly_name: Index HP
        value_template: "{{ ( (states('sensor.lixee_zlinky_easd02') | round(0) ) + (states('sensor.lixee_zlinky_easd04') | round(0) ) ) }}"
      PAC_GLOBAL_ENERGY:
        unit_of_measurement: "kWh"
        friendly_name: Consommation PAC
        value_template: "{{ ( (states('sensor.pac_interior_energy') | round(0) ) + (states('sensor.pac_outside_energy') | round(0) ) ) }}"

Merci @Herbs pour ta réponse.

J’ai fait la modification, maintenant j’ai ce message d’erreur a la vérification de configuration.yaml:

Configuration non valide !
Invalid config for [sensor.template]: invalid slug PAC_GLOBAL_ENERGY (try pac_global_energy) for dictionary value @ data['sensors']. Got OrderedDict([('lixee_zlinky_index_hc', OrderedDict([('unit_of_measurement', 'kWh'), ('friendly_name', 'Index HC'), ('value_template', "{{ ( (states('sensor.lixee_zlinky_easd01') | round(0) ) + (states('sensor.lixee_zlinky_easd03') | round(0) ) ) }}")])), ('lixee_zlinky_index_hp', OrderedDict([('unit_of_measurement', 'kWh'), ('friendly_name', 'Index HP'), ('value_template', "{{ ( (states('sensor.lixee_zlinky_easd02') | round(0) ) + (states('sensor.lixee_zlinky_easd04') | round(0) ) ) }}")])), .... (See ?, line ?).

Philippe

Ah oui, ne pas mettre de majuscule, mais

      pac_global_energy:
        unit_of_measurement: "kWh"
        friendly_name: Consommation PAC
        value_template: "{{ ( (states('sensor.pac_interior_energy') | round(0) ) + (states('sensor.pac_outside_energy') | round(0) ) ) }}"
1 « J'aime »

Fallait le savoir, merci @Herbs :slight_smile: