Hilfe gesucht zu: Notify mit Readingsval (gelöst)

Begonnen von Dave90, 04 Juli 2016, 21:17:34

Vorheriges Thema - Nächstes Thema

Dave90

Hallo liebes Forum,

ich versuche gerade ein Notify zu erstellen, welches meinen TV über CEC vom Raspberry pi aus anschaltet, wenn an meinem AV-Receiver der Input FireTv eingestellt ist. Das Schalten des TV's mittels Schalter funktioniert mit folgendem Code:

define TV dummy
define notify_TV_on notify TV:on {{`echo "on 0" | sudo cec-client -s -d 1`}}
define notify_TV_off notify TV:off {{`echo "standby 0" | sudo cec-client -s -d 1`}}


Ich scheitere jedoch an der Einbindung der Abfrage vermute ich... Wahrscheinlich ein doofer Syntax Fehler, wäre cool wenn jemand kurz drüber schauen würde... Achso: Falls nicht abgefragt werden kann soll der default Wert Spotify eingesetzt werden, da dafür der TV nicht an sein muss. Danke schonmal im Voraus  :)

Hier der Code:

define notify_TV_on_AVR notify {\
if (ReadingsVal("AVR","input","spotify")eq "fireTv"){\
{{`echo "on 0" | sudo cec-client -s -d 1`}}\
}\
}
Hardware:  FHEM-& LMS-Server + NAS: Banana Pi; Hyperion Ambilight Server + anderer Kleinkram: RPI Model B; Lampen: Philips Hue + Milight; Homematic Heizungssteuerung; Entertainment: Harmony Hub
sonstiges: Funksteckdosen

igami


define <name> notify <pattern> <command>

ich sehe keine pattern im 3. notify
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

betateilchen

und den Sinn der drei geschweiften Klammern hintereinander verstehe ich auch nicht  8)


if (ReadingsVal("AVR","input","spotify")eq "fireTv"){{{`echo "on 0" | sudo cec-client -s -d 1`}}}
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Dave90

Ist die If-Beziehung nicht quasi die Pattern? Die Klammern sind überflüssig, hast du recht. Kann mir jemand auf die Sprünge helfen? Habe da anscheinend etwas nicht richtig verstanden.
Hardware:  FHEM-& LMS-Server + NAS: Banana Pi; Hyperion Ambilight Server + anderer Kleinkram: RPI Model B; Lampen: Philips Hue + Milight; Homematic Heizungssteuerung; Entertainment: Harmony Hub
sonstiges: Funksteckdosen

hankyzoolander

Hallo,
danke dir Dave90 für deine notify für an und aus.
Damit funktioniert meine av Receiver Steuerung endlich wunderbar :)
betateilchen  <--- my personal hero

Dave90

@hankyzoolander: Das freut mich, ich habe mein Problem auch gelöst. Es funktioniert nun mit dem Folgenden Code, wobei ich noch die Bedingung setzen musste, dass der TV aus sein muss, da er sonst in eine Endlosschleife verfällt ;)

define notify_TV_on_AVR notify AVR {if(ReadingsVal("AVR","input","spotify")eq "fireTv" && Value("TV") eq "off") {fhem ("set TV on")} }
Hardware:  FHEM-& LMS-Server + NAS: Banana Pi; Hyperion Ambilight Server + anderer Kleinkram: RPI Model B; Lampen: Philips Hue + Milight; Homematic Heizungssteuerung; Entertainment: Harmony Hub
sonstiges: Funksteckdosen

igami

Alternativ kann man auch das Modul DOIF verwenden, wenn man das mag. Da ist die deutsche Commandref sehr umfangreich.
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED