Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Praktische Anwendungen (Showcase)
  4. [Projekt] Google Home steuert Denon AV-Receiver

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    16
    1
    236

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    4.5k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.3k

[Projekt] Google Home steuert Denon AV-Receiver

Scheduled Pinned Locked Moved Praktische Anwendungen (Showcase)
15 Posts 5 Posters 8.0k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • uweklattU Offline
    uweklattU Offline
    uweklatt
    wrote on last edited by
    #1

    Hallo,

    nachdem meine erste Tests mit Alexa nicht besonders zufriedenstellend ausgefallen sind, habe ich mir einen Google-Home mini angeschafft. Dieser musste natürlich sofort mit ioBroker gekoppelt werden ;-)

    Ein Ziel war es, meinen Denon AV-Receiver mit Sprachkommandos zu steuern.

    Dabei sollte eine gewisse Flexibilität bei den Sprachkommandos möglich sein.

    Da sich die http-Kommandos des Denon als am zuverlässigsten herausgestellt haben, habe ich diese zur Steuerung verwendet.

    Man kann das auch über Telnet (TCP Port 23) machen, wenn man Rückmeldungen vom Receiver benötigt. Ich habe darauf verzichtet.

    Die Realisierung nutzt den bekannten Weg über IFTTT.

    Dazu habe ich in IFTTT 2 Applets angelegt. Diese dienen zur Übergabe der Kommandos an ioBroker.

    Applet 1 dient zur übergabe einen Kommandos ohne Parameter.

    Applet 2 dient zur Übergabe eines Kommandos mit Parameter.

    Diese sehen wie folgt aus:

    ! 3419_applet_1.png
    3419_applet_2.png
    Gemein ist beiden Applets, dass diese aus dem Befehlswort "Kommando" und den Platzhaltern bestehen.

    Beim Applet 2 mit Parameter muss der Parameter mit dem Schlüsselwort "auf" abgetrennt werden.

    Z.B. "Kommando Receiver Lautstärke Küche auf 50"

    Man kann aber auch sagen: "Kommando Setze die Lautstärke des Receivers in der Küche auf 50".

    "Kommando" ist das Erkennungswort, damit der gesprochene Text von IFTTT an ioBroker übermittelt wird.

    Dort kommt dann der Rest ohne "Kommando" unter der Variablen cloud.x.services.ifttt an.

    Wenn irgendwo die Phrase "auf x" verwendet wird, nutzt IFTTT automatisch das 2. Applet und der übergebene Text besteht aus dem Sprachbefehl (ohne "Kommando") und abgetrennt mit ":" dem Parameterwert.

    Der Parameter muss numerisch sein, sonst wird Applet 1 verwendet!

    Das ":" dient zum späteren Separieren des Parameters im ioBroker Script.

    Ich habe keine JSON-Variante gewählt, da ich die übergebenen Texte manuell parsen möchte.

    Dazu dient ein Javascript (s.u.), das auch den optionalen Parameter erkennt und an die Auswertefunktion übergibt.

    Zuerst wird der Text auf Kleinbuchstaben geändert und gegebenenfalls der Parameter ermittelt.

    Damit diese auch noch für andere Geräte genutzt werden kann, habe ich in der Auswertung vorgesehen, das in allen Sprachbefehlen das Wort

    "Receiver" vorkommen muss. Solange man nur den Receiver über IFTTT steuern möchte, kann man diese Prüfung auch weglassen.

    Ein Sprachbefehl setzt sich also immer wie folgt zusammen:

    "Kommando" + "Receiver" + gewünschter Befehl" ( + optional "auf xx")

    Der Befehl wird auf das Vorkommen von Schlüsselwörtern wie "Eingang", "Lautstärke" oder die zusätzliche

    Zonenangabe "Küche" untersucht. Die Reihenfolge oder zusätzliche Füllwörter spielen dabei keine Rolle.

    Wenn das Wort "Küche" irgendwo vorkommt, wirken die Komandos auf Zone 2, ansonsten auf die Main-Zone.

    Bei der Lautstärkesteuerung habe ich eine Begrenzung eingebaut, die verhindert, dass es zu laut werden kann ;-)

    Dadurch ist die Spracherkennung etwas flexibler, als wenn man alle Kommandos direkt in IFTTT erstellen würde.

    Und IFTTT muss man bei zusätzlichen Sprachbefehlen nicht ändern ;-)

    Das Script "umgeht" zwar den vorhandenen Denon-Adapter und nutzt auch keine weiteren Variablen, aber für mich

    funktioniert es so schon recht gut.

    Zur Nutzung mit dem eigenen Receiver muss auf jeden Fall oben im Script die IP-Adresse angepasst werden.

    Aktuell ist möglich:

    • Ein-/Ausschalten für 2 Zonen

    • Ändern der Lautstärke in Stufen oder absolut

    • Abrufen von Standardwerten "laut", "normal" und "leise"

    • Aktivieren der MUTE-Funktion mit Lautstärke "stumm"

    • Umschalten der Eingänge pro Zone zwischen "Netzwerk", "SAT", "TV-Ton" und "Blueray/DVD"

    • Aufrufen der "Favoriten1..3"

    Tschau

    Uwe

    Hier das Script:

    ! ````
    //Kontakt: uweklatt@aol.com
    //ioBroker Forum: uweklatt
    var net = require('net');
    var request= require('request');
    ! var ip = '192.168.178.11'; // Denon Receiver IP-Adresse
    ! function work(command, val)
    {
    var zone = 'ZM'; // Master-Zone
    var zonevol = 'MV'; // Lautstärke-Prefix Masterzone
    var zoneinp = 'SI'; // Eingang-Prefix Masterzone

    // Receiver
    if(command.search("receiver") >= 0)
    {
        // Favoriten - Globale Kommandos
        if(command.search("favorit") >= 0)
        {
            if(command.search("1") >= 0 || val.search("1") >= 0)
                request('http://'+ip+'/goform/formiPhoneAppDirect.xml?ZMFAVORITE1');
            else if(command.search("2") >= 0 || val.search("2") >= 0)
                request('http://'+ip+'/goform/formiPhoneAppDirect.xml?ZMFAVORITE2');
            else if(command.search("3") >= 0 || val.search("3") >= 0)
                request('http://'+ip+'/goform/formiPhoneAppDirect.xml?ZMFAVORITE3');
            return;
        }
    
        // Küche - Kommando für Zone 2
        if(command.search("küche") >= 0)
            zone = zonevol = zoneinp = 'Z2';
    

    ! // Eingang wählen
    if(command.search("eingang") >= 0)
    {
    if(zone == 'Z2')
    incmd = 'SI';

            if(command.search("net") >= 0)
                request('http://'+ip+'/goform/formiPhoneAppDirect.xml?'+zoneinp+'NET');
            else if(command.search("tv") >= 0 || command.search("fernseh") >= 0)
                request('http://'+ip+'/goform/formiPhoneAppDirect.xml?'+zoneinp+'TV');
            else if(command.search("cd") >= 0 || command.search("dvd") >= 0 || command.search("ray") >= 0)
                request('http://'+ip+'/goform/formiPhoneAppDirect.xml?'+zoneinp+'BD');
            else if(command.search("sat") >= 0)
                request('http://'+ip+'/goform/formiPhoneAppDirect.xml?'+zoneinp+'SAT/CBL');
        }
    
        // Lautstärke ändern
        else if(command.search("lautstärke") >= 0)
        {
            if(command.search("lauter") >= 0)
                request('http://'+ip+'/goform/formiPhoneAppDirect.xml?'+zonevol+'UP');
            else if(command.search("leiser") >= 0)
                request('http://'+ip+'/goform/formiPhoneAppDirect.xml?'+zonevol+'DOWN');
            else if(command.search("leise") >= 0)
                request('http://'+ip+'/goform/formiPhoneAppDirect.xml?'+zonevol+'30');
            else if(command.search("laut") >= 0)
                request('http://'+ip+'/goform/formiPhoneAppDirect.xml?'+zonevol+'55');
            else if(command.search("normal") >= 0)
                request('http://'+ip+'/goform/formiPhoneAppDirect.xml?'+zonevol+'40');
            else if(command.search(" stu") >= 0)  // MUTE
            {
                if(zone == 'ZM') // Master-Zone
                    request('http://'+ip+'/goform/formiPhoneAppDirect.xml?MUON');
                else
                    request('http://'+ip+'/goform/formiPhoneAppDirect.xml?'+zone+'MUON');
            }
            else if (val >= 0)
            {
                var laut = parseInt(val*8/10);
                laut = Math.max(0, Math.min(laut, 70)); // Begrenzung!
                request('http://'+ip+'/goform/formiPhoneAppDirect.xml?'+zonevol+laut);
            }
        }
    

    ! // Power
    else if(command.search(" ein") >= 0) // Zone Einschalten
    request('http://'+ip+'/goform/formiPhoneAppDirect.xml?'+zone+'ON');
    else if(command.search(" aus") >= 0) // Zone Ausschalten
    request('http://'+ip+'/goform/formiPhoneAppDirect.xml?'+zone+'OFF');

    }    
    

    }

    ! on({id:"cloud.0.services.ifttt"}, function (obj){
    var text = getState('cloud.0.services.ifttt').val.toLowerCase();
    var command = text;
    var hasval = text.search(":");
    var val = -1;
    if(hasval>=0)
    command = text.slice(0,hasval);
    if(hasval > 0)
    val = text.slice(hasval+1)
    console.log(command+'['+val+']');
    work(command, val);
    }
    );

    Proxmox/LXC/Docker

    1 Reply Last reply
    0
    • eric2905E Offline
      eric2905E Offline
      eric2905
      wrote on last edited by
      #2

      Ich habe das Thema, auf Anregung des Erstellers, hierher verschoben - passt besser.

      Gruß,

      Eric

      Roses are red, violets are blue,

      if I listen to metal, my neighbours do too

      1 Reply Last reply
      0
      • J Offline
        J Offline
        jsoentgen
        wrote on last edited by
        #3

        Hallo Uwe,

        genau so etwas habe ich gesucht, also erst mal vielen dank für die Arbeit.

        Schade nur ist, bei mir läuft es nicht.

        Ich habe im Script die IP-Adresse meines Denon AVR-x3400h eingetragen, im Receiver ist die Netzwerksteuerung angelegt. Ich denke auch, dass in der Cloud beim IObroker alles stimmt, der Befehl kommt auf jeden Fall an. unter Objekte/servicesIifttt erscheint "Text Field" wenn ich den Befehl sprechen (über Google Home).

        Nur leider passiert dann nichts.

        Was könnte noch falsch sein?

        1 Reply Last reply
        0
        • uweklattU Offline
          uweklattU Offline
          uweklatt
          wrote on last edited by
          #4

          Hallo jsoentgen,

          Was erscheint in der Debugausgabe des Scriptes, wenn Du das Script startest und dann ein Kommando schickst/sprichst?

          Uwe

          Proxmox/LXC/Docker

          1 Reply Last reply
          0
          • M Offline
            M Offline
            maxpd
            wrote on last edited by
            #5

            Aber es ist nicht möglich einfach die Musikausgabe auf einen Denon zu verlagern?

            Z.b. "Google, spiele charts"

            dann startet Google direkt spotify und die charts playlist.

            Schön wäre, wenn er spotify startet, dass er dass auf dem denon tut.

            Gruß
            maxpd

            Raspi 4 8gb | iobroker + pivccu3 | 46 Adapter | 68 Scripte, 120 Devices

            1 Reply Last reply
            0
            • uweklattU Offline
              uweklattU Offline
              uweklatt
              wrote on last edited by
              #6

              Hallo maxpd,

              Du kannst Musik z.B. über DLNA an den Denon streamen. Dazu gibt es auch diverse Apps.

              Ich nutze einen zusätzlichen Google Chromecast am HDMI-Anschluss eines Denon X4000.

              Darüber kann man aus fast allen Apps (auch Youtube) direkt Videos oder reines Audio streamen.

              Zusammen mit Google Home auch sprachgesteuert.

              Wenn ich z.B. Yello von Spotify hören möchte, schalte ich den Receiver mit passendem Eingang über ein Sprachkommando ein.

              Dann sage ich "OK Google, spiele Spotify Yello" und die Wiedergabe startet… Auch die Lautstärke kann man über Sprachkommando steuern.

              Der Chromecast am Denon ist dazu unter Google Home als Standard Audiogerät eingerichtet.

              Tschau

              Uwe

              Proxmox/LXC/Docker

              1 Reply Last reply
              0
              • J Offline
                J Offline
                jsoentgen
                wrote on last edited by
                #7

                Hallo Uwe,

                denke ich habe das Problem gefunden, die neueren Denon Receiver hören nicht mehr auf http Kommandos und können nur noch per Telnet oder RS232 angesprochen werden.

                1 Reply Last reply
                0
                • uweklattU Offline
                  uweklattU Offline
                  uweklatt
                  wrote on last edited by
                  #8

                  Danke für die Info.

                  Tschau

                  Uwe

                  Proxmox/LXC/Docker

                  1 Reply Last reply
                  0
                  • J Offline
                    J Offline
                    jsoentgen
                    wrote on last edited by
                    #9

                    An und Ausschalten des receivers habe ich damit hinbekommen per Google Home über IFTTT

                    on({id: 'cloud.0.services.ifttt', change: "any"}, function (obj) {

                    var value = obj.state.val;

                    var oldValue = obj.oldState.val;

                    if (getState("cloud.0.services.ifttt").val == 'receiver power an') {

                    setState("denon.0.settings.powerSystem"/System Power State/, true);

                    } else if (getState("cloud.0.services.ifttt").val == 'receiver power aus') {

                    setState("denon.0.settings.powerSystem"/System Power State/, false);

                    }

                    });

                    für mehr reichen meine Grundkenntnisse leider noch nicht. Wollte den Eingang in der Mainzone noch per Sprachbefehl auf Internetradio ändern können, klappt aber leider nicht.

                    on({id: 'cloud.0.services.ifttt', change: "ne"}, function (obj) {

                    var value = obj.state.val;

                    var oldValue = obj.oldState.val;

                    if (getState("cloud.0.services.ifttt").val == 'internetradio an') {

                    setState("denon.0.zoneMain.selectInput"/Select input/, 'IRADIO');

                    }

                    });

                    1 Reply Last reply
                    0
                    • M Offline
                      M Offline
                      maxpd
                      wrote on last edited by
                      #10

                      @uweklatt:

                      Hallo maxpd,

                      Du kannst Musik z.B. über DLNA an den Denon streamen. Dazu gibt es auch diverse Apps.

                      Ich nutze einen zusätzlichen Google Chromecast am HDMI-Anschluss eines Denon X4000.

                      Darüber kann man aus fast allen Apps (auch Youtube) direkt Videos oder reines Audio streamen.

                      Zusammen mit Google Home auch sprachgesteuert.

                      Wenn ich z.B. Yello von Spotify hören möchte, schalte ich den Receiver mit passendem Eingang über ein Sprachkommando ein.

                      Dann sage ich "OK Google, spiele Spotify Yello" und die Wiedergabe startet… Auch die Lautstärke kann man über Sprachkommando steuern.

                      Der Chromecast am Denon ist dazu unter Google Home als Standard Audiogerät eingerichtet.

                      Tschau

                      Uwe `

                      Danke für die Rückmeldung.

                      Ja ich hatte schon vermutet, dass man dies am besten über einen Chromecast Audio löst. Der Receiver schaltet sich hier bei einem Eingangssignal vermutlich nicht von alleine an, weil es nur einen "lauschenden" HDMI Port gibt und dieser schon für den TV belegt ist.

                      Gruß
                      maxpd

                      Raspi 4 8gb | iobroker + pivccu3 | 46 Adapter | 68 Scripte, 120 Devices

                      1 Reply Last reply
                      0
                      • uweklattU Offline
                        uweklattU Offline
                        uweklatt
                        wrote on last edited by
                        #11

                        Hallo maxpd,

                        wenn man die Multi-Room Funktion nicht benötigt, würde ich einen "normalen "Chromecast und keinen vom Typ "Audio" nehmen, da der "normale" auch Videos streamen kann.

                        Tschau

                        Uwe

                        Proxmox/LXC/Docker

                        1 Reply Last reply
                        0
                        • M Offline
                          M Offline
                          maxpd
                          wrote on last edited by
                          #12

                          Danke! Teste ich, wenn er noch funktioniert. Hat mehrere Monate an einem 2A Netzteil gehangen und war glühend heiß und hat nur noch Lila Streifen gestreamt..

                          Gruß
                          maxpd

                          Raspi 4 8gb | iobroker + pivccu3 | 46 Adapter | 68 Scripte, 120 Devices

                          1 Reply Last reply
                          0
                          • ? Offline
                            ? Offline
                            A Former User
                            wrote on last edited by
                            #13

                            Hallo UweKlatt,

                            ich bin mir nicht sicher, ob ich mit meinem Anliegen hier genau richtig bin, und erhoffe Nachsehen, falls nicht.

                            Da ich im Netz nicht genau fündig wurde, möchte ich mir die Frage gestatten, ob es möglich ist, einen Google Chromecast (welchen ?)

                            an einen Denon AVR -X 2500H so anzuschliessen, das dieser die Musik in den Chromecast leitet ( über Multiroom Zone 2 ), und der Chrome cast diese streamt, so das die Multiroom Zone über den Chromecast aufgebaut werden kann.

                            Ziel wäre es, die vom Denon AVR integrierte Heos Multiroom funktion zu umgehen, da die Lautsprecher erheblich teurer sind, als z.B. Google Chromcast unterstützende Lautsprecher von Pioneer.

                            Vielen Dank im Voraus :)

                            1 Reply Last reply
                            0
                            • uweklattU Offline
                              uweklattU Offline
                              uweklatt
                              wrote on last edited by
                              #14

                              Hallo Naphtalin,

                              Du kannst den Google Chromecast über HDMI an den AV-Receiver anschliessen und alles , was auf diesem Chromecast abgespielt wird, über Zone 2 ausgeben. Der benutze HDMI Eingang muss einem Eingang zugeordnet werden, dann kann man den Eingang für Zone 2 nutzen. Der "normale" Chromecast kann Audio und Video ausgeben.

                              Alternativ kann auch ein Chromecast Audio verwendet werden. Der wird am besten über ein optisches Kabel angeschlossen, kann aber nur Audio ausgeben.

                              Tschau

                              Uwe

                              Proxmox/LXC/Docker

                              1 Reply Last reply
                              0
                              • ? Offline
                                ? Offline
                                A Former User
                                wrote on last edited by
                                #15

                                UweKlatt, hab vielen Dank für Deine ausführliche Ausführung :)

                                ich bin mal gespannt für welche Möglichkeit ( Heos / Chrome ) ich mich entscheiden werde.

                                Bisher wäre für mich die Audio Möglichkeit wohl ausreichend, um ein wenig Musik in Küche und Bad zu haben.

                                Muss mich mal schlau machen, was die Geräte so ausmachen, bzw. die Möglichkeiten des Machbaren.

                                Der Denon AVR ist ja Alexa kompatibel und sprachbedienbar (zumindest Musikwünsche),

                                wäre das mit einem angeschlossenem Chromecast ebenso möglich ?

                                Und was wäre mit dem Chromcast wohl alles machbar ?

                                Ist ja schon eine interessante Sache, sofern sie problemlos funktioniert :D

                                1 Reply Last reply
                                0
                                Reply
                                • Reply as topic
                                Log in to reply
                                • Oldest to Newest
                                • Newest to Oldest
                                • Most Votes


                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                561

                                Online

                                32.7k

                                Users

                                82.5k

                                Topics

                                1.3m

                                Posts
                                Community
                                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                ioBroker Community 2014-2025
                                logo
                                • Login

                                • Don't have an account? Register

                                • Login or register to search.
                                • First post
                                  Last post
                                0
                                • Home
                                • Recent
                                • Tags
                                • Unread 0
                                • Categories
                                • Unreplied
                                • Popular
                                • GitHub
                                • Docu
                                • Hilfe