HowTo: Node Red – Warnung bei zu hoher Luftfeuchtigkeit

Gerade in Räumen in denen viel mit Wasser oder Wasserdampf “gearbeitet” wird sollte man immer ausreichend lüften um Schäden und Gesundheitsgefahren durch entstehenden Schimmel zu vermeiden.

Wenn Ihr zu den Menschen zählt die sowas gerne mal vergessen und zufällig auch noch einen Luftfeuchtigkeitssensor in den betreffenden Räumen habt, der zufällig auch noch an Eure NodeRed-Installation angeschlossen ist, so könnt Ihr Euch über eine zu hohe Luftfeuchtigkeit auch automatisch erinnern lassen.

Wie dies geht, ist im folgenden Artikel beschrieben.


Sicherheitshinweise

Ich weiß die folgenden Hinweise sind immer irgendwie lästig und wirken unnötig. Aber leider haben schon viele Menschen die es "besser" wussten aus Leichtsinnigkeit Augen, Finger oder anderes verloren bzw. sich verletzt. Im Vergleich dazu ist ein Datenverlust fast nicht der Rede Wert, aber auch diese können echt ärgerlich sein. Deswegen nehmt Euch bitte fünf Minuten Zeit um die Sicherheitshinweise zu lesen. Denn auch das coolste Projekt ist keine Verletzung oder anderen Ärger wert.
https://www.nerdiy.de/sicherheitshinweise/

Affiliatelinks/Werbelinks

Die hier in aufgeführten Links zu Online-Shops sind sogenannte Affiliate-Links. Wenn Du auf so einen Affiliate-Link klickst und über diesen Link einkaufst, bekommt Nerdiy.de von dem betreffenden Online-Shop oder Anbieter eine Provision. Für Dich verändert sich der Preis nicht. Falls Du Deine Einkäufe über diese Links tätigst unterstützt Du Nerdiy.de dabei auch in Zukunft weitere nützliche Projekte anbieten zu können. 🙂 


Voraussetzungen

Hilfreiche Artikel:
Damit Ihr diese Konfiguration übernehmen  könnt sollte NodeRed natürlich schon installiert sein.
Wie ihr einen RaspberryPi dazu vorbereitet und dann NodeRed darauf installiert ist in den folgenden Artikeln beschrieben.

Die folgenden Artikel beschreiben was zu tun ist um den RaspberryPi soweit vorzubereiten:
RaspberryPi – Einrichten für Nerdiys!
RaspberryPi – Die Erste Konfiguration!
RaspberryPi – Den RaspberryPi über SSH steuern

NodeRed – Installation von NodeRed auf dem RaspberryPi
NodeRed – Neue Nodes installieren

Benötigtes Material:
-keins-

Benötigtes Material:

In der folgenden Liste findet Ihr alle Teile die Ihr zur Umsetzung dieses Artikels benötigt.


In die NodeRed Konfigurationsoberfläche einloggen

Bevor Ihr eure NodeRed Konfiguration bearbeiten könnt müsst Ihr Euch - falls aktiviert - zunächst in die NodeRed Konfigurationsoberfläche einloggen.

Ansicht des Login Dialogs. Hier müsst Ihr die Login Daten eingeben die Ihr während der Konfiguration des Logins angegeben habt. Infos dazu findet Ihr im Artikel NodeRed - Benutzerlogin einrichten.

Benötige Nodes installieren

Für dieses Beispiel werden neben den Standard-Nodes außerdem die Nodes “node-red-node-pushbullet” und “node-red-dashboard” genutzt. Damit dieses beispiel bei Euch funktioniert, müsst Ihr diese Nodes installieren. Wie Ihr Nodes installiert ist im Artikel NodeRed – Neue Nodes installieren beschrieben.


Node-Code importieren

Die Kernfunktion dieses Beispiels besteht darin aus den letzten Luftfeuchtigkeitswerten einen gleitenden Mittelwert zu bilden und dann zu prüfen, ob dieser einen bestimmten Wert überschreitet. Gleitender Mittelwert bedeutet, in diesem Zusammenhang, dass immer aus den letzten (zum Beispiel) zehn Messwerten der Mittelwert bestimmt wird. Dies hat den Vorteil, dass einmalige Spitzen der Messwerte keinen Alarm bewirken. Erst eine dauerhafte Steigerung der Luftfeuchtigkeit führt dazu, dass der Wert des gleitenden Mittelwerts über den eingestellten Grenzwert steigt und somit einen Alarm auslöst.

Um dieses Beispiel in Eure NodeRed-Installation zu importieren, müsst Ihr den unten stehenden Node-Code importieren. Tipps dazu findet Ihr in dem Artikel NodeRed – Node-Code importieren und exportieren.

Denkt daran, nach dem Importieren die Dashboard-Nodes auf Eurem Dashboard zu positionieren. Tipps dazu findet Ihr in dem Artikel NodeRed – Mit Dashboard-Nodes eine Benutzeroberfläche erstellen.

Außerdem müsst Ihr ggf. einen API-Key für die Pushbullet-Node hinterlegen. Dies ist auch im Artikel Pushbullet API-Key registrieren beschrieben.

Ansicht der Node-Konfiguration im NodeRed-Editor.
Ansicht der Grenzwert-Einstellungs-Möglichkeit im Dashboard.
[{"id":"f73f8a41.7d9278","type":"mqtt in","z":"4131a41e.b9233c","name":"","topic":"bathroomTemp","qos":"2","broker":"ddb40b41.78ae38","x":780,"y":1340,"wires":[["93e1108d.ad9c7"]]},{"id":"93e1108d.ad9c7","type":"smooth","z":"4131a41e.b9233c","name":"","property":"payload","action":"mean","count":"10","round":"","mult":"single","x":960,"y":1340,"wires":[["d7851151.0479b","8465689.bf4d298"]]},{"id":"8465689.bf4d298","type":"debug","z":"4131a41e.b9233c","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":1150,"y":1280,"wires":[]},{"id":"589714bd.e93cec","type":"pushbullet","z":"4131a41e.b9233c","config":"1788f4a5.0c63bb","pushtype":"note","title":"SmartHome","chan":"","name":"SmartHome","x":1470,"y":1340,"wires":[]},{"id":"d7851151.0479b","type":"function","z":"4131a41e.b9233c","name":"check","func":"msg.payload=msg.payload>context.global.maxHumiBath;
return msg;
","outputs":1,"noerr":0,"x":1110,"y":1340,"wires":[["6a9e9862.05e698"]]},{"id":"290bb7a0.63d8c8","type":"ui_numeric","z":"4131a41e.b9233c","name":"","label":"Max.Humidity Bathroom","group":"6938a6b5.5f1de8","order":0,"width":0,"height":0,"passthru":true,"topic":"","format":"{{value}}","min":"30","max":"100","step":1,"x":1210,"y":1380,"wires":[["7c2998ea.ef3658"]]},{"id":"dd457329.9d893","type":"inject","z":"4131a41e.b9233c","name":"load StandardValue","topic":"","payload":"70","payloadType":"num","repeat":"","crontab":"","once":true,"onceDelay":0.1,"x":960,"y":1380,"wires":[["290bb7a0.63d8c8"]]},{"id":"7c2998ea.ef3658","type":"function","z":"4131a41e.b9233c","name":"save maxHumiBath","func":"context.global.maxHumiBath=msg.payload;
return msg;","outputs":1,"noerr":0,"x":1430,"y":1380,"wires":[[]]},{"id":"6a9e9862.05e698","type":"trigger","z":"4131a41e.b9233c","op1":"Humidity in bathroom is high.","op2":"0","op1type":"str","op2type":"str","duration":"0","extend":false,"units":"ms","reset":"false","bytopic":"all","name":"","x":1280,"y":1340,"wires":[["589714bd.e93cec","ee53da08.077d68"]]},{"id":"ee53da08.077d68","type":"ui_toast","z":"4131a41e.b9233c","position":"dialog","displayTime":"25","highlight":"","outputs":1,"ok":"OK","cancel":"","topic":"Information","name":"Information","x":1470,"y":1300,"wires":[[]]},{"id":"ddb40b41.78ae38","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":""},{"id":"1788f4a5.0c63bb","type":"pushbullet-config","z":"","name":"FabsPushbullet"},{"id":"6938a6b5.5f1de8","type":"ui_group","z":"","name":"Werte","tab":"fddf98ef.773da8","disp":true,"width":"6","collapse":false},{"id":"fddf98ef.773da8","type":"ui_tab","z":"","name":"Einstellungen","icon":"dashboard"}]

Werte anpassen

In dieser Konfiguration bestimmen zwei Werte die Funktion.
Zum einen ist da der Grenzwert, der bestimmt ab welchem Wert der Luftfeuchtigkeit ein Alarm ausgegeben wird. Dieser lässt sich über die Dashboard-Node direkt einstellen.

Zum anderen kann man durch erhöhen oder verringern der Anzahl der Werte aus denen der gleitende Mittelwert bestimmt wird, steuern wie “träge” – aber dafür genauer – der Alarm reagiert. Bezieht sich der gleitende Mittelwert auf sehr wenige Werte, werden Änderungen (und auch Überschreitungen des Grenzwerts) schneller erkannt. Leider können somit auch sehr kurzfristige Messwertänderungen wie Messfehler zu einer falschen Auslösung des Alarms führen.

Experimentiert mit den Werten am besten ein wenig rum und guckt was für Euren Fall am besten ist. In diesem Beispiel liegt der Grenzwert bei 70% Luftfeuchtigkeit bei zehn Werten auf denen der gleitende Mittelwert beruht.

In der Konfiguration der Smooth-Node könnt Ihr beim Feld “over the most recent…values” einstellen, über wie viele Werte der gleitende Mittelwert gebildet wird.

Viel Spaß mit dem Projekt

Ich hoffe bei euch hat alles wie beschrieben funktioniert. Falls nicht oder ihr Fragen oder Anregungen habt lasst es mich in den Kommentaren bitte wissen. Ich trage dies dann ggf. in den Artikel nach.
Auch Ideen für neue Projekte sind immer gerne willkommen. 🙂

P.S. Viele dieser Projekte - besonders die Hardwareprojekte - kosten viel Zeit und Geld. Natürlich mache ich das weil ich Spaß daran habe, aber wenn Du es cool findest, dass ich die Infos dazu mit Euch teile, würde ich mich über eine kleine Spende an die Kaffeekasse freuen. 🙂

Buy Me a Coffee at ko-fi.com       

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.