FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Det20 am 24 Mai 2017, 13:05:06

Titel: [Gelöst] Notify mit leerzeichen
Beitrag von: Det20 am 24 Mai 2017, 13:05:06
Hallo,

könnte mir ev jemand kurz auf die Sprünge helfen? Mit dem alten Bewegungsmelder habe ich die Bewegung so abgefangen:


define Bewegung.EG notify Bewegungsmelder.EG:alarm:.personInside { BewegungEG() }


Der neue (Fibaro) sendet aber einen kompletten Text, nur: wie fange ich den ab? Muss ich den in Anführungszeichen setzen?


define Bewegung.EG notify Bewegungsmelder.EG:alarm:.HomeSecurity: Motion Detection - Unknown Location { BewegungEG() }


Die Meldung, die reinkommt, ist laut Log: "ZWave Bewegungsmelder.OG alarm: HomeSecurity: Motion Detection - Unknown Location"
Titel: Antw:Notify mit leerzeichen
Beitrag von: DeeSPe am 24 Mai 2017, 13:06:37
Zitat von: Det20 am 24 Mai 2017, 13:05:06
Hallo,

könnte mir ev jemand kurz auf die Sprünge helfen? Mit dem alten Bewegungsmelder habe ich die Bewegung so abgefangen:


define Bewegung.EG notify Bewegungsmelder.EG:alarm:.personInside { BewegungEG() }


Der neue (Fibaro) sendet aber einen kompletten Text, nur: wie fange ich den ab?


define Bewegung.EG notify Bewegungsmelder.EG:alarm:.HomeSecurity: Motion Detection - Unknown Location { BewegungEG() }


Die Meldung, die reinkommt, ist laut Log: "ZWave Bewegungsmelder.OG alarm: HomeSecurity: Motion Detection - Unknown Location"

Leerzeichen im RegEx am Einfachsten mit Punkten ersetzen.

Gruß
Dan
Titel: Antw:Notify mit leerzeichen
Beitrag von: Det20 am 24 Mai 2017, 13:07:20

define Bewegung.EG notify Bewegungsmelder.EG:alarm:.HomeSecurity:.Motion.Detection.-.Unknown.Location { .... }


So passt es, danke!!!
Titel: Antw:Notify mit leerzeichen
Beitrag von: KernSani am 24 Mai 2017, 14:48:56
Setzt du dann bitte auf gelöst? Danke!
Titel: Antw:Notify mit leerzeichen
Beitrag von: Det20 am 24 Mai 2017, 15:38:26
Ne, eine kommt noch :)

Dank eines Eintrages hier im Forum (Finde es nicht mehr) setze ich basicSet bei dem Fibaro von Hand:


define Bewegungsmelder.EG.TranslateText DOIF ([Bewegungsmelder.EG:alarm] =~ "cleared") (setreading Bewegungsmelder.EG basicSet 0) DOELSE (setreading Bewegungsmelder.EG basicSet 255)


Damit könnte ich ja theoretisch den Text extrem abkürzen. Leider funktioniert das im Notify nicht:


define Bewegung.EG.Start notify Bewegungsmelder.EG:basicSet:.255 { BewegungEG() }


Liegt es daran, dass das Event VOR dem DOIF ausgeführt wird, STATE deshalb noch nicht aktualisiert wurde? Ich möchte mir beim Notify den elendig langen Text sparen.
Titel: Antw:Notify mit leerzeichen
Beitrag von: nils_ am 24 Mai 2017, 15:52:49
öffne doch mal den Eventmonitor und guck was da für Events reinkommen.
auf die kannste dann per notify reagieren.



reihenfolgenproblem glaube ich nicht dran.
Titel: Antw:Notify mit leerzeichen
Beitrag von: Brice am 24 Mai 2017, 16:38:59
Zitat von: Det20 am 24 Mai 2017, 15:38:26Ich möchte mir beim Notify den elendig langen Text sparen.

Die speziellen Readings der Z-Wave-Bewegungsmelder gingen mir bei meinen Notifys auch auf den Keks, und nach Suche im Forum habe ich ein UserReading eingebaut:

attr <Device> userReadings state:alarm.* {(ReadingsVal($name,"alarm","") =~ /^HomeSecurity:.Motion.Detection/)?"open":"closed"}

Die Notifys reagieren jetzt auf open bzw. closed. Vielleicht hilft dir das weiter.
Titel: Antw:Notify mit leerzeichen
Beitrag von: krikan am 24 Mai 2017, 18:02:28
Zitat von: Brice am 24 Mai 2017, 16:38:59
Die speziellen Readings der Z-Wave-Bewegungsmelder gingen mir bei meinen Notifys auch auf den Keks, und nach Suche im Forum habe ich ein UserReading eingebaut:

attr <Device> userReadings state:alarm.* {(ReadingsVal($name,"alarm","") =~ /^HomeSecurity:.Motion.Detection/)?"open":"closed"}

Die Notifys reagieren jetzt auf open bzw. closed. Vielleicht hilft dir das weiter.
Da im Reading alarm diverse Alarmtypen gemeldet werden, liefert das obige userReading auch bei anderen Alarmtypen bspw. Tamperalarm "closed".
(-> Attribut extendedAlarmReadings)
Titel: Antw:[Gelöst] Notify mit leerzeichen
Beitrag von: KernSani am 24 Mai 2017, 23:37:42
bitte in Zukunft nicht schliessen, sondern nur das Subject ändern, somit haben andere User die Möglichkeit Folgefragen zu stellen. Danke  :)