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 goes Matter ... Matter Adapter in Stable

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    [Vorlage] Denon HEOS Script

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

      @olli_m

      Ist das eine docker Installation? Dann bin ich raus.

      Olli_M 1 Reply Last reply Reply Quote 0
      • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            635
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            javascript template
                                            45
                                            341
                                            53042
                                            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