FHEM Forum

FHEM - Anwendungen => Multimedia => Thema gestartet von: vbs am 05 November 2015, 13:36:33

Titel: YAMAHA_AVR Verzögerungen
Beitrag von: vbs am 05 November 2015, 13:36:33
Hi Markus,

ich bin mal dem Phänomen auf den Grund gegangen, warum FHEM bei mir manchmal für mehrer Sekunden blockiert wird und es scheint bei mir an dem Modul YAMAHA_AVR zu liegen. Und zwar passiert es, wenn ich mit "set volume" die Laustärke ändere. Durch "volume-smooth-change" wird ja die neue Lautstärke ja nicht hart gesetzt, sondern langsam "reingefadet", was dann einen Moment dauert.
Das sieht dann bei mir Log zB so aus:

2015.11.05 13:29:10.107 5: YAMAHA_AVR (wz_avr) - set wz_avr volume
2015.11.05 13:29:10.107 4: YAMAHA_AVR (wz_avr) - new target volume: -80.5
2015.11.05 13:29:10.107 4: YAMAHA_AVR (wz_avr) - use smooth volume change (with 5 steps of -5.5 volume change to reach -80.5)
2015.11.05 13:29:10.108 4: YAMAHA_AVR (wz_avr) - set volume to -56.5 dB (target is -80.5 dB)
2015.11.05 13:29:10.108 5: YAMAHA_AVR (wz_avr) - execute blocking "volume -56.5" on wz_avr: <YAMAHA_AV cmd="PUT"><Main_Zone><Volume><Lvl><Val>-565</Val><Exp>1</Exp><Unit>dB</Unit></Lvl></Volume></Main_Zone></YAMAHA_AV>
2015.11.05 13:29:10.303 5: YAMAHA_AVR (wz_avr) - received HTTP code 200 for command "volume -56.5"
2015.11.05 13:29:10.304 5: YAMAHA_AVR (wz_avr) - got response for "volume -56.5": <YAMAHA_AV rsp="PUT" RC="0"><Main_Zone><Volume><Lvl></Lvl></Volume></Main_Zone></YAMAHA_AV>
2015.11.05 13:29:10.304 4: YAMAHA_AVR (wz_avr) - set volume to -62 dB (target is -80.5 dB)
2015.11.05 13:29:10.304 5: YAMAHA_AVR (wz_avr) - execute blocking "volume -62" on wz_avr: <YAMAHA_AV cmd="PUT"><Main_Zone><Volume><Lvl><Val>-620</Val><Exp>1</Exp><Unit>dB</Unit></Lvl></Volume></Main_Zone></YAMAHA_AV>
2015.11.05 13:29:10.505 5: YAMAHA_AVR (wz_avr) - received HTTP code 200 for command "volume -62"
2015.11.05 13:29:10.506 5: YAMAHA_AVR (wz_avr) - got response for "volume -62": <YAMAHA_AV rsp="PUT" RC="0"><Main_Zone><Volume><Lvl></Lvl></Volume></Main_Zone></YAMAHA_AV>
2015.11.05 13:29:10.506 4: YAMAHA_AVR (wz_avr) - set volume to -67.5 dB (target is -80.5 dB)
2015.11.05 13:29:10.507 5: YAMAHA_AVR (wz_avr) - execute blocking "volume -67.5" on wz_avr: <YAMAHA_AV cmd="PUT"><Main_Zone><Volume><Lvl><Val>-675</Val><Exp>1</Exp><Unit>dB</Unit></Lvl></Volume></Main_Zone></YAMAHA_AV>
2015.11.05 13:29:10.807 5: YAMAHA_AVR (wz_avr) - received HTTP code 200 for command "volume -67.5"
2015.11.05 13:29:10.808 5: YAMAHA_AVR (wz_avr) - got response for "volume -67.5": <YAMAHA_AV rsp="PUT" RC="0"><Main_Zone><Volume><Lvl></Lvl></Volume></Main_Zone></YAMAHA_AV>
2015.11.05 13:29:10.809 4: YAMAHA_AVR (wz_avr) - set volume to -73 dB (target is -80.5 dB)
2015.11.05 13:29:10.809 5: YAMAHA_AVR (wz_avr) - execute blocking "volume -73" on wz_avr: <YAMAHA_AV cmd="PUT"><Main_Zone><Volume><Lvl><Val>-730</Val><Exp>1</Exp><Unit>dB</Unit></Lvl></Volume></Main_Zone></YAMAHA_AV>
2015.11.05 13:29:11.107 5: YAMAHA_AVR (wz_avr) - received HTTP code 200 for command "volume -73"
2015.11.05 13:29:11.108 5: YAMAHA_AVR (wz_avr) - got response for "volume -73": <YAMAHA_AV rsp="PUT" RC="0"><Main_Zone><Volume><Lvl></Lvl></Volume></Main_Zone></YAMAHA_AV>
2015.11.05 13:29:11.108 4: YAMAHA_AVR (wz_avr) - set volume to -78.5 dB (target is -80.5 dB)
2015.11.05 13:29:11.108 5: YAMAHA_AVR (wz_avr) - execute blocking "volume -78.5" on wz_avr: <YAMAHA_AV cmd="PUT"><Main_Zone><Volume><Lvl><Val>-785</Val><Exp>1</Exp><Unit>dB</Unit></Lvl></Volume></Main_Zone></YAMAHA_AV>
2015.11.05 13:29:11.309 5: YAMAHA_AVR (wz_avr) - received HTTP code 200 for command "volume -78.5"
2015.11.05 13:29:11.310 5: YAMAHA_AVR (wz_avr) - got response for "volume -78.5": <YAMAHA_AV rsp="PUT" RC="0"><Main_Zone><Volume><Lvl></Lvl></Volume></Main_Zone></YAMAHA_AV>
2015.11.05 13:29:11.310 4: YAMAHA_AVR (wz_avr) - set volume to -80.5 dB (target is -80.5 dB)
2015.11.05 13:29:11.310 5: YAMAHA_AVR (wz_avr) - execute blocking "volume -80.5" on wz_avr: <YAMAHA_AV cmd="PUT"><Main_Zone><Volume><Lvl><Val>-805</Val><Exp>1</Exp><Unit>dB</Unit></Lvl></Volume></Main_Zone></YAMAHA_AV>
2015.11.05 13:29:11.510 5: YAMAHA_AVR (wz_avr) - received HTTP code 200 for command "volume -80.5"
2015.11.05 13:29:11.511 5: YAMAHA_AVR (wz_avr) - got response for "volume -80.5": <YAMAHA_AV rsp="PUT" RC="0"><Main_Zone><Volume><Lvl></Lvl></Volume></Main_Zone></YAMAHA_AV>
2015.11.05 13:29:11.511 3: onWzAvrInput: Volume set
2015.11.05 13:29:11.512 3: onWzAvrInput: Leaving...
2015.11.05 13:29:11.514 5: YAMAHA_AVR (wz_avr) - set wz_avr ?
2015.11.05 13:29:11.518 1: Perfmon: possible freeze starting at 13:29:09, delay is 2.518


Das smooth-change finde ich eigentlich sehr schick und würde es gerne beibehalten (wenn möglich). Es scheint nun jedoch so zu sein, dass die HTTP-Befehle an den Yamaha sequentiell blockierend durchgeführt werden und dann eben die set-Funktion erst fertig wird, wenn alle Volume-Befehle durch sind.
Ist das das erwartete Verhalten oder gibt es irgendeine Chance, dem Modul zu sagen, dass er das setVolume nicht-blockierend machen soll?

Vielen Dank!
Titel: Antw:YAMAHA_AVR Verzögerungen
Beitrag von: Markus Bloch am 05 November 2015, 14:43:03
Das ist das gewollte Vorgehen. Wenn der Receiver "present" ist, werden alle Anfragen "blocking" durchgeführt, wenn der Receiver "absent" ist, werden alle Anfragen "non-blocking" durchgeführt.

Hintergrund:

Viele User machen wilde Kommandoverkettungen um den Receiver vom ausgeschalteten Zustand in den gewünschten Zustand zu bekommen. Wenn diese Kommandos alle non-blocking sofort abgesetzt werden, ist das zu schnell und der Receiver bearbeitet diese nicht.

Mein Plan ist es, das Modul grundlegend umzustellen auf eine einzige konstante HTTP Verbindung mit einer Kommando-Queue die dann asynchron abgearbeitet wird. Sobald eine Antwort für den letzten Request vorliegt, wird das nächste Kommando aus der Queue gesendet. Alles non-blocking und mit keep-alive Mechanismus, so dass man nicht dauernd eine TCP Verbindung aufbauen muss.

Bis ich dazu Zeit finde, wird es aber wohl wieder etwas dauern.

Viele Grüße

Markus
Titel: Antw:YAMAHA_AVR Verzögerungen
Beitrag von: Markus Bloch am 05 November 2015, 14:44:21
Alternativ kannst du versuchen die volume steps für das smooting auf z.B. 3 runter zu setzen.
Titel: Antw:YAMAHA_AVR Verzögerungen
Beitrag von: vbs am 05 November 2015, 14:46:16
Ok, danke für die schnelle Info! Werde ich mal ausprobieren!
Titel: Antw:YAMAHA_AVR Verzögerungen
Beitrag von: vbs am 07 November 2015, 17:08:42
Hi Markus,

sorry, ich nochmal: Ich hatte jetzt noch einen anderen Fall bei dem eine ziemliche Verzögerung aufgetreten ist (ohne Lautstärkeänderungen). Das sah im Log so aus:

2015.11.07 01:36:39.237 5: YAMAHA_AVR (wz_avr) - received HTTP code 200 for command "statusRequest toneStatus"
2015.11.07 01:36:39.237 5: YAMAHA_AVR (wz_avr) - got response for "statusRequest toneStatus": <YAMAHA_AV rsp="GET" RC="0"><Main_Zone><Sound_Video><Tone><Bass><Val>60</Val><Exp>1</Exp><Unit>dB</Unit></Bass></Tone></Sound_Video></Main_Zone></YAMAHA_AV>
2015.11.07 01:36:39.238 5: YAMAHA_AVR (wz_avr) - received HTTP code 200 for command "statusRequest toneStatus"
2015.11.07 01:36:39.238 5: YAMAHA_AVR (wz_avr) - got response for "statusRequest toneStatus": <YAMAHA_AV rsp="GET" RC="0"><Main_Zone><Sound_Video><Tone><Treble><Val>0</Val><Exp>1</Exp><Unit>dB</Unit></Treble></Tone></Sound_Video></Main_Zone></YAMAHA_AV>
2015.11.07 01:36:39.417 5: YAMAHA_AVR (wz_avr) - received HTTP code 200 for command "statusRequest fwUpdate"
2015.11.07 01:36:39.417 5: YAMAHA_AVR (wz_avr) - got response for "statusRequest fwUpdate": <YAMAHA_AV rsp="GET" RC="0"><System><Misc><Network><Update><Status>Available</Status></Update></Network></Misc></System></YAMAHA_AV>
2015.11.07 01:37:09.005 3: Turning off Samsung TV: wz_tv
2015.11.07 01:37:10.013 3: set wz_tv:FILTER=STATE=opened POWEROFF : 1
2015.11.07 01:37:10.016 5: YAMAHA_AVR (wz_avr) - execute nonblocking "statusRequest basicStatus" on wz_avr: <YAMAHA_AV cmd="GET"><Main_Zone><Basic_Status>GetParam</Basic_Status></Main_Zone></YAMAHA_AV>
2015.11.07 01:37:10.018 5: YAMAHA_AVR (wz_avr) - execute nonblocking "statusRequest fwUpdate" on wz_avr: <YAMAHA_AV cmd="GET"><System><Misc><Update><YAMAHA_Network_Site><Status>GetParam</Status></YAMAHA_Network_Site></Update></Misc></System></YAMAHA_AV>
2015.11.07 01:37:10.019 5: YAMAHA_AVR (wz_avr) - execute nonblocking "statusRequest toneStatus" on wz_avr: <YAMAHA_AV cmd="GET"><Main_Zone><Sound_Video><Tone><Bass>GetParam</Bass></Tone></Sound_Video></Main_Zone></YAMAHA_AV>
2015.11.07 01:37:10.021 5: YAMAHA_AVR (wz_avr) - execute nonblocking "statusRequest toneStatus" on wz_avr: <YAMAHA_AV cmd="GET"><Main_Zone><Sound_Video><Tone><Treble>GetParam</Treble></Tone></Sound_Video></Main_Zone></YAMAHA_AV>
2015.11.07 01:37:10.023 5: YAMAHA_AVR (wz_avr) - execute nonblocking "statusRequest fwUpdate" on wz_avr: <YAMAHA_AV cmd="GET"><System><Misc><Network><Update><Status>GetParam</Status></Update></Network></Misc></System></YAMAHA_AV>
2015.11.07 01:37:10.035 5: YAMAHA_AVR (wz_avr) - received HTTP code 400 for command "statusRequest fwUpdate"
2015.11.07 01:37:10.044 1: tv.fritz.box:55000 disconnected, waiting to reappear (wz_tv)
2015.11.07 01:37:10.051 3: onSamsungTvChange: wz_tv - DISCONNECTED
2015.11.07 01:37:10.052 3: Samsung TV turned off
2015.11.07 01:37:10.052 3: Setting AVR wz_avr scene to 3
2015.11.07 01:37:10.053 5: YAMAHA_AVR (wz_avr) - set wz_avr scene scene3
2015.11.07 01:37:10.053 5: YAMAHA_AVR (wz_avr) - execute blocking "scene scene3" on wz_avr: <YAMAHA_AV cmd="PUT"><Main_Zone><Scene><Scene_Sel>Scene 3</Scene_Sel></Scene></Main_Zone></YAMAHA_AV>
2015.11.07 01:37:13.348 5: YAMAHA_AVR (wz_avr) - received HTTP code 200 for command "scene scene3"
2015.11.07 01:37:13.348 5: YAMAHA_AVR (wz_avr) - got response for "scene scene3": <YAMAHA_AV rsp="PUT" RC="0"><Main_Zone><Scene><Scene_Sel></Scene_Sel></Scene></Main_Zone></YAMAHA_AV>
2015.11.07 01:37:13.349 3: Setting DM7020HD wz_dm7020hd to off
2015.11.07 01:37:13.351 3: ENIGMA2 set wz_dm7020hd off
2015.11.07 01:37:13.358 1: Perfmon: possible freeze starting at 01:37:11, delay is 2.358


Da scheint fhem ein "set wz_avr scene scene3" zu machen, welches erst nach über 3 Sekunden beantwortet wird. Ich vermute, dass das damit zusammen hängt, dass das "set scene" wenige Millisekunden abgesetzt wird, nachdem das AVR-Modul intern die statusRequests abgesetzt hat, was wohl alle 30 Sekunden passiert.

Da gilt wahrscheinlich auch deine vorherige Antwort, dass das momentan das erwartete Verhalten ist und erst durch den Umbau besser werden würde, richtig?
Titel: Antw:YAMAHA_AVR Verzögerungen
Beitrag von: Markus Bloch am 07 November 2015, 17:25:18
Hi,

das "set wz_avr scene scene3" wird nicht durch YAMAHA_AVR selber getriggert, sondern durch etwas anderes in deiner FHEM-Installation. Die Verzögerung kommt hier durch die lange Antwortzeit die der Receiver sich gönnt.

Das Problem lässt sich wie gesagt nur durch eine grundlegende Änderung des Moduls lösen wie bereits beschrieben.

Viele Grüße

Markus
Titel: Antw:YAMAHA_AVR Verzögerungen
Beitrag von: vbs am 07 November 2015, 17:27:54
Zitat von: Markus Bloch am 07 November 2015, 17:25:18
das "set wz_avr scene scene3" wird nicht durch YAMAHA_AVR selber getriggert, sondern durch etwas anderes in deiner FHEM-Installation. Die Verzögerung kommt hier durch die lange Antwortzeit die der Receiver sich gönnt.
Ja genau, sorry hab ich blöd beschrieben: Mein TV geht aus und durch ein notify wird dann "set wz_avr scene scene3" ausgelöst.

Ok danke, dann weiß ich Bescheid.
Titel: Antw:YAMAHA_AVR Verzögerungen
Beitrag von: vbs am 09 November 2015, 18:58:58
Hallo Markus,

sorry, mein letzer Input zu dem Thema, versprochen :D

Was hältst du davon, wenn der Benutzer über ein async-Attribut steuern könnte, ob Anfragen auch asynchron geschickt werden sollen, wenn der Receiver eingeschaltet ist? Bei mir ists eben so, dass schon ein einzelner Ausschalt-Befehl gerne mal FHEM für 3 Sekunden blockiert. Ich fänds super wenn ich den asynchron schicken könnte. Dann könnte der User sich zumindest aussuchen, in welchen sauren Apfel er beißen möchte.
Titel: Antw:YAMAHA_AVR Verzögerungen
Beitrag von: Markus Bloch am 29 November 2015, 13:00:19
Ich habe gestern bereits das YAMAHA_BD Modul auf das genannte Queueing-Verfahren umgestellt und es dann 1:1 auf YAMAHA_AVR angewandt. Anbei mal meine aktuelle Version von YAMAHA_AVR die dieses Verfahren bereits enthält.

Probier mal bitte, wie sich das bei dir verhält.

Vielen Dank

Gruß
Markus
Titel: Antw:YAMAHA_AVR Verzögerungen
Beitrag von: dev0 am 06 Dezember 2015, 10:33:23
Ich vermute mal, dass diese Änderung auch heute per update kamen.

YAMAHA_AVR: added HTTP request queue, send only one request at the same time.
This increases command reliability and response behaviour of the AV receiver.


Heißt das auch, dass man auf die Verzögerung mit sleep zwischen einzelnen Befehlen verzichten könnte? request queue hört sich ja danach an.

/Uli
Titel: Antw:YAMAHA_AVR Verzögerungen
Beitrag von: Markus Bloch am 06 Dezember 2015, 11:27:19
Ja zum Teil durchaus. Zum Beispiel funktionieren damit folgende Konstrukte:

set AV_Receiver on;set AV_Receiver input av2;set AV_Receiver volume 22

Dies bedingt aber, dass ich noch die Fehlermeldung herausnehmen muss von wegen "input can only be used, when device is powered on" (hab ich bei mir in meiner lokalen Entwicklungsvariante bereits durchgeführt, läuft astrein). Bei mir funktionieren dieses Konstrukt zum Beispiel problemlos, was natürlich einem schnelleren Einschaltverhalten zugute kommt.

Bei den Menüs (Net Radio, Server, USB, ...) sieht das ganze etwas anders aus. Hier habe ich aber gestern aufbauend auf den Änderungen mit der Warteschlange einen generellen Mechanismus gebaut, der sicher und ohne sleeps intern durch ein Menü hangelt. Das ganze habe ich erstmal zum testen hier vorgestellt: http://forum.fhem.de/index.php/topic,19896.msg370073.html#new

Hier würde ich mich freuen, wenn das ein paar Leute testen können, da damit diese ganzen remoteControl/sleep-Konstrukte komplett wegfallen würden und nebenbei auch noch deutlich zuverlässiger und einfacher laufen.

Viele Grüße

Markus
Titel: Antw:YAMAHA_AVR Verzögerungen
Beitrag von: dev0 am 06 Dezember 2015, 12:13:14
Hört sich toll an - werde ich testen. Menus benutze ich nicht, aber recht viele zone-ein-aus-laut-leise-input-schaltum Konstrukte.

Nur um sicher zu sein nicht die falsche Version zu testen - die hier hat die "input can only be used" nicht mehr drin:
http://forum.fhem.de/index.php/topic,19896.msg370073.html#new
Richtig?


Thread: # $Id: 71_YAMAHA_AVR.pm 9509 2015-10-18 09:49:01Z markusbloch $
Update: # $Id: 71_YAMAHA_AVR.pm 10100 2015-12-05 15:45:00Z markusbloch $
Titel: Antw:YAMAHA_AVR Verzögerungen
Beitrag von: Markus Bloch am 06 Dezember 2015, 12:40:32
Nein, leider nicht.

Nimm die angehangene Version. Die hat alle aktuellen Änderungen von mir drin. Also Menü-browsen, sowie die entfernten "only be used when device is powered on"-Sachen.

Viele Grüße

Markus

edit: Die Revision wird erst hochgezählt, wenn ich es im SVN einchecke. Da ich aber die eingecheckte Version von gestern noch nicht auf mein eigenes System geupdatet habe, hat dies noch die alte Revision-Nummer, obwohl ich gerade daran fleißig rumschaube.
Titel: Antw:YAMAHA_AVR Verzögerungen
Beitrag von: Schlimbo am 06 Dezember 2015, 14:21:55
Hi Markus,
ich habe mir mit der Android App "Tasker" eine Universal Fernbedienung zusammengestellt, mit der ich meine Multimedia Anlage über FHEM steuer.  Für die Lautstärke Steuerung nutze ich die Kommandos "set AV_Receiver volumeUp" und "set AV_Receiver volumeDown", hier habe ich Taster, die ich oft hintereinander betätige um die Lautstärke zu verändern, mit der neuen Version funktioniert das jetzt aber nicht mehr so dynamisch wie zuvor, da jetzt ja nach jedem Kommando erst auf die Antwort des Receivers gewartet wird. Für die Volume Änderung fände ich es gut, wenn du eine Ausnahme einbauen könntest, damit das schnelle Ändern der Lautstärke wieder funktioniert. 
Titel: Antw:YAMAHA_AVR Verzögerungen
Beitrag von: Markus Bloch am 06 Dezember 2015, 14:44:55
Hallo Schlimbo,

das ist richtig. Die volumeUp und volumeDown Funktionen sind da ein wenig speziell, wenn man sie schnell hintereinander verwendet, da hier noch das volume-smoothing mit reinspielt.

In deinem Fall würde ich dir raten, im Tasker kein volume-smoothing zu verwenden, da du ja mehrfach schnell auf die tasten hämmerst ;-)

Am besten du verwendest folgende Befehle im Tasker:

set AV_Receiver volumeDown 2 direct
set AV_Receiver volumeUp 2 direct


Damit wird die Lautstärke sofort um 2 % geändert ohne smoothing. Wenn du dann mehrmals drauf hämmerst sollte das besser funktionieren als aktuell.

Desweiteren wird nach jeder Lautstärkenänderung die abgeschlossen ist, ein vollständiger statusRequest durchgeführt. Das habe ich in der angehangen Version unterbunden. Bitte prüf mal, ob das damit schneller geht.

Viele Grüße

Markus
Titel: Antw:YAMAHA_AVR Verzögerungen
Beitrag von: Schlimbo am 06 Dezember 2015, 16:10:14
Super, Danke für den Tipp, so funktioniert es viel besser.
Titel: Antw:YAMAHA_AVR Verzögerungen
Beitrag von: dev0 am 08 Dezember 2015, 10:58:51
Zitat von: Markus Bloch am 06 Dezember 2015, 12:40:32
Nimm die angehangene Version. Die hat alle aktuellen Änderungen von mir drin. Also Menü-browsen, sowie die entfernten "only be used when device is powered on"-Sachen.

Bin endlich zum Testen gekommen. System: DSP-Z7 (RX-V3900), 3 Zonen in Betrieb, WZ_AMP ist die Mainzone.
Modul ist das aus dem zitiertem Beitrag.

Mehrere Zonen einschalten funktioniert nicht ohne sleep. Wenn alle Zonen aus sind, dann wird ein sleep von min. 3s benötigt. Ist bereits eine Zone eingeschaltet, dann reicht ein sleep von 1s. Ohne sleep kein Fehler im Log.
Beispiel: set WZ_AMP on; sleep 3; set BA_AMP on; sleep 1; set KU_AMP on

Beim Ausschalten wird jeweils ein sleep von 1s benötigt. Ohne sleep kein Fehler im Log.
Beispiel: set WZ_AMP off; sleep 1; set BA_AMP off; sleep 1; set KU_AMP off

Verkette Befehle in den Zonen 1-3 funktionieren perfekt:
(Alle Zonen sind aus): set KU_AMP on; set KU_AMP input cd; set KU_AMP volume 10; set KU_AMP bass 2

Verkettete Befehle in der Mainzone verhalten sich "etwas komisch":
(Alle Zonen sind aus): set WZ_AMP on; set WZ_AMP input dvd; set WZ_AMP volume 20; set WZ_AMP bass 1
-> 2015.12.08 09:47:36.366 3: YAMAHA_AVR (WZ_AMP) - Could not execute "input dvd": received return code 4
-> Input wird nicht gesetzt, volume und bass sind ok.

(Alle Zonen sind aus): set WZ_AMP on; set WZ_AMP volume 10; set WZ_AMP input dvd; set WZ_AMP bass 2
-> 12.08 10:05:43.966 3: YAMAHA_AVR (WZ_AMP) - Could not execute "volume -62.5": received return code 4
-> Wird alles korrekt ausgeführt, trotz Fehlermeldung. Volume -62,5(db) der Fehlermeldung entspricht aber nicht den zu setzenden 70,5db (10)

Mit einen sleep 1 nach dem Einschalten funktioniert es:
set WZ_AMP on; sleep 1; set WZ_AMP volume 10; set WZ_AMP input dvd; set WZ_AMP bass 2

/Uli
Titel: Antw:YAMAHA_AVR Verzögerungen
Beitrag von: Markus Bloch am 08 Dezember 2015, 12:07:36
Hallo Uli,

ja, das ist leider so. Manche Receiver-Modelle (wie z.B. deiner) mögen es ganz und garnicht, wenn man Millisekunden nach dem Einschalten schon den input wechseln will. Der Return-Code 4 bedeutet "Not successfully set due to a system error".

Andere Receiver kommen damit jedoch klar. So kann ich z.B. direkt ein set on, input ... als ein Befehl ausführen. Mein Receiver kommt damit klar und verarbeitet das entsprechend.

Was ich machen kann, ist eine Verzögerung in der Abarbeitung der Kommando-Warteschlange einzubauen. Sodass bei einem "set ... on" der nächste Befehl in der Warteschlange erst frühestens nach vergangenen x Sekunden abgearbeitet wird.

Viele Grüße

Markus

Titel: Antw:YAMAHA_AVR Verzögerungen
Beitrag von: dev0 am 08 Dezember 2015, 13:21:03
Zitat von: Markus Bloch am 08 Dezember 2015, 12:07:36
Sodass bei einem "set ... on" der nächste Befehl in der Warteschlange erst frühestens nach vergangenen x Sekunden abgearbeitet wird.
Die Idee hatte ich auch schon, dann ist es an zentraler Stelle im Modul und man kann das Thema vergessen. Perfekt wäre es, wenn man die Sekunden mit einem Attribut konfigurieren könnte. Default 0 und sonst Wert des Attributs. Für set off bitte auch.

Toll, das du Zeit gefunden hast die command queue zu implementieren. Vielen Dank!
/Uli
Titel: Antw:YAMAHA_AVR Verzögerungen
Beitrag von: Schlimbo am 08 Dezember 2015, 14:00:26
Eine Verzögerung im Modul, fände ich auch gut, hatte heute Morgen auch Probleme bei der Abarbeitung der Kommandos.
Bei mir wurde nach dem Einschalten der Eingang zwar richtig übernommen, aber die neue Menü Navigation benötigt bei mir nach dem Einschalten auch noch ein sleep.

Zitat von: dev0 am 08 Dezember 2015, 10:58:51
. Volume -62,5(db) der Fehlermeldung entspricht aber nicht den zu setzenden 70,5db (10)
Das habe ich auch beobachtet und war anfangs auch etwas verwirrt. Ich denke das hängt mit der ,,smoothing" Funktion zusammen, durch die ,,smoothing" Funktion wird eine Lautstärkeveränderung in mehreren Schritten ausgeführt und der Wert im Log ist der erste Schritt auf dem Weg zur gewünschte Lautstärke.
Markus, bitte korrigiere mich, wenn ich da falsch liege.
Titel: Antw:YAMAHA_AVR Verzögerungen
Beitrag von: Markus Bloch am 08 Dezember 2015, 23:04:54
Zitat von: Schlimbo am 08 Dezember 2015, 14:00:26
Das habe ich auch beobachtet und war anfangs auch etwas verwirrt. Ich denke das hängt mit der ,,smoothing" Funktion zusammen, durch die ,,smoothing" Funktion wird eine Lautstärkeveränderung in mehreren Schritten ausgeführt und der Wert im Log ist der erste Schritt auf dem Weg zur gewünschte Lautstärke.
Markus, bitte korrigiere mich, wenn ich da falsch liege.

Alles korrekt so.

Die Verzögerung werde ich in den kommenden Tagen bauen.

Viele Grüße

Markus

Titel: Antw:YAMAHA_AVR Verzögerungen
Beitrag von: Markus Bloch am 09 Dezember 2015, 21:24:21
Hallo zusammen,

anbei eine Version, wo ich die Verzögerungen in der Abarbeitung der Queue eingebaut habe. Bei einem set <name> on/off wird das nachfolgende Kommando in der Queue erst nach 2 Sekunden abgearbeitet.

Wenn ein set <name> input XY ausgeführt wird, wird ein abgespeckter StatusRequest an den Anfang der Warteschlange geschoben (noch vor allen anderen wartenden Kommandos), so dass beim nächsten regulären Kommando in der Warteschlange eine spezielle Information verfügbar ist, die für das navigateListMenu sehr wichtig ist.

Aufgrund dieser Änderungen kann man nun folgendes durchführen:

set AV_Receiver on;  set AV_Receiver volume 25 direct; set AV_Receiver input netradio ; set AV_Receiver navigateListMenu Lesezeichen/Favoriten/1LIVE

Klappt bei mir ohne Probleme. Keine sleeps mehr notwendig.

Auch entsprechende Kommandokonstrukte wo man einen Input umschaltet und dann direkt anschließend die Befehle play/pause/stop/skip/shuffle/repeat verwendet, funktionieren damit jetzt auch ohne jegliche sleeps.

Bitte probiert mal bei euch, ob das auch so klappt, insbesondere mit den Zonen und dem RX-V3900.

Vielen Dank

Gruß
Markus
Titel: Antw:YAMAHA_AVR Verzögerungen
Beitrag von: Markus Bloch am 09 Dezember 2015, 23:36:50
Hallo zusammen,

das ganze gilt auch für das volume-Kommando.

Wenn man nun folgenden Befehl ausführt:

aktuelle Lautstärke: -45 dB
set AV_Receiver volumeStraight -70; set AV_Receiver input; ...

Dann wird bei der Evaluierung des Befehls folgende CMD-Queue erzeugt:

1. set volume => -70
2. set input

Da der volume Befehl aber ohne "direct-Zusatz ausgeführt wurde, würde jetzt das volume-smoothing anfangen und folgendes draus machen:

1. set volume => -50
2. set input
3. set volume => -55
4. set volume => -60
usw.

Durch die Möglichkeit, Zusatz-Requests, welche notwendig sind, um einen initialen Request zu erfüllen, an den Anfang zu schieben, wird das ganze nun automatisch so aufgebaut:

1. set volume => -50
2. set volume => -55
3. set volume => -60
4. set volume => -66
5. set volume => -70
6. set input

Somit sind die Befehle wieder in der richtigen Reihenfolge und laufen in der richtigen Reihenfolge sauber ab.

Somit brauch man auch darauf nicht mehr zu achten und kann beliebig befehle hintereinander schreiben mit volume, input, remoteControl befehle ohne auf irgendwas Rücksicht nehmen zu müssen.

Viele Grüße

Markus

Titel: Antw:YAMAHA_AVR Verzögerungen
Beitrag von: dev0 am 10 Dezember 2015, 06:52:54
Zitat von: Markus Bloch am 09 Dezember 2015, 21:24:21
Bitte probiert mal bei euch, ob das auch so klappt, insbesondere mit den Zonen und dem RX-V3900

Moin Markus,

leider funktioniert die neue Version des Modules gar nicht mit dem DSP-Z7 (RX-V3900).
Ich hänge mal ein verbose 5 log von der neuen Version und der Modul Version davor aus diesem Thread an.

Über die nicht gefundenen DSP modes musst Du Dir erstmal keine Gedanken machen, das funktionierte noch nie. Die müssen wir wahrscheinlich mal hard-coded hinterlegen. Mit Wireshark sieht man, dass selbst die Yamaha IOS App bei diesem Modell die Modes nicht abfragt, aber trotzdem setzen kann. Kann man anhand der Doku auch erahnen. Aber das soll hier und jetzt nicht das Thema sein.

/Uli
Titel: Antw:YAMAHA_AVR Verzögerungen
Beitrag von: Schlimbo am 10 Dezember 2015, 17:46:41
Hallo Markus,
bei meinem "RX-V773" funktioniert die neue Version auch nicht.

Hier der Log dazu:
2015.12.10 17:38:18 4: YAMAHA_AVR (AV_Receiver) - append to queue "navigateListMenu Hinzugefügten,True RnB": <?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.10 17:38:18 5: YAMAHA_AVR (AV_Receiver) - set AV_Receiver navigateListMenu Hinzugefügten,True RnB
2015.12.10 17:38:18 4: YAMAHA_AVR (AV_Receiver) - append to queue "statusRequest getScenes": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Scene><Scene_Sel_Item>GetParam</Scene_Sel_Item></Scene></Main_Zone></YAMAHA_AV>
2015.12.10 17:38:18 4: YAMAHA_AVR (AV_Receiver) - append to queue "statusRequest getInputs": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Input><Input_Sel_Item>GetParam</Input_Sel_Item></Input></Main_Zone></YAMAHA_AV>
2015.12.10 17:38:15 5: YAMAHA_AVR (AV_Receiver) - set AV_Receiver ?
2015.12.10 17:38:15 4: YAMAHA_AVR (AV_Receiver) - append to queue "statusRequest getScenes": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Scene><Scene_Sel_Item>GetParam</Scene_Sel_Item></Scene></Main_Zone></YAMAHA_AV>
2015.12.10 17:38:15 4: YAMAHA_AVR (AV_Receiver) - append to queue "statusRequest getInputs": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Input><Input_Sel_Item>GetParam</Input_Sel_Item></Input></Main_Zone></YAMAHA_AV>
2015.12.10 17:38:15 5: YAMAHA_AVR (AV_Receiver) - set AV_Receiver ?
2015.12.10 17:38:15 4: YAMAHA_AVR (AV_Receiver) - append to queue "statusRequest getScenes": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Scene><Scene_Sel_Item>GetParam</Scene_Sel_Item></Scene></Main_Zone></YAMAHA_AV>
2015.12.10 17:38:15 4: YAMAHA_AVR (AV_Receiver) - append to queue "statusRequest getInputs": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Input><Input_Sel_Item>GetParam</Input_Sel_Item></Input></Main_Zone></YAMAHA_AV>
2015.12.10 17:38:13 4: YAMAHA_AVR (AV_Receiver) - append to queue "statusRequest fwUpdate": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><System><Misc><Network><Update><Status>GetParam</Status></Update></Network></Misc></System></YAMAHA_AV>
2015.12.10 17:38:13 4: YAMAHA_AVR (AV_Receiver) - append to queue "statusRequest toneStatus": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Sound_Video><Tone><Treble>GetParam</Treble></Tone></Sound_Video></Main_Zone></YAMAHA_AV>
2015.12.10 17:38:13 4: YAMAHA_AVR (AV_Receiver) - append to queue "statusRequest toneStatus": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Sound_Video><Tone><Bass>GetParam</Bass></Tone></Sound_Video></Main_Zone></YAMAHA_AV>
2015.12.10 17:38:13 4: YAMAHA_AVR (AV_Receiver) - append to queue "statusRequest partyModeStatus": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><System><Party_Mode><Mode>GetParam</Mode></Party_Mode></System></YAMAHA_AV>
2015.12.10 17:38:13 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.10 17:38:13 4: YAMAHA_AVR (AV_Receiver) - append to queue "statusRequest getScenes": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Scene><Scene_Sel_Item>GetParam</Scene_Sel_Item></Scene></Main_Zone></YAMAHA_AV>
2015.12.10 17:38:13 4: YAMAHA_AVR (AV_Receiver) - append to queue "statusRequest getInputs": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Input><Input_Sel_Item>GetParam</Input_Sel_Item></Input></Main_Zone></YAMAHA_AV>
2015.12.10 17:38:13 4: YAMAHA_AVR (AV_Receiver) - append to queue "statusRequest systemConfig": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><System><Config>GetParam</Config></System></YAMAHA_AV>
2015.12.10 17:38:13 4: YAMAHA_AVR (AV_Receiver) - append to queue "statusRequest unitDescription": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><System><Unit_Desc>GetParam</Unit_Desc></System></YAMAHA_AV>
2015.12.10 17:38:03 4: YAMAHA_AVR (AV_Receiver) - append to queue "statusRequest fwUpdate": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><System><Misc><Network><Update><Status>GetParam</Status></Update></Network></Misc></System></YAMAHA_AV>
2015.12.10 17:38:03 4: YAMAHA_AVR (AV_Receiver) - append to queue "statusRequest toneStatus": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Sound_Video><Tone><Treble>GetParam</Treble></Tone></Sound_Video></Main_Zone></YAMAHA_AV>
2015.12.10 17:38:03 4: YAMAHA_AVR (AV_Receiver) - append to queue "statusRequest toneStatus": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Sound_Video><Tone><Bass>GetParam</Bass></Tone></Sound_Video></Main_Zone></YAMAHA_AV>
2015.12.10 17:38:03 4: YAMAHA_AVR (AV_Receiver) - append to queue "statusRequest partyModeStatus": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><System><Party_Mode><Mode>GetParam</Mode></Party_Mode></System></YAMAHA_AV>
2015.12.10 17:38:03 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.10 17:38:03 4: YAMAHA_AVR (AV_Receiver) - append to queue "statusRequest getScenes": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Scene><Scene_Sel_Item>GetParam</Scene_Sel_Item></Scene></Main_Zone></YAMAHA_AV>
2015.12.10 17:38:03 4: YAMAHA_AVR (AV_Receiver) - append to queue "statusRequest getInputs": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Input><Input_Sel_Item>GetParam</Input_Sel_Item></Input></Main_Zone></YAMAHA_AV>
2015.12.10 17:38:03 4: YAMAHA_AVR (AV_Receiver) - append to queue "statusRequest systemConfig": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><System><Config>GetParam</Config></System></YAMAHA_AV>
2015.12.10 17:38:03 4: YAMAHA_AVR (AV_Receiver) - append to queue "statusRequest unitDescription": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><System><Unit_Desc>GetParam</Unit_Desc></System></YAMAHA_AV>
2015.12.10 17:38:01 5: YAMAHA_AVR (AV_Receiver) - set AV_Receiver ?
2015.12.10 17:38:01 4: YAMAHA_AVR (AV_Receiver) - append to queue "statusRequest getScenes": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Scene><Scene_Sel_Item>GetParam</Scene_Sel_Item></Scene></Main_Zone></YAMAHA_AV>
2015.12.10 17:38:01 4: YAMAHA_AVR (AV_Receiver) - append to queue "statusRequest getInputs": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Input><Input_Sel_Item>GetParam</Input_Sel_Item></Input></Main_Zone></YAMAHA_AV>
2015.12.10 17:38:01 5: YAMAHA_AVR (AV_Receiver) - set AV_Receiver ?
2015.12.10 17:38:01 4: YAMAHA_AVR (AV_Receiver) - append to queue "statusRequest getScenes": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Scene><Scene_Sel_Item>GetParam</Scene_Sel_Item></Scene></Main_Zone></YAMAHA_AV>
2015.12.10 17:38:01 4: YAMAHA_AVR (AV_Receiver) - append to queue "statusRequest getInputs": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Input><Input_Sel_Item>GetParam</Input_Sel_Item></Input></Main_Zone></YAMAHA_AV>
2015.12.10 17:37:53 4: YAMAHA_AVR (AV_Receiver) - append to queue "statusRequest fwUpdate": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><System><Misc><Network><Update><Status>GetParam</Status></Update></Network></Misc></System></YAMAHA_AV>
2015.12.10 17:37:53 4: YAMAHA_AVR (AV_Receiver) - append to queue "statusRequest toneStatus": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Sound_Video><Tone><Treble>GetParam</Treble></Tone></Sound_Video></Main_Zone></YAMAHA_AV>
2015.12.10 17:37:53 4: YAMAHA_AVR (AV_Receiver) - append to queue "statusRequest toneStatus": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Sound_Video><Tone><Bass>GetParam</Bass></Tone></Sound_Video></Main_Zone></YAMAHA_AV>
2015.12.10 17:37:53 4: YAMAHA_AVR (AV_Receiver) - append to queue "statusRequest partyModeStatus": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><System><Party_Mode><Mode>GetParam</Mode></Party_Mode></System></YAMAHA_AV>
2015.12.10 17:37:53 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.10 17:37:53 4: YAMAHA_AVR (AV_Receiver) - append to queue "statusRequest getScenes": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Scene><Scene_Sel_Item>GetParam</Scene_Sel_Item></Scene></Main_Zone></YAMAHA_AV>
2015.12.10 17:37:53 4: YAMAHA_AVR (AV_Receiver) - append to queue "statusRequest getInputs": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Input><Input_Sel_Item>GetParam</Input_Sel_Item></Input></Main_Zone></YAMAHA_AV>
2015.12.10 17:37:53 4: YAMAHA_AVR (AV_Receiver) - append to queue "statusRequest systemConfig": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><System><Config>GetParam</Config></System></YAMAHA_AV>
2015.12.10 17:37:53 4: YAMAHA_AVR (AV_Receiver) - append to queue "statusRequest unitDescription": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><System><Unit_Desc>GetParam</Unit_Desc></System></YAMAHA_AV>
2015.12.10 17:37:43 4: YAMAHA_AVR (AV_Receiver) - append to queue "statusRequest fwUpdate": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><System><Misc><Network><Update><Status>GetParam</Status></Update></Network></Misc></System></YAMAHA_AV>
2015.12.10 17:37:43 4: YAMAHA_AVR (AV_Receiver) - append to queue "statusRequest toneStatus": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Sound_Video><Tone><Treble>GetParam</Treble></Tone></Sound_Video></Main_Zone></YAMAHA_AV>
2015.12.10 17:37:43 4: YAMAHA_AVR (AV_Receiver) - append to queue "statusRequest toneStatus": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Sound_Video><Tone><Bass>GetParam</Bass></Tone></Sound_Video></Main_Zone></YAMAHA_AV>
2015.12.10 17:37:43 4: YAMAHA_AVR (AV_Receiver) - append to queue "statusRequest partyModeStatus": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><System><Party_Mode><Mode>GetParam</Mode></Party_Mode></System></YAMAHA_AV>
2015.12.10 17:37:43 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.10 17:37:43 4: YAMAHA_AVR (AV_Receiver) - append to queue "statusRequest getScenes": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Scene><Scene_Sel_Item>GetParam</Scene_Sel_Item></Scene></Main_Zone></YAMAHA_AV>
2015.12.10 17:37:43 4: YAMAHA_AVR (AV_Receiver) - append to queue "statusRequest getInputs": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Input><Input_Sel_Item>GetParam</Input_Sel_Item></Input></Main_Zone></YAMAHA_AV>
2015.12.10 17:37:43 4: YAMAHA_AVR (AV_Receiver) - append to queue "statusRequest systemConfig": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><System><Config>GetParam</Config></System></YAMAHA_AV>
2015.12.10 17:37:43 4: YAMAHA_AVR (AV_Receiver) - append to queue "statusRequest unitDescription": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><System><Unit_Desc>GetParam</Unit_Desc></System></YAMAHA_AV>
2015.12.10 17:37:37 5: YAMAHA_AVR (AV_Receiver) - set AV_Receiver ?
2015.12.10 17:37:37 4: YAMAHA_AVR (AV_Receiver) - append to queue "statusRequest getScenes": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Scene><Scene_Sel_Item>GetParam</Scene_Sel_Item></Scene></Main_Zone></YAMAHA_AV>
2015.12.10 17:37:37 4: YAMAHA_AVR (AV_Receiver) - append to queue "statusRequest getInputs": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Input><Input_Sel_Item>GetParam</Input_Sel_Item></Input></Main_Zone></YAMAHA_AV>


Kann mit dieser Version nichts mehr steuern und der Status wird auch nicht aktualisiert.


Gruß Schlimbo
Titel: Antw:YAMAHA_AVR Verzögerungen
Beitrag von: Markus Bloch am 10 Dezember 2015, 22:02:17
Hallo zusammen,

Fehler gefunden. Ich hatte die entsprechende Änderung die das verursacht nicht in Verbindung mit einem FHEM Neustart getestet, sondern nur ein Modul-Reload gemacht.

Jetzt klappts aber.

Gruß und danke für eure Geduld.

Markus
Titel: Antw:YAMAHA_AVR Verzögerungen
Beitrag von: Markus Bloch am 10 Dezember 2015, 22:32:44
Bitte beachtet, dass diese Version bereits "/" als Trennzeichen für die Menüeinträge in navigateListMenu benutzt.

also "set AV_Receiver navigateListMenu Hinzugefügten/True RnB" benutzen ;-)

Gruß
Markus
Titel: Antw:YAMAHA_AVR Verzögerungen
Beitrag von: Markus Bloch am 10 Dezember 2015, 22:54:37
Ich habe auch schonmal an der Commandref gearbeitet und den Teil mit dem Netradio-Beispiel via remoteControl-Befehle entfernt und durch den im Anhang befindlichen Teil ersetzt.

Schaut mal bitte drüber, ob man das so als normalsterblicher versteht. Passt das soweit, würde ich es in Deutsch nochmal verfassen.

Vielen Dank

Gruß
Markus
Titel: Antw:YAMAHA_AVR Verzögerungen
Beitrag von: dev0 am 11 Dezember 2015, 09:53:36
Moin moin,

zu Netradio/remoteControl kann ich nichts sagen, da ich es nicht verwende.

shut restart:

2015.12.11 08:45:13.335 3: YAMAHA_AVR (WZ_AMP) - could not execute command on device WZ_AMP. Please turn on your device in case of deactivated network standby or check for correct hostaddress.
2015.12.11 08:45:13.359 3: YAMAHA_AVR (KU_AMP) - could not execute command on device KU_AMP. Please turn on your device in case of deactivated network standby or check for correct hostaddress.
2015.12.11 08:45:13.382 3: YAMAHA_AVR (BA_AMP) - could not execute command on device BA_AMP. Please turn on your device in case of deactivated network standby or check for correct hostaddress.
2015.12.11 08:45:15.889 3: YAMAHA_AVR (BA_AMP) - device BA_AMP reappeared
2015.12.11 08:45:15.923 1: PERL WARNING: Use of uninitialized value $zone in concatenation (.) or string at ./FHEM/71_YAMAHA_AVR.pm line 1141.
2015.12.11 08:45:15.927 3: YAMAHA_AVR (WZ_AMP) - device WZ_AMP reappeared
2015.12.11 08:45:15.940 3: YAMAHA_AVR (KU_AMP) - device KU_AMP reappeared


set KU_AMP on; set KU_AMP input cd; set KU_AMP volume 20; set KU_AMP bass 1
-> funktioniert

Ausgabe (fhemweb):
1
2
3


set BA_AMP on; set WZ_AMP on; set KU_AMP on
-> Schaltet pro Aufruf nur eine Zone ein (Delay zu gering? In meinen Versuchen benötigte die Zone an der 2. Stelle im Aufruf min. 3s)

(WZ_AMP wurde nicht eingeschaltet, verbose 5)

2015.12.11 09:21:50.281 5: YAMAHA_AVR (WZ_AMP) - set WZ_AMP on
2015.12.11 09:21:50.282 4: YAMAHA_AVR (WZ_AMP) - append to queue "on": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="PUT"><Main_Zone><Power_Control><Power>On</Power></Power_Control></Main_Zone></YAMAHA_AV>
2015.12.11 09:21:50.282 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 0 (cmd: on, arg: , data: 1, priority: , at_first: , not_before: )
2015.12.11 09:21:50.282 5: YAMAHA_AVR (WZ_AMP) - choosed item 0 as next command
2015.12.11 09:21:50.283 4: YAMAHA_AVR (WZ_AMP) - send command "on": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="PUT"><Main_Zone><Power_Control><Power>On</Power></Power_Control></Main_Zone></YAMAHA_AV>
2015.12.11 09:21:50.578 5: YAMAHA_AVR (WZ_AMP) - received HTTP code 200 for command "on"
2015.12.11 09:21:50.578 5: YAMAHA_AVR (WZ_AMP) - next command has to wait at least 2 seconds before execution
2015.12.11 09:21:50.578 5: YAMAHA_AVR (WZ_AMP) - got response for "on": <YAMAHA_AV rsp="PUT" RC="0"><Main_Zone><Power_Control><Power></Power></Power_Control></Main_Zone></YAMAHA_AV>
2015.12.11 09:21:50.593 4: YAMAHA_AVR (WZ_AMP) - 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.11 09:21:50.594 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 0 (cmd: , arg: , data: 0, priority: 1, at_first: , not_before: 1.98s)
2015.12.11 09:21:50.594 5: YAMAHA_AVR (WZ_AMP) - we have to wait 1.98475003242493 seconds before next item can be checked
2015.12.11 09:21:50.594 5: YAMAHA_AVR (WZ_AMP) - no suitable command item found
2015.12.11 09:21:50.595 4: YAMAHA_AVR (WZ_AMP) - append to queue "statusRequest partyModeStatus": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><System><Party_Mode><Mode>GetParam</Mode></Party_Mode></System></YAMAHA_AV>
2015.12.11 09:21:50.595 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 0 (cmd: , arg: , data: 0, priority: 1, at_first: , not_before: 1.98s)
2015.12.11 09:21:50.595 5: YAMAHA_AVR (WZ_AMP) - we have to wait 1.98305797576904 seconds before next item can be checked
2015.12.11 09:21:50.595 5: YAMAHA_AVR (WZ_AMP) - no suitable command item found
2015.12.11 09:21:50.596 4: YAMAHA_AVR (WZ_AMP) - append to queue "statusRequest toneStatus": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Tone><Speaker><Bass>GetParam</Bass></Speaker></Tone></Main_Zone></YAMAHA_AV>
2015.12.11 09:21:50.597 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 0 (cmd: , arg: , data: 0, priority: 1, at_first: , not_before: 1.98s)
2015.12.11 09:21:50.597 5: YAMAHA_AVR (WZ_AMP) - we have to wait 1.98176503181458 seconds before next item can be checked
2015.12.11 09:21:50.597 5: YAMAHA_AVR (WZ_AMP) - no suitable command item found
2015.12.11 09:21:50.598 4: YAMAHA_AVR (WZ_AMP) - append to queue "statusRequest toneStatus": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Tone><Speaker><Treble>GetParam</Treble></Speaker></Tone></Main_Zone></YAMAHA_AV>
2015.12.11 09:21:50.598 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 0 (cmd: , arg: , data: 0, priority: 1, at_first: , not_before: 1.98s)
2015.12.11 09:21:50.598 5: YAMAHA_AVR (WZ_AMP) - we have to wait 1.98044395446777 seconds before next item can be checked
2015.12.11 09:21:50.598 5: YAMAHA_AVR (WZ_AMP) - no suitable command item found
2015.12.11 09:21:50.599 4: YAMAHA_AVR (WZ_AMP) - append to queue "statusRequest fwUpdate": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><System><Misc><Network><Update><Status>GetParam</Status></Update></Network></Misc></System></YAMAHA_AV>
2015.12.11 09:21:50.599 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 0 (cmd: , arg: , data: 0, priority: 1, at_first: , not_before: 1.98s)
2015.12.11 09:21:50.599 5: YAMAHA_AVR (WZ_AMP) - we have to wait 1.97917294502258 seconds before next item can be checked
2015.12.11 09:21:50.599 5: YAMAHA_AVR (WZ_AMP) - no suitable command item found
2015.12.11 09:21:50.601 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 0 (cmd: , arg: , data: 0, priority: 1, at_first: , not_before: 1.98s)
2015.12.11 09:21:50.601 5: YAMAHA_AVR (WZ_AMP) - we have to wait 1.97774791717529 seconds before next item can be checked
2015.12.11 09:21:50.601 5: YAMAHA_AVR (WZ_AMP) - no suitable command item found
2015.12.11 09:21:50.785 5: YAMAHA_AVR (WZ_AMP) - set WZ_AMP ?
2015.12.11 09:21:51.603 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 0 (cmd: , arg: , data: 0, priority: 1, at_first: , not_before: 0.98s)
2015.12.11 09:21:51.603 5: YAMAHA_AVR (WZ_AMP) - we have to wait 0.975630044937134 seconds before next item can be checked
2015.12.11 09:21:51.603 5: YAMAHA_AVR (WZ_AMP) - no suitable command item found
2015.12.11 09:21:52.605 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 0 (cmd: , arg: , data: 0, priority: 1, at_first: , not_before: -0.03s)
2015.12.11 09:21:52.605 5: YAMAHA_AVR (WZ_AMP) - item 0 is a dummy cmd item with 'not_before' set which is already expired, delete it and recheck index 0 again
2015.12.11 09:21:52.605 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 0 (cmd: statusRequest, arg: basicStatus, data: 1, priority: , at_first: , not_before: )
2015.12.11 09:21:52.605 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 1 (cmd: statusRequest, arg: partyModeStatus, data: 1, priority: , at_first: , not_before: )
2015.12.11 09:21:52.605 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 2 (cmd: statusRequest, arg: toneStatus, data: 1, priority: , at_first: , not_before: )
2015.12.11 09:21:52.606 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 3 (cmd: statusRequest, arg: toneStatus, data: 1, priority: , at_first: , not_before: )
2015.12.11 09:21:52.606 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 4 (cmd: statusRequest, arg: fwUpdate, data: 1, priority: , at_first: , not_before: )
2015.12.11 09:21:52.606 5: YAMAHA_AVR (WZ_AMP) - choosed item 0 as next command
2015.12.11 09:21:52.606 4: YAMAHA_AVR (WZ_AMP) - 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>
2015.12.11 09:21:52.794 5: YAMAHA_AVR (WZ_AMP) - received HTTP code 200 for command "statusRequest basicStatus"
2015.12.11 09:21:52.794 5: YAMAHA_AVR (WZ_AMP) - got response for "statusRequest basicStatus": <YAMAHA_AV rsp="GET" RC="0"><Main_Zone><Basic_Status><Power_Control><Power>Standby</Power><Sleep>Off</Sleep></Power_Control><Vol><Lvl><Val>-610</Val><Exp>1</Exp><Unit>dB</Unit></Lvl><Mute>Off</Mute></Vol><Input><Input_Sel>DVD</Input_Sel><Input_Sel_Title>DVD</Input_Sel_Title></Input><Surr><Pgm_Sel><Straight>Off</Straight><Pgm>7ch Stereo</Pgm></Pgm_Sel></Surr></Basic_Status></Main_Zone></YAMAHA_AV>
2015.12.11 09:21:52.808 5: YAMAHA_AVR (WZ_AMP) - set WZ_AMP ?
2015.12.11 09:21:52.811 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 0 (cmd: statusRequest, arg: partyModeStatus, data: 1, priority: , at_first: , not_before: )
2015.12.11 09:21:52.811 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 1 (cmd: statusRequest, arg: toneStatus, data: 1, priority: , at_first: , not_before: )
2015.12.11 09:21:52.811 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 2 (cmd: statusRequest, arg: toneStatus, data: 1, priority: , at_first: , not_before: )
2015.12.11 09:21:52.812 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 3 (cmd: statusRequest, arg: fwUpdate, data: 1, priority: , at_first: , not_before: )
2015.12.11 09:21:52.812 5: YAMAHA_AVR (WZ_AMP) - choosed item 0 as next command
2015.12.11 09:21:52.812 4: YAMAHA_AVR (WZ_AMP) - send command "statusRequest partyModeStatus": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><System><Party_Mode><Mode>GetParam</Mode></Party_Mode></System></YAMAHA_AV>
2015.12.11 09:21:52.912 5: YAMAHA_AVR (WZ_AMP) - received HTTP code 200 for command "statusRequest partyModeStatus"
2015.12.11 09:21:52.912 5: YAMAHA_AVR (WZ_AMP) - got response for "statusRequest partyModeStatus": <YAMAHA_AV rsp="GET" RC="0"><System><Party_Mode><Mode>Off</Mode></Party_Mode></System></YAMAHA_AV>
2015.12.11 09:21:52.912 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 0 (cmd: statusRequest, arg: toneStatus, data: 1, priority: , at_first: , not_before: )
2015.12.11 09:21:52.913 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 1 (cmd: statusRequest, arg: toneStatus, data: 1, priority: , at_first: , not_before: )
2015.12.11 09:21:52.913 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 2 (cmd: statusRequest, arg: fwUpdate, data: 1, priority: , at_first: , not_before: )
2015.12.11 09:21:52.913 5: YAMAHA_AVR (WZ_AMP) - choosed item 0 as next command
2015.12.11 09:21:52.914 4: YAMAHA_AVR (WZ_AMP) - send command "statusRequest toneStatus": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Tone><Speaker><Bass>GetParam</Bass></Speaker></Tone></Main_Zone></YAMAHA_AV>
2015.12.11 09:21:53.095 5: YAMAHA_AVR (WZ_AMP) - received HTTP code 200 for command "statusRequest toneStatus"
2015.12.11 09:21:53.095 5: YAMAHA_AVR (WZ_AMP) - got response for "statusRequest toneStatus": <YAMAHA_AV rsp="GET" RC="0"><Main_Zone><Tone><Speaker><Bass><Cross_Over><Val>125</Val><Exp>0</Exp><Unit>Hz</Unit></Cross_Over><Lvl><Val>10</Val><Exp>1</Exp><Unit>dB</Unit></Lvl></Bass></Speaker></Tone></Main_Zone></YAMAHA_AV>
2015.12.11 09:21:53.096 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 0 (cmd: statusRequest, arg: toneStatus, data: 1, priority: , at_first: , not_before: )
2015.12.11 09:21:53.096 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 1 (cmd: statusRequest, arg: fwUpdate, data: 1, priority: , at_first: , not_before: )
2015.12.11 09:21:53.097 5: YAMAHA_AVR (WZ_AMP) - choosed item 0 as next command
2015.12.11 09:21:53.097 4: YAMAHA_AVR (WZ_AMP) - send command "statusRequest toneStatus": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Tone><Speaker><Treble>GetParam</Treble></Speaker></Tone></Main_Zone></YAMAHA_AV>
2015.12.11 09:21:53.203 5: YAMAHA_AVR (WZ_AMP) - received HTTP code 200 for command "statusRequest toneStatus"
2015.12.11 09:21:53.203 5: YAMAHA_AVR (WZ_AMP) - got response for "statusRequest toneStatus": <YAMAHA_AV rsp="GET" RC="0"><Main_Zone><Tone><Speaker><Treble><Cross_Over><Val>35</Val><Exp>1</Exp><Unit>kHz</Unit></Cross_Over><Lvl><Val>0</Val><Exp>1</Exp><Unit>dB</Unit></Lvl></Treble></Speaker></Tone></Main_Zone></YAMAHA_AV>
2015.12.11 09:21:53.204 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 0 (cmd: statusRequest, arg: fwUpdate, data: 1, priority: , at_first: , not_before: )
2015.12.11 09:21:53.204 5: YAMAHA_AVR (WZ_AMP) - choosed item 0 as next command
2015.12.11 09:21:53.205 4: YAMAHA_AVR (WZ_AMP) - send command "statusRequest fwUpdate": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><System><Misc><Network><Update><Status>GetParam</Status></Update></Network></Misc></System></YAMAHA_AV>
2015.12.11 09:21:53.299 5: YAMAHA_AVR (WZ_AMP) - received HTTP code 400 for command "statusRequest fwUpdate"
2015.12.11 09:21:56.736 5: YAMAHA_AVR (WZ_AMP) - set WZ_AMP ?
2015.12.11 09:22:00.605 4: YAMAHA_AVR (WZ_AMP) - 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.11 09:22:00.605 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 0 (cmd: statusRequest, arg: basicStatus, data: 1, priority: , at_first: , not_before: )
2015.12.11 09:22:00.605 5: YAMAHA_AVR (WZ_AMP) - choosed item 0 as next command
2015.12.11 09:22:00.605 4: YAMAHA_AVR (WZ_AMP) - 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>
2015.12.11 09:22:00.607 4: YAMAHA_AVR (WZ_AMP) - append to queue "statusRequest partyModeStatus": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><System><Party_Mode><Mode>GetParam</Mode></Party_Mode></System></YAMAHA_AV>
2015.12.11 09:22:00.607 4: YAMAHA_AVR (WZ_AMP) - append to queue "statusRequest toneStatus": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Tone><Speaker><Bass>GetParam</Bass></Speaker></Tone></Main_Zone></YAMAHA_AV>
2015.12.11 09:22:00.608 4: YAMAHA_AVR (WZ_AMP) - append to queue "statusRequest toneStatus": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Tone><Speaker><Treble>GetParam</Treble></Speaker></Tone></Main_Zone></YAMAHA_AV>
2015.12.11 09:22:00.608 4: YAMAHA_AVR (WZ_AMP) - append to queue "statusRequest fwUpdate": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><System><Misc><Network><Update><Status>GetParam</Status></Update></Network></Misc></System></YAMAHA_AV>
2015.12.11 09:22:00.686 5: YAMAHA_AVR (WZ_AMP) - received HTTP code 200 for command "statusRequest basicStatus"
2015.12.11 09:22:00.686 5: YAMAHA_AVR (WZ_AMP) - got response for "statusRequest basicStatus": <YAMAHA_AV rsp="GET" RC="0"><Main_Zone><Basic_Status><Power_Control><Power>Standby</Power><Sleep>Off</Sleep></Power_Control><Vol><Lvl><Val>-610</Val><Exp>1</Exp><Unit>dB</Unit></Lvl><Mute>Off</Mute></Vol><Input><Input_Sel>DVD</Input_Sel><Input_Sel_Title>DVD</Input_Sel_Title></Input><Surr><Pgm_Sel><Straight>Off</Straight><Pgm>7ch Stereo</Pgm></Pgm_Sel></Surr></Basic_Status></Main_Zone></YAMAHA_AV>
2015.12.11 09:22:00.688 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 0 (cmd: statusRequest, arg: partyModeStatus, data: 1, priority: , at_first: , not_before: )
2015.12.11 09:22:00.688 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 1 (cmd: statusRequest, arg: toneStatus, data: 1, priority: , at_first: , not_before: )
2015.12.11 09:22:00.688 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 2 (cmd: statusRequest, arg: toneStatus, data: 1, priority: , at_first: , not_before: )
2015.12.11 09:22:00.688 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 3 (cmd: statusRequest, arg: fwUpdate, data: 1, priority: , at_first: , not_before: )
2015.12.11 09:22:00.688 5: YAMAHA_AVR (WZ_AMP) - choosed item 0 as next command
2015.12.11 09:22:00.689 4: YAMAHA_AVR (WZ_AMP) - send command "statusRequest partyModeStatus": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><System><Party_Mode><Mode>GetParam</Mode></Party_Mode></System></YAMAHA_AV>
2015.12.11 09:22:00.794 5: YAMAHA_AVR (WZ_AMP) - received HTTP code 200 for command "statusRequest partyModeStatus"
2015.12.11 09:22:00.795 5: YAMAHA_AVR (WZ_AMP) - got response for "statusRequest partyModeStatus": <YAMAHA_AV rsp="GET" RC="0"><System><Party_Mode><Mode>Off</Mode></Party_Mode></System></YAMAHA_AV>
2015.12.11 09:22:00.795 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 0 (cmd: statusRequest, arg: toneStatus, data: 1, priority: , at_first: , not_before: )
2015.12.11 09:22:00.796 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 1 (cmd: statusRequest, arg: toneStatus, data: 1, priority: , at_first: , not_before: )
2015.12.11 09:22:00.796 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 2 (cmd: statusRequest, arg: fwUpdate, data: 1, priority: , at_first: , not_before: )
2015.12.11 09:22:00.796 5: YAMAHA_AVR (WZ_AMP) - choosed item 0 as next command
2015.12.11 09:22:00.797 4: YAMAHA_AVR (WZ_AMP) - send command "statusRequest toneStatus": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Tone><Speaker><Bass>GetParam</Bass></Speaker></Tone></Main_Zone></YAMAHA_AV>
2015.12.11 09:22:00.909 5: YAMAHA_AVR (WZ_AMP) - received HTTP code 200 for command "statusRequest toneStatus"
2015.12.11 09:22:00.909 5: YAMAHA_AVR (WZ_AMP) - got response for "statusRequest toneStatus": <YAMAHA_AV rsp="GET" RC="0"><Main_Zone><Tone><Speaker><Bass><Cross_Over><Val>125</Val><Exp>0</Exp><Unit>Hz</Unit></Cross_Over><Lvl><Val>10</Val><Exp>1</Exp><Unit>dB</Unit></Lvl></Bass></Speaker></Tone></Main_Zone></YAMAHA_AV>
2015.12.11 09:22:00.910 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 0 (cmd: statusRequest, arg: toneStatus, data: 1, priority: , at_first: , not_before: )
2015.12.11 09:22:00.911 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 1 (cmd: statusRequest, arg: fwUpdate, data: 1, priority: , at_first: , not_before: )
2015.12.11 09:22:00.911 5: YAMAHA_AVR (WZ_AMP) - choosed item 0 as next command
2015.12.11 09:22:00.911 4: YAMAHA_AVR (WZ_AMP) - send command "statusRequest toneStatus": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Tone><Speaker><Treble>GetParam</Treble></Speaker></Tone></Main_Zone></YAMAHA_AV>
2015.12.11 09:22:01.095 5: YAMAHA_AVR (WZ_AMP) - received HTTP code 200 for command "statusRequest toneStatus"
2015.12.11 09:22:01.095 5: YAMAHA_AVR (WZ_AMP) - got response for "statusRequest toneStatus": <YAMAHA_AV rsp="GET" RC="0"><Main_Zone><Tone><Speaker><Treble><Cross_Over><Val>35</Val><Exp>1</Exp><Unit>kHz</Unit></Cross_Over><Lvl><Val>0</Val><Exp>1</Exp><Unit>dB</Unit></Lvl></Treble></Speaker></Tone></Main_Zone></YAMAHA_AV>
2015.12.11 09:22:01.095 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 0 (cmd: statusRequest, arg: fwUpdate, data: 1, priority: , at_first: , not_before: )
2015.12.11 09:22:01.096 5: YAMAHA_AVR (WZ_AMP) - choosed item 0 as next command
2015.12.11 09:22:01.096 4: YAMAHA_AVR (WZ_AMP) - send command "statusRequest fwUpdate": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><System><Misc><Network><Update><Status>GetParam</Status></Update></Network></Misc></System></YAMAHA_AV>
2015.12.11 09:22:01.200 5: YAMAHA_AVR (WZ_AMP) - received HTTP code 400 for command "statusRequest fwUpdate"


Beim Ausschalten einer Zone über fhemweb erschien ein Popup mit der Ziffer 3 und im Log eine Warnung. Konnte ich aber auch nicht mehr reproduzieren. Ob die Warung wirklich durch das Modul ausgelöst wurde ist auch fraglich.

Use of uninitialized value $_[0] in concatenation (.) or string at /usr/local/share/perl/5.18.2/XML/Parser/Lite.pm line 169, <$client> line 7.


/Uli
Titel: Antw:YAMAHA_AVR Verzögerungen
Beitrag von: Markus Bloch am 11 Dezember 2015, 11:09:00
Zitat von: dev0 am 11 Dezember 2015, 09:53:36
Moin moin,

zu Netradio/remoteControl kann ich nichts sagen, da ich es nicht verwende.

shut restart:

2015.12.11 08:45:13.335 3: YAMAHA_AVR (WZ_AMP) - could not execute command on device WZ_AMP. Please turn on your device in case of deactivated network standby or check for correct hostaddress.
2015.12.11 08:45:13.359 3: YAMAHA_AVR (KU_AMP) - could not execute command on device KU_AMP. Please turn on your device in case of deactivated network standby or check for correct hostaddress.
2015.12.11 08:45:13.382 3: YAMAHA_AVR (BA_AMP) - could not execute command on device BA_AMP. Please turn on your device in case of deactivated network standby or check for correct hostaddress.
2015.12.11 08:45:15.889 3: YAMAHA_AVR (BA_AMP) - device BA_AMP reappeared
2015.12.11 08:45:15.923 1: PERL WARNING: Use of uninitialized value $zone in concatenation (.) or string at ./FHEM/71_YAMAHA_AVR.pm line 1141.
2015.12.11 08:45:15.927 3: YAMAHA_AVR (WZ_AMP) - device WZ_AMP reappeared
2015.12.11 08:45:15.940 3: YAMAHA_AVR (KU_AMP) - device KU_AMP reappeared




Kannst du bitte einen shutdown restart nochmal mit verbose 5 machen? Einfach verbose 5 setzen, dann "Save Config" und einen neustart machen.


Zitat von: dev0 am 11 Dezember 2015, 09:53:36
set KU_AMP on; set KU_AMP input cd; set KU_AMP volume 20; set KU_AMP bass 1
-> funktioniert

Ausgabe (fhemweb):
1
2
3


Die Ausgaben habe ich auch, da muss ich nochmal schauen, wo das herkommt. Ich hab aber schon eine Vermutung.



Zitat von: dev0 am 11 Dezember 2015, 09:53:36
set BA_AMP on; set WZ_AMP on; set KU_AMP on
-> Schaltet pro Aufruf nur eine Zone ein (Delay zu gering? In meinen Versuchen benötigte die Zone an der 2. Stelle im Aufruf min. 3s)

(WZ_AMP wurde nicht eingeschaltet, verbose 5)

2015.12.11 09:21:50.281 5: YAMAHA_AVR (WZ_AMP) - set WZ_AMP on
2015.12.11 09:21:50.282 4: YAMAHA_AVR (WZ_AMP) - append to queue "on": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="PUT"><Main_Zone><Power_Control><Power>On</Power></Power_Control></Main_Zone></YAMAHA_AV>
2015.12.11 09:21:50.282 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 0 (cmd: on, arg: , data: 1, priority: , at_first: , not_before: )
2015.12.11 09:21:50.282 5: YAMAHA_AVR (WZ_AMP) - choosed item 0 as next command
2015.12.11 09:21:50.283 4: YAMAHA_AVR (WZ_AMP) - send command "on": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="PUT"><Main_Zone><Power_Control><Power>On</Power></Power_Control></Main_Zone></YAMAHA_AV>
2015.12.11 09:21:50.578 5: YAMAHA_AVR (WZ_AMP) - received HTTP code 200 for command "on"
2015.12.11 09:21:50.578 5: YAMAHA_AVR (WZ_AMP) - next command has to wait at least 2 seconds before execution
2015.12.11 09:21:50.578 5: YAMAHA_AVR (WZ_AMP) - got response for "on": <YAMAHA_AV rsp="PUT" RC="0"><Main_Zone><Power_Control><Power></Power></Power_Control></Main_Zone></YAMAHA_AV>
2015.12.11 09:21:50.593 4: YAMAHA_AVR (WZ_AMP) - 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.11 09:21:50.594 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 0 (cmd: , arg: , data: 0, priority: 1, at_first: , not_before: 1.98s)
2015.12.11 09:21:50.594 5: YAMAHA_AVR (WZ_AMP) - we have to wait 1.98475003242493 seconds before next item can be checked
2015.12.11 09:21:50.594 5: YAMAHA_AVR (WZ_AMP) - no suitable command item found
2015.12.11 09:21:50.595 4: YAMAHA_AVR (WZ_AMP) - append to queue "statusRequest partyModeStatus": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><System><Party_Mode><Mode>GetParam</Mode></Party_Mode></System></YAMAHA_AV>
2015.12.11 09:21:50.595 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 0 (cmd: , arg: , data: 0, priority: 1, at_first: , not_before: 1.98s)
2015.12.11 09:21:50.595 5: YAMAHA_AVR (WZ_AMP) - we have to wait 1.98305797576904 seconds before next item can be checked
2015.12.11 09:21:50.595 5: YAMAHA_AVR (WZ_AMP) - no suitable command item found
2015.12.11 09:21:50.596 4: YAMAHA_AVR (WZ_AMP) - append to queue "statusRequest toneStatus": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Tone><Speaker><Bass>GetParam</Bass></Speaker></Tone></Main_Zone></YAMAHA_AV>
2015.12.11 09:21:50.597 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 0 (cmd: , arg: , data: 0, priority: 1, at_first: , not_before: 1.98s)
2015.12.11 09:21:50.597 5: YAMAHA_AVR (WZ_AMP) - we have to wait 1.98176503181458 seconds before next item can be checked
2015.12.11 09:21:50.597 5: YAMAHA_AVR (WZ_AMP) - no suitable command item found
2015.12.11 09:21:50.598 4: YAMAHA_AVR (WZ_AMP) - append to queue "statusRequest toneStatus": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Tone><Speaker><Treble>GetParam</Treble></Speaker></Tone></Main_Zone></YAMAHA_AV>
2015.12.11 09:21:50.598 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 0 (cmd: , arg: , data: 0, priority: 1, at_first: , not_before: 1.98s)
2015.12.11 09:21:50.598 5: YAMAHA_AVR (WZ_AMP) - we have to wait 1.98044395446777 seconds before next item can be checked
2015.12.11 09:21:50.598 5: YAMAHA_AVR (WZ_AMP) - no suitable command item found
2015.12.11 09:21:50.599 4: YAMAHA_AVR (WZ_AMP) - append to queue "statusRequest fwUpdate": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><System><Misc><Network><Update><Status>GetParam</Status></Update></Network></Misc></System></YAMAHA_AV>
2015.12.11 09:21:50.599 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 0 (cmd: , arg: , data: 0, priority: 1, at_first: , not_before: 1.98s)
2015.12.11 09:21:50.599 5: YAMAHA_AVR (WZ_AMP) - we have to wait 1.97917294502258 seconds before next item can be checked
2015.12.11 09:21:50.599 5: YAMAHA_AVR (WZ_AMP) - no suitable command item found
2015.12.11 09:21:50.601 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 0 (cmd: , arg: , data: 0, priority: 1, at_first: , not_before: 1.98s)
2015.12.11 09:21:50.601 5: YAMAHA_AVR (WZ_AMP) - we have to wait 1.97774791717529 seconds before next item can be checked
2015.12.11 09:21:50.601 5: YAMAHA_AVR (WZ_AMP) - no suitable command item found
2015.12.11 09:21:50.785 5: YAMAHA_AVR (WZ_AMP) - set WZ_AMP ?
2015.12.11 09:21:51.603 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 0 (cmd: , arg: , data: 0, priority: 1, at_first: , not_before: 0.98s)
2015.12.11 09:21:51.603 5: YAMAHA_AVR (WZ_AMP) - we have to wait 0.975630044937134 seconds before next item can be checked
2015.12.11 09:21:51.603 5: YAMAHA_AVR (WZ_AMP) - no suitable command item found
2015.12.11 09:21:52.605 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 0 (cmd: , arg: , data: 0, priority: 1, at_first: , not_before: -0.03s)
2015.12.11 09:21:52.605 5: YAMAHA_AVR (WZ_AMP) - item 0 is a dummy cmd item with 'not_before' set which is already expired, delete it and recheck index 0 again
2015.12.11 09:21:52.605 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 0 (cmd: statusRequest, arg: basicStatus, data: 1, priority: , at_first: , not_before: )
2015.12.11 09:21:52.605 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 1 (cmd: statusRequest, arg: partyModeStatus, data: 1, priority: , at_first: , not_before: )
2015.12.11 09:21:52.605 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 2 (cmd: statusRequest, arg: toneStatus, data: 1, priority: , at_first: , not_before: )
2015.12.11 09:21:52.606 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 3 (cmd: statusRequest, arg: toneStatus, data: 1, priority: , at_first: , not_before: )
2015.12.11 09:21:52.606 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 4 (cmd: statusRequest, arg: fwUpdate, data: 1, priority: , at_first: , not_before: )
2015.12.11 09:21:52.606 5: YAMAHA_AVR (WZ_AMP) - choosed item 0 as next command
2015.12.11 09:21:52.606 4: YAMAHA_AVR (WZ_AMP) - 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>
2015.12.11 09:21:52.794 5: YAMAHA_AVR (WZ_AMP) - received HTTP code 200 for command "statusRequest basicStatus"
2015.12.11 09:21:52.794 5: YAMAHA_AVR (WZ_AMP) - got response for "statusRequest basicStatus": <YAMAHA_AV rsp="GET" RC="0"><Main_Zone><Basic_Status><Power_Control><Power>Standby</Power><Sleep>Off</Sleep></Power_Control><Vol><Lvl><Val>-610</Val><Exp>1</Exp><Unit>dB</Unit></Lvl><Mute>Off</Mute></Vol><Input><Input_Sel>DVD</Input_Sel><Input_Sel_Title>DVD</Input_Sel_Title></Input><Surr><Pgm_Sel><Straight>Off</Straight><Pgm>7ch Stereo</Pgm></Pgm_Sel></Surr></Basic_Status></Main_Zone></YAMAHA_AV>
2015.12.11 09:21:52.808 5: YAMAHA_AVR (WZ_AMP) - set WZ_AMP ?
2015.12.11 09:21:52.811 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 0 (cmd: statusRequest, arg: partyModeStatus, data: 1, priority: , at_first: , not_before: )
2015.12.11 09:21:52.811 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 1 (cmd: statusRequest, arg: toneStatus, data: 1, priority: , at_first: , not_before: )
2015.12.11 09:21:52.811 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 2 (cmd: statusRequest, arg: toneStatus, data: 1, priority: , at_first: , not_before: )
2015.12.11 09:21:52.812 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 3 (cmd: statusRequest, arg: fwUpdate, data: 1, priority: , at_first: , not_before: )
2015.12.11 09:21:52.812 5: YAMAHA_AVR (WZ_AMP) - choosed item 0 as next command
2015.12.11 09:21:52.812 4: YAMAHA_AVR (WZ_AMP) - send command "statusRequest partyModeStatus": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><System><Party_Mode><Mode>GetParam</Mode></Party_Mode></System></YAMAHA_AV>
2015.12.11 09:21:52.912 5: YAMAHA_AVR (WZ_AMP) - received HTTP code 200 for command "statusRequest partyModeStatus"
2015.12.11 09:21:52.912 5: YAMAHA_AVR (WZ_AMP) - got response for "statusRequest partyModeStatus": <YAMAHA_AV rsp="GET" RC="0"><System><Party_Mode><Mode>Off</Mode></Party_Mode></System></YAMAHA_AV>
2015.12.11 09:21:52.912 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 0 (cmd: statusRequest, arg: toneStatus, data: 1, priority: , at_first: , not_before: )
2015.12.11 09:21:52.913 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 1 (cmd: statusRequest, arg: toneStatus, data: 1, priority: , at_first: , not_before: )
2015.12.11 09:21:52.913 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 2 (cmd: statusRequest, arg: fwUpdate, data: 1, priority: , at_first: , not_before: )
2015.12.11 09:21:52.913 5: YAMAHA_AVR (WZ_AMP) - choosed item 0 as next command
2015.12.11 09:21:52.914 4: YAMAHA_AVR (WZ_AMP) - send command "statusRequest toneStatus": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Tone><Speaker><Bass>GetParam</Bass></Speaker></Tone></Main_Zone></YAMAHA_AV>
2015.12.11 09:21:53.095 5: YAMAHA_AVR (WZ_AMP) - received HTTP code 200 for command "statusRequest toneStatus"
2015.12.11 09:21:53.095 5: YAMAHA_AVR (WZ_AMP) - got response for "statusRequest toneStatus": <YAMAHA_AV rsp="GET" RC="0"><Main_Zone><Tone><Speaker><Bass><Cross_Over><Val>125</Val><Exp>0</Exp><Unit>Hz</Unit></Cross_Over><Lvl><Val>10</Val><Exp>1</Exp><Unit>dB</Unit></Lvl></Bass></Speaker></Tone></Main_Zone></YAMAHA_AV>
2015.12.11 09:21:53.096 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 0 (cmd: statusRequest, arg: toneStatus, data: 1, priority: , at_first: , not_before: )
2015.12.11 09:21:53.096 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 1 (cmd: statusRequest, arg: fwUpdate, data: 1, priority: , at_first: , not_before: )
2015.12.11 09:21:53.097 5: YAMAHA_AVR (WZ_AMP) - choosed item 0 as next command
2015.12.11 09:21:53.097 4: YAMAHA_AVR (WZ_AMP) - send command "statusRequest toneStatus": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Tone><Speaker><Treble>GetParam</Treble></Speaker></Tone></Main_Zone></YAMAHA_AV>
2015.12.11 09:21:53.203 5: YAMAHA_AVR (WZ_AMP) - received HTTP code 200 for command "statusRequest toneStatus"
2015.12.11 09:21:53.203 5: YAMAHA_AVR (WZ_AMP) - got response for "statusRequest toneStatus": <YAMAHA_AV rsp="GET" RC="0"><Main_Zone><Tone><Speaker><Treble><Cross_Over><Val>35</Val><Exp>1</Exp><Unit>kHz</Unit></Cross_Over><Lvl><Val>0</Val><Exp>1</Exp><Unit>dB</Unit></Lvl></Treble></Speaker></Tone></Main_Zone></YAMAHA_AV>
2015.12.11 09:21:53.204 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 0 (cmd: statusRequest, arg: fwUpdate, data: 1, priority: , at_first: , not_before: )
2015.12.11 09:21:53.204 5: YAMAHA_AVR (WZ_AMP) - choosed item 0 as next command
2015.12.11 09:21:53.205 4: YAMAHA_AVR (WZ_AMP) - send command "statusRequest fwUpdate": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><System><Misc><Network><Update><Status>GetParam</Status></Update></Network></Misc></System></YAMAHA_AV>
2015.12.11 09:21:53.299 5: YAMAHA_AVR (WZ_AMP) - received HTTP code 400 for command "statusRequest fwUpdate"
2015.12.11 09:21:56.736 5: YAMAHA_AVR (WZ_AMP) - set WZ_AMP ?
2015.12.11 09:22:00.605 4: YAMAHA_AVR (WZ_AMP) - 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.11 09:22:00.605 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 0 (cmd: statusRequest, arg: basicStatus, data: 1, priority: , at_first: , not_before: )
2015.12.11 09:22:00.605 5: YAMAHA_AVR (WZ_AMP) - choosed item 0 as next command
2015.12.11 09:22:00.605 4: YAMAHA_AVR (WZ_AMP) - 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>
2015.12.11 09:22:00.607 4: YAMAHA_AVR (WZ_AMP) - append to queue "statusRequest partyModeStatus": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><System><Party_Mode><Mode>GetParam</Mode></Party_Mode></System></YAMAHA_AV>
2015.12.11 09:22:00.607 4: YAMAHA_AVR (WZ_AMP) - append to queue "statusRequest toneStatus": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Tone><Speaker><Bass>GetParam</Bass></Speaker></Tone></Main_Zone></YAMAHA_AV>
2015.12.11 09:22:00.608 4: YAMAHA_AVR (WZ_AMP) - append to queue "statusRequest toneStatus": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Tone><Speaker><Treble>GetParam</Treble></Speaker></Tone></Main_Zone></YAMAHA_AV>
2015.12.11 09:22:00.608 4: YAMAHA_AVR (WZ_AMP) - append to queue "statusRequest fwUpdate": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><System><Misc><Network><Update><Status>GetParam</Status></Update></Network></Misc></System></YAMAHA_AV>
2015.12.11 09:22:00.686 5: YAMAHA_AVR (WZ_AMP) - received HTTP code 200 for command "statusRequest basicStatus"
2015.12.11 09:22:00.686 5: YAMAHA_AVR (WZ_AMP) - got response for "statusRequest basicStatus": <YAMAHA_AV rsp="GET" RC="0"><Main_Zone><Basic_Status><Power_Control><Power>Standby</Power><Sleep>Off</Sleep></Power_Control><Vol><Lvl><Val>-610</Val><Exp>1</Exp><Unit>dB</Unit></Lvl><Mute>Off</Mute></Vol><Input><Input_Sel>DVD</Input_Sel><Input_Sel_Title>DVD</Input_Sel_Title></Input><Surr><Pgm_Sel><Straight>Off</Straight><Pgm>7ch Stereo</Pgm></Pgm_Sel></Surr></Basic_Status></Main_Zone></YAMAHA_AV>
2015.12.11 09:22:00.688 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 0 (cmd: statusRequest, arg: partyModeStatus, data: 1, priority: , at_first: , not_before: )
2015.12.11 09:22:00.688 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 1 (cmd: statusRequest, arg: toneStatus, data: 1, priority: , at_first: , not_before: )
2015.12.11 09:22:00.688 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 2 (cmd: statusRequest, arg: toneStatus, data: 1, priority: , at_first: , not_before: )
2015.12.11 09:22:00.688 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 3 (cmd: statusRequest, arg: fwUpdate, data: 1, priority: , at_first: , not_before: )
2015.12.11 09:22:00.688 5: YAMAHA_AVR (WZ_AMP) - choosed item 0 as next command
2015.12.11 09:22:00.689 4: YAMAHA_AVR (WZ_AMP) - send command "statusRequest partyModeStatus": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><System><Party_Mode><Mode>GetParam</Mode></Party_Mode></System></YAMAHA_AV>
2015.12.11 09:22:00.794 5: YAMAHA_AVR (WZ_AMP) - received HTTP code 200 for command "statusRequest partyModeStatus"
2015.12.11 09:22:00.795 5: YAMAHA_AVR (WZ_AMP) - got response for "statusRequest partyModeStatus": <YAMAHA_AV rsp="GET" RC="0"><System><Party_Mode><Mode>Off</Mode></Party_Mode></System></YAMAHA_AV>
2015.12.11 09:22:00.795 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 0 (cmd: statusRequest, arg: toneStatus, data: 1, priority: , at_first: , not_before: )
2015.12.11 09:22:00.796 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 1 (cmd: statusRequest, arg: toneStatus, data: 1, priority: , at_first: , not_before: )
2015.12.11 09:22:00.796 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 2 (cmd: statusRequest, arg: fwUpdate, data: 1, priority: , at_first: , not_before: )
2015.12.11 09:22:00.796 5: YAMAHA_AVR (WZ_AMP) - choosed item 0 as next command
2015.12.11 09:22:00.797 4: YAMAHA_AVR (WZ_AMP) - send command "statusRequest toneStatus": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Tone><Speaker><Bass>GetParam</Bass></Speaker></Tone></Main_Zone></YAMAHA_AV>
2015.12.11 09:22:00.909 5: YAMAHA_AVR (WZ_AMP) - received HTTP code 200 for command "statusRequest toneStatus"
2015.12.11 09:22:00.909 5: YAMAHA_AVR (WZ_AMP) - got response for "statusRequest toneStatus": <YAMAHA_AV rsp="GET" RC="0"><Main_Zone><Tone><Speaker><Bass><Cross_Over><Val>125</Val><Exp>0</Exp><Unit>Hz</Unit></Cross_Over><Lvl><Val>10</Val><Exp>1</Exp><Unit>dB</Unit></Lvl></Bass></Speaker></Tone></Main_Zone></YAMAHA_AV>
2015.12.11 09:22:00.910 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 0 (cmd: statusRequest, arg: toneStatus, data: 1, priority: , at_first: , not_before: )
2015.12.11 09:22:00.911 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 1 (cmd: statusRequest, arg: fwUpdate, data: 1, priority: , at_first: , not_before: )
2015.12.11 09:22:00.911 5: YAMAHA_AVR (WZ_AMP) - choosed item 0 as next command
2015.12.11 09:22:00.911 4: YAMAHA_AVR (WZ_AMP) - send command "statusRequest toneStatus": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Tone><Speaker><Treble>GetParam</Treble></Speaker></Tone></Main_Zone></YAMAHA_AV>
2015.12.11 09:22:01.095 5: YAMAHA_AVR (WZ_AMP) - received HTTP code 200 for command "statusRequest toneStatus"
2015.12.11 09:22:01.095 5: YAMAHA_AVR (WZ_AMP) - got response for "statusRequest toneStatus": <YAMAHA_AV rsp="GET" RC="0"><Main_Zone><Tone><Speaker><Treble><Cross_Over><Val>35</Val><Exp>1</Exp><Unit>kHz</Unit></Cross_Over><Lvl><Val>0</Val><Exp>1</Exp><Unit>dB</Unit></Lvl></Treble></Speaker></Tone></Main_Zone></YAMAHA_AV>
2015.12.11 09:22:01.095 5: YAMAHA_AVR (WZ_AMP) - checking cmd queue item: 0 (cmd: statusRequest, arg: fwUpdate, data: 1, priority: , at_first: , not_before: )
2015.12.11 09:22:01.096 5: YAMAHA_AVR (WZ_AMP) - choosed item 0 as next command
2015.12.11 09:22:01.096 4: YAMAHA_AVR (WZ_AMP) - send command "statusRequest fwUpdate": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><System><Misc><Network><Update><Status>GetParam</Status></Update></Network></Misc></System></YAMAHA_AV>
2015.12.11 09:22:01.200 5: YAMAHA_AVR (WZ_AMP) - received HTTP code 400 for command "statusRequest fwUpdate"


Die einzelnen Zonen-Definitionen (Main Zone, Zone 2, Zone 3, ....) haben jeweils eigene Kommando-Queue's, sowie eigene HTTP-Verbindungen und wissen nichts von einander. Von entsprechenden Verzögerungen wissen die anderen Zonen also nichts.

Es gebe mehrere Möglichkeiten, dem entgegenzuwirken:
Zitat von: dev0 am 11 Dezember 2015, 09:53:36

Beim Ausschalten einer Zone über fhemweb erschien ein Popup mit der Ziffer 3 und im Log eine Warnung. Konnte ich aber auch nicht mehr reproduzieren. Ob die Warung wirklich durch das Modul ausgelöst wurde ist auch fraglich.

Use of uninitialized value $_[0] in concatenation (.) or string at /usr/local/share/perl/5.18.2/XML/Parser/Lite.pm line 169, <$client> line 7.


/Uli

Diese Warnung stammt nicht von YAMAHA_AVR. Ich verwende XML::Parser::Lite nicht.

Viele Grüße

Markus
Titel: Antw:YAMAHA_AVR Verzögerungen
Beitrag von: dev0 am 11 Dezember 2015, 12:30:23
Hi Markus,

anbei schon mal das Log des Restart mit verbose 5 der AVR Zonen.
Über die Queue Steurung würde ich gerne noch einen Moment nachdenken, komme gerade nicht dazu.
Titel: Antw:YAMAHA_AVR Verzögerungen
Beitrag von: Schlimbo am 11 Dezember 2015, 13:44:01
Hi Markus,
Danke für die neue Version, funktioniert bei mir bestens.

im Log habe ich aber eine Meldung:
2015.12.11 13:05:39 1: PERL WARNING: Odd number of elements in anonymous hash at ./FHEM/71_YAMAHA_AVR.pm line 1627, <GEN39> line 312.

Beim "RX-V773"  gibt es keine Probleme,  wenn beide Zonen gleichzeitig eingeschaltet  werden:
set AV_Receiver on; set AV_Receiver_Zone2 on; set AV_Receiver input netradio;set AV_Receiver_Zone2 input netradio;set AV_Receiver navigateListMenu Hinzugefügten/Old
--> Beide Zonen werden eingeschalten

Zitat von: Markus Bloch am 10 Dezember 2015, 22:54:37
Ich habe auch schonmal an der Commandref gearbeitet und den Teil mit dem Netradio-Beispiel via remoteControl-Befehle entfernt und durch den im Anhang befindlichen Teil ersetzt.

Schaut mal bitte drüber, ob man das so als normalsterblicher versteht. Passt das soweit, würde ich es in Deutsch nochmal verfassen.
Ist sehr verständlich geschrieben, denke damit ist klar erklärt, wie die Funktion zu nutzen ist.

Gruß Schlimbo

Titel: Antw:YAMAHA_AVR Verzögerungen
Beitrag von: Markus Bloch am 11 Dezember 2015, 15:34:34
Zitat von: dev0 am 11 Dezember 2015, 12:30:23
Hi Markus,

anbei schon mal das Log des Restart mit verbose 5 der AVR Zonen.
Über die Queue Steurung würde ich gerne noch einen Moment nachdenken, komme gerade nicht dazu.

In deinem Log sieht man überall:


2015.12.11 12:04:50.127 5: YAMAHA_AVR (WZ_AMP) - could not execute command "statusRequest unitDescription": connect to to http://192.168.30.52:80 timed out

2015.12.11 12:04:50.142 5: YAMAHA_AVR (KU_AMP) - could not execute command "statusRequest unitDescription": connect to to http://192.168.30.52:80 timed out

2015.12.11 12:04:50.166 5: YAMAHA_AVR (BA_AMP) - could not execute command "statusRequest unitDescription": connect to to http://192.168.30.52:80 timed out


Das kann daran liegen, dass alle Zonen fast zeitgleich nur wenige Millisekunden versetzt versuchen, die Konfiguration des Receivers zu erfragen. Sicher bin ich mir allerdings nicht. Dannach funktioniert es ja wieder sofort.

Könnte sein, dass man das mit der Zusammenlegung der Queues lösen könnte. Versprechen, kann ich es aber nicht.

Viele Grüße

Markus

Titel: Antw:YAMAHA_AVR Verzögerungen
Beitrag von: dev0 am 11 Dezember 2015, 15:48:43
Zitat von: Markus Bloch am 11 Dezember 2015, 11:09:00
1. Wenn eine Zone ein Kommando absetzt, was ein anschließendes Delay benötigt (aktuell "on" und "off"), dann werden entsprechende Delays in allen Zonen in deren Queue eingebracht. Die Queues halten sich dann auch jeweils separat an dieses Delay und arbeiten erst weiter, wenn diese jeweils einzeln verstrichen sind.
Bis jetzt wissen wir, dass on/off ein Delay benötigt. Gut. Wie sieht es aus, wenn z.B. eine Sonosdruchsage gemacht werden soll und in allen Zonen die Inputs und Lautstärke geändert werden muss. Ich vermute, dass bei der ersten Variante sich die Queues auch wieder in die Quere kommen, da sie direkt nacheinander befeuert werden und unabhängig von einander an den Amp schicken. Ich habe es aber noch nicht ausprobieren können, geht erst am Morgen wieder. Variante 2 würde dieses Problem, wenn es besteht mMn auch lösen.

Ah... sehe Du hast gerade geantwortet und das bestätigt auch meine Vermutung, das eine Queue die beste Lösung ist.
Titel: Antw:YAMAHA_AVR Verzögerungen
Beitrag von: Markus Bloch am 11 Dezember 2015, 16:21:16
Zitat von: dev0 am 11 Dezember 2015, 15:48:43
Bis jetzt wissen wir, dass on/off ein Delay benötigt. Gut. Wie sieht es aus, wenn z.B. eine Sonosdruchsage gemacht werden soll und in allen Zonen die Inputs und Lautstärke geändert werden muss. Ich vermute, dass bei der ersten Variante sich die Queues auch wieder in die Quere kommen, da sie direkt nacheinander befeuert werden und unabhängig von einander an den Amp schicken. Ich habe es aber noch nicht ausprobieren können, geht erst am Morgen wieder. Variante 2 würde dieses Problem, wenn es besteht mMn auch lösen.

Ah... sehe Du hast gerade geantwortet und das bestätigt auch meine Vermutung, das eine Queue die beste Lösung ist.

Das würde ich aber gerne separat umsetzen. Die ganzen Änderungen, die wir jetzt hier im Rahmen dieses Threads gemacht haben, möchte ich erstmal gerne einchecken. Anschließend würde ich mich nochmal hinsetzen und die Queues für Mehrzonen-Geräte zu einer zusammenführen.

Viele Grüße

Markus
Titel: Antw:YAMAHA_AVR Verzögerungen
Beitrag von: dev0 am 11 Dezember 2015, 16:44:17
Macht sinn. Wenn ich etwas testen soll oder ich dich sonst irgendwie unterstützen kann, dann sag einfach bescheid.
Titel: Antw:YAMAHA_AVR Verzögerungen
Beitrag von: Markus Bloch am 11 Dezember 2015, 20:08:48
Hallo zusammen,

die Änderungen sind nun eingecheckt und stehen ab morgen zur Verfügung.

Hiermit sollten nun viele Probleme der Vergangenheit angehören. Das Modul YAMAHA_AVR macht nun nichts blockierendes mehr (bis auf die DNS Auflösung) und sollte somit nun keine Probleme im Ablauf von FHEM verursachen (was ja der eigentliche Aufhänger für diesen Thread ja war).

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

Viele Grüße

Markus
Titel: Antw:YAMAHA_AVR Verzögerungen
Beitrag von: Markus Bloch am 11 Dezember 2015, 22:17:46
Zitat von: Schlimbo am 11 Dezember 2015, 13:44:01
im Log habe ich aber eine Meldung:
2015.12.11 13:05:39 1: PERL WARNING: Odd number of elements in anonymous hash at ./FHEM/71_YAMAHA_AVR.pm line 1627, <GEN39> line 312.

Hallo Schlimbo,

ist mit dem update morgen ebenfalls behoben. War ein Copy-Paste-Vergesser.

Viele Grüße

Markus
Titel: Antw:YAMAHA_AVR Verzögerungen
Beitrag von: vbs am 12 Dezember 2015, 12:48:23
Sorry, ich hatte leider noch keine Gelegenheit, mich mit den Änderungen so wirklich auseinander zu setzen. Aber ich habe seit dem Update heute folgende Warning beim Start (letzte Zeile):

2015.12.12 12:45:08 0: Featurelevel: 5.7
2015.12.12 12:45:08 0: Server started with 297 defined entities (fhem.pl:10116/2015-12-06 perl:5.020002 os:linux user:fhem pid:2883)
2015.12.12 12:45:08 1: Perfmon: possible freeze starting at 12:45:02, delay is 6.294
2015.12.12 12:45:08 3: YAMAHA_AVR (wz_avr) - could not execute command on device wz_avr. Please turn on your device in case of deactivated network standby or check for correct hostaddress.
2015.12.12 12:45:08 1: HMLAN_Parse: HMLAN0 new condition ok
2015.12.12 12:45:08 3: onKuSqueezebox: ku_sb -> off
2015.12.12 12:45:08 3: get wz_avr mute : off
2015.12.12 12:45:08 1: openelec:9090 reappeared (wz_xbmc)
2015.12.12 12:45:08 1: openelec:9090 reappeared (wz_xbmc)
2015.12.12 12:45:08 3: SMARTLIGHTS: submitting command: set ku_lightSpot 0 0 10
2015.12.12 12:45:08 3: CUL_HM set ku_lightSpot 0 0 10
2015.12.12 12:45:08 3: SMARTLIGHTS: submitting command: set sz_lightLava off
2015.12.12 12:45:08 3: SMARTLIGHTS: submitting command: set sz_lightAmbient 0 0 10
2015.12.12 12:45:08 3: CUL_HM set sz_lightAmbient 0 0 10
2015.12.12 12:45:08 3: SMARTLIGHTS: submitting command: set sz_lightSpot 0 0 10
2015.12.12 12:45:08 3: CUL_HM set sz_lightSpot 0 0 10
2015.12.12 12:45:08 3: SMARTLIGHTS: submitting command: set wz_lightLedStripe HSV 0,0,0 10
2015.12.12 12:45:08 3: wz_lightLedStripe set HSV 0, 0, 0 with ramp: 10, flags:
2015.12.12 12:45:08 3: SMARTLIGHTS: submitting command: set wz_lightRed 0 0 10
2015.12.12 12:45:08 3: CUL_HM set wz_lightRed 0 0 10
2015.12.12 12:45:08 3: SMARTLIGHTS: submitting command: set wz_lightDesk 0 0 10
2015.12.12 12:45:08 3: CUL_HM set wz_lightDesk 0 0 10
2015.12.12 12:45:08 3: SMARTLIGHTS: submitting command: set wz_lightCrystal 0 0 10
2015.12.12 12:45:08 3: CUL_HM set wz_lightCrystal 0 0 10
2015.12.12 12:45:08 3: SMARTLIGHTS: submitting command: set fl_lightCrystal 0 0 10
2015.12.12 12:45:08 3: CUL_HM set fl_lightCrystal 0 0 10
2015.12.12 12:45:08 3: SMARTLIGHTS: submitting command: set fl_lightChain 0 0 10
2015.12.12 12:45:08 3: CUL_HM set fl_lightChain 0 0 10
2015.12.12 12:45:08 3: YAMAHA_AVR (wz_avr) - device wz_avr reappeared
2015.12.12 12:45:08 1: PERL WARNING: Use of uninitialized value $zone in concatenation (.) or string at ./FHEM/71_YAMAHA_AVR.pm line 1148.
Titel: Antw:YAMAHA_AVR Verzögerungen
Beitrag von: Markus Bloch am 12 Dezember 2015, 13:48:59
Habe ich gefixt. Gibt es morgen.

Viele Grüße

Markus
Titel: Antw:YAMAHA_AVR Verzögerungen
Beitrag von: Markus Bloch am 15 Dezember 2015, 23:56:16
Zitat von: dev0 am 11 Dezember 2015, 16:44:17
Macht sinn. Wenn ich etwas testen soll oder ich dich sonst irgendwie unterstützen kann, dann sag einfach bescheid.

Teste doch bitte mal die angehangene Version. In dieser sind die Queues der Zonen verschmolzen. Sobald für ein physisches Device (Erkennung anhand der System-Id) eine Main-Zone definiert ist, werden die Unterzonen (Zone 2, 3, 4) ihre Kommandos in die Queue der Main-Zone einbringen. Die Rückmeldungen der Antworten werden aber wieder von der Unterzone verarbeitet.

Dabei ist es jedoch so, dass beim Starten von FHEM jede Zone erstmal individuell und selbstständig die Systemkonfiguration des Receivers abfragt. Sobald die gewählte Zone verifiziert wurde und die System-ID zur Verfügung steht wird ab da an geprüft, ob eine Main-Zone definiert ist. Falls ja, wird von da an alle weiteren Befehle über die Main-Zone abgewickelt. Somit gibt es beim Start pro Zone jeweils 2 Requests die von den Zonen-Definitionen eigenständig durchgeführt werden.

Sobald die Main-Zone nicht mehr definiert sein soll, werden die Kommandos augenblicklich wieder auf eigene Faust durchgeführt.



Viele Grüße

Markus
Titel: Antw:YAMAHA_AVR Verzögerungen
Beitrag von: Schlimbo am 16 Dezember 2015, 06:49:47
Hallo Markus,
Seit dem gestrigen Update funktioniert die Lautstärke Änderung nicht mehr.
Es muss etwas mit der "smooth" Funktion zu tun haben, setzte ich "volume-smooth-change"  auf 0 funktioniert es wieder.

Log:
2015.12.16 06:30:45 3: YAMAHA_AVR (AV_Receiver) - Could not execute "volume -89.5": received return code 3

Kannst du das bitte mal checken?

Danke

Gruß
Schlimbo
Titel: Antw:YAMAHA_AVR Verzögerungen
Beitrag von: dev0 am 16 Dezember 2015, 08:48:39
Zitat von: Markus Bloch am 15 Dezember 2015, 23:56:16
Teste doch bitte mal die angehangene Version. In dieser sind die Queues der Zonen verschmolzen.

Moin Markus,

leider läßt sich mit dieser Version keine Zone weder ein- noch ausschalten.
Log anbei.

/Uli
Titel: Antw:YAMAHA_AVR Verzögerungen
Beitrag von: Markus Bloch am 16 Dezember 2015, 22:44:52
Zitat von: Schlimbo am 16 Dezember 2015, 06:49:47
Hallo Markus,
Seit dem gestrigen Update funktioniert die Lautstärke Änderung nicht mehr.
Es muss etwas mit der "smooth" Funktion zu tun haben, setzte ich "volume-smooth-change"  auf 0 funktioniert es wieder.

Log:
2015.12.16 06:30:45 3: YAMAHA_AVR (AV_Receiver) - Could not execute "volume -89.5": received return code 3

Kannst du das bitte mal checken?

Danke

Gruß
Schlimbo

Ja, da habe ich mal wieder gekonnt ignoriert, dass ja Punktrechnung vor Strichrechnung gilt. Die Grundschule ist eben auch schon eine Weile her. Ist morgen wieder funktionsfähig.

Viele Grüße

Markus
Titel: Antw:YAMAHA_AVR Verzögerungen
Beitrag von: Markus Bloch am 16 Dezember 2015, 23:32:41
Zitat von: dev0 am 16 Dezember 2015, 08:48:39
Moin Markus,

leider läßt sich mit dieser Version keine Zone weder ein- noch ausschalten.
Log anbei.

/Uli

Nächster Versuch. Ist leider etwas fummelig.

Viele Grüße

Markus
Titel: Antw:YAMAHA_AVR Verzögerungen
Beitrag von: dev0 am 17 Dezember 2015, 08:14:57
Zitat von: Markus Bloch am 16 Dezember 2015, 23:32:41
Nächster Versuch.


set WZ_AMP on; set KU_AMP on; set BA_AMP on; -> nur WZ_AMP wurde eingeschaltet
set KU_AMP on; set WZ_AMP on; set BA_AMP on; -> WZ_AMP wurde nicht eingeschaltet
set WZ_AMP off; set KU_AMP off; set BA_AMP off; -> BA_AMP wurde nicht ausgeschaltet
set KU_AMP off; set WZ_AMP off; set BA_AMP off; -> WZ_AMP wurde nicht ausgeschaltet


Da ich in meinen Tests mit getrennten Queues gesehen hatte, dass beim Einschalten der 2. Zone im Command ein Delay von 3s nötig war,

set WZ_AMP on; sleep 3; set KU_AMP on; sleep 2; set BA_AMP on;

habe ich im Modul alle {options => {wait_after_response => 2}} mal auf 4 gesetzt.

Dadurch wurde beim Einschalten aller Zonen KU_AMP auch eingeschaltet, BA_AMP allerdings weiterhin nicht.

set WZ_AMP on; set KU_AMP on; set BA_AMP on; -> BA_AMP wurde nicht eingeschaltet


Die Ergebnisse sind reproduzierbar, WZ_AMP ist meine Mainzone, Logs anbei.

/Uli
Titel: Antw:YAMAHA_AVR Verzögerungen
Beitrag von: Markus Bloch am 17 Dezember 2015, 18:25:24
3. Versuch
Titel: Antw:YAMAHA_AVR Verzögerungen
Beitrag von: dev0 am 18 Dezember 2015, 07:20:14
set WZ_AMP on; set KU_AMP on; set BA_AMP on;
Schaltet nur WZ_AMP ein, die anderen Zonen bleiben aus.
Ich denke, dass das als Test reicht, wenn Du andere Kombinationen brauchst, dann sag einfach bescheid.

/Uli
Titel: Antw:YAMAHA_AVR Verzögerungen
Beitrag von: Markus Bloch am 18 Dezember 2015, 12:05:13
Hmm, sieht vom Log her aber so aus, wie es soll:

Zitat

2015.12.18 07:08:41.722 4: YAMAHA_AVR (WZ_AMP) - send command "on": .....

2015.12.18 07:08:41.890 5: YAMAHA_AVR (WZ_AMP) - next command has to wait at least 2 seconds before execution
2015.12.18 07:08:41.890 5: YAMAHA_AVR (WZ_AMP) - got response for "on": <YAMAHA_AV rsp="PUT" RC="0"><Main_Zone><Power_Control><Power></Power></Power_Control></Main_Zone></YAMAHA_AV>


2015.12.18 07:08:43.930 4: YAMAHA_AVR (WZ_AMP) - send command "on": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="PUT"><Zone_2><Power_Control><Power>On</Power></Power_Control></Zone_2></YAMAHA_AV>

2015.12.18 07:08:44.048 5: YAMAHA_AVR (KU_AMP) - next command has to wait at least 2 seconds before execution
2015.12.18 07:08:44.048 5: YAMAHA_AVR (KU_AMP) - got response for "on": <YAMAHA_AV rsp="PUT" RC="0"><Zone_2><Power_Control><Power></Power></Power_Control></Zone_2></YAMAHA_AV>


Bis hierhin siehts gut aus. Evtl. nochmal mit der "wait_after_response" options spielen, wie du es zuvor schon gemacht hast. Hatte ich jetzt nicht übernommen.

hier sollte eigentlich wieder 2 Sekunden wartezeit dazwischen liegen, warum er das nicht gemacht hat, muss ich mir heute abend wieder in Ruhe anschauen.

2015.12.18 07:08:44.069 4: YAMAHA_AVR (WZ_AMP) - send command "on": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="PUT"><Zone_3><Power_Control><Power>On</Power></Power_Control></Zone_3></YAMAHA_AV>
2015.12.18 07:08:44.246 5: YAMAHA_AVR (BA_AMP) - next command has to wait at least 2 seconds before execution
2015.12.18 07:08:44.246 5: YAMAHA_AVR (BA_AMP) - got response for "on": <YAMAHA_AV rsp="PUT" RC="0"><Zone_3><Power_Control><Power></Power></Power_Control></Zone_3></YAMAHA_AV>


Das set-Kommando wie du es aktuell machst reicht völlig. Genau dass soll die Änderung ja beheben.

Gruß
Markus
Titel: Antw:YAMAHA_AVR Verzögerungen
Beitrag von: Markus Bloch am 18 Dezember 2015, 16:28:22
4. Versuch. Diesmal auch mit wait_after_response => 4
Titel: Antw:YAMAHA_AVR Verzögerungen
Beitrag von: dev0 am 18 Dezember 2015, 18:01:25
Zitat von: Markus Bloch am 18 Dezember 2015, 16:28:22
4. Versuch.

Sieht fast gut aus. Beim ersten Versuch alle Zonen einzuschalten wurde eine Zone nicht eingeschaltet. Ausschalten klappte darauf hin problemlos. Ein weiteres Einschalten aller Zonen hat dann auch wirklich alle Zonen eingeschaltet. Drei weitere Tests waren auch erfolgreich. Ich kann jetzt leider nicht weiter testen sonst bekomme ich hier was auf den Deckel ;-) Ich schaue mir das am WE noch einmal an.

/Uli
Titel: Antw:YAMAHA_AVR Verzögerungen
Beitrag von: dev0 am 21 Dezember 2015, 08:43:57
Hi Markus,

der "Fehler", dass sich eine Zone nicht eingeschaltet hat, konnte ich mit der letzten Version nicht mehr reproduzieren. Vielleicht hatte ich mich schlicht vertippt..?
Folgendes hatte ich jetzt nochmal gestestet und geloggt:

{
  Log 3, "YAMAHA yTest2";
  fhem("set WZ_AMP on; set WZ_AMP input cd; set WZ_AMP volume 10; set WZ_AMP bass 0; set WZ_AMP treble 0");
  fhem("sleep 1; set KU_AMP on; set KU_AMP input cd; set KU_AMP volume 10; set KU_AMP bass 0; set KU_AMP treble 0");
  fhem("sleep 1.5; set BA_AMP on; set BA_AMP input cd; set BA_AMP volume 10; set BA_AMP bass 0; set BA_AMP treble 0");
}

Das funktioniert generell. Alle Zonen schalten sich ein und die Parameter werden korrekt gestzt, bis auf die Tonesteuerung der Mainzone (WZ_AMP). Die Einstellung wird gesetzt, dafür zeigen die Readings völlig falsche Werte (bass: 12.5, treble 3.5). Von den Werten her sind das die Crossover Frequenzen /10. Folgendes command reicht für diesen Effekt aber auch schon aus:

set WZ_AMP treble/bass 0

Nach einem "set statusRequest" werden weiterhin die falschen Werte angezeigt. Verstelle ich die Werte direkt am Verstärker, dann werden sie nach einer Weile wieder korrekt angezeigt, auch ohne expliziten statusRequest.
Logs anbei.

/Uli
Titel: Antw:YAMAHA_AVR Verzögerungen
Beitrag von: Markus Bloch am 21 Dezember 2015, 11:07:27
Zitat von: dev0 am 21 Dezember 2015, 08:43:57
Hi Markus,

der "Fehler", dass sich eine Zone nicht eingeschaltet hat, konnte ich mit der letzten Version nicht mehr reproduzieren. Vielleicht hatte ich mich schlicht vertippt..?
Folgendes hatte ich jetzt nochmal gestestet und geloggt:

{
  Log 3, "YAMAHA yTest2";
  fhem("set WZ_AMP on; set WZ_AMP input cd; set WZ_AMP volume 10; set WZ_AMP bass 0; set WZ_AMP treble 0");
  fhem("sleep 1; set KU_AMP on; set KU_AMP input cd; set KU_AMP volume 10; set KU_AMP bass 0; set KU_AMP treble 0");
  fhem("sleep 1.5; set BA_AMP on; set BA_AMP input cd; set BA_AMP volume 10; set BA_AMP bass 0; set BA_AMP treble 0");
}


Das klingt doch super. Ich habe es aktuell so gemacht, dass für DSP Modelle ein Delay von 4 Sekunden nach on/off eingehalten wird, bei allen anderen 2 Sekunden. Ich sehe aktuell keinen Grund das konfigurierbar zu machen.

Zitat von: dev0 am 21 Dezember 2015, 08:43:57
Das funktioniert generell. Alle Zonen schalten sich ein und die Parameter werden korrekt gestzt, bis auf die Tonesteuerung der Mainzone (WZ_AMP). Die Einstellung wird gesetzt, dafür zeigen die Readings völlig falsche Werte (bass: 12.5, treble 3.5). Von den Werten her sind das die Crossover Frequenzen /10. Folgendes command reicht für diesen Effekt aber auch schon aus:

set WZ_AMP treble/bass 0

Nach einem "set statusRequest" werden weiterhin die falschen Werte angezeigt. Verstelle ich die Werte direkt am Verstärker, dann werden sie nach einer Weile wieder korrekt angezeigt, auch ohne expliziten statusRequest.
Logs anbei.

/Uli

Das ist einen Fehler im Modul geschuldet. Wenn man ein set <name> bass/treble ausführt, dann muss bei DSP-basierten Modellen die Crossover-Frequenz mit angegeben werden. Diese wird vom Modul im Reading bassCrossover und trebleCrossover festgehalten. Im Modul wird dann bei einem solchen Kommando der aktuelle Wert dieses Readings genommen und bei dem Request wieder mitgeschickt. Hier war im Modul noch ein Fehler, sodass ein falscher Reading-Name genommen wurde, der nicht existiert und dann als Standard die von dir genannten Frequenzen benutzt werden. Habe ich aber schon geändert.

Zur Sicherheit nochmal anbei die aktuelle Version. Bitte prüf nochmal ob hier die Frequenzen nun unverändert bleiben.

Bitte poste auch mal ein "list <name>" von all deinen Zonen, nur für mich interessehalber wie die Hash-Struktur nun genau aussieht.

Vielen Dank

Gruß
Markus
Titel: Antw:YAMAHA_AVR Verzögerungen
Beitrag von: dev0 am 21 Dezember 2015, 11:31:39
Zitat von: Markus Bloch am 21 Dezember 2015, 11:07:27
dann muss bei DSP-basierten Modellen die Crossover-Frequenz mit angegeben werden
Schon klar, der Patch war ursprünglich von mir ;)

Leider kann ich, mit der angehängten Verison, bass/treble gar nicht mehr setzen. Weder in der Mainzone noch in den anderen.
lists und log anbei. Edit: In der Gui gibt es auch die Auswahl für bass/treble nicht mehr.
Titel: Antw:YAMAHA_AVR Verzögerungen
Beitrag von: Markus Bloch am 21 Dezember 2015, 11:53:06
Anbei nochmal ein neuer Versuch.

Bitte gib mir mal ein vollständiges Log vom FHEM neustart mit set WZ_AMP bass ... falls es nicht funktionieren sollte.

Danke

Gruß
Markus
Titel: Antw:YAMAHA_AVR Verzögerungen
Beitrag von: dev0 am 21 Dezember 2015, 12:08:14
Funktioniert leider nicht.
Titel: Antw:YAMAHA_AVR Verzögerungen
Beitrag von: Markus Bloch am 21 Dezember 2015, 12:23:17
Nochmal ein Versuch.

Wieder dasselbe, am besten aber, du machst nach dem Neustart erstmal einen statusRequest oder wartest ein wenig, bis sich das Log beruhigt hat nach dem Neustart. Nur damit sichergestellt ist, dass er den korrekten Status von deinem Gerät erfasst hat und sich entsprechend gemerkt hat.

Gruß
Markus
Titel: Antw:YAMAHA_AVR Verzögerungen
Beitrag von: dev0 am 21 Dezember 2015, 13:31:27
Ich konnte zwei verschiede Verhaltensweisen nach einem shut restart feststellen:

1. (log-1)
- kein setter für bass/treble vorhanden
- set WZ_AMP bass 2 via telnet geht und am amp gesetzt
- set WZ_AMP bass 0 leider nicht getestet (s.u.)
- reading bass/treble wird nicht aktualisiert

2. (log-2)
- gui eintrag für bass/treble vorhanden
- set WZ_AMP bass 3 funktioniert
- readings werden aktualisiert
- set WZ_AMP bass 0 führt zu dem Fehler, es liegt an der 0, treble ebenso.

Im log ist mir sonst noch diese Warnung aufgefallen:
2015.12.21 12:58:31.626 1: PERL WARNING: Use of uninitialized value in hash element at ./FHEM/71_YAMAHA_AVR.pm line 1855.

Verständlich ausgedrückt?
Titel: Antw:YAMAHA_AVR Verzögerungen
Beitrag von: Markus Bloch am 22 Dezember 2015, 09:19:04
Schau ich mir nochmal an. Aber wahrscheinlich heute nicht mehr mangels Zeit.

Viele Grüße

Markus
Titel: Antw:YAMAHA_AVR Verzögerungen
Beitrag von: Markus Bloch am 23 Dezember 2015, 11:28:29
Hi Uli,

also von den Logs her sieht das aber alles normal und richtig aus.

Zitat

bass 3

2015.12.21 13:11:50.096 4: YAMAHA_AVR (WZ_AMP) - send command "bass 3": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="PUT"><Main_Zone><Tone><Speaker><Bass><Cross_Over><Val>125</Val><Exp>0</Exp><Unit>Hz</Unit></Cross_Over><Lvl><Val>30</Val><Exp>1</Exp><Unit>dB</Unit></Lvl></Bass></Speaker></Tone></Main_Zone></YAMAHA_AV>

2015.12.21 13:11:50.355 5: YAMAHA_AVR (WZ_AMP) - got response for "bass 3": <YAMAHA_AV rsp="PUT" RC="0"><Main_Zone><Tone><Speaker><Bass></Bass></Speaker></Tone></Main_Zone></YAMAHA_AV>


2015.12.21 13:11:50.522 4: YAMAHA_AVR (WZ_AMP) - send command "statusRequest toneStatus": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Tone><Speaker><Bass>GetParam</Bass></Speaker></Tone></Main_Zone></YAMAHA_AV>


2015.12.21 13:11:50.621 5: YAMAHA_AVR (WZ_AMP) - got response for "statusRequest toneStatus": <YAMAHA_AV rsp="GET" RC="0"><Main_Zone><Tone><Speaker><Bass><Cross_Over><Val>125</Val><Exp>0</Exp><Unit>Hz</Unit></Cross_Over><Lvl><Val>30</Val><Exp>1</Exp><Unit>dB</Unit></Lvl></Bass></Speaker></Tone></Main_Zone></YAMAHA_AV>



bass 0

2015.12.21 13:12:42.512 4: YAMAHA_AVR (WZ_AMP) - send command "bass 0": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="PUT"><Main_Zone><Tone><Speaker><Bass><Cross_Over><Val>125</Val><Exp>0</Exp><Unit>Hz</Unit></Cross_Over><Lvl><Val>0</Val><Exp>1</Exp><Unit>dB</Unit></Lvl></Bass></Speaker></Tone></Main_Zone></YAMAHA_AV>

2015.12.21 13:12:42.768 5: YAMAHA_AVR (WZ_AMP) - got response for "bass 0": <YAMAHA_AV rsp="PUT" RC="0"><Main_Zone><Tone><Speaker><Bass></Bass></Speaker></Tone></Main_Zone></YAMAHA_AV>


2015.12.21 13:12:42.926 4: YAMAHA_AVR (WZ_AMP) - send command "statusRequest toneStatus": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Tone><Speaker><Bass>GetParam</Bass></Speaker></Tone></Main_Zone></YAMAHA_AV>

2015.12.21 13:12:43.023 5: YAMAHA_AVR (WZ_AMP) - got response for "statusRequest toneStatus": <YAMAHA_AV rsp="GET" RC="0"><Main_Zone><Tone><Speaker><Bass><Cross_Over><Val>125</Val><Exp>0</Exp><Unit>Hz</Unit></Cross_Over><Lvl><Val>0</Val><Exp>1</Exp><Unit>dB</Unit></Lvl></Bass></Speaker></Tone></Main_Zone></YAMAHA_AV>

"125" wird als bassCrossover-Reading gesetzt und "0" als bass-Reading.

Evtl. hilft es ja, das ganze mal mit der Yamaha-App nachzustellen und im Wireshark zu tracen. Vielleicht sieht man ja da was anderes. Von der Spezifikationslage und den Antworten sieht das aber alles valide aus, auch für die 0.

Zitat von: dev0 am 21 Dezember 2015, 13:31:27
Im log ist mir sonst noch diese Warnung aufgefallen:
2015.12.21 12:58:31.626 1: PERL WARNING: Use of uninitialized value in hash element at ./FHEM/71_YAMAHA_AVR.pm line 1855.


Das deutet eher auf eine ältere Version aus diesem Thread hin. In der aktuellen Version ist die Zeile 1855 eine Leerzeile. Die vermutete Stelle, welche zu dieser Fehlermeldung führen könnte, wurde auch bereits verbessert, so dass diese Meldung nicht mehr auftritt. Zur Sicherheit habe ich nochmal die aktuelle Version angehangen.

Viele Grüße

Markus
Titel: Antw:YAMAHA_AVR Verzögerungen
Beitrag von: dev0 am 23 Dezember 2015, 13:12:31
Zitat von: Markus Bloch am 23 Dezember 2015, 11:28:29
Evtl. hilft es ja, das ganze mal mit der Yamaha-App nachzustellen und im Wireshark zu tracen. Vielleicht sieht man ja da was anderes. Von der Spezifikationslage und den Antworten sieht das aber alles valide aus, auch für die 0.
Du hast Recht, die Werte werden im Amp korrekt gesetzt. Nur in den Readings stehen die falschen Werte. Das ist auch kein neues Problem, da mit dieser Version der Fehler auch schon auftritt:
# $Id: 71_YAMAHA_AVR.pm 9365 2015-10-04 11:26:22Z markusbloch $

Davor hatte ich die Version benutzt, aus der ich den Patch zur Tonsteuerung generiert hatte. Damit tritt der Effekt nicht auf.
Wenn es hilft herauszufinden seit welcher Version das auftritt, kann ich gerne ältere Versionen testen. Dazu müsstest Du mir nur verraten wie ich aus Sourceforge ältere Versionen herausholen kann oder einfach hier anhängen.
Titel: Antw:YAMAHA_AVR Verzögerungen
Beitrag von: Markus Bloch am 23 Dezember 2015, 13:25:43
Nunja, an der Bass-Steuerung wurde ja seit der Einbringung generell nichts verändert. Die hatte ich ja fast ungeändert übernommen und seitdem nicht mehr angefasst.

Ich habe mal Logmeldungen bei der Readings-Generierung eingebracht, damit man mal genauer sieht wo er bei den If-Abzweigungen lang geht.

Bitte probier nochmal mit bass 0 und bass 3 und poste nochmal die Logs.

Danke

Gruß
Markus
Titel: Antw:YAMAHA_AVR Verzögerungen
Beitrag von: dev0 am 23 Dezember 2015, 14:08:42
Zitat von: Markus Bloch am 23 Dezember 2015, 13:25:43
Nunja, an der Bass-Steuerung wurde ja seit der Einbringung generell nichts verändert.

Es gab noch diese Änderung hier (http://forum.fhem.de/index.php/topic,40948.msg344646.html#msg344646).
Anbei das Log mit bass 3/0
Titel: Antw:YAMAHA_AVR Verzögerungen
Beitrag von: Markus Bloch am 24 Dezember 2015, 11:19:23
Fehler gefunden. Hüllen wir den Mantel des Schweigens darüber:   ( if($2)   !=   if(defined($2)) )

EDIT: Andere Frage. Warum hast du folgende Zeilen bei deinem Tone-Patch damals mit eingebracht? Ich versteh noch nicht so ganz was die bringen sollen:


                    $bassVal-- if (($bassVal % 2 != 0) && ($bassVal > 0));
                    $bassVal++ if (($bassVal % 2 != 0) && ($bassVal < 0));


                    $trebleVal-- if (($trebleVal % 2 != 0) && ($trebleVal > 0));
                    $trebleVal++ if (($trebleVal % 2 != 0) && ($trebleVal < 0));
Titel: Antw:YAMAHA_AVR Verzögerungen
Beitrag von: dev0 am 25 Dezember 2015, 10:30:45
Hi Markus,

jetzt funktioniert es wie es soll, auch weitere Tests mit komplexere Kommandoketten wurden korrekt abgearbeitet. Beim DSP Modell reicht ein on/off Delay von 3 Sekunden aus. Vielleicht magst Du das noch ändern.

Die Modulo-Division soll testen ob der Wert gerade ist, damit bei nicht-DSP Modellen, in den zusätzlichen Zonen, nur gerade Werte gesetzt werden. Wenn die Werte nicht gerade sind, dann wird 1 addiert/subtrahiert je nachdem ob der Wert positiv oder negativ ist um nicht aus dem Wertebereich zu laufen. Laut Spec zum RX-Vx73 beträgt die Schrittweite 20 (2db) und der Bereich +-100 (10db).
Kann man das eleganter lösen?

Vielen Dank für Deine Mühe.
Gruß und noch ein frohes Fest
Uli

Btw: Hast Du vielleicht noch eine Idee wie man feststellen kann ob die command queue abgearbeitet ist?
Titel: Antw:YAMAHA_AVR Verzögerungen
Beitrag von: Markus Bloch am 25 Dezember 2015, 11:18:33
Hi Uli,

Zitat von: dev0 am 25 Dezember 2015, 10:30:45
Hi Markus,

jetzt funktioniert es wie es soll, auch weitere Tests mit komplexere Kommandoketten wurden korrekt abgearbeitet. Beim DSP Modell reicht ein on/off Delay von 3 Sekunden aus. Vielleicht magst Du das noch ändern.


Habe ich geändert.

Zitat von: dev0 am 25 Dezember 2015, 10:30:45
Die Modulo-Division soll testen ob der Wert gerade ist, damit bei nicht-DSP Modellen, in den zusätzlichen Zonen, nur gerade Werte gesetzt werden. Wenn die Werte nicht gerade sind, dann wird 1 addiert/subtrahiert je nachdem ob der Wert positiv oder negativ ist um nicht aus dem Wertebereich zu laufen. Laut Spec zum RX-Vx73 beträgt die Schrittweite 20 (2db) und der Bereich +-100 (10db).
Kann man das eleganter lösen?

Ah stimmt. Danke für den Hinweis. Habe ich als Kommentar mal aufgenommen, damit ich das später noch weis ;-)

Passt schon deine Lösung. Grundsätzlich viel anders würde ich es auch nicht machen, von daher bleibt es so wie es ist. Ich musste nur für mich als Erinnerung einen Kommentar anfügen, warum das dort gemacht werden muss, weil sonst frag ich in ein paar Monaten wieder ;-)

Zitat von: dev0 am 25 Dezember 2015, 10:30:45

Vielen Dank für Deine Mühe.
Gruß und noch ein frohes Fest
Uli

Btw: Hast Du vielleicht noch eine Idee wie man feststellen kann ob die command queue abgearbeitet ist?

Das ist ganz einfach. Siehst du beispielhaft in der Funktion YAMAHA_AVR_getNextRequestHash(). Ich prüfe ob der skalare Kontext ungleich 0 ist, dann sind Elemente enthalten.
    if(@{$hash->{helper}{CMD_QUEUE}} != 0)
    {
         # queue enthält items
    }
    else
    {
        # queue leer/abgearbeitet
    }


Ich werde die Änderungen im Laufe des Tages einchecken. Nun sollte ja alles komplett funktionieren.

Viele Grüße, vielen Dank und noch besinnliche Feiertage.

Markus
Titel: Antw:YAMAHA_AVR Verzögerungen
Beitrag von: Markus Bloch am 25 Dezember 2015, 13:14:24
Zitat von: dev0 am 25 Dezember 2015, 10:30:45
Btw: Hast Du vielleicht noch eine Idee wie man feststellen kann ob die command queue abgearbeitet ist?

Hab ich evtl. gerade etwas missverstanden. Wenn du einfach nur optisch in der Detail-Seite sehen willst, ob die Queue abgearbeitet ist, kannst du einfach auf die Internals schauen. Wenn dort "CMDs_pending" mit einer Zahl gesetzt ist, siehst du dort die Anzahl der anstehenden Request, welche in der Queue sind. Sind aber im Normalfall innerhalb von Millisekunden abgearbeitet und dieser Eintrag in diesem Fall nicht vorhanden.

Alternativ könnte man noch ein Get-Befehl einbauen, der die Anzahl der Requests in der Queue zurückgibt. Sollte einen User im Normalfall aber eigentlich nicht interessieren.

Die Änderungen sind nun auch vollständig eingecheckt.

Viele Grüße

Markus

Titel: Antw:YAMAHA_AVR Verzögerungen
Beitrag von: dev0 am 25 Dezember 2015, 14:23:43
Zitat von: Markus Bloch am 25 Dezember 2015, 13:14:24
Wenn dort "CMDs_pending" mit einer Zahl gesetzt ist
Das mit den Internals ist für mich erst einmal definitiv einfacher. Ich wüsste im Moment nicht, wie ich aus einer eigenen Funktion heraus, über den Namen, den Hash eines Devices ermitteln kann.
Hintergrund ist folgender: Um Ansagen beim Eintreffen oder Verlassen des Hauses ausgeben zu können, wollte ich prüfen wann der Amp bereit ist, um die Ansage nicht halb zu verschlucken, da vielleicht noch nicht der richtige Input gesetzt ist. Ein festes Delay würde aber zB. zu einer unnötig langen Unterbrechung der Musik führen, wenn welche läuft.
Titel: Antw:YAMAHA_AVR Verzögerungen
Beitrag von: Markus Bloch am 26 Dezember 2015, 14:26:14
Zitat von: dev0 am 25 Dezember 2015, 14:23:43
Das mit den Internals ist für mich erst einmal definitiv einfacher. Ich wüsste im Moment nicht, wie ich aus einer eigenen Funktion heraus, über den Namen, den Hash eines Devices ermitteln kann.
Hintergrund ist folgender: Um Ansagen beim Eintreffen oder Verlassen des Hauses ausgeben zu können, wollte ich prüfen wann der Amp bereit ist, um die Ansage nicht halb zu verschlucken, da vielleicht noch nicht der richtige Input gesetzt ist. Ein festes Delay würde aber zB. zu einer unnötig langen Unterbrechung der Musik führen, wenn welche läuft.

So genau würde ich es an deiner Stelle nicht machen. Die Queue würde ich da jetzt nicht mit einbeziehen. Wir reden hier von einer max. Verzögerung von unter 1 Sekunde sollte ein vollständiger statusRequest in der Queue vorhanden sein. Sobald Kommandos ja in der Queue vorhanden sind, werden die ohne weitere Verzögerungen direkt abgearbeitet (bis auf on/off). Das geschieht in Millisekunden.

Viele Grüße

Markus