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
Hi Fabian,
schau mal in der commandref nach userReadings und dort modifier difference
Gruß Otto
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
Hmm ist bei mir auch so :-[
difference kaputt?
Ansonsten sollte doch Differenzieren auch klappen oder?
Je größer die Änderung desto größer der Wert
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.
man kann auch einfach $name für den Eigennamen des device verwenden