Plötzliche Veränderung der Luftfeuchte detektieren

Begonnen von Pythonf, 22 Juni 2017, 12:25:53

Vorheriges Thema - Nächstes Thema

Pythonf

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

Otto123

Hi Fabian,

schau mal in der commandref nach userReadings und dort modifier difference

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Pythonf

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

Otto123

Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Kuzl

Ansonsten sollte doch Differenzieren auch klappen oder?
Je größer die Änderung desto größer der Wert

Otto123

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.

Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

igami

man kann auch einfach $name für den Eigennamen des device verwenden
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED