zusätzliche Bedingung im notify

Begonnen von philippr, 26 Oktober 2020, 08:06:31

Vorheriges Thema - Nächstes Thema

philippr

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
RaspberryPI3 + CUL_MAX + Harmony + HomeBridge

CoolTux

#1
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.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Otto123

#2
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
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

rudolfkoenig

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

CoolTux

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
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

philippr

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
RaspberryPI3 + CUL_MAX + Harmony + HomeBridge