Hallo Martin,
ein Teil Deiner Fragen werden sicherlich hier beantwortet.
https://www.heimkino-praxis.com/yamaha- ... mment-7197.
Ich habe mir die Scrips als .sh-Datei auf CUXD abgelegt und rufe diese auf, dass ist für mich übersichtlicher.
Allerdings kann ich Dir den Ablauf, des Aufrufens einer Internetradiostation (sollte bei den Yamahas ähnlich sein) beschreiben.
Die Stationen sind unter Lesezeichen gespeichert, diese eventuell in Ordnern. Angenommen eine Station "Classic Rock" ist im Verzeichnis Lesezeichen im 2. Ordner "Rock" als dritte Station gespeichert. Da muss Dein Script ungefähr so aufgebaut sein, wenn Du es in der Zone_2 starten/hören willst.
Lesezeichen muss ganz oben stehen, sollte bei Dir was anderes stehen (Hinzugefügt etc) muss die 1 in der dritten CodeZeile gegen die Zeilennummer getauscht werden.
Code: Alles auswählen
<Zone_2><Power_Control><Power>On</Power></Power_Control></Zone_2>
<Zone_2><Input><Input_Sel>NET RADIO</Input_Sel></Input></Zone_2>
<Zone_2><NET_RADIO><List_Control><Direct_Sel>Line_1</Direct_Sel></List_Control></NET_RADIO></Zone_2>
<Zone_2><NET_RADIO><List_Control><Direct_Sel>Line_2</Direct_Sel></List_Control></NET_RADIO></Zone_2>
<Zone_2><NET_RADIO><List_Control><Direct_Sel>Line_3</Direct_Sel></List_Control></NET_RADIO></Zone_2>
<Zone_2><Volume><Lvl><Val>430</Val><Exp>1</Exp><Unit>dB>/Unit></Lvl></Volume></Zone_2></Zone_2>
Hier passiert folgendes.
1. Zeile Zone 2 einschalten
2. Zeile Internetradio als Qulle wählen
3. Zeile gehe zu ersten Eintrag (bei mir Lesezeichen)
4. Zeile gehe zu zweiten Eintrag
5. Zeile gehe zu dritten Eintrag
6. Zeile stelle Lautstärke ein.
Ich glaube der untere Teil müsste angepasst XXXXX, gegen Deins ersetzen fast funktionieren. (ersetzen in Zeile 1 und drei) in Progranmteil der CCU.
Code: Alles auswählen
var url= "http://192.XXXXX.XXXXX.XXXXX/YamahaRemoteControl/ctrl";
var cURL="LD_LIBRARY_PATH=/usr/local/addons/cuxd /usr/local/addons/cuxd/curl";
dom.GetObject("CUxD.CUX2801001:XXXX.CMD_EXEC").State(cURL#" -X POST -H 'Content-Type: text/xml; charset=UTF-8' -d '<YAMAHA_AV cmd=\"PUT\"><Zone_2><Power_Control><Power>On</Power></Power_Control></Zone_2></YAMAHA_AV>' '"#url#"'");
dom.GetObject("CUxD.CUX2801001:3.CMD_EXEC").State(cURL#" -X POST -H 'Content-Type: text/xml; charset=UTF-8' -d '<YAMAHA_AV cmd=\"PUT\"><Zone_2><Input><Input_Sel>NET RADIO</Input_Sel></Input></Zone_2></YAMAHA_AV>' '"#url#"'");
dom.GetObject("CUxD.CUX2801001:3.CMD_EXEC").State(cURL#" -X POST -H 'Content-Type: text/xml; charset=UTF-8' -d '<YAMAHA_AV cmd=\"PUT\"><NET_RADIO><List_Control><Direct_Sel>Line_1</Direct_Sel></List_Control></NET_RADIO></YAMAHA_AV>' '"#url#"'");
dom.GetObject("CUxD.CUX2801001:3.CMD_EXEC").State(cURL#" -X POST -H 'Content-Type: text/xml; charset=UTF-8' -d '<YAMAHA_AV cmd=\"PUT\"><NET_RADIO><List_Control><Direct_Sel>Line_1</Direct_Sel></List_Control></NET_RADIO></YAMAHA_AV>' '"#url#"'");
dom.GetObject("CUxD.CUX2801001:3.CMD_EXEC").State(cURL#" -X POST -H 'Content-Type: text/xml; charset=UTF-8' -d '<YAMAHA_AV cmd=\"PUT\"><NET_RADIO><List_Control><Direct_Sel>Line_1</Direct_Sel></List_Control></NET_RADIO></YAMAHA_AV>' '"#url#"'");
dom.GetObject("CUxD.CUX2801001:3.CMD_EXEC").State(cURL#" -X POST -H 'Content-Type: text/xml; charset=UTF-8' -d '<YAMAHA_AV cmd=\"PUT\"><Zone_2><Volume><Lvl><Val>430</Val><Exp>1</Exp><Unit>dB>/Unit></Lvl></Volume></Zone_2></YAMAHA_AV>' '"#url#"'");
Ich bin mmir sicher, den obigen Teil kann man optimieren aber dazu kenne ich mich nicht aus.Für mich besser allerdings war der Weg über eine sh-Datei. Den Anstoss fand ich hier.
https://ww.sd.vc/wp/2013/12/08/homemati ... r-steuern/
Gruß
Mit freundlichen Grüßen
Uwe
--------------////////-------------
CCU3 und fast nur noch HMIP
Mutter gibt es wirklich sowas, wie den perfekten Mann?
Sicher Kind, sie werden Biker genannt