FHallo,
ich habe ein Presence-Device angelegt, das auf Events eines iButtons am OWServer reagieren soll:
Im EventMonitor sehe ich diesen Eintrag:
2019-03-08 22:07:52 OWDevice onewire.ibutton.k present: 1
Das Presence-Device sieht so aus:
DEF event onewire.ibutton.k:present:0 onewire.ibutton.k:present:1
EVENT_ABSENT onewire.ibutton.k:present:0
EVENT_PRESENT onewire.ibutton.k:present:1
FUUID 5c82cefd-f33f-ae1f-0bd2-d3abf5981536e797
MODE event
NAME presence.k.ibutton
NOTIFYDEV global,onewire.ibutton.k
NR 1459
NTFY_ORDER 50-presence.k.ibutton
STATE Initialized
TYPE PRESENCE
READINGS:
2019-03-08 21:22:46 model event
helper:
...
Attributes:
event-on-change-reading state
room Anwesenheit
Und das Device, das das Event auslöst, sieht so aus:
Internals:
DEF 01.xxxxxxxxxxxx 60
...
IODev OWServer
LAST_READ_FAILED 0
NAME onewire.ibutton.k
NOTIFYDEV global
NR 400
NTFY_ORDER 50b-DS2401_xxxxxxxxxxxx
STATE present: 1
TYPE OWDevice
Helper:
READINGS:
2019-03-08 22:12:52 id xxxxxxxxxxxx
2019-03-08 22:12:52 location bus.0
2019-03-08 22:12:52 present 1
2019-03-08 22:12:52 state present: 1
fhem:
address 01.xxxxxxxxxxxx
alerting 0
bus bus.0
interfaces id
interval 60
...
Attributes:
IODev OWServer
event-on-change-reading present
group iButton
model DS2401
room 1-Wire
Weshalb wechselt der Status des Presence Device nicht?
Gruß
Christian
Hallo Christian,
weil Du den Event nicht einfach so kürzen kannst wie es Dir gefällt. :o
Der Event: onewire.ibutton.k present: 1
als regExponewire.ibutton.k.present:.1
Typischerweise ersetzt man Leerzeichen im Event mit . Der Punkt steht für irgendein Zeichen, also auch für Leerzeichen.
Und beachte dies bitte: https://forum.fhem.de/index.php/topic,71806.0.html
Codetags :)
Gruß Otto
Ich vermute die Regex sind nicht richtig.
Markiere die gesamte Zeile des Events im Eventmonitor und klicke auf Create/Modify device, dann auf notify, und schaue mal wie es aussieht.
Danke für den Hinweis auf das Leerzeichen, das ich übersehen hatte.
Gruß
Christian
P.S.:
Code-Tags dachte ich gesetzt zu haben. Aber ich wähnte ich im falschen Forum und habe nicht "code" verwendet.