Aditionner des entrées numériques

C’est un exemple complet juste au dessus. C’est juste pas exactement le tien

Jinja est un langage typé. Par défaut tout est chaine/string… Donc faire une addition c’est pas direct

Je te laisse recompter …

En effet le compte est bon !!

Ok, donc il faut connaitre et comprendre le concept Jinja, je vais m’y mettre !

Hello

Pour une opération « simple » tu peux créer directement depuis l’ IU une entrée (helper) de type Combiner l’état de plusieurs capteurs . Plusieurs opérations sont possibles dont la somme.

Pas aussi puissant qu’en jinja mais peut être utile .

@+

1 « J'aime »

Me revoila !

J’ai créé un template qui fait le calcul suivant :

template:
  - sensor:
      - name: "Prix EDF"
        unit_of_measurement: "Euro"
        state: >
          {% set PrixKwh = states('input_number.prixkwh') | float %}
          {% set NbKwh = states('sensor.capteur_aqara_temperature') | float %}
          {{ (PrixKwh * NbKwh) | round(2) }}

Ce template est ok quand je le passe à Outils de développement / Modèle

Comment je fais si je veux publier le résultat dans un message MQTT ?

Merci

Tu peux appeler un service MQTT:publier par un script.

Ok, mais ds le Payload je mets quoi ?

En gros j’ai fait un calcul via mon template, mais le résultat est dans quoi, avec quelle syntaxe ?

Et je ne peux pas le faire directement depuis mon automatisation ?

Merci

Salut,

Je t"invite à corriger
float
en
float(default=0)
Juste au cas où tes 2 valeurs en entrées ne fonctionnent. De toutes façons si tu crée ton sensor avec ta syntaxe, HA refusera

ok, merci.

Et maintenant pour exploiter le résultat de mon template, tu peux m’aider ?

Comme évoqué plus haut, ça dépends de ce tu veux faire :

  • définir un template + créer une entité avec ce template + recupérer la valeur de l’entité dans une automatisation pour l’envoyer via MQTT => notion de virtuel + scenario dans jeedom
  • envoyer via MQTT dans une automatisation, un payload calculé à la volée à partir du template => scenario dans jeedom avec par exemple du code PHP

Volontairement j’ai mis tous les mots spécifiques HA. Est-ce parlant pour toi ?

Ce que je veux faite : publier en MQTT le résultat de mon template.

définir un template + créer une entité avec ce template : je pense que c’est ce que j’ai fait ?

Ca revient à dire : comment je fais pour aller à Paris, sans préciser ton agenda, ni si tu as le permis, ni ton budget…

Pas vraiment, là tu as écrit un bout de texte qui est ce qu’il faut ajouter à ton configuration.yaml dans l’objectif de créer une entité.
C’est le plan de construction de la maison, pas la maison elle même.
En plus tu as mis ça dans une automatisation avec tout un tas de truc pas adaptés…
Tu as mis le plan dans une boite aux lettres sans enveloppe, pour que le contructeur lance les travaux
Tu veux aller trop vite :sweat_smile:

Donc commence par faire petit :
ajoute ça (et ce code là, car multiples corrections) dans ton configuration.yaml et redemarre HA

template:
  - sensor:
    - name: "Prix EDF"
      unit_of_measurement: "Euro"
      state: >
        {% set PrixKwh = states('input_number.prixkwh') | float(default=0) %}
        {% set NbKwh = states('sensor.capteur_aqara_temperature') | float(default=0) %}
        {{ (PrixKwh * NbKwh) | round(2) }}

J’ai mis cette déclaration ds mon configuration.yaml et redémarré HA et j’ai pu publier comme je le souhaitais, bien entendu ce sont des tests que je fais pour comprendre l’esprit HA.

C’est possible que par moment je veuille aller trop vite !

Merci

1 « J'aime »

ça vaudrait le coup que tu partage comment tu as fait ta publication. Histoire de voir vite fait c’est bien dans l’esprit de HA :wink:

Comme cela dans un script !

Bon pas sur que ce soit une automatisation, mais par exemple ton payload tu pourrais le remplacer par :

  payload: >
    {% set PrixKwh = states('input_number.prixkwh') | float(default=0) %}
    {% set NbKwh = states('sensor.capteur_aqara_temperature') | float(default=0) %}
    {{ (PrixKwh * NbKwh) | round(2) }}

tu passes directement le calcul, plutot que de devoir créer une entité et lire l’entité

Merci, pour tes réponses que je viens de voir.

Ce n’est pas une automatisation, c’est un script.

Si je passe le calcul directement dans le Payload, plus besoin de le faire dans configuration.yaml ? Ce qui était mon idée de départ.

Dans Jeedom (Et oui !) il y avait événement en début de sauvegarde et fin de sauvegarde, cela permet de monitorer un minimum les sauvegardes, y a t-il un équivalent dans HA. J’ai vu que cela existait pour la mise en route et l’arrêt de HA.

oui je l’ai écrit au dessus…

Pourtant j’ai posé la question plusieurs fois, hein :wink:

Difficile de comparer les concepts jeedom et HA (surtout quand c’est pas à la faveur de jeedom) mais HA ne gère QUE des évènements … Et il n’y a pas qu’1 mécanisme de backup
Donc oui mais ça dépends de ce que tu utilises
Par exemple

Si besoin, ouvre un sujet spécifique

Ok, merci.

A bientôt !