Par curiosité, j'ai récemment commandé l'un des thermostats de radiateur DECT pour la FritzBox.
Comme d'habitude avec les produits Fritz, l'installation et la mise en service ont été très simples. Il faut moins de dix minutes pour installer et configurer.
Toutes sortes d'options peuvent ensuite être définies dans l'application et l'interface de la FritzBox. Entre autres choses, des heures fixes auxquelles le radiateur doit être allumé. Malheureusement, cette option n'est pas très pratique pour moi. Ce qui m'a toujours porté chance par le passé, c'est d'allumer le chauffage quand il fait froid dehors (moins de 15°C par exemple) et que la télé du salon est allumée (comme une sorte de détection de présence).
J'aimerais avoir à nouveau ce comportement de commutation "dynamique". Dans le passé, j'ai fait cela avec quelques nœuds dans NodeRed. Dieu merci, il existe également un nœud approprié pour contrôler les thermostats de chauffage Fritz. Il vous suffit ensuite de les configurer en conséquence.
Vous pouvez trouver un exemple de flux pour contrôler un thermostat de radiateur Fritz DECT dans cet article.
Consignes de sécurité
Je sais que les notes suivantes sont toujours un peu ennuyeuses et semblent inutiles. Malheureusement, de nombreuses personnes qui savaient "mieux" ont perdu des yeux, des doigts ou d'autres choses à cause d'une négligence ou se sont blessées. La perte de données est presque négligeable en comparaison, mais même celles-ci peuvent être vraiment ennuyeuses. Par conséquent, veuillez prendre cinq minutes pour lire les consignes de sécurité. Parce que même le projet le plus cool ne vaut pas une blessure ou d'autres problèmes.
https://www.nerdiy.de/sicherheitshinweise/
Liens d'affiliation/publicitaires
Les liens vers des boutiques en ligne répertoriés ici sont des liens dits d'affiliation. Si vous cliquez sur un tel lien d'affiliation et effectuez un achat via ce lien, Nerdiy.de recevra une commission de la boutique en ligne ou du fournisseur concerné. Le prix ne change pas pour vous. Si vous effectuez vos achats via ces liens, vous aidez Nerdiy.de à pouvoir proposer d'autres projets utiles à l'avenir. 🙂
Conditions préalables
Articles utiles :
Pour que vous puissiez installer de nouveaux nœuds, NodeRed doit bien sûr déjà être installé.
Comment préparer un RaspberryPi puis installer NodeRed dessus est décrit dans les articles suivants.
Les trois articles suivants décrivent ce qu'il faut faire pour préparer le RaspberryPi :
RaspberryPi - configuration pour les nerdiys !
RaspberryPi – La première configuration !
RaspberryPi - Contrôlez le RaspberryPi via SSH
NodeRed – Installer NodeRed sur le RaspberryPi
NodeRed - importer et exporter le code du nœud
Outil requis :
-Non-
Matériel requis :
Dans la liste suivante, vous trouverez toutes les pièces dont vous avez besoin pour mettre en œuvre cet article.
Connectez-vous à l'interface de configuration de NodeRed
Avant de pouvoir modifier votre configuration NodeRed, vous devez - si activé - vous connecter d'abord à l'interface de configuration NodeRed.

Installez le nœud FritzBox approprié
Pour que NodeRed puisse communiquer avec les thermostats de radiateur connectés, vous devez installer le nœud "node-red-contrib-fritzapi". Comment votre nœud est installé dans l'article NodeRed – Installer de nouveaux nœuds décrites.
NodeCode pour la commande d'un thermostat de radiateur Fritz DECT
L'état actuel du code de nœud est ma première ébauche d'un contrôle. Je vais certainement continuer à travailler dessus. Par conséquent, n'hésitez pas à demander des mises à jour si ce message n'a pas été mis à jour depuis longtemps.
Dans la version actuelle, vous pouvez afficher la température mesurée sur le radiateur et la température cible ou cible. De plus, la température souhaitée peut bien sûr être réglée.
Enfin, l'état de charge des batteries du thermostat de radiateur est également affiché. Je suppose que cela est affiché en pourcentage. Cependant, étant donné que l'état de charge est actuellement à 100 et qu'il diminue très lentement, je dois encore observer comment cette valeur évolue au fur et à mesure qu'elle diminue.
Ce que j'ai déjà installé mais que je n'ai pas pu déclencher, c'est la fonction boost. Cette fonction peut être déclenchée sur le thermostat lui-même en appuyant sur le bouton menu pendant deux secondes. Cela chauffe complètement le radiateur pendant une courte période de temps. Bien sûr, ce serait pratique si vous pouviez également les déclencher depuis NodeRed pour chauffer une pièce rapidement et automatiquement.
Vous trouverez ci-dessous quelques vues de la configuration et du NodeCode réel.

Comment vous pouvez importer le code de nœud ci-dessous est dans l'article NodeRed - importer et exporter le code du nœud décrites.
Comme toujours, vous pouvez trouver le NodeCode dans le référentiel Nerdiy Git sous le lien suivant :
Amusez-vous avec le projet
J'espère que tout a fonctionné comme décrit. Si ce n'est pas le cas ou si vous avez des questions ou des suggestions, faites-le moi savoir dans les commentaires. Je les ajouterai à l'article si nécessaire.
Les idées de nouveaux projets sont toujours les bienvenues. 🙂
PS Beaucoup de ces projets - en particulier les projets matériels - coûtent beaucoup de temps et d'argent. Bien sûr, je le fais parce que j'aime ça, mais si vous pensez que c'est cool que je partage l'information avec vous, je serais heureux d'un petit don au fonds du café. 🙂
Salut, vous pouvez aborder la fonction boost comme ceci.
[{"id":"1faf9813.1db958","type":"fritzbox-in","z":"c47fd6d2.77c058","device":"fae20a49.af3108","name":""," " service":"urn:dslforum-org:service:DeviceConfig:1","action":"X_AVM-DE_CreateUrlSID","arguments":"{}","x":490,"y":2440," fils " :[["b31af515.e51bd8"]]},{"id":"f8af624a.17eda","type":"inject","z":"c47fd6d2.77c058″,"name":"boost" , "props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":""," once ":false,"onceDelay":"3","topic":"boost","payload":"","payloadType":"date","x":130,"y":2480,"fils " :[["64d9a853.09dca8"]]},{"id":"864f66c3.198ed8","type":"debug","z":"c47fd6d2.77c058","name":""," active ":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x": 1250 ,"y":2660,"wires":[]},{"id":"e82c0e1.b773af","type":"template","z":"c47fd6d2.77c058","name":" gettemp ","field":"payload","fieldType":"msg","format":"handlebars","syntax":"moustache","template":"/webservices/homeautoswitch.lua?ain={ { ain}}&switchcmd=gettemperature&sid={{pa yload.NewX_AVM-DE_UrlSID}}","output":"str","x":800,"y":2580,"wires":[["4abfff85.997b8"]]},{"id":" 4abfff85.997b8″,"type":"demande http","z":"c47fd6d2.77c058″,"name":"","method":"GET","ret":"txt","paytoqs" :"ignore","url":"https://fritz.box:443{{{payload}}}","tls":"402169f3.8da818″,"persist":false,"proxy":"" ,"authType":"","x":1050,"y":2660,"wires":[["864f66c3.198ed8"]]},{"id":"75765e63.210fb","type": "change","z":"c47fd6d2.77c058″,"name":"set ain","rules":[{"t":"set","p":"ain","pt":" msg","to":"099950642052″,"tot":"str"}],"action":"","property":"","from":"","to":""," reg":false,"x":850,"y":2440,"wires":[["4ca0ace7.858544"]]},{"id":"4ca0ace7.858544","type":"fonction" ,"z":"c47fd6d2.77c058","name":"now() + 5min","func":"//node.warn(Date.now());\nmsg.endtime = rounding(Date. now() / 1000 + 60 * 5, 0)\nreturn msg;\n\nfunction rounding(num, decimalPlaces = 0) {\n num = Math.round(num + \"e\" + decimalPlaces);\n return Number(num + \"e\" + -decimalPlaces);\n}","outputs":1,"noerr":0,"initialize":"","" finalize":"","x":450,"y":2680,"wires":[["2e6db71e.28fe78"]]},{"id":"b31af515.e51bd8","type":"change ","z":"c47fd6d2.77c058","name":"clean SID","rules":[{"t":"change","p":"payload.NewX_AVM-DE_UrlSID","pt" :"msg","from":"sid="","fromt":"str","to":"","tot":"str"}],"action":"","propriété" : "","de":"","vers":"","reg":false,"x":700,"y":2440,"wires":[["75765e63.210fb"]]} , {"id":"34097198.32a5ae","type":"template","z":"c47fd6d2.77c058","name":"Booster un","field":"payload","fieldType": " msg","format":"handlebars","syntax":"moustache","template":"/webservices/homeautoswitch.lua?ain={{ain}}&switchcmd=sethkrboost&sid={{payload.NewX_AVM-DE_UrlSID } }&endtimestamp={{endtime}}","output":"str","x":800,"y":2620,"wires":[["4abfff85.997b8"]]},{"id" : "a0bfa44f.b806e8″,"type":"template","z":"c47fd6d2.77c058″,"name":"Boost désactivé","field":"payload","fieldType":"msg", " format":"handlebars","syntax":"moustache","template":"/webservices/homeautoswitch.lua?ain={{ain}}&switchcmd=sethkrboost&sid={{payload.NewX_AVM-DE_UrlSID}}&end horodatage=0″,"output":"str","x":800,"y":2660,"wires":[["4abfff85.997b8"]]},{"id":"2e6db71e.28fe78" ,"type":"switch","z":"c47fd6d2.77c058″,"name":"","property":"topic","propertyType":"msg","rules":[{"t ":"eq","v":"temp","vt":"str"},{"t":"eq","v":"boost","vt":"str"},{ "t":"eq","v":"noboost","vt":"str"},{"t":"eq","v":"window","vt":"str"} ,{"t":"eq","v":"nowindow","vt":"str"}],"checkall":"true","repair":false,"outputs":5,"x ":610,"y":2680,"fils":[["e82c0e1.b773af"],["34097198.32a5ae"],["a0bfa44f.b806e8"],["7d4888cf.55f988"],["4c9b3c7b. 984124"]]},{"id":"27537213.66face","type":"inject","z":"c47fd6d2.77c058","name":"noboost","props":[{"p ":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay": "3″,"topic":"noboost","payload":"","payloadType":"date","x":140,"y":2520,"wires":[["e0f67d6.2def88" ]]},{"id":"56ba18bf.b2f828","type":"inject","z":"c47fd6d2.77c058","name":"get temp","props":[{"p ":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onc eDelay":"3","topic":"temp","payload":"","payloadType":"date","x":140,"y":2440,"wires":[["7e0e1632 .c31dd8"]]},{"id":"4c9b3c7b.984124″,"type":"template","z":"c47fd6d2.77c058","name":"fenêtre vers","champ":" payload","fieldType":"msg","format":"handlebars","syntax":"moustache","template":"/webservices/homeautoswitch.lua?ain={{ain}}&switchcmd=sethkrwindowopen&sid= {{payload.NewX_AVM-DE_UrlSID}}&endtimestamp=0″,"output":"str","x":810,"y":2740,"wires":[["4abfff85.997b8"]]},{ "id":"7d4888cf.55f988","type":"template","z":"c47fd6d2.77c058","name":"fenêtre ouverte","field":"payload","fieldType":" msg","format":"handlebars","syntax":"moustache","template":"/webservices/homeautoswitch.lua?ain={{ain}}&switchcmd=sethkrwindowopen&sid={{payload.NewX_AVM-DE_UrlSID} }&endtimestamp={{endtime}}","output":"str","x":810,"y":2700,"wires":[["4abfff85.997b8"]]},{"id": "5560a2ca.10bc6c","type":"inject","z":"c47fd6d2.77c058″,"name":"window","props":[{"p":"charge utile"},{"p ":"topic","vt":"str"}],"repeat":"","crontab":"","une fois":fa lse,"onceDelay":"3","topic":"window","payload":"","payloadType":"date","x":130,"y":2560,"wires":[ ["cda59701.f28878"]]},{"id":"18250461.024fbc","type":"inject","z":"c47fd6d2.77c058″,"name":"fenêtre vers","accessoires" :[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","une fois":false ,"onceDelay":"3″,"topic":"nowindow","payload":"","payloadType":"date","x":140,"y":2600,"wires":[[ "804b42ac.172b3"]]},{"id":"cda59701.f28878","type":"ui_button","z":"c47fd6d2.77c058","name":"","group":" 5a2c927c.ba1edc","order":5,"width":0,"height":0,"passthru":true,"label":"fenêtre ouverte","tooltip":"","color":" ","bgcolor":"","icon":"","payload":"","payloadType":"date","topic":"window","topicType":"str","x" :320,"y":2560,"wires":[["1faf9813.1db958"]]},{"id":"804b42ac.172b3","type":"ui_button","z":"c47fd6d2. 77c058″,"name":"","group":"5a2c927c.ba1edc","order":6,"width":0,"height":0,"passthru":true,"label":"fenêtre fermé","tooltip":"","color":"","bgcolor":"","icon":"","payload":"","payloadType":"date","topic": "nowindow","topicType":"str","x":320,"y":2600,"wires":[["1faf9813.1db958"]]},{"id":"64d9a853.09dca8″, "type":"ui_button","z":"c47fd6d2.77c058″,"name":"","group":"5a2c927c.ba1edc","order":2,"width":0,"height" :0,"passthru":true,"label":"boost 5m","tooltip":"","color":"","bgcolor":"","icon":"","payload": "","payloadType":"date","topic":"boost","topicType":"str","x":300,"y":2480,"wires":[["1faf9813.1db958" ]]},{"id":"e0f67d6.2def88","type":"ui_button","z":"c47fd6d2.77c058","name":"","group":"5a2c927c.ba1edc", "order":3,"width":0,"height":0,"passthru":true,"label":"boost off","tooltip":"","color":"","bgcolor" :"","icon":"","payload":"","payloadType":"date","topic":"noboost","topicType":"str","x":300,"y ":2520,"wires":[["1faf9813.1db958"]]},{"id":"7e0e1632.c31dd8","type":"ui_button","z":"c47fd6d2.77c058","nom ":"","group":"5a2c927c.ba1edc","order":2,"width":0,"height":0,"passthru":true,"label":"get temp","info-bulle ":"","color":"","bgcolor":"","icon":"","payload":"","payloadType":"date","topic":"temp ","topicType":"str","x":300,"y":2440,"wires":[["1faf9813.1db958"]]},{"id":"fae20a49.af3108","type ":"fritzbox-config","name":"fritz","host":"fritz.box","port":"49443″,"ssl":true,"user":"user"},{ "id":"402169f3.8da818","type":"tls-config","nom":"","cert":"","key":"","ca":"","nomcert ":"","keyname":"","caname":"","servername":"","verifyservercert":false},{"id":"5a2c927c.ba1edc","type":"ui_group ","name":"test","tab":"42b914b0.66a0ac","order":null,"disp":true,"width":"6″,"collapse":false},{"id ":"42b914b0.66a0ac","type":"ui_tab","name":"Main","icon":"tableau de bord","order":1,"disabled":false,"hidden":false} ]
Bonjour Dietrich,
Merci pour l'indice. 🙂 Je vais ajouter ça à l'article.
Cordialement
Fabien
Bonjour, bel exemple ! J'ai pu faire beaucoup de choses avec mes appareils Fritz. Mais je n'arrive pas à faire fonctionner la lampe Fritz Dect 500. Peut lire l'état, mais ni basculer ni changer de couleur. J'ai déjà tout cherché mais je n'ai trouvé aucun exemple de FritzDect500. Avez-vous un exemple de flux tel que l'utilisation du nœud Simple on/off ?
Bonjour, Mathias
Salut Mathias,
Malheureusement, je n'ai pas encore testé le DECT500. Mais je viens de le commander et je vais y jeter un œil. En fait, cela devrait également être possible. 🙂
Cordialement
Fabien
Bonjour Mathias,
J'ai également créé un exemple de flux pour la lampe FRITZ!DECT 500 Smart Home. Vous pouvez trouver toutes les informations ici : https://nerdiy.de/howto-nodered-fritzdect-500-rgb-lampe-mithilfe-von-nodered-und-fritzbox-steuern/
J'espère que tout fonctionne et j'attends vos commentaires avec impatience. 🙂
Cordialement
Fabien
Bonjour Fab,
Merci pour vos excellents exemples.
J'ai essayé votre exemple pour la vanne de radiateur Fritz avec moi. Cela fonctionne jusqu'à présent que je peux voir les températures réelles et cibles sur le tableau de bord. Ce n'est que lorsque je sélectionne une nouvelle température cible dans le tableau de bord que l'affichage revient très rapidement à la température d'origine définie dans la Fritzbox. L'écriture de la température de consigne ne semble pas fonctionner.
Avez-vous un conseil pour moi? Malheureusement je suis encore débutant avec Nodered..
Merci et meilleures salutations
Jaochim
Salut Joachim,
hmm, pour être honnête, je ne peux pas l'expliquer. Je viens de l'essayer sur le mien et ça a l'air de fonctionner.
Pouvez-vous estimer approximativement après combien de temps la valeur de consigne sera réinitialisée ? Cela pourrait-il correspondre à environ 5 secondes ?
Cordialement
Fabien
Bonjour Fabien
Je suis très enthousiasmé par vos projets et vos explications.....
Malheureusement, je suis un débutant absolu dans ce domaine et je cherche un moyen d'obtenir l'humidité et les 4 signaux de bouton en Node Red du Fritz Dect 440.
Cordon fabricant
Salut cordon,
malheureusement, je n'ai pas le DECT 440 disponible, donc je n'ai pas encore pu essayer de créer le code pour cela. Dès que je mettrai la main dessus, je le posterai ici également. 🙂
Cordialement
Fabien
Salut,
J'ai aussi des problèmes avec l'utilisation des "nœuds Fritz" et je peux peut-être obtenir un conseil ici. L'aide z. Par exemple, le nœud "thermostat" est en soi assez pauvre. Alors elle va par ex. Par exemple, pas sur ce qui ressemble à 20 options dans le champ déroulant d'action. On ne sait donc absolument pas comment, par exemple, la détection de fenêtre ouverte est commandée. Qu'est-ce que ce nœud attend à l'entrée ? Dans ce cas particulier de détection de fenêtre un "true"/ "false", "TRUE"/ "FALSE", "on"/ "off", "ON"/ "OFF" ou même simplement "1"/ "0" ? Dans le cas de la détection de fenêtre, la documentation sonne comme si vous pouviez même spécifier le délai d'attente comme deuxième paramètre. Le cas échéant. Comment ça marche?
J'aurais encore plus de questions sur le réglage de la température lui-même, mais comme ce réglage via FritzBox et DECT est évidemment extrêmement lent, j'ai tendance à automatiser uniquement la détection de fenêtre pour mes thermostats Fritz existants (via un contact de fenêtre externe Zigbee).
Je n'ai pas nécessairement besoin d'un long roman ici sur le fonctionnement de quelque chose. Un lien vers une documentation de travail actuelle serait utile. Soit je suis trop stupide pour le trouver, soit il n'existe tout simplement pas.
Cordialement, Franck
Ok, ça ne m'a pas donné la paix.
Si vous choisissez l'action "Définir le mode "Fenêtre ouverte" pour le nombre de minutes donné", vous devez donner un nombre pour le délai d'attente du thermostat en tant que charge utile. Par exemple, "5" pour 5 minutes.
Puisse-t-il aider ceux qui ne comprennent pas tout de suite la description du nœud et trouver ensuite ce qu'ils recherchent ici. 🙂
Cordialement, Franck
Salut Franck,
merci pour l'indice. Je connais le sentiment (qu'il n'y a pas de repos). 😀
Et je trouve aussi le transfert des réglages via la FritzBox un peu lent. Une des raisons pour lesquelles je suis passé à Zigbee. Mais je peux aussi bien imaginer revenir à la FritzBox. Je suis curieux de connaître leur implémentation Matter. 🙂
Merci encore et meilleures salutations
Fabien
Bonjour,
Une petite question sur la « fenêtre ouverte » : la nouvelle température est-elle alors immédiatement transférée au thermostat ou est-elle retardée ? Jusqu'à présent, les valeurs ont toujours été transmises au thermostat avec un retard.
Cordialement
le petit
Salut Matthieu,
Malheureusement, je pense qu'il y a un léger retard pour des raisons techniques. Autant que je sache, la FritzBox ne peut envoyer des données via le système DECT que pendant un certain laps de temps par tranche horaire. Selon la quantité de trafic de données en cours, les messages peuvent alors arriver avec un léger retard.
(Mais c'est aussi un peu de semi-connaissance dangereuse. :/) Je devrais relire là-dedans.
Ces retards (et les prix des actionneurs Fritz) ont également été l'une des raisons pour lesquelles je suis passé au système Zigbee pour les autres thermostats. 🙂
Cordialement
Fabien
Bonjour Fabien,
Sur quels thermostats avec Zigbee êtes-vous passé ?
Vous les contrôlez alors aussi via NodeRed ?
Les prix que j'ai trouvés pour cela ne sont actuellement pas abordables 🙁
Je serais très intéressé par cela et le convertirais progressivement si le prix était correct !
Cordialement
Mathias
Salut Mathias,
Oui, c'est vrai, je l'ai remarqué récemment aussi. J'étais déjà passé à ces thermostats au début de l'année dernière : https://www.zigbee2mqtt.io/devices/SPZB0001.html#eurotronic-spzb0001
A cette époque, ils coûtaient environ 20 euros par thermostat. Grâce à Zigbee2mqtt, les thermostats peuvent ensuite être configurés et contrôlés via MQTT. Les nouvelles valeurs sont alors adoptées directement. J'aime vraiment tout le système Zigbee maintenant parce que ça marche. Je n'ai pas non plus de problèmes de portée, car les participants Zigbee alimentés en permanence agissent automatiquement comme des répéteurs.
Cordialement
Fabien
Le contrôle fonctionne jusqu'à présent. Les températures ne sont prises en charge qu'avec un retard dû à Fritz, mais cela était connu et c'est également le cas lors du contrôle via l'interface Fritz.
Malheureusement, la fonction boost se heurte à une erreur pour moi. Une idée de ce que ça pourrait être ?
Sortie à Boost :
{"error":null, "response":{"statusCode":500, "body" :"", "headers":{"cache-control" : "no-cache", "connection" : "close", "content-length" : "0″, "content-type" : "text/plain ; charset=utf-8″, "expires" :"-1″, "pragma" :"no-cache", "x-frame-options" : "SAMEORIGIN", "x-xss-protection" : "1 ; mode=block", "x-content-type-options" : "nosniff", "content-security-policy" : "default-src 'none' ; connect-src 'self' ; font-src 'self' ; frame-src https://service.avm.de https://fritzhelp.avm.de/help/ https://help.avm.de https://www.avm.de https://avm.de https://assets.avm.de https://clickonce.avm.de http://clickonce.avm.de http://download.avm.de https://download.avm.de 'self' ; img-src 'self https://tv.avm.de https://help.avm.de/images/ http://help.avm.de/images/ data: ; script-src 'self' 'unsafe-inline' ; style-src 'self' 'unsafe-inline' ; frame-ancestors 'self' ; media-src 'self'"}, "request":{"uri":{"protocol" : "http :", "slashes":true, "auth":null, "host" : "192.168.178.1″,“port“:80,“hostname“:“192.168.178.1″,“hash“:null,“search“:“?0=0&si…
Bonjour,
quelqu'un sait-il ici pourquoi node-red-contrib-fritzapi ne peut pas s'adresser au thermostat dect 302 ?
Un message d'erreur apparaît toujours : unknown device : xxxxxxxxxxxxx
{"Valid devices":{"Thermostat cuisine" : "xxxxxxxxxxx"}}
Salutations à Friedrich