Frage zu notify auf AVR on

Begonnen von nebukadnezza, 24 Februar 2015, 09:45:05

Vorheriges Thema - Nächstes Thema

nebukadnezza

Hallo Community,

ich habe meinen Denon 3311 mittels DENON_AVR in fhem eingebunden und will nun auf den on und off Event triggern um einen dummy LED zu schalten.

Im Event Log schaut on/off so aus:

DENON_AVR denon power: on
DENON_AVR denon power: off


Folgendes geht:

define denon.notify notify denon:.*power:.on.* set LED on


Warum geht das mit $EVENT nicht (es kommt auch zu keinem Logeintrag):

define denon.notify notify denon:.*power:.* {
if ("$EVENT" eq "on")
   {
       fhem ("set LED on");
   }
if ("$EVENT" eq "off")
   {
       fhem ("set LED off");
   }
}


Danke für die Unterstützung.

Matthias

der-Lolo

Der Denn ist in notifys bzw. mit REGEX nicht ganz einfach zu händeln - die Lautstärke macht hier auch Probleme.
Wenn Du eine funktionierende Config gefunden hast sei glücklich, ich glaube das es so ist das im Modul z.b. nicht sauber $EVENT erzeugt wird...


flurin

Zitat von: nebukadnezza am 24 Februar 2015, 09:45:05
Warum geht das mit $EVENT nicht (es kommt auch zu keinem Logeintrag):

define denon.notify notify denon:.*power:.* {
if ("$EVENT" eq "on")
   {
       fhem ("set LED on");
   }
if ("$EVENT" eq "off")
   {
       fhem ("set LED off");
   }
}



Ev. geht es so:

define denon.notify notify denon.power:.* { fhem("set LED ".($EVENT =~ m/on/ ? "on" : "off")) }

oder:

define denon.notify notify denon.power:.* { my $v=Value("denon");; \
fhem("set LED ".($v =~ m/on/ ? "on" : "off")) }


Gruss
flurin

marvin78

Du könntest mal Loggen und schauen, wie das Event und seine Bestandteile wirklich aussieht.

define denon.notify notify denon:.*power:.* {
Log 1, $NAME.": ".$EVENT."-".$EVTPART0."-".$EVTPART1."-".$EVTPART2;
}


Und dann ggf. mit $EVTPART arbeiten

nebukadnezza

DANKE! Folgendes hat funktioniert, da $EVENT "power: on" und "power: off" enthält:


denon:.*power:.* { 
if ("$EVTPART1" eq "on")
   {
       fhem ("set LED on");
   }
if ("$EVTPART1" eq "off")
   {
       fhem ("set LED off");
   }
}