Guten Morgen,
ich nutze ein notify um auf Harmony-Fernbedinung eine Aktivität zu setzen, wenn ich meinen Denon-AVR per Airplay (also an der Fernbedienung vorbei) anschalte. Dann kennt die Harmony den Status des Entertainment-Systems nicht und man kann mit der Harmony nichts regeln.
ZitatAVR_WOHNZIMMER:input:.*OnlineMusic.* set Entertainment activity Airplay
Seit ich Funktionen am Smart-TV nutze ist da eine Fehlerquelle drin, da sich zwar der "Modus" vom AVR auf ARC ändert, aber der der Input vom AVR der alte bleibt.
Ich scheitere daran eine Bedingung ins notify zu setzten. Und zwar darf der inputSound nicht ARCplaying.
Also wenn AVR-Input "OnlineMusic" und AVR-InputSound
ist nicht ARCplaying -> set Entertainment activity Airplay
Vielen Dank
Am besten ein list vom entsprechenden Device mitgeben.
Allgemein kann man
AVR_WOHNZIMMER:input:.*OnlineMusic.* {
fhem('set Entertainment activity Airplay')
if ( ReadingsVal('DEVICE','READING','none') eq 'OnlineMusic'
&& ReadingsVal('DEVICE','READING','none') ne 'ARCPlaying') );
}
Edit: Beispiel nachträglich geändert.
Hi,
der Ausführungsteil (Pseudocode da ich das Device nicht kenne)
{if (AVR-InputSound ist nicht ARCplaying) {fhem("set Entertainment activity Airplay")}}
Die und Verknüpfung ist ja quasi durch den Trigger gegeben. Zumindest interpretiere ich den Trigger so :)
AVR_WOHNZIMMER:input:.*OnlineMusic.*
Gruß Otto
@CoolTux: Endanwender sollten meiner Ansicht nach nicht CommandSet(undef, "XX YY") verwenden, sondern fhem("set XX YY"), da es meiner Ansicht nach allgemeiner und einfacher zu verstehen ist, weiterhin wird es auch von cmdAlias abgedeckt.
Zitat von: rudolfkoenig am 26 Oktober 2020, 09:11:22
@CoolTux: Endanwender sollten meiner Ansicht nach nicht CommandSet(undef, "XX YY") verwenden, sondern fhem("set XX YY"), da es meiner Ansicht nach allgemeiner und einfacher zu verstehen ist, weiterhin wird es auch von cmdAlias abgedeckt.
Hallo Rudi,
Alles klar. Ich werde mein Beispiel entsprechend anpassen. Danke Dir
Grüße
Marko
Vielen Dank für eure Hilfe!
Zitat von: CoolTux am 26 Oktober 2020, 08:57:21
AVR_WOHNZIMMER:input:.*OnlineMusic.* {
fhem('set Entertainment activity Airplay')
if ( ReadingsVal('DEVICE','READING','none') eq 'OnlineMusic'
&& ReadingsVal('DEVICE','READING','none') ne 'ARCPlaying') );
}
Hier hat sich irgendwo Syntaxfehler versteckt (eine geschlossene Klammer zu viel) aber es hat mit trotzdem sehr geholfen, die Logik zu verstehen!
Zitat von: Otto123 am 26 Oktober 2020, 09:01:38
Hi,
der Ausführungsteil (Pseudocode da ich das Device nicht kenne)
{if (AVR-InputSound ist nicht ARCplaying) {fhem("set Entertainment activity Airplay")}}
Die und Verknüpfung ist ja quasi durch den Trigger gegeben. Zumindest interpretiere ich den Trigger so :)
AVR_WOHNZIMMER:input:.*OnlineMusic.*
Gruß Otto
Korrekt! Das hat dann auch noch viel geholfen!!
Am Ende bin ich bei dem gelandet und so funktioniert es jetzt auch ;D
AVR_WOHNZIMMER:currentMedia:.*OnlineMusic.* {
if ( ReadingsVal ('AVR_WOHNZIMMER','inputSound',' ') ne 'ARCPlaying'
&& ReadingsVal ('Entertainment','currentActivity',' ') ne 'Airplay' )
{ fhem ('set Entertainment activity Airplay')
} }
Ich hoffe jetzt schlagt ihr nicht die Hände über dem Kopf zusammen :P