Modul für Denon (Marantz) AV Receiver

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

Vorheriges Thema - Nächstes Thema

ToKa

Klingt gut!

Wird es dann für alle 3 auch get und für sound_out sowie surroundMode Set als Befehle geben?
RaspberryPi3 mit RaZberry2 und Conbee II
Fibaro: FGWPE/F-101 Switch & FIBARO System FGWPE/F Wall Plug Gen5, FGSD002 Smoke Sensor
EUROtronic: SPIRIT Wall Radiator Thermostat Valve Control
Shelly2.5 Rollladenaktoren
Zipato Bulb 2, Osram und InnrLight

Shadow3561

Daran arbeite ich aktuell noch.
Kann aber etwas dauern.

delMar

Zitat von: Shadow3561 am 27 Februar 2020, 18:53:36
Ab dem nächsten Update, vorrausgesetzt Martin gibt es frei und checkt es ein, heissen die Surround Readings folgend:
Ist eingecheckt, kommt morgen mit dem Update mit :-)


Bezüglich blockiertem Telnet-Port:
mich hat immer gewundert, warum die Marantz-App trotzdem den AVR steuern kann, obwohl FHEM die Verbindung offen hat.
Mit Fiddler konnte ich nichts herausfinden, weil die App die Proxy-Einstellung in Android ignoriert hat.

Deshalb hab ich mir die Android-App mal auf den Laptop gezogen und mit einem Decompiler mal durch den Sourcecode geschaut.
Siehe da: bisher konnte ich keinen Hinweis auf eine Telnet Verbindung finden.

Meine Vermutung ist (und scheint sich im Sourcecode zu bestätigen), dass die Marantz-App sämtliche Steuerung über DLNA vornimmt.
Ich werde hier noch weiter recherchieren; vielleicht macht es Sinn, auch die FHEM-Integration dahingehen umzubauen. Vorausgesetzt, der Funktionsumfang ist gleich.

Es zeigt sich auch immer deutlicher, dass die Protokoll-Unterschiede mit der Zeit zwischen den AVRs immer größer werden.
Das selbe Problem hab ich eigentlich auch beim Onkyo Modul, das ich auch betreue.
Von dort habe ich aber eine Inspiration von diesen Kollegen hier: https://github.com/miracle2k/onkyo-eiscp
Die extrahieren die verfügbaren Befehle pro Modell aus den offiziellen XLS Doku Files.
Ähnliches sollte auch mit den Denon/Marantz xls files möglich sein (falls das nicht auch schon jemand gemacht hat).

Falls ich dann noch das Modell eines Receivers zielsicher bestimmen kann, könnte man pro Modell den verfügbaren Satz an Befehlen und Readings sauber hinterlegen.

Sehr ambitioniert, doch Wert, mal genauer unter die Lupe genommen zu werden.

Ich habe bisher viele Dokus als PDF, als XML bisher nur das Marantz_FY17_AV_SR_NR_PROTOCOL_V06_20200212080534123.xls
Falls jemand von euch weitere hat, bitte gern hier direkt ins Forum stellen, oder per PM einfach meine Email nachfragen.

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.

heppel

In meinem Link-Archiv habe ich das hier gefunden:

https://www.denon.de/de/product/homecinema/avreceiver/avrx1300w?docname=AVR-X1300W_X2300W_X3300W_PROTOCOL_V01.xlsx

Vielleicht ist das ja irgendwie auf andere Modelle übertragbar. Ich erinnere mich leider nicht mehr, wo ich den Link her habe.

tomcat.x

Zitat von: Shadow3561 am 27 Februar 2020, 18:53:36
sound_out - Auro-3D (Die Ausgabe an die LS)

sound_signal_in - Dolby Audio DD (Eingangssignal vom Zuspieler, z.B. Blueray, Sat, usw.)

surroundMode - Movie (Ausgewähler Surround-Mode, Movie, Music, Game oder Pure-Direct)


Prima, aus meiner Sicht ist das so wirklich verständlicher.

Mir ist aufgefallen, dass ich zuerst kein Reading sound_signal_in hatte, vermutlich weil ich auf einer internen Quelle (Internet Radio) war und da dann das Reading wohl gar nicht gesetzt wird. Nach dem Umschalten auf eine externe Quelle kam dann ein Reading. Wenn ich danach aber auf die interne Quelle zurückschalte, erfolgt wieder kein Setzen des Readings, wodurch es auf dem alten, dann falschen Wert stehen bleibt.

Da ich das Reading nichts nutze, stört mich das nicht. Vielleicht mal generell: Aktuelle setze ich über fhem nur die Lautstärke, abhängig von dem über die Fernbedienung gewählten Quelle und weiteren Zuständen (andere Geräte). Daher bin ich mit dem Modul schon komplett zufrieden :-) Ich bin nur aufgrund einiger Hash-Readings (Namen, nicht Werte) und den daraus resultierenden Fehler beim Neustart von fhem auf das Thema hier gestoßen.
FHEM: 6.1 auf Raspi 3, Raspbian (Buster), Perl v5.28.1
Sender/Empfänger: 2 x CULv3, Duofern Stick, HM-MOD-RPI-PCB
Gateways: FRITZ!Box 6591 (OS: 7.57), Trädfri, ConBee 2,  piVCCU, OpenMQTTGateway
Sensoren/Aktoren: FRITZ!DECT, FS20, FHT, HMS, HomeMatic, Trädfri, DuoFern, NetAtmo

delMar

Zitat von: tomcat.x am 28 Februar 2020, 10:54:01
Wenn ich danach aber auf die interne Quelle zurückschalte, erfolgt wieder kein Setzen des Readings, wodurch es auf dem alten, dann falschen Wert stehen bleibt.
Danke für den Hinweis, ich werde versuchen, das bei nächster Gelegenheit mal zu überprüfen.
Sollte der Receiver das Update-Event wirklich nicht schicken, dann wird sich nichts machen lassen.
Vielleicht wird aber auch im Modul etwas nicht richtig ausgewertet...

Zitat von: tomcat.x am 28 Februar 2020, 10:54:01
Ich bin nur aufgrund einiger Hash-Readings (Namen, nicht Werte) und den daraus resultierenden Fehler beim Neustart von fhem auf das Thema hier gestoßen.
Ja, hier hatte ich eigentlich die Idee, statt Hash-Readings einen Eintrag im Logfile zu schreiben, den dann jeder hier im Forum posten kann, damit wir das dann nachziehen...
Ich hab noch nicht die Zeit dafür gefunden...

Danke für dein Feedback!
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.

Shadow3561

Zitat von: tomcat.x am 28 Februar 2020, 10:54:01
Mir ist aufgefallen, dass ich zuerst kein Reading sound_signal_in hatte, vermutlich weil ich auf einer internen Quelle (Internet Radio) war und da dann das Reading wohl gar nicht gesetzt wird. Nach dem Umschalten auf eine externe Quelle kam dann ein Reading. Wenn ich danach aber auf die interne Quelle zurückschalte, erfolgt wieder kein Setzen des Readings, wodurch es auf dem alten, dann falschen Wert stehen bleibt.

Moin,

habe das gerade überprüft.
Der AVR gibt kein Reading für das Input-Signal aus bei Netzwerkquellen oder USB.
Das ergibt für mich auch Sinn, da er ja kein Signal von einem Zuspielgerät bekommt.

Wenn ich von Net/Heos/USB zurück auf meinen dig.STB schalte wird das Reading bei mir aktualisiert.
Habe also keine Ahnung warum es bei dir nicht klappt.

Von dir kommentierte Telnet-Ausgaben würden bei der Suche helfen.

MfG

dk3572

Hallo,

beim fhem Start bekomme ich folgende Warnungen:

2020.02.28 15:02:19.294 1: PERL WARNING: Use of uninitialized value $d in hash element at fhem.pl line 4536.
2020.02.28 15:02:19.294 1: stacktrace:
2020.02.28 15:02:19.294 1:     main::__ANON__                      called by fhem.pl (4536)
2020.02.28 15:02:19.294 1:     main::AttrVal                       called by ./FHEM/71_DENON_AVR_ZONE.pm (444)
2020.02.28 15:02:19.294 1:     main::DENON_AVR_ZONE_Parse          called by fhem.pl (3960)
2020.02.28 15:02:19.294 1:     main::Dispatch                      called by ./FHEM/70_DENON_AVR.pm (3158)
2020.02.28 15:02:19.294 1:     main::DENON_AVR_UpdateConfig        called by fhem.pl (3307)
2020.02.28 15:02:19.294 1:     main::HandleTimeout                 called by fhem.pl (679)


2020.02.28 15:01:14.193 1: PERL WARNING: Use of uninitialized value $d in hash element at fhem.pl line 4536.
2020.02.28 15:01:14.193 1: stacktrace:
2020.02.28 15:01:14.193 1:     main::__ANON__                      called by fhem.pl (4536)
2020.02.28 15:01:14.193 1:     main::AttrVal                       called by ./FHEM/71_DENON_AVR_ZONE.pm (444)
2020.02.28 15:01:14.193 1:     main::DENON_AVR_ZONE_Parse          called by fhem.pl (3960)
2020.02.28 15:01:14.193 1:     main::Dispatch                      called by ./FHEM/70_DENON_AVR.pm (1282)
2020.02.28 15:01:14.193 1:     main::DENON_AVR_Notify              called by fhem.pl (3764)
2020.02.28 15:01:14.193 1:     main::CallFn                        called by fhem.pl (3684)
2020.02.28 15:01:14.193 1:     main::DoTrigger                     called by FHEM/DevIo.pm (359)
2020.02.28 15:01:14.193 1:     main::__ANON__                      called by FHEM/DevIo.pm (381)
2020.02.28 15:01:14.193 1:     main::__ANON__                      called by FHEM/HttpUtils.pm (439)
2020.02.28 15:01:14.193 1:     main::__ANON__                      called by fhem.pl (763)


2020.02.28 15:01:14.194 1: AVReceiver: Can't connect to 192.xxx.xxx.xx:23: 192.xxx.xxx.xx: Connection reset by peer (104)

2020.02.28 15:01:19.501 0: DENON_AVR (AVReceiver) - Error while requesting http://192.xxx.xxx.xx:23/goform/Deviceinfo.xml - read from http://192.xxx.xxx.xx:23 timed out
2020.02.28 15:02:14.240 1: 192.xxx.xxx.xx:23 reappeared (AVReceiver)


Liegt das evtl. nur daran das er beim Start noch nicht erreichbar ist?
Und wenn ja, kann man das verhindern?
Danach ist nämlich alles gut.

Danke und VG Dieter

Shadow3561

Ich denke das liegt an dem Teil für die Statistik was Martin eingefügt hat.

Ist bei dir die

http://ipvomavr/goform/Deviceinfo.xml

im Browser aufrufbar oder bekommst du eine Fehlermeldung?

dk3572

Zitat von: Shadow3561 am 28 Februar 2020, 17:41:07
Ich denke das liegt an dem Teil für die Statistik was Martin eingefügt hat.

Ist bei dir die

http://ipvomavr/goform/Deviceinfo.xml

im Browser aufrufbar oder bekommst du eine Fehlermeldung?

Danke für deine Antwort.
Ja, ist ohne Fehlermeldung aufrufbar.

Shadow3561

Dann liegt es wohl daran, das er beim Start von fhem noch nicht erreichbar ist. Ich hoffe Martin kümmert sich darum.
Wie genau hast du den AVR definiert in fhem?
Hast du es mal ohne Portangabe versucht?

ToKa

Hallo zusammen,

nach dem Update und nach Löschen der alten Readings sind die neuen Readings und Internals da.

Internals:
   CHANGED   
   Clients    :DENON_AVR_ZONE:
   DEF        192.168.6.30
   DeviceName 192.168.6.30:23
   FD         63
   FUUID      5c42dbd3-f33f-2e5f-8f29-b93e051d24a6fba4
   FVERSION   70_DENON_AVR.pm:0.212950/2020-02-27
   IP         192.168.6.30
   NAME       E3_hk_AV_X6200W
   NR         177
   NTFY_ORDER 50-E3_hk_AV_X6200W
   PARTIAL   
   STATE      on
   TIMEOUT    2
   TYPE       DENON_AVR
   model      Denon *AVR-X6200W
   Helper:
     DBLOG:
       power:
         logdb:
           TIME       1582913294.67995
           VALUE      on
       presence:
         logdb:
           TIME       1582913294.64766
           VALUE      present
       state:
         logdb:
           TIME       1582913294.67995
           VALUE      on
       stateAV:
         logdb:
           TIME       1582913229.91318
           VALUE      absent
   OLDREADINGS:
   READINGS:
     2020-02-28 19:08:15   Muting-Level    mute
     2020-02-28 19:05:22   Network-Name    Denon AVR-X6200W
     2020-02-28 19:08:15   Volume-Display  absolute
     2020-02-28 19:08:16   Volume-Startup  last
     2020-02-28 19:08:15   allZoneStereo   off
     2020-02-28 19:08:16   aspectRatio     16:9
     2020-02-28 19:08:16   audysseyLFC     off
     2020-02-28 19:08:15   autoStandby     15min
     2020-02-28 19:08:16   bass            0
     2020-02-28 19:08:16   cinemaEQ        off
     2020-02-28 19:08:14   currentAlbum    -
     2020-02-28 19:08:14   currentArtist   -
     2020-02-28 19:08:14   currentBitrate  -
     2020-02-28 19:04:59   currentCover    http://192.168.6.30/img/album%20art_S.png?1582913099000
     2020-02-28 19:08:14   currentMedia    -
     2020-02-28 19:08:14   currentPlaytime -
     2020-02-28 19:08:14   currentStation  -
     2020-02-28 19:08:14   currentStream   -
     2020-02-28 19:08:14   currentTitle    -
     2020-02-28 19:08:16   digitalInput    auto
     2020-02-28 19:08:15   display         dim
     2020-02-28 19:08:16   dynamicCompression off
     2020-02-28 19:08:16   dynamicEQ       on
     2020-02-28 19:08:16   dynamicVolume   off
     2020-02-28 19:08:15   eco             off
     2020-02-28 19:05:29   httpError       read from http://192.168.6.30:80 timed out
     2020-02-28 19:05:29   httpState       ERROR
     2020-02-28 19:08:14   input           Sat/Cbl
     2020-02-28 19:08:16   inputSound      hdmi
     2020-02-28 19:05:23   lock            off
     2020-02-28 19:08:16   loudness        on
     2020-02-28 19:08:16   lowFrequencyEffects 0
     2020-02-28 19:08:16   multEQ          reference
     2020-02-28 19:08:14   mute            off
     2020-02-28 19:08:14   playStatus      stopped
     2020-02-28 19:08:14   power           on
     2020-02-28 19:08:14   presence        present
     2020-02-28 19:08:16   resolution      auto
     2020-02-28 19:08:16   resolutionHDMI  1080p:24Hz
     2020-02-28 19:06:00   samplingRate    48 khz
     2020-02-28 19:08:15   setup           off
     2020-02-28 19:08:15   sleep           off
     2020-02-28 19:08:16   sound_out       HASH(0x8058990)
     2020-02-28 19:06:00   sound_signal_in Dolby Audio DD
     2020-02-28 19:08:14   state           on
     2020-02-28 19:08:15   stateAV         on
     2020-02-28 19:05:58   surroundMode    Music
     2020-02-28 19:08:16   toneControl     off
     2020-02-28 19:08:16   treble          0
     2020-02-28 19:08:16   trigger1        on
     2020-02-28 19:08:16   trigger2        on
     2020-02-28 19:08:16   tunerBand       FM
     2020-02-28 19:08:16   tunerFrequency  108 MHz
     2020-02-28 19:08:16   tunerMode       auto
     2020-02-28 19:08:16   tunerPreset     4
     2020-02-28 19:08:16   videoProcessingMode auto
     2020-02-28 19:08:15   videoSelect     off
     2020-02-28 19:08:14   volume          63
     2020-02-28 19:08:14   volumeMax        955
     2020-02-28 19:08:14   volumeStraight  -17
     2020-02-28 19:08:15   zone2           off
     2020-02-28 19:08:15   zone3           off
     2020-02-28 19:05:19   zoneMain        on
   helper:
     INPUT      SAT/CBL
     PARTIAL   
     deviceIP   192.168.6.30
     isPause    0
     isPlaying  0
     nextConnectionCheck 1582913596.92322
     playTimeCheck 0
     volume     63
Attributes:
   DbLogInclude state,stateAV,power,presence
   alias      Denon X6200W
   brand      Denon
   cmdIcon    muteT:rc_MUTE
   connectionCheck 300
   devStateIcon on:general_an@green:main_off main_off:rc_YELLOW:main_on off:general_aus@red:main_on absent:rc_RED:main_on muted:rc_MUTE@green:muteT playing:rc_PLAY@green:pause paused:rc_PAUSE@green:play disconnected:rc_RED
   disable    0
   event-on-change-reading .*
   group      AV
   icon       Av Receiver-595b40b65ba036ed117d17d0
   inputs     Blu-Ray,Bluetooth,Sat/Cbl,Mediaplayer,OnlineMusic,Tuner
   room       Heimkino
   sortby     1
   stateFormat stateAV
   timeout    2
   type       AVR
   webCmd     volume:muteT:input:surroundMode


Sound_out leider nur als Hashwert (siehe list oben). Beim Set SurroundMode habe ich immer noch eine bunte Mischung aus "sound" und "surroundMode".

Habe noch eine XLSS Doku File gefunden...

Beste Grüße
Torsten
RaspberryPi3 mit RaZberry2 und Conbee II
Fibaro: FGWPE/F-101 Switch & FIBARO System FGWPE/F Wall Plug Gen5, FGSD002 Smoke Sensor
EUROtronic: SPIRIT Wall Radiator Thermostat Valve Control
Shelly2.5 Rollladenaktoren
Zipato Bulb 2, Osram und InnrLight

Shadow3561

ZitatSound_out leider nur als Hashwert (siehe list oben).

Habe heute noch ein paar eingefügt.

ZitatBeim Set SurroundMode habe ich immer noch eine bunte Mischung aus "sound" und "surroundMod

Das lässt sich Doku bedingt leider nicht ändern da das MS Kommando für die Sound-readings und den surroundMode zuständig ist.

Man kann höchstens die 4 Movie,Game usw rauslöschen, somit wären sie in der Auswahl nicht verfügbar.

Mit freundlichen Grüßen


dk3572

Zitat von: Shadow3561 am 28 Februar 2020, 19:06:24
Dann liegt es wohl daran, das er beim Start von fhem noch nicht erreichbar ist. Ich hoffe Martin kümmert sich darum.
Wie genau hast du den AVR definiert in fhem?
Hast du es mal ohne Portangabe versucht?

Habe ihn jetzt mal ohne Portangabe definiert.
Jetzt beim Neustart nur noch eine Perl Warnung und diese Meldung:

2020.02.28 19:18:26.588 0: DENON_AVR (AVReceiver) - Error while requesting http://192.xxx.xxx.xx/goform/Deviceinfo.xml - http://192.xxx.xxx.xx/goform/Deviceinfo.xml: empty answer received

ToKa

Zitat von: Shadow3561 am 28 Februar 2020, 19:22:35
Habe heute noch ein paar eingefügt.


Das lässt sich Doku bedingt leider nicht ändern da das MS Kommando für die Sound-readings und den surroundMode zuständig ist.

Man kann höchstens die 4 Movie,Game usw rauslöschen, somit wären sie in der Auswahl nicht verfügbar.

Mit freundlichen Grüßen

Macht denn ein set surroundMode Movie, Game oder Music überhaupt Sinn? Die sind doch immer mit einem surroundMode zu kombinieren. Lediglich Pure-Direct hat ja keine "Unterpunkte".
RaspberryPi3 mit RaZberry2 und Conbee II
Fibaro: FGWPE/F-101 Switch & FIBARO System FGWPE/F Wall Plug Gen5, FGSD002 Smoke Sensor
EUROtronic: SPIRIT Wall Radiator Thermostat Valve Control
Shelly2.5 Rollladenaktoren
Zipato Bulb 2, Osram und InnrLight