Encore merci à @TheD6Bel pour son module et son aide.
Mon problème
J’essaye de trouver la méthode pour calculer une troisième valeur à partir de deux valeurs issues du dsmr
J’ai trouvé un code qui pourrait le faire. Je l’ai transformé, mais sans aucune connaissance de yaml ma part. Mais je découvre à fur et à mesure de mes lectures ici.
J’ai une erreur’ ici: service: input_number.set_value
Comment peut-on corriger cela, où cela se place-t-il, dans le fichier dsmr.yaml ou autre part ?
une des valeurs : energy_delivered_tariff1
deuxième valeur: energy_delivered_tariff2
Je te conseille d’utiliser Outils de développement + l’onglet modèle pour coder ton Yaml par exemple, tu y mets ton calcul pour voir le résultat qu’il renvoie :
{{states(‹ energy_delivered_tariff1 ›)|int(0) +
states(‹ energy_delivered_tariff2 ›)|int(0)}}"
ça dans un premier temps puis quand ton yaml (le cacul) est bon tu peux aller dans paramètres > appareils et services > Entrées et créer une entrée de type template (comme c’est une valeur je mettrais modéliser un capteur) et y mettre ton calcul/yaml, après tu pourrras découvrir toutes les possibilités.
Mais ça c’est seulement si « sensor.dsmr_reader_energy_delivered_tariff_1 et 2 » sont les bons noms…
Autant commencer par voir avec 1 valeur seulement, pour voir s’il y a une sortie…
- platform: template
name: Energy Delivered Total
unit_of_measurement: kWh
lambda: |-
return (id(Delivered_Tariff1).state + id(Delivered_Tariff2).state);
plus qu’à faire pareille sur le returned si tu en as besoin, tu sauves le code, tu reflash l’esp et tu auras une nouvelle entitée Energy Delivered Total qui sera crée
energy_delivered_tariff1:
name: ${friendly_name} Energy Delivered Tariff 1
id: Delivered_Tariff1
state_class: total_increasing
energy_delivered_tariff2:
name: ${friendly_name} Energy Delivered Tariff 2
id: Delivered_Tariff2
state_class: total_increasing
energy_returned_tariff1:
name: ${friendly_name} Energy Returned Tariff 1
id: Returned_Tariff1
energy_returned_tariff2:
name: ${friendly_name} Energy Returned Tariff 2
id: Returned_Tariff2
- platform: template
name: Energy Delivered Total
unit_of_measurement: kWh
lambda: |-
return (id(Delivered_Tariff1).state + id(Delivered_Tariff2).state);
- platform: template
name: Energy Returned Total
unit_of_measurement: kWh
lambda: |-
return (id(Returned_Tariff1).state + id(Returned_Tariff2).state);
mais j’ai une erreur
INFO ESPHome 2023.9.1
INFO Reading configuration /config/esphome/smartmeter.yaml...
ERROR Error while reading config: Invalid YAML syntax:
while parsing a block mapping
in "/config/esphome/smartmeter.yaml", line 2, column 1:
substitutions:
^
expected <block end>, but found '-'
in "/config/esphome/smartmeter.yaml", line 107, column 1:
- platform: template
^
EDIT : trouvé, je n’ai pas mis assez de marge pour - template. Maintenant, c’est bon.
Et dire que je dois organiser la sauvegarde de tout cela lorsque j’installerai HA sur mon mini pc lundi