Intégration radiateurs Intuis connect sans HomeKit

Bonjour,
J’utilise Home Assistant pour le pilotage et le suivi de radiateurs Noirot Radiasoft connectés avec le système Intuis connect with Netatmo (anciennement Muller Intuitiv). L’intégration s’est faite avec HomeKit d’Apple, ce qui a nécessité que mon HomePod soit connecté au même réseau wifi et que la passerelle Intuis soit supprimée de l’application Maison d’Apple (ce que je regrette).

Comme beaucoup d’autres personnes passées par là, je récupère sans problème les températures instantanées, les consignes et la possibilité de piloter une marche forcée.
Par contre avec l’intégration HomeKit je n’ai pas moyen de récupérer la consommation en kw/h de chaque appareil et la programmation journalière mise en place sur l’application Intuis Connect, du radiateur au fur et à mesure de la journée (en train de chauffer ou en veille), la détection de fenêtres ouvertes ou encore la détection de présence. Avec la puissance d’Home Assistant, ce sont des informations qui manquent énormément.

Je ne suis pas assez calé pour me lancer dans un projet de développement pour intégrer directement les radiateurs sans HomeKit, et je n’ai rien trouvé sur les forums indiquant que d’autres personnes l’auraient fait pour Home Assistant. Par contre j’ai trouvé des gens qui ont travaillé sur un projet similaire pour Jeedom et ils sont arrivés à quelque chose de tout à fait satisfaisant : GitHub - shun84/jeedom-plugin-mullerintuitiv

Alors je me demandais s’il n’y avait pas une âme charitable parmi vous qui serait intéressée pour comprendre le développement Jeedom et pour essayer de le retranscrire pour Home Assistant, ?

Merci par avance et bonne journée.

3 « J'aime »

Bonjour à tous

Tout nouveau sur HA et donc sur votre forum HACF, Je débute
Tout comme @ [Yann0128], je ne trouve aucune solution.

J’ai également des radiateurs Noirot avec Modules wifi Intuitiv Netatmo.
Via app sur Tel : gestion impeccable temp, fenetre ouverte, planning, etc …
Je me suis inscrit sur le site NetAtmo, HA en est partenaire et j’ai installé l’intégration.
Cette intégration donne accès à HA au Cloud NetAtmo … je ne comprends pas tout l’intéret car je n’ai pas trouvé comment identifier les modules sur leur Cloud … Pas si simple et peut etre pas adapté au modules en question.

Dans HA : j’ai intégré HomeKit Bridge, ce qui m’a permis de récupérer mon iphone et iwatch avec tous leurs capteurs automatiquement. Ceci me permet également d’intégrer les nouveaux appareils de HA dans l’App Home du Tel via QRCode (pas le sujet).

Cependant je n’ai aucun « concentrateur Apple » et je ne projète pas d’en acquérir un.
Il m’est donc impossible de récupérer les infos de chaque radiateur (ceci dit la « gestion » dans Home ne me convient pas donc je ne l’utilise pas, mais mes radiateurs apparaissent bien)

J’ai parcouru le GitHub… mais je n’ai pas les compétences .
Je parcours la « toile » web mais en vain.
Je serais également très intéressé si quelqu’un pouvait nous aider :grin: svp.

Merci à vous, bonne journée.

1 « J'aime »

En épluchant le travail fait sur le plugin jeedom et en reprenant un flow déjà existant pour la récupération du token sur les serveurs de Netatmo, j’ai réussi à créer mon propre flow Node RED pour récupérer les infos de mes radiateurs directement sur l’API.

Ce n’est clairement pas parfait mais il y a possibilité de récupérer toutes les infos disponibles dans l’application Intuis Connect dont la consommation élec journalière.

Pour l’exploiter, il faut avoir une bonne maitrise de Node RED et des connaissances JAVA.

Le flow est disponible ici : Intuis connect sur Node RED par Yann V

1 « J'aime »

Top ! Je crains de ne pas avoir les compétences pour essayer de faire de même sur mon installation, mais je vais regarder. Merci pour le partage

Bonjour,

Je voudrais bien recuperer aussi ces infos, mais je crain d’etre dans le meme cas que YanN0128 :unamused:
Vu que je débute avec HA, j’en suis à l’integration de tous mes équipements (volet Somfy=ok, Radiateur Noirot(avec module Intuitiv=ok).
J’ai deja une question : quand je mets un radiateur sur Marche, tout va bien, reglage, retour t°. Quand je demande l’arret du radiateur, il ne s’arrete pas mais passe en Hors Gel.
Y a t il un moyen de modifier çà ?
ther

Salut,
C’est l’intégration HomeKit qui est faite comme ça, ça se présente aussi sous cette forme dans l’application maison d’Apple.
Le seul moyen de modifier ça, c’est d’utiliser un flow Node Red pour te connecter au serveur Netatmo et copier les commandes de l’application Intuis Connect.
… ou de trouver une personne qui sera capable de nous créer une intégration dédiée ! Mais je n’y crois plus trop.

Il faudra beaucoup de temps pour comprendre et maîtriser Node Red si tu débutes. Bon courage !

1 « J'aime »

Salut Yann,
Je redoutais une reponse comme ca :grin:
Et comme tu dis, ce n’est pas demain que je vais fabriquer quelque chose !
Bonne journée.

Bonjour @Yann0128 ! Votre flow m’intéresse beaucoup. J’utilise un Home Assistant à jour sur un Raspberry Pi 4b dédié (HAOS donc) pour mes essais et un Home Assistant en VM sur NAS Synology pour ma domotique « en production ».

Sur mon NAS, je n’ai eu aucun problème à intégrér mes radiateurs Noirot (auxquels j’avais rajouté les modules Muller Intuitiv with Netamo) en utilisant l’intégration qui m’était proposé (Homekit). J’arrive à les commander mais effectivement, j’adorerais récupérer toutes les infos, en l’occurence la partie conso de mes 3 radiateurs de chambre, visibles sur l’appli Intuis.

Pour faire mes essais avec votre flow, j’ai donc installé l’add-on Node-Red sur le HA de mon Raspberry et fait mes premiers flows basiques. J’ai su importer le votre et je crois comprendre ce que je dois mettre à jour de mon côté. J’ai quand même quelques questions pour confirmer.

Je dois mettre mes identifiants Intuis Connect dans le noeud « Set Intuis Creds & Tokens » mais dois-je aussi mettre à jour les règles « ClientId » et « ClientSecret » déjà renseignées ? Si oui, où puis-je trouver mes valeurs ? Sachant qu’en gardant les valeurs de votre flow, j’ai un « NoConnectionError », et que je ne sais pas comment les trouver grâce au flow, même après avoir exécuté « Set first info » et « Start ».

Pour la partie « Pensez à créer les entités à rattacher aux différents capteurs », à savoir renseigner une « Entity config » pour les noeuds « Température Room 0 », « Mode fonctionnement Room 0 », « Consommation Room 0 »…, est-ce possible de me guider côté HA pour les créer : quelles device/state class pour le mode de fonctionnement et les consommations par exemple ? J’ai l’impression que pour le mode de fonctionnement, il faut utiliser la device class « enum » car le flow m’a demandé de rajouter la version 1.1.0 de Node-Red companion en voulant modifier ce noeud et c’est cette classe qui s’est rajoutée après installation. Mais doit-on choisir « measurement » pour la state class ? Et pour les consos, j’ai choisi la device class energy, mais est-ce measurement ou autre (total increasing…) pour la state class ?

Y-a-t-il autre chose à faire pour le bon fonctionnement du flow ? Je vois une valeur en dur pour home_id dans le noeud « set param get config » par exemple.

Et que devrais-je faire ensuite si je veux rajouter ces consos dans mon dashboard Energy (partie Appareils individuels), afin de voir leur contribution au jour le jour, comme d’autres appareils de la maison (déshumidicateur,…). Par exemple, est-ce que je peux espérer voir leur « energy » dans la liste proposée pour l’ajout d’un appareil ?

Merci d’avance pour votre aide, j’ai l’impression que ça répond parfaitement à mon besoin.

Cordialement.

Bonjour,

Je suis content que ce flow puisse être utile à d’autres personnes.
Je vais essayer de répondre à tous les points :

Identifiants
Normalement les ClientID et ClientSecret ne doivent pas être modifiés. De ce que j’ai compris en fouillant le sujet Muller Intuitiv sur jeedom cité plus haut, ils sont identiques pour tous les utilisateurs Intuis Connect. Seuls les username et password sont personnalisés pour chaque utilisateurs. Pour contrôler la première tentative de connexion, il est possible d’activer le noeud débug « contrôle authentification » :
image
Une fois qu’il est activé, cliquer d’abord sur « Set first info » puis ensuite sur « Start ». Si la connexion est OK, le noeud débug retourne ce message :
image
Si la connexion est KO, le noeud retourne un message de ce genre :
image
Le champ « error_description » permet d’identifier la source du problème.
Si la connexion est OK, on peut alors passer à la suite. Attention, il n’est pas nécessaire de cliquer sur le bouton « stop ».

entités
Pour récupérer les différentes infos, il faut donc créer des entités dédiées. Node red permet de le faire directement dans le flow, et c’est ainsi que j’ai procédé de mon côté. Voici comment je m’y suis pris pour « Température room 0 » par exemple :
Dans la vue détail du noeud, au niveau de Entity config, cliquer sur le bouton " + "
image
Vous accédez alors à la page de création d’une entité :


Saisir un nom, renseigner votre serveur Home Assistant, un friendly name (obligatoire), sélectionnez la category « diagnostic », la device class « temperature », l’unit of measurement « °C » et la state class « measurement ». Cliquer enfin sur le bouton « Ajouter » en haut de la page puis sur le bouton « Terminer » qui apparait ensuite.
Voici ce que ça donne chez moi :

La méthode est identique pour l’entité « Consommation room 0 », il faut juste renseigner d’autres propriétés. Voici pour exemple à quoi elle ressemble chez moi :

Après avoir créé les entités dans Node Red et redéployé le flow, il est important de redémarrer Home Assistant pour que les nouvelles entités soient présentes dans l’appli.

set param config
Vous avez raison, il y a bien un paramétrage dédié à votre installation dans les noeuds « set param get config » que j’ai oublié d’anonymiser et d’expliquer dans le flow.

Dans le premier noeud, il n’y a qu’un paramètre : l’id affecté à votre installation Intuis Connect. Pour le connaitre, je vous invite à procéder comme suit :
Activez le noeud debug « Intuis homedata » puis redéployez et cliquez à nouveau sur Get Intuis Data. Vous verrez alors s’afficher dans la fenetre de débuggage (la petite coccinelle à droite de l’écran) toutes les infos de votre installation, dont en premier lieu le « home_id » :


Copiez cette valeur (lorsque vous pointez dessus il y a trois petits boutons qui apparaissent. Celui du milieu permet de copier la valeur) et collez la dans la valeur du premier noeud « set param get config », entre les guillemets qui suivent « home_id » puis enregistrez :
image

Dans le second noeud « Set param get config », il y a bien plus de paramètres, surtout si vous avez plusieurs pièces :
image
Il faut donc renseigner l’id de votre installation (le home_id comme au dessus), les id de vos pièces et l’id de votre pont (bridge).
Pour identifier les différentes room (identifiez quelle est la room 0 si vous en avez plusieurs) et connaitre leur id, il suffit de déployer la section « rooms » du même message debug que juste au dessus :
image
Pour identifier le pont et connaitre son id, il faut déployer la section « modules » du même message debug que plus haut et trouver le module qui a pour nom « IntuitivGateway » :
image

Une fois que tout ceci est fait et fonctionnel, il est possible d’ajouter les entités consommation dans les appareils individuels du dashboard Energy. Voici ce que ça donne chez moi :


Il faut juste garder en tête que vous n’aurez pas la consommation par radiateur mais par pièce, comme c’est le cas dans l’appli Intuis Connect. Donc si vos 3 radiateurs sont dans la même pièce, vous n’aurez qu’une consommation totale.

Voilà, j’espère que tout ça pourra vous débloquer.
Bon courage !

1 « J'aime »

Une dernière précision concernant les consommations :
6 types de mesure différents sont présents dans chaque échange avec le serveur, mais 1 seul est exploité par l’appli Intuis Connect. Lorsque j’ai créé ce flow, la mesure qui m’apportait ma conso était « sum_energy_elec ». C’est donc elle que vous retrouvez dans le noeud « Set param get config » pour la consommation :
image
Pourtant, au cours de l’été je n’ai plus réussi à récupérer la conso via ce type et j’ai du le remplacer par « sum_energy_elec$0 » même si je n’ai pas bien compris pourquoi. Donc si vous avez un souci pour récupérer votre consommation, vous pouvez toujours essayer vous aussi de modifier le type de consommation à rapatrier.
image

1 « J'aime »

C’est super, merci pour vos réponses !

J’arrive désormais à voir les températures, les températures de consigne et le mode de fonctionnement pour chacun de mes radiateurs (un par chambre, donc c’est parfait). Pourriez-vous me confirmer device & state class pour le mode ?

J’imagine qu’il va falloir attendre cette nuit pour voir la conso par radiateur apparaitre dans mon Dashboard, car pour le moment, toutes les valeurs sont à zéro dans la réponse du serveur, mais ça parait normal car ils ne chauffent pas, les températures dans les chambres étant encore bonnes en ce début de soirée.

Je vous tiens au courant, et encore merci, car ça m’a l’air d’être très bien parti ! :slight_smile:

Bonjour,

Voici une copie de l’entité pour le mode de fonctionnement :

homestatut :
D’autres infos sont disponibles pour chaque pièce dans l’appel « Intuis home statut ». Pour voir le message complet, il suffit d’activer le noeud debug « Intuis home statut ».
Si vous souhaitez mettre à profit ces autres infos, il faudra adapter le flow vers de nouvelles entités, en utilisant le « chemin » (le lien au travers l’arborescence) visible dans le noeud debug.

gethomemeasure :
La consommation met effectivement parfois plusieurs heures à apparaitre.
Si vos radiateurs ont fonctionné et que la consommation n’est par remontée même après plusieurs heures, il vous faudra investiguer un peu :
Créer une copie de la partie du flow qui concerne le gethomemeasure (afin de ne pas perdre ce que vous avez mis en place) et modifier le noeud « Set param get config » pour y faire apparaitre tous les types de consommation possible, comme ci-dessous :


Ensuite, créez un noeud debug en sortie du noeud Intuisgethomemeasure qui vous remontera l’intégralité du message de réponse d’intuis (msg.payload). Vous pourrez alors analyser à quel type de mesure est rattachée une consommation et mettre à jour votre gethomemeasure modèle pour appeler ce type plutôt que celui renseigné par défaut.

Merci pour les infos relatives au mode de fonctionnement.

Pendant la période Avril-Septembre, mes radiateurs sont éteints physiquement. Il y a quelques jours, en les rallumant et en rouvrant l’application Intuis, celle-ci m’a proposé de répondre à quelques questions relatives à mon abonnement électrique (est-ce que j’utilisais heures creuses, heures pleines, etc…) et ça m’a rajouté une partie prix (en €) en parallèle de la conso. Je pense que c’est ce qui fait qu’on doive passer de sum_energy_elec à sum_energy_elec$0 dans ce cas-là.

sum_energy_elec = Cumulated energy consumption during the scale time period in case there is no electricity contract

sum_energy_elec$0/1/2 = Cumulated energy consumption during the scale time period in case there is an electricity contract :

  • $0 in case of a basic tariff (always the same tariff )
  • $1 for peak time periods
  • $2 for off-peak time periods

En tout cas, hier, j’ai suivi votre conseil de mettre sum_energy_elec$0 et en attendant d’avoir des valeurs non nulles, j’aimerais comprendre le contenu de payload.body.home.rooms[2].measures[0].value[0][0] qui est utilisé pour récupérer la conso d’une des chambres. Hier, il n’y avait que 4 infos dans cet array value[0], aujourd’hui, il y en a 5 par exemple. Savez-vous à quoi cela correspond (voir capture d’écran ci-dessous) ?

Quant à sum_energy_elec tout court, ça donnait l’impression d’être un tableau donnant la répartition de la température (j’avais des valeurs assez hautes pour les cases 17, 18, 19 et 20, rien pour toutes les autres (il y en avait une quarantaine, allant de 0 à 39 de mémoire).

Encore merci !

Je crois que c’est du à une erreur que j’ai faite dans le flow au moment où je l’avais publié.

Si vous cliquez sur la valeur de « beg_time » plusieurs fois dans votre fenetre de débogage, la date sera affichée dans un format plus parlant. Et vous verrez qu’on appelle de vieilles informations, pas celles du jour.
L’appli fonctionne ainsi : elle renvoie autant de valeurs que de jours ciblés dans la demande et contenant une valeur non nulle. Et chacune est stockée sous un autre numéro dans la section « value ». C’est ensuite assez difficile à automatiser un système de récupération et de valorisation automatique dans une entité.
J’ai donc fait le choix de n’appeler que la valeur du jour et de la réinitialiser chaque jour. Pour cela j’ai créé le groupe de noeuds « Définition début et fin de plage » qui calcule à chaque demande la date du jour à 00h00 et la date du jour à 23h59 pour valoriser les balises de l’appel Gethomemeasure.
Malheureusement je me suis trompé dans le raccord entre les noeuds « fonction » et les noeuds « change ». Si vous effacez les liens actuels et les remplacez comme ci-dessous, vous devriez avoir un résultat plus cohérent :
image
(le noeud debug 21 est inutile)

Pour vous assurer que les bonnes balises sont envoyées au serveur Intuis connect, vous pouvez ajouter un noeud débug à la sortie du noeud « Set param get config » et contrôler dans la fenêtre de débogage les valeurs des balises « date_end » et « date_begin »

Merci pour les explications sur les différents types de consommation qui sont apparus. C’est plus clair pour moi désormais !

1 « J'aime »

Merci beaucoup, j’ai désormais une seule valeur qui devrait être la bonne quand les données remonteront.

Mais est-ce possible de m’expliquer les différentes valeurs de date ? Pourquoi la console de débug me donne les mêmes valeurs de début et de fin (alors que la partie à gauche dans le flow semble avoir des valeurs différentes (petits carrés jaunes)). Est-ce que les valeurs dans la partie debug des parametres vous semblent bonnes ? Le décalage de 2 heures est quelque chose d’assez classique dans mes messages Zigbee, c’est peut-être pareil ici (21h59min59s au lieu de 23h59min59s).

Merci pour le support !

Les deux noeuds « set global.debut » et « set global.fin » définissent des valeurs « globalContext », c’est à dire des valeurs permanentes qui peuvent être rappelés à n’importe quel moment du flow.
Alors que les noeuds debug « Début » et « Fin » quant à eux affichent (une partie ou tout) le message qui circule dans le flow : msg.payload. Celui-ci est instancié par le noeud de départ « Get intuis data » qui injecte la date et l’heure du moment ou vous cliquez dessus.

Il n’y a donc pas moyen d’obtenir la valeur de « set global debut » et « set global fin » via des noeuds debug. Il faut combiner les contrôles avant (valeurs inscrites sous les noeuds fonction) et après (noeud débug en sortie du noeud Set param get config).

Merci !

J’ai remplacé msg.payload des noeuds de debug par msg.debut et msg.fin et je retrouve les mêmes valeurs que dans le noeud de debug des paramètres. Et en cliquant une fois de plus sur les heures, j’ai bien les heures de notre fuseau. Tout à l’air d’avoir une bonne tête.

Wait and see maintenant ! :slight_smile:

Et voilà le travail ! Les données viennent d’être mise à jour sur le serveur et j’ai pu les récupérer sans problème, elles correspondent à ce que je vois sur l’appli Intuis !

J’attends la mise à jour de l’affichage du Dashboard Energie mais je ne vois pas ce qui pourrait poser problème !

Merci beaucoup pour ce flow. Ayant utilisé cet add-on Node-Red pour la première fois hier après-midi, je pense que votre solution mériterait d’être mise plus en avant car c’est finalement très facile à mettre en place ! J’ai vu que vous avez mis à jour votre page Intuis connect sur Node RED - v1.2 2024 par Yann V (flow) - Node-RED et c’est super !

Encore merci beaucoup !

Parfait ! :slight_smile:
Il faut un peu de temps pour prendre connaissance du système et tout personnaliser mais une fois que c’est fait ça fonctionne plutôt bien. Il y a encore moyen d’améliorer le flow (générer des global context pour chaque id afin d’éviter de les saisir à chaque fois, automatiser le lancement avec un bouton depuis HA plutôt que des clics dans Node Red, etc…) mais l’essentiel est là et je suis content que ça vous plaise !

Effectivement, j’ai mis à jour la page Node Red afin de corriger les erreurs et d’intégrer une notice sommaire. Votre retour d’expérience m’a été précieux !

A bientôt.

La preuve en image de ce qui était l’objectif initial : le suivi de la conso dans Home Assistant de mes radiateurs avec module Muller Intuitiv with Netamo.!

Il ne me reste plus qu’à passer tout ça « en production » sur ma VM HAOS du NAS Synology.

Bravo pour ce super travail. Et merci.

1 « J'aime »