Pour éviter de redémarrer HA à chaque modif. du configuration.yaml, j’ai regroupé toutes mes entitées dans un même fichier comme demander dans les nouvelles version de HA à venir:
Dans configuration.yaml, ajout de la ligne:
mqtt: !include mqtt.yaml
Et tous les entitées MQTT sont dans le fichier mqtt.yaml, sous cette forme:
J’ai rajouter le bloc paramètres device pour chaque entité pour quelles soit regreoupées par appareil (device) dans l’interface. Mais ca reste optionnel.
Aprés modification de ce fichier, il suffira de dire à HA de relire sa conf. des entités ici:
J’ai mis un peu de temps à répondre car il me fallait m’assurer de bien avoir configuré jeedom pour l’envoie d’infos vers mon brocker c’est chose faite.
Actuellement le flow nodeRed reçois bien les infos du brocker.
Retour du debug:
Il me reste à les remonter dans HA et là je coince. J’ai tenté avec la syntaxe de @vdomos sans réelle succès, je dois louper une étape. Je sollicite donc votre aide afin de comprendre là où ça coince.
généralement les capteurs de mouvements comme ce que tu as l’air de faire c’est avec un binary_sensor et pas un sensor.
Ensuite j’ajouterais une classe pour dire que c’est un détecteur de mvt.
device_class: motion
Et ensuite suivant les valeurs que Jeedom envoi faut aussi mettre les infos des valeurs…
Par défaut il attend ON et OFF… mais si c’est autre chose faut le mentionner:
@AlexHass : je te remercie pour le lien, je suis entrain de regarder, c’est bien plus velu que ce que je m’imaginais. @vdomos : J’ai tenté ta syntaxe et rien.
Je me demande si j’ai vraiment compris le fonctionnement, car quand je vais dans mes intégrations et que je rafraichis le module mqtt, il ne m’affiche ni service, ni entité, ni appareil.
Ai-je réellement besoin de NodeRed?
Le module MQTT étant connecté au brocker, il récupère bien les infos directement en fonction de ce que je mets dans le fichier configuration.yaml?
Enfin dernière question pour le moment . Actuellement, mon détecteur de mouvement ne change pas d’état donc hormis quand je demande à jeedom de tester je ne reçois rien. Cela peut-il expliquer que je ne remonte rien dans HA?
Normalement, les sensor et binary_sensor que tu créé manuellement dans le fichier de config, une fois HA redémarré, doivent apparaitre dans les entitiés, mais ne sont pas liées à l’intégration MQTT, car ce n’est pas elle qui les a créés.
Absolument pas besoin. Tu peux tout faire avec HA natif.
Ce qui vient de fichier de config c’est pour définir tes entités dont le fonctionnement dépend de ce qui est envoyé sur les topics en question.
Ben effectivement si rien n’est envoyé sur les topics en question il ne se passera rien dans HA…
Pour voir ce qui se passe sur MQTT tu peux aller dans les intégrations et dans la tuile MQTT, aller sur « configurer » ça te donne une page d’outils.
Là dans écouter, tu peux soit entrer ton topic, soit « # » pour écouter tout ce qui se passe sur ton MQTT, ça te permettra de voir le contenu des messages.
Donc si je comprends bien tes explications.
Mon flow nodeRed m’a juste permis de voir arriver des infos.
L’intégration MQTT permet seulement de créer la connexion à mon brocker.
Le fichier configuration, contient la définition des entités pour lesquelles on souhaite récupérer les valeur dans le topic, c’est bien cela?
Donc en relançant HA, je devrais avoir un nouvel appareil qui apparait et ce même si jeedom n’a rien envoyé?
J’ai fait le teste comme tu me le conseillais et si je mets’#’ j’obtiens:
Message 1 reçu sur jMQTT/couloir/detecteur/detection à 7:53 :
{
"name": "Detecteur_couloir",
"detection": 0
}
QoS: 0 - Retain: true
Message 0 reçu sur jMQTT/status à 7:53 :
online
Si je lui demande d’écouter sur ‹ jMQTT/couloir/detecteur/detection › j’obtiens
Message 2 reçu sur jMQTT/couloir/detecteur/detection à 7:54 :
{
"name": "Detecteur_couloir",
"detection": 0
}
QoS: 0 - Retain: true
Message 1 reçu sur jMQTT/couloir/detecteur/detection à 7:53 :
{
"name": "Detecteur_couloir",
"detection": 0
}
j’en déduis donc que les messages arrivent bien, c’est bien cela?
Juste pour comprendre, quand tu dis « rien », tu regardes ou ?
Les nouvelles entités sont visibles dans « Paramètres/Appareils et services » dans l’onglet « Entités ». Là tu peux les chercher par une partie de leur nom => « couloir » par exemple.
Tu pourras les rajouter dans une « carte » du tableau de bord après.
Peux tu copier ce que tu as mis dans le configuration.yaml exactement ? si elle n’apparait pas.
Tu peux aussi fouiller dans le fichier log home-assistant.log.
Après rechargement de la configuration des « Entités MQTT », il y a un message qui indique la découverte d’un nouveau « sensor/entity » comme ceci:
2022-11-09 23:21:24.485 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.batterie_node60_bassin
Effectivement je ne regardais pas au bon endroit. Je m’attendais à les voir sur la tuiles dans intégrations.
Voici ce que j’ai actuellement dans configuration.yaml
Je ne crois pas que l’on puisse définir un « device » quand on fait des entités MQTT manuellement comme ça. A ma connaissance, c’est uniquement quand un appareil utilise la fonction MQTT discovery pour s’auto configurer dans HA que ça regroupe en device.
Exemple un device détecteur de mvt zigbee que zigbee2mqtt à créé:
Ah oui
J’était resté conditionnel et j’avais raté l’exemple donné.
Mais dans la doc de binary_sensor MQTT que tu partages ils disent que ce n’est que avec la discovery.
Du coup je ne sais pas trop ce que ça veut dire
merci à vous je vais creuser cette piste.
J’étais effectivement resté sur le fait que cela ne fonctionnait qu’en mode discovery.
Je vais tester. Ce qui me semble bizarre, c’est de devoir définir le device à chaque entité et pas l’inverse définir le device et y lister les différentes entités.
je vais tester
Dans le fichier de configuration ce que tu entre c’est des entités et elle sont toutes regroupées par type. Du coup ça colle pas avec créer des devices qui pourraient avoir différents types.
Ensuite créer des entités à la main c’est sympa mais en général ça devrait être loin de la majorité de ce que tu aura. Sauf si tu veux dupliquer tout ton Jeedom dans HA de cette façon là
Salut…
Un truc assez bisar, mais ce que dit la doc pour la découverte auto:
« Après le premier message à config, les messages MQTT envoyés à la rubrique d’état mettront à jour l’état dans Home Assistant. »
Configuration topic: homeassistant/ICI le type de sensor/ICI le nom du topic/config
State topic: homeassistant/ICI le type de sensor/ICI le nom du topic/state
Payload: {« name »: « nom », « device_class »: « la classe voulue », « state_topic »: « homeassistant/ICI le type de sensor/ICI le nom du topic/state »}
QUI PERMET DE RECUPERER DANS HA DIRECTEMENT
Du coup dans JMQTT de Jeedom, j’ai fais le test avec un sensor avec la classe « Power » et aussi un autre avec la classe « temperature »
Peut être réalisé pour tout type de « Sensors » ou « Entities with command topics » …
Merci beaucoup pour le temps que tu as passé à rédiger, c’est une mine d’or.
Personnellement le broker est sur la machine jeedom, mais je ne pense pas que cela change la donne.
J’ai configuré l’intégration mqtt pour qu’elle pointe sur le broker en question.
En voici les paramètres au cas où ces derniers ne seraient pas les mêmes chez toi.