Externe Integration - Denon / Marantz AVR

Ein Feedback zur neuen Version: Sprachsteuerung über Lautsprecher funktioniert bei meinem Verstärker und meiner Denon-Box.

Ich habe einen seltsamen Bug am Lautstärkeregler festgestellt, der von 24% auf 26% springt, 25% sind nicht möglich.

Ein weiteres seltsames Verhalten: Ich habe eine Szene erstellt, um das Senden von Nachrichten zu testen. Wenn ich sie innerhalb kurzer Zeit mehrmals ausführe, führt die Ausführung der Szene zu einer sich wiederholenden Nachricht.

Gute Neuigkeiten, es geht voran!

Update für die Integration von Denon/Marantz AVR

Zwei Korrekturen basierend auf Nutzerfeedback zu „Sprechen über einen Lautsprecher“:

  • Korrektur: Wenn die Aktion mehrmals schnell hintereinander ausgelöst wurde, sammelten sich die Nachrichten in der Warteschlange des Verstärkers an, die sie dann nacheinander wieder abspielte. Die Warteschlange wird nun vor jeder Ansage geleert, sodass nur die letzte Nachricht zählt.

  • Präzisierung: Der Lautstärkeregler kann 25% (oder 75%) nicht stabil anzeigen — er springt automatisch auf 26% (oder 76%). Das ist eine Hardware-Grenze des Verstärkers (98 Lautstärkewerte für 101 Werte von 0 bis 100%), kein behebbarer Fehler auf Integrationsebene.

Cool, es funktioniert. Es ist super, endlich meinen Verstärker und die Lautsprecher nutzen zu können. Super Arbeit.

Wenn du es schaffst, das Volumen auf den HEOS-Lautsprechern zu steuern, wäre das top :star_struck:

Ich dachte, das funktioniert eigentlich, oder? Ich wäre für Logs zum Debuggen offen, falls nicht!

Hier sind meine Logs

Ich habe gerade deine Antwort gesehen, ich schaue mal!

v1.0.19 : Korrektur der Lautstärke-/Stummschaltesteuerung bei einer einzigen HEOS-Box (Denon Home, HEOS 1/3/5/7, Bar…) über manuelle IP-Adresse hinzugefügt.

Diese Boxen haben nicht den Telnet-Service „AVR Control“ eines echten Verstärkers, daher werden Lautstärke, Lautstärke +/- und Stummschaltung jetzt automatisch über HEOS gesteuert, wenn Telnet nicht erreichbar ist. Keine Änderungen bei einem echten Verstärker-Tuner (das klassische Telnet bleibt priorisiert).

Denkt daran, den Container zu aktualisieren, um zu testen (@Tolkyen)

Ich habe es gerade getestet, es funktioniert. Es ist super.

Bei meinen Tests habe ich festgestellt, dass der Parameter Lautstärke der Aktion „Auf Lautsprecher sprechen“ in den Szenen keine Wirkung hat (Ampli und Denon Home). Um dies zu umgehen, definiere ich die Lautstärke des Lautsprechers vor der Aktion, damit es funktioniert.

Ich mache im Moment dasselbe, ich muss da nochmal genauer hinschauen.

Das ist kein Bug in dieser Integration, sondern eine Einschränkung des Gladys-Kerns selbst (laut Claude @pierre-gilles).

Wenn man server/lib/external-integration/externalIntegration.registerProxyService.js im Gladys-Kern überprüft, wird der Proxy, den jede externe Integration (Docker) durchläuft, an onSetValue() nur das Feld value (die bereits generierte Audio-URL TTS) weitergegeben — das Objekt options, das den Lautstärkewert des Aktionsschalters „Auf einem Lautsprecher sprechen“ enthält, wird bereits vor Erreichen des WebSockets gelöscht. Im Gegensatz zu internen Integrationen (Sonos, Google Cast, AirPlay), die options als normalen Funktionsargument erhalten, hat eine externe Integration wie diese keine Möglichkeit, den Wert des Schalters zu sehen oder darauf zu wirken — die Ansage wird immer mit der aktuellen Lautstärke des Geräts vorgelesen, unabhängig davon, was der Szenen-Editor anzeigt.

Hallo zusammen,

Ich besitze einen Denon S650H Verstärker und kann die Benachrichtigungsübertragung nicht zum Laufen bringen.

Ich konfigurierte meine Szene, schrieb meine Nachricht und wenn ich die Szene starte, passiert nichts beim Verstärker.
Hier sind die Logs, die ich beobachte.

[2026-09-27T08:50:46.548Z] [INFO] Starting the Denon/Marantz AVR integration...
[2026-09-27T08:50:47.141Z] [INFO] [gladys-sdk] connected to Gladys (http://172.30.0.1:80)
[2026-09-27T08:50:47.243Z] [INFO] [denon-telnet] Connected to 192.168.100.245:23
[2026-09-27T08:50:47.243Z] [INFO] [avr] ext:ext-lm1lc3n7-gladys-denon-avr:avr:manual:192.168.100.245: connected (main zone), seeding initial state
[2026-09-27T08:50:47.246Z] [INFO] [heos-cli] Connected to 192.168.100.245:1255
[2026-09-27T08:50:47.255Z] [INFO] [avr] ext:ext-lm1lc3n7-gladys-denon-avr:avr:manual:192.168.100.245: HEOS player id -229519882 matched to 192.168.100.245 (main zone)
[2026-09-27T08:50:52.259Z] [INFO] [denon-discovery] SSDP scan: 0 Denon/Marantz AVR(s) found

Ich frage mich nur:

  • Wenn mein Verstärker im Standby ist, muss er sich dann zuerst selbst einschalten?
  • Wenn mein Verstärker bereits eingeschaltet ist, wechsle ich die Quelle, um die Nachricht zu übertragen?

Hallo,

Zu deinen beiden Fragen:

  • Verstärker im Standby: Ja, er schaltet sich von selbst ein. Seit Version 1.0.21 (die du hast, wie die Zeile connected (main zone) zeigt), schaltet die Integration die Hauptzone vor der Ansage ein.

  • Verstärker bereits eingeschaltet: Ja, er schaltet auf den Netzwerk-/HEOS-Eingang (NET), da dies der einzige Weg ist, ihm das Abspielen einer Audiodatei zu ermöglichen. Er kehrt nicht von selbst zur vorherigen Quelle zurück.

In deinen Logs fehlt eine wichtige Zeile. Wenn Gladys die Ansage sendet, schreibt die Integration immer:
onSetValue ← …:play_notification = https://…
gefolgt von HEOS accepted the « Speak on a speaker » stream (oder rejected, mit dem Grund).

Wenn du nach dem Ausführen der Szene keine dieser Zeilen siehst, bedeutet das, dass Gladys die Nachricht nie an den Verstärker gesendet hat. Der Verstärker/HEOS-Teil bei dir ist in Ordnung: Der HEOS-Player wird korrekt gefunden. Du musst also bei Gladys nach der Ursache suchen:
Gladys Plus: Die Sprachsynthese (« Parler sur une enceinte ») läuft über Gladys Plus. Ohne aktives Abonnement scheitert die Szene ohne Meldung, und der Fehler erscheint nur in den Logs des Gladys-Servers (docker logs gladys), nicht in denen der Integration.

Verstärker vor dieser Funktion hinzugefügt: Führe einen Scan im Reiter Entdeckung durch, klicke auf Aktualisieren beim Verstärker und wähle ihn dann erneut in der Aktion der Szene aus.
Wenn du onSetValue ← …play_notification… siehst, aber immer noch keinen Ton, sende mir die folgenden Zeilen.