HowTo: Node Red / Tasmota - Een "dodemansknop" of hoe de afwezigheid van statusberichten te gebruiken als een gebeurtenis

Ik moet toegeven dat ik ze nog nooit eerder heb gezien, maar er zouden zogenaamde dodemansschakelaars in treinen zitten.

Deze schakelaars met de ietwat macabere naam zijn een volkomen verstandige uitvinding. Deze schakelaars moeten binnen een bepaalde tijd herhaaldelijk door de machinist worden ingedrukt. Als de machinist dit vergeet, bijvoorbeeld omdat hij daar fysiek niet toe in staat is, klinkt er een waarschuwingssignaal en als de machinist de bijbehorende knop nog steeds niet indrukt, remt de trein automatisch.

Dit systeem zorgt ervoor dat een trein nooit zonder machinist komt te zitten en dat de stuurpost altijd bezet is.

Wat zinvol is in het treinverkeer, kan alleen nuttig zijn in een SmartHome-systeem.
Ook daar kunt u deze procedure – in iets gewijzigde vorm – gebruiken.
Deze methode kan bijvoorbeeld worden gebruikt om de radiator in te schakelen wanneer een specifiek apparaat met een vast interval berichten verzendt. Zodra deze berichten niet ontvangen worden, wordt de radiator weer uitgeschakeld.

Zo gebruik ik hem bijvoorbeeld aan mijn bureau: Als het stopcontact voor het bureau is ingeschakeld, reageert de SmartHome op de regelmatig verzonden informatieberichten van een aangesloten Tasmota-apparaat (op het stopcontact) en schakelt automatisch de verwarming in de kamer in. studie. Zodra het bureau weer wordt uitgeschakeld, stoppen de reguliere informatieberichten en schakelt de SmartHome deze uit

In dit voorbeeld wordt uitgelegd hoe u de statusberichten van een Tasmota-apparaat kunt gebruiken. Dit komt omdat ze met een instelbaar interval – standaard vijf minuten – een statusbericht sturen naar het standaardonderwerp “tele/NAME/STATE”. Hierdoor wordt dan een andere Tasmota-lamp ingeschakeld. Als het originele Tasmota-apparaat langer dan vijf minuten – vijf minuten en tien seconden om precies te zijn – geen signaal uitzendt, wordt de Tasmota-lamp weer uitgeschakeld.

Hoe je dit doet, wordt uitgelegd in het volgende artikel.


Veiligheidsinstructies

Ik weet dat de volgende opmerkingen altijd een beetje vervelend zijn en onnodig lijken. Helaas hebben veel mensen die "beter" wisten door onvoorzichtigheid ogen, vingers of andere dingen verloren of zichzelf verwond. Gegevensverlies is in vergelijking bijna te verwaarlozen, maar zelfs dit kan erg vervelend zijn. Neem daarom vijf minuten de tijd om de veiligheidsinstructies te lezen. Omdat zelfs het coolste project geen blessure of andere problemen waard is.
https://www.nerdiy.de/sicherheitshinweise/

Affiliate links / reclame links

De hier vermelde links naar online winkels zijn zogenaamde affiliate-links. Als u op zo'n affiliate-link klikt en via deze link een aankoop doet, ontvangt Nerdiy.de een commissie van de betreffende onlineshop of aanbieder. De prijs verandert voor jou niet. Als u via deze links uw aankopen doet, steunt u Nerdiy.de om in de toekomst andere nuttige projecten aan te kunnen bieden. 🙂 


Eisen

Handige artikelen:
NodeRed moet natuurlijk al geïnstalleerd zijn zodat je deze configuratie kunt gebruiken.
Hoe je een RaspberryPi voorbereidt en vervolgens NodeRed erop installeert, wordt beschreven in de volgende artikelen.

In de volgende artikelen wordt beschreven wat er moet gebeuren om de RaspberryPi voor te bereiden:
RaspberryPi – setup voor nerds!
RaspberryPi – De eerste configuratie!
RaspberryPi – Bedien de RaspberryPi via SSH

NodeRed – NodeRed installeren op de RaspberryPi
NodeRed – Installeer nieuwe knooppunten

Vereist gereedschap:
-Nee-

Benodigd materiaal:

In de volgende lijst vindt u alle onderdelen die u nodig heeft om dit artikel te implementeren.


Log in op de configuratie-interface van NodeRed

Voordat u uw NodeRed-configuratie kunt bewerken, moet u - indien geactiveerd - eerst inloggen op de NodeRed-configuratie-interface.

Weergave van het aanmeldingsvenster. Hier moet u de inloggegevens invoeren die u tijdens de configuratie van de login hebt opgegeven. Informatie hierover vind je in het artikel NodeRed - gebruikersaanmelding instellen.

Knooppuntcode importeren

Om dit voorbeeld uit te proberen, moet u de volgende knooppuntcode in uw NodeRed-installatie importeren.

Weergave van de knooppuntconfiguratie in de NodeRed-editor.
Als u de tijdslimiet wilt instellen nadat uiterlijk een nieuw signaal moet worden ontvangen, kunt u dit doen in het functieknooppunt. Om dit te doen, wijzigt u de waarde die in de afbeelding is gemarkeerd. Dit staat voor de maximale tijd tussen twee signalen in milliseconden. Vijf minuten en tien seconden komen overeen met ((5*60seconden)+10seconden)*1000=310.000 milliseconden.

Knooppuntcode:

[{"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":""}]

Veel plezier met het project

Ik hoop dat alles werkte zoals beschreven. Zo niet, of als je vragen of suggesties hebt, laat het me weten in de commentaren. Ik zal dit dan zo nodig aan het artikel toevoegen.
Ideeën voor nieuwe projecten zijn altijd welkom. 🙂

PS Veel van deze projecten - vooral de hardwareprojecten - kosten veel tijd en geld. Natuurlijk doe ik dit omdat ik het leuk vind, maar als je het cool vindt dat ik de informatie met je deel, dan zou ik blij zijn met een kleine donatie aan het koffiefonds. 🙂

Koop Me a Coffee op ko-fi.com       

2 comments

    1. Hoi,
      Helaas kan ik je niet helpen. Bij mij werkt de code. Als je mij vertelt wat voor jou niet werkt, kan ik proberen je te helpen.
      Hartelijke groeten
      Fabian

Kommentar hinterlassen

Het e-mailadres wordt niet gepubliceerd. Erforderliche Felder sind mit * markiert

Deze site gebruikt Akismet om spam te verminderen. Bekijk hoe je reactie-gegevens worden verwerkt.