Yamaha-_Receiver einschalten, Netradio-Lesezeichen

Begonnen von Bartimaus, 07 Februar 2014, 19:32:44

Vorheriges Thema - Nächstes Thema

MegaData

Ich traue es mich fast gar nicht zu schreiben... aber nachdem ich das Log Level hoch gestellt habe geht es jetzt... :-O War wohl etwas launisch...  :o

Markus Bloch

Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

MegaData

Hhhhmm - zu früh gefreut, war wohl ne einmalige Aktion... Hier mal ein paar Log-Zeilen:

- choosed item 0 as next command
2016.01.03 21:53:06.391 4: YAMAHA_AVR (AV_Receiver) - send command "navigateListMenu Lesezeichen/My__Favorites/DELUXE LOUNGE": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="PUT"><NET_RADIO><List_Control><Cursor>Return to Home</Cursor></List_Control></NET_RADIO></YAMAHA_AV>
2016.01.03 21:53:06.575 5: YAMAHA_AVR (AV_Receiver) - received HTTP code 200 for command "navigateListMenu Lesezeichen/My__Favorites/DELUXE LOUNGE"
2016.01.03 21:53:06.577 5: YAMAHA_AVR (AV_Receiver) - got response for "navigateListMenu Lesezeichen/My__Favorites/DELUXE LOUNGE": <YAMAHA_AV rsp="PUT" RC="3"><NET_RADIO><List_Control><Cursor></Cursor></List_Control></NET_RADIO></YAMAHA_AV>
2016.01.03 21:53:06.578 3: YAMAHA_AVR (AV_Receiver) - Could not execute "navigateListMenu Lesezeichen/My__Favorites/DELUXE LOUNGE": received return code 3
2016.01.03 21:53:06.580 5: YAMAHA_AVR (AV_Receiver) - no commands currently running, but queue has pending commands. preparing new request
2016.01.03 21:53:06.581 5: YAMAHA_AVR (AV_Receiver) - checking cmd queue item: 0 (cmd: navigateListMenu, arg: Lesezeichen/My__Favorites/DELUXE LOUNGE, data: 1, priority: -, at_first: 0, not_before: 0)
2016.01.03 21:53:06.582 5: YAMAHA_AVR (AV_Receiver) - checking cmd queue item: 1 (cmd: navigateListMenu, arg: Lesezeichen/My__Favorites/Deluxe Radio, data: 1, priority: -, at_first: 0, not_before: 0)
2016.01.03 21:53:06.583 5: YAMAHA_AVR (AV_Receiver) - checking cmd queue item: 2 (cmd: navigateListMenu, arg: Lesezeichen/My__Favorites/Deluxe Radio, data: 1, priority: -, at_first: 0, not_before: 0)
2016.01.03 21:53:06.584 5: YAMAHA_AVR (AV_Receiver) - checking cmd queue item: 3 (cmd: navigateListMenu, arg: Lesezeichen/My__Favorites/DELUXE LOUNGE, data: 1, priority: -, at_first: 0, not_before: 0)
2016.01.03 21:53:06.585 5: YAMAHA_AVR (AV_Receiver) - checking cmd queue item: 4 (cmd: navigateListMenu, arg: Lesezeichen/My__Favorites/DELUXE LOUNGE, data: 1, priority: -, at_first: 0, not_before: 0)
2016.01.03 21:53:06.586 5: YAMAHA_AVR (AV_Receiver) - choosed item 0 as next command
2016.01.03 21:53:06.587 4: YAMAHA_AVR (AV_Receiver) - send command "navigateListMenu Lesezeichen/My__Favorites/DELUXE LOUNGE": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><NET_RADIO><List_Info>GetParam</List_Info></NET_RADIO></YAMAHA_AV>
2016.01.03 21:53:06.682 5: YAMAHA_AVR (AV_Receiver) - received HTTP code 200 for command "navigateListMenu Lesezeichen/My__Favorites/DELUXE LOUNGE"
2016.01.03 21:53:06.683 5: YAMAHA_AVR (AV_Receiver) - got response for "navigateListMenu Lesezeichen/My__Favorites/DELUXE LOUNGE": <YAMAHA_AV rsp="GET" RC="0"><NET_RADIO><List_Info><Menu_Layer>3</Menu_Layer><Menu_Name>My__Favorites</Menu_Name><Current_List><Line_1><Txt>RadioTunes - Bossa Nova</Txt><Attribute>Item</Attribute></Line_1><Line_2><Txt>Absolute Chillout</Txt><Attribute>Item</Attribute></Line_2><Line_3><Txt>CRBS - Salsa y Merengue</Txt><Attribute>Item</Attribute></Line_3><Line_4><Txt>Colombiasalsarosa</Txt><Attribute>Item</Attribute></Line_4><Line_5><Txt>DELUXE RADIO</Txt><Attribute>Item</Attribute></Line_5><Line_6><Txt>DELUXE MUSIC RADIO</Txt><Attribute>Item</Attribute></Line_6><Line_7><Txt>DELUXE LOUNGE RADIO</Txt><Attribute>Item</Attribute></Line_7><Line_8><Txt></Txt><Attribute>Unselectable</Attribute></Line_8></Current_List><Cursor_Position><Current_Line>39</Current_Line><Max_Line>39</Max_Line></Cursor_Position></List_Info></NET_RADIO></YAMAHA_AV>
2016.01.03 21:53:06.685 5: YAMAHA_AVR (AV_Receiver) - return to start of menu to begin menu browsing
2016.01.03 21:53:06.686 4: YAMAHA_AVR (AV_Receiver) - append to queue of device AV_Receiver "navigateListMenu Lesezeichen/My__Favorites/DELUXE LOUNGE": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="PUT"><[CURRENT_INPUT_TAG]><List_Control><Cursor>Return to Home</Cursor></List_Control></[CURRENT_INPUT_TAG]></YAMAHA_AV>
2016.01.03 21:53:06.687 5: YAMAHA_AVR (AV_Receiver) - no commands currently running, but queue has pending commands. preparing new request
2016.01.03 21:53:06.688 5: YAMAHA_AVR (AV_Receiver) - checking cmd queue item: 0 (cmd: navigateListMenu, arg: Lesezeichen/My__Favorites/Deluxe Radio, data: 1, priority: -, at_first: 0, not_before: 0)
2016.01.03 21:53:06.689 5: YAMAHA_AVR (AV_Receiver) - checking cmd queue item: 1 (cmd: navigateListMenu, arg: Lesezeichen/My__Favorites/Deluxe Radio, data: 1, priority: -, at_first: 0, not_before: 0)
2016.01.03 21:53:06.690 5: YAMAHA_AVR (AV_Receiver) - checking cmd queue item: 2 (cmd: navigateListMenu, arg: Lesezeichen/My__Favorites/DELUXE LOUNGE, data: 1, priority: -, at_first: 0, not_before: 0)
2016.01.03 21:53:06.691 5: YAMAHA_AVR (AV_Receiver) - checking cmd queue item: 3 (cmd: navigateListMenu, arg: Lesezeichen/My__Favorites/DELUXE LOUNGE, data: 1, priority: -, at_first: 0, not_before: 0)
2016.01.03 21:53:06.692 5: YAMAHA_AVR (AV_Receiver) - checking cmd queue item: 4 (cmd: navigateListMenu, arg: Lesezeichen/My__Favorites/DELUXE LOUNGE, data: 1, priority: -, at_first: 0, not_before: 0)


Auf Deluxe will er zum Beispiel nicht umschalten...

Markus Bloch

Ändere bitte mal Zeile 1698 in 71_YAMAHA_AVR.pm folgendermaßen ab:

                        my $back_cmd = ((exists($hash->{MODEL}) and $hash->{MODEL} =~ /^RX-A\d{1,2}10|RX-V\d{1,2}67$/) ? "Back to Home" : "Return to Home");

Anschließend FHEM neustarten und dann Nochmal versuchen bitte und anschließend wieder die Log-Meldungen posten.

Danke

Gruß
Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

MegaData

#79
Also es sieht so aus als ob er generell nur einmal umschalten möchte und dann nicht mehr mag... Sind ein Haufen Zeilen in den wenigen Sekunden geschrieben worden:

edit: code ging hier nicht einzufügen - habs als Anhang hoch geladen...

Markus Bloch

Ja das Phänomen kenne ich. Ein anderer User hatte dasselbe Phänomen danach. Nach einem Neustart des Receivers funktionierte es dann plötzlich. Das scheint ein Firmware-Bug zu sein.

Gruß
Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

davidwohnthier

Hallo!
Erst einmal vielen Dank für die viele Hilfe und die tollen Dinge, die sich mit FHEM realisieren lassen. Ich lese schon die ganze Zeit mit und probiere herum, komme aber im Moment mit einem kleinen Problemchen beim Yamaha_AVR Modul nicht weiter. Es geht um den navigateListMenu Cmd. Ich habe einen Yamaha R-N500 Receiver. Er wird problemlos erkannt und lässt sich auch ohne Probleme steuern, dieser Command funktioniert aber leider nicht. Ich hab bisher alles versucht, aber komme nicht weiter. Vielleicht könnt ihr mir ja helfen. Tatsache ist, der Receiver antwortet mit dem 400er Fehler. Ich versuche mal das Log anzuhängen und vielleicht auch meine desc.xml, falls das jemandem etwas bringen sollte.

Folgendes sagt das Log nach dem Senden des Commands(verbose 5):

2016.04.06 00:05:34 5: YAMAHA_AVR (avr) - set avr navigateListMenu Bookmarks/My__Favorites/ORF FM4
2016.04.06 00:05:34 4: YAMAHA_AVR (avr) - append to queue of device avr "statusRequest basicStatus": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Basic_Status>GetParam</Basic_Status></Main_Zone></YAMAHA_AV>
2016.04.06 00:05:34 5: YAMAHA_AVR (avr) - no commands currently running, but queue has pending commands. preparing new request
2016.04.06 00:05:34 5: YAMAHA_AVR (avr) - checking cmd queue item: 0 (cmd: statusRequest, arg: basicStatus, data: 1, priority: -, at_first: 0, not_before: 0)
2016.04.06 00:05:34 5: YAMAHA_AVR (avr) - choosed item 0 as next command
2016.04.06 00:05:34 4: YAMAHA_AVR (avr) - send command "statusRequest basicStatus": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Basic_Status>GetParam</Basic_Status></Main_Zone></YAMAHA_AV>
2016.04.06 00:05:34 4: YAMAHA_AVR (avr) - append to queue of device avr "navigateListMenu Bookmarks/My__Favorites/ORF FM4": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><[CURRENT_INPUT_TAG]><List_Info>GetParam</List_Info></[CURRENT_INPUT_TAG]></YAMAHA_AV>
2016.04.06 00:05:34 5: YAMAHA_AVR (avr) - set avr ?
2016.04.06 00:05:35 4: YAMAHA_AVR (avr) - received HTTP code 200 for command "statusRequest basicStatus"
2016.04.06 00:05:35 4: YAMAHA_AVR (avr) - got response for "statusRequest basicStatus": <YAMAHA_AV rsp="GET" RC="0"><Main_Zone><Basic_Status><Power_Control><Power>On</Power><Sleep>Off</Sleep></Power_Control><Volume><Lvl><Val>-415</Val><Exp>1</Exp><Unit>dB</Unit></Lvl><Mute>Off</Mute></Volume><Input><Input_Sel>NET RADIO</Input_Sel><Input_Sel_Item_Info><Param>NET RADIO</Param><RW>RW</RW><Title></Title><Icon><On>/YamahaRemoteControl/Icons/icon067.png</On><Off></Off></Icon><Src_Name></Src_Name><Src_Number>1</Src_Number></Input_Sel_Item_Info></Input></Basic_Status></Main_Zone></YAMAHA_AV>
2016.04.06 00:05:35 5: YAMAHA_AVR (avr) - set avr ?
2016.04.06 00:05:35 5: YAMAHA_AVR (avr) - no commands currently running, but queue has pending commands. preparing new request
2016.04.06 00:05:35 5: YAMAHA_AVR (avr) - checking cmd queue item: 0 (cmd: navigateListMenu, arg: Bookmarks/My__Favorites/ORF FM4, data: 1, priority: -, at_first: 0, not_before: 0)
2016.04.06 00:05:35 5: YAMAHA_AVR (avr) - choosed item 0 as next command
2016.04.06 00:05:35 4: YAMAHA_AVR (avr) - send command "navigateListMenu Bookmarks/My__Favorites/ORF FM4": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><[CURRENT_INPUT_TAG]><List_Info>GetParam</List_Info></[CURRENT_INPUT_TAG]></YAMAHA_AV>
2016.04.06 00:05:35 4: YAMAHA_AVR (avr) - received HTTP code 400 for command "navigateListMenu Bookmarks/My__Favorites/ORF FM4"
2016.04.06 00:05:36 4: YAMAHA_AVR (avr) - append to queue of device avr "statusRequest basicStatus": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Basic_Status>GetParam</Basic_Status></Main_Zone></YAMAHA_AV>
2016.04.06 00:05:36 5: YAMAHA_AVR (avr) - no commands currently running, but queue has pending commands. preparing new request
2016.04.06 00:05:36 5: YAMAHA_AVR (avr) - checking cmd queue item: 0 (cmd: statusRequest, arg: basicStatus, data: 1, priority: -, at_first: 0, not_before: 0)
2016.04.06 00:05:36 5: YAMAHA_AVR (avr) - choosed item 0 as next command
2016.04.06 00:05:36 4: YAMAHA_AVR (avr) - send command "statusRequest basicStatus": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Basic_Status>GetParam</Basic_Status></Main_Zone></YAMAHA_AV>
2016.04.06 00:05:36 4: YAMAHA_AVR (avr) - received HTTP code 200 for command "statusRequest basicStatus"
2016.04.06 00:05:36 4: YAMAHA_AVR (avr) - got response for "statusRequest basicStatus": <YAMAHA_AV rsp="GET" RC="0"><Main_Zone><Basic_Status><Power_Control><Power>On</Power><Sleep>Off</Sleep></Power_Control><Volume><Lvl><Val>-415</Val><Exp>1</Exp><Unit>dB</Unit></Lvl><Mute>Off</Mute></Volume><Input><Input_Sel>NET RADIO</Input_Sel><Input_Sel_Item_Info><Param>NET RADIO</Param><RW>RW</RW><Title></Title><Icon><On>/YamahaRemoteControl/Icons/icon067.png</On><Off></Off></Icon><Src_Name></Src_Name><Src_Number>1</Src_Number></Input_Sel_Item_Info></Input></Basic_Status></Main_Zone></YAMAHA_AV>
2016.04.06 00:05:36 5: YAMAHA_AVR (avr) - set avr ?


Die desc.xml hab ich auf Dropbox hochgeladen, der link ist folgender: https://www.dropbox.com/s/hcnlkp5q7z7r9mf/desc.xml?dl=0

Vielleicht sieht ja jemand das Problem und kann mir helfen. Als Yamaha_NP (was ich ursprünglich dachte) wird der Receiver überhaupt nicht erkannt. Als AVR (Strenggenommen ist er das nicht, eigentlich ein reiner Stereo-Netzwerk-Receiver) funktioniert er auch tadellos, aber eben dieser eine Command funktioniert leider nicht.

Liebe Grüße,
David

Markus Bloch

Hallo David,

das Problem liegt hierbei an deinem Gerät. Ein bestimmtes XML-Tag welches für diese Funktion absolut notwendig ist, wird durch dein Gerät nicht gefüllt. Warum das so ist, kann ich nicht sagen. Eine Schnittstellenbeschreibung für dein Gerät habe ich aktuell nicht, werde ich bei Yamaha aber mal anfragen. Vielleicht lässt sich dann etwas machen.

Evtl. hilft auch ein Firmware-Update.

Auf die Schnelle lässt sich hier leider nichts machen.

Gruß
Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

davidwohnthier

Hallo Markus!

Vielen Dank für deine schnelle Antwort und Hilfe! Cool, dass du Yamaha extra nachfragst.
Firmware hatte ich anfangs auch vermutet und direkt auf die Neuste geupdatet. Mit der funktioniert es auch nicht.

Wäre schade, wenn es nicht funktioniert. Im Moment versuche ich die remoteControl Funktion zu nutzen (und mopidy so hinzubekommen, dass es per AirPlay spotify an den Yamaha sendet. Das funktioniert jedenfalls nicht..)

Liebe Grüße auf jeden Fall einmal

Markus Bloch

Hallo David,

ich habe gerade mal ein wenig recherchiert. Dein Modell ist eigentlich mit der Network Player Controller App via Smartphone/Tablet zu steuern. Die dabei verwendete Schnittstelle wird durch YAMAHA_NP angesteuert. Die Syntax ist leicht ähnlich zu der Schnittstelle die über die Yamaha AV Controller App gesteuert wird (in FHEM via YAMAHA_AVR).

Normalerweise sollte dein Modell daher mit YAMAHA_NP steuerbar sein. Dies wird hier im Forum durch ra666ack betreut und weiterentwickelt.

Ich warte mal ab, was die Spezifikation genau sagt, dann kann man mehr dazu sagen.

Gruß
Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

davidwohnthier

#85
Hallo Markus!

Das war ursprünglich auch mein Gedanke und jetzt auf deinen Hinweis hin habe ich es noch einmal probiert und jetzt wird der R-N500 vom Yamaha_NP Modul erkannt. Vorführeffekt... Danke schon einmal dafür!
Leider ist dort ein ähnlicher Befehl (wenn ich nicht blind bin) wie der besagt navigateListMenu Befehl (noch nicht vorhanden). Der Ordnung halber werde ich dies aber in dem dafür vorgesehenen Thread noch einmal ansprechen.

Danke schon einmal für deine Hilfe. Nebenbei: Der R-N500 lässt sich auf jeden Fall komplett auch mit dem AVR Modul steuern. Nur eben nicht der o.g. Befehl.

Liebe Grüße

David

edit:

Okay Rolle rückwärts. Mit Yamaha_NP lässt sich zwar ein und ausschalten. Das wechseln von Inputs oder irgend etwas anderes funktioniert leider nicht. Das Gerät scheint also mehr dem AVRs zu ähneln als den NPs...

Markus Bloch

Hallo David,

ich würde dir empfehlen einen neuen Thread zu deinem Receiver zu starten mit dem Hinweis, was mit YAMAHA_NP funktioniert und was nicht. Ich würde es besser finden, wenn sich ra666ack das ganze mal ansieht. Evtl. auch per PM darauf aufmerksam machen, da ich mir nicht sicher bin, wie regelmäßig er hier mitliest.

Zum Thema "navigateListMenu mit YAMAHA_NP" gibt es durchaus Kommandos. Allerdings sind diese etwas anders:

ZitatplayerListCursorDown  -  Befehl zur Navigation in Eingängen wie Net Radio oder Server. Befehl bewegt den Cursor nach unten. Nächste Zeile wird im Gerät angezeit.
playerListCursorReturn  -  Befehl zur Navigation in Eingängen wie Net Radio oder Server. Befehl kehrt zurück vom hierarchischen, untergeordneten Menü. Übergeordnetes Menü wird angezeigt.
playerListCursorUp  -  Befehl zur Navigation in Eingängen wie Net Radio oder Server. Befehl bewegt den Cursor nach oben. Vorherige Zeile wird im Gerät angezeit.
playerListGetList  -  Befehl zur Navigation in Eingängen wie Net Radio oder Server. Befehl liefert Informationen (Readings) relevant zur Menünavigation.
playerListJumpLine [value]  -  Befehl zur Navigation in Eingängen wie Net Radio oder Server. Befehl spring zur angegebenen Zeile.
playerListSelectLine [value]  -  Befehl zur Navigation in Eingängen wie Net Radio oder Server. Befehl aktiviert die angegebenen Zeile. Falls die Zeile das Attribut 'Container' (Ordner) besitzt, wird dieser geöffnet. Falls 'Item' wird die Wiedergabe gestartet.

Das sind die Low-Level Kommandos der Yamaha-Schnittstelle. Ich habe um diese Low-Level Kommandos eine Logik drumrum gebaut die anhand einer Pfadangabe entsprechend mit diesen Kommandos selbstständig durch das Menü navigiert und immer wieder prüft, wie die Liste dannach aussieht, solange bis das gewünschte Element erreicht ist. Das ganze heißt bei YAMAHA_AVR dann navigateListMenu.

Gruß
Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

Markus Bloch

Antwort von Yamaha:

ZitatSehr geehrter Herr Bloch,

vielen Dank für Ihre Anfrage zu dem R-N500.

Das Netzwerk Protokoll der R-N500 wurde von unseren Japanischen Entwicklern nicht Veröffentlicht.

Mit freundlichen Grüßen
Ihr Yamaha Service Team
Kay Brünner
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

cc13

Hallo Markus,

du bist fleißig was das Yamaha-Modul angeht und ich habe mir den Thread jetzt durchgelesen.

Mit der alten Vorgehensweise, die Net Radio Sender per "Tastencodes" auszuwählen, hat es geklappt. Nun habe ich die neueste Version deines Moduls auf meinem FHEM und probiere es mit:

set Wz.Stereoanlage navigateListMenu Lesezeichen/My__Favorites/foo:Jump

Der Yamaha RX-V473 wechselt bis zum gespeicherten Radio Sender und bleibt dort stehen, ich muss dann auf der Fernbedienung den Enter-Button drücken, damit er ausgewählt wird. Hast du eine Idee?

Viele Grüße,
CC13

Markus Bloch

Versuch mal:

set Wz.Stereoanlage navigateListMenu Lesezeichen/My__Favorites/Jump

Gruß
Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)