Modul für Denon (Marantz) AV Receiver

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

Vorheriges Thema - Nächstes Thema

olwaldi

Zitat von: Shadow3561 am 21 August 2025, 16:34:54Warum nicht etwas flexibler?

...
Danke für den Hinweis. Ich habe allerdings auch 88.2kHz gesehen, und das kann man so nicht von 192 unterscheiden. Vermutlich müßte man alle möglichen dreistelligen Werte in "gemeinte" Werte ummappen, etwa 4x 44.1 - gemeldet als 176 - gemeint 176.4

olwaldi

Bei meiner Analyse eines HDMI-Problems wegen recht langem Kabel ist mir aufgefallen, daß das Denon-Modul bei vielen set-Kommandos jeweils ZWEI gleiche Events generiert. Eigentlich nicht so tragisch und kann durch event-on-changed-readings problemlos abgefangen werden. Allerdings könnte es ja auch sein, daß derartige Kommandos tatsächlich 2x zum Denon geschickt werden, und das könnte z.B. mein HDMI-Problem erklären. Konkret gesehen habe ich's bei monitorOut und inputSound, z.B. bei
set Denon inputSound digital
Mir selber ist im Code nix aufgefallen. Und letztendlich kann das ja auch ein Denon-Feature sein, der ja viele Kommandos mit einer Art Echo beantwortet. Glaube ich aber nicht wirklich.


Grüßle, Michael

olwaldi

#872
Altes Problem revisited - vgl. Seite 46 hier:
Mir ist aufgefallen, daß das Reading state bei mir immer auf "opened" steht. Sollte aber eigentlich synchron zum Internal STATE gesetzt sein. Im Sourcecode 70_DENON_AVR.pm finde ich seit rund 2019 eine auskommentierte Stelle
#        readingsBulkUpdate($hash, "state", $power);wenn das PW-Kommando gesendet wird. Habe die Zeile re-aktiviert, und schon hat state den erwarteten Wert.

Aber: Das alte "opened" wird relevant für die Funktion reconnect. Mir ist unklar, wie ich beides zusammenbringen könnte. Es gibt auch einige Stellen in 70_DENON_AVR.pm, wo STATE auf "opened" gesetzt würde, wenn es nicht auskommentiert wäre. Das wiederum ist guter Stil, da STATE nicht aus dem Modul heraus geändert werden soll. DevIo.pm wiederum liest state, um STATE zu setzen.

Ideen?

Grüßle, Michael

Nachtrag: Irgendwo in meinem Code nutze ich $state via Readingsval("Denon", "state", "unknown") und benötige daher $state. Das habe ich jetzt auf Value("Denon") umgestellt, was STATE zurückgibt. Somit benötige ich $state nicht mehr. Trotzdem irritierend, wenn $state und $STATE verschiedene Werte enthalten.

Nachtrag2: Und wieder was 'rausgefunden. STATE und state/stateAV ändern sich zu unterschiedlichen Zeiten. Beim Einschalten ist STATE erst 10s später als state auf on. Macht auch Sinn, da erst dann der Denon mit der Tonausgabe beginnt. Nutze also dann doch wieder state.

olwaldi

Noch ein kleiner Fix: connectionCheck darf auf "off" stehen, dann gehen natürlich Berechnungen damit schief. Da ich mittlerweile connectionCheck auf "off" gesetzt habe, gibt's beim manuellen Re-connect die Fehlermeldung:
2025.11.26 17:23:50 1: PERL WARNING: Argument "off" isn't numeric in addition (+) at ./FHEM/70_DENON_AVR.pm line 3594.
2025.11.26 17:23:50 1: stacktrace:
2025.11.26 17:23:50 1:     main::__ANON__                      called by ./FHEM/70_DENON_AVR.pm (3594)
2025.11.26 17:23:50 1:     main::DENON_AVR_UpdateConfig        called by fhem.pl (3514)
2025.11.26 17:23:50 1:     main::HandleTimeout                 called by fhem.pl (710)
Die Lösung ist dann in Zeile 3594 ff.
my $connectionCheck = AttrVal($name, "connectionCheck", "60");
if ($connectionCheck ne "off") {
  RemoveInternalTimer($hash);
  InternalTimer(gettimeofday() + $connectionCheck, "DENON_AVR_ConnectionCheck", $hash, 0);
};
Anbei für Interessierte meine Version von 70_DENON_AVR.pm

Und man muß z.B. einen manuellen Re-connect machen, wenn der Denon AVR irgendwieso komplett ausgeschaltet wird. Das ist mir gestern Abend passiert, da ich ein Firmware-Update im Denon eingespielt habe.


Grüßle, Michael

vbs

Hi, ich hab gerade ganz frisch einen Denon X3800H angeschafft und das Modul aus dem Post bei mir installiert. Nun war es zunächst so, dass das Modul offenbar mehrmals pro Sekunde neu verbindet. Also die FHEM-UI blinkte förmlich, wenn man die Seite des Geräts offen hatte. Sah im Log auch recht wild aus:
2025-12-15 21:38:36.625 DENON_AVR wz_avr presence: absent
2025-12-15 21:38:36.625 DENON_AVR wz_avr disconnected
2025-12-15 21:38:36.625 DENON_AVR wz_avr stateAV: absent
2025-12-15 21:38:36.625 DENON_AVR wz_avr stateAV: absent
2025-12-15 21:38:36.631 DENON_AVR wz_avr CONNECTED
2025-12-15 21:38:36.744 DENON_AVR wz_avr DISCONNECTED
2025-12-15 21:38:36.744 DENON_AVR wz_avr power: off
2025-12-15 21:38:36.744 DENON_AVR wz_avr presence: absent
2025-12-15 21:38:36.744 DENON_AVR wz_avr disconnected
2025-12-15 21:38:36.744 DENON_AVR wz_avr stateAV: absent
2025-12-15 21:38:36.744 DENON_AVR wz_avr stateAV: absent
2025-12-15 21:38:36.772 DENON_AVR wz_avr CONNECTED
2025-12-15 21:38:36.849 DENON_AVR wz_avr sleep: off
2025-12-15 21:38:36.864 DENON_AVR wz_avr DISCONNECTED
2025-12-15 21:38:36.864 DENON_AVR wz_avr power: off
2025-12-15 21:38:36.864 DENON_AVR wz_avr presence: absent
2025-12-15 21:38:36.864 DENON_AVR wz_avr disconnected
2025-12-15 21:38:36.864 DENON_AVR wz_avr stateAV: absent
2025-12-15 21:38:36.864 DENON_AVR wz_avr stateAV: absent
2025-12-15 21:38:36.871 DENON_AVR wz_avr CONNECTED
2025-12-15 21:38:36.920 DENON_AVR wz_avr DISCONNECTED
2025-12-15 21:38:36.920 DENON_AVR wz_avr power: off
2025-12-15 21:38:36.920 DENON_AVR wz_avr presence: absent
2025-12-15 21:38:36.920 DENON_AVR wz_avr disconnected
2025-12-15 21:38:36.920 DENON_AVR wz_avr stateAV: absent
2025-12-15 21:38:36.920 DENON_AVR wz_avr stateAV: absent
2025-12-15 21:38:36.927 DENON_AVR wz_avr CONNECTED
2025-12-15 21:38:37.053 DENON_AVR wz_avr DISCONNECTED
2025-12-15 21:38:37.053 DENON_AVR wz_avr power: off
2025-12-15 21:38:37.053 DENON_AVR wz_avr presence: absent
2025-12-15 21:38:37.053 DENON_AVR wz_avr disconnected
2025-12-15 21:38:37.053 DENON_AVR wz_avr stateAV: absent
2025-12-15 21:38:37.053 DENON_AVR wz_avr stateAV: absent
2025-12-15 21:38:37.066 DENON_AVR wz_avr CONNECTED
2025-12-15 21:38:37.095 DENON_AVR wz_avr DISCONNECTED
2025-12-15 21:38:37.095 DENON_AVR wz_avr power: off
2025-12-15 21:38:37.095 DENON_AVR wz_avr presence: absent
2025-12-15 21:38:37.095 DENON_AVR wz_avr disconnected
2025-12-15 21:38:37.095 DENON_AVR wz_avr stateAV: absent
2025-12-15 21:38:37.095 DENON_AVR wz_avr stateAV: absent
2025-12-15 21:38:37.102 DENON_AVR wz_avr CONNECTED

list vom Device:
Internals:
  CFGFN     
  Clients    :DENON_AVR_ZONE:
  DEF        192.168.2.67:23
  DeviceName 192.168.2.67:23
  FD        11
  FUUID      69403c40-f33f-fb71-5f57-9ea98ec80978fc6b
  IP        192.168.2.67:23
  NAME      wz_avr
  NR        600
  NTFY_ORDER 50-Marantz
  PARTIAL   
  STATE      opened
  TIMEOUT    3
  TYPE      DENON_AVR
  eventCount 24284
  READINGS:
    2025-12-15 21:39:33  Muting-Level    mute
    2025-12-15 21:19:30  Network-Control Off (in standby)
    2025-12-15 21:11:26  Network-Name    Denon AVC-X3800H
    2025-12-15 21:00:26  _autoCmd_state  on
    2025-12-15 21:39:59  activeSpeaker  Speaker_A
    2025-12-15 21:40:15  allZoneStereo  off
    2025-12-15 21:21:36  audioFormat    /.0
    2025-12-15 21:11:05  audioOutHDMI    amplifier
    2025-12-15 21:40:16  audioRestorer  off
    2025-12-15 21:40:16  audysseyLFC    off
    2025-12-15 21:40:00  audysseyLFCAmount 4
    2025-12-15 21:40:15  autoStandby    15min
    2025-12-15 21:40:14  bass            500
    2025-12-15 21:23:54  channelVolumeCenter 0
    2025-12-15 21:40:07  channelVolumeFrontLeft 0
    2025-12-15 21:40:15  channelVolumeFrontRight 0
    2025-12-15 21:40:15  channelVolumeSubwoofer 0
    2025-12-15 21:23:54  channelVolumeSurroundLeft 0
    2025-12-15 21:23:54  channelVolumeSurroundRight 0
    2025-12-15 21:40:16  cinemaEQ        off
    2025-12-15 21:40:14  currentAlbum    -
    2025-12-15 21:40:14  currentArtist  -
    2025-12-15 21:40:14  currentBitrate  -
    2025-12-15 21:40:14  currentCover    http://192.168.2.67/img/album%20art_S.png?1765831214481
    2025-12-15 21:40:14  currentMedia    -
    2025-12-15 21:40:14  currentPlaytime -
    2025-12-15 21:40:14  currentStation  -
    2025-12-15 21:40:14  currentStream  -
    2025-12-15 21:40:14  currentTitle    -
    2025-12-15 21:40:07  digitalInput    auto
    2025-12-15 21:40:14  display        bright
    2025-12-15 21:40:14  dynamicCompression off
    2025-12-15 21:40:16  dynamicEQ      on
    2025-12-15 21:39:51  dynamicEQRefLevelOffset 0
    2025-12-15 21:40:16  dynamicVolume  off
    2025-12-15 21:40:15  eco            auto
    2025-12-15 20:45:05  effect          00
    2025-12-15 21:40:15  firmware_AVR    6000-2123-4035-8880
    2025-12-15 21:40:15  firmware_DTS    4.30.10.15
    2025-12-15 21:09:21  graphicEQ      off
    2025-12-15 21:36:28  httpError      http://192.168.2.67:23:8080/goform/Deviceinfo.xml: malformed or unsupported URL
    2025-12-15 21:36:28  httpState      ERROR
    2025-12-15 21:40:14  input          Sat/Cbl
    2025-12-15 21:40:07  inputSound      auto
    2025-12-15 21:11:26  lock            off
    2025-12-15 21:40:16  loudness        on
    2025-12-15 21:40:07  lowFrequencyEffects 0
    2025-12-15 21:40:16  multiEQ        reference
    2025-12-15 21:40:14  mute            off
    2025-12-15 21:40:14  playStatus      stopped
    2025-12-15 21:40:17  power          off
    2025-12-15 21:40:17  presence        absent
    2025-12-15 21:39:50  quickselect    1
    2025-12-15 21:40:16  resolutionHDMI  HASH(0x5c417cb93a30)
    2025-12-15 21:38:08  samplingRate    -
    2025-12-15 21:39:58  setup          off
    2025-12-15 21:40:17  sleep          off
    2025-12-15 21:40:15  sound_out      Stereo
    2025-12-15 21:40:14  sound_signal_in -
    2025-12-15 21:40:17  state          opened
    2025-12-15 21:40:17  stateAV        absent
    2025-12-15 21:38:08  surroundMode    Music
    2025-12-15 21:40:07  toneControl    off
    2025-12-15 21:40:14  treble          500
    2025-12-15 21:40:16  trigger1        on
    2025-12-15 21:40:16  videoProcessingMode auto
    2025-12-15 21:40:14  videoSelect    Sat/Cbl
    2025-12-15 21:40:14  volume          40
    2025-12-15 21:40:07  volumeDisplay  absolute
    2025-12-15 21:40:14  volumeMax      695
    2025-12-15 21:39:42  volumeStartup  last
    2025-12-15 21:40:14  volumeStraight  -40
    2025-12-15 21:40:14  zone2          on
    2025-12-15 21:05:42  zoneMain        on
  helper:
    INPUT      SAT/CBL
    PARTIAL   
    deviceIP  192.168.2.67
    isPause    0
    isPlaying  0
    nextConnectionCheck 1765831277.51197
    playTimeCheck 0
    volume    14
Attributes:
  cmdIcon    muteT:rc_MUTE
  devStateIcon on:rc_GREEN:main_off main_off:rc_YELLOW:main_on off:rc_STOP: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 mainOff:rc_STOP:main_on
  suppressReading HASH.*
  webCmd    volume:muteT:input:surroundMode

Ich hatte dann das Device gelöscht und neu angelegt. Ich hatte beim ersten Mal das Device unter einem anderen Namen angelegt und dann umbenannt. Vielleicht ist das dem Modul nicht gut bekommen.

Danke für das Modul!