Seite 1 von 1

Abfrage ob DHT22 aktuelle Daten sendet

Verfasst: 28. Mai 2019 11:08
von Stefan Otten
Hallo zusammen,

ich bekomme irgendwie keine Idee wie ich folgendes Problem lösen kann.

Ich habe auf Raspi 1 Openhab laufen.
Auf Raspi 2 (Später mal für eine Terrarium Steuerung gedacht) einen DHT22 Sensor angeschlossen.
Die Werte des Sensors werden via MQTT von Raspi 2 an Raspi 1 gesendet und "verarbeitet".
So weit so gut, funktioniert auch.

Nun weiß ich aus diversen Berichten und auch aus eigener Erfahrung, das der DHT22 dazu neigt ab und an "auszusteigen" und keine Werte mehr erfasst.
Genau dieses Problem möchte ich abfangen und mir z.B. eine Meldung via Telegram senden lassen.

Das Problem dabei, wenn der Sensor aussteigt, dann bleibt der letzte Wert erhalten. Also die Temperatur bleibt z.B. bei 22,8 Grad stehen und geht nicht zurück auf Null.

Wie kann ich in einer Rule prüfen, ob der Sensor noch aktuelle Daten sendet?
Habt Ihr eine Idee?

Danke und Grüße

Re: Abfrage ob DHT22 aktuelle Daten sendet

Verfasst: 28. Mai 2019 19:07
von sihui
Stefan Otten hat geschrieben: 28. Mai 2019 11:08 Habt Ihr eine Idee?
Stichwort LWT = Last Will and Testament.
MQTT Geräte senden (normalerweise) auf diesem Topic einen Befehl wenn sie ausfallen (bei mir ist es "Offline")
https://www.hivemq.com/blog/mqtt-essent ... testament/

Re: Abfrage ob DHT22 aktuelle Daten sendet

Verfasst: 28. Mai 2019 19:07
von udo1toni
Dazu kannst Du das Expire Binding nutzen. Du richtest das Binding so ein, dass es das Item auf NULL oder UNDEF zieht, wenn eine Zeitspanne vergangen ist. Die Zeitspanne ist fix einzustellen, die Zeit beginnt jedes Mal neu abzulaufen, sobald ein Update des Items erfolgt ist, also jedes Mal, wenn der Sensor einen Wert liefert.

Das Telegramm schickst Du dann über eine Rule, die triggert, wenn das Item nach UNDEF oder NULL wechselt.

Re: Abfrage ob DHT22 aktuelle Daten sendet

Verfasst: 29. Mai 2019 21:26
von Stefan Otten
Super vielen lieben Dank Udo.
Genau das habe ich gesucht.

Über die eine Rule frage ich den Wert des Sensors ab, ist der 0, dann wird eine Nachricht versendet.

Über LWT muss ich mich noch einlesen. Dafür habe ich noch ein paar Verwendungen ;-)

Grüße
Stefan

Re: Abfrage ob DHT22 aktuelle Daten sendet

Verfasst: 30. Mai 2019 18:10
von udo1toni
Aber Achtung! Null ist nicht gleich null ist nicht gleich NULL ist aber sowas von nicht gleich 0 ;)

Eine nicht initialisierte Variable ist null, ein nicht initialisiertes Item ist NULL, der Gefrierpunkt von Wasser ist 0 (°C, bei Normaldruck, auf der Erde)
Auch wenn der Temperatursensor für das Terrarium hoffentlich niemals 0 meldet, so wäre das jedenfalls kein Hinweis auf einen ausgefallenen Sensor, sondern allenfalls ein Hinweis auf eine ausgefallene Heizung ;)