Création sensor avec entité mqtt

Bonjour,
J’ai testé le poste https://forum.hacf.fr/t/monitoring-electricite-avec-la-teleinfo-node-red-mqtt/553.
Donc je récupère via mqtt les données correspondantes =>
Capture d'écran 2023-12-14 101528

comme l’index_wh :
Capture d'écran 2023-12-14 101616

J’ai essayé de créer un sensor dans mon fichier template.yaml :

#########################################################
# Récupération des données linky via nodered
#########################################################
- platform: mqtt
  name: index_linky_wh
  state_topic: "linky/index_wh"
  unit_of_measurement: "Wh"

Mais impossible de retrouver ce sensor « index_linky_wh », il n’apparait pas dans la recherche dans outils de développement ni dans paramétres/entités. J’ai bien relancé HA et redémarré aussi HA au cas où.

Je pars du principe que j’ai du faire une boulette dans la création du sensor, mais pas d’erreur ni dans les logs ni à la vérification des fichiers yaml.

Est-ce quelqu’un voit quelque chose d’anormal ?

Merci.

Salut,

tu n’as pas vraiment fait de boulette, si ce n’est de te baser sur un sujet vieux de plus de 3 ans. :slight_smile:
Il y a eu entre temps une modification majeure dans le YAML pour certaines plateformes, comme MQTT. Tout ce qui est MQTT est regroupé sous le mot clé « mqtt: » et plus sous chaque type d’entité.
C’est passé de

sensor:
  - platform: mqtt
     ...

à

mqtt:
  sensors:
    - name: "index_linky_wh"
      state_topic: "linky/index_wh"
      state_class: total_increasing
      unit_of_measurement: "Wh"
      device_class: energy

Merci pour la réponse,

du coup dans le template.yaml, ça doit donner quelque chose comme ça ?

- platform: mqtt
  sensors:
    name: index_linky_wh
    state_topic: "linky/index_wh"
    unit_of_measurement: "Wh"

Non, en fait je t’ai donné exactement ce que tu peux mettre dans configuration.yaml.
« mqtt: » c’est a mettre au premier niveau de la configuration.
Ensuite si tu as beaucoup d’autres chose à mettre sous mqtt, tu peux te créer un fichier mqtt.yaml

Ok, du coup dans le configuation.yaml,
j’ai mis

mqtt: !include mqtt.yaml

et dans ce fichier :

- sensor:
    - name: "index_linky_wh"
      state_topic: "linky/index_wh"
      state_class: total_increasing
      unit_of_measurement: "Wh"
      device_class: energy

et ça fonctionne
Capture d'écran 2023-12-14 120516

Merci :wink:

1 « J'aime »

Bonjour ,
je n’arrive pas a configurer un sensor mqtt j’ai cette erreur:
Template variable error: dict object has no element 0 when rendering '{{ value_json.0.value }}'

Voila ma config j’ai : mqtt: !include mqtt.yaml dans configuration.yaml
et :

 sensor:
  - name: "ebusd_easy_control_bus_z1_room_temp"
    unique_id: "ebusd_easy_control_bus_z1_room_temp"
    unit_of_measurement: "°C"
    state_class: measurement
    device_class: temperature
    state_topic: "ebusd/easy_control_bus/z1_room_temp"
    value_template: "{{ value_json.0.value }}"

dans mqtt.yaml

et je voit ça :


dans MQTT Explorer.
Que puis je faire?
Merci

Il faut mettre :
"{{value_json[\"0\"].value}}"

à la place de

"{{ value_json.0.value }}"