FHEM Forum

FHEM - Anwendungen => Multimedia => Thema gestartet von: Bartimaus am 07 Februar 2014, 19:32:44

Titel: Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Bartimaus am 07 Februar 2014, 19:32:44
Hallo,

gem.  dieser Anleitung http://fhem.de/commandref_DE.html#YAMAHA_AVR

versuche ich meinen Yamaha zu steuern.
Hierzu habe ich in der 99_MyUtils.pm die folgende Funktion angelegt:

sub startNetRadio
{
  fhem "set AV_Receiver_Zone2 on";
  sleep 3;
  fhem "set AV_Receiver_Zone2 input netradio";
  sleep 3;
  fhem "set AV_Receiver_Zone2 remoteControl enter";
  sleep 2;
  fhem "set AV_Receiver_Zone2 remoteControl down";
  sleep 2;
  fhem "set AV_Receiver_Zone2 remoteControl down";
  sleep 2;
  fhem "set AV_Receiver_Zone2 remoteControl enter";
}


Dies entspricht dem Ablauf auf meiner FB, wenn ich z.B. als Radiostation den 3. Eintrag bei meinen Lesezeichen auswählen will.

Wenn ich jetzt das Kommando: {startNetRadio()} in der FHEM Kommandozeile eingebe, schaltet der Yamaha ein, schaltet auch auf Zone2 und nimmt die Quelle "Netradio". Dort verharrt er aber, d.h. er nimmt die Befehle "enter" und "down" nicht an.

Hat jemand ne Idee ?

Hab den Beitrag zuerst unter Anfängerfragen gepostet, denke aber, hier ist er besser aufgehoben.
@admin/mod: Bitte Posting unter Anfängerfragen löschen.
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Markus Bloch am 07 Februar 2014, 21:07:54
Hallo Bartimaus,

leider habe ich keinen Receiver, welcher Zonen supportet, daher wurde das Zonen-Feature auch nur aufgrund der tollen Mithilfe von anderen FHEM Nutzern hier aus dem Forum entwickelt.

Daher musst du mir ein wenig helfen bei dem Thema.

Steht denn "Lesezeichen" da wenn der Receiver auf netradio umschaltet? Also das Radio-Menü.

Versuch mal die Befehle enter und down nicht über Zone 2 sondern über die Main-Zone zu schicken.

Viele Grüße

Markus
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Bartimaus am 07 Februar 2014, 22:55:06
Hi Markus,

danke für die schnelle Rückmeldung. Ich musste mir jetzt aber erst das Spiel anschauen... :)

Ja, der Receiver steht auf "Lesezeichen".
Ich habe jetzt mal die Zone2 aus dem Befehl rausgenommen, und siehe da, es funktioniert tatsächlich. Schaltet ordnungsgemäß um bis zum Wunschsender.

Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Bartimaus am 08 Februar 2014, 12:12:57
Hab das jetzt mal als Zwischenlösung genommen.

sub startNetRadio
{
  fhem "set AV_Receiver on";
  sleep 2;
  fhem "set AV_Receiver input netradio";
  sleep 2;
  fhem "set AV_Receiver remoteControl enter";
  sleep 2;
  fhem "set AV_Receiver remoteControl down";
  sleep 2;
  fhem "set AV_Receiver remoteControl down";
  sleep 2;
  fhem "set AV_Receiver remoteControl down";
  sleep 2;
  fhem "set AV_Receiver remoteControl enter";
  sleep 2;
  fhem "set AV_Receiver mute on";
  sleep 2;
  fhem "set AV_Receiver_Zone2 on";
  sleep 5;
  fhem "set AV_Receiver off";
  }

Aber schöne wäre eine Schaltung ohne Main-Zone....  ;)
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Markus Bloch am 08 Februar 2014, 15:43:46
Hallo Bartimaus,

das kann ich nachvollziehen. Leider kann ich dir momentan keine andere Lösung anbieten, da ich wie gesagt selber keinen solchen Receiver habe. Falls du eine bessere Lösung findest, lass es mich wissen.

Viele Grüße

Markus
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Bartimaus am 10 Februar 2014, 09:20:01
Guten Morgen,

ich habe versucht, den Yamaha morgens automatisch zu starten.
hierzu habe ich in der cfg folgenden Eintrag gemacht, der beim speichern auch akzeptiert wird:

define startNetRadio at 08:00 set startNetRadio;

Leider wird der Befehl nicht ausgeführt. Uhrzeit des Raspi stimmt.

Sorry für diese Anfängerfrage, aber das sind meine ersten Gehversuche...

LG
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Markus Bloch am 10 Februar 2014, 09:59:45
Hallo Bartimaus,

das liegt an dem falschen Kommando:


define startNetRadio at 08:00 {startNetRadio()}


Das Kommando so wie du es in der FHEM Oberfläche eintippst kommt einfach hinten drann.

Viele Grüße

Markus
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Bartimaus am 10 Februar 2014, 10:04:52
Super, wieder was gelernt, vielen Dank !!
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Bartimaus am 10 Februar 2014, 13:31:17
Hallo,

mit dem o.g. Befehl startet mein AV-Receiver nun pünktlich täglich um 08:00.
Jetzt hätte ich aber gerne unterschiedliche Einschaltzeiten für Wochentage+Wochenende.

Wenn ich für Wochentage diesen Befehl in die fhem.cfg einbinde:
define StartInetRadio1 at *13:28 {{fhem ("{startNetRadio()}")} if($wday == 1 || $wday == 2  || $wday == 3  || $wday == 4  || $wday == 5 ) }


Bekomme ich im Logfile diese Fehlermeldung:
StartInetRadio1: syntax error at (eval 1206) line 1, at EOF

Stehe da gerade etwas auf dem Schlauch, kann da jemand bitte helfen ?
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Bartimaus am 10 Februar 2014, 16:26:16
So funktioniert es  ;D

Zitatdefine StartInetRadio1 at *07:45 { if($wday == 1 || $wday == 2  || $wday == 3  || $wday == 4  || $wday == 5 ){fhem ("{startNetRadio()}")} }

define StartInetRadio2 at *09:30 { if($wday == 6 || $wday == 0 ){fhem ("{startNetRadio()}")} }

define StopInetRadio at 20:00 set AV_Receiver_Zone2 off
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Markus Bloch am 10 Februar 2014, 21:58:48
vereinfacht:


define StartInetRadio1 at *07:45 { if(!$we){startNetRadio()} }

define StartInetRadio2 at *09:30 { if($we){startNetRadio()} }

define StopInetRadio at 20:00 set AV_Receiver_Zone2 off
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Bartimaus am 11 Februar 2014, 09:01:44
Auch gut  ;)
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Bartimaus am 11 Februar 2014, 14:17:07
So, ein erfüllter Wunsch weckt zwei Neue.

Wie kann ich denn jetzt einen "Schalter" anlegen, der auf Knopdruck vom Webfrontend oder FHEMobile den Befehl "StartInetRadio2" auslöst ?  ::)
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Markus Bloch am 11 Februar 2014, 18:03:57
wie genau stellst du dir dass den vor? wo soll der "Schalter" sein?
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Bartimaus am 11 Februar 2014, 22:50:48
Ich habe einen Raum "HiFi". Dort möchte ich einen Schalter definieren, der auf Knopfdruck nicht nur den Receiver einschaltet, sondern direkt das hinterlegte Skript aus der 99_Utils startet (Inetradio mit Wunschsender). Auf diese Weis spare ich mir die Hangelei mit der Yamaha-App.
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Markus Bloch am 13 Februar 2014, 20:40:58
Nunja, mit einem Einzeiler ist das nicht zu machen. Aber man könnte das mittels Kombination aus dummy und notify lösen:

define Shortcut dummy
attr Shortcut setList startNetRadio
attr webcmd startNetRadio

define notfiy_Shortcut notify Shortcut:startNetRadio {startNetRadio()}

Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Lucer am 21 Februar 2014, 15:52:27
Hallo :)
Ich möchte auch einen Schalter (Web Button) in meinem "room YAMAHA_AV"  anlegen mit dem ich den Befehl {startNetRadio()} ausführe !
Die 99_myUtils.pm ist angelegt für die Befehlsfolge um auf den gewünschten netRadio Sender zu springen. :)
gebe ich den Befehl "{startNetRadio()}"in die Eingabe ein startet der Receiver bis zum gewünschten Sender :)
mit dem Timerbefehl funktioniert es auch wunderbar.  :)

Also ist die größte Arbeit schon gemacht!

Ich poste hier mal meine YAMAHA_AV.cfg !!!

#########################################################
######-------Yamaha AV- Reciever--------------------------------------------------######
#########################################################
     
###- Wenn keine Zone angegeben ist, wird standardmäßig "mainzone" verwendet-###

define AV_Receiver YAMAHA_AVR 192.168.178.18
attr AV_Receiver model RX-V673
attr AV_Receiver room YAMAHA_AV
attr AV_Receiver volume-smooth-change 1
attr AV_Receiver webCmd on:off:volume:input:remoteControl

###----Starte nach Timer-----###
at 19:40 {startNetRadio()}

###---ENDE---#############################

Mit diesem Befehl bekomme ich es nicht hin!
siehe hier !  ???

############################################
define Shortcut dummy
attr Shortcut setList startNetRadio
attr AV_Receiver webCmd startNetRadio
define notfiy_Shortcut notify Shortcut:startNetRadio {startNetRadio()}
############################################

was mache ich da falsch?? :-\ :-\





Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Markus Bloch am 22 Februar 2014, 11:26:32
Zitat von: Lucer am 21 Februar 2014, 15:52:27

Mit diesem Befehl bekomme ich es nicht hin!
siehe hier !  ???

############################################
define Shortcut dummy
attr Shortcut setList startNetRadio
attr AV_Receiver webCmd startNetRadio
define notfiy_Shortcut notify Shortcut:startNetRadio {startNetRadio()}
############################################

was mache ich da falsch?? :-\ :-\

Muss das nicht auch so aussehen:

define Shortcut dummy
attr Shortcut setList startNetRadio
attr Shortcut webCmd startNetRadio

define notfiy_Shortcut notify Shortcut:startNetRadio {startNetRadio()}


Und bitte verwende für Code-Schnipsel und Konfig-Auszüge immer die Option "Code Einfügen" (In der Formatierungsleiste der "#"-Button). Sonst blickt man da garnicht mehr durch.

Viele Grüße

Markus
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Lucer am 22 Februar 2014, 14:58:14
Danke für die Hilfe :)
stimmt mein Code war falsch jetzt gehts!
hatte den Code verändert weil ich den nicht im room YAMAHA_AV hatte.
Ich habe das jetzt unter Unsorted gefunden und in room YAMAHA_AV verschoben!

:) :)
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Lucer am 23 Februar 2014, 14:04:15
Eine Sache gelöst möchte man schon das nächste hinzufügen ???
Ich möchte auf meiner Seite "room YAMAHA_AV" den Titel der gerade im Receiver gespielt wird
anzeigen.
Auf der Seite Internals bei Readings ist der Titel unter currentTitle zu sehen!
Frage: wie bekomme ich das Reading currentTitle im room YAMAHA_AV dargestellt?
habe ein paar screenshots angehängt und meine YAMAHA_AV.cfg

######-------Yamaha AV- Reciever------######
############################################

     
#--- Wenn keine Zone angegeben ist, wird standardmäßig "mainzone" verwendet

define AV_Receiver YAMAHA_AVR 192.168.178.18
attr AV_Receiver model RX-V673
attr AV_Receiver room YAMAHA_AV
attr AV_Receiver volume-smooth-change 1
attr AV_Receiver webCmd on:off:volume:input:remoteControl

### startNetradio auf Antenne Bayern Top 40 - siehe 99_myUtils.pm----#####

define Antenne dummy
attr Antenne room YAMAHA_AV
attr Antenne setList Antenne
attr Antenne webCmd start_Antenne
define notfiy_Antenne notify Antenne:start_Antenne {startNetRadio()}

###----Starte nach Timer-----###
#at 19:40 {startNetRadio()}


#--- Definition der zweiten Zone
define AV_Receiver_Zone2 YAMAHA_AVR 192.168.178.18 zone2
attr AV_Receiver_Zone2 model RX-V673
attr AV_Receiver_Zone2 room YAMAHA_AV
attr AV_Receiver_Zone2 volume-smooth-change 1





Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Markus Bloch am 23 Februar 2014, 14:06:21
Schau dir mal das Modul readingsGroup von justme an. Das ist für sowas da.

Allerdings kann ich dir dazu nicht weiter helfen, da ich es selbst nicht nutze ;-)

Viele Grüße

Markus
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Schlimbo am 20 Juli 2015, 22:03:56
Zitat von: Bartimaus am 08 Februar 2014, 12:12:57
Hab das jetzt mal als Zwischenlösung genommen.

sub startNetRadio
{
  fhem "set AV_Receiver on";
  sleep 2;
  fhem "set AV_Receiver input netradio";
  sleep 2;
  fhem "set AV_Receiver remoteControl enter";
  sleep 2;
  fhem "set AV_Receiver remoteControl down";
  sleep 2;
  fhem "set AV_Receiver remoteControl down";
  sleep 2;
  fhem "set AV_Receiver remoteControl down";
  sleep 2;
  fhem "set AV_Receiver remoteControl enter";
  sleep 2;
  fhem "set AV_Receiver mute on";
  sleep 2;
  fhem "set AV_Receiver_Zone2 on";
  sleep 5;
  fhem "set AV_Receiver off";
  }

Aber schöne wäre eine Schaltung ohne Main-Zone....  ;)

Hallo Markus,

ich grabe das Thema noch mal aus.

Bin gerade dabei eine Lösung zu finden den Netradio der Zone2 zu steuern, ohne dabei über die Main Zone zu gehen.
Die Smartphone App kann das ja auch, also muss es ja einen Möglichkeit geben.

was ich bis jetzt heraus gefunden habe ist, das ich mit "GET"><NET_RADIO><List_Info>GetParam</List_Info></NET_RADIO></YAMAHA_AV>
ein Inhaltsverzeichnis der Favoriten zurück bekomme (auch wenn die MainZone aus ist):

POST /YamahaRemoteControl/ctrl HTTP/1.1
CONTENT-TYPE: text/xml; charset="utf-8"
User-Agent: AV_CONTROLLER/4.30 (Android)
Accept: */*
Accept-Language: en-us
Content-Length: 125
Host: 192.168.x.xxx:80
Connection: Keep-Alive

<?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><NET_RADIO><List_Info>GetParam</List_Info></NET_RADIO></YAMAHA_AV>HTTP/1.1 200 OK
Server: AV_Receiver/3.1 (RX-V773)
Content-Type: text/xml; charset="utf-8"
Content-Length: 874

<YAMAHA_AV rsp="GET" RC="0"><NET_RADIO><List_Info><Menu_Status>Ready</Menu_Status><Menu_Layer>1</Menu_Layer><Menu_Name>NET RADIO</Menu_Name><Current_List><Line_1><Txt>Lesezeichen</Txt><Attribute>Container</Attribute></Line_1><Line_2><Txt>Hinzugef..gten Radiostationen</Txt><Attribute>Container</Attribute></Line_2><Line_3><Txt>L..nder</Txt><Attribute>Container</Attribute></Line_3><Line_4><Txt>Musikrichtungen</Txt><Attribute>Container</Attribute></Line_4><Line_5><Txt>Neue Sender</Txt><Attribute>Container</Attribute></Line_5><Line_6><Txt>Popul..re Sender</Txt><Attribute>Container</Attribute></Line_6><Line_7><Txt>Podcasts</Txt><Attribute>Container</Attribute></Line_7><Line_8><Txt>Hilfe</Txt><Attribute>Container</Attribute></Line_8></Current_List><Cursor_Position><Current_Line>1</Current_Line><Max_Line>8</Max_Line></Cursor_Position></List_Info></NET_RADIO></YAMAHA_AV>


In das Untermenü "Lesezeichen" komme ich dann mit: "PUT"><NET_RADIO><List_Control><Direct_Sel>Line_1</Direct_Sel></List_Control></NET_RADIO></YAMAHA_AV>

POST /YamahaRemoteControl/ctrl HTTP/1.1
CONTENT-TYPE: text/xml; charset="utf-8"
User-Agent: AV_CONTROLLER/4.30 (Android)
Accept: */*
Accept-Language: en-us
Content-Length: 154
Host: 192.168.x.xxx:80
Connection: Keep-Alive

<?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="PUT"><NET_RADIO><List_Control><Direct_Sel>Line_1</Direct_Sel></List_Control></NET_RADIO></YAMAHA_AV>HTTP/1.1 200 OK
Server: AV_Receiver/3.1 (RX-V773)
Content-Type: text/xml; charset="utf-8"
Content-Length: 117

<YAMAHA_AV rsp="PUT" RC="0"><NET_RADIO><List_Control><Direct_Sel></Direct_Sel></List_Control></NET_RADIO></YAMAHA_AV>



"GET"><NET_RADIO><List_Info>GetParam</List_Info></NET_RADIO></YAMAHA_AV> liefert mir dann wieder dessen Untermenü zurück:

POST /YamahaRemoteControl/ctrl HTTP/1.1
CONTENT-TYPE: text/xml; charset="utf-8"
User-Agent: AV_CONTROLLER/4.30 (Android)
Accept: */*
Accept-Language: en-us
Content-Length: 125
Host: 192.168.x.xxx:80
Connection: Keep-Alive

<?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><NET_RADIO><List_Info>GetParam</List_Info></NET_RADIO></YAMAHA_AV>HTTP/1.1 200 OK
Server: AV_Receiver/3.1 (RX-V773)
Content-Type: text/xml; charset="utf-8"
Content-Length: 808

<YAMAHA_AV rsp="GET" RC="0"><NET_RADIO><List_Info><Menu_Status>Ready</Menu_Status><Menu_Layer>2</Menu_Layer><Menu_Name>Lesezeichen</Menu_Name><Current_List><Line_1><Txt>My__Favorites</Txt><Attribute>Container</Attribute></Line_1><Line_2><Txt></Txt><Attribute>Unselectable</Attribute></Line_2><Line_3><Txt></Txt><Attribute>Unselectable</Attribute></Line_3><Line_4><Txt></Txt><Attribute>Unselectable</Attribute></Line_4><Line_5><Txt></Txt><Attribute>Unselectable</Attribute></Line_5><Line_6><Txt></Txt><Attribute>Unselectable</Attribute></Line_6><Line_7><Txt></Txt><Attribute>Unselectable</Attribute></Line_7><Line_8><Txt></Txt><Attribute>Unselectable</Attribute></Line_8></Current_List><Cursor_Position><Current_Line>1</Current_Line><Max_Line>1</Max_Line></Cursor_Position></List_Info></NET_RADIO></YAMAHA_AV>


usw...

Das letzten Untermenü, in dem sich dann die Radio Sender befinden:
POST /YamahaRemoteControl/ctrl HTTP/1.1
CONTENT-TYPE: text/xml; charset="utf-8"
User-Agent: AV_CONTROLLER/4.30 (Android)
Accept: */*
Accept-Language: en-us
Content-Length: 125
Host: 192.168.x.xxx:80
Connection: Keep-Alive

<?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><NET_RADIO><List_Info>GetParam</List_Info></NET_RADIO></YAMAHA_AV>HTTP/1.1 200 OK
Server: AV_Receiver/3.1 (RX-V773)
Content-Type: text/xml; charset="utf-8"
Content-Length: 866

<YAMAHA_AV rsp="GET" RC="0"><NET_RADIO><List_Info><Menu_Status>Ready</Menu_Status><Menu_Layer>3</Menu_Layer><Menu_Name>My__Favorites</Menu_Name><Current_List><Line_1><Txt>Hot Mix Radio - Hip Hop</Txt><Attribute>Item</Attribute></Line_1><Line_2><Txt>Inthemixx Radio</Txt><Attribute>Item</Attribute></Line_2><Line_3><Txt>ABetterRadio.com - Old School Rap</Txt><Attribute>Item</Attribute></Line_3><Line_4><Txt>181.fm - True RnB</Txt><Attribute>Item</Attribute></Line_4><Line_5><Txt>Cold Busted Radio</Txt><Attribute>Item</Attribute></Line_5><Line_6><Txt>RnBRadio</Txt><Attribute>Item</Attribute></Line_6><Line_7><Txt>Rap Radio</Txt><Attribute>Item</Attribute></Line_7><Line_8><Txt></Txt><Attribute>Unselectable</Attribute></Line_8></Current_List><Cursor_Position><Current_Line>1</Current_Line><Max_Line>7</Max_Line></Cursor_Position></List_Info></NET_RADIO></YAMAHA_AV>


über den Befehl:  "PUT"><NET_RADIO><List_Control><Direct_Sel>Line_4</Direct_Sel></List_Control></NET_RADIO></YAMAHA_AV>
kann ich dann einen Sender auswählen (in diesem Beispiel Line_4 = Sender "181.fm - True RnB")

POST /YamahaRemoteControl/ctrl HTTP/1.1
CONTENT-TYPE: text/xml; charset="utf-8"
User-Agent: AV_CONTROLLER/4.30 (Android)
Accept: */*
Accept-Language: en-us
Content-Length: 154
Host: 192.168.x.xxx:80
Connection: Keep-Alive

<?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="PUT"><NET_RADIO><List_Control><Direct_Sel>Line_4</Direct_Sel></List_Control></NET_RADIO></YAMAHA_AV>HTTP/1.1 200 OK
Server: AV_Receiver/3.1 (RX-V773)
Content-Type: text/xml; charset="utf-8"
Content-Length: 117

<YAMAHA_AV rsp="PUT" RC="0"><NET_RADIO><List_Control><Direct_Sel></Direct_Sel></List_Control></NET_RADIO></YAMAHA_AV>


Zum übergeordneten Ordner kommt man mit: "PUT"><NET_RADIO><List_Control><Cursor>Return</Cursor></List_Control></NET_RADIO></YAMAHA_AV>

POST /YamahaRemoteControl/ctrl HTTP/1.1
CONTENT-TYPE: text/xml; charset="utf-8"
User-Agent: AV_CONTROLLER/4.30 (Android)
Accept: */*
Accept-Language: en-us
Content-Length: 146
Host: 192.168.x.xxx:80
Connection: Keep-Alive

<?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="PUT"><NET_RADIO><List_Control><Cursor>Return</Cursor></List_Control></NET_RADIO></YAMAHA_AV>HTTP/1.1 200 OK
Server: AV_Receiver/3.1 (RX-V773)
Content-Type: text/xml; charset="utf-8"
Content-Length: 109

<YAMAHA_AV rsp="PUT" RC="0"><NET_RADIO><List_Control><Cursor></Cursor></List_Control></NET_RADIO></YAMAHA_AV>


Ist es Möglich das irgendwie in den Modul einzubauen?
Meine Perl Kenntnisse sind leider sehr gering, so das ich deine Hilfe bräuchte, würde natürlich helfen wo ich kann.

Gruß Schlimbo



Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Markus Bloch am 21 Juli 2015, 13:14:48
Hallo Schlimbo,

das ist korrekt, nur ist die Frage, wie stellst du dir das im YAMAHA_AVR Modul vor? Das Abfragen der verfügbaren Favoriten währe kein Problem.

Nur das starten eines Radio-Senders aus der Favoritenliste ist mit einer Vielzahl an Befehlen verbunden, da man dazu folgendes durchführen muss:


Es ist leider nicht Möglich einen Favoriten sofort zu starten, ohne durch das Menü zu hangeln. Sollte der gewünschte Sender auf der 2. oder 3. Seite sein, muss man vorher noch entsprechend auf die jeweilige Seite vorblättern usw. Jedesmal muss man dabei mind. 1 Sekunde warten, bis die Menüliste aufgebaut ist.

Das halte ich aktuell als recht schwierig dies generisch zu implementieren, daher der Vorschlag in der Commandref die notwendigen Einzel-Befehle sich in eine Funktion zu packen.

Ich habe das Beispiel dazu in der Commandref nochmal optimiert, damit es nicht das gesamte FHEM System lahmlegt.

Viele Grüße

Markus
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Schlimbo am 21 Juli 2015, 16:46:50
Hallo Markus,

Ja, du hast recht, das direkte wählen eines Senders geht so auch nicht,
aber momentan kann man den Sender der Zone2 nur verstellen, wenn man die Main Zone auch auf Netradio umstellt,
da die Navigation momentan über die Cursor Steuerung (Cursor_Control) realisiert ist.
Hier wäre es schon, wenn dein Modul auch die Menü-Navigations-Befehle (List_Control) unterstützen würde,
da diese unabhängig von Main Zone und für jeden Eingang (iPot_USB;USB; NET_RADIO;SERVER;Napster) separat funktionieren,
ohne einen anderen Eingang zu beeinflussen.

Nice to have wäre auch, wenn dein Modul die Menü Ausgabe zurück geben würde, um nicht blind Navigieren zu müssen.
Schön wäre es, wenn das Modul immer die aktuelle List_info bereitstellt und diese in ein Auswahlmenü darstellt, das könnte dann in etwa so aussehen:

(http://forum.fhem.de/index.php?action=dlattach;topic=19896.0;attach=35031)

weiß jedoch nicht ob das dann nicht zu aufwendig wird.


um ein Sender zu wählen müsste man dann zwar immer noch eine Sequenz mit einzelnen Befehle senden
und nach jedem Befehl 1s Warten, aber es würde unabhängig von der Main Zone funktionieren.

Auch gibt es über List_Control den Befehl: <Cursor>Return to Home</Cursor ,
mit diesen Befehl könnte man am Anfang einer Sequenz an eine definierte Stelle Springen.


Gruß Schlimbo
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Schlimbo am 23 Juli 2015, 21:41:16
Hallo Markus

Hatte heute wieder etwas Zeit zum testen,
War mit "Cursor_Control" nicht ganz richtig gelegen, es wird im Modul nur bei der Serie RX-Vx75 verwendet.
Jedoch geht das "List_Control" im Modul momentan nur direkt auf die Zone (cmd=\"PUT\"><$zone><$control_tag>)
und nicht auf die separaten Eingänge (z.B. cmd=\"PUT\"><NET_RADIO><List_Control>).
Spricht hier etwas dagegen, die Steuerungsbefehle immer auf den momentan aktiven Eingang zu führen?

Bin mir auch nicht sicher ob bei Zone2 die "remoteControl" Befehle überhaupt unterstützt werden, bekomme folgende Meldungen im log:
2015.07.23 17:15:59 3: YAMAHA_AVR (AV_Receiver_Zone2) - Could not execute "remoteControl display": received return code 2
2015.07.23 17:15:07 3: YAMAHA_AVR (AV_Receiver_Zone2) - Could not execute "remoteControl up": received return code 2
2015.07.23 17:14:09 3: YAMAHA_AVR (AV_Receiver_Zone2) - Could not execute "remoteControl option": received return code 2
2015.07.23 17:13:35 3: YAMAHA_AVR (AV_Receiver_Zone2) - Could not execute "remoteControl enter": received return code 2
2015.07.23 17:12:54 3: YAMAHA_AVR (AV_Receiver_Zone2) - Could not execute "remoteControl down": received return code 2

Kann das jemand bestätigen?

Habe auch schon wieder neue Funktionen gefunden wie z.b. eine Funktion um zu prüfen ob ein Update vorhanden ist:
cmd="GET"><System><Misc><Update><YAMAHA_Network_Site><Status>GetParam</Status></YAMAHA_Network_Site></Update></Misc></System></YAMAHA_AV>
Könntest du das bitte in ein Reading übernehmen? Dann könnte man sich durch FHEM benachrichtigen lassen wenn eine neue Firmware vorhanden ist.

Noch ein wichtiges Feature für mich wäre es den "Party Modus" zu Steuern.
cmd="PUT"><System><Party_Mode><Mode>Off</Mode></Party_Mode></System></YAMAHA_AV>

Bei der Tuner Steuerung wird momentan "tunerPresetUp" und "tunerPresetDown" unterstützt. Könntest du hier auch noch das direkt Wählen eines Senders mit aufnehmen?
cmd="PUT"><Tuner><Play_Control><Preset><Preset_Sel>1</Preset_Sel></Play_Control></Tuner>
cmd="PUT"><Tuner><Play_Control><Preset><Preset_Sel>2</Preset_Sel></Play_Control></Tuner>
cmd="PUT"><Tuner><Play_Control><Preset><Preset_Sel>3</Preset_Sel></Play_Control></Tuner>   usw..

Im Anhang habe ich auch mal die YamahaRemoteControl/desc.xml angefügt, die man über "http://IP des receivers/YamahaRemoteControl/desc.xml" erhält, in dieser stehen alle möglichen Steuerbefehle.

Gruß Schlimbo

Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Markus Bloch am 23 Juli 2015, 22:43:47
Hallo Schlimbo,

ja, das liese sich machen, sobald SourceForge wieder läuft und ich ins SVN einchecken kann. Momentan ist das seit Tagen down.
Viele Grüße

Markus
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Schlimbo am 18 August 2015, 20:12:36
Hallo Markus,

bist du hier schon weiter gekommen?
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Markus Bloch am 18 August 2015, 22:17:46
Hallo Schlimbo,

mangels Zeit leider noch nicht.

Wird wohl auch noch etwas dauern.

Tut mir leid

Gruß
Markus
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Schlimbo am 18 August 2015, 22:49:03
Okay, kein Problem,  ich warte :)
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Markus Bloch am 18 August 2015, 23:48:15
Hallo Schlimbo,

den Firmware-Update habe ich eingebracht. Den Rest muss ich später mal angehen.

Für den Party Mode bräuchte ich mal ein paar Traces, da mein Receiver keine Zonen hat. Insbesondere:

cmd="GET"><System><Party_Mode>GetParam</Party_Mode></System></YAMAHA_AV>
cmd="GET"><System><Party_Mode><Mode>GetParam</Mode></Party_Mode></System></YAMAHA_AV>
cmd="GET"><System><Party_Mode><Target_Zone>GetParam</Target_Zone></Party_Mode></System></YAMAHA_AV>
cmd="GET"><System><Party_Mode><Volume>GetParam</Volume></Party_Mode></System></YAMAHA_AV>

Danke

Gruß
Markus
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Schlimbo am 19 August 2015, 19:55:13
Hi Markus,

hier die Befehle mit deren Antwort:

<YAMAHA_AV cmd="GET"><System><Party_Mode>GetParam</Party_Mode></System></YAMAHA_AV>
<YAMAHA_AV rsp="GET" RC="2"></YAMAHA_AV>

<YAMAHA_AV cmd="GET"><System><Party_Mode><Mode>GetParam</Mode></Party_Mode></System></YAMAHA_AV>
<YAMAHA_AV rsp="GET" RC="0"><System><Party_Mode><Mode>On</Mode></Party_Mode></System></YAMAHA_AV>

<YAMAHA_AV cmd="GET"><System><Party_Mode><Target_Zone>GetParam</Target_Zone></Party_Mode></System></YAMAHA_AV>
<YAMAHA_AV rsp="GET" RC="0"><System><Party_Mode><Target_Zone><Zone_2>Enable</Zone_2></Target_Zone></Party_Mode></System></YAMAHA_AV>

<YAMAHA_AV cmd="GET"><System><Party_Mode><Volume>GetParam</Volume></Party_Mode></System></YAMAHA_AV>
<YAMAHA_AV rsp="GET" RC="2"></YAMAHA_AV>



und noch ein paar andere:
<YAMAHA_AV cmd="GET"><System><Misc><Network><Network_Standby>GetParam</Network_Standby></Network></Misc></System></YAMAHA_AV>
<YAMAHA_AV rsp="GET" RC="0"><System><Misc><Network><Network_Standby>On</Network_Standby></Network></Misc></System></YAMAHA_AV>


<YAMAHA_AV cmd="GET"><Main_Zone><Basic_Status>GetParam</Basic_Status></Main_Zone></YAMAHA_AV>
<YAMAHA_AV rsp="GET" RC="0"><Main_Zone><Basic_Status><Power_Control><Power>On</Power><Sleep>Off</Sleep></Power_Control><Volume><Lvl><Val>-450</Val><Exp>1</Exp><Unit>dB</Unit></Lvl><Mute>Off</Mute><Subwoofer_Trim><Val>5</Val><Exp>1</Exp><Unit>dB</Unit></Subwoofer_Trim></Volume><Input><Input_Sel>HDMI1</Input_Sel><Input_Sel_Item_Info><Param>HDMI1</Param><RW>RW</RW><Title>HDMI1 SAT</Title><Icon><On>/YamahaRemoteControl/Icons/icon004.png</On><Off></Off></Icon><Src_Name></Src_Name><Src_Number>1</Src_Number></Input_Sel_Item_Info></Input><Surround><Program_Sel><Current><Straight>Off</Straight><Enhancer>On</Enhancer><Sound_Program>7ch Stereo</Sound_Program></Current></Program_Sel><_3D_Cinema_DSP>Auto</_3D_Cinema_DSP></Surround><Party_Info>On</Party_Info><Sound_Video><Tone><Bass><Val>0</Val><Exp>1</Exp><Unit>dB</Unit></Bass><Treble><Val>0</Val><Exp>1</Exp><Unit>dB</Unit></Treble></Tone><Pure_Direct><Mode>Off</Mode></Pure_Direct><HDMI><Standby_Through_Info>Off</Standby_Through_Info><Output><OUT_1>On</OUT_1><OUT_2>On</OUT_2><OUT_2_Info>On</OUT_2_Info></Output></HDMI><Adaptive_DRC>Auto</Adaptive_DRC><Dialogue_Adjust><Dialogue_Lift>0</Dialogue_Lift><Dialogue_Lvl>0</Dialogue_Lvl></Dialogue_Adjust></Sound_Video></Basic_Status></Main_Zone></YAMAHA_AV>

<YAMAHA_AV cmd="GET"><Zone_2><Basic_Status>GetParam</Basic_Status></Zone_2></YAMAHA_AV>
<YAMAHA_AV rsp="GET" RC="0"><Zone_2><Basic_Status><Power_Control><Power>On</Power><Sleep>Off</Sleep></Power_Control><Volume><Lvl><Val>-370</Val><Exp>1</Exp><Unit>dB</Unit></Lvl><Mute>Off</Mute><Output_Info>Variable</Output_Info></Volume><Input><Input_Sel>NET RADIO</Input_Sel><Input_Sel_Item_Info><Param>NET RADIO</Param><RW>RW</RW><Title>NET RADIO</Title><Icon><On>/YamahaRemoteControl/Icons/icon005.png</On><Off></Off></Icon><Src_Name>NET_RADIO</Src_Name><Src_Number>1</Src_Number></Input_Sel_Item_Info></Input><Party_Info>On</Party_Info></Basic_Status></Zone_2></YAMAHA_AV>

<YAMAHA_AV cmd="PUT"><System><Party_Mode><Volume><Mute>Off</Mute></Volume></Party_Mode></System></YAMAHA_AV>
<YAMAHA_AV rsp="PUT" RC="0"><System><Party_Mode><Volume><Mute></Mute></Volume></Party_Mode></System></YAMAHA_AV>

<YAMAHA_AV cmd="PUT"><System><Party_Mode><Volume><Mute>On</Mute></Volume></Party_Mode></System></YAMAHA_AV>
<YAMAHA_AV rsp="PUT" RC="0"><System><Party_Mode><Volume><Mute></Mute></Volume></Party_Mode></System></YAMAHA_AV>

<YAMAHA_AV cmd="PUT"><System><Party_Mode><Volume><Lvl>Down</Lvl></Volume></Party_Mode></System></YAMAHA_AV>
<YAMAHA_AV rsp="PUT" RC="0"><System><Party_Mode><Volume><Lvl></Lvl></Volume></Party_Mode></System></YAMAHA_AV>

<YAMAHA_AV cmd="PUT"><System><Party_Mode><Volume><Lvl>Up</Lvl></Volume></Party_Mode></System></YAMAHA_AV>
<YAMAHA_AV rsp="PUT" RC="0"><System><Party_Mode><Volume><Lvl></Lvl></Volume></Party_Mode></System></YAMAHA_AV>


hoffe das sind die Infos, die du wolltest.
Wenn du willst kann ich dir auch mal einen kompletten Wireshark Mitschnitt zusenden.

Gruß Schlimbo
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: FunkOdyssey am 19 August 2015, 20:38:50
Zitat von: Markus Bloch am 18 August 2015, 23:48:15,
den Firmware-Update habe ich eingebracht. Den Rest muss ich später mal angehen.

Gibt es im AVR ein Feld, indem die Verfügbarkeit einer neuen Firmware-Version enthalten ist? Ermittelt das der AVR? Warum zeigt dieser das dann nicht als Popup oder so. Ich wusste das gar nicht und habe immer manuell auf der Internetseite gesucht. Hmm.
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Markus Bloch am 19 August 2015, 23:04:21
Zitat von: FunkOdyssey am 19 August 2015, 20:38:50
Gibt es im AVR ein Feld, indem die Verfügbarkeit einer neuen Firmware-Version enthalten ist? Ermittelt das der AVR? Warum zeigt dieser das dann nicht als Popup oder so. Ich wusste das gar nicht und habe immer manuell auf der Internetseite gesucht. Hmm.

Der AV-Receiver prüft selbständig auf ein neues Update per Internet. Das Ergebnis wird nirgendwo in Form eines Popups notifiziert. Diese Schnittstelle ist die einzige Möglichkeit, wodurch auf der Yamaha-App ein Firmware-Update angezeigt wird. Diese Information greift YAMAHA_AVR ab und stellt sie nun als Reading dar.
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Schlimbo am 30 November 2015, 20:33:50
Hallo Markus,

Arbeitest du noch an diesem Thema? 

- Zone2 Netradio Steuerung über  "\"PUT\"><NET_RADIO><List_Control>" Kommandos, damit man nicht erst den Umweg über die Main Zone gehen muss.
- Steuern des "Party Mode"
http://forum.fhem.de/index.php/topic,19896.msg315600.html#msg315600 (http://forum.fhem.de/index.php/topic,19896.msg315600.html#msg315600)

Momentan Schalte ich die NetRadio Sender über ein Shell Skript:
##!/bin/bash
Sender="$*"

case "$Sender" in
TrueRnB) curl -v -d '<?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>' http://192.168.x.xxx/YamahaRemoteControl/ctrl >/dev/null 2>&1 &
sleep 1
curl -v -d '<?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="PUT"><NET_RADIO><List_Control><Direct_Sel>Line_1</Direct_Sel></List_Control></NET_RADIO></YAMAHA_AV>' http://192.168.x.xxx/YamahaRemoteControl/ctrl >/dev/null 2>&1 &
sleep 1
curl -v -d '<?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="PUT"><NET_RADIO><List_Control><Direct_Sel>Line_1</Direct_Sel></List_Control></NET_RADIO></YAMAHA_AV>' http://192.168.x.xxx/YamahaRemoteControl/ctrl >/dev/null 2>&1 &
sleep 1
curl -v -d '<?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="PUT"><NET_RADIO><List_Control><Direct_Sel>Line_4</Direct_Sel></List_Control></NET_RADIO></YAMAHA_AV>' http://192.168.x.xxx/YamahaRemoteControl/ctrl >/dev/null 2>&1 &
;;
Hot108jamz) curl -v -d '<?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>' http://192.168.x.xxx/YamahaRemoteControl/ctrl >/dev/null 2>&1 &
sleep 1
curl -v -d '<?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="PUT"><NET_RADIO><List_Control><Direct_Sel>Line_2</Direct_Sel></List_Control></NET_RADIO></YAMAHA_AV>' http://192.168.x.xxx/YamahaRemoteControl/ctrl >/dev/null 2>&1 &
sleep 1
curl -v -d '<?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="PUT"><NET_RADIO><List_Control><Direct_Sel>Line_1</Direct_Sel></List_Control></NET_RADIO></YAMAHA_AV>' http://192.168.x.xxx/YamahaRemoteControl/ctrl >/dev/null 2>&1 &
;;
old_school) curl -v -d '<?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>' http://192.168.x.xxx/YamahaRemoteControl/ctrl >/dev/null 2>&1 &
sleep 1
curl -v -d '<?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="PUT"><NET_RADIO><List_Control><Direct_Sel>Line_2</Direct_Sel></List_Control></NET_RADIO></YAMAHA_AV>' http://192.168.x.xxx/YamahaRemoteControl/ctrl >/dev/null 2>&1 &
sleep 1
curl -v -d '<?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="PUT"><NET_RADIO><List_Control><Direct_Sel>Line_2</Direct_Sel></List_Control></NET_RADIO></YAMAHA_AV>' http://192.168.x.xxx/YamahaRemoteControl/ctrl >/dev/null 2>&1 &
;;
esac

exit 0


allerdings ist FHEM blockiert, solange das Skript läuft, hat hier jemand ein Tipp, wie ich das verhindern kann?

Der Aufruf erfolgt in 99_myUtils:
system("sh /opt/fhem/set_NetRadio.sh $sender");
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Markus Bloch am 05 Dezember 2015, 23:12:38
Hallo zusammen,

um die Frage zu beantworten, ja, ich arbeite noch an diesem Thema.

Ich habe heute eine generelle Lösung des Problems gebaut. Mit der Änderung hin zu einer Kommando-Warteschlange, konnte ich darauf aufbauend nun einen Mechanismus bauen, der das Menü auf einen bestimmten Pfad durchschreitet und damit ein gewünschtes Element startet. Das ganze funktioniert generell für alle Eingänge, die mit Menüs arbeiten (Net-Radio, Server, USB, ...)

Anbei findet ihr eine Vorab-Version, welche ein neues Set-Kommando "navigateListMenu" enthält. Es ist nur bei Eingängen verfügbar, welche sowas unterstützen.

Man gibt den Pfad als kommaseparierte Liste an. Also im Falle von Net Radio:

set AV_Receiver navigateListMenu Lesezeichen,My__Favorites,1LIVE
set AV_Receiver navigateListMenu Länder,Ozeanien,Australien,Alle Sender,1Radio.FM


für den Eingang "server"  zum Abspielen von Musik z.B. :
set AV_Receiver navigateListMenu NAS,Musik,Nach Ordner,Alicia Keys,Songs in A Minor,Fallin

Vorraussetzung ist natürlich, dass der Receiver auf den entsprechenden Eingang geschaltet ist.

Das Modul geht dann genau wie ein Mensch die Liste durch, sucht von oben nach unten nach dem ersten Element. Wenn es gefunden wurde, wählt es dieses aus. Wartet solange bis das Untermenü aufgebaut ist und geht dann weiter für die nächste Ebene vor.

WICHTIG: Die einzelnen Namen der Menüpunkte sind Suchbegriffe, d.h. man muss nicht den 100% exakten Namen des Menüeintrags verwenden. Es reicht auch nur ein Stichwort, welches dann aber so genau sein sollte, dass es nur auf den gewünschten Listeneintrag in der aktuellen Liste matcht.

Wenn beim Ausführen dieses Befehls man aktuell woanders im Menü ist, so wird dies erkannt. Das Modul springt dann zum Anfang und startet ab da die Menüabfolge wie im Kommando angegeben.

Bitte testet das mal bei euch aus, da das umfangreiche Änderungen sind und ich die nicht ohne weiteres verteilen möchte.

Bei mir funktioniert es sehr zuverlässig bisher. Allerdings weigert sich mein Receiver momentan generell Internetradiosender abzuspielen (auch mit manueller Fernbedienung :-/ ).

Vielen Dank

Gruß
Markus

Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Schlimbo am 06 Dezember 2015, 12:14:23
Wow, das sind ja wahnsinns Neuigkeiten  :)
Habe es gleich mal getestet und es funktioniert bestens, werde die nächsten Tage weiter testen und berichten, falls mir noch was auffällt.
Vielen Dank für dieses tolle Feature und die super Umsetzung.

Gruß
Schlimbo
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Markus Bloch am 06 Dezember 2015, 12:51:05
Noch zu erwähnen ist, dass FHEM dabei nicht blockiert wird. Das bedeutet, während solcher Menü-Navigationen ist FHEM nachwievor noch benutzbar und verarbeitet auch andere Sachen weiterhin.

Dies bedeutet aber auch, dass eine zügige Verarbeitung der Menü-Navigation vorraussetzt, dass FHEM nicht anderweitig durch blockierende Sleeps (z.B. in Perl-Funktionen/Perl-Code) aufgehalten wird. Jedes Kommando, was aus der Befehls-Queue abgesetzt wird, benötigt einen Hauptschleifen-Durchlauf. Wenn also irgendwo 5 Sekunden gesleept wird oder ein System-Aufruf FHEM für mehrer Sekunden blockiert, dann verzögert das ebenfalls solche Menü-Navigationen oder z.B. Lautstärkeänderungen mit Smoothing.

Also bitte auf solche blockierenden Sachen möglichst verzichten.

Viele Grüße

Markus
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Markus Bloch am 06 Dezember 2015, 19:37:23
Zitat von: Schlimbo am 23 Juli 2015, 21:41:16
Noch ein wichtiges Feature für mich wäre es den "Party Modus" zu Steuern.
cmd="PUT"><System><Party_Mode><Mode>Off</Mode></Party_Mode></System></YAMAHA_AV>

Hallo Schlimbo,

ich habe auf Basis deiner Requests und meiner Doku-Grundlage das Set-Kommando/Reading "partyMode" eingebracht. Es funktioniert folgendermaßen:

Main-Zone

In der Main-Zone schaltet man mit set <name> partyMode on/off den Party Mode geräteweit ein und aus.

alle anderen Zonen (Zone 2,3,4)

Hier schaltet man mit set <name> partyMode on/off die entsprechende Zone dazu, sodass diese Teil des Party-Modus ist.

Auch hier würde ich dich bitten, dies zu testen, da ich keine Zonen habe. :-)

Sofern alles positiv läuft würde ich alles zusammen (Menü-Steuerung, Optimierungen, Party-Mode, ...) einchecken wollen.

Vielen Dank

Gruß
Markus
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Bartimaus am 07 Dezember 2015, 18:16:48
Hallo Markus,

super Update. Funktioniert tadellos an meinem RX-V-773. Auch mit Inetradio !!
Vielen Dank
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Schlimbo am 07 Dezember 2015, 23:04:21
Vielen Dank Markus,
Party Modus funktioniert  :)
Da ich aber nur einen 2-Zonen Receiver habe, kann ich die einzel-Zonen Zu/Abschaltung nicht richtig Testen.

Gruß
Schlimbo



Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Markus Bloch am 08 Dezember 2015, 00:16:35
Hallo zusammen,

das freut mich zu hören. Ich bin aktuell dabei die commandref zu schreiben. Den Abschnitt wie man ein Internet-Radio sender mittels remoteControl-Befehlen ansteuert, habe ich komplett entfernt und baue dafür einen Abschnitt zur Menü-Navigation mittels navigateListMenu ein.

Das Ergebnis würde ich evtl. vorher nochmal hier posten, da ich nicht weis, ob das so rüber kommt wie es soll.

Ich melde mich.

Viele Grüße

Markus
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Markus Bloch am 08 Dezember 2015, 00:25:05
Um den Receiver direkt einzuschalten, auf netradio umzuschalten und einen Sender auszuwählen muss man folgenden Befehl nehmen:

set AV_Receiver on ; sleep 1; set AV_Receiver input netradio ; sleep 1 ; set AV_Receiver navigateListMenu Lesezeichen,Favoriten,1LIVE

Die Sleeps müssen sein, da es sonst (trotz Kommando-Warteschlange) zu schnell abläuft. Dennoch geht das so immer noch schneller als vorher ;-)

mit at-Konstrukt:

define turn_on_Radio_morning at *08:00 set AV_Receiver on ; sleep 1; set AV_Receiver input netradio ; sleep 1 ; set AV_Receiver navigateListMenu Lesezeichen,Favoriten,1LIVE

Ich werde in der Version die ich im SVN einchecke aber wohl lieber folgende Syntax nehmen:

set AV_Receiver navigateListMenu Lesezeichen/Favoriten/1LIVE

Ist glaube ich so besser erkennbar, worum es geht, oder?

Was meint ihr?

Gruß
Markus
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Bartimaus am 08 Dezember 2015, 07:50:22
Moin,

super ! Ich komme mit beiden Alternativen klar

Aber Frage: "Favoriten" oder "My__Favorites" ?
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Markus Bloch am 08 Dezember 2015, 08:33:41
Das kommt drauf an, wie du deinen Favoriten-Ordner in vTuner genannt hast. Ich hab den vorhin umbenannt, jetzt heist meiner "Favoriten".

Gruß
Markus
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Bartimaus am 08 Dezember 2015, 08:42:43
 ::) ;D
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Markus Bloch am 11 Dezember 2015, 20:11:00
Hallo zusammen,

ich habe soeben meine Entwicklungsversion eingecheckt. Sie steht euch morgen regulär per update zur Verfügung. Damit könnt ihr nun die ganzen remoteControl-Konstrukte zum ansteuern von Internetradio durch den Befehl navigateListMenu ersetzen.

In der commandref sind ein paar Beispiele und eine detaillierte Beschreibung zu diesem Befehl enthalten.

Vielen Dank an alle für die Unterstützung beim testen und ausprobieren.

Viele Grüße

Markus
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Bartimaus am 13 Dezember 2015, 13:11:58
Mahlzeit,

habe jetzt gerade die offizielle Version per Update geladen, FHEM neugestartet. Der neue Menubefehl ist nun verfügbar, leider reagiert mein
Yamaha nicht darauf. Im Webinterface des Yamaha funktioniert alles tadellos, wenn auch träge.

set AV_Receiver_Zone2 navigateListMenu Lesezeichen,Favoriten,1LIVE

Ne Idee ? Mit der Beta hatte es noch funktioniert....

(Ich habe in vTuner den Ordner "Favoriten" angelegt, und darin ist z.B. 1LIVE enthalten)
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Markus Bloch am 13 Dezember 2015, 13:15:19
Die Syntax hat sich leicht geändert:

set AV_Receiver_Zone2 navigateListMenu Lesezeichen/Favoriten/1LIVE

Viele Grüße

Markus
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Bartimaus am 13 Dezember 2015, 13:55:20
Ernuwieder.  ;D

Danke für die schnelle Info. Funktioniert !
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: MegaData am 17 Dezember 2015, 11:06:08
Guten Morgen !

Also ich kann berichten dass mein RXV 2067 seit ca. 2 Wochen zwar noch einzeln zu schalten geht über die jeweilige Seite, aber Skripts werden nicht mehr ausgeführt :(


sub startNetRadio
{
  fhem "set AV_Receiver on";
  sleep 5;
  fhem "set AV_Receiver input netradio";
  sleep 3;
}


Lasse ich jeden Tag in der Woche starten, was bisher super klappte, mittlerweile bekomme ich in den Logs nur noch zu sehen:


2015.12.17 10:56:21.535 3: YAMAHA_AVR (AV_Receiver) - could not execute command on device AV_Receiver. Please turn on your device in case of deactivated network standby or check for correct hostaddress.
2015.12.17 10:56:23.760 3: YAMAHA_AVR (AV_Receiver) - device AV_Receiver reappeared
2015.12.17 10:56:23.834 3: YAMAHA_AVR (AV_Receiver) - Could not execute "input netradio": received return code 4


Es wird nicht einmal eingeschalten. Hat da jemand eine Idee ?

Danke !

Chris
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Markus Bloch am 17 Dezember 2015, 12:16:07
Hallo Chris,

benutzt du auch die aktuellste Version. Es gab in der Zeit der letzten 2 Wochen einiges an Änderungen und Verbesserungen.

Bitte beachte auch: http://forum.fhem.de/index.php/topic,45540.msg374586.html#new

Viele Grüße

Markus
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: MegaData am 17 Dezember 2015, 12:48:37
Oh,
so habe ich das noch nicht probiert, werde ich gleich mal machen. Wie macht das denn dann in Verbindung mit Text to Speech ? Da muss ich es ja in einer Schleife machen und paar Sleeps einbauen um die Eingänge zu wechseln und zu warten bis die Ansage durch ist... ?
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Markus Bloch am 17 Dezember 2015, 17:51:08
Zitat von: MegaData am 17 Dezember 2015, 12:48:37
Oh,
so habe ich das noch nicht probiert, werde ich gleich mal machen. Wie macht das denn dann in Verbindung mit Text to Speech ? Da muss ich es ja in einer Schleife machen und paar Sleeps einbauen um die Eingänge zu wechseln und zu warten bis die Ansage durch ist... ?

Kann ich dir nicht sagen, da ich nicht genau weiß was du hast/vor hast/willst/vorstellst?

Gruß
Markus
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: fidel am 17 Dezember 2015, 21:38:47
Zitat von: MegaData am 17 Dezember 2015, 11:06:08
Guten Morgen !

Also ich kann berichten dass mein RXV 2067 seit ca. 2 Wochen zwar noch einzeln zu schalten geht über die jeweilige Seite, aber Skripts werden nicht mehr ausgeführt :(


sub startNetRadio
{
  fhem "set AV_Receiver on";
  sleep 5;
  fhem "set AV_Receiver input netradio";
  sleep 3;
}


Lasse ich jeden Tag in der Woche starten, was bisher super klappte, mittlerweile bekomme ich in den Logs nur noch zu sehen:


2015.12.17 10:56:21.535 3: YAMAHA_AVR (AV_Receiver) - could not execute command on device AV_Receiver. Please turn on your device in case of deactivated network standby or check for correct hostaddress.
2015.12.17 10:56:23.760 3: YAMAHA_AVR (AV_Receiver) - device AV_Receiver reappeared
2015.12.17 10:56:23.834 3: YAMAHA_AVR (AV_Receiver) - Could not execute "input netradio": received return code 4


Es wird nicht einmal eingeschalten. Hat da jemand eine Idee ?

Danke !

Chris

Hallo Markus, hallo Chris

ich hatte selbes Problem mit den sleeps...
Ich habe folgendes Verhalten beobachtet.
Die Funktion wird abgearbeitet, nur leider hauen die sleeps da irgendwie rein. Und zwar geht der Status im Yamaha kurzzeitig auf absent und dadurch wird der receiver nicht eingeschalten und es kommt im log zu diesem Eintrag.

Ich habe die sleeps entfernt und es funzt.
Ob das nun an 5.7 oder am Modul liegt weiß Markus sicher am besten...

Die subs haben jahrelang mit diesen sleeps funktioniert

Gruß
Steven
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: fidel am 17 Dezember 2015, 21:49:12
Zitat von: Markus Bloch am 17 Dezember 2015, 12:16:07
Hallo Chris,

benutzt du auch die aktuellste Version. Es gab in der Zeit der letzten 2 Wochen einiges an Änderungen und Verbesserungen.

Bitte beachte auch: http://forum.fhem.de/index.php/topic,45540.msg374586.html#new

Viele Grüße

Markus

Wer lesen kann ist klar im Vorteil... :)
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: knopf_piano am 17 Dezember 2015, 22:05:09
Hi Markus
Ich möchte nun elegant mit setList per funktionsaufruf von startNetRadio(xy) die Sender xy wechseln können

Aktueller Sender ist z.B. Bayern 1
ich hab aber keinen Erfolg mit dem Befehl für den Senderwechsel nach "Morow"

set AV_Receiver navigateListMenu Lesezeichen/My__Favorites/Morow


Meine Favoriten sind im Ordner "My__Favorites"

Das brachte auch keinen Erfolg

set AV_Receiver navigateListMenu Lesezeichen/My\_\_Favorites/Morow


Wovon ich ausgehe: Der Sender muss 1:1 der Name sein wie im vtuner abgelegt

:-[
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Markus Bloch am 17 Dezember 2015, 23:51:18
Zitat von: knopf_piano am 17 Dezember 2015, 22:05:09
Hi Markus
Ich möchte nun elegant mit setList per funktionsaufruf von startNetRadio(xy) die Sender xy wechseln können

Aktueller Sender ist z.B. Bayern 1
ich hab aber keinen Erfolg mit dem Befehl für den Senderwechsel nach "Morow"

set AV_Receiver navigateListMenu Lesezeichen/My__Favorites/Morow


Wie genau stellt sich denn dein Misserfolg da? Gibt es Logmeldungen? Was macht der Receiver? Glaskugeln sind auf dem Schwarzmarkt leider nach wie vor exorbitant teuer.


Zitat von: knopf_piano am 17 Dezember 2015, 22:05:09
Meine Favoriten sind im Ordner "My__Favorites"

Das brachte auch keinen Erfolg

set AV_Receiver navigateListMenu Lesezeichen/My\_\_Favorites/Morow


Wovon ich ausgehe: Der Sender muss 1:1 der Name sein wie im vtuner abgelegt

:-[

Nein, ein Quoting ist nicht notwendig. Wie es bereits in der Commandref (http://192.168.179.38:8083/fhem/docs/commandref_DE.html#YAMAHA_AVR-MenuNavigation) beschrieben ist gilt folgendes:

ZitatDie exakte Menüstruktur hängt von ihrer eigenen Receiver-Konfiguration, sowie den zur Verfügung stehenden Freigaben in ihrem Netzwerk ab. Jeder einzelne Menüeintrag muss nicht vollständig als Pfadelement angegeben werden. Jedes Pfadelement wird als Stichwort verwendet um den richtigen Menüeintrag aus der aktuellen Listenebene zu finden, z.B:

Der tatsächliche Menüpfad (wie im Display des Receiveres erkennbar) sieht beispielhaft folgendermaßen aus: Lesezeichen => Favoriten => foo:BAR 70'er-90'er [[HITS]]

Der letzte Menüeintrag hat in diesem Fall viele Sonderzeichen die einem in einer FHEM-Konfiguration durchaus Probleme bereiten könen. Man muss aber nicht die vollständige Bezeichnung in der Pfadangabe benutzen, sondern kann ein kürzeres Stichwort benutzen, was in der vollständigen Bezeichnung jedoch vorkommen muss. So kann man beispielsweise folgendes Set-Kommando benutzen um diesen Eintrag auszuwählen und die Wiedergabe damit zu starten:

set <name> navigateListMenu Lesezeichen/Favoriten/foo:BAR

Dieser Befehl funktioniert, obwohl man nicht die vollständige Bezeichnung angegeben hat (foo:BAR 70's-90's [[HITS]]).

Auf selbe Weiße kann man somit lange Menüeinträge abkürzen, damit die Befehle nicht so lang werden. Solche gekürzten Pfadangaben müssen aber trotzdem soweit eindeutig sein, damit sie nur auf das gewünschte Element passen. Das erste Element aus einer Listenebene (von oben nach unten), was auf eine Pfadangabe passt, wird ausgewählt.

Find ich immer sehr schade, wenn man sich die Mühe macht das alles so zu beschreiben, dass es jeder versteht nur am Ende liest es niemand.
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: knopf_piano am 18 Dezember 2015, 07:30:48
ok, hier die Glaskugel:
Befehl

set AV_Receiver navigateListMenu Lesezeichen/My__Favorites/Morow

- log: keine Einträge
- Senderwechsel erfolgt nicht
- receiver bleibt auf aktuellem sender

Sender "Morow" (im Befehlt auch nicht gequotet) ist eindeutig.
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: dev0 am 18 Dezember 2015, 07:56:04
Zitat von: knopf_piano am 18 Dezember 2015, 07:30:48
- log: keine Einträge
Dann dreh bitte den Loglevel mit verbose 5 hoch und guck noch mal.
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: knopf_piano am 18 Dezember 2015, 16:46:20
loglevel 5:

set AV_Receiver navigateListMenu Lesezeichen/My__Favorites/Morow

response gibt die liste der Lesezeichen schon zurück (habs markiert---)
receiver schaltet nicht auf den angegebenen Zielsender  :-[

2015.12.18 16:37:15 5: YAMAHA_AVR (AV_Receiver) - set AV_Receiver navigateListMenu Lesezeichen/My__Favorites/Morow
2015.12.18 16:37:15 4: YAMAHA_AVR (AV_Receiver) - append to queue "navigateListMenu Lesezeichen/My__Favorites/Morow": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><[CURRENT_INPUT_TAG]><List_Info>GetParam</List_Info></[CURRENT_INPUT_TAG]></YAMAHA_AV>
2015.12.18 16:37:15 5: YAMAHA_AVR (AV_Receiver) - no commands currently running, but queue has pending commands. preparing new request
2015.12.18 16:37:15 5: YAMAHA_AVR (AV_Receiver) - checking cmd queue item: 0 (cmd: navigateListMenu, arg: Lesezeichen/My__Favorites/Morow, data: 1, priority: -, at_first: 0, not_before: 0)
2015.12.18 16:37:15 5: YAMAHA_AVR (AV_Receiver) - choosed item 0 as next command
2015.12.18 16:37:15 4: YAMAHA_AVR (AV_Receiver) - send command "navigateListMenu Lesezeichen/My__Favorites/Morow": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><NET_RADIO><List_Info>GetParam</List_Info></NET_RADIO></YAMAHA_AV>
2015.12.18 16:37:15 4: HttpUtils url=http://192.168.50.81/YamahaRemoteControl/ctrl
2015.12.18 16:37:15 5: Triggering AV_Receiver (1 changes)
2015.12.18 16:37:15 5: Notify loop for AV_Receiver navigateListMenu Lesezeichen/My__Favorites/Morow
2015.12.18 16:37:15 5: Update structure 'AVRX_Power' to on because device AV_Receiver has changed
2015.12.18 16:37:15 4: http://192.168.50.81/YamahaRemoteControl/ctrl: HTTP response code 200
2015.12.18 16:37:15 4: HttpUtils http://192.168.50.81/YamahaRemoteControl/ctrl: Got data, length: 862
2015.12.18 16:37:15 5: YAMAHA_AVR (AV_Receiver) - received HTTP code 200 for command "navigateListMenu Lesezeichen/My__Favorites/Morow"
--- 2015.12.18 16:37:15 5: YAMAHA_AVR (AV_Receiver) - got response for "navigateListMenu Lesezeichen/My__Favorites/Morow": <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>Morow</Txt><Attribute>Item</Attribute></Line_1><Line_2><Txt>181.fm - 80's Hairband</Txt><Attribute>Item</Attribute></Line_2><Line_3><Txt>Bayern 1 Mainfranken</Txt><Attribute>Item</Attribute></Line_3><Line_4><Txt>LiveIreland 1 Traditional &amp; Folk</Txt><Attribute>Item</Attribute></Line_4><Line_5><Txt>181.fm - Salsa</Txt><Attribute>Item</Attribute></Line_5><Line_6><Txt>4U Classic Rock</Txt><Attribute>Item</Attribute></Line_6><Line_7><Txt>Progman laut.fm</Txt><Attribute>Item</Attribute></Line_7><Line_8><Txt>Radio Bossa Nova Hits</Txt><Attribute>Item</Attribute></Line_8></Current_List><Cursor_Position><Current_Line>3</Current_Line><Max_Line>37</Max_Line></Cursor_Position></List_Info></NET_RADIO></YAMAHA_AV>
2015.12.18 16:37:15 4: YAMAHA_AVR (AV_Receiver) - append to queue "statusRequest basicStatus": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Basic_Status>GetParam</Basic_Status></Main_Zone></YAMAHA_AV>
2015.12.18 16:37:15 5: YAMAHA_AVR (AV_Receiver) - no commands currently running, but queue has pending commands. preparing new request
2015.12.18 16:37:15 5: YAMAHA_AVR (AV_Receiver) - checking cmd queue item: 0 (cmd: statusRequest, arg: basicStatus, data: 1, priority: -, at_first: 0, not_before: 0)
2015.12.18 16:37:15 5: YAMAHA_AVR (AV_Receiver) - choosed item 0 as next command

Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Markus Bloch am 18 Dezember 2015, 16:55:40
Zitat von: knopf_piano am 18 Dezember 2015, 16:46:20
loglevel 5:

set AV_Receiver navigateListMenu Lesezeichen/My__Favorites/Morow

response gibt die liste der Lesezeichen schon zurück (habs markiert---)
receiver schaltet nicht auf den angegebenen Zielsender  :-[

2015.12.18 16:37:15 5: YAMAHA_AVR (AV_Receiver) - set AV_Receiver navigateListMenu Lesezeichen/My__Favorites/Morow
2015.12.18 16:37:15 4: YAMAHA_AVR (AV_Receiver) - append to queue "navigateListMenu Lesezeichen/My__Favorites/Morow": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><[CURRENT_INPUT_TAG]><List_Info>GetParam</List_Info></[CURRENT_INPUT_TAG]></YAMAHA_AV>
2015.12.18 16:37:15 5: YAMAHA_AVR (AV_Receiver) - no commands currently running, but queue has pending commands. preparing new request
2015.12.18 16:37:15 5: YAMAHA_AVR (AV_Receiver) - checking cmd queue item: 0 (cmd: navigateListMenu, arg: Lesezeichen/My__Favorites/Morow, data: 1, priority: -, at_first: 0, not_before: 0)
2015.12.18 16:37:15 5: YAMAHA_AVR (AV_Receiver) - choosed item 0 as next command
2015.12.18 16:37:15 4: YAMAHA_AVR (AV_Receiver) - send command "navigateListMenu Lesezeichen/My__Favorites/Morow": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><NET_RADIO><List_Info>GetParam</List_Info></NET_RADIO></YAMAHA_AV>
2015.12.18 16:37:15 4: HttpUtils url=http://192.168.50.81/YamahaRemoteControl/ctrl
2015.12.18 16:37:15 5: Triggering AV_Receiver (1 changes)
2015.12.18 16:37:15 5: Notify loop for AV_Receiver navigateListMenu Lesezeichen/My__Favorites/Morow
2015.12.18 16:37:15 5: Update structure 'AVRX_Power' to on because device AV_Receiver has changed
2015.12.18 16:37:15 4: http://192.168.50.81/YamahaRemoteControl/ctrl: HTTP response code 200
2015.12.18 16:37:15 4: HttpUtils http://192.168.50.81/YamahaRemoteControl/ctrl: Got data, length: 862
2015.12.18 16:37:15 5: YAMAHA_AVR (AV_Receiver) - received HTTP code 200 for command "navigateListMenu Lesezeichen/My__Favorites/Morow"
--- 2015.12.18 16:37:15 5: YAMAHA_AVR (AV_Receiver) - got response for "navigateListMenu Lesezeichen/My__Favorites/Morow": <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>Morow</Txt><Attribute>Item</Attribute></Line_1><Line_2><Txt>181.fm - 80's Hairband</Txt><Attribute>Item</Attribute></Line_2><Line_3><Txt>Bayern 1 Mainfranken</Txt><Attribute>Item</Attribute></Line_3><Line_4><Txt>LiveIreland 1 Traditional &amp; Folk</Txt><Attribute>Item</Attribute></Line_4><Line_5><Txt>181.fm - Salsa</Txt><Attribute>Item</Attribute></Line_5><Line_6><Txt>4U Classic Rock</Txt><Attribute>Item</Attribute></Line_6><Line_7><Txt>Progman laut.fm</Txt><Attribute>Item</Attribute></Line_7><Line_8><Txt>Radio Bossa Nova Hits</Txt><Attribute>Item</Attribute></Line_8></Current_List><Cursor_Position><Current_Line>3</Current_Line><Max_Line>37</Max_Line></Cursor_Position></List_Info></NET_RADIO></YAMAHA_AV>
2015.12.18 16:37:15 4: YAMAHA_AVR (AV_Receiver) - append to queue "statusRequest basicStatus": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Basic_Status>GetParam</Basic_Status></Main_Zone></YAMAHA_AV>
2015.12.18 16:37:15 5: YAMAHA_AVR (AV_Receiver) - no commands currently running, but queue has pending commands. preparing new request
2015.12.18 16:37:15 5: YAMAHA_AVR (AV_Receiver) - checking cmd queue item: 0 (cmd: statusRequest, arg: basicStatus, data: 1, priority: -, at_first: 0, not_before: 0)
2015.12.18 16:37:15 5: YAMAHA_AVR (AV_Receiver) - choosed item 0 as next command



Welches Modell genau hast du? Dein Receiver antwortet:

Zitat<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>Morow</Txt><Attribute>....

Das Modul erwartet aber:
Zitat<YAMAHA_AV rsp="GET" RC="0"><NET_RADIO><List_Info><Menu_Status>Ready</Menu_Status><Menu_Layer>3</Menu_Layer><Menu_Name>My__Favorites</Menu_Name><Current_List><Line_1><Txt>Morow</Txt><Attribute>.....

Hast du die aktuellste Firmware installiert? Bitte mal ein Firmware-Update ausführen.
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: knopf_piano am 18 Dezember 2015, 17:21:52
Server: AV_Receiver/3.1 (RX-V671)
FW 1.76/2.01 (ist die "latest")

Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Markus Bloch am 18 Dezember 2015, 17:36:29
In der Yamaha Schnittstellendokumentation ist das für deine Modellreihe tatsächlich so gelistet, dass <Menu_Status> nicht zurückgegeben wird. Dieser Parameter ist jedoch wichtig um zu erkennen, ob das Menü vollständig aufgebaut und geladen wurde.

Um zu schauen wie sich dein Receiver verhält, sobald man das Menü durchbrowst und das Menü sich noch aufbaut, bitte mal ab Zeile 1555 folgenden Inhalt:


            if($data =~ /<Menu_Status>(.+?)<\/Menu_Status><Menu_Layer>(.+?)<\/Menu_Layer><Menu_Name>(.+?)<\/Menu_Name><Current_List>(.+?)<\/Current_List><Cursor_Position><Current_Line>(\d+)<\/Current_Line><Max_Line>(\d+)<\/Max_Line><\/Cursor_Position>/)
            {
                my $menu_status = $1;
                my $menu_layer = $2;
                my $menu_name = $3;
                my $current_list = $4;
                my $current_line = $5;
                my $max_line = $6;


bitte ändern in:


            if($data =~ /(.)<Menu_Layer>(.+?)<\/Menu_Layer><Menu_Name>(.+?)<\/Menu_Name><Current_List>(.+?)<\/Current_List><Cursor_Position><Current_Line>(\d+)<\/Current_Line><Max_Line>(\d+)<\/Max_Line><\/Cursor_Position>/)
            {
                my $menu_status = "Ready";
                my $menu_layer = $2;
                my $menu_name = $3;
                my $current_list = $4;
                my $current_line = $5;
                my $max_line = $6;


Dann anschließend bitte FHEM neustarten und nochmal auf die selbe Weiße versuchen den Radio-Sender zu starten und das log mit verbose 5 bitte wieder posten.

Vielen Dank

Gruß
Markus
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: knopf_piano am 18 Dezember 2015, 18:23:12
no success...
an die stelle bin ich auch gekommen
log:

2015.12.18 18:18:26 4: http://192.168.50.81/YamahaRemoteControl/ctrl: HTTP response code 200
2015.12.18 18:18:26 4: HttpUtils http://192.168.50.81/YamahaRemoteControl/ctrl: Got data, length: 862
2015.12.18 18:18:26 5: YAMAHA_AVR (AV_Receiver) - received HTTP code 200 for command "navigateListMenu Lesezeichen/My__Favorites/Morow"
2015.12.18 18:18:26 5: YAMAHA_AVR (AV_Receiver) - got response for "navigateListMenu Lesezeichen/My__Favorites/Morow": <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>Morow</Txt><Attribute>Item</Attribute></Line_1><Line_2><Txt>181.fm - 80&apos;s Hairband</Txt><Attribute>Item</Attribute></Line_2><Line_3><Txt>Bayern 1 Mainfranken</Txt><Attribute>Item</Attribute></Line_3><Line_4><Txt>LiveIreland 1 Traditional &amp;amp; Folk</Txt><Attribute>Item</Attribute></Line_4><Line_5><Txt>181.fm - Salsa</Txt><Attribute>Item</Attribute></Line_5><Line_6><Txt>4U Classic Rock</Txt><Attribute>Item</Attribute></Line_6><Line_7><Txt>Progman laut.fm</Txt><Attribute>Item</Attribute></Line_7><Line_8><Txt>Radio Bossa Nova Hits</Txt><Attribute>Item</Attribute></Line_8></Current_List><Cursor_Position><Current_Line>2</Current_Line><Max_Line>37</Max_Line></Cursor_Position></List_Info></NET_RADIO></YAMAHA_AV>
2015.12.18 18:18:26 5: YAMAHA_AVR (AV_Receiver) - return to start of menu to begin menu browsing
2015.12.18 18:18:26 4: YAMAHA_AVR (AV_Receiver) - append to queue "navigateListMenu Lesezeichen/My__Favorites/Morow": <?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>
2015.12.18 18:18:26 5: YAMAHA_AVR (AV_Receiver) - no commands currently running, but queue has pending commands. preparing new request
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Markus Bloch am 18 Dezember 2015, 19:08:17
Zitat von: knopf_piano am 18 Dezember 2015, 18:23:12
no success...
an die stelle bin ich auch gekommen
log:

2015.12.18 18:18:26 4: http://192.168.50.81/YamahaRemoteControl/ctrl: HTTP response code 200
2015.12.18 18:18:26 4: HttpUtils http://192.168.50.81/YamahaRemoteControl/ctrl: Got data, length: 862
2015.12.18 18:18:26 5: YAMAHA_AVR (AV_Receiver) - received HTTP code 200 for command "navigateListMenu Lesezeichen/My__Favorites/Morow"
2015.12.18 18:18:26 5: YAMAHA_AVR (AV_Receiver) - got response for "navigateListMenu Lesezeichen/My__Favorites/Morow": <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>Morow</Txt><Attribute>Item</Attribute></Line_1><Line_2><Txt>181.fm - 80&apos;s Hairband</Txt><Attribute>Item</Attribute></Line_2><Line_3><Txt>Bayern 1 Mainfranken</Txt><Attribute>Item</Attribute></Line_3><Line_4><Txt>LiveIreland 1 Traditional &amp;amp; Folk</Txt><Attribute>Item</Attribute></Line_4><Line_5><Txt>181.fm - Salsa</Txt><Attribute>Item</Attribute></Line_5><Line_6><Txt>4U Classic Rock</Txt><Attribute>Item</Attribute></Line_6><Line_7><Txt>Progman laut.fm</Txt><Attribute>Item</Attribute></Line_7><Line_8><Txt>Radio Bossa Nova Hits</Txt><Attribute>Item</Attribute></Line_8></Current_List><Cursor_Position><Current_Line>2</Current_Line><Max_Line>37</Max_Line></Cursor_Position></List_Info></NET_RADIO></YAMAHA_AV>
2015.12.18 18:18:26 5: YAMAHA_AVR (AV_Receiver) - return to start of menu to begin menu browsing
2015.12.18 18:18:26 4: YAMAHA_AVR (AV_Receiver) - append to queue "navigateListMenu Lesezeichen/My__Favorites/Morow": <?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>
2015.12.18 18:18:26 5: YAMAHA_AVR (AV_Receiver) - no commands currently running, but queue has pending commands. preparing new request


Die Zeile, die mich interessiert, kommt leider erst später. Bitte die gesamten Logausgaben posten und keine Ausschnitte.

Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: knopf_piano am 18 Dezember 2015, 20:00:37
- service fhem stop
- service fhem start
- frischer fhem-log
hab mal als anhang beides rangehängt
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Markus Bloch am 18 Dezember 2015, 21:59:54
Zitat von: knopf_piano am 18 Dezember 2015, 20:00:37
- service fhem stop
- service fhem start
- frischer fhem-log
hab mal als anhang beides rangehängt

Ok. prinzipiell reicht nur ein verbose 5 auf die Definition "AV_Receiver". Mit "global verbose 5" wird es sonst teilweise sehr unübersichtlich.

Die RX-Vx71'er Reihe hat noch eine Änderung gegenüber allen anderen Modellen.

Bitte nochmal in Zeile 1580 die Zeile:

                            YAMAHA_AVR_SendCommand($hash,"<YAMAHA_AV cmd=\"PUT\"><[CURRENT_INPUT_TAG]><List_Control><Cursor>Return to Home</Cursor></List_Control></[CURRENT_INPUT_TAG]></YAMAHA_AV>", $cmd, $arg);

ändern in:

                            YAMAHA_AVR_SendCommand($hash,"<YAMAHA_AV cmd=\"PUT\"><[CURRENT_INPUT_TAG]><List_Control><Cursor>Back to Home</Cursor></List_Control></[CURRENT_INPUT_TAG]></YAMAHA_AV>", $cmd, $arg);

Und dann nochmal einen neustart und sobald FHEM gestartet ist, wieder versuchen den Radio-Sender zu starten und das Log posten. Reicht, wenn du ab dem Neustart bis aktuell das Log postest.

Danke

Gruß
Markus
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: knopf_piano am 18 Dezember 2015, 22:48:30
right!
that's it ->   ;) VIELEN DANK Markus!
verzögerung ca. 5-10s, bis der Sender nach cmd-Abschicken wechselt. ich vermute, dass ist dem Datenaustausch und pl-scripting geschuldet.
Hab die regex vorher nochmal geprüft und verschiedenes beim $data-match probiert und schon an mir gezweifelt, da eigentlich an der Codestelle alles klar ist.
Dass der Hund dort beim letzten Hinweis von dir begraben ist konnt ich nicht wissen, da bist du tiefer im Modul drin als Autor.

Noch Frage:
Wo bekomm ich die API-description her?
ich hab in vorigen FWs mal durch Zufall das xml-scheme abrufen können, allerdings kommt da jetzt nix raus...
- http://<ip-avrx>/YamahaRemoteControl/UnitDesc.xml
- http://<ip-avrx>//YamahaRemoteControl/ctrl

att'd: geändertes modul, log-avrx-verbose=5
Hat zumindest zur Fehlerfindung für die gößeren AVRX-Modelle beigetragen!
Schöne Weihnachten, auf bald

Viele Grüße
Steffen
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Markus Bloch am 18 Dezember 2015, 23:27:01
Zitat von: knopf_piano am 18 Dezember 2015, 22:48:30
right!
that's it ->   ;) VIELEN DANK Markus!
verzögerung ca. 5-10s, bis der Sender nach cmd-Abschicken wechselt. ich vermute, dass ist dem Datenaustausch und pl-scripting geschuldet.
Hab die regex vorher nochmal geprüft und verschiedenes beim $data-match probiert und schon an mir gezweifelt, da eigentlich an der Codestelle alles klar ist.
Dass der Hund dort beim letzten Hinweis von dir begraben ist konnt ich nicht wissen, da bist du tiefer im Modul drin als Autor.

Die Verzögerung ist normal. Da kann ich noch was optimieren. Aber erst nach der Weihnachtszeit. ;-)

Zitat von: knopf_piano am 18 Dezember 2015, 22:48:30
Noch Frage:
Wo bekomm ich die API-description her?


Bei YAMAHA im Support direkt danach Fragen (Stichwort: "YNC Specification"). Die geben die nur raus, wenn man explizit danach fragt.

URL: http://usa.yamaha.com/support/contact/audio_visual/

Zitat von: knopf_piano am 18 Dezember 2015, 22:48:30
ich hab in vorigen FWs mal durch Zufall das xml-scheme abrufen können, allerdings kommt da jetzt nix raus...
- http://<ip-avrx>/YamahaRemoteControl/UnitDesc.xml
- http://<ip-avrx>//YamahaRemoteControl/ctrl

att'd: geändertes modul, log-avrx-verbose=5
Hat zumindest zur Fehlerfindung für die gößeren AVRX-Modelle beigetragen!
Schöne Weihnachten, auf bald

Viele Grüße
Steffen

Ich habe die Änderungen in sauberer Form bei mir lokal schonmal übernommen. Werde ich nach Weihnachten einchecken, da ich jetzt unterwegs bin.

Viele Grüße und schöne Weihnachten.

Markus
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Markus Bloch am 25 Dezember 2015, 12:52:54
Änderungen sind nun eingecheckt und stehen ab morgen offiziell via update zur Verfügung.

Viele Grüße und frohe Weihnachten

Markus
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: knopf_piano am 26 Dezember 2015, 14:46:22
Hi Markus,
danke, die Weihnachts-Fresserei hat ein Ende...
log anbei mit aktueller version von dir.
wechsel der Sender über fhem-cmd-line:
teilweise ohne Reaktion,
Im Yamaha-Web-IF ist auch kein Senderwechsel mehr möglich. Nach Avrx on/off war wieder Wechsel möglich
:-\
Ich war im log (nicht diesem angehängten) bei einer cmd-queue von 51 angelangt. läuft hier der cmd-puffer zu voll und er AVrx- bekommts nicht los?

Noch eine Beobachtung:
Wenn ich in fhem Senderwechsel durchführe, dann im Yahama-Web-IF ein reload + klick auf main-zone durchführe läuft der Senderwechsel mit gestarteter Menü-Wechselei durch...

Grüße
Steffen
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Markus Bloch am 26 Dezember 2015, 15:32:01
Hallo Steffen,

in deinem Log kann ich nur erkennen, dass du direkt nach dem hochfahren sofort ein navigateListMenu absetzt, obwohl das Modul noch nicht vollständig die Initialisierung abgeschlossen hat. Der erste Versuch auf "Bayern" zu schalten, schlägt daher sofort fehl. Ich habe daher vor dem ersten Kommando zur Navigation nochmal einen kleinen Status-Request eingebaut um den aktuellen Eingang wirklich zu kennen.

Bei deinem 2. Versuch eine Navigation "Live" zu starten macht er, aber der Receiver gibt dem Modul nach durchgeführter Auswahl des ersten Ordners "Favoriten" wieder das Hauptmenü geben, wo dann wieder "Favoriten" vorhanden ist. Trotz erfolgter Auswahl scheint der Receiver also nicht weiterzuschalten. Nach erfolgter Auswahl wird erst nach 1 Sekunde der Menü-Status neu abgefragt. Der Receiver sagt dann, er ist nachwievor auf der 1. Menüebene (Wurzel) und bietet "Favoriten" als Ordner an. Das Modul wählt dann wieder Favoriten aus, und so geht das endlos.

Warum das so ist, weis ich nicht, da der Receiver hier irgendwie spinnt.

Viele Grüße

Markus
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: knopf_piano am 26 Dezember 2015, 17:50:28
Hi Markus,
geht mit der Version
$Id: 71_YAMAHA_AVR.pm 10267 2015-12-26 14:33:57Z markusbloch $
Das Umschalten dauert die berühmten ca. 10s.

Grazie mille!
Werd's weiter beobachten und berichten

Grüße
Steffen
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: MegaData am 02 Januar 2016, 22:20:18
Hi hi !

Also ich kann berichten dass es mit einem RXV 2067 leider nicht funktioniert die Sender um zu stellen. Ich bekomme im Log folgenden Fehler ausgespuckt:

2016.01.02 22:18:27.413 3: YAMAHA_AVR (AV_Receiver) - Could not execute "navigateListMenu Lesezeichen\My__Favorites\Radio Dresden 103.5 FM": received return code 3
2016.01.02 22:18:27.815 3: YAMAHA_AVR (AV_Receiver) - Could not execute "navigateListMenu Lesezeichen/My__Favorites/Radio Dresden": received return code 3


Gibt es Ideen dazu ?
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Markus Bloch am 03 Januar 2016, 12:58:03
Bitte mal bei deinem AV_Receiver das Attribut verbose auf 5 setzen. Dann nochmal ein set AV_Receiver navigateListMenu Lesezeichen/My__Favorites/Radio Dresden ausführen und das Log bitte posten.

Vielen Dank

Gruß
Markus
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: MegaData am 03 Januar 2016, 21:51:06
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
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Markus Bloch am 03 Januar 2016, 21:51:59
Gut für mich. :D
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: MegaData am 03 Januar 2016, 21:58:48
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...
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Markus Bloch am 03 Januar 2016, 22:03:02
Ä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
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: MegaData am 03 Januar 2016, 22:46:04
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...
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Markus Bloch am 03 Januar 2016, 22:52:07
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
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: davidwohnthier am 06 April 2016, 19:27:21
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 (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
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Markus Bloch am 06 April 2016, 21:57:18
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
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: davidwohnthier am 06 April 2016, 22:42:52
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
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Markus Bloch am 07 April 2016, 11:07:15
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
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: davidwohnthier am 07 April 2016, 18:51:29
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...
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Markus Bloch am 07 April 2016, 21:36:39
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
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Markus Bloch am 09 April 2016, 10:00:17
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
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: cc13 am 18 Juni 2016, 16:55:10
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
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Markus Bloch am 18 Juni 2016, 16:57:20
Versuch mal:

set Wz.Stereoanlage navigateListMenu Lesezeichen/My__Favorites/Jump

Gruß
Markus
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: cc13 am 18 Juni 2016, 17:19:21
Hat nicht funktioniert. Der Sender ist mit folgendem Namen aufgeführt (deshalb das foo):

MDR Jump Live Channel

Und als ich dir das gerade schreibe und dabei auf die richtige Schreibweise achte, sehe ich, dass es JUMP heißt. Also Großbuchstaben.

Das und dein Hinweis, es ohne "foo" zu probieren, hat geholfen. Es funktioniert jetzt.

Weshalb funktioniert es mit "foo" nicht?

Grüße,
CC13
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Markus Bloch am 18 Juni 2016, 17:23:33
Das ist nur ein Beispielbegriff. In der Commandref wollte ich damit verdeutlichen, dass man bei komplizierten Sendernamen mit vielen komischen Sonderzeichen die nicht alle eingeben muss, sondern auch ein Stichwort verwenden kann um den entsprechenden Sender/Ordner auszuwählen.

Bspw.


set Wz.Stereoanlage navigateListMenu Lesezeichen/My__Favorites/MDR JUMP Live Channel

set Wz.Stereoanlage navigateListMenu Lesezeichen/My__Favorites/JUMP

set Wz.Stereoanlage navigateListMenu Lesezeichen/Favorites/JUMP


Gruß
Markus
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Micha14 am 19 Juli 2016, 09:16:21
Vielen Dank lieber Markus für die Überarbeitung  des AVR.
Mit navigateListMenu ist es nun wirklich einfacher und eleganter, Programmabläufe zu gestalten.
Der Wecker mit dem Internetradio klapp hervorragend und sehr zuverlässig.
Vielen Dank für Deine Mühe.
Nun gehen die Ideen gleich weiter und schon ergeben sich neue Fragen an die Gemeinde.
Ich hänge total bei der Übernahme dieses Konzeptes auf das Abspielen eines mp3-Files auf dem Server.
Ich möchte eine Datei genau einmal abspielen.
Also zum Beispiel "Willkommen zuhause".
Das ist schon ein Problem, wenn sich mehrere Dateien im Verzeichnis befinden, weil der Player dann gleich die nächste Datei nimmt, Aber das ist ja leicht zu lösen, indem nur eine Datei im Verzeichnis ist.
Das Problem ist navigateListMenu.
Während es beim Input netradio absolut zuverlässig arbeitet, hängt es sich bei Input server regelmäßig auf.
Meine Steuerung sieht so aus:
==============================
set Radio_Zone1 on ; set Radio_Zone1 volume 50; set Radio_Zone1 input server ; set Radio_Zone1 repeat off ; set Radio_Zone1 navigateListMenu Twonky/Music/ByFolder/Musik/Ger/Sprache/Willkommen; set Radio_Zone1 off
==============================
Die Befehle einzeln eingeben ist kein Problem und funktioniert.
In der Folge ausführen lassen, z.B. mit at geht gar nicht.
Der Verstärker wird eingeschaltet, versucht, die folgenden Befehle abzuarbeiten und dabei spätestens bei der Einstellung der Lautstärke wieder ausgeschaltet.
Der letzte Befehl wird einfach vorgezogen.
Hab ich lange gebraucht, das zu verstehen.
Also nehme ich den letzten Befehl weg und schalte ihn nicht aus.
Dann geht es:-)
Aber wie soll ich ihn ausschalten:-)
Es geht auch sehr merkwürdig.
Die Datei wird nicht abgespielt, sondern stottert.
Kurz begonnen, abgebrochen, wieder begonnen, abgebrochen, dann richtig abgespielt.
Wie gesagt, die Eingabe der einzelnen Befehle führt zum gewünschten Resultat.
Werden die Sachen parallel ausgeführt?
Vielleicht hat jemand eine Idee?
Danke und liebe Grüße
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: dev0 am 19 Juli 2016, 12:16:41
Zitat von: Micha14 am 19 Juli 2016, 09:16:21
Werden die Sachen parallel ausgeführt?
Nacheinander, aber wahscheinlich zu schnell für Deinen Amp. Du kannst versuchen das mit, in die Befehlskette eingefügten, sleeps zu entzerren. Ebenso hilft ein längeres sleep vor dem Ausschalten des Amp um das Ausschalten zu verzögern.
Wenn Dein FHEM Rechner Zugriff auf die MP3s hat, dann könntest Du sogar vorher auslesen, wie lang der Track ist und eine passende Verzögerung einstellen. z.B. mit der Perl Lib MP3::Tag.
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Markus Bloch am 19 Juli 2016, 20:29:38
Hallo zusammen,

die Beobachtung ist korrekt. Die Befehle zum navigieren im Menü blockiert nicht durchgehend die Ausführung weiterer Befehle in der Befehlswarteschlange, daher wird der off-Befehl direkt ausgeführt wird. Sobald die Navigation startet wird immer 1 Sekunde Pause zwischen den Navigationsschritten gelassen um dem Receiver Zeit zu geben das Menü aufzubauen. Sollte das Menü dann nicht zur Verfügung stehen wird weiter gewartet. In dieser Zeit werden andere Befehle aus der Warteschlange ausgeführt. In deinem Fall der Off-Befehl.

Umgehen könnte man das mit einem statischen Sleep in der Länge der MP3 + X Sekunden Karenz-Zeit.


set Radio_Zone1 on ; set Radio_Zone1 volume 50; set Radio_Zone1 input server ; set Radio_Zone1 repeat off ; set Radio_Zone1 navigateListMenu Twonky/Music/ByFolder/Musik/Ger/Sprache/Willkommen; sleep 10; set Radio_Zone1 off


Man kann auch die Befehle zur Menü-Navigation so abarbeiten, dass nachfolgende Befehle erst nach Abschluss der Navigation ausgeführt werden. Das ist aber etwas aufwändig für mich.

Gruß
Markus
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Speedy152 am 19 Juli 2016, 21:00:47
Guten Tag liebes Forum :)
Ich bin Neuling, habe mich am Wochenende erstmals mit Fhem beschäftigt. Ich habe meinen Yamaha avr rxv777 nun mit at befehlen soweit konfiguriert das dieser automatisch ein- bzw. ausschaltet. Als Input wird Netradio auf Zone 2 gewählt. Mit Hilfe des Navigate List Menue Befehls wähle ich den Sender youfm. Alle genannten Programmierschritte werden sauber abgearbeitet. Allerdings ist die Chance 50 zu 50  das Musik kommt (die Auswahl funktioniert nicht, wenn der Receiver mehrere Stunden nicht genutzt wurde, also wenn zb. Morgens das Radio per at Befehl automatisch eingeschaltet wird. Codes siehe unten) In diesem Fall muss die Auswahl, dann mit hilfe der Yamahaapp bestätigt werden play / enter drücken. Dies liegt wohl daran, das  die Senderauswahl nicht mit dem navigate......Befehl bestätigt wird.

Könnt ihr mir eventuell Helfen?
Hier noch mein code:
*05:30:00 { if ($wday == 2) { fhem ("set myavrzone2 on ; set myavrzone2 input netradio ; set myavrzone2 navigateListMenu Lesezeichen/My__Favorites/YOU ; define AvrZ2AusDI730Uhr at +02:00:00 set myavrzone2 off ") } }

Habe auch probiert einfach folgenden setbefehl an zu hängen:
*05:30:00 { if ($wday == 2) { fhem ("set myavrzone2 on ; set myavrzone2 input netradio ; set myavrzone2 navigateListMenu Lesezeichen/My__Favorites/YOU ; Set myavrzone2 remoteControl enter ; define AvrZ2AusDI730Uhr at +02:00:00 set myavrzone2 off ") } }

Oder

*05:30:00 { if ($wday == 2) { fhem ("set myavrzone2 on ; set myavrzone2 input netradio ; set myavrzone2 navigateListMenu Lesezeichen/My__Favorites/YOU ; set myavrzone2 remoteControl play ; define AvrZ2AusDI730Uhr at +02:00:00 set myavrzone2 off ") } }

^^Leider kein Erfolg^^


Verbose 5 hab ich schon eingestellt. Ich weiß nur nicht wie der aktuelle Log ausgelesen wird.

DANKE;-)

Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Micha14 am 20 Juli 2016, 08:07:55
Danke dev0.
So geht es.
Ich habe vor set Radio_Zone1 off ein Sleep eingefügt und alles wird so abgearbeitet, wie es sollte.
Danke für den Tipp.
Danke Markus, ich denke so geht es, du brauchst da nichts zu ändern.
Die Abarbeitung der Befehlskette unter navigateListMenu erfolgt ja erstaunlicher Weise trotzdem und immer erst, wenn die Rückmeldung vom Server vorliegt.
So ist es gut.
Danke nochmals
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: obelix221 am 09 November 2016, 14:35:17
Hallo zusammen,

ich habe mit meinem Yamaha Receiver RX-V475 folgendes Problem:

Starte ich manuell die Befehlsreihenfolge:

set AV_receiver on; sleep 10; set AV_receiver volume 45; set AV_receiver input netradio; sleep 3; set AV_receiver navigateListMenu Lesezeichen/Favorites/Radio Gong 96.3

funktioniert alles perfekt. (bis auf das Einstellen des Volumes, aber der gewünschte Sender läuft)

integriere ich das ganze in ein at-Kommando:

Define Radio_Wecker10 at *14:22 set AV_receiver on; sleep 10; set AV_receiver volume 45; set AV_receiver input netradio; sleep 3; set AV_receiver navigateListMenu Lesezeichen/Favorites/Radio Gong 96.3

startet der Receiver,
wechselt auf netradio,
stellt aber keinen Sender ein.

Wer hat einen Rat für mich?

Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Markus Bloch am 09 November 2016, 16:40:40
Hallo obelix221,

das liegt daran, dass FHEM dies als eine Befehlskette erkennt und folgende Einzelbefehle aussführt:

1. Define Radio_Wecker10 at *14:22 set AV_receiver on
2. sleep 10
3. set AV_receiver volume 45
4. set AV_receiver input netradio
5. sleep 3
6. set AV_receiver navigateListMenu Lesezeichen/Favorites/Radio Gong 96.3

Um alle Befehle als Bestandteil des at's zu setzen, musst du die Semikolons maskieren:


define Radio_Wecker10 at *14:22 set AV_receiver on;; sleep 10;; set AV_receiver volume 45;; set AV_receiver input netradio;; sleep 3;; set AV_receiver navigateListMenu Lesezeichen/Favorites/Radio Gong 96.3


Dadurch weis FHEM, dass dieses Semikolon nicht als Befehlstrenner bei der Eingabe des Befehls gedacht ist. Die gesamte angegebene Befehlskette wird dann im at verwendet.

Generell sind die Sleeps nicht notwendig, da das Modul selbstständig die Befehle nacheinander in einer Warteschlange abarbeitet. Es reicht daher auch:


define Radio_Wecker10 at *14:22 set AV_receiver on;;set AV_receiver volume 45 direct;; set AV_receiver input netradio;; set AV_receiver navigateListMenu Lesezeichen/Favorites/Radio Gong 96.3


Viele Grüße

Markus
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: obelix221 am 09 November 2016, 18:21:16
Schnell, kompetent...Volltreffer!

Vielen Dank!!!
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: obelix221 am 11 November 2016, 08:14:39
Guten Morgen zusammen,

nachdem mich der Wecker gestern erfolgreich geweckt hat, ist er heute nicht angesprungen.
Der Receiver war zwar an, auf Netradio gestellt und in der Liste der Favoriten.
Das Menu stand aber auf dem ersten Sender in der Favoritenliste und dieser war aber auch nicht aktiv.

Der Wecker Befehl lautet:

Die at-Definition lautet:

Define Wecker_Wohnzimmer at *06:21 { if (!($we))  { fhem ("set AV_receiver on;; set AV_receiver volume 45 direct;; set AV_receiver input netradio;; set AV_receiver navigateListMenu Lesezeichen/Favorites/Radio Gong 96.3");;}}

Im Logfile steht:

YAMAHA_AVR (AV_receiver) - no more pages left on menu to find item Radio Gong 96.3 in My__Favorites. aborting menu browsing

Klingt für mich so, als ob der Puffer für die Befehlskette übergelaufen ist ?!?

Irgendwelche Ideen?

Viele Grüße
Obelix221
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: obelix221 am 11 November 2016, 18:41:31
Okay...Fehler gefunden...

Habe das Perl Modul gelesen, und glaube zu verstehen, dass oben beschriebene Fehlermeldung aufzeigt, dass der gewünschte Sender nicht gefunden wurde, und keine weiteren Menu-Seiten für die Suche zur Verfügung stehen.

Daraufhin habe ich den Namen des Senders überprüft. Dieser taucht jetzt auf als "Gong 96.3....." das "Radio" vorneweg ist jetzt nicht mehr vorhanden in der originalen Senderliste.

Das ist spannend, denn das müsste heißen, dass sich der Sender in den letzten 24h umbenannt hat?!?

Wie auch immer...Name angepasst, jetzt funktioniert es wieder.
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Morpheus_1977 am 11 Januar 2017, 21:02:21
Hallo zusammern,

ich bin absoluter neuling was FHEM angeht. Ich hoffe ihr vereiht mir meine dummen Fragen...
FHEM läuft bei mir auf einem Pi2 soweit einwandfrei. Hab mir schon für das "rumspielen" ein Backup auf mein NAS eingerichtet was auch perfekt läuft.

Nur mit meinem ersten Gerät habe ich ein Problem. Mein AVR 771 möchte ich gerne zur bestimmen Zeiten ein und ausschalten.
Schön wäre Mo.-Fr. 6-7uhr und am Wochende ab 8:30. Dazu brauch die Zone 2 einfach nur einschalten da er dann den letzten gewählten Sender nimmt der eingestellt war-NetRadio.

Ich stehe absolut auf dem Schlauch wie die Syntax aussehen muss.....
Bisher habe ich in der fhem.cfg folgendes:

define AV_Receiver_Zone2 YAMAHA_AVR 192.168.2.46 zone2
attr AV_Receiver_Zone2 model RX-V771
attr AV_Receiver_Zone2 room Netradio Zone 2

Könnt ihr mir vllt auf die Sprünge helfen!?!?
Vielen Dank
Viele Grüße
Morpheus
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Black7king am 11 Januar 2017, 21:27:02
Hey Morpheus,

Zum Ein/Aus Schalten zu bestimmten Zeiten gibt es verschiedene Ansätze. Am besten schaust du selber mal hier was für dich passt.
https://wiki.fhem.de/wiki/Zeitschaltuhr (https://wiki.fhem.de/wiki/Zeitschaltuhr)

und was du mit Netradio als räum willst versteh ich gerade nicht.
Aber wenn du einen Bestimmten Radiosender Morgens starten willst gibts hier https://fhem.de/commandref_DE.html#YAMAHA_AVR (https://fhem.de/commandref_DE.html#YAMAHA_AVR) ein schönes Beispiel für Automatische Menü wähl.
des sollte doch das sein was du willst.


Mit freundlichen Grüßen
Christian
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Lalle am 13 Januar 2017, 18:58:13
Hmm bin ich blind oder warum gibt es bei mir set navigateListMenu nicht? :(
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Markus Bloch am 13 Januar 2017, 19:05:10
Zitat von: Lalle am 13 Januar 2017, 18:58:13
Hmm bin ich blind oder warum gibt es bei mir set navigateListMenu nicht? :(

Höchstwahrscheinlich, da du die stable-Version von FHEM (aktuell 5.7) einsetzt. Der Befehl navigateListMenu ist aktuell nur in der Entwicklungsversion von FHEM verfügbar. In der nächsten stable-Version wird dieser mit enthalten sein.

Man kann über den FHEM-Befehl "update" auf die aktuellste Entwicklungsversion updaten, allerdings ist das dann der SVN Stand von täglich 07:45 Uhr. Es kann sein, dass hier durchaus sich Fehler einschleichen. Daher sollte man sich das immer genau überlegen. Wir versuchen natürlich nach bestem Wissen dies zu vermeiden, allerdings gelingt das nicht immer.

Viele Grüße

Markus
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Lalle am 14 Januar 2017, 12:08:05
Ah super, vielen Dank für die Erklärung :)
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: saschko am 05 November 2017, 15:28:39
Habe auch ein Problem mit navigateListMenu.
Receiver ist ein ein AVR-1067.

Wenn ich navigateListMenu verwende (z.B. mit Lesezeichen/Favoriten/1LIVE) funkioniert das zunächst nicht. Mir ist nun folgendes aufgefallen:
Wenn ich nach Verwendung des Befehls in fhem die Yamaha-App auf meinem Smartphone starte, kann ich das Menu aufrufen und befinde mich im Verzeichnis der aktuellen Station. Wenn ich dann mit Hilfe der App auf das Startverzeichnis wechsle (also so häufig zurück, wie möglich), wird der navigateListMenu-Befehl dann nachträglich ausgeführt. Sieht also für mich so aus, als ob der "Home"-Aufruf auch bei mir nicht funktioniert (ähnlich wie auf S.6 beschrieben).

Gibt es dafür eine Lösung?
Könnte ich ggf. manuell zuverlässig zurückblättern? Dann könnte ich das ja in meine Befehlskette aufnehmen.

Vielen Dank und viele Grüße
saschko
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Markus Bloch am 05 November 2017, 22:01:42
Hallo saschko,

kannst Du bei Dir bitte mal das Attribut "verbose" bei deiner YAMAHA_AVR-Definition auf 4 setzen und dort das Problem anschließend nochmal provozieren und hier die Logs anhängen?

Vielen Dank

Gruß
Markus
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: saschko am 07 November 2017, 13:13:18
Hab dir zwei Logs angehängt.

1. log_avr.txt
Habe den AVR gestartet mit:
set AVR on;set AVR input netradio;set AVR navigateListMenu Lesezeichen/Favoriten/Cosmo
Das scheint auch zu funktionieren. Bis etwa 12:56 Uhr
Danach wollte ich den Sender wechseln mit: set AVR  navigateListMenu Lesezeichen/Favoriten/1LIVE
Das funktioniert dann nicht mehr.

2. log_avr_mit_app.txt
Hier habe ich den folgenden Befehl ausgeführt:
set AVR on;set AVR input netradio;set AVR navigateListMenu Lesezeichen/Favoriten/1LIVE;sleep 10;set AVR navigateListMenu Lesezeichen/Favoriten/Cosmo;

Auch hier klappt der erste Senderwechsel (diesmal zu 1LIVE). Der zweite Senderwechsel (diesmal zu Cosmo) klappt nicht.
Dann habe ich parallel mit meiner Yamaha-App am Smartphone nichts anderes gemacht, als das Navigationsmenu geöffnet. Und zurück geblätter auf das Stammverzeichnis. Und die App auf dem Smartphone wieder geschlossen.
Der Senderwechsel zu Cosmo wurde kurz danach erfolgreich "nachgeholt". Aber eben nur mit manueller Unterstützung durch die App.
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Markus Bloch am 07 November 2017, 18:42:55
Hallo saschko,

das Problem ist, dass dein AV-Receiver den Befehl um direkt zur obersten Menüebene zu springen nicht versteht. Dein Receiver kann nur Schritt um Schritt nach oben zurückkehren.

Bitte ändere mal Zeile 2049 in 71_YAMAHA_AVR.pm folgendermaßen ab:

my $back_cmd = "Left";

Starte dein FHEM anschließen neu und probiere es nochmal erneut. So müsste es funktionieren.

Viele Grüße

Markus
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: saschko am 07 November 2017, 22:38:45
Hallo Markus,
danke für deine Hilfe. Ich hatte ja auch schon vermutet, dass es an einer nicht funktionierenden Home-Navigation liegt.
Hab die Zeile geändert. Und natürlich auch shutdown restart bei fhem genutzt.

Leider hatte das keinen (für mich sichtbaren) Effekt.
Habe wieder folgendes ausgeführt und das Log angehängt.
set AVR on;set AVR input netradio;set AVR navigateListMenu Lesezeichen/Favoriten/1LIVE;sleep 10;set AVR navigateListMenu Lesezeichen/Favoriten/Cosmo;

Viele Grüße
saschko
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Markus Bloch am 07 November 2017, 23:10:15
Aus deinem Logfile kann ich die Änderungen an YAMAHA_AVR nicht nachvollziehen. Es wird weiterhin versucht mit "Back to Home" zum Ausgangspunkt zu gelangen und nicht via "Left".

Schau nochmal nach. Evtl. das falsche Logfile/Abschnitt?

Viele Grüße

Markus
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: saschko am 08 November 2017, 09:03:57
Guten morgen,
ja, du hast Recht: habe das falsche Logfile angehängt. Hier der zweite Versuch.
Gruß
Saschko
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Markus Bloch am 08 November 2017, 18:45:44
Kannst Du bitte mir mal deine desc.xml zukommen lassen?

Dazu einfach im Webbrowser folgende URL ansteuern:

http://192.168.0.1/YamahaRemoteControl/desc.xml

Dazu bitte die jeweilige IP deines Receivers verwenden.

Vielen Dank

Gruß
Markus
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: saschko am 08 November 2017, 23:28:34
Klar, gerne.
Ist angehängt.
Viele Grüße
saschko
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Markus Bloch am 08 November 2017, 23:38:47
OK, probiere bitte mal die zuvor genannte Zeile folgendermaßen zu ändern:

my $back_cmd = "Back";

Gruß
Markus
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: saschko am 09 November 2017, 12:22:58
Super! Es funktioniert!
Vielen Dank!

Wie kann ich nun die manuelle Änderung vor Updates schützen? Oder kannst du das jetzt sogar auch in die offizielle Version integrieren?
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: marvin78 am 09 November 2017, 12:30:39
exclude_from_update
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Markus Bloch am 09 November 2017, 13:34:02
Bau ich am Wochenende offiziell ein speziell für dein Modell
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: saschko am 09 November 2017, 19:50:58
Super!
Danke euch beiden!
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Markus Bloch am 10 November 2017, 21:05:05
So, die offizielle Änderung ist eingecheckt und gibt es ab morgen via update sofern Du YAMAHA_AVR nicht mehr in exclude_from_update sperrst.

Gruß
Markus
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: saschko am 20 November 2017, 16:10:07
Hallo Markus,
sorry für die späte Rückmeldung. Ich war zwischenzeitlich unterwegs und konnte nicht in Ruhe testen.
Aber danke nochmal für den guten Support. Und für das Modul sowieso.

Und hier noch mal zur Bestätigung:
habe in der Zwischenzeit ein Update gemacht und bisher kann ich sagen: der Senderwechsel beim netradio über "navigateListMenu" funktioniert jetzt wie gewünscht auch mit dem Yamaha AVR RX-V1067.

Gruß
saschko
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: en-trust am 04 Dezember 2018, 15:58:42
navigateListMenu schaltet den Sender nicht um.

set AV_Receiver navigateListMenu Lesezeichen/My__Favorites/FFH ROCK

Aber leider passiert aber nichts. Fhem bzw. der AV schaltet nicht um.
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: Markus Bloch am 12 Dezember 2018, 11:24:10
Hast du denn noch ein paar mehr Infos für mich ausser nur "geht nicht"? Welche Modulversion? Welches Modell? Logmeldungen aus dem fhem.log zum AV-Receiver? verbose-Level mal auf 4 erhöht um mehr Logmeldungen zu erhalten.

Viele Grüße

Markus
Titel: Antw:Yamaha-_Receiver einschalten, Netradio-Lesezeichen
Beitrag von: en-trust am 18 Februar 2019, 10:58:54
set AV_Receiver on;sleep 20;set AV_Receiver input netradio;sleep 20;set AV_Receiver navigateListMenu Lesezeichen/My__Favorites/M80 Rádioatfish
...damit klappt es.

Gibt es vielleicht noch eine Optimierung, damit der Receiver sofort beim Einschalten umschaltet, wenn ich aus der ftui auf ein Logo zum Sender klcke ?
Vielleicht hat hier ja schon jemand so eine Übersicht mit Logos für ftui erstellt...