HowTo : Node Red / Tasmota - Un "interrupteur d'homme mort" ou comment utiliser l'absence de messages d'état comme un événement

Je dois admettre que je ne les ai jamais vus, mais ils disent qu'il y a des soi-disant interrupteurs d'homme mort dans les trains.

Ces interrupteurs au nom un peu macabre sont une invention assez astucieuse. Ces interrupteurs doivent être enfoncés à plusieurs reprises par le conducteur du train dans un certain laps de temps. Si le conducteur du train oublie de le faire, par exemple parce qu'il est physiquement incapable de le faire, un signal d'avertissement retentit d'abord et si le conducteur du train n'appuie toujours pas sur le bouton approprié, le train freine automatiquement.

Ce système garantit qu'un train n'est jamais sans conducteur et que le poste de contrôle est toujours occupé.

Ce qui a du sens dans le trafic ferroviaire ne peut être utile que dans un système SmartHome.
Vous pouvez également utiliser cette procédure là-bas - sous une forme légèrement modifiée.
Par exemple, cette méthode pourrait activer le radiateur chaque fois qu'un appareil spécifique envoie des messages à un intervalle fixe. Dès qu'il n'y a plus de tels messages, le radiateur s'éteint à nouveau.

Voici comment je l'utilise à mon bureau, par exemple : si la prise du bureau est allumée, le SmartHome réagit aux messages d'information régulièrement envoyés par un appareil Tasmota connecté (à la prise) et allume automatiquement le chauffage dans le étude. Dès que le bureau est à nouveau éteint, les messages d'information réguliers s'arrêtent également et le SmartHome les rallume

Cet exemple explique comment utiliser les messages d'état d'un appareil Tasmota. En effet, ils envoient un message d'état au sujet standard "tele/NAME/STATE" à un intervalle réglable - cinq minutes par défaut. Cela allumera alors une autre lumière Tasmota. Si l'appareil Tasmota d'origine n'envoie pas de signal pendant plus de cinq minutes - cinq minutes et dix secondes pour être précis - la lumière Tasmota s'éteindra à nouveau.

La procédure à suivre est expliquée dans l'article suivant.


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 accepter cette configuration, NodeRed doit bien entendu déjà être installé.
Comment préparer un RaspberryPi puis installer NodeRed dessus est décrit dans les articles suivants.

Les articles suivants décrivent ce qui doit être fait 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 – Installer de nouveaux nœuds

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.

Vue de la boîte de dialogue de connexion. Ici, vous devez entrer les données de connexion que vous avez spécifiées lors de la configuration de la connexion. Vous trouverez des informations à ce sujet dans l'article NodeRed - configurer la connexion de l'utilisateur.

Importer le code du nœud

Pour que vous puissiez essayer cet exemple, vous devez importer le code de nœud suivant dans votre installation NodeRed.

Vue de la configuration du nœud dans l'éditeur NodeRed.
Si vous souhaitez définir le délai après lequel un nouveau signal doit être reçu au plus tard, vous pouvez le faire dans le nœud de fonction. Pour ce faire, modifiez la valeur marquée dans l'image. Cela représente le temps maximum entre deux signaux en millisecondes. Donc cinq minutes et huit secondes égalent ((5*60secondes)+10secondes)*1000=310000 millisecondes.

Code nœud :

[{"id":"e2fc26ae.3ff008","type":"mqtt in","z":"4131a41e.b9233c","name":"","topic":"tele/MiniLichterkette/STATE","qos":"2","broker":"3c2a29eb.148006","x":380,"y":1380,"wires":[["a5563ed4.23a7e"]]},{"id":"60f3b2d3.5c1c5c","type":"inject","z":"4131a41e.b9233c","name":"check time","topic":"","payload":"check","payloadType":"str","repeat":"1","crontab":"","once":true,"onceDelay":0.1,"x":430,"y":1420,"wires":[["a5563ed4.23a7e"]]},{"id":"a5563ed4.23a7e","type":"function","z":"4131a41e.b9233c","name":"check","func":"if (msg.payload=="check")
{
    if ((Date.now()-context.flow.signalTimestamp)>310000)
    {
        context.flow.signalTimestamp=0;
        msg.payload=false;
    } else
    {
        msg.payload=true;
    }
} else
{
    context.flow.signalTimestamp=Date.now();
    msg.payload=true;
}
return msg;","outputs":1,"noerr":0,"x":600,"y":1400,"wires":[["3ab4ab0f.883254","d2419bcd.1368d8"]]},{"id":"3ab4ab0f.883254","type":"trigger","z":"4131a41e.b9233c","op1":"ON","op2":"0","op1type":"str","op2type":"str","duration":"0","extend":false,"units":"ms","reset":"false","bytopic":"all","name":"","x":800,"y":1380,"wires":[["4d720e6.97ee2f","b05ef19f.d9d03"]]},{"id":"d2419bcd.1368d8","type":"trigger","z":"4131a41e.b9233c","op1":"OFF","op2":"0","op1type":"str","op2type":"str","duration":"0","extend":false,"units":"ms","reset":"true","bytopic":"all","name":"","x":800,"y":1420,"wires":[["4d720e6.97ee2f","b05ef19f.d9d03"]]},{"id":"4d720e6.97ee2f","type":"debug","z":"4131a41e.b9233c","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","x":1010,"y":1460,"wires":[]},{"id":"b05ef19f.d9d03","type":"mqtt out","z":"4131a41e.b9233c","name":"","topic":"cmnd/GluehbirnenLampe40W/POWER","qos":"","retain":"","broker":"3c2a29eb.148006","x":1120,"y":1420,"wires":[]},{"id":"3c2a29eb.148006","type":"mqtt-broker","z":"","name":"Server-Mqtt","broker":"server.fritz.box","port":"1883","clientid":"","usetls":false,"compatmode":true,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closeQos":"0","closePayload":"","willTopic":"","willQos":"0","willPayload":""}]

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é. 🙂

Achetez-moi un café sur ko-fi.com       

2 commentaires

    1. Salut,
      Malheureusement, je ne peux pas vous aider. Le code fonctionne pour moi. Si vous me dites ce qui ne fonctionne pas pour vous, je peux essayer de vous aider.
      Cordialement
      Fabien

Kommentar hinterlassen

Votre adresse e-mail ne sera pas publiée. Erforderliche Felder sind mit * markiert

This site uses Akismet to reduce spam. Learn how your comment data is processed.