Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
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

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    5
    1
    39

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.4k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.3k

[Projekt] Google Home steuert Denon AV-Receiver

Geplant Angeheftet Gesperrt Verschoben Praktische Anwendungen (Showcase)
15 Beiträge 5 Kommentatoren 7.8k Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • uweklattU Offline
    uweklattU Offline
    uweklatt
    schrieb am zuletzt editiert von
    #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 Antwort Letzte Antwort
    0
    • eric2905E Offline
      eric2905E Offline
      eric2905
      schrieb am zuletzt editiert von
      #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 Antwort Letzte Antwort
      0
      • J Offline
        J Offline
        jsoentgen
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        0
        • uweklattU Offline
          uweklattU Offline
          uweklatt
          schrieb am zuletzt editiert von
          #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 Antwort Letzte Antwort
          0
          • M Offline
            M Offline
            maxpd
            schrieb am zuletzt editiert von
            #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 Antwort Letzte Antwort
            0
            • uweklattU Offline
              uweklattU Offline
              uweklatt
              schrieb am zuletzt editiert von
              #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 Antwort Letzte Antwort
              0
              • J Offline
                J Offline
                jsoentgen
                schrieb am zuletzt editiert von
                #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 Antwort Letzte Antwort
                0
                • uweklattU Offline
                  uweklattU Offline
                  uweklatt
                  schrieb am zuletzt editiert von
                  #8

                  Danke für die Info.

                  Tschau

                  Uwe

                  Proxmox/LXC/Docker

                  1 Antwort Letzte Antwort
                  0
                  • J Offline
                    J Offline
                    jsoentgen
                    schrieb am zuletzt editiert von
                    #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 Antwort Letzte Antwort
                    0
                    • M Offline
                      M Offline
                      maxpd
                      schrieb am zuletzt editiert von
                      #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 Antwort Letzte Antwort
                      0
                      • uweklattU Offline
                        uweklattU Offline
                        uweklatt
                        schrieb am zuletzt editiert von
                        #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 Antwort Letzte Antwort
                        0
                        • M Offline
                          M Offline
                          maxpd
                          schrieb am zuletzt editiert von
                          #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 Antwort Letzte Antwort
                          0
                          • ? Offline
                            ? Offline
                            Ein ehemaliger Benutzer
                            schrieb am zuletzt editiert von
                            #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 Antwort Letzte Antwort
                            0
                            • uweklattU Offline
                              uweklattU Offline
                              uweklatt
                              schrieb am zuletzt editiert von
                              #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 Antwort Letzte Antwort
                              0
                              • ? Offline
                                ? Offline
                                Ein ehemaliger Benutzer
                                schrieb am zuletzt editiert von
                                #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 Antwort Letzte Antwort
                                0
                                Antworten
                                • In einem neuen Thema antworten
                                Anmelden zum Antworten
                                • Älteste zuerst
                                • Neuste zuerst
                                • Meiste Stimmen


                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                588

                                Online

                                32.5k

                                Benutzer

                                81.7k

                                Themen

                                1.3m

                                Beiträge
                                Community
                                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                ioBroker Community 2014-2025
                                logo
                                • Anmelden

                                • Du hast noch kein Konto? Registrieren

                                • Anmelden oder registrieren, um zu suchen
                                • Erster Beitrag
                                  Letzter Beitrag
                                0
                                • Home
                                • Aktuell
                                • Tags
                                • Ungelesen 0
                                • Kategorien
                                • Unreplied
                                • Beliebt
                                • GitHub
                                • Docu
                                • Hilfe