FHEM Forum

FHEM => Automatisierung => Thema gestartet von: Pythonf am 22 Juni 2017, 12:25:53

Titel: Plötzliche Veränderung der Luftfeuchte detektieren
Beitrag von: Pythonf am 22 Juni 2017, 12:25:53
Hallo FHEM Freunde,

Ich möchte im Badezimmer erkennen können, ob jemand gerade duscht. Ich plotte schon seit längerem die Luftfeuchte mit einem DHT22/ESP8266 und man erkennt hier sehr zuverlässig einen plötzlichen Anstieg der Luftfeuchtigkeit. Leider ist die "Grundluftfeuchte" aber nicht immer konstant, weshalb ich gerne ein Event erstellen würde wenn sich im Zeitraum x = 1 min die Luftfeuchtigkeit h um 5% ändert. Gibt es hier eine einfache Möglichkeit? Bisher ist mir nur eingefallen, die alten Werte in ein Reading zu schreiben und dieses Zeitverzögert zu aktualisieren, aber vielleicht geht es ja einfacher.

Grüße
Fabian
Titel: Antw:Plötzliche Veränderung der Luftfeuchte detektieren
Beitrag von: Otto123 am 22 Juni 2017, 12:40:19
Hi Fabian,

schau mal in der commandref nach userReadings und dort modifier difference

Gruß Otto
Titel: Antw:Plötzliche Veränderung der Luftfeuchte detektieren
Beitrag von: Pythonf am 22 Juni 2017, 13:03:03
Danke für die Antwort, eigentlich genau das, was ich gesucht habe. Nur leider funktioniert difference nicht. Integrieren und differenzieren funktioniert dagegen problemlos.
Internals:
   DEF        192.168.37.97 80 espBridge ESPEasy01_Badezimmer
   ESP_BUILD  20000
   ESP_SLEEP  0
   ESP_UNIT   1
   ESP_VERSION 2
   HOST       192.168.37.97
   IDENT      ESPEasy01_Badezimmer
   INTERVAL   20
   IODev      espBridge
   LASTInputDev espBridge
   MSGCNT     2
   NAME       ESPEasy_ESPEasy01_Badezimmer
   NOTIFYDEV  global
   NR         220
   NTFY_ORDER 50-ESPEasy_ESPEasy01_Badezimmer
   PORT       80
   STATE      Hum: 76.00 Tem: 28.10
   SUBTYPE    device
   TYPE       ESPEasy
   VERSION    1.21
   espBridge_MSGCNT 2
   espBridge_TIME 2017-06-22 13:00:40
   Helper:
     Dblog:
       Humidity:
         Logdb:
           TIME       1498129240.7758
           VALUE      76.00
   Readings:
     2017-06-22 13:00:40   Delta_H         0
     2017-06-22 13:00:40   Humidity        76.00
     2017-06-22 13:00:40   Temperature     28.10
     2017-06-22 13:00:30   presence        present
     2017-06-22 13:00:40   state           Hum: 76.00 Tem: 28.10
   Helper:
     fpc        1498129230.02657
     Pm:
       Encode     1
       JSON       1
     Received:
       Humidity   1498129240.77422
       Temperature 1498129240.77437
Attributes:
   IODev      espBridge
   Interval   20
   event-on-change-reading .*
   group      ESPEasy Device
   presenceCheck 1
   readingSwitchText 1
   room       ESPEasy
   setState   3
   [b]userReadings Delta_H difference { ReadingsVal("ESPEasy_ESPEasy01_Badezimmer","Humidity",0)*100 }[/b]

Die Änderung betrug testweise fast 40% aber das Reading blieb bei 0. Fhem ist up-to-date. Sieht jemand den Fehler? Ansonsten verwende ich eben die Differenzial-Funktion. liefert ja ähnliche Werte.

Grüße
Fabian
Titel: Antw:Plötzliche Veränderung der Luftfeuchte detektieren
Beitrag von: Otto123 am 22 Juni 2017, 13:24:20
Hmm ist bei mir auch so  :-[
difference kaputt?
Titel: Antw:Plötzliche Veränderung der Luftfeuchte detektieren
Beitrag von: Kuzl am 22 Juni 2017, 13:27:13
Ansonsten sollte doch Differenzieren auch klappen oder?
Je größer die Änderung desto größer der Wert
Titel: Antw:Plötzliche Veränderung der Luftfeuchte detektieren
Beitrag von: Otto123 am 22 Juni 2017, 13:44:40
naja wenn man richtig schreibt geht es auch, ich muss mich revidieren. Ich hatte den Namen vom Sensor falsch geschrieben  :-[
Es geht beides, ich habe allerdings ReadingsNum genommen.

Titel: Antw:Plötzliche Veränderung der Luftfeuchte detektieren
Beitrag von: igami am 22 Juni 2017, 15:42:08
man kann auch einfach $name für den Eigennamen des device verwenden