Hallo,
ich möchte für mein HM-SEC-MDIR-2 gerne ein userReading haben, welches anzeigt, seit wieviel Sekunden es Bewegung im Raum gibt. Dazu habe ich folgende Lösung überlegt, die allerdings nicht zuverlässig funktioniert:
motionBegin:motionCount.* { ((time_str2num(ReadingsTimestamp('BM_1','state','')) - time_str2num(ReadingsVal('BM_1','timestamp',''))) > 1800) ? ReadingsTimestamp('BM_1','state','') : ReadingsVal('BM_1','motionBegin','') }, motionDuration:motionCount.* { (time_str2num(ReadingsTimestamp('BM_1','state','')) - time_str2num(ReadingsVal('BM_1','motionBegin',''))) },timestamp:motionCount.* { ReadingsTimestamp('BM_1','state','');; }
Idee ist, das nach 30min ohne Bewegung eine Bewegung als neue erkannt wird und ab dann jeweils die Sekunden bis zur letzten Bewegung gemessen wird.
Scheinbar werden die kommaseparierten Kommandos eines userReadings nicht in der Reihenfolge ausgeführt.
Hat jemand eine Idee für eine Lösung?
ZitatScheinbar werden die kommaseparierten Kommandos eines userReadings nicht in der Reihenfolge ausgeführt.
das sollte im eventmonitor gut erkennbar sein.
zur zeit werden alle userreadings durch motionCount getriggert. um eine gezielte reihefolge zu bekommen, könntest du den trigger nutzen. das 1. triggert das 2., das 2. dann das 3. , ....
wenn dein FHEM aktuell ist sollten die userReadings in der reihenfolge in der sie deklariert sind ausgeführt werden. der patch dazu ist vor kurzem eingeflossen.
gruss
andre
Super, danke! Nach dem fhem-Update geht es!
Man müsste sich öfter mal die Release Notes durchlesen...