Modul für Denon (Marantz) AV Receiver

Begonnen von raman, 03 Oktober 2016, 18:08:58

Vorheriges Thema - Nächstes Thema

vneise

Zitat von: Bartimaus am 20 Januar 2026, 12:29:13Danke für das Update.

Funktioniert denn mittlerweile auch der DAB-Tuner incl. auslesen aller DAB-Infos ?

Mein X1500H hat noch kein DAB. Im Code der hier kursierendem Modul-Datei habe ich Anpassungen zu DAB gesehen.

vg

olwaldi

Ich hab' jetzt mein ursprüngliches Problem mit DENON_AVR_RequestDeviceinfo lösen können - Dank eurer Hilfe:

Wie auch schon von mir vermutet, ist je nach Kontext das Attribut deviceInfoPort nicht verfügbar. Shadow3561 hilft mir hier zweifach - einmal muß ich den Aufruf in die Routine DENON_AVR_DoInit verschieben, zum anderen muß natürlich $name in AttrVal benutzt werden.

Aber das war noch nicht Alles. Irgendwieso scheitert bei mir XMLin, da die XML-Elemente um einen Level versetzt sind. D.h. ich muß wie folgt zugreifen:
my $brandCode = $ref->{Device_Info}->{BrandCode};
$hash->{model} = $codes->{$brandCode} . ' ' . $ref->{Device_Info}->{ModelName};
Ursache dafür ist wohl, daß XMLin version & encoding der XML-Deklaration in die oberste XML-Ebene packt, auf gleichem Level wie Device_Info. Damit ist klar, daß ich das berücksichtigen muß.

Ich habe meine eigene Nutzung von DENON_AVR so abgeändert, daß ich anstelle von state jetzt stateAV nutze, so daß ich die Benutzung von state und STATE größtenteils aus 70_DENON_AVR.pm entfernen konnte. Ich habe allerdings die Stellen belassen, wo das Modul den state auf disconnected setzt (was DevIo.pm ja auch täte).

Beim Testen ist mir noch aufgefallen, daß DENON_AVR_Command_SetPower beim toggle immer alle Zonen mit einschaltet. Das habe ich gefixt, indem ich statt PWON/OFF jetzt das "gemeinte" ZMON/OFF verwende.

Und wenn ich schon bei toggle bin, habe ich das token SWITCH in SWAP umbenannt, damit der Code verständlicher wird.

Letzlich habe ich noch die Dokumentation am Dateiende angepaßt um die jetzt auftretenden state-Fälle.

Das Ganze habe ich passend auch in 71_DENON_AVR_ZONE geändert.

Ich würde mich freuen, wenn euch diese Änderungen gefallen. Bitte testen. Ggf. könnte dann die Release-Version im fhem SVN aktualisiert werden, damit wir wieder eine einheitlich nutzbare Version dieser 2 Module haben.

Jetzt sollte auch die RS232-Anbindung stabil tut (noch nicht getestet). Allerdings sollte noch die regexp in Zeile 1242 korrigiert werden, um Hostnamen zu erlauben.


Grüßle, Michael

olwaldi

Zitat von: vneise am 20 Januar 2026, 12:55:08
Zitat von: Bartimaus am 20 Januar 2026, 12:29:13Danke für das Update.

Funktioniert denn mittlerweile auch der DAB-Tuner incl. auslesen aller DAB-Infos ?
Ich habe in meiner gerade geposteten Version von 70_DENON_AVR.pm die DAB-Anteile drin, kann sie aber mangels DAB-Tunerr nicht testen.

Grüßle, Michael

Bartimaus

Danke, dann werde ich das heute Abend mal testen.
Bis dato hat die spezielle hier gepostete Version mit DAB tadellos funktioniert, und die offizielle Version war deshalb vom Update excludiert
LG
B.


FHEM@AMD-Ryzen7-5825U@Debian-LXC (ProxmoxHOST), CUL1101,FS20,IT,DS18B20,DS2413(Heizungslogger),DS2423(Stromlogger)Homematic,HM-LAN,ZWave,MiniCULs,Shelly

vneise

Zitat von: olwaldi am 20 Januar 2026, 12:56:10...
Ich habe meine eigene Nutzung von DENON_AVR so abgeändert, daß ich anstelle von state jetzt stateAV nutze, so daß ich die Benutzung von state und STATE größtenteils aus 70_DENON_AVR.pm entfernen konnte. Ich habe allerdings die Stellen belassen, wo das Modul den state auf disconnected setzt (was DevIo.pm ja auch täte).

Beim Testen ist mir noch aufgefallen, daß DENON_AVR_Command_SetPower beim toggle immer alle Zonen mit einschaltet. Das habe ich gefixt, indem ich statt PWON/OFF jetzt das "gemeinte" ZMON/OFF verwende.

Und wenn ich schon bei toggle bin, habe ich das token SWITCH in SWAP umbenannt, damit der Code verständlicher wird.
...

Danke für die Änderungen. Meine Erwartung wäre jedoch, dass beim toggle der ganze AV umschaltet, nicht nur die Zone Main.  Mein favorisierter Ansatz wäre, toggle wie gehabt zu belassen und zum Umschalten einer Zone diese anzugeben, z.B. set DenonAVR toogle zoneMain Ansonsten sollte bitte toggle umbenannt werden in toggleZoneMain

Noch eine redaktionelle Kleinigkeit: in der Doku heisst es:
>toggle   -   AV-Receiver an/aus

besser wäre:
>toggle   -   AV-Receiver an/standby


PS: eine Version im SVN fände ich überaus wünschenswert  :)

vg


olwaldi

#890
Was meinst Du mit "gesamter AVR"? Sollen wirklich beim Einschalten via toggle neben Main auch zone2 und zone3 ein/ausgeschaltet werden?

Wenn ja, kann ich das gern wieder zurückbauen. Ich selber nutze zone2 für den Kopfhörerverstärker und habe immer entweder zone2 oder zoneMain aktiv, aber nie beide zusammen.


Grüßle, Michael

Nachtrag: Es gibt ja auch für die Zonen jeweils ein toggle, daß die jeweilige Zone ein/ausschaltet. Insofern empfände ich es als "logischer", wenn das toggle der zoneMain sich gleich verhielte. Ist aber nur meine Meinung... Nutzen tue ich selber toggle nicht.

vneise

Mit "gesamter AVR" meine ich wirklich alle Zonen, da toggle dies suggeriert.  Ich selbst nutze nur die Zone Main und ein Parameter im toggle macht es eindeutiger.

vg

olwaldi

Wenn Du die Zonen sowieso nicht nutzt, würde ich doch meine Änderung von toggle bevorzugen. Ansonsten muß man ja auch toggle zum Ausschalten verwenden, um auch alle Zonen wieder auszuschalten.

Die Doku habe ich bei mir schonmal wie vorgeschlagen angepaßt. Bzgl. toggle warte ich aber noch die Meinung der anderen ab...

Habe schon oft Fragen im Netz gesehen, wo "verzweifelte" Anwender sich wundern, daß ihr Denon eingeschaltet bleibt, obwohl sie ihn vermeintlich ausgeschaltet haben. Liegt eben daran, daß irgendwie mal versehentlich eine Zone eingeschaltet worden ist und eben eingeschaltet bleibt, wenn man nur die zoneMain ausschaltet. Ganz ohne fhem...

NB: Bin gespannt, ob jemand Fehlermeldungen bzgl. brandCode oder model im Logfile sieht. Hier mußte ich beim XML-Parsen was ändern, was vielleicht nur meine Umgebung betrifft.

Shadow3561

ZitatMit "gesamter AVR" meine ich wirklich alle Zonen, da toggle dies suggeriert.  Ich selbst nutze nur die Zone Main und ein Parameter im toggle macht es eindeutiger.

Sorry, aber das ist doch Unfug. Bei mir sind die Zonen 2 und 3 nicht in Benutzung. Warum sollte man dann, nur weil es einer möchte, im Modul umbiegen. Warum baust du dir nicht einfach ein notify um die anderen Zonen zu schalten wenn die Zone Main an/aus geht??
Ich würde Wahnsinnig werden wenn sich ständig alles einschaltet was nicht benötigt wird.
Aber dies spiegelt nur meine Meinung wieder.

@olwaldi
Die DAB-Funktion habe ich seinerzeit eingebaut, allerdings habe ich kein DAB. Kann also gut sein, dass es nie richtig lief. Irgend jemand hat mich darum gebeten und bei ihm hat es mit meinen Änderungen funktioniert.

Ich für meinen Teil werde keine Arbeit mehr ins Modul stecken, da es bei mir anstandslos läuft. des Weiteren gibt es einfach zu viele Protokolle beim AVR, die je nach Baujahr geändert wurden, sie dieser XML Wahn der bei jeder neuen Baureihe über einen anderen Aufruf geparsed werden muss.
Vielleicht übernimmst du ja das Modul vom Autor?

Mit freundlichen Grüßen

Bartimaus

#894
Hi,

gerade mal das Update geladen. DAB-Infos werden leider nicht aktualisiert.
Was kann ich noch an Input liefern ?

LG

@Shadow3561
Deine DAB-Modifikationen funktionieren bei meinem Marantz tadellos....
LG
B.


FHEM@AMD-Ryzen7-5825U@Debian-LXC (ProxmoxHOST), CUL1101,FS20,IT,DS18B20,DS2413(Heizungslogger),DS2423(Stromlogger)Homematic,HM-LAN,ZWave,MiniCULs,Shelly

vneise

Zitat von: olwaldi am 20 Januar 2026, 15:36:11Wenn Du die Zonen sowieso nicht nutzt, würde ich doch meine Änderung von toggle bevorzugen. Ansonsten muß man ja auch toggle zum Ausschalten verwenden, um auch alle Zonen wieder auszuschalten.

Die Doku habe ich bei mir schonmal wie vorgeschlagen angepaßt. Bzgl. toggle warte ich aber noch die Meinung der anderen ab...

Habe schon oft Fragen im Netz gesehen, wo "verzweifelte" Anwender sich wundern, daß ihr Denon eingeschaltet bleibt, obwohl sie ihn vermeintlich ausgeschaltet haben. Liegt eben daran, daß irgendwie mal versehentlich eine Zone eingeschaltet worden ist und eben eingeschaltet bleibt, wenn man nur die zoneMain ausschaltet. Ganz ohne fhem...


Was Du schreibst, spricht ja eher dafür, über den toggle alles zu schalten und mit toggle <zone> nur eine Zone. Für mich und anscheinend andere, die sich hier beteiligen, funktioniert die aktuelle Implementierung. Nur es ist aus meiner Sicht eben ein "Fehler" für eine komfortable User-Journey. Um andere Zonen als die zoneMain zu schalten, gibt es in fhem dann nur Möglichkeit über ein rawCommand - nicht schön, jedoch machbar.

btw: in der Doku zu den Attributen fehlen noch Einträge für
- deviceInfoPort
- do_not_notify
- inputs

Das Attribut "disable" ist in der UI Dropdown-Liste für Attribute nicht mehr verfügbar.

VG