Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. [Vorlage] Denon HEOS Script

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [Vorlage] Denon HEOS Script

    This topic has been deleted. Only users with topic management privileges can see it.
    • Olli_M
      Olli_M @Meister Mopper last edited by Olli_M

      @meister-mopper

      Japp aber was sollte die docker station damit zu tun haben ?

      Es geht ja sonst auch alles an Adapter , befehlen blockly etc

      jetzt schreib ich alles im detail mache fotos und keiner kann hier helfen 😞

      Meister Mopper DJMarc75 2 Replies Last reply Reply Quote 0
      • Meister Mopper
        Meister Mopper @Olli_M last edited by

        @olli_m

        Na ja, ich habe eine gänzlich andere Konfiguration und kann Dir leider nicht helfen. Aber es gibt ja hier einige, die ebenfalls den ioBroker in docker container laufen lassen.
        Blöd halt, wenn sie kein HEOS nutzen 🤷‍♂️

        Olli_M 1 Reply Last reply Reply Quote 0
        • DJMarc75
          DJMarc75 @Olli_M last edited by

          @olli_m wenn da irgendwelche Ports verwendet werden dann müssen diese im Docker natürlich durchgereicht werden...

          vll findest Du hier einen Ansatz?!

          https://forum.iobroker.net/topic/10420/vorlage-denon-heos-script/176?_=1667232799666

          Habe auch keinen Container am Start und kann da auch nur mühselig Tipps geben.

          Olli_M 1 Reply Last reply Reply Quote 0
          • Olli_M
            Olli_M @Meister Mopper last edited by

            @meister-mopper
            aber verstehe nicht warum es wegen dem Docker nicht laufen soll, wie gesagt es geht ja sonst auch alles

            1 Reply Last reply Reply Quote 0
            • Olli_M
              Olli_M @DJMarc75 last edited by

              @djmarc75

              was für ports sollen da denn durch gereicht werden? ich guck mir das mal an deinen Link

              Der Command reagiert ja scheinbar wenn ich über die HEOS App was aktiviere sehe ich im Debug Modus dass er was macht.

              Ich hoffe immer noch das sich der Entwickler meldet...

              1 Reply Last reply Reply Quote 0
              • W
                withstu @NWH last edited by

                @nwh Das sieht nach Amazon Music aus oder? Die Daten von Heos sind an dieser Stelle fehlerhaft. Bei Amazon Music fehlt der Indikator, dass eine Liste abspielbar ist. Deswegen wurde der "Play all" Button nicht eingeblendet, obwohl ein Play all funktionieren würde. Da hier offenbar ein weiterer Bug bei HEOS vorliegt, habe ich einen Workaround in der neusten Version implementiert. Der Play all Button taucht nun auch bei Amazon auf und funktioniert.

                NWH 1 Reply Last reply Reply Quote 1
                • W
                  withstu @Olli_M last edited by

                  @olli_m Bei mir funktioniert der Command. Aber ich benutze auch kein Docker. Kannst du den Player mit den States next, play etc. steuern?

                  1 Reply Last reply Reply Quote 0
                  • NWH
                    NWH @withstu last edited by

                    @withstu
                    Gerade installiert und funktioniert.
                    Danke du bist der beste. Besser gehts nicht.

                    NWH 1 Reply Last reply Reply Quote 0
                    • NWH
                      NWH @NWH last edited by

                      @withstu
                      Kann es sein, das es noch Probleme gibt wenn es mehrere Player gibt?
                      Auf meinem ersten Player funktioniert die Funktion alle Songs abspielen einer Playlist, aber auf meinem zweiten Player geht es nicht. Da kann ich wie bisher immer nur einen Titel starten.

                      Wenn ich unter Objekte schaue, werden alle Titel der Playlist geladen aber sie wird nicht abgespielt bzw. gestartet.

                      W 1 Reply Last reply Reply Quote 0
                      • W
                        withstu @NWH last edited by

                        @nwh Ich habe es gerade bei mir getestet. Sowohl bei zwei Einzelplayern als auch in einer Gruppe wurde eine Amazon Playlist mit "Play all" abgespielt. Was passiert wenn du manuell dann nochmal auf play drückst? Eventuell fügt HEOS die Lieder nur der Playlist hinzu, aber startet die Wiedergabe nicht.

                        NWH 1 Reply Last reply Reply Quote 0
                        • NWH
                          NWH @withstu last edited by

                          @withstu
                          Habe gerade gesehen das der Player ein update will 🙄
                          Hoffe es geht dann.... ---> Sorry nach dem update geht es......

                          NWH 1 Reply Last reply Reply Quote 0
                          • NWH
                            NWH @NWH last edited by

                            @withstu

                            Ich hätte eine Frage zu den Protokolleinträgen, bekomme plötzlich diese Warnmeldungnen

                            heos.0
                            Zeit
                            debug
                            Nachricht
                            
                            heos.0
                            2022-11-15 08:51:24.698	warn	[Marantz SR7013] [setError] Player Marantz SR7013 has to many leader failures. Reboot. Activate "reboot on failure" in the configuration or reboot manually the device.
                            
                            heos.0
                            2022-11-15 08:51:09.696	warn	[Marantz SR7013] [setError] Player Marantz SR7013 has to many leader failures. Reboot. Activate "reboot on failure" in the configuration or reboot manually the device.
                            
                            heos.0
                            2022-11-15 08:50:54.695	warn	[Marantz SR7013] [setError] Player Marantz SR7013 has to many leader failures. Reboot. Activate "reboot on failure" in the configuration or reboot manually the device.
                            
                            heos.0
                            2022-11-15 08:50:42.984	warn	[setLastError] result=fail,text=ID Not Valid,command=player/get_play_state
                            
                            heos.0
                            2022-11-15 08:50:42.981	warn	[checkDuplicateRequest] Response timed out: player/get_play_state?pid=1784603970. Increase leader failure counter.
                            
                            heos.0
                            2022-11-15 08:50:42.981	warn	[checkDuplicateRequest] Response timed out: player/get_play_state?pid=1784603970. Increase leader failure counter.
                            
                            heos.0
                            2022-11-15 08:50:42.980	warn	[Werkstatt ] [setError] HEOS is not responding as expected. Request timed out. Update play state.
                            
                            heos.0
                            2022-11-15 08:50:42.980	warn	[Werkstatt ] [setError] Player Werkstatt has to many failures. Reboot. Activate "reboot on failure" in the configuration or reboot manually the device.
                            
                            heos.0
                            2022-11-15 08:50:42.980	warn	[Werkstatt ] [setError] Player Werkstatt has to many upnp failures. Reboot. Activate "reboot on failure" in the configuration or reboot manually the device.
                            
                            heos.0
                            2022-11-15 08:50:42.979	warn	[Werkstatt ] [setError] Player Werkstatt has to many timeouts. Reboot. Activate "reboot on failure" in the configuration or reboot manually the device.
                            

                            Was ist hier nicht Richtig?

                            1 Reply Last reply Reply Quote 0
                            • Olli_M
                              Olli_M last edited by

                              @withstu
                              Hi

                              also über mein Blockly schreibt er zwar die DP aber der Denon Ansich verändert nicht seine Laustärke.

                              Es geht aber über diesen JS Befehl:

                              setState('denon.0.zoneMain.volume', 47.5);
                              

                              Jetzt meine Frage bekomme ich da auch eine Bedinung rein wenn z.b. der Input auf TV ist Lautstärke XY

                              Hätte 3 Bedingungen wo er die Lautstärke verändern müsste anhand vom Eingang.

                              TV
                              BD
                              DVD

                              Geht das mit JS?

                              Negalein 1 Reply Last reply Reply Quote 0
                              • Negalein
                                Negalein Global Moderator @Olli_M last edited by

                                @olli_m sagte in [Vorlage] Denon HEOS Script:

                                Jetzt meine Frage bekomme ich da auch eine Bedinung rein wenn z.b. der Input auf TV ist Lautstärke XY

                                siehe dazu deinen anderen Thread.
                                Du musst nicht JS und Blockly mischen.
                                Geht easy mit denon.0.zoneMain.volume und denon.0.zoneMain.selectInput

                                Olli_M 1 Reply Last reply Reply Quote 0
                                • Olli_M
                                  Olli_M @Negalein last edited by

                                  @negalein
                                  es geht ja eben nicht. Hab das Blockly nochmal neu aufgesetzt ohne den Aufruf des JS.

                                  Und wenn ich nur den JS Befehl nutze geht es ja nur da hab ich die Bedinung nicht drin.

                                  Aktuell ist nichts vermischt 🙂

                                  Negalein 1 Reply Last reply Reply Quote 0
                                  • Negalein
                                    Negalein Global Moderator @Olli_M last edited by

                                    @olli_m sagte in [Vorlage] Denon HEOS Script:

                                    es geht ja eben nicht. Hab das Blockly nochmal neu aufgesetzt ohne den Aufruf des JS.
                                    Und wenn ich nur den JS Befehl nutze geht es ja nur da hab ich die Bedinung nicht drin.
                                    Aktuell ist nichts vermischt

                                    hab dir drüben geantwortet

                                    1 Reply Last reply Reply Quote 1
                                    • R
                                      Ratze last edited by

                                      Liebe HEOS Gemeinde vielleicht kann mir hier geholfen werden...

                                      Nach welchen Kriterien wird das Heos / Denon Gerät gesucht?
                                      Lediglich auf Port 1255?
                                      Muss das Heos Gerät im gleich Netzwerk wie der Adapter / IoBroker sein?
                                      Falls ja, gibt es eine einfache Möglichkeit eine feste IP-Adresse zu hinterlegen?

                                      Beides, der HEOS-Adapter und auch das Uhula Script finden keinen Player.
                                      Aus allen Netzen kann ich den Denon Home Player via IP-Adresse über Telnet mit Port 1255
                                      ansprechen.
                                      Bei Anfrage über IP-Adresse funktioniert das Routing anscheinend nur auf Port-Ebene evtl. nicht bis schlecht 😉 im Netzwerk

                                      Bin für jede Hilfe bzw. Tipps dankbar

                                      W 1 Reply Last reply Reply Quote 0
                                      • W
                                        withstu @Ratze last edited by withstu

                                        @ratze Für die Suche der Player wird das Protokoll SSDP verwendet (https://de.m.wikipedia.org/wiki/Simple_Service_Discovery_Protocol), welches die Multicast Pakete der Player über UDP findet. Ich schaue mal, ob ich als Fallback zur automatischen Suche auch einen manuelle IP Konfiguration ermögliche. Die IP sollte dann aber statisch sein.

                                        Zum Testen der SSDP Suche hatte ich mal folgendes Script im Adapter hinzugefügt. Vielleicht hilft es ja beim Debuggen:
                                        https://github.com/withstu/ioBroker.heos/blob/main/test/node-ssdp/index.js

                                        R 1 Reply Last reply Reply Quote 0
                                        • R
                                          Ratze @withstu last edited by Ratze

                                          @withstu
                                          Super für die schnelle Antwort... 🙂
                                          Habe gestern Abend noch den Home350 ins IoBroker Netz (gleiche 192.xxx.xxx.xxx/24) gehangen.
                                          Über den UPNP Adapter wird er erkannt.
                                          Also SSDP sagt mir inziwschen etwas und ich kann auch sehen wo er aktiv ist.

                                          
                                          pi@Iobroker:~ $ npm list node-ssdp
                                          /home/pi
                                          `-- (empty)
                                          
                                          pi@Iobroker:~ $ cd /opt/iobroker
                                          pi@Iobroker:/opt/iobroker $ npm list node-ssdp
                                          iobroker.inst@3.0.0 /opt/iobroker
                                          +-- iobroker.discovery@3.1.0
                                          | `-- node-ssdp@4.0.1 deduped
                                          +-- iobroker.heos@1.10.0
                                          | `-- node-ssdp@4.0.1 deduped
                                          +-- iobroker.javascript@6.1.4
                                          | `-- node-ssdp@4.0.1
                                          +-- iobroker.upnp@1.0.21
                                          | `-- node-ssdp@4.0.1 deduped
                                          `-- node-ssdp@4.0.1
                                          
                                          

                                          Über Telnet kann ich allerdings die Zustände / Statis des Home350 abfragen.

                                          const searchTargetName = 'urn:schemas-denon-com:device:ACT-Denon:1'
                                          

                                          Ich gehe mal davon aus, dass ACT-Denon:1 nicht unbedingt über Telnet mit Port 1255
                                          zurückgegeben wird.

                                          Der UPNP Adapter zeigt folgendes Ergebnis an

                                          adf017a8-ad58-4ab7-8174-91abdc691c2d-grafik.png

                                          {
                                            "type": "device",
                                            "common": {
                                              "name": "350SLE",
                                              "extIcon": "http://192.xxx.xxx.xxx:60006"
                                            },
                                            "native": {
                                              "ip": "192.xxx.xxx.xxx",
                                              "port": 60006,
                                              "uuid": "b63f6000-af30-1683-0080-00a96f0fdfe4",
                                              "deviceType": "urn:schemas-denon-com:device:AiosDevice:1",
                                              "manufacturer": "Denon",
                                              "manufacturerURL": "http://www.denon.com",
                                              "modelNumber": "Aios 6.0S",
                                              "modelDescription": "",
                                              "modelName": "Denon Home 350",
                                              "modelURL": "",
                                              "name": "350SLE"
                                            },
                                            "from": "system.adapter.upnp.0",
                                            "user": "system.user.admin",
                                            "ts": 1676664594189,
                                            "_id": "upnp.0.350SLE.AiosDevice",
                                            "acl": {
                                              "object": 1636,
                                              "owner": "system.user.admin",
                                              "ownerGroup": "system.group.administrator"
                                            }
                                          }
                                          

                                          Der Überblick was Telnet über heos://player/get_player_info? zurückgibt

                                          heos://player/get_player_info?pid=-1234567890
                                          {"heos": {"command": "player/get_player_info", 
                                          "result": "success", "message": "                     pid=-1234567890"},
                                          "payload": {"name": "350SLE", "pid": -1234567890, "model": "D                     enon Home 350",
                                          "version": "2.71.510", "ip": "192.xxx.xxxx.xxx", "network": "wifi"                     , 
                                          "lineout": 0,
                                          "serial": "BME27234567899"}}
                                          
                                          

                                          https://github.com/withstu/ioBroker.heos/blob/main/test/node-ssdp/index.js
                                          Das Script ist im Einsatz, Debug gibt invalid Response State aus... macht aber eine Schleife
                                          beide der Player Suche... Ich vermute das mein Home350 evtl. ein anderes Ergebnis als

                                          searchTargetName = 'urn:schemas-denon-com:device:ACT-Denon:1'
                                          

                                          zurück gibt.

                                          Was ich noch gefunden habe...
                                          https://support-de.denon.com/app/answers/detail/a_id/4720/~/netzwerk-anforderungen-fÜr-heos
                                          Laut Denon Support-Seite sind folgende Voraussetzungen zu erfüllen
                                          Der Bereich zwischen 50000 und 64999 für MediaRenderer und 60006 für Media Server.

                                          Darüber hinaus ist für UPnP ein Multicast-Zugriff zu 239.255.255.250:1900 zusammen mit den entsprechenden "IGMP Control Messages" zu ermöglichen.

                                          Wirklich vielen Dank... an alle die sich die Mühe machen Scripte und Adapter
                                          für uns zu erstellen und dann die bereit sind Mensche wie mir zu helfen!!!
                                          Dankesehr

                                          Zum UPNP-Adapter https://github.com/Jey-Cee/ioBroker.upnp/blob/master/main.js
                                          Dieser hat tatsähclich im Skript den Aufruf bzgl. SSDP-IP zu 239.255.255.250

                                           let server = new Server({ssdpIp: '239.255.255.250'});
                                          

                                          Und den Parameter bei der Suche

                                          client.search('ssdp:all');
                                          

                                          (Was mir bewusst ist, dass alle möglichen UPNP Geräte über die UPNP-Adapter Suche gefunden werden sollen)

                                          1 Reply Last reply Reply Quote 0
                                          • R
                                            Ratze last edited by Ratze

                                            Danke für die Hilfe, habe in der Zwischenzeit den Player Home 350 eingebunden.

                                            Netzwerke nochmals kontrolliert Multicast auf dem Wifi-Netz freigegeben.

                                            Änderung im Script

                                            const searchTargetName = 'urn:schemas-denon-com:device:AiosDevice:1';
                                            

                                            Zappp... Ist der HEOS-Player aufgetaucht.

                                            danke danke... Danke @Uhula für das Script... Super arbeit!
                                            Ups mit ist da etwas entgangen!
                                            Herr @withstu ... ich möchte mich für den HEOS-Adapter Bedanken (WOW)
                                            und noch mal Danke für den Einsatz.

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            480
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            javascript template
                                            45
                                            341
                                            55735
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo