Motion Zeit aus HUE Bewegungsmelder auslesen

Begonnen von Dia81, 13 März 2021, 14:37:40

Vorheriges Thema - Nächstes Thema

Dia81

Moin zusammen,

ja eigentlich steht die ganze Frage im Titel ;)
der HUE Sensor liefert als Reading "state" motion oder nomotion:

Zitatstate   nomotion  2021-03-13 14:29:26

Jetzt möchte ich die Zeit festhalten, wenn er auf motion springt also ein user Reading welches mit der Zeit erstellt wird, wann die letzte "Motion" war.
Ich kriege das leider nicht zusammengeklöppelt.

Bei meinem Homematic Bewegungsmelder kann ich den Wert per

(ReadingsTimestamp ("HM_554824","motion",0))

abfragen. Das geht so beim HUE aber nicht, da er kein seperates Reading für motion/no motionzur  Verfügung stellt und wenn ich so den State abfrage mir immer die Zeit der letzten Veränderung also auch die Änderung auf "no motion" ausgibt.

Danke für eure Hilfe

DeeSPe

So sollte es doch gehen:
attr <sensor> userRedings lastmotion:state:.motion {ReadingsTimeStamp($NAME,"state","")}

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Otto123

Hi,

geht einfach so - getestet (analog zu HM Geräten):
attr RH3040 userReadings motion:motion {'on'}

@Dan altes Problem: kein state Event -> kein state im Event :)

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

DeeSPe

Zitat von: Otto123 am 13 März 2021, 14:58:26
@Dan altes Problem: kein state Event -> kein state im Event :)

Ja, klar. Hier müsste es auch "addStateEvent" geben. :(

So klappt es aber bei mir am Hue BWM:
attr <sensor> userReadings lastmotion {if (ReadingsVal($NAME,"state","") eq "motion") {ReadingsTimestamp($NAME,"state","")} else {ReadingsVal($NAME,"lastmotion","")} }

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Dia81

Mega Danke. Eine anschließende Frage hab ich aber leider noch...

kann mir jmd nen Tipp geben wie ich das Format

2020-10-18 19:13:22

in etwas gescheites umstellen kann? Der Traum wäe natürlich

Mo 19:13 Uhr

zumindest aber wäre folgendes Format  gut:

18.10 19:13 Uhr

Leider reichen da meine Regex oder sonstigen Kenntnisse nicht. Vielen Dank!!!

Otto123

gescheit ist immer relativ :)
aber hier sind ein paar Möglichkeiten https://wiki.fhem.de/wiki/Zeitangaben,_rechnen_mit

Oder Du machst im Perl einfach ein bisschen split
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

DeeSPe

Zitat von: Otto123 am 13 März 2021, 15:18:57
gescheit ist immer relativ :)
aber hier sind ein paar Möglichkeiten https://wiki.fhem.de/wiki/Zeitangaben,_rechnen_mit

Oder so:
attr <sensor> userReadings lastmotion:motion {"$3.$2 $4" if (ReadingsTimestamp($NAME,"state","")=~/^(\d{4})-(\d\d)-(\d\d)\s(\d\d:\d\d):\d\d$/)}

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe