Modul für Denon (Marantz) AV Receiver

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

Vorheriges Thema - Nächstes Thema

Lichti

Zitat von: delMar am 19 Oktober 2020, 17:35:23
Das sollte in den Readings stehen, welche mit 'level' beginnen.
Als levelCenter, etc.
Seltsam, habe gerade nochmal probiert, und jetzt sind tatsächlich die Level da.
Gestern wae kein Reading mit Level zu sehen.
Wenn's so bleibt, ist alles gut.

heppel

Zitat von: MadMax-FHEM am 19 Oktober 2020, 19:22:46
Stimmt auch wieder...  8)
(aber fraglich, ob jemand der mit "permssion denied" und chown usw. nichts anfangen kann "sowas" nutzt ;)  )

Gruß, Joachim

"sowas" kann man oft im Web finden. Und dann "guttenbergen".

Ist aber ohnehin alles nur Spekulation.

// Heppel

timmib

#572
Hallo,

bei mir legt der bei get DenBuero zone 2 keine weitere Zone an, wenn ich schon eine von einem anderen Gerät habe.

Ich habe auch bei der ersten Zone 2 beobachtet, dass das IODev das Falsche war.

Es gibt somit nur eine Zone 2, egal wieviele Geräte man hat, da das IODev nicht richtig aufgelöst wird.

Wenn ich eine weitere Zone manuell anlegen möchte kommt entsprechend die Fehlermeldung.

if ( defined($modules{DENON_AVR_ZONE}{defptr}{$IOname}{$zone}) )
{
return "Zone already defined in " . $modules{DENON_AVR_ZONE}{defptr}{$IOname}{$zone}{NAME};
}



Viele Grüße

Tim

timmib

#573
Ich habe das Problem gefunden.

AssignIoPort($hash, $proposedName);

.. wurde ohne zweiten Parameter aufgerufen.

Hier ein Patch.



delMar

Zitat von: timmib am 26 Oktober 2020, 09:07:09
Hier ein Patch.

Patch ist eingepflegt und eingecheckt. Sollte mit morgen übers Update verfügbar sein

Danke für deine Mithilfe!
Maintainer von: ZoneMinder, TA_CMI_JSON, ONKYO_AVR, DENON_AVR, CanOverEthernet, IPCAM.

Vielgenutzte Module sind die größte Motivation für Entwickler.
Bitte zumindest 'attr global sendStatistics onUpdate' setzen.
Denn: ohne 'sendStatistics' keine Zahlen.

timmib

Man muss halt die existierenden Zonen neu anlegen oder anpassen, weil sich ja das define geändert hat.

wiedemer

Hi,

und erstmal vielen Dank für deine Arbeit!
Genial!

Ich habe mir aufgrund dieses Threads nach Ausfall meines Onkyo nun den Denon AVR-X1600 gekauft.
Mit der Steuerung der Zone1 (via FHEM und Loxone) komme ich super zurecht.
ABER:
Mit der Zone 2 habe ich meine Probleme.
Wir aktiviere ich denn das Notify für Zone 2?

Mit:
attr WZ2.Denon_Zone_2 event-on-change-reading state,input,volume,mute
erhalte ich die Meldung: "Please define WZ2.Denon_Zone_2 first".

und mit:
define WZ2.Denon_Zone_2 DENON_AVR_ZONE 2 DENON_AVR
bekomme ich die Meldung: "Zone already defined in WZ.Denon_Zone_2"

Ich habe irgendwie den Eindruck, dass ich schon seit 2 Tagen ziemlich heftig auf dem Schlauch stehe....

Kann mir jemand helfen den Knoten zu lösen?

Danke

Ralf

delMar

Das ist jetzt nur eine ganz grobe Vermutung... kanns sein, dass der Punkt im Namen ein Problem ist?
Laut hier https://wiki.fhem.de/wiki/Ger%C3%A4tename wär der nämlich nicht erlaubt.
Und dann kanns sein, dass seltsames Verhalten auftritt, und manche Dinge funktionieren, andere nicht.

schöne Grüße
Martin
Maintainer von: ZoneMinder, TA_CMI_JSON, ONKYO_AVR, DENON_AVR, CanOverEthernet, IPCAM.

Vielgenutzte Module sind die größte Motivation für Entwickler.
Bitte zumindest 'attr global sendStatistics onUpdate' setzen.
Denn: ohne 'sendStatistics' keine Zahlen.

wiedemer

Hi Martin,

Danke für die Info. Das wusste ich bis dato nicht.
Ich habe es aber inzwischen hinbekommen. Die Punkte machen keine Probleme.
(Die habe ich auch bei den anderen beiden Receivern (Onkyo und Yamaha) sowie bei ein paar anderen eingesetzten Modulen in meiner Namenskonvention seit vielen Jahren ohne Probleme im Einsatz...)

An was ich jetzt hänge ist an folgendem:
Das Reading liest alle Daten erfolgreich innerhalb von fhem.

Probleme habe ich allerdings mit dem weitergegebenen Reading "Input" in der Loxone.
Dieses greife ich in der Loxone über einen virtuellen UDP-Eingang mit folgender Befehlserkennung ab:
WZ.Denon: \# \# \# \w \v

Solange die Zone alles andere als "CBL/SAT" ist, ist mit obiger Erkennung alles i.O.
Habe ich aber den TV (und somit auch den Denon) an (wobei das Ganze auf CBL/SAT angeschlossen ist), dann sehe ich in fhem:
SAT/CBL (also nicht das Original, sondern irgendwo (vermutlich im .pl) umgesetzt von CBL/SAT auf SAT/CBL.
Hier ist aber "/" ein Trennzeichen und kann mit der Befehlserkennung unmöglich ausgelesen werden.

Gibt es eine Möglichkeit im Plugin aus SAT/CBL ein SAT-CBL oder CBL-SAT zu machen?
Das wäre klasse, dann würde es auch bei mir funktionieren :-)

Gruß + Danke

Ralf

olwaldi

Da ich immer wieder Probleme bei der Kommunikation von fakeroku/denon_avr via TCP/IP habe (ungewollte Mehrfachevents), habe ich versuchsweise mal auf die serielle Kommunikation via RS232 gewechselt. Dazu nutze ich einen USB/RS232 Dongle mit seriellem Kabel zum Denon AVR 3808 (ja, ein sehr altes Modell).

Das funktioniert nur mit der Option @9600 (kein default?)

define Denon DENON_AVR /dev/ttyUSB0@9600

aber leider nicht sehr stabil. Z. B. funktiniert die Mute-Funktion nur bei jedem 2.Versuch. Ständig gibts Verbindungsabbrüche.

2020.12.13 12:42:22 3: Opening Denon device /dev/ttyUSB0
2020.12.13 12:42:22 3: Setting Denon serial parameters to 9600,8,N,1
2020.12.13 12:42:22 3: Denon device opened
2020.12.13 12:45:31 2: Denon: first attempt to read timed out, trying to close and open the device.


Ist diese Art der Kommunikation überhaupt noch "offiziell" unterstützt?

Außerdem sehe ich m. E. für serieller Komunikation unsinnige Werte in meinem Denon Device:

DeviceName     /dev/ttyUSB0@9600:23
IP                       /dev/ttyUSB0@9600

Hat jemand hier eine Idee?


delMar

Hallo

Zitat von: olwaldi am 13 Dezember 2020, 12:52:38
Ist diese Art der Kommunikation überhaupt noch "offiziell" unterstützt?
grundsätzlich ja, allerdings ist es natürlich schwierig, die "Qualität" sicherzustellen, wenn man selber kein Gerät zum Testen hat.
Ich hab zb keins  mit serieller Schnittstelle :-\

Zitat von: olwaldi am 13 Dezember 2020, 12:52:38
Außerdem sehe ich m. E. für serieller Komunikation unsinnige Werte in meinem Denon Device:

DeviceName     /dev/ttyUSB0@9600:23
IP                       /dev/ttyUSB0@9600

Hat jemand hier eine Idee?
Ja, das mit Port 23 am Ende ist Müll.
Ich bin zwar nicht der ursprüngliche Autor vom Original, aber ich werd mal in den Code reinschauen und versuchen, etwas herauszufinden

schöne Grüße
Martin
Maintainer von: ZoneMinder, TA_CMI_JSON, ONKYO_AVR, DENON_AVR, CanOverEthernet, IPCAM.

Vielgenutzte Module sind die größte Motivation für Entwickler.
Bitte zumindest 'attr global sendStatistics onUpdate' setzen.
Denn: ohne 'sendStatistics' keine Zahlen.

olwaldi

#581
Danke für's Nachgucken.

Ich habe selber auch noch etwas mit der seriellen Verbindung mit minicom unter Linux experimentiert. Events bekomme ich problemlos immer vom Denon gemeldet (z.B. wenn man direkt am AVR die Lautstärke ändert). Aber mir gelang es lange Zeit nicht, übehaupt irgendein Kommando abzusetzen - nur manchmal hat ein MUON (zum Muten) funktioniert, ein nachfolgendes MUOFF aber schon nicht mehr. Irgendwo bei Denon habe ich dann gelesen, daß man das (undokumentierte?) Kommando STANDBYOFF senden muß - eigentlich nur 1x. Bei mir funktionieren Kommandos nur dann zuverlässig, wenn ich IMMER zuerst ein STANDBYOFF sende gefolgt von dem eigentlichen Kommando, z.B.

STANDBYOFF <return>
MVDOWN <return>

Sendet DENON_AVR "regelmäßig" diese STANDBYOFF? Implementierungdsidee: Wenn "connection lost" von DENON_AVR entdeckt wird, erstmal ein STANDBYOFF senden und gewünschtes Kommando nochmal schicken.

Manchmal funktionieren auch mehrere Komandos nacheinander ohne zwischengeschaltetes STANDBYOFF. [BTW, die Kommandos MÜSSEN in GROSSBUCHSTABEN gesendet werden.]

Ich vermute mal, daß irgendwas die RS232-Kommunikation stört, und das STANDBYOFF reaktiviert diese im Denon wieder.

Ich glaube, daß das STANDBYOFF dann erforderlich ist/wird, wenn es auf ein Kommando irgendwieso keine Response gibt. Z.B. wenn ich das Kommando MUON sende, antwortet der AVR mit MUON. Sollte das nicht passieren, hat die Kommunikation nicht geklappt und muß nach einem STANDBYOFF nochmal versucht werden.

delMar

Hallo,
danke für deine Recherchen.

Ich hab jetzt mal einen Fix committed, der das :23 am Ende und das Internal IP nicht mehr machen sollte.
Vielleicht hilft das ja schon.

Das Update sollte morgen über FHEM kommen, probiers bitte mal aus und gib dann Bescheid

Danke!
LG
Martin
Maintainer von: ZoneMinder, TA_CMI_JSON, ONKYO_AVR, DENON_AVR, CanOverEthernet, IPCAM.

Vielgenutzte Module sind die größte Motivation für Entwickler.
Bitte zumindest 'attr global sendStatistics onUpdate' setzen.
Denn: ohne 'sendStatistics' keine Zahlen.

olwaldi

Hab' wohl zu früh geguckt - aber es gibt noch kein update von DENON_AVR.

Ich habe aber noch weiter mit RS232 experimentiert. Heute funktionierte mein Trick mit STANDBYOFF zunächst nicht. Erst nach Wechsel des HDMI-Inputs auf ein aktives Gerät funktionierts wieder.

Für die timeouts in DENON_AVR gestern habe ich wohl eine Erklärung: Im Denon 3808 ist das Netzwerk im Standby (von mir absichtlich - zuviel Stromverbrauch) deaktivierrt. Und anders als von mir gehofft ist dann wohl auch die RS232-Schnittstelle tot. Außerdem funktionieren alle PW-Kommandos via RS232 nie. D.h. irgendwie funktioniert die RS232-Schnittstelle schon ohne FHEM nicht so richtig. Oder ich weiß' noch nicht, was ich falsch mache:-) Vielleicht ist ja auch mein RS232/USB-Dongle nicht 100%ig kompatibel? Bei einem anderen Gerät mit serieller Schnittstelle hat der Dongle NICHT funktioniert. - ich mußte eine "echte" RS232-Schnittstelle nutzen (PC steht leider ganz woanders, nicht beim Denon). Aber der direkte Test des Dongles mit loopback war 100%ig erfolgreich.

Zusammengefaßt: Ich werde dann wohl doch bei TCP/IP als Kommunikation zwischen FHEM und Denon bleiben. Trotzdem werde ich natürlich Deine Änderungen nochmal checken, wenn verfügbar.

olwaldi

Gerade eben ist das update von DENON_AVR angekommen. Hab's engespielt, und funktioniert. Selbst Aus/Einschalten klappt via FHEM.

Ich habe aber auch noch einen potentiellen Konfigurationsfehler unter Linux korrigiert. Aktuell war nur der User pi in der Gruppe dialout. Jetzt ist auch der User fhem in dieser Gruppe. Nur Mitglieder von dialout dürfen auf /dev/ttyUSB0 direkt zugreifen.

Alles, was ich tun will funktioniert jetzt. Super! Hoffentlich funktioniert das auch "nachhaltig". Gestern hat's zu Anfang auch erstmal funktioniert.

Es gibt aber noch zwei kleinere Probleme:

1. Fehlermeldung im FHEM log

FHEMWEB WEB CSRF error: csrf_260611961506567 ne csrf_481220550348102 for client WEB_192.168.178.35_52534 / command set Denon muteT. For details see the csrfToken FHEMWEB attribute.

Hat wohl damit zu tun, daß bei mir das Mute-Icon irgendwieso nicht richtig gesetzt wird. Ähnlich ergeht es mir auch mit dem grün/roten Button beim device Denon. Ist aber m.E. nur ein "Schönheitsfehler". BTW, die IP-Adresse in der Meldung ist die, auf dem das FHEM-Web angezeigt wird.

2. In der GUI funktioniert zwar das set volume, nicht aber set volumeStraight. Letzteres stellt direkt viel zu große Werte wie +5db ein. Vermutlich ist hier in DENON_AVR eine falsche Umrechnung drin (oder das ist bei neueren Denons anders). Sollte gefixt werden, da ansonsten Gefahr für die Lautsprecher besteht.


Ach ja, nach meinen Änderungen hat bluetooth auf dem Raspi nicht mehr funktioniert. Vielleicht wegen zuviel "Testkabeln" mit RS232-Signalen? Aber ein reboot hat das dann gelöst.

Ich beobachte das Ganze mal weiter, sieht sehr vielversprechend aus. In jedem Fall aber ein dickes Dankeschön für den Fix.


Gruß, Michael