MCZ Remote et MQTT Discovery: utilisation possible?

Bonjour @Mips ,

J’ai un utilisateur qui cherche à utiliser MQTT manager pour dialoguer avec son poële à pellets MCZ.
Pour jMQTT, j’ai un template pour la création des commandes.
Je n’ai rien pour MQTT manager.
J’ai essayé MQTT discovery mais je n’arrive à rien.
L’équipement n’a évidemment pas de topic homeassistant.
Voici ce que vois dans les logs

1878|[2024-09-26 22:07:41] DEBUG  : new message:{"PUBmcz":{"Etat du poele":"Eteint","Etat du ventilateur ambiance":"Niveau 1","Etat du ventilateur canalise 1":"Niveau 1","Etat du ventilateur canalise 2":"Desactive","Temperature des fumees":10.5,"Temperature ambiante":16,"Puffer Temperature":127.5,"Temperature chaudiere":0,"Temperature NTC3":127.5,"Etat de la bougie":"Ok","ACTIVE - Set":130,"RPM - Ventilateur fummees":0,"RPM - Vis sans fin - SET":0,"RPM - Vis sans fin - LIVE":0,"Brazero":["Code inconnu :","255"],"Profil":"Dynamic","Etat du mode Active":"On","ACTIVE - Live":101,"Mode de regulation":"Manuelle","Mode ECO":"Off","Silence":"Off","Mode Chronotermostato":"Off","TEMP - Consigne":22,"TEMP - Boiler":35,"TEMP - Carte mere":27,"Puissance Active":"Puissance 1","Heure du poele (0-23)":22,"Minutes du poele (0-29)":8,"Jour du poele (1-31)":26,"Mois du poele (1-12)":9,"Annee du poele":2024,"Heures de fonctionnement total (s)":"92:8:31:42","Heures de fonctionnement en puissance 1 (s)":"29:6:17:32","Heures de fonctionnement en puissance 2 (s)":"23:22:46:32","Heures de fonctionnement en puissance 3 (s)":"14:14:58:37","Heures de fonctionnement en puissance 4 (s)":"10:18:22:30","Heures de fonctionnement en puissance 5 (s)":"0:2:13:41","Heures avant entretien":1394,"Minutes avant extinction":0,"Nombre d'allumages":540,"Sonde Pellets":"Niveau suffisant","Effet sonore":"Off","Etat effets sonores":"Off","Sleep":"Off","Mode":"Hiver","Sonde wifi temperature 1":127.5,"Sonde wifi temperature 2":127.5,"Sonde wifi temperature 3":127.5,"Inconnu":255,"Set Puffer":64,"Set Boiler":50,"Set Health":255,"Temperature retour":127.5,"Antigel":"On"}}
1879|[2024-09-26 22:07:41] DEBUG  : ==> type='Etat du poele' - content= "Eteint"
1880|[2024-09-26 22:07:41] DEBUG  : ==> type='Etat du ventilateur ambiance' - content= "Niveau 1"
1881|[2024-09-26 22:07:41] DEBUG  : ==> type='Etat du ventilateur canalise 1' - content= "Niveau 1"
1882|[2024-09-26 22:07:41] DEBUG  : ==> type='Etat du ventilateur canalise 2' - content= "Desactive"
1883|[2024-09-26 22:07:41] DEBUG  : ==> type='Temperature des fumees' - content= 10.5
1884|[2024-09-26 22:07:41] DEBUG  : ==> type='Temperature ambiante' - content= 16
1885|[2024-09-26 22:07:41] DEBUG  : ==> type='Puffer Temperature' - content= 127.5
1886|[2024-09-26 22:07:41] DEBUG  : ==> type='Temperature chaudiere' - content= 0
1887|[2024-09-26 22:07:41] DEBUG  : ==> type='Temperature NTC3' - content= 127.5
1888|[2024-09-26 22:07:41] DEBUG  : ==> type='Etat de la bougie' - content= "Ok"
1889|[2024-09-26 22:07:41] DEBUG  : ==> type='ACTIVE - Set' - content= 130
1890|[2024-09-26 22:07:41] DEBUG  : ==> type='RPM - Ventilateur fummees' - content= 0
1891|[2024-09-26 22:07:41] DEBUG  : ==> type='RPM - Vis sans fin - SET' - content= 0
1892|[2024-09-26 22:07:41] DEBUG  : ==> type='RPM - Vis sans fin - LIVE' - content= 0
1893|[2024-09-26 22:07:41] DEBUG  : ==> type='Brazero' - content= ["Code inconnu :","255"]
1894|[2024-09-26 22:07:41] DEBUG  : ==> type='Profil' - content= "Dynamic"
1895|[2024-09-26 22:07:41] DEBUG  : ==> type='Etat du mode Active' - content= "On"
1896|[2024-09-26 22:07:41] DEBUG  : ==> type='ACTIVE - Live' - content= 101
1897|[2024-09-26 22:07:41] DEBUG  : ==> type='Mode de regulation' - content= "Manuelle"
1898|[2024-09-26 22:07:41] DEBUG  : ==> type='Mode ECO' - content= "Off"
1899|[2024-09-26 22:07:41] DEBUG  : ==> type='Silence' - content= "Off"
1900|[2024-09-26 22:07:41] DEBUG  : ==> type='Mode Chronotermostato' - content= "Off"
1901|[2024-09-26 22:07:41] DEBUG  : ==> type='TEMP - Consigne' - content= 22
1902|[2024-09-26 22:07:41] DEBUG  : ==> type='TEMP - Boiler' - content= 35
1903|[2024-09-26 22:07:41] DEBUG  : ==> type='TEMP - Carte mere' - content= 27
1904|[2024-09-26 22:07:41] DEBUG  : ==> type='Puissance Active' - content= "Puissance 1"
1905|[2024-09-26 22:07:41] DEBUG  : ==> type='Heure du poele (0-23)' - content= 22
1906|[2024-09-26 22:07:41] DEBUG  : ==> type='Minutes du poele (0-29)' - content= 8
1907|[2024-09-26 22:07:41] DEBUG  : ==> type='Jour du poele (1-31)' - content= 26
1908|[2024-09-26 22:07:41] DEBUG  : ==> type='Mois du poele (1-12)' - content= 9
1909|[2024-09-26 22:07:41] DEBUG  : ==> type='Annee du poele' - content= 2024
1910|[2024-09-26 22:07:41] DEBUG  : ==> type='Heures de fonctionnement total (s)' - content= "92:8:31:42"
1911|[2024-09-26 22:07:41] DEBUG  : ==> type='Heures de fonctionnement en puissance 1 (s)' - content= "29:6:17:32"
1912|[2024-09-26 22:07:41] DEBUG  : ==> type='Heures de fonctionnement en puissance 2 (s)' - content= "23:22:46:32"
1913|[2024-09-26 22:07:41] DEBUG  : ==> type='Heures de fonctionnement en puissance 3 (s)' - content= "14:14:58:37"
1914|[2024-09-26 22:07:41] DEBUG  : ==> type='Heures de fonctionnement en puissance 4 (s)' - content= "10:18:22:30"
1915|[2024-09-26 22:07:41] DEBUG  : ==> type='Heures de fonctionnement en puissance 5 (s)' - content= "0:2:13:41"
1916|[2024-09-26 22:07:41] DEBUG  : ==> type='Heures avant entretien' - content= 1394
1917|[2024-09-26 22:07:41] DEBUG  : ==> type='Minutes avant extinction' - content= 0
1918|[2024-09-26 22:07:41] DEBUG  : ==> type='Nombre d'allumages' - content= 540
1919|[2024-09-26 22:07:41] DEBUG  : ==> type='Sonde Pellets' - content= "Niveau suffisant"
1920|[2024-09-26 22:07:41] DEBUG  : ==> type='Effet sonore' - content= "Off"
1921|[2024-09-26 22:07:41] DEBUG  : ==> type='Etat effets sonores' - content= "Off"
1922|[2024-09-26 22:07:41] DEBUG  : ==> type='Sleep' - content= "Off"
1923|[2024-09-26 22:07:41] DEBUG  : ==> type='Mode' - content= "Hiver"
1924|[2024-09-26 22:07:41] DEBUG  : ==> type='Sonde wifi temperature 1' - content= 127.5
1925|[2024-09-26 22:07:41] DEBUG  : ==> type='Sonde wifi temperature 2' - content= 127.5
1926|[2024-09-26 22:07:41] DEBUG  : ==> type='Sonde wifi temperature 3' - content= 127.5
1927|[2024-09-26 22:07:41] DEBUG  : ==> type='Inconnu' - content= 255
1928|[2024-09-26 22:07:41] DEBUG  : ==> type='Set Puffer' - content= 64
1929|[2024-09-26 22:07:41] DEBUG  : ==> type='Set Boiler' - content= 50
1930|[2024-09-26 22:07:41] DEBUG  : ==> type='Set Health' - content= 255
1931|[2024-09-26 22:07:41] DEBUG  : ==> type='Temperature retour' - content= 127.5
1932|[2024-09-26 22:07:41] DEBUG  : ==> type='Antigel' - content= "On"
1933|[2024-09-26 22:07:41] INFO  : Nouvelle découverte, résumé des configuations:
1934|[2024-09-26 22:07:41] INFO  : - Importées:                 0
1935|[2024-09-26 22:07:41] INFO  : - Auto-création inactive:    0
1936|[2024-09-26 22:07:41] INFO  : - Topic ignoré:              0
1937|[2024-09-26 22:07:41] INFO  : - Erronées:                  0
1938|[2024-09-26 22:07:41] INFO  : - Non supportées:            0
1939|[2024-09-26 22:07:41] INFO  : - Total reçues:              0

Je vois bien les informations qui pourraient aller en commandes infos. Mais je n’ai pas d’équipement de créé.
La config de MQTT discovery est celle-ci.

Je suis sous Bookworm en jeedom 4.4.17

La page santé:

Ma question est simple. Est-il possible avec MQTT discovery de découvrir et créer un équipement de ce type ?

Merci d’avance

Bonjour,

La réponse est dans la doc (chapitre 3.1): https://mips2648.github.io/jeedom-plugins-docs/MQTTDiscovery/fr_FR/#tocAnchor-1-3-1

et dans la question: pas de topic de découverte donc pas compatible avec le plugin qui utilise le « mqtt discovery »

Je n’ai pas compris le rapport avec mqtt manager.
Si « ton utilisateur » veut utiliser mqtt manager, pourquoi tester mqtt discovery.

Après si tu codes la partie discovery dans ton plugin, tu peux le rendre discovery compatible.
J’ai regardé pour un usage perso mais j’ai pas tout compris comment le faire :scream: :sob:

Antoine

En fait je comprends pas: si ca passe déjà par un autre plugin, autant remonter des équipements et commandes directement dans ce plugin.
Pourquoi vouloir repasser par mqtt?

Bonjour,

Oui, j’avais vu dans la doc le topic de découverte « Homeassistant ». Je n’avais pas réalisé qu’il fallait que ce topic existe dans les infos de l’équipement.
Mon utilisateur a MQTT manager.
Cela veut dire qu’il devrait tout recréer à la main. Une quarantaine de commandes infos en provenance du poële et environ autant de commandes actions.
Ne connaissant pas MQTT Discovery, j’ai testé pour voir s’il était possible de faire une partie du travail de création des commandes.

Pour terminer, l’utilisateur ne souhaite pas utiliser jMQTT comme conseillé dans la doc de MCZ Remote. jMQTT supporte des templates et il y en a un pour MCZ Remote.

il se pourrait que le nom soit différent (mais la convention largement en place c’est d’utiliser ce nom là)


je ne comprend toujours pas pourquoi plugin-mczremote ne créé pas des équipements directement. je ne vois pas l’intérêt d’avoir un plugin qui va publier sur mqtt pour qu’un autre créé des équipements


sinon, j’ignore quel language est utilisé pour plugin-mczremote mais il existe des libs qui permettent de créer les infos de discovery « automatiquement »: ici par exemple pour python GitHub - unixorn/ha-mqtt-discoverable: Python module to create MQTT entities that are automatically discovered by Home Assistant

Pour répondre à ton dernier post.
Le démon de MCZ Remote dialogue directement avec mosquito.
Le plugin MCZ Remote ne sert qu’à gérer le démon. C’est à dire fournir les paramètres, assurer le lancement et l’arrêt.
Il faut donc un plugin MQTT du côté de Jeedom pour traiter les infos de et vers le poële.
jMQTT le fait très bien mais il ne souhaite pas l’installer.

A l’origine, le démon était un module python indépendant. Les utilisateurs avaient des difficultés pour la configuration et le lancement.
Je l’ai packagé dans un plugin pour en faciliter l’utilisation.

Le démon est en python.

ok c’est clair et ca je comprend

j’ai fait ca aussi pour 2 plugins (kroomba & modbus2mqtt)… mais je fais aussi un subscribe sur plugin-mqtt2 pour recevoir les messages et abstraire cette complexité.
Dans ces plugins, mqtt sert de communication entre le démon et jeedom mais c’est transparent; mais c’est un choix qui t’appartient.

Du coup p-e voir si possible d’intégrer une lib comme j’ai fourni plus haut pour créer les sensor compatible avec le protocol mqtt discovery

Le plugin MCZ Remote ne sais plus être utilisé sur les nouveaux poëles de MCZ.
Ils ont changé le protocole de communication.
MCZ a déjà changé 3 fois de mode de communication avec le poële.
Il y eu du rfxcom. Il y a les web sockets comme avec MCZ Remote. Et maintenant autre chose.

Le tout sans jamais d’API.