Pilotage Chaudière Hargassner via MQTT discovery

Bonjour à tous, j’ai profité de l’été pour finir mon projet de pilotage complet de ma NanoPK.
(dont j’avais parlé ici: Plugin Chaudière Hargassner - #21 par hlehoux)

Vous le trouverez ici: GitHub - hlehoux2021/MyHargassner: my personnal hargassner experiments

Je peux piloter le Mode chaudière, le Mode Zone1 et Zone2, et les températures de jour et de réduit.

la chaudière peut apparaître dans Jeedom ou dans Home Assistant avec MQTT discovery.

Voici une capture d’écran

la doc: MyHargassner/README.md at main · hlehoux2021/MyHargassner · GitHub

NB: ce n’est pas à proprement parler un « plugin » mais ça utilise le merveilleux plugin MQTT-discovery de @Mips

1 « J'aime »

Intégré dans JeedomConnect de @tomitomas

Je suis preneur de personnes qui voudraient tester et me faire du feedbackl.

Cela fait maintenant plus d’un mois que ma chaudière à pellet Nano PK Hargassner est pilotée par jeedom :slight_smile:
J’en ai profité pour améliorer mon programme: maintenant je suis compatible avec le site web officiel hargassner et les modifications peuvent être faite dans les 2 systèmes.

Je recherche des utilisateurs pour challenger mon programme et faire profiter la communauté ; par exemple quelqu’un qui aurait 2 zones de chauffages à piloter, ou quelqu’un qui aurait une autre version du software de la chaudière.

Bonjour helehoux !

Content de voir que tu as avancé de ton côté !
Comme je l’expliquais dans l’ancien post (Plugin Chaudière Hargassner), j’avais réussi à récupérer les données telnet de ma chaudière (modèle Classic 9-15), en utilisant Node-red + Mqtt.
J’ai jeté un coup d’oeil à ton repo github et ça donne envie de tester ton programme. (Faut que j’achète un autre raspberry pi + adaptateur usb/rj45 :wink:

Par contre j’ai quelques questions:

  • Si tu arrives à envoyer des commandes telnet et commander ta chaudière via ton raspberry, quel est l’intérêt de garder la passerelle internet Hargassner (IGW) ? Juste pour le pilotage à distance via leur application ?
  • Je ne sais pas comment tu gères ton chauffage dans jeedom, mais pour moi mon but serait de créer une sorte de thermostat avec des capteurs de températures et pourquoi pas même des têtes thermostatiques connectées sur les différents circuits de mon planché chauffant. Je ne sais pas si ça peut fonctionner…
  • Ou on trouve l’info de version logiciel de la chaudière ?
  • Question un peu à côté, (que j’avais déjà posée à Hargassner, mais sans réponse): Est ce que chez toi aussi ta chaudière apparait 2 fois dans ton routeur quand tu connectes l’IGW à ton réseau ? Moi j’ai 2 adresses IP distinctes et il me semble qu’il y en a qu’une qui fonctionne réellement pour récupérer les infos Telnet).

Merci !
Et encore bravo pour ton taf :clap:

Bonjour @obi ,

  • concernant la passerelle IGW, il faut savoir que la passerelle et la chaudière font un échange dans le but de sécuriser leur dialogue: la chaudière envoie un token et la passerelle répond avec une clef chiffrée ; si tu envoies une commande à la chaudière sans ce préalable, elle va te répondre « access denied ». Je n’ai pas l’algorithme de génération de la clef à partir du token et je pense qu’essayer de l’avoir enfreindrait la propriété intellectuelle d’Hargassner ce qui n’est pas mon intention.

  • Techniquement une fois que tu as fait ce dialogue, tu n’a plus besoin de l’IGW ; d’ailleurs, l’IGW n’intervient pas dans le dialogue entre jeedom, mon programme et la passerelle par la suite.

  • Par contre j’ai pris soin de conserver la passerelle dans la boucle ; les commandes et états passés sur l’un et l’autre système sont reflétés de l’autre côté ; de plus, l’appli Hargassner est plus complète, elle gère l’ensemble des paramètres de configuration, etc , là où je me suis concentré sur pouvoir gérer le mode de fonctionnement de la chaudière, le mode de la zone de chauffage et l’état de mon tampon d’eau chaude, ainsi que remonter dans jeedom les paramètres importants au quotidien et les températures de consignes de chauffe.
    voici un exemple (ici la chaudière est arrêtée car je ne suis pas là):

Mon usage principal est que j’ai déjà un calendrier de présence qui indique quand je suis là et quand je suis absent ; et en fonction de ce calendrier je pilote les modes de fonctionnement de la chaudière. Je faisais déjà cela auparavant sur une ancienne chaudière fuel qui fonctionnait en mode on/off ; l’argument principal étant que la maison soit chaude quand j’arrive sans chauffer quand je ne suis pas là.

  • Concernant la version logicielle de la chaudière, tu la trouveras sur l’interface web d’hargassner en cliquant sur le (i) info en haut à droite ; tu l’as aussi dans les écrans de paramètres sur la chaudière en direct. Moi je suis en 14.0n3 mais je ne pense pas que ce soit bien difficile de changer: Jahislove a déjà documenté les correspondances de paramètres avec les différentes versions du firmware et j’ai repris cette partie là de son travail.
  • Je n’ai jamais remarqué plusieurs adresses pour la chaudière ; j’en ai une pour l’IGW et une pour la chaudière (d’ailleurs je leur ai assigné des adresses fixes sur mon routeur)

OK merci pour les infos.
Ma chaudière est en V14.0d.
Faudra donc que je teste pour voir si ça marche…

Tu trouveras ici Hargassner/conf/firmware.inc.php at master · Jahislove/Hargassner · GitHub les correspondances documentées des différents firmwares.

A court terme d’ici que je fasse une evolution pour pouvoir gérer plusieurs versions de firmware il faudra que tu modifies dans MyHargassner/myhargassner/hargconfig.py at main · hlehoux2021/MyHargassner · GitHub le tableau « self.map » pour reprendre la correspondance valable pour ton firmware sinon tu va avoir certaines données mélangées

OK
Et de ce que je comprends, il faut que je prévois aussi 2 switchs RJ45 ?
Etant donné que le raspberry se connecte d’un coté au LAN et de l’autre à la chaudière (comme l’IGW)… et je n’ai qu’un rj45 qui arrive à ma chaudière.

Tu n’auras pas besoin de switch entre la chaudière et le raspberry, tu peux brancher le cable ethernet de la chaudière directement sur l’adaptateur usb/rj45 du pi, qui sera serveur dhcp et fournira une adresse ip à la chaudière sur ce sous réseau.
Tu trouveras les infos de setup au niveau réseau ici: MyHargassner/docs/NETWORK_SETUP.md at main · hlehoux2021/MyHargassner · GitHub

Voici un exemple:
le cable rouge vient de la chaudière et est branché directement au pi sur le port rj45 supplémentaire
la chaudière et la gateway sont sur le réseau ethernet principal via un switch

Après le setup, sur le pi tu auras 2 interfaces et 2 réseaux séparés:
pi@jeedom3:~ $ ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.100.8 netmask 255.255.255.0 broadcast 192.168.100.255

eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.0.0.1 netmask 255.255.255.0 broadcast 10.0.0.255