Addition de 2 sondes

Bonjour, est il possible de crée une entité qui additionne 2 sondes ?

J’ai une 1 sonde qui me dure ma conso électrique et une autre qui mesure ma production solaire. ( via Shelly EM )

J’aime une carte qui additionne les 2

sensor.shellyem_244cab4326d4_channel_1_power
sensor.shellyem_244cab4326d4_channel_2_power

Merci

Salut Jeremy,
il faut passer par un template
En voici un exemple :

- sensor:
  - name: Applique Murale Power
    state: >
      {{ ( (states('sensor.applique_murale_gauche_power') | float(default=0) ) + (states('sensor.applique_murale_droite_power') | float(default=0) ) ) | rou
nd(2) }}

La documentation est la : Template - Home Assistant

Comment créer un template ?

1er ligne de la doc template :
Sensor, binary sensor, button, number and select template entities are defined in your YAML configuration files, directly under the template: key and cannot be configured via the UI.

Donc avec file editor

1 « J'aime »

Salut :wave:,

Merci de participer sur le forum :+1:

:information_source: Le forum dispose de catégories afin de renforcer le référencement des sujets.

Nous avons déplacé ton sujet car nous estimions qu’il n’était pas dans la bonne catégorie.

Si tu as un doute la prochaine fois, n’hésite pas à mentionner les @Moderateur.

L’équipe HACF.

:hacf:

Merci cela fonctionne.

J’essaie de faire la meme chose avec une addition de 3 sondes mais cela ne fonctionne pas

- sensor:
  - name: Consommation Total
    unit_of_measurement: "kWh"
    state: >
     {{ ( (states('sensor.shellyem_244cab4326d4_channel_2_energy') | float(default=0) ) - (states('sensor.shellyem_244cab4326d4_channel_1_energy_returned') | float(default=0) + (states('sensor.shellyem_244cab4326d4_channel_1_energy') | float(default=0)  ) ) | round(2) }}

Qu’est ce qui n’est pas correct ?

merci

Tu a un souci de variable : a la fin tu a 3 ‹ ) ›
Je te recommande, fortement, de passer par Outils de développement / Modèle pour tester avant de crée ce type de sensor.
C’est beaucoup plus facile pour debugger et tu peut y aller par étape pour tester.

Je n’y connais pas grand chose, en général je prend des tous fais ou je n’ai cas remplacer le nom des sondes

Hello

en général je prend des tous fais

Au début cela sert j’ l’ai fait aussi , mais le fait de mettre les main dans le cambouis permet d’apprendre et de s’auto corrigé et de découvrir beaucoup de possibilité insoupçonné de HA
:grinning:

salut

ici tu peux tester les templates avec tes données

Existe il un paramètre à ajouter au template pour limiter les updates ?

Toutes les secondes c’est trop, ça fait lag tous mes graphiques lorsque j’utilise ce template.

Merci

Salut
Je crois qu’un template est basiquement triggé lorsque une des données qui sont utilisées dans le template change.

Mais on peut trigger un template sur les événements de notre choix.
C’est expliqué là:

Trigger-based entities do not automatically update when states referenced in the templates change. This functionality can be added back by defining a state trigger for each entity that you want to trigger updates.

Exemple:
J’utilise des intégrales qui se réinitialisent de temps en temps, elles sont appelées:

  • lorsque l’état de l’entrée change
  • à chaque re-initialisation

Cela donne:

template:
  - trigger:
    - platform: state
      entity_id:
        - sensor.Pw_mes_1
    - platform: state
      entity_id: input_boolean.synchro_rad
      to: 'on'
    sensor:
      - name: Cumul_radg1
        unit_of_measurement: "W"
....blabla...
1 « J'aime »

Merci Haz,

J’ai aussi des sensors avec des fréquences très élever (tous les 2 ou 3 secondes)
et je générer une dizaine de variable templetiser dessus.

Ta solution m’a permis d’économiser de la ressources CPU (et d’ici jours), de réduire la BdD de HomeAssistant ( car moins de points de mesure) et d’afficher le graphique d’historique plus vite.

N’ayant besoin que d’une granularité d’une minutes, j’ai fait ça (pour ceux qui ont la flemme de chercher comment faire, dans le fichier template.yaml si template: !include template.yaml dans configuration.yaml)

- trigger:
    - platform: time_pattern
      minutes: /1
  sensor:
  - name: cos phi
    state: >
      bla_bla_bla

au lieu de :

- sensor:
  - name: cos phi
    state: >
      bla_bla_bla
1 « J'aime »