[Gelöst] Notify mit leerzeichen

Begonnen von Det20, 24 Mai 2017, 13:05:06

Vorheriges Thema - Nächstes Thema

Det20

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"

DeeSPe

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
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

Det20


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


So passt es, danke!!!

KernSani

Setzt du dann bitte auf gelöst? Danke!
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Det20

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.

nils_

ö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.
viele Wege in FHEM es gibt!

Brice

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.
FHEM auf RPi 4 4GB (Buster) | produktiv) CUL 868 für FS20 | S300TH | KS300 | Max!Cube als CUN 868 für TechemWZ | HM-MOD-RPI-PCB für HM | Z-Wave ZME_UZB1 | FRITZ!DECT 200 | HUE | Lightify | Echo Dot | WS3080

krikan

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)

KernSani

bitte in Zukunft nicht schliessen, sondern nur das Subject ändern, somit haben andere User die Möglichkeit Folgefragen zu stellen. Danke  :) 
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...