FHEM Forum

FHEM - Anwendungen => Multimedia => Thema gestartet von: Beta-User am 27 Oktober 2022, 11:09:41

Titel: [YAMAHA_AVR] - support Thread ab 2022
Beitrag von: Beta-User am 27 Oktober 2022, 11:09:41
Hallo zusammen,

kommissarisch habe ich die Pflege von YAMAHA_AVR übernommen und hoffe, dass sich bald jemand findet, der das ggf. mittelfristig übernehmen möchte (opimalerweise zusammen mit YAMAHA_BD, siehe zum ganzen auch https://forum.fhem.de/index.php/topic,129846.0.html).

Mit dem heutigen update kommt zunächst einfach eine (funktional) auf den "id"-Standard umgebogene Commandref, so dass man jetzt in der Device-Ansicht jeweils eine kurze Erläuterung zu den set-Kommandos und Attributen angezeigt bekommt.

Irgendwelche Kenntnisse im Modul-Code dürft ihr (noch) nicht erwarten, ich bin bisher einfach auch User gewesen...

Wer Fragen oder Anregungen hat, möge diese bitte hier platzieren und/oder für "spezielle Themen" auf separate Threads ausweichen. Wer die Pflege stattdessen lieber selbst (statt meiner oder ergänzend) übernehmen möchte, darf sich BITTE (!) melden.

Weitere Pläne und Gedanken:
Falls ich dann dazu komme, wird es ggf. auf PBP-Konformität hin überarbeitet und vielleicht gepackaged (in dem Zuge werde ich auch den Code mal intensiver ansehen).
(Sehr) vielleicht schaue ich bei Gelegenheit auch mal, ob sich da noch was in Richtung MusicCast ergänzen läßt (mein Receiver unterstützt das; es gibt dazu auch das Modul 71_YAMAHA_MC.pm (https://svn.fhem.de/trac/browser/trunk/fhem/FHEM/71_YAMAHA_MC.pm)).

Soviel erst mal für's erste,

Beta-User
Titel: Antw:[YAMAHA_AVR] - support Thread ab 2022
Beitrag von: Beta-User am 02 Dezember 2022, 10:11:54
So, mit dem morgigen update kommt dann eine Version ohne Prototypen als erster Schritt in Richtung PBP-Konformität.

Bis dahin dürfte es "unkritisch" sein, es bringt aber funktional nichts neues.

Wer also sicher sein will, kann das Modul gerne vom update ausnehmen, die alte Version funktioniert ja. Allerdings sind manche Sachen im Code (für mich) nicht so einfach zu durchschauen und damit schwer wartbar. Sowas wie
unless((exists($options->{not_before}) and $options->{not_before} > gettimeofday()) or (defined($next_item)))
ist ein "Gehirnverdreher", der m.E. in eine lesbarere Form überführt werden sollte...

Weiß noch nicht genau, wie es dann weitergeht, vermutlich wird es entweder Testversionen vor weiteren updates geben, die dann hier gepostet werden.
Titel: Antw:[YAMAHA_AVR] - support Thread ab 2022
Beitrag von: Beta-User am 02 Dezember 2022, 23:35:17
Da war leider doch was merkwürdiges drin - state etc. wurde nicht mehr (immer?) triggernd aktualisiert, wenn man z.B. angeschaltet hat. Daher kommt mit dem update doch wieder der alte Stand.

Etwas merkwürdig, dass "SetFn()" bei einem "on"-Kommando effektiv 5 Mal aufgerufen wird, neben "on" dann noch mehrfach mit "?" als Parameter. Kommt wohl aus FHEMWEB, weil nicht die erwartete Antwort zurückkommt (?).

Den Teil zu beheben, indem auf die ?-Anfrage die gültigen setter kommen hilft leider nicht so recht.

Anbei daher mal ein aktueller Zwischenstand, falls jemand Lust zum mittüfteln hat...
EDIT: sehr merkwürdig - es klappt manchmal (nur? in der mainzone?), und manchmal nicht.
Titel: Antw:[YAMAHA_AVR] - support Thread ab 2022
Beitrag von: flummy1978 am 04 Dezember 2022, 12:59:33
Holla,

ich war neugierig ob es für das alte Schätzchen dass ich hier habe so etwas wie ein FHEM Modul gibt, habs es einfach eingebunden und bin dadurch hier gelandet.

Wir nutzen zu 99% die NetRadio Funktion von dem Gerät. Hat zufälligerweise jemand eine Idee, wie man eine entpsrechende Funktion einsetzen könnte?
Man kann ja die FB Simulieren (das wäre eine Möglichkeit) aber vielleicht kann man auch "NetRadio" -> Sender -> Wunschlautstärke -> direkt in einem Befehl setzen?

@Beta-User bin durch diesen auf den Ursprung der Verwaiste Module: naechste Runde (https://forum.fhem.de/index.php/topic,129846.0.html) gekommen. Dort ist mir Dein Satz im Bezug auf Ottos Antwort ins Auge gefallen:
Zitat
Falls sich jemand (gerne auch ein interessierter "normaler User") ähnlich fühlt wie Otto (sehr guter Ansatz übrigens!), darf er sich gerne bei mir melden!
Falls ich da also (Testtechnisch) etwas beitragen kann - Nur zu. Ich bin die nächsten 4 Wochen Strohwitwer, also wahrscheinlich öfter am PC als mir lieb ist. Mein nicht über (Anfänger)Grundlagen ausreichenendes Perlwissen kann sicher kaum zum Modul etwas beitragen, aber vielleicht kann ich ja anders behilflich sein. Wir haben hier übrigens einen RX-V575 stehen, falls das von Bedeutung ist ;)

VG
Andreas
Titel: Antw:[YAMAHA_AVR] - support Thread ab 2022
Beitrag von: Beta-User am 04 Dezember 2022, 13:34:41
Hi Andreas,

leider kann ich deine Frage zur Verwendung auch (noch) nicht beantworten, aber ich freue mich auf alle Fälle auch über konstruktive Tester!

Im Moment möchte ich zunächst den Übergang in den eigenen namespace vollziehen und rausfinden, warum das Triggern nicht mehr sauber funktioniert. Für letzteres muss irgendein implizites Verhalten verantwortlich sein, das vom Gefühl her vermutlich gar nicht als solches bekannt war, es hat halt so funktioniert...

Wenn man nach package geht, besteht immer die Gefahr, dass man irgendeine Funktion beim importieren übersieht, was dann direkt zum Absturz führt, wenn die betreffende Funktion aufgerufen wird. Von daher wäre mir schon viel geholfen, wenn du einfach die hier gepostete Fassung mal auf verbose 5 stellst und den Verstärker eifrig hin- und herschaltest (v.a. über FHEM). Wenn dann  kein crash passiert, bin ich an der Stelle schon viel weiter!
Das mit dem trigger kann nicht das große Problem sein, ich brauche aber mal eine stille Stunde, um mir das anzusehen.

Was mir bei der ersten Durchsicht aufgefallen war, ist der sehr repetitive Code. Würde annehmen, dass man das auch anders lösen könnte und das ganze dann deutlich übersichtlicher werden würde. Mal sehen. Wäre dann aber zu einem guten Teil auch eine Fleißaufgabe, das umzustellen ;) .
Titel: Antw:[YAMAHA_AVR] - support Thread ab 2022
Beitrag von: flummy1978 am 04 Dezember 2022, 13:59:17
Hai,

Zitat von: Beta-User am 04 Dezember 2022, 13:34:41
Wenn man nach package geht, besteht immer die Gefahr, dass man irgendeine Funktion beim importieren übersieht, was dann direkt zum Absturz führt, wenn die betreffende Funktion aufgerufen wird. Von daher wäre mir schon viel geholfen, wenn du einfach die hier gepostete Fassung mal auf verbose 5 stellst und den Verstärker eifrig hin- und herschaltest (v.a. über FHEM).

Damit meinst Du die Version die man über das normale Update erhält?

Den Test kann ich heute Abend auf jeden fall einmal in Ruhe machen. Da muss ich nur meine Testumgebung wieder auf den aktuellen Stand bringen, den Receiver einbinden und dann mal sehen ob ich FHEM zum Absturz bringen kann  ;D

Ich würde dann berichten....

VG
Andreas
Titel: Antw:[YAMAHA_AVR] - support Thread ab 2022
Beitrag von: Beta-User am 04 Dezember 2022, 15:45:07
Zitat von: flummy1978 am 04 Dezember 2022, 13:59:17
Damit meinst Du die Version die man über das normale Update erhält?
Nein. Gemeint war die, die ich gestern abend an den Post hier in diesem Thread angehängt habe.

(In der Regel versuche ich es zu vermeiden, derart kritische Übergänge direkt per update zu verteilen, sondern biete in der Regel Testversionen vorab an, damit nicht (unangekündigt und vorab chancenlos) sowas passiert wie jüngst den km200-Usern).

Du musst dann halt die Detailansicht manuell refreshen, die Readings werden nämlich aktualisiert, nur eben nicht triggernd.
Titel: Antw:[YAMAHA_AVR] - support Thread ab 2022
Beitrag von: flummy1978 am 05 Dezember 2022, 10:19:26
Guten Morgen,

OK, das hab ich gemacht. Hab n blankes Testsystem angelegt und nur das Gerät dort angelegt - Allerdings bin ich grad irgendwie zu blöde verbose 5 zu loggen.

Hab das Device angelegt, extra dafür eigenes Log angelegt. Verbose 5 in global eingestellt. Trotzdem finden sich in der .log nur die Logs bis Stufe 3  :o

define WZ_Yamaha_ACV YAMAHA_AVR 192.168.0.63 mainzone 60 10
attr WZ_Yamaha_ACV event-on-change-reading .*
attr WZ_Yamaha_ACV group Geräte
attr WZ_Yamaha_ACV model RX-V575
attr WZ_Yamaha_ACV room Wohnzimmer
attr WZ_Yamaha_ACV verbose 5
attr WZ_Yamaha_ACV webCmd :
#   ACTIVE_ZONE mainzone
#   CFGFN     
#   DEF        192.168.0.63 mainzone 60 10
#   FIRMWARE   1.34/2.06
#   FUUID      638d41be-f33f-224d-f5e2-550502fd9b6ac623
#   MODEL      RX-V575
#   NAME       WZ_Yamaha_ACV
#   NR         138
#   STATE      on
#   SYSTEM_ID  0B438A43
#   TYPE       YAMAHA_AVR
#   ZONES_AVAILABLE mainzone,mainzone
#   eventCount 1411
#   READINGS:
#     2022-12-05 10:12:43   3dCinemaDsp     auto
#     2022-12-05 10:12:43   adaptiveDrc     auto
#     2022-12-05 10:12:43   bass            2
#     2022-12-05 10:12:43   direct          off
#     2022-12-05 10:12:43   dsp             7chstereo
#     2022-12-05 10:12:43   enhancer        on
#     2022-12-05 10:12:43   input           usb
#     2022-12-05 10:12:43   inputName       USB
#     2022-12-05 10:12:43   mute            off
#     2022-12-05 10:12:43   playStatus      stopped
#     2022-12-05 10:12:43   power           on
#     2022-12-05 07:28:11   presence        present
#     2022-12-05 10:12:43   repeat          off
#     2022-12-05 10:12:43   shuffle         off
#     2022-12-05 10:12:43   sleep           off
#     2022-12-05 10:12:43   state           on
#     2022-12-05 10:12:43   straight        off
#     2022-12-05 10:12:43   treble          -0.5
#     2022-12-05 10:12:43   volume          47
#     2022-12-05 10:12:43   volumeStraight  -34
#   helper:
#     ADDRESS    192.168.0.63
#     AVAILABLE  1
#     CURRENT_INPUT_TAG USB
#     DIRECT_TAG Direct
#     DSP_MODES  Hall in Munich|Hall in Vienna|Chamber|Cellar Club|The Roxy Theatre|The Bottom Line|Sports|Action Game|Roleplaying Game|Music Video|Standard|Spectacle|Sci-Fi|Adventure|Drama|Mono Movie|Surround Decoder|2ch Stereo|7ch Stereo
#     INPUTS     AUDIO|AV1|AV2|AV3|AV4|AV5|AV6|AirPlay|HDMI1|HDMI2|HDMI3|HDMI4|HDMI5|NET RADIO|SERVER|Spotify|TUNER|USB|V-AUX|iPod (USB)
#     LAST_INPUT_TAG USB
#     OFF_INTERVAL 60
#     ON_INTERVAL 10
#     RUNNING_REQUEST 0
#     SCENES     Scene 1|Scene 2|Scene 3|Scene 4
#     SELECTED_ZONE mainzone
#     SUPPORT_DAB 0
#     SUPPORT_DISPLAY_BRIGHTNESS 0
#     SUPPORT_EXTRA_BASS 0
#     SUPPORT_HDMI_OUT 0
#     SUPPORT_PARTY_MODE 0
#     SUPPORT_SHUFFLE_REPEAT 1
#     SUPPORT_SURROUND_DECODER 0
#     SUPPORT_TONE_STATUS 1
#     SUPPORT_YPAO_VOLUME 0
#     XML        /YamahaRemoteControl/desc.xml
#     ZONES      Main_Zone|Main_Zone
#     CMD_QUEUE:
#
setstate WZ_Yamaha_ACV on
setstate WZ_Yamaha_ACV 2022-12-05 10:12:43 3dCinemaDsp auto
setstate WZ_Yamaha_ACV 2022-12-05 10:12:43 adaptiveDrc auto
setstate WZ_Yamaha_ACV 2022-12-05 10:12:43 bass 2
setstate WZ_Yamaha_ACV 2022-12-05 10:12:43 direct off
setstate WZ_Yamaha_ACV 2022-12-05 10:12:43 dsp 7chstereo
setstate WZ_Yamaha_ACV 2022-12-05 10:12:43 enhancer on
setstate WZ_Yamaha_ACV 2022-12-05 10:12:43 input usb
setstate WZ_Yamaha_ACV 2022-12-05 10:12:43 inputName USB
setstate WZ_Yamaha_ACV 2022-12-05 10:12:43 mute off
setstate WZ_Yamaha_ACV 2022-12-05 10:12:43 playStatus stopped
setstate WZ_Yamaha_ACV 2022-12-05 10:12:43 power on
setstate WZ_Yamaha_ACV 2022-12-05 07:28:11 presence present
setstate WZ_Yamaha_ACV 2022-12-05 10:12:43 repeat off
setstate WZ_Yamaha_ACV 2022-12-05 10:12:43 shuffle off
setstate WZ_Yamaha_ACV 2022-12-05 10:12:43 sleep off
setstate WZ_Yamaha_ACV 2022-12-05 10:12:43 state on
setstate WZ_Yamaha_ACV 2022-12-05 10:12:43 straight off
setstate WZ_Yamaha_ACV 2022-12-05 10:12:43 treble -0.5
setstate WZ_Yamaha_ACV 2022-12-05 10:12:43 volume 47
setstate WZ_Yamaha_ACV 2022-12-05 10:12:43 volumeStraight -34



define WZ_Yamaha_ACV_FileLog_1 FileLog ./log/WZ_Yamaha_ACV_FileLog_1.log WZ_Yamaha_ACV:.*
attr WZ_Yamaha_ACV_FileLog_1 verbose 5
#   CFGFN     
#   DEF        ./log/WZ_Yamaha_ACV_FileLog_1.log WZ_Yamaha_ACV:.*
#   FD         14
#   FUUID      638d427d-f33f-224d-f5fd-2f6735b584bc4a9b
#   NAME       WZ_Yamaha_ACV_FileLog_1
#   NOTIFYDEV  WZ_Yamaha_ACV
#   NR         194
#   NTFY_ORDER 50-WZ_Yamaha_ACV_FileLog_1
#   REGEXP     WZ_Yamaha_ACV:.*
#   STATE      active
#   TYPE       FileLog
#   currentlogfile ./log/WZ_Yamaha_ACV_FileLog_1.log
#   eventCount 1
#   logfile    ./log/WZ_Yamaha_ACV_FileLog_1.log
#   READINGS:
#     2022-12-05 10:07:48   linesInTheFile  6940
#
setstate WZ_Yamaha_ACV_FileLog_1 active
setstate WZ_Yamaha_ACV_FileLog_1 2022-12-05 10:07:48 linesInTheFile 6940




Hast Du eine Idee, warum das so ist ?

So sieht das Logfile aus: (Global Log ist leer)


2022-12-05_10:14:29.904 WZ_Yamaha_ACV on
2022-12-05_10:14:30.043 WZ_Yamaha_ACV power: on
2022-12-05_10:14:30.043 WZ_Yamaha_ACV on
2022-12-05_10:14:31.352 WZ_Yamaha_ACV off
2022-12-05_10:14:32.666 WZ_Yamaha_ACV power: off
2022-12-05_10:14:32.666 WZ_Yamaha_ACV off

und so die entsprechende Eventlog Ansicht

2022.12.05 10:14:24.574 5 : GET /fhem?XHR=1&inform=type%3Dstatus%3Bfilter%3DWZ_Yamaha_ACV_FileLog_1%3Bsince%3D1670231663.34299%3Bfmt%3DJSON&fw_id=4552&timestamp=1670231664697 HTTP/1.1
Host: 192.168.0.20:8083
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:107.0) Gecko/20100101 Firefox/107.0
Accept: */*
Accept-Language: de,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate
Connection: keep-alive
Referer: http://192.168.0.20:8083/fhem?detail=WZ_Yamaha_ACV_FileLog_1&fw_id=4552
2022.12.05 10:14:24.574 4 : WEB_192.168.0.3_55537 GET /fhem?XHR=1&inform=type%3Dstatus%3Bfilter%3DWZ_Yamaha_ACV_FileLog_1%3Bsince%3D1670231663.34299%3Bfmt%3DJSON&fw_id=4552&timestamp=1670231664697; BUFLEN:0
2022.12.05 10:14:29.686 4 : Connection closed for WEB_192.168.0.3_55546: EOF
2022.12.05 10:14:29.901 5 : POST /fhem?cmd.WZ_Yamaha_ACV=set%20WZ_Yamaha_ACV%20on&XHR=1&fwcsrf=csrf_117060430164075&fw_id=4517 HTTP/1.1
Host: 192.168.0.20:8083
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:107.0) Gecko/20100101 Firefox/107.0
Accept: text/plain, */*; q=0.01
Accept-Language: de,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate
cache-control: no-cache
X-Requested-With: XMLHttpRequest
Origin: http://192.168.0.20:8083
Connection: keep-alive
Referer: http://192.168.0.20:8083/fhem?detail=WZ_Yamaha_ACV
Content-Length: 0
2022.12.05 10:14:29.902 4 : WEB_192.168.0.3_55536 POST /fhem?cmd.WZ_Yamaha_ACV=set%20WZ_Yamaha_ACV%20on&XHR=1&fwcsrf=csrf_117060430164075&fw_id=4517; BUFLEN:0
2022.12.05 10:14:29.902 5 : Cmd: >set WZ_Yamaha_ACV on<
2022.12.05 10:14:29.902 5 : YAMAHA_AVR (WZ_Yamaha_ACV) - set WZ_Yamaha_ACV on
2022.12.05 10:14:29.902 4 : YAMAHA_AVR (WZ_Yamaha_ACV) - append to queue of device WZ_Yamaha_ACV "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>
2022.12.05 10:14:29.902 5 : YAMAHA_AVR (WZ_Yamaha_ACV) - no commands currently running, but queue has pending commands. preparing new request
2022.12.05 10:14:29.903 5 : YAMAHA_AVR (WZ_Yamaha_ACV) - checking cmd queue item: 0 (cmd: on, arg: , data: 1, priority: -, at_first: 0, not_before: 0)
2022.12.05 10:14:29.903 5 : YAMAHA_AVR (WZ_Yamaha_ACV) - choosed item 0 as next command
2022.12.05 10:14:29.903 4 : YAMAHA_AVR (WZ_Yamaha_ACV) - 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>
2022.12.05 10:14:29.903 5 : HttpUtils url=http://192.168.0.63/YamahaRemoteControl/ctrl NonBlocking via http
2022.12.05 10:14:29.903 4 : IP: 192.168.0.63 -> 192.168.0.63
2022.12.05 10:14:29.904 5 : Starting notify loop for WZ_Yamaha_ACV, 1 event(s), first is on
2022.12.05 10:14:29.904 5 : createNotifyHash
2022.12.05 10:14:29.905 5 : YAMAHA_AVR (WZ_Yamaha_ACV) - set WZ_Yamaha_ACV ?
2022.12.05 10:14:29.906 5 : End notify loop for WZ_Yamaha_ACV
2022.12.05 10:14:29.907 4 : WEB: /fhem?cmd.WZ_Yamaha_ACV=set%20WZ_Yamaha_ACV%20on&XHR=1&fwcsrf=csrf_117060430164075&fw_id=4517 / RL:20 / text/plain; charset=UTF-8 / Content-Encoding: gzip
 / Cache-Control: no-cache, no-store, must-revalidate
2022.12.05 10:14:29.907 5 : HttpUtils request header:
POST /YamahaRemoteControl/ctrl HTTP/1.1
Host: 192.168.0.63
User-Agent: fhem
Accept-Encoding: gzip,deflate
Connection: Close
Content-Length: 142
Content-Type: application/x-www-form-urlencoded
2022-12-05 10:14:29.906 YAMAHA_AVR WZ_Yamaha_ACV on


Wahrscheinlich isses nur eine Kleinigkeit - Allerdings hab ich bisher verbose 5 nie loggen wollen - Eventmonitor reichte bisher immer aus, wenn ich was gesucht habe  :-\

VG
Andreas
Titel: Antw:[YAMAHA_AVR] - support Thread ab 2022
Beitrag von: Beta-User am 05 Dezember 2022, 10:24:26
Moin.

(Die Events sehen eigentlich gut aus, werden denn die Readings auf der Detailansicht auch rot?)

Für "verbose 5" wäre eigentlich meine Idee gewesen, das nur am AVR einzustellen. Geloggt wir das dann im allgemeinen Log-File, nicht in dem von dem einzelnen Gerät.
Titel: Antw:[YAMAHA_AVR] - support Thread ab 2022
Beitrag von: flummy1978 am 05 Dezember 2022, 10:37:15
Zitat von: Beta-User am 05 Dezember 2022, 10:24:26
Moin.

(Die Events sehen eigentlich gut aus, werden denn die Readings auf der Detailansicht auch rot?)

Für "verbose 5" wäre eigentlich meine Idee gewesen, das nur am AVR einzustellen. Geloggt wir das dann im allgemeinen Log-File, nicht in dem von dem einzelnen Gerät.

Japp die die Readings werden aktualisiert und entsprechend auch eingefärbt

Ja im Logfile hatte ich es nur eingestellt, weil ich keine Idee hatte, warum es nicht geloggt wird. Das Standard Logfile ist leer im zusätzlichen sind immerhin die Events drin


Titel: Antw:[YAMAHA_AVR] - support Thread ab 2022
Beitrag von: Beta-User am 05 Dezember 2022, 11:02:28
Zitat von: flummy1978 am 05 Dezember 2022, 10:37:15
Japp die die Readings werden aktualisiert und entsprechend auch eingefärbt
:)
Dann brauche ich den vermeintlichen Fehler wohl nicht zu suchen, das scheint dann ein lokales Problem in meinem Browser zu sein, muss ich mal etwas intensiver beleuchten.

Zitat
Ja im Logfile hatte ich es nur eingestellt, weil ich keine Idee hatte, warum es nicht geloggt wird. Das Standard Logfile ist leer im zusätzlichen sind immerhin die Events drin

Hmm, wenn gar nichts geloggt wird, ist FHEM vermutlich im Debug-Modus gestartet und wirft die Infos dann an der Konsole aus. Ist das Testsystem mit der Minimal-cfg bzw. was ist im globalen Logfile eingestellt? "fakelog"?
Titel: Antw:[YAMAHA_AVR] - support Thread ab 2022
Beitrag von: flummy1978 am 05 Dezember 2022, 11:20:37
Zitat von: Beta-User am 05 Dezember 2022, 11:02:28
Dann brauche ich den vermeintlichen Fehler wohl nicht zu suchen, das scheint dann ein lokales Problem in meinem Browser zu sein, muss ich mal etwas intensiver beleuchten.
Hast Du denn ein Beispiel, was ggf NICHT funktioniert hat? Vielleicht kann ich das irgendwie reproduzieren. Ansonsten, wenn es um gelegentliche / seltene Fehler geht, muss ich vielleicht mal etwas intensiver damit rumspielen. Vielleicht hatte ich jetztn einfach nur Glück?

Zitat von: Beta-User am 05 Dezember 2022, 11:02:28
Hmm, wenn gar nichts geloggt wird, ist FHEM vermutlich im Debug-Modus gestartet und wirft die Infos dann an der Konsole aus. Ist das Testsystem mit der Minimal-cfg bzw. was ist im globalen Logfile eingestellt? "fakelog"?
Japp fakelog war drin, aber ähm, es läuft im Docker - KONSOLE war das Stichwort. Hab dort geschaut - warum auch immer wurde dort ein Logfile fhem-%Y-%m-%d.log angelegt,  obowhl in der DEF fhem-%Y-%m.log steht. Nach m Neustart wurde es korrekt angelegt, kann es aber aus FHEM heraus nicht einsehen. Jedoch direkt im Docker Ordner -> JETZT könnte ich Dir jede Zeile liefern, wenn ein bestimmter Abschnitt benötigt wird  ;)

Wenn ich also noch was tun kann - nur zu :)

VG
Andreas
Titel: Antw:[YAMAHA_AVR] - support Thread ab 2022
Beitrag von: Beta-User am 05 Dezember 2022, 11:46:41
Zitat von: flummy1978 am 05 Dezember 2022, 11:20:37
Hast Du denn ein Beispiel, was ggf NICHT funktioniert hat? Vielleicht kann ich das irgendwie reproduzieren. Ansonsten, wenn es um gelegentliche / seltene Fehler geht, muss ich vielleicht mal etwas intensiver damit rumspielen. Vielleicht hatte ich jetztn einfach nur Glück?
Bei meinen Tests hatte ich den Verstärker (bzw. die beiden Zonen) einfach nur ein- und ausgeschaltet. Es wurde bei diesem einfachen Test dann schlicht die Detailansicht nicht triggernd aktualisiert, also insbesondere "state" wurde nicht rot, und dementsprechend wurde auch das falsche Icon angezeigt. Refresh der Seite und alles war aktuell...


Zitat
JETZT könnte ich Dir jede Zeile liefern, wenn ein bestimmter Abschnitt benötigt wird  ;)
Paßt schon! Das "Problem" hätte sein können, dass irgendwo Code-Teile aufgerufen werden, die ich bei meinem Kurztest übersehen hatte zu importieren. Wenn bei dir aber alles "rund durchläuft" und insbesondere auch keine warnings im Log zu finden sind, ist der Test eigentlich schon beendet und ich werde den Code dann bei Gelegenheit einchecken, wenn mir selbst auch nichts weiter auffällt.

Falls du "lustig" bist, kannst du das gerne dann auch im Echtsystem einfach nutzen, nicht, dass wir doch irgendwas übersehen haben... (Bei mir ist der auch im Echtsystem am laufen).
Titel: Antw:[YAMAHA_AVR] - support Thread ab 2022
Beitrag von: flummy1978 am 05 Dezember 2022, 13:07:39
Zitat von: Beta-User am 05 Dezember 2022, 11:46:41
Falls du "lustig" bist, kannst du das gerne dann auch im Echtsystem einfach nutzen, nicht, dass wir doch irgendwas übersehen haben... (Bei mir ist der auch im Echtsystem am laufen).

Ich wollte ja mein oberes Vorhaben umsetzen und dafür würde das Ding dann live laufen ... Aber irgendwie ist da n Wurm drin (in beiden Versionen):

Gehe ich in den Receiver und wähle dort eine Funktion aus - egal was. Funktioniert es einwandfrei.

2022-12-05 13:05:23.878 YAMAHA_AVR WZ_Yamaha_ACV displayBrightness -3
2022-12-05 13:05:29.650 YAMAHA_AVR WZ_Yamaha_ACV volume 28
2022-12-05 13:05:29.807 YAMAHA_AVR WZ_Yamaha_ACV volume: 30
2022-12-05 13:05:30.118 YAMAHA_AVR WZ_Yamaha_ACV volume: 29
2022-12-05 13:05:30.473 YAMAHA_AVR WZ_Yamaha_ACV volume: 28
2022-12-05 13:05:32.795 YAMAHA_AVR WZ_Yamaha_ACV off
2022-12-05 13:05:32.952 YAMAHA_AVR WZ_Yamaha_ACV off


Gehe ich aber den weg über die eingabezeile und gebe dort ein:  set WZ_Yamaha_ACV volume 35 kommt das (un)geliebte:
Please define WZ_Yamaha_ACV volume 35 first  ???

Edith ergänzt noch: Das dick unterstrichene kann ich anklicken und lande dann im device "WZ_Yamaha_ACV"

Irgendwie sehr merkwürdig das Ganze....

VG
Andreas
Titel: Antw:[YAMAHA_AVR] - support Thread ab 2022
Beitrag von: Beta-User am 05 Dezember 2022, 13:48:37
...das ist in der Tat sehr seltsam...

Muss ich mir ansehen, aber eine Idee für eine Erklärung habe ich dafür im Moment jedenfalls nicht. Klingt irgendwie eher so, als wäre da was mit der Art und Weise kaputt, wie dein FHEMWEB Befehle interpretiert. Sicherheitshalber: Browser-Cache mal geleert und die FEHEM-Seite komplett neu geladen (ff: strg+f5)?
Titel: Antw:[YAMAHA_AVR] - support Thread ab 2022
Beitrag von: flummy1978 am 05 Dezember 2022, 16:29:18
Holla,

Zitat von: Beta-User am 05 Dezember 2022, 13:48:37
Sicherheitshalber: Browser-Cache mal geleert und die FEHEM-Seite komplett neu geladen (ff: strg+f5)?

nein, das hatte ich nicht, aber auch aus dem Grund nicht, weil er alle anderen Befehle ganz normal angenommen hat (von anderen devices). Noch dazu, dass es auf dem Testsystem genauso gewesen ist :o
Nachdem ich das gemacht habe, konnte ich die einzelnen set befehle Durchführen. Allerdings:

Beim Befehl set WZ_Yamaha_ACV remoteControl down; meckert er trotzdem, dass es diesen Befehl angeblich nicht gibt, obwohl ich diesen ja in der Weboberfläche ausführen konnte.

Ich wollte das o.g. Problem mit cmndalias umgehen, allerdings kommt bei der Sequenz:     
"...radio AS set WZ_Yamaha_ACV on; set WZ_Yamaha_ACV input netradio; set WZ_Yamaha_ACV remoteControl down; set WZ_Yamaha_ACV remoteControl down; set WZ_Yamaha_ACV remoteControl enter....."

Unknown argument remoteControl down, choose one of on off volumeStraight volume volumeUp volumeDown input mute remoteControl scene straight 3dCinemaDsp adaptiveDrc direct dsp enhancer sleep bass treble tunerFrequency displayBrightness statusRequest
Unknown argument remoteControl down, choose one of on off volumeStraight volume volumeUp volumeDown input mute remoteControl scene straight 3dCinemaDsp adaptiveDrc direct dsp enhancer sleep bass treble tunerFrequency displayBrightness statusRequest
Unknown argument remoteControl enter, choose one of on off volumeStraight volume volumeUp volumeDown input mute remoteControl scene straight 3dCinemaDsp adaptiveDrc direct dsp enhancer sleep bass treble tunerFrequency displayBrightness statusRequest


Die ersten beiden Befehle führt er aus.

Ich denke (glaube), dieses sporadische Verhalten, das bei dir zum Absturz geführt hat, könnte auch hier zum sporadischem akzeptieren der Befehle, oder eben auch nicht *grübel*

Vielleicht hilft es irgendwie als Ansatz .... Wenn ich was tun kann, nur zu

VG
Andreas
Titel: Antw:[YAMAHA_AVR] - support Thread ab 2022
Beitrag von: Beta-User am 05 Dezember 2022, 17:58:42
Hmm, komisches Verhalten bei der Argumentenübergabe. Habe es vermtulich gefunden, fix anbei
Titel: Antw:[YAMAHA_AVR] - support Thread ab 2022
Beitrag von: Beta-User am 05 Dezember 2022, 19:15:59
Funktioniert leider auf dem Echtsystem nicht wie erwartet... Die Art und Weise ist aber auch sehr zu Fuß, wie da der String für "getAllSets" zusammengebastelt wird. Werde ich wohl mal drübergehen ::) .

EDIT: hab's erst mal bzgl. der setter zurückgedreht, und siehe da, es wird auch anscheinend auch wieder triggernd aktualisiert. weird...!
Titel: Antw:[YAMAHA_AVR] - support Thread ab 2022
Beitrag von: flummy1978 am 05 Dezember 2022, 20:12:03
Zitat von: Beta-User am 05 Dezember 2022, 19:15:59
EDIT: hab's erst mal bzgl. der setter zurückgedreht, und siehe da, es wird auch anscheinend auch wieder triggernd aktualisiert. weird...!

Aaahh ich hab grad die erste Version gesucht  ;D

Also nur damit ich da beim reinladen nichts falsch mache, was dann ggf. falsche Ergebnisse bringt:
Ich lad die .PM runter -> Schieb sie in den FHEM Ordner und ersetze die alte -> reload 71_YAMAHA_AVR.pm auf der FHEM Oberfläche - Soweit OK ?

Mache ich das, kommt die Warnung:
2022.12.05 20:04:45.949 1 : PERL WARNING: Prototype mismatch: sub main::YAMAHA_AVR_Initialize ($) vs none at ./FHEM/71_YAMAHA_AVR.pm line 43.
2022.12.05 20:04:45.950 1 : PERL WARNING: Subroutine ::YAMAHA_AVR_Initialize redefined at ./FHEM/71_YAMAHA_AVR.pm line 43.

Die zweite ist seblstverständlich und klar, mit der Ersten kannst Du bestimmt mehr anfangen als ich ;)

Das set Verhalten ist genau wie vorher (Was Du aber glaube ich auch vermutet hast, wenn ich den ersten Satz korrekt deute  ;)

VG
Andreas
Titel: Antw:[YAMAHA_AVR] - support Thread ab 2022
Beitrag von: Beta-User am 05 Dezember 2022, 20:31:37
Also: Wir sprechen von der, die ich an den Post vom 19:15 Uhr drangepappt hatte?

Zitat von: flummy1978 am 05 Dezember 2022, 20:12:03
Ich lad die .PM runter -> Schieb sie in den FHEM Ordner und ersetze die alte -> reload 71_YAMAHA_AVR.pm auf der FHEM Oberfläche - Soweit OK ?
Hmmm, weiß nicht recht. Wenn da vorher noch was lief, das mit Prototype in Initialize hantierte, würde ich sicherheitshalber FHEM neu starten. Danach sollte es gehen, es sei denn, ich melde ausdrücklich Gefahr (was vermutlich hin und wieder sein wird!).

ZitatMache ich das, kommt die Warnung:
2022.12.05 20:04:45.949 1 : PERL WARNING: Prototype mismatch: sub main::YAMAHA_AVR_Initialize ($) vs none at ./FHEM/71_YAMAHA_AVR.pm line 43.

U.A. deswegen will ich erst die Prototypen los sein, weil ich sonst immer erklären muss, dass das im Prinzip "harmlos" ist. Die Gefahr lauert woanders (geänderte Funktionsnamen, falscher Namespace => undefined subroutine und weg ist FHEM)...

ZitatDas set Verhalten ist genau wie vorher (Was Du aber glaube ich auch vermutet hast, wenn ich den ersten Satz korrekt deute  ;)
Bedeutet: Es funktioniert, wie es soll?
Oder es gab weitere komische Rückmeldungen/geht nicht-Hinweise...?
Titel: Antw:[YAMAHA_AVR] - support Thread ab 2022
Beitrag von: flummy1978 am 05 Dezember 2022, 20:45:29
Ja genau, ich meinte die Version, die Du vorher drin hattest (hatte das vorher schon offen und wollte es grad runter laden ;) ) Ich sollte mir angewöhnen weniger auf meinem Live System zu testen, aber wenn ich mich als Tester anbiete und sowas mache, bin ich selbst schuld  ::) ;D

Egal ... OnTopic:

Zitat von: Beta-User am 05 Dezember 2022, 20:31:37
Bedeutet: Es funktioniert, wie es soll?
Oder es gab weitere komische Rückmeldungen/geht nicht-Hinweise...?
Abgestürzt ist nichts, lediglich die o.g. Meldung. Aber auf dem Testsystem inkl. Neustart und dem LIVE ohne Neustart gleicher Effekt.

Nein, es funktioniert nicht wie es soll  - sondern so wie vorher.

Aus dem Menue heraus kann ich die Funktion anwählen aus dem set Befehl heraus kommt die Meldung
Unknown argument remoteControl down, choose one of on off volumeStraight volume volumeUp volumeDown input mute remoteControl scene straight 3dCinemaDsp adaptiveDrc direct dsp enhancer sleep bass treble tunerFrequency displayBrightness statusRequest
Unknown argument remoteControl down, choose one of on off volumeStraight volume volumeUp volumeDown input mute remoteControl scene straight 3dCinemaDsp adaptiveDrc direct dsp enhancer sleep bass treble tunerFrequency displayBrightness statusRequest
Unknown argument remoteControl enter, choose one of on off volumeStraight volume volumeUp volumeDown input mute remoteControl scene straight 3dCinemaDsp adaptiveDrc direct dsp enhancer sleep bass treble tunerFrequency displayBrightness statusRequest

Wie zwei Beiträge zuvor erwähnt....

VG
Andreas
Titel: Antw:[YAMAHA_AVR] - support Thread ab 2022
Beitrag von: Beta-User am 05 Dezember 2022, 21:13:12
Hmm, just to be sure: Weiß nicht, ob ich vorher die Versionierung hochgedreht hatte, die man mit "version YAMAHA_AVR" angezeigt bekommt, daher jetzt nochmal eine mit Index 3 von heute.

Da ist eigentlich nur das Logging bei "set volume" wieder raus, das ich zur Fehlersuche da reingeknödelt hatte.

Tritt der Fehler aus dem cmdalias auch auf, wenn du den remoteControl-Befehl direkt über das FHEM-Kommandofeld eingibst? (Bei mir ist da alles unauffällig, ich habe das allerdings bisher auch gar nicht genutzt und wüßte grade nicht, auf was ich am Verstärker achten müßte).
Titel: Antw:[YAMAHA_AVR] - support Thread ab 2022
Beitrag von: flummy1978 am 05 Dezember 2022, 22:33:29
Sodelle .... jetzt habe ich die letzte Version genommen, die Du im Beitrag zuvor gepostet hast.... (Alles nur vom Testsystem heraus)

Version Ausgabe:
File             Rev   Last Change

# $Id: 71_YAMAHA_AVR.pm 26762 no more mixed recedents, fixed set 3 05.12.2022 Beta-User $

f18.js                     26271 2022-07-29 15:22:05Z rudolfkoenig
fhemweb.js                 26631 2022-10-31 11:17:44Z rudolfkoenig


Zitat von: Beta-User am 05 Dezember 2022, 21:13:12
Tritt der Fehler aus dem cmdalias auch auf, wenn du den remoteControl-Befehl direkt über das FHEM-Kommandofeld eingibst? (Bei mir ist da alles unauffällig, ich habe das allerdings bisher auch gar nicht genutzt und wüßte grade nicht, auf was ich am Verstärker achten müßte).

zur Vorsicht das List vom AVR
define WZ_Yamaha_ACV YAMAHA_AVR 192.168.0.63 mainzone 60 10
attr WZ_Yamaha_ACV event-on-change-reading .*
attr WZ_Yamaha_ACV group Geräte
attr WZ_Yamaha_ACV model RX-V575
attr WZ_Yamaha_ACV room Wohnzimmer
attr WZ_Yamaha_ACV webCmd :
#   ACTIVE_ZONE mainzone
#   DEF        192.168.0.63 mainzone 60 10
#   FIRMWARE   1.34/2.06
#   FUUID      638d41be-f33f-224d-f5e2-550502fd9b6ac623
#   FVERSION   71_YAMAHA_AVR.pm:?/2022-12-05 UNSTABLE
#   MODEL      RX-V575
#   NAME       WZ_Yamaha_ACV
#   NR         19
#   STATE      off
#   SYSTEM_ID  0B438A43
#   TYPE       YAMAHA_AVR
#   ZONES_AVAILABLE mainzone,mainzone
#   READINGS:
#     2022-12-05 22:14:21   3dCinemaDsp     auto
#     2022-12-05 22:14:21   adaptiveDrc     auto
#     2022-12-05 22:14:21   bass            2
#     2022-12-05 17:17:52   currentStation 
#     2022-12-05 17:17:52   currentTitle   
#     2022-12-05 22:14:21   direct          off
#     2022-12-05 22:14:21   dsp             7chstereo
#     2022-12-05 22:14:21   enhancer        on
#     2022-12-05 22:14:21   input           netradio
#     2022-12-05 22:14:21   inputName       NET RADIO
#     2022-12-05 22:14:21   mute            off
#     2022-12-05 22:10:29   playStatus      stopped
#     2022-12-05 22:14:21   power           off
#     2022-12-05 22:13:19   presence        present
#     2022-12-05 12:21:27   repeat          off
#     2022-12-05 12:21:27   shuffle         off
#     2022-12-05 22:14:21   sleep           off
#     2022-12-05 22:14:21   state           off
#     2022-12-05 22:14:21   straight        off
#     2022-12-05 22:14:21   treble          -0.5
#     2022-12-05 22:14:21   volume          47
#     2022-12-05 22:14:21   volumeStraight  -34
#   helper:
#     ADDRESS    192.168.0.63
#     AVAILABLE  1
#     DIRECT_TAG Direct
#     DSP_MODES  Hall in Munich|Hall in Vienna|Chamber|Cellar Club|The Roxy Theatre|The Bottom Line|Sports|Action Game|Roleplaying Game|Music Video|Standard|Spectacle|Sci-Fi|Adventure|Drama|Mono Movie|Surround Decoder|2ch Stereo|7ch Stereo
#     INPUTS     AUDIO|AV1|AV2|AV3|AV4|AV5|AV6|AirPlay|HDMI1|HDMI2|HDMI3|HDMI4|HDMI5|NET RADIO|SERVER|Spotify|TUNER|USB|V-AUX|iPod (USB)
#     OFF_INTERVAL 60
#     ON_INTERVAL 10
#     RUNNING_REQUEST 0
#     SCENES     Scene 1|Scene 2|Scene 3|Scene 4
#     SELECTED_ZONE mainzone
#     SUPPORT_DAB 0
#     SUPPORT_DISPLAY_BRIGHTNESS 0
#     SUPPORT_EXTRA_BASS 0
#     SUPPORT_HDMI_OUT 0
#     SUPPORT_PARTY_MODE 0
#     SUPPORT_SHUFFLE_REPEAT 0
#     SUPPORT_SURROUND_DECODER 0
#     SUPPORT_TONE_STATUS 1
#     SUPPORT_YPAO_VOLUME 0
#     XML        /YamahaRemoteControl/desc.xml
#     ZONES      Main_Zone|Main_Zone
#     CMD_QUEUE:
#
setstate WZ_Yamaha_ACV off
setstate WZ_Yamaha_ACV 2022-12-05 22:14:21 3dCinemaDsp auto
setstate WZ_Yamaha_ACV 2022-12-05 22:14:21 adaptiveDrc auto
setstate WZ_Yamaha_ACV 2022-12-05 22:14:21 bass 2
setstate WZ_Yamaha_ACV 2022-12-05 17:17:52 currentStation
setstate WZ_Yamaha_ACV 2022-12-05 17:17:52 currentTitle
setstate WZ_Yamaha_ACV 2022-12-05 22:14:21 direct off
setstate WZ_Yamaha_ACV 2022-12-05 22:14:21 dsp 7chstereo
setstate WZ_Yamaha_ACV 2022-12-05 22:14:21 enhancer on
setstate WZ_Yamaha_ACV 2022-12-05 22:14:21 input netradio
setstate WZ_Yamaha_ACV 2022-12-05 22:14:21 inputName NET RADIO
setstate WZ_Yamaha_ACV 2022-12-05 22:14:21 mute off
setstate WZ_Yamaha_ACV 2022-12-05 22:10:29 playStatus stopped
setstate WZ_Yamaha_ACV 2022-12-05 22:14:21 power off
setstate WZ_Yamaha_ACV 2022-12-05 22:13:19 presence present
setstate WZ_Yamaha_ACV 2022-12-05 12:21:27 repeat off
setstate WZ_Yamaha_ACV 2022-12-05 12:21:27 shuffle off
setstate WZ_Yamaha_ACV 2022-12-05 22:14:21 sleep off
setstate WZ_Yamaha_ACV 2022-12-05 22:14:21 state off
setstate WZ_Yamaha_ACV 2022-12-05 22:14:21 straight off
setstate WZ_Yamaha_ACV 2022-12-05 22:14:21 treble -0.5
setstate WZ_Yamaha_ACV 2022-12-05 22:14:21 volume 47
setstate WZ_Yamaha_ACV 2022-12-05 22:14:21 volumeStraight -34



In der Weboberfläche volume,on, off remoteControl left / right / down / enter **
Alles iO

In der Eingabezeile FHEM:
set WZ_Yamaha_ACV on
set WZ_Yamaha_ACV off
set WZ_Yamaha_ACV bass 2


wird alles korrekt ausgeführt
.....
nicht alle Befehle getestet
.....
set WZ_Yamaha_ACV remoteControl down**Das war das was oben beim Klicken in der Weboberfläche normal funktionierte
Ausgabe:
Please define WZ_Yamaha_ACV remoteControl down first (Hier kann ich sogar WZ_Yamaha_ACV remoteControl anklicken - was mich zum Receiver Device führt
Also auf keinen Fall korrekt - Demnach habe ich das cmdalias gar nicht erst getestet weil ich diesen EINEN Befehl schon nicht ausführen kann.

Ich hoffe jetzt ist die Vorgehensweise komplett verständlich :)

VG
Andreas
Titel: Antw:[YAMAHA_AVR] - support Thread ab 2022
Beitrag von: Beta-User am 06 Dezember 2022, 08:11:14
Hmm, ok. Die js-Dateien sind auch aktuell, soweit so gut. Den Ablauf kann ich nachvollziehen, aber das "please define" kommt bei mir nicht.

Fangen wir vielleicht nochmal bei "0" an. Kannst du mal die letzte Version vor allen meinen Eingriffen gegenchecken, ob das mit der nicht auftritt?
Sollte (auf Linuxen) so zu bekommen sein (+Neustart):
"wget https://svn.fhem.de/trac/export/21538/trunk/fhem/FHEM/71_YAMAHA_AVR.pm -O ./FHEM/71_YAMAHA_AVR.pm"

Falls es da weg ist, habe ich was kaputt gemacht, falls nicht, ist es was anderes (vielleicht die Perl-Version, der Browser, ..., keine Ahnung).
Titel: Antw:[YAMAHA_AVR] - support Thread ab 2022
Beitrag von: flummy1978 am 06 Dezember 2022, 13:57:08
Moinsen,

Zitat von: Beta-User am 06 Dezember 2022, 08:11:14
Fangen wir vielleicht nochmal bei "0" an. Kannst du mal die letzte Version vor allen meinen Eingriffen gegenchecken, ob das mit der nicht auftritt?
Sollte (auf Linuxen) so zu bekommen sein (+Neustart):

nach dem Download schon mal reload gemacht und hier schon die Version gehabt:
File             Rev   Last Change

71_YAMAHA_AVR.pm 21538 2020-03-29 09:12:10Z markusbloch

f18.js                     26271 2022-07-29 15:22:05Z rudolfkoenig
fhemweb.js                 26631 2022-10-31 11:17:44Z rudolfkoenig


Dennoch shutdown -> restart

Jetzt wird es wirklich wild.......

Zunächst wie zuvor: In der Weboberfläche volume,on, off remoteControl left / right / down / enter
Alles iO

In der Eingabezeile FHEM:
set WZ_Yamaha_ACV on
set WZ_Yamaha_ACV off

wird alles korrekt ausgeführt

Ab hier ist das Verhalten anders,zumindest bei meinen getesteten Befehlen

In der Eingabezeile FHEM:
set WZ_Yamaha_ACV bass 3

Der Befehl ging gestern mit der anderen Version.
Ausgabe:
Please define WZ_Yamaha_ACV bass first

set WZ_Yamaha_ACV remoteControl down
Ausgabe:
Unknown argument remoteControl down, choose one of on off volumeStraight volume volumeUp volumeDown input mute remoteControl scene straight 3dCinemaDsp adaptiveDrc direct dsp enhancer navigateListMenu play pause stop skip preset presetUp presetDown sleep bass treble tunerFrequency displayBrightness statusRequest

Also nochmal anders, als gestern bei den Versuchen

Jetzt der grund warum es so lang gedauert hat:
Da bei der Testversionen bisher alles andere funktioniert hat, hat mich der Hinweis "....(vielleicht die Perl-Version, der Browser, ..., keine Ahnung)....." etwas stutzig gemacht.  Also hab ich mich auf die Meldung 2022-12-06 10:49:10.426 Installer fhemInstaller error 'getCpanVersion' die beim Starten von docker FHEM kommt, gestürzt und bis gerade eben versucht sie zu lösen.
Der FHEM Installer zeigt zwar nach wievor "error 'installPerl App::cpanminus'" aber in der Console dann steht "App::cpanminus is up to date. (1.7046)" gehe ich davon aus, dass der docker FHEM Installer nur irgendwo nicht klar kommt.....
Edith ergänzt: Auf dem Live System ist die gleiche Meldung bezüglich App::cpanminus, also hat das damit sicher nichts zu tun

VG
Andreas
Titel: Antw:[YAMAHA_AVR] - support Thread ab 2022
Beitrag von: Beta-User am 06 Dezember 2022, 14:19:39
Hmmm, also wenn es nicht schlechter ist als bei der alten Version, bin ich erst mal "beruhigt", was meine Eingriffe angeht.
Erklären kann ich mir das mit "define first" allerdings gar nicht, und ich bin auch sehr im Zweifel, ob das überhaupt was mit YAMAHA_AVR zu tun hat, und nicht auch bei anderen Modulen auftreten kann.

Würdest du das bitte nochmal (@alte Version) mit einem anderen Browser testen und ggf. dann mal (in FHEMWEB?) einen neuen Thread aufmachen, damit Rudi sich der Sache mal annimmt? (ich kann's nicht nachstellen und daher auch schlecht irgendwelchen Testanweisungen folgen).
Die einzige Besonderheit, die mir in Bezung auf das Modul auffällt: Es wird jedesmal der String für "getAllSets" wieder neu zusammengeschustert, was m.E. eigentlich gar nicht sein müßte, weil es doch unveränderlich sein dürfte, wenn alle Optionen einmal gescannt wurden? Na ja, Rom und so.

Jedenfalls mal "für Mutige" eine neue Testversion - da sind diverse Funktionsnamen geändert und die Set-Funktion für die "volume"-Kommandos ist komplett umgestrickt => zwingend (!!!) neu starten!

(Die bringt aber nichts neues in Bezug auf das "define first"-Ding).
Titel: Antw:[YAMAHA_AVR] - support Thread ab 2022
Beitrag von: flummy1978 am 06 Dezember 2022, 15:40:53
Vorher alles mit dem Firefox gemacht - Die Testoberfläche wurde noch nie mit dem Chrome auf gemacht - Also war hier alles "nackich". Ich könnte jetzt hier die komplette Leier runter schreiben was ich alles getestet habe - nämlich so wie oben..... Ergebnisse waren alle gleich.

Ich habe mir dann allerdings einmal die Meldung
"Unknown argument remoteControl down, choose one of on off volumeStraight volume volumeUp volumeDown input mute remoteControl scene straight 3dCinemaDsp adaptiveDrc direct dsp enhancer navigateListMenu play pause stop skip preset presetUp presetDown sleep bass treble tunerFrequency displayBrightness statusRequest"
geschnappt und daraus das fett geschriebene in die Eingabezeile gezogen- dann rest ausgefüllt und auf einmal geht es ??? Ich habe mehrmals die einzelnen Zeilen rauskopiert und vergleichen, sie waren stets identisch.

Lange Rede kurzer Sinn, ich habe die Meldungen zig mal hin und her kopiert und alles kontrolliert - kein Plan warum es mit meiner Eingabe "set WZ_Yamaha_ACV remoteControl left" nicht ging, nachdem ich remoteControl aus der Fehlermeldung in die Eingabezeile gezogen habe, ging es auf einmal. Sowas verwirrt mich wirklich - Vielleicht hast Du (oder jemand anderes) eine Erklärung woher sowas kommen kann. Ich habe danach dann alle set Befehle aus sämtlichen Eingabezeilen gelöscht und nochmal getestet von da an ging es.... Wenn ich jetzt einen Fehler entdecken würde, den ich gemacht habe, würde ich mich ja entschuldigen können, aber in dem Fall bin ich mehr als verwirrt.

Das ist das cmndalias das vorher schon drin war (lediglich Raum, Reihenfolge der down / enter Tasten und die Lautstärke ist nochmal angepasst. Aber der Rest ist gleich. Funktionierte vorher nicht, jetzt ja.....

define cmnd_WZ_YAM_01 cmdalias deutschrockradio AS set WZ_Yamaha_ACV on;; set WZ_Yamaha_ACV input netradio;; set WZ_Yamaha_ACV volume 30;; set WZ_Yamaha_ACV remoteControl down;; set WZ_Yamaha_ACV remoteControl down;; set WZ_Yamaha_ACV remoteControl enter
attr cmnd_WZ_YAM_01 DbLogExclude .*
attr cmnd_WZ_YAM_01 room System->Command-Alias
#   .FhemMetaInternals 1
#   ALIAS      deutschrockradio
#   CFGFN     
#   DEF        deutschrockradio AS set WZ_Yamaha_ACV on; set WZ_Yamaha_ACV input netradio; set WZ_Yamaha_ACV volume 30; set WZ_Yamaha_ACV remoteControl down; set WZ_Yamaha_ACV remoteControl down; set WZ_Yamaha_ACV remoteControl enter
#   FUUID      638e056a-f33f-6adc-a0ca-0b246a5aacea5967
#   FVERSION   98_cmdalias.pm:0.163000/2018-03-01
#   NAME       cmnd_WZ_YAM_01
#   NEWCMD     set WZ_Yamaha_ACV on; set WZ_Yamaha_ACV input netradio; set WZ_Yamaha_ACV volume 30; set WZ_Yamaha_ACV remoteControl down; set WZ_Yamaha_ACV remoteControl down; set WZ_Yamaha_ACV remoteControl enter
#   NR         139019
#   PARAM     
#   STATE      defined
#   TYPE       cmdalias
#
setstate cmnd_WZ_YAM_01 defined




Zitat von: Beta-User am 06 Dezember 2022, 14:19:39
Jedenfalls mal "für Mutige" eine neue Testversion - da sind diverse Funktionsnamen geändert und die Set-Funktion für die "volume"-Kommandos ist komplett umgestrickt => zwingend (!!!) neu starten!

(Die bringt aber nichts neues in Bezug auf das "define first"-Ding).
Wäre gern mutig .... nach dem Fall von oben, weiss ich nicht ob ich da nicht Fehler finde, die vielleicht 1 x unter 100000000 vorkommen oder sonst etwas  :(

VG
Andreas
Titel: Antw:[YAMAHA_AVR] - support Thread ab 2022
Beitrag von: Beta-User am 06 Dezember 2022, 16:06:40
Nevermind, ich habe zwar immer noch keine Ahnung, wie sowas passieren kann, aber du hast nichts falsch gemacht, und so wissen wir beide jetzt, dass sowas halt passieren kann, warum auch immer...

"Wäre gerne mutig"? Ist doch ok, du hast getestet und Rückmeldung gegeben, ich habe das als Anlass genommen, mal intensiver in den Code zu schauen. Ist, wie es sein soll, zumal ich dann auch was "falsch" gemacht habe, von dem ich niemals angenommen hätte, dass es "falsch" sein könnte...
Na ja, jedenfalls, um jetzt mit der Version von vorhin weiterzutesten, müßtest du einfach (zwischen beliebigen diversen anderen Befehlen) die verschiedenen "volume"-Varianten austesten. Wenn das reibungslos funktioniert, ist alles fein :) .
Was jetzt _zusätzlich_ gehen sollte, ist sowas wie "volume -2", und "volumeUp -4" sollte tatsächlich um 4 nach unten gehen... Weiter sollte "volume text" eine qualifiziertere Rückmeldung geben etc. pp...
Kurz: der Code ist einfacher, aber die Funktionalität variabler (so jedenfalls meine Hoffnung).

EDIT: Zwischenzeitlich habe ich doch eine Idee, wie das zustande kam: durch den geänderten Code wurden aus Leerzeichen irgendwelche anderen Trennzeichen, so dass das ganze bei einer "set"-Anweisung "am Stück" an das Modul übergeben wurde. fhem.pl konnte das dann nicht mehr in seine Wortbestandteile zerlegen. Offenbar hat sich das nicht nur an dem einen Teilstück ausgewirkt, was allerdings weiter seltsam bleibt...
Unklar ist mir aber weiter, wie sich der Browser das gemerkt hat und wieso das unterschiedliche Folgen in FHEMWEB und intern hatte.
Titel: Antw:[YAMAHA_AVR] - support Thread ab 2022
Beitrag von: flummy1978 am 06 Dezember 2022, 17:06:31
Zitat von: Beta-User am 06 Dezember 2022, 16:06:40
Nevermind, ich habe zwar immer noch keine Ahnung, wie sowas passieren kann, aber du hast nichts falsch gemacht, und so wissen wir beide jetzt, dass sowas halt passieren kann, warum auch immer...
Immerhin sind wir schon mal zwei die wissen, dass alles passieren kann was wir nicht wissen und uns eh nicht vorstellen können  ::) Mal im Ernst - es ist schon frustrierend, wenn man am Ende immernoch nicht weiß woran es lag  :-\

Ich bin dann mal weiter mutig: (Ein mutiger Teil führte zu kurzzeitigem Herzrasen).....
File             Rev   Last Change

# $Id: 71_YAMAHA_AVR.pm 26762 06.12.2022 Beta-User $

f18.js                     26271 2022-07-29 15:22:05Z rudolfkoenig
fhemweb.js                 26782 2022-12-05 12:36:32Z rudolfkoenig



Sämtliche Bewegungen die ich (bisher) getestet habe, haben dort funktioniert. Macht man die Volume Bewegung korrekt, wird auch alles korrekt ausgeführt (Logs gekürzt): 
volume 20:
2022-12-06 16:49:59.275 YAMAHA_AVR WZ_Yamaha_ACV volume 20
2022-12-06 16:49:59.416 YAMAHA_AVR WZ_Yamaha_ACV volumeStraight: -63.5
.....
2022-12-06 16:50:00.067 YAMAHA_AVR WZ_Yamaha_ACV volumeStraight: -61.5
2022-12-06 16:50:00.232 YAMAHA_AVR WZ_Yamaha_ACV volumeStraight: -61
2022-12-06 16:50:00.232 YAMAHA_AVR WZ_Yamaha_ACV volume: 20


volume 25:
2022-12-06 16:50:25.031 YAMAHA_AVR WZ_Yamaha_ACV volume 25
2022-12-06 16:50:25.183 YAMAHA_AVR WZ_Yamaha_ACV volumeStraight: -60
2022-12-06 16:50:25.183 YAMAHA_AVR WZ_Yamaha_ACV volume: 21
.........
2022-12-06 16:50:25.662 YAMAHA_AVR WZ_Yamaha_ACV volume: 24
2022-12-06 16:50:25.825 YAMAHA_AVR WZ_Yamaha_ACV volumeStraight: -56
2022-12-06 16:50:25.825 YAMAHA_AVR WZ_Yamaha_ACV volume: 25


volume up 10
2022-12-06 16:50:52.264 YAMAHA_AVR WZ_Yamaha_ACV volumeUp 10
2022-12-06 16:50:52.415 YAMAHA_AVR WZ_Yamaha_ACV volumeStraight: -54.5
2022-12-06 16:50:52.415 YAMAHA_AVR WZ_Yamaha_ACV volume: 26
.......
2022-12-06 16:50:53.222 YAMAHA_AVR WZ_Yamaha_ACV volume: 34
2022-12-06 16:50:53.381 YAMAHA_AVR WZ_Yamaha_ACV volumeStraight: -46.5
2022-12-06 16:50:53.381 YAMAHA_AVR WZ_Yamaha_ACV volume: 35


volume down 20
2022-12-06 16:52:07.005 YAMAHA_AVR WZ_Yamaha_ACV volumeDown 20
2022-12-06 16:52:07.153 YAMAHA_AVR WZ_Yamaha_ACV volumeStraight: -50
2022-12-06 16:52:07.153 YAMAHA_AVR WZ_Yamaha_ACV volume: 31
........
2022-12-06 16:52:07.801 YAMAHA_AVR WZ_Yamaha_ACV volume: 17
2022-12-06 16:52:07.957 YAMAHA_AVR WZ_Yamaha_ACV volumeStraight: -65.5
2022-12-06 16:52:07.957 YAMAHA_AVR WZ_Yamaha_ACV volume: 15


Herzinfarktalarm (zumindest wenn Musik grad läuft  ;D)
volumeUp -5
(das Gleiche passiert bei volumeDown -5)


2022-12-06 16:52:54.925 YAMAHA_AVR WZ_Yamaha_ACV volumeUp -5
2022-12-06 16:52:55.077 YAMAHA_AVR WZ_Yamaha_ACV volumeStraight: -50.5
2022-12-06 16:52:55.077 YAMAHA_AVR WZ_Yamaha_ACV volume: 30
2022-12-06 16:52:55.226 YAMAHA_AVR WZ_Yamaha_ACV volumeStraight: -35.5
2022-12-06 16:52:55.226 YAMAHA_AVR WZ_Yamaha_ACV volume: 46
2022-12-06 16:52:55.388 YAMAHA_AVR WZ_Yamaha_ACV volumeStraight: -20.5
2022-12-06 16:52:55.388 YAMAHA_AVR WZ_Yamaha_ACV volume: 61
2022-12-06 16:52:55.553 YAMAHA_AVR WZ_Yamaha_ACV volumeStraight: -5.5
2022-12-06 16:52:55.553 YAMAHA_AVR WZ_Yamaha_ACV volume: 77
2022-12-06 16:52:55.710 YAMAHA_AVR WZ_Yamaha_ACV volumeStraight: 9.5
2022-12-06 16:52:55.710 YAMAHA_AVR WZ_Yamaha_ACV volume: 92
2022-12-06 16:52:55.871 YAMAHA_AVR WZ_Yamaha_ACV volumeStraight: 10
2022-12-06 16:52:55.871 YAMAHA_AVR WZ_Yamaha_ACV volume: 93


Also Musik volle Pulle - alles was der Receiver hergibt -.- Das passiert nur, wenn man den Befehl falsch einsetzt (volume up oder down in Verbindung mit Minuszahlen).... Führt aber zu ungewünschten Effekten.

Mein Vorschlag dazu:

"volume" "volume up" und "volume down" sollte das Vorzeichen ignoriert werden, demnach nur Positive Zahlen akzeptiert werden (also volume up -10 => volume up 10 volume down -5 => volume down 5 usw )

volume -2 könnte ich auf Wunsch manuell setzen, weil der Volume Slider von 0 bis 100 geht.....

Wenn andere Funktionen dazwischen sein MÜSSEN, würde ich das die Tage nochmal testen.

VG
Andreas
Titel: Antw:[YAMAHA_AVR] - support Thread ab 2022
Beitrag von: Beta-User am 06 Dezember 2022, 17:19:40
Ups...
Habe einen anderen Vorschlag - wir wandeln den gefundenen Wert in diesem Fall auch korrekt in das erwartete Format um?

Ab #481 das else sollte dann so aussehen:
        } else {
            my $act_vol = ReadingsNum($name, 'volume', 0);
            if ( $a[2] =~ m{\A[+-].*} ) {
                $target_volume = $act_vol + $a[2];
            } else {
                my $change = AttrVal($hash->{NAME}, 'volumeSteps',$a[2]);
                $target_volume =
                    $what eq 'volumeDown' ? $act_vol - $change :
                    $what eq 'volumeUp'   ? $act_vol + $change :
                    $a[2];
            }
            $target_volume = YAMAHA_AVR_volume_rel2abs($target_volume);
        }

Die Umwandlung wandert also aus dem inneren else-Fall raus und das sollte es schon gewesen sein ;) .
Titel: Antw:[YAMAHA_AVR] - support Thread ab 2022
Beitrag von: flummy1978 am 06 Dezember 2022, 19:47:30
Zitat von: Beta-User am 06 Dezember 2022, 17:19:40
Ups...
Habe einen anderen Vorschlag - wir wandeln den gefundenen Wert in diesem Fall auch korrekt in das erwartete Format um?

Die Umsetzung ist eine andere, aber das Ergebnis das Gleiche oder verstehe ich das falsch? Am Ende kommen nur positive Zahlen an und das ist auch gut sonst Ohrenknall  ;D
Titel: Antw:[YAMAHA_AVR] - support Thread ab 2022
Beitrag von: Beta-User am 07 Dezember 2022, 22:16:15
Zitat von: flummy1978 am 06 Dezember 2022, 19:47:30
Die Umsetzung ist eine andere, aber das Ergebnis das Gleiche oder verstehe ich das falsch? Am Ende kommen nur positive Zahlen an und das ist auch gut sonst Ohrenknall  ;D
Am Ende sind es tendenziell negative Zahlen, da die Receiver wohl eigentlich mit "volumeStraight" arbeiten...

Habe vorsichtshalber beim Testen erst mal keine Soundquelle nudeln lassen, aber das sah' jetzt eigentlich ganz ok aus. Nur die Logik bei "direct" habe ich noch nicht getestet. Die sah irgendwie auch gewöhnungsbedürftig aus...

Wenn keine zeitnahen Einwände kommen, würde ich diese Version dann am WE einchecken.

Nachtrag: Wer nicht die allerletzte Version von hier hatte, muß FHEM neu starten!
Titel: Antw:[YAMAHA_AVR] - support Thread ab 2022
Beitrag von: flummy1978 am 08 Dezember 2022, 17:35:13
Zitat von: Beta-User am 07 Dezember 2022, 22:16:15
Wenn keine zeitnahen Einwände kommen, würde ich diese Version dann am WE einchecken.
Ich hätte da denke nen Bug, auch wenn er schwer ist zu reproduzieren, weil ich noch nicht weiss, warum ich das Menu einmal gesehen habe.

Bei meinen ganzen Tests ging es ja speziell darum, dass ich eine bestimmte Funktion nach dem Starten des Receivers ausführen wollte. Ich habe dann bei der Suche nach der Befehlssyntax den Befehl "navigateListMenu" entdeckt, den ich bis dato nicht kannte. Ich habe mich gewundert warum nicht und siehe da: In meinem Menu set WZ_Yamaha_ACV ...... taucht dieser Befehl gar nicht auf.  Ich hab ihn aber in der ganzen Testerei 1x auf jeden Fall gesehen. Wenn ich ihn von Hand eintippe funktioniert er einwandfrei.....

Das ist der HTML  Code vom select:
<select id="sel_setWZ_Yamaha_ACV" informid="sel_setWZ_Yamaha_ACV" name="arg.setWZ_Yamaha_ACV" class="set"><option value="3dCinemaDsp">3dCinemaDsp</option>
<option value="adaptiveDrc">adaptiveDrc</option>
<option value="bass">bass</option>
<option value="direct">direct</option>
<option value="displayBrightness">displayBrightness</option>
<option value="dsp">dsp</option>
<option value="enhancer">enhancer</option>
<option value="input">input</option>
<option value="mute">mute</option>
<option value="off">off</option>
<option value="on">on</option>
<option value="rc_2">rc_2</option>
<option value="remoteControl">remoteControl</option>
<option value="scene">scene</option>
<option value="sleep">sleep</option>
<option value="statusRequest">statusRequest</option>
<option value="straight">straight</option>
<option value="treble">treble</option>
<option value="tunerFrequency">tunerFrequency</option>
<option value="volume">volume</option>
<option value="volumeDown">volumeDown</option>
<option selected="selected" value="volumeStraight">volumeStraight</option>
<option value="volumeUp">volumeUp</option>
</select>


Ich habe die Version aus dem oberen Link getestet:

Zitat von: Beta-User am 06 Dezember 2022, 08:11:14
"wget https://svn.fhem.de/trac/export/21538/trunk/fhem/FHEM/71_YAMAHA_AVR.pm -O ./FHEM/71_YAMAHA_AVR.pm"
File             Rev   Last Change

# $Id: 71_YAMAHA_AVR.pm 26762 06.12.2022 Beta-User $

f18.js                     26271 2022-07-29 15:22:05Z rudolfkoenig
fhemweb.js                 26782 2022-12-05 12:36:32Z rudolfkoenig


Auf dem LiveSystem ist diese (mit dem gleichen Fehler)
File             Rev   Last Change

# $Id: 71_YAMAHA_AVR.pm 26762 no more mixed recedents, fixed set 2 05.12.2022 Beta-User $

doif.js                    24438 2021-05-14 18:08:18Z Ellert
fhemweb.js                 26631 2022-10-31 11:17:44Z rudolfkoenig
fhemweb_readingsGroup.js   15189 2017-10-03 17:53:27Z justme1968
svg.js                     23428 2020-12-27 22:07:20Z rudolfkoenig


VG
Andreas
Titel: Antw:[YAMAHA_AVR] - support Thread ab 2022
Beitrag von: Beta-User am 08 Dezember 2022, 17:51:11
Das schaue ich mir an, aber bitte ab jetzt mit der aktuellsten Fassung testen (Ohrensaußen-Anlass sollte jetzt vorbei sein...).
Titel: Antw:[YAMAHA_AVR] - support Thread ab 2022
Beitrag von: flummy1978 am 08 Dezember 2022, 19:47:28
Zitat von: Beta-User am 08 Dezember 2022, 17:51:11
Das schaue ich mir an, aber bitte ab jetzt mit der aktuellsten Fassung testen (Ohrensaußen-Anlass sollte jetzt vorbei sein...).

Der Vollständigkeit halber:
Version
File             Rev   Last Change

# $Id: 71_YAMAHA_AVR.pm 26762 07.12.2022 Beta-User $

f18.js                     26271 2022-07-29 15:22:05Z rudolfkoenig
fhemweb.js                 26782 2022-12-05 12:36:32Z rudolfkoenig


Hier ist das Menu sogar noch kürzer:

<option value="displayBrightness">displayBrightness</option>
<option value="mute">mute</option>
<option value="off">off</option>
<option value="on">on</option>
<option value="remoteControl">remoteControl</option>
<option value="sleep">sleep</option>
<option value="statusRequest">statusRequest</option>
<option value="tunerFrequency">tunerFrequency</option>
<option value="volume">volume</option>
<option value="volumeDown">volumeDown</option>
<option value="volumeUp">volumeUp</option><option selected="selected" value="volumeStraight">volumeStraight</option>



NACH dem Starten und Einschalten des Receivers ist die Menuleiste bedeutend länger (weiss nicht ob das Absicht ist - habe ich imho aber so bisher bei keinem Modul gesehen)

<option value="3dCinemaDsp">3dCinemaDsp</option>
<option value="adaptiveDrc">adaptiveDrc</option>
<option value="bass">bass</option>
<option value="direct">direct</option>
<option value="displayBrightness">displayBrightness</option>
<option value="dsp">dsp</option>
<option value="enhancer">enhancer</option>
<option value="input">input</option>
<option value="mute">mute</option>
<option value="navigateListMenu">navigateListMenu</option>
<option value="off">off</option>
<option value="on">on</option>
<option value="pause">pause</option>
<option value="play">play</option>
<option value="preset">preset</option>
<option value="presetDown">presetDown</option>
<option value="presetUp">presetUp</option>
<option value="remoteControl">remoteControl</option>
<option value="scene">scene</option>
<option value="skip">skip</option>
<option value="sleep">sleep</option>
<option value="statusRequest">statusRequest</option>
<option value="stop">stop</option>
<option value="straight">straight</option>
<option value="volumeUp">volumeUp</option><option value="treble">treble</option>
<option value="tunerFrequency">tunerFrequency</option>
<option value="volume">volume</option>
<option value="volumeDown">volumeDown</option>
<option selected="selected" value="volumeStraight">volumeStraight</option>


VG
Andreas

Titel: Antw:[YAMAHA_AVR] - support Thread ab 2022
Beitrag von: Beta-User am 09 Dezember 2022, 15:36:46
Zitat von: flummy1978 am 08 Dezember 2022, 19:47:28
NACH dem Starten und Einschalten des Receivers ist die Menuleiste bedeutend länger (weiss nicht ob das Absicht ist - habe ich imho aber so bisher bei keinem Modul gesehen)
OK, jetzt kann ich nachvollziehen, was du irritierend findest.
Ja, es ist in der Tat so, dass das Modul praktisch ständig abckecht, welche Befehle grade möglich sind. Das ist dann immer abhängig vom Receiver-Typ, und eben beim Menü dann noch von der Position, an der man sich grade befindet. Zumindest bei Starren auf den Code finde ich das v.a. im Hinblick auf die Menüposition nachvollziehbar, wobei man m.E. "volumeUp" und "..Down" hart reinknödeln könnte. Aber das sind Details am Rande, und nachdem du mich auf das Menü-Thema geschubst hast, werde ich wohl auch die Überlegungen einstellen, an der Methode grundsätzlich was zu ändern...
Titel: Antw:[YAMAHA_AVR] - support Thread ab 2022
Beitrag von: flummy1978 am 09 Dezember 2022, 19:23:26
Hey,

mhmmm 
Zitat von: Beta-User am 09 Dezember 2022, 15:36:46Das ist dann immer abhängig vom Receiver-Typ, und eben beim Menü dann noch von der Position, an der man sich grade befindet
für die Abhängigkeit vom Receiver Typ macht das wohl vielleicht gar nicht mal so wenig Sinn. Allerdings muss ich das mal in Ruhe testen ob IMMER die gleiche Menuauswahl kommt, wenn der Receiver an ist und sich in einem bestimmten Menue Bereich befindet - Hier hatte ich das Gefühl, dass es unterschiedlich war obwohl ich mich durchgehend im gleichen Bereich befand ( Net Radio -> Senderauswahl oder Net Radio -> Sender läuft)

Aber sicherlich bin ich nicht der Einzige, der das Modul nutzt und vielleicht die ein oder andere Idee hat die er mit uns teit  ;D

VG
Andreas
Titel: Aw: [YAMAHA_AVR] - support Thread ab 2022
Beitrag von: Grindrand am 15 April 2023, 10:23:38
Hallo zusammen,

ich habe diese frage schon im Anfänger Thread gestellt, dort hat mich Beta-User auf diesen Thread aufmerksam gemacht. Kann es sein das wie Beta-User vermutet der RX-A8A zu neu ist und in Fhem noch nicht integrierbar ist?

Ich habe versucht meinen Yamaha RX-A8A in Fhem einzubinden.
Ein bisschen hat es wohl funktioniert. Er wird mit der richtigen Firmware und System ID und so angezeigt und in den Readings steht unter presence auch present, aber unter state bleibt er absent.
Auch wenn ich ihm einen Befehl schicke kommt immer "could not determine addressed zone!".
Hat jemand einen Tipp wie ich den fehler finde?

mfg Christoph
Titel: Aw: [YAMAHA_AVR] - support Thread ab 2022
Beitrag von: Beta-User am 19 April 2023, 13:04:18
Na ja, wenn man in den Code schaut, kommt diese Rückmeldung nur, wenn das Modul keine Zonen erkennen kann, also das Internal ACTIVE_ZONE nicht gefüllt ist und auch nichts im helper-Hash unter "ZONES" steht.
Wenn sonst keiner so ein Gerät hat, musst du zumindest mal soweit in den Code schauen, dass du verstehst, wie diese Infos (ganz allgemein) gelesen und geschrieben werden (ich muss mich dazu auch "unter das Auto legen", weil ich das Modul auch nur behelfsweise übernommen habe).
Ein erster Schritt könnte sein, dass du mal ein vollständiges "list" (oder copy for forum) von dem Gerät lieferst (bitte durchschauen, ob da irgendwelche geheimhaltungsbedürftigen Dinge drin stehen und die (erkennbar) "schwärzen").

Mal ein erster Schuss ins Blaue... Es gibt anscheinend ein paar "spezielle" Modelle, die irgendwelche zusätzlichen Funktionen haben. Da gehört deiner dann vielleicht auch dazu?

Bitte für diesen Test die Funktion "_isModel_DSP" komplett durch das hier ersetzen:
sub _isModel_DSP {
    my $hash = shift // return;

    return 0 if !exists $hash->{MODEL};
    return 1 if $hash->{MODEL} =~ m{DSP-Z|RX-Z|RX-V2065|RX-V3900|DSP-AX3900|RX-A8A};
    return 0;
}
Titel: Aw: [YAMAHA_AVR] - support Thread ab 2022
Beitrag von: marboj am 17 Mai 2023, 16:34:07
Hallo zusammen,

habe seit gestern einen RX-V4A, der die gleiche Fehlermeldung hat wie der A8A.

Habe die Funktion ersetzt. Leider ist der Fehler noch immer da.

Hier das Listing des Geräts:

Internals:
   DEF        192.168.0.77 mainzone
   FIRMWARE   1.62/3.14
   FUUID      6464e0d8-f33f-698a-fcce-ea08324bd7aa15a3
   MODEL      RX-V4A
   NAME       RXV4A
   NR         511
   STATE      ???
   SYSTEM_ID  07A5CCD3
   TYPE       YAMAHA_AVR
   READINGS:
     2023-05-17 16:29:53   presence        present
   helper:
     ADDRESS    192.168.0.77
     AVAILABLE  1
     OFF_INTERVAL 30
     ON_INTERVAL 30
     RUNNING_REQUEST 0
     SELECTED_ZONE mainzone
     XML        /YamahaRemoteControl/desc.xml
     CMD_QUEUE:
Attributes:
   model      RX-V4A

Hat noch jemand eine Idee?

Gruß
Marco
Titel: Aw: [YAMAHA_AVR] - support Thread ab 2022
Beitrag von: Beta-User am 17 Mai 2023, 16:39:04
"ersetzt" bedeutet: Du hast auch deine Modellbezeichnung in der regex ergänzt?
Titel: Aw: [YAMAHA_AVR] - support Thread ab 2022
Beitrag von: marboj am 17 Mai 2023, 18:05:52
Yepp

sieht so aus:

sub _isModel_DSP {
    my $hash = shift // return;

    return 0 if !exists $hash->{MODEL};
    return 1 if $hash->{MODEL} =~ m{DSP-Z|RX-Z|RX-V2065|RX-V3900|DSP-AX3900|RX-V4A};
    return 0;
}
Titel: Aw: [YAMAHA_AVR] - support Thread ab 2022
Beitrag von: Beta-User am 17 Mai 2023, 18:46:16
Hmmm, sieht so aus, also würden diese Modelle dann wohl irgendwas grundsätzlich anders machen als die älteren...
Um uns der Sache zu nähern, könntest du mal mitschneiden, was da so an Antworten auf alle möglichen Anfragen und Kommandos kommt. Sollte mit folgendem Schnippsel nach Zeile 1480 eingefangen werden können:
    Log3( $hash, 3, "$name received data for param " . toJSON($param) . " (error info $err): $data" );Ich hoffe, da kommen keine unerwarteten Datentypen und werde in jedem Fall nicht gleich dazu kommen, das ggf. mit dem zu vergleichen, was mein Receiver (auf den die regex nicht paßt) so macht...
Wichtig: Unbedingt in die Liste "GP_Import" (ab Zeile 47) "toJSON" einfügen, sonst schmiert euch FHEM ab!
Titel: Aw: [YAMAHA_AVR] - support Thread ab 2022
Beitrag von: marboj am 17 Mai 2023, 23:00:38
Kannst Du ein wenig ausführlicher beschreiben, was ich zu tun habe? Möchte gerne helfen, bin aber nicht so fit.

Also den Schnipsel nach Zeile 1480 im Modul einfügen - bekomme ich hin

und dann?
Titel: Aw: [YAMAHA_AVR] - support Thread ab 2022
Beitrag von: Beta-User am 17 Mai 2023, 23:10:30
Na ja, das schreibt erst mal nur mit, was an Infos vom Receiver zurückkommt (verbose-Level 3). ZU finden dann im normalen FHEM-Log.

Was man damit dann anfangen kann, weiß ich auch noch nicht, wenn sich niemand findet, der mehr Ahnung von sowas hat wie meinereiner (bin ausdrücklich nur die Notlösung!), werde ich die Zeile mal Anfang kommender Woche bei meinem AVR aktivieren um zu verstehen, wie das Modul überhaupt tickt und was da ggf. erwartet wird (zumindest bei den "ganz alten" Modellen...).
Vielleicht findet sich dann ein Anpack, vielleicht auch nicht.

Nachtrag: Und bitte den Hinweis auf GP_Import beachten!
Titel: Aw: [YAMAHA_AVR] - support Thread ab 2022
Beitrag von: mircoby am 06 September 2023, 23:07:20
Hallo Beta-User,

stehe vor dem gleichen Thema, möchte einen RX-A2A einbinden und erhalte die Fehlermeldung "could not determine addressed zone!" im Logfile

Folgendes List vom AV_Reveiver:
Internals:
   DEF        192.168.10.132 mainzone 30 10
   FIRMWARE   1.63/3.14
   FUUID      64f8d894-f33f-b910-2c21-0eda7feb6174191a
   MODEL      RX-A2A
   NAME       AV_Receiver
   NR         1689
   STATE      ???
   SYSTEM_ID  007A7A13
   TYPE       YAMAHA_AVR
   READINGS:
     2023-09-06 22:47:24   presence        present
   helper:
     ADDRESS    192.168.10.132
     AVAILABLE  1
     OFF_INTERVAL 30
     ON_INTERVAL 10
     RUNNING_REQUEST 0
     SELECTED_ZONE mainzone
     XML        /YamahaRemoteControl/desc.xml
     CMD_QUEUE:
Attributes:
   DbLogExclude .*
   event-on-change-reading state,power,volume,input,inputName,currentStation,currentTitle
   event-on-update-reading currentAlbum,currentArtist,currentChannel
   group      Yamaha_AVR
   model      RX-A2A
   requestTimeout 3
   room       Wohnzimmer
   verbose    3
   volumeSmoothChange 0

Das FHEM Modul hat die Version: # $Id: 71_YAMAHA_AVR.pm 26846 2022-12-12 20:58:51Z Beta-User $

Ergänzt habe ich den Modellnamen A2A im Modul:
sub _isModel_DSP #($)
{
    my $hash = shift // return;
   
    if(exists($hash->{MODEL}) && (($hash->{MODEL} =~ /DSP-Z/) || ($hash->{MODEL} =~ /RX-Z/) || ($hash->{MODEL} =~ /RX-V2065/) || ($hash->{MODEL} =~ /RX-V3900/) || ($hash->{MODEL} =~ /DSP-AX3900/)|| ($hash->{MODEL} =~ /RX-A2A/) ))
    {
        return 1;
    }
    return 0;


-> keine Veränderung, Receiver wird als Present angezeigt, reagiert nicht. (Das gleiche gilt für Zone2)


Den Log Befehl (und GP_Import) umgesetzt:
Log3( $hash, 3, "$name received data for param " . toJSON($param) . " (error info $err): $data" );
Folgende Einträge im Logfile:
2023.09.06 22:47:25 3: AV_Receiver_Zone2 received data for param {"NAME":"","addr":"http://192.168.10.132:80","arg":"systemConfig","auth":0,"buf":"","callback":"toJSON: Cannot encode CODE(0x565216893a58)","cmd":"statusRequest","code":"200","compress":1,"conn":null,"data":"<?xml version=\u00221.0\u0022 encoding=\u0022utf-8\u0022?><YAMAHA_AV cmd=\u0022GET\u0022><System><Config>GetParam</Config></System></YAMAHA_AV>","displayurl":"http://192.168.10.132/YamahaRemoteControl/ctrl","hash":{".attraggr":[],".attreocr":["state","power","volume","input","inputName","currentStation","currentTitle"],".attreour":["currentAlbum","currentArtist","currentChannel"],".attrminint":[],"CMDs_pending":1,"DEF":"192.168.10.132 zone2 30 10","FUUID":"64f8d9bf-f33f-b910-3ee3-7dc4334ed42b3bdb","NAME":"AV_Receiver_Zone2","NR":1690,"READINGS":{"presence":{"TIME":"2023-09-06 22:47:24","VAL":"present"}},"STATE":"???","TYPE":"YAMAHA_AVR","helper":{"ADDRESS":"192.168.10.132","AVAILABLE":1,"CMD_QUEUE":[{"arg":"unitDescription","cmd":"statusRequest","data":"<?xml version=\u00221.0\u0022 encoding=\u0022utf-8\u0022?><YAMAHA_AV cmd=\u0022GET\u0022><System><Unit_Desc>GetParam</Unit_Desc></System></YAMAHA_AV>","options":{"at_first":1,"priority":1}}],"OFF_INTERVAL":30,"ON_INTERVAL":10,"RUNNING_REQUEST":0,"SELECTED_ZONE":"zone2"}},"host":"192.168.10.132","httpheader":"HTTP/1.1 200 OK\u000d\u000aServer: Network_Module/1.0 (RX-A2A)\u000d\u000aContent-Type: text/xml; charset=\u0022utf-8\u0022\u000d\u000aContent-Length: 1154\u000d\u000aConnection: close","httpversion":"1.1","hu_blocking":0,"hu_filecount":1,"hu_port":80,"hu_portSfx":"","keepalive":0,"loglevel":4,"noshutdown":1,"options":{"at_first":1,"priority":1},"path":"/YamahaRemoteControl/ctrl","protocol":"http","redirects":0,"sslargs":{},"timeout":3,"url":"http://192.168.10.132/YamahaRemoteControl/ctrl"} (error info ): <YAMAHA_AV rsp="GET" RC="0"><System><Config><Model_Name>RX-A2A</Model_Name><System_ID>007A7A13</System_ID><Version>1.63/3.14</Version><Feature_Existence><Main_Zone>1</Main_Zone><Zone_2>1</Zone_2><Zone_3>0</Zone_3><Zone_4>0</Zone_4><Tuner>0</Tuner><DAB>1</DAB><Napster>1</Napster><SiriusXM>0</SiriusXM><Pandora>0</Pandora><Spotify>1</Spotify><JUKE>0</JUKE><Qobuz>1</Qobuz><radiko_jp>0</radiko_jp><TIDAL>1</TIDAL><Deezer>1</Deezer><Amazon_Music>1</Amazon_Music><Alexa>1</Alexa><QQMusic>0</QQMusic><AirPlay>1</AirPlay><SERVER>1</SERVER><NET_RADIO>1</NET_RADIO><Bluetooth>1</Bluetooth><USB>1</USB></Feature_Existence><Name><Input><TUNER>TUNER</TUNER><PHONO>PHONO</PHONO><HDMI_1>CD</HDMI_1><HDMI_2>HDMI2</HDMI_2><HDMI_3>PlayStation 5</HDMI_3><HDMI_4>HDMI4</HDMI_4><HDMI_5>HDMI5</HDMI_5><HDMI_6>HDMI6</HDMI_6><HDMI_7>HDMI7</HDMI_7><AUDIO_1>AUDIO1</AUDIO_1><AUDIO_2>AUDIO2</AUDIO_2><AUDIO_3>AUDIO3</AUDIO_3><AUDIO_4>AUDIO4</AUDIO_4><AUDIO_5>AUDIO5</AUDIO_5><TV>TV</TV><MusicCast_Link>MusicCast Link</MusicCast_Link><SERVER>SERVER</SERVER><NET_RADIO>NET RADIO</NET_RADIO><Bluetooth>Bluetooth</Bluetooth><USB>USB</USB></Input></Name></Config></System></YAMAHA_AV>
2023.09.06 22:47:25 3: AV_Receiver received data for param {"NAME":"","addr":"http://192.168.10.132:80","arg":"systemConfig","auth":0,"buf":"","callback":"toJSON: Cannot encode CODE(0x565216893a58)","cmd":"statusRequest","code":"200","compress":1,"conn":null,"data":"<?xml version=\u00221.0\u0022 encoding=\u0022utf-8\u0022?><YAMAHA_AV cmd=\u0022GET\u0022><System><Config>GetParam</Config></System></YAMAHA_AV>","displayurl":"http://192.168.10.132/YamahaRemoteControl/ctrl","hash":{".attraggr":[],".attreocr":["state","power","volume","input","inputName","currentStation","currentTitle"],".attreour":["currentAlbum","currentArtist","currentChannel"],".attrminint":[],"CMDs_pending":1,"DEF":"192.168.10.132 mainzone 30 10","FUUID":"64f8d894-f33f-b910-2c21-0eda7feb6174191a","NAME":"AV_Receiver","NR":1689,"READINGS":{"presence":{"TIME":"2023-09-06 22:47:24","VAL":"present"}},"STATE":"???","TYPE":"YAMAHA_AVR","helper":{"ADDRESS":"192.168.10.132","AVAILABLE":1,"CMD_QUEUE":[{"arg":"unitDescription","cmd":"statusRequest","data":"<?xml version=\u00221.0\u0022 encoding=\u0022utf-8\u0022?><YAMAHA_AV cmd=\u0022GET\u0022><System><Unit_Desc>GetParam</Unit_Desc></System></YAMAHA_AV>","options":{"at_first":1,"priority":1}}],"OFF_INTERVAL":30,"ON_INTERVAL":10,"RUNNING_REQUEST":0,"SELECTED_ZONE":"mainzone"}},"host":"192.168.10.132","httpheader":"HTTP/1.1 200 OK\u000d\u000aServer: Network_Module/1.0 (RX-A2A)\u000d\u000aContent-Type: text/xml; charset=\u0022utf-8\u0022\u000d\u000aContent-Length: 1154\u000d\u000aConnection: close","httpversion":"1.1","hu_blocking":0,"hu_filecount":1,"hu_port":80,"hu_portSfx":"","keepalive":0,"loglevel":4,"noshutdown":1,"options":{"at_first":1,"priority":1},"path":"/YamahaRemoteControl/ctrl","protocol":"http","redirects":0,"sslargs":{},"timeout":3,"url":"http://192.168.10.132/YamahaRemoteControl/ctrl"} (error info ): <YAMAHA_AV rsp="GET" RC="0"><System><Config><Model_Name>RX-A2A</Model_Name><System_ID>007A7A13</System_ID><Version>1.63/3.14</Version><Feature_Existence><Main_Zone>1</Main_Zone><Zone_2>1</Zone_2><Zone_3>0</Zone_3><Zone_4>0</Zone_4><Tuner>0</Tuner><DAB>1</DAB><Napster>1</Napster><SiriusXM>0</SiriusXM><Pandora>0</Pandora><Spotify>1</Spotify><JUKE>0</JUKE><Qobuz>1</Qobuz><radiko_jp>0</radiko_jp><TIDAL>1</TIDAL><Deezer>1</Deezer><Amazon_Music>1</Amazon_Music><Alexa>1</Alexa><QQMusic>0</QQMusic><AirPlay>1</AirPlay><SERVER>1</SERVER><NET_RADIO>1</NET_RADIO><Bluetooth>1</Bluetooth><USB>1</USB></Feature_Existence><Name><Input><TUNER>TUNER</TUNER><PHONO>PHONO</PHONO><HDMI_1>CD</HDMI_1><HDMI_2>HDMI2</HDMI_2><HDMI_3>PlayStation 5</HDMI_3><HDMI_4>HDMI4</HDMI_4><HDMI_5>HDMI5</HDMI_5><HDMI_6>HDMI6</HDMI_6><HDMI_7>HDMI7</HDMI_7><AUDIO_1>AUDIO1</AUDIO_1><AUDIO_2>AUDIO2</AUDIO_2><AUDIO_3>AUDIO3</AUDIO_3><AUDIO_4>AUDIO4</AUDIO_4><AUDIO_5>AUDIO5</AUDIO_5><TV>TV</TV><MusicCast_Link>MusicCast Link</MusicCast_Link><SERVER>SERVER</SERVER><NET_RADIO>NET RADIO</NET_RADIO><Bluetooth>Bluetooth</Bluetooth><USB>USB</USB></Input></Name></Config></System></YAMAHA_AV>
2023.09.06 22:47:25 3: AV_Receiver_Zone2 received data for param {"NAME":"","addr":"http://192.168.10.132:80","arg":"unitDescription","auth":0,"buf":"","callback":"toJSON: Cannot encode CODE(0x565216893a58)","cmd":"statusRequest","code":"200","compress":1,"conn":null,"data":"<?xml version=\u00221.0\u0022 encoding=\u0022utf-8\u0022?><YAMAHA_AV cmd=\u0022GET\u0022><System><Unit_Desc>GetParam</Unit_Desc></System></YAMAHA_AV>","displayurl":"http://192.168.10.132/YamahaRemoteControl/ctrl","hash":{".attraggr":[],".attreocr":["state","power","volume","input","inputName","currentStation","currentTitle"],".attreour":["currentAlbum","currentArtist","currentChannel"],".attrminint":[],"DEF":"192.168.10.132 zone2 30 10","FIRMWARE":"1.63/3.14","FUUID":"64f8d9bf-f33f-b910-3ee3-7dc4334ed42b3bdb","MODEL":"RX-A2A","NAME":"AV_Receiver_Zone2","NR":1690,"READINGS":{"presence":{"TIME":"2023-09-06 22:47:24","VAL":"present"}},"STATE":"???","SYSTEM_ID":"007A7A13","TYPE":"YAMAHA_AVR","helper":{"ADDRESS":"192.168.10.132","AVAILABLE":1,"CMD_QUEUE":[],"OFF_INTERVAL":30,"ON_INTERVAL":10,"RUNNING_REQUEST":0,"SELECTED_ZONE":"zone2"}},"host":"192.168.10.132","httpheader":"HTTP/1.1 200 OK\u000d\u000aServer: Network_Module/1.0 (RX-A2A)\u000d\u000aContent-Type: text/xml; charset=\u0022utf-8\u0022\u000d\u000aContent-Length: 143\u000d\u000aConnection: close","httpversion":"1.1","hu_blocking":0,"hu_filecount":1,"hu_port":80,"hu_portSfx":"","keepalive":0,"loglevel":4,"noshutdown":1,"options":{"at_first":1,"priority":1},"path":"/YamahaRemoteControl/ctrl","protocol":"http","redirects":0,"sslargs":{},"timeout":3,"url":"http://192.168.10.132/YamahaRemoteControl/ctrl"} (error info ): <YAMAHA_AV rsp="GET" RC="0"><System><Unit_Desc><Version>1.10</Version><URL>/YamahaRemoteControl/desc.xml</URL></Unit_Desc></System></YAMAHA_AV>
2023.09.06 22:47:25 3: AV_Receiver received data for param {"NAME":"","addr":"http://192.168.10.132:80","arg":"unitDescription","auth":0,"buf":"","callback":"toJSON: Cannot encode CODE(0x565216893a58)","cmd":"statusRequest","code":"200","compress":1,"conn":null,"data":"<?xml version=\u00221.0\u0022 encoding=\u0022utf-8\u0022?><YAMAHA_AV cmd=\u0022GET\u0022><System><Unit_Desc>GetParam</Unit_Desc></System></YAMAHA_AV>","displayurl":"http://192.168.10.132/YamahaRemoteControl/ctrl","hash":{".attraggr":[],".attreocr":["state","power","volume","input","inputName","currentStation","currentTitle"],".attreour":["currentAlbum","currentArtist","currentChannel"],".attrminint":[],"DEF":"192.168.10.132 mainzone 30 10","FIRMWARE":"1.63/3.14","FUUID":"64f8d894-f33f-b910-2c21-0eda7feb6174191a","MODEL":"RX-A2A","NAME":"AV_Receiver","NR":1689,"READINGS":{"presence":{"TIME":"2023-09-06 22:47:24","VAL":"present"}},"STATE":"???","SYSTEM_ID":"007A7A13","TYPE":"YAMAHA_AVR","helper":{"ADDRESS":"192.168.10.132","AVAILABLE":1,"CMD_QUEUE":[],"OFF_INTERVAL":30,"ON_INTERVAL":10,"RUNNING_REQUEST":0,"SELECTED_ZONE":"mainzone"}},"host":"192.168.10.132","httpheader":"HTTP/1.1 200 OK\u000d\u000aServer: Network_Module/1.0 (RX-A2A)\u000d\u000aContent-Type: text/xml; charset=\u0022utf-8\u0022\u000d\u000aContent-Length: 143\u000d\u000aConnection: close","httpversion":"1.1","hu_blocking":0,"hu_filecount":1,"hu_port":80,"hu_portSfx":"","keepalive":0,"loglevel":4,"noshutdown":1,"options":{"at_first":1,"priority":1},"path":"/YamahaRemoteControl/ctrl","protocol":"http","redirects":0,"sslargs":{},"timeout":3,"url":"http://192.168.10.132/YamahaRemoteControl/ctrl"} (error info ): <YAMAHA_AV rsp="GET" RC="0"><System><Unit_Desc><Version>1.10</Version><URL>/YamahaRemoteControl/desc.xml</URL></Unit_Desc></System></YAMAHA_AV>

Freue mich über Eure Rückmeldung / Ideen zum weiter debuggen.

Danke & Gruß
Mirko


Titel: Aw: [YAMAHA_AVR] - support Thread ab 2022
Beitrag von: mircoby am 13 September 2023, 22:52:10
Hallo Beta-User,

beim Debuggen des 71_YAMAHA_AVR.PM fällt auf, dass die Variable $zone beim Versuch der Initialisierung des RX-A2A leer bleibt und damit die Initialisierungsfunktion abgebrochen wird.

sub Set {
...
    my $zone = YAMAHA_AVR_getParamName($hash, $hash->{ACTIVE_ZONE}, $hash->{helper}{ZONES});

    if ( !defined $zone && $a[1] ne '?' ) {
        Log3( $name, 3, "YAMAHA_AVR ($name) - could not determine addressed zone ($zone) && %a[1] ($a[1])!");
        return 'could not determine addressed zone!';
...
}

Auszug im Log:
YAMAHA_AVR (AV_Receiver) - could not determine addressed zone () && %a[1] (on)!
das define sieht so aus:
define AV_Receiver YAMAHA_AVR 192.168.10.132
Ohne Zonenangabe soll die Mainzone initialisiert werden (auch die Angabe von mainzone bzw. zone2 nach der IP Adresse ändert nichts am verhalten.

Frage: Warum wird die Variable $zone nicht initialisiert?

Danke & Gruß
Mirko
Titel: Aw: [YAMAHA_AVR] - support Thread ab 2022
Beitrag von: Beta-User am 14 September 2023, 12:27:24
Moin,
komme endlich dazu, mir das etwas näher anzusehen.

Scheint so, dass da entweder die Anforderung oder die Auswertung der "unitDescription" schief geht.

Kannst du mal nachsehen, ob am ermittelten Ort was zu finden ist (und wenn ja, was)?

Sollte bei dir unter 
192.168.10.132/YamahaRemoteControl/desc.xml zu finden sein.
Titel: Aw: [YAMAHA_AVR] - support Thread ab 2022
Beitrag von: mircoby am 14 September 2023, 20:27:54
Hallo Beta-User

die desc.xml ist nicht erreichbar

Die Website ist nicht erreichbar Die Webseite unter http://192.168.10.132/YamahaRemoteControl/desc.xml ist eventuell vorübergehend nicht verfügbar oder wurde dauerhaft an eine neue Webadresse verschoben.
ERR_INVALID_RESPONSE

Grundsätzlich lässt sich der Verstärker über die IP Ansprechen:


Beispiel:
Einschalten:
http://192.168.10.132/YamahaExtendedControl/v1/main/setPower?power=onAusschalten:
http://192.168.10.132/YamahaExtendedControl/v1/main/setPower?power=standby
Abfrage Play Info Radio:
http://192.168.10.132/YamahaExtendedControl/v1/tuner/getPlayInfoAntwort:
{"response_code":0,"band":"dab","auto_scan":false,"fm":{"preset":0,"freq":98100,"tuned":false,"audio_mode":"mono"},"rds":{"program_type":"","program_service":"","radio_text_a":"","radio_text_b":""},"dab":{"preset":6,"id":80,"status":"ready","freq":190640,"category":"primary","audio_mode":"stereo","bit_rate":88,"quality":100,"tune_aid":15,"off_air":false,"dab_plus":true,"program_type":"Pop_Music","ch_label":" 7B","service_label":"hr1 Rhein-Main  ","dls":"Supergirl von Reamonn","ensemble_label":"hr Radio        "}}
Nutze zwischenzeitlich das YAMAHA_MC Modul, hierüber lässt sich der Receiver grundsätzlich fernsteuern.

Was noch fehlt ist die Rückmeldung der Radio Presets, welcher ist gerade aktiv, sodass ich die Radiosender durchzappen kann. (Info steckt in der Antwort des getPlayInfo requests)

Gruß Mirko
Titel: Aw: [YAMAHA_AVR] - support Thread ab 2022
Beitrag von: Beta-User am 15 September 2023, 07:40:57
Zitat von: mircoby am 14 September 2023, 20:27:54Hallo Beta-User

die desc.xml ist nicht erreichbar
Das ist für das Modul ein größeres Problem, weil in der xml eben alle notwendigen Infos stehen.

Anscheinend wurde die Datei bei einigen Modellen umbenannt, ohne das in der Antwort auf die Basisanfrage (die beiden letzten Zeilen aus deinem ersten Post, dort ziemlich hinten zu finden) korrekt zu vermelden. Könnte man ggf. durch ein Attribut fixen. Was kommt bei dir auf die Anfrage nach
<ip>/YamahaRemoteControl/UnitDesc.xmlDas sollte losgehen mit -<Unit_Description_Version=.....

Gibt es zu dem fehlgeschlagenen Versuch mit dem "falschen" Pfad irgendwas im log? (Dann könnte man ggf. automatisiert darauf reagieren?!?)

Andere scheinen das Problem auch zu haben, siehe https://community.home-assistant.io/t/yamaha-receiver-desc-xml/271872


Zitat von: mircoby am 14 September 2023, 20:27:54Nutze zwischenzeitlich das YAMAHA_MC Modul, hierüber lässt sich der Receiver grundsätzlich fernsteuern.

Was noch fehlt ist die Rückmeldung der Radio Presets, welcher ist gerade aktiv, sodass ich die Radiosender durchzappen kann. (Info steckt in der Antwort des getPlayInfo requests)
Mit dem MC Modul bin ich nicht warm geworden, und das Coding dort gefällt mir auch nicht. Habe aber nicht die Muße, mich dort einzufuchsen, lieber fixe ich das in "meinem" Modul...
Titel: Aw: [YAMAHA_AVR] - support Thread ab 2022
Beitrag von: Beta-User am 15 September 2023, 08:15:58
Hmmm, falls das bei allen den hier aufgetauchten Geräten das Problem ist, ist es zumindest für's erste einfacher, das direkt im Code abzufangen.

Bitte testen :) .
Titel: Aw: [YAMAHA_AVR] - support Thread ab 2022
Beitrag von: mircoby am 17 September 2023, 16:22:27
Danke Beta-User für den Vorschlag.

Die Abfrage

http://192.168.10.132/YamahaRemoteControl/UnitDesc.xml
läuft auch ins leere:

Die Website ist nicht erreichbarDie Webseite unter http://192.168.10.132/YamahaRemoteControl/UnitDesc.xml ist eventuell vorübergehend nicht verfügbar oder wurde dauerhaft an eine neue Webadresse verschoben.
ERR_INVALID_RESPONSE

Grundsätzlich ist der Receiver über die IP zu erreichen, die Dateien desc.xml & UnitDesc.xml scheint es beim RX A2A nicht zu geben.

Kann ich noch etwas anderes Testen?
Titel: Aw: [YAMAHA_AVR] - support Thread ab 2022
Beitrag von: Beta-User am 18 September 2023, 14:40:35
Puh, bin auch überfragt...

Auf meinem Receiver habe ich noch das hier gefunden:
<ip>:49154/MediaRenderer/desc.xmlDas scheint noch eine Schnittstelle zu sein, über die Infos über die verschiedenen Wege zu bekommen sind, wie der Receiver angesteuert werden kann.

Wenn es diese xml im allgemeinen bei den neueren Modellen nicht mehr gibt, ist das nicht gut für unser Modul. Der Code in YAMAHA_MC ist aber echt nicht so meins, sonst könnte man da ja klauen...

Habe zwar nicht intensiv gesucht, aber es ist wenig zu finden über das (absichtliche?) Abschalten der "alten" Methode. Vielleicht müßte mal jemand bei Yamaha nachfragen, ob das eigentlich Absicht ist. Kann auch sein, dass das ein bug ist, der sich über ein firmwareupdate lösen liese?
Btw.: Deine Firmware auf dem Receiver ist aktuell, oder?
Titel: Aw: [YAMAHA_AVR] - support Thread ab 2022
Beitrag von: mircoby am 20 September 2023, 23:07:33
Hallo Beta-User

auf folgenden Aufruf:
http://192.168.10.132:49154/MediaRenderer/desc.xml
Antwortet der Receiver wie folgt:
This XML file does not appear to have any style information associated with it. The document tree is shown below.
<root xmlns="urn:schemas-upnp-org:device-1-0" xmlns:yamaha="urn:schemas-yamaha-com:device-1-0">
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>
<device>
<dlna:X_DLNADOC xmlns:dlna="urn:schemas-dlna-org:device-1-0">DMR-1.50</dlna:X_DLNADOC>
<deviceType>urn:schemas-upnp-org:device:MediaRenderer:1</deviceType>
<friendlyName>Wohnzimmer</friendlyName>
<manufacturer>Yamaha Corporation</manufacturer>
<manufacturerURL>http://www.yamaha.com/</manufacturerURL>
<modelDescription>AV Receiver</modelDescription>
<modelName>RX-A2A</modelName>
<modelNumber>A2A</modelNumber>
<modelURL>http://www.yamaha.com/</modelURL>
<serialNumber>007A7A13</serialNumber>
<UDN>uuid:9ab0c000-f668-11de-9976-acb687d5321c</UDN>
<iconList>
<icon>
<mimetype>image/jpeg</mimetype>
<width>48</width>
<height>48</height>
<depth>24</depth>
<url>/Icons/48x48.jpg</url>
</icon>
<icon>
<mimetype>image/jpeg</mimetype>
<width>120</width>
<height>120</height>
<depth>24</depth>
<url>/Icons/120x120.jpg</url>
</icon>
<icon>
<mimetype>image/png</mimetype>
<width>48</width>
<height>48</height>
<depth>24</depth>
<url>/Icons/48x48.png</url>
</icon>
<icon>
<mimetype>image/png</mimetype>
<width>120</width>
<height>120</height>
<depth>24</depth>
<url>/Icons/120x120.png</url>
</icon>
</iconList>
<serviceList>
<service>
<serviceType>urn:schemas-upnp-org:service:AVTransport:1</serviceType>
<serviceId>urn:upnp-org:serviceId:AVTransport</serviceId>
<SCPDURL>/AVTransport/desc.xml</SCPDURL>
<controlURL>/AVTransport/ctrl</controlURL>
<eventSubURL>/AVTransport/event</eventSubURL>
</service>
<service>
<serviceType>urn:schemas-upnp-org:service:RenderingControl:1</serviceType>
<serviceId>urn:upnp-org:serviceId:RenderingControl</serviceId>
<SCPDURL>/RenderingControl/desc.xml</SCPDURL>
<controlURL>/RenderingControl/ctrl</controlURL>
<eventSubURL>/RenderingControl/event</eventSubURL>
</service>
<service>
<serviceType>urn:schemas-upnp-org:service:ConnectionManager:1</serviceType>
<serviceId>urn:upnp-org:serviceId:ConnectionManager</serviceId>
<SCPDURL>/ConnectionManager/desc.xml</SCPDURL>
<controlURL>/ConnectionManager/ctrl</controlURL>
<eventSubURL>/ConnectionManager/event</eventSubURL>
</service>
</serviceList>
<presentationURL>http://192.168.10.132/</presentationURL>
</device>
<yamaha:X_device>
<yamaha:X_URLBase>http://192.168.10.132:80/</yamaha:X_URLBase>
<yamaha:X_serviceList>
<yamaha:X_service>
<yamaha:X_specType>urn:schemas-yamaha-com:service:X_YamahaRemoteControl:1</yamaha:X_specType>
<yamaha:X_controlURL>/YamahaRemoteControl/ctrl</yamaha:X_controlURL>
</yamaha:X_service>
<yamaha:X_service>
<yamaha:X_specType>urn:schemas-yamaha-com:service:X_YamahaExtendedControl:1</yamaha:X_specType>
<yamaha:X_yxcControlURL>/YamahaExtendedControl/v1/</yamaha:X_yxcControlURL>
<yamaha:X_yxcVersion>1708 </yamaha:X_yxcVersion>
</yamaha:X_service>
</yamaha:X_serviceList>
</yamaha:X_device>
</root>

Die Firmware ist aktuell: v1.63
Titel: Aw: [YAMAHA_AVR] - support Thread ab 2022
Beitrag von: Beta-User am 21 September 2023, 17:02:34
Hmmm, nach der Angabe im xml ist auch keine desc.xml vorhanden. Das sieht "klassischerweise" auszugsweise so aus und enthält eine "X_unitDescURL:"-Info:
 <yamaha:X_device>
<yamaha:X_URLBase>http://192.168.7.99:80/</yamaha:X_URLBase>
<yamaha:X_serviceList>
<yamaha:X_service>
<yamaha:X_specType>
urn:schemas-yamaha-com:service:X_YamahaRemoteControl:1
</yamaha:X_specType>
<yamaha:X_controlURL>/YamahaRemoteControl/ctrl</yamaha:X_controlURL>
<yamaha:X_unitDescURL>/YamahaRemoteControl/desc.xml</yamaha:X_unitDescURL>
</yamaha:X_service>
<yamaha:X_service>
<yamaha:X_specType>
urn:schemas-yamaha-com:service:X_YamahaExtendedControl:1
</yamaha:X_specType>
<yamaha:X_yxcControlURL>/YamahaExtendedControl/v1/</yamaha:X_yxcControlURL>
<yamaha:X_yxcVersion>1923 </yamaha:X_yxcVersion>
</yamaha:X_service>
</yamaha:X_serviceList>
</yamaha:X_device>

Bedeutet:
Im Moment gehen mir die Ideen aus, wie man an die "korrekte" xml kommen könnte - abgesehen davon, dass der Hersteller das "repariert" und die alte Schnittstelle wieder voll funktionsfähig macht. Dazu müßte halt jemand auf Yamaha zugehen, feel free...

Alternative wäre, eine Art "dummy-xml" zu erstellen, die für diese Modelle default angezogen wird und ggf. auch vom User angepaßt werden könnte. Ich schau's mir mal an, ob "meine" desc.xml (von einem RX-V673) da als Basis dienen könnte. Wird aber dauern und ist nur die zweitbeste Lösung.