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. Skripten / Logik
  4. JavaScript
  5. [Vorlage] Denon HEOS Script

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

[Vorlage] Denon HEOS Script

Scheduled Pinned Locked Moved JavaScript
javascripttemplate
358 Posts 48 Posters 83.0k Views 44 Watching
  • 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.
  • B Brati

    @bouster die Syntax aufm Handy ist immer schwer, du kannst den o.g. State aus dem Adapter per setState so wie beschrieben setzen. Das sollte ohne das Heos Script funktionieren.

    B Offline
    B Offline
    bouster
    wrote on last edited by
    #241

    @brati tut mir leid, ich verstehe nicht genau was du meinst. Meinst du so:

    setState("javascript.1.heos.command"/Kommando für Heos-Script/, (['browse/play_preset?pid=',getState("0_userdata.0.HeosSelected_ID").val,'&preset=3'].join('')));

    B ? 2 Replies Last reply
    0
    • B bouster

      @brati tut mir leid, ich verstehe nicht genau was du meinst. Meinst du so:

      setState("javascript.1.heos.command"/Kommando für Heos-Script/, (['browse/play_preset?pid=',getState("0_userdata.0.HeosSelected_ID").val,'&preset=3'].join('')));

      B Offline
      B Offline
      bouster
      wrote on last edited by
      #242

      Ok, ich denke jetzt habe ich verstanden was du gemeint hast. Danke, habs hinbekommen.

      B 1 Reply Last reply
      0
      • B bouster

        Ok, ich denke jetzt habe ich verstanden was du gemeint hast. Danke, habs hinbekommen.

        B Offline
        B Offline
        Brati
        wrote on last edited by
        #243

        @bouster sehr gut, jetzt hätte ich auch wieder Zugriff auf den PC :).

        CCU2 - 46 Geräte, ioBroker auf Intel NUC (DN2820FYKH) mit Tab als Frontend, Projekt Gartenhaus mit HM

        1 Reply Last reply
        0
        • B bouster

          @brati tut mir leid, ich verstehe nicht genau was du meinst. Meinst du so:

          setState("javascript.1.heos.command"/Kommando für Heos-Script/, (['browse/play_preset?pid=',getState("0_userdata.0.HeosSelected_ID").val,'&preset=3'].join('')));

          ? Offline
          ? Offline
          A Former User
          wrote on last edited by
          #244

          @bouster

          Hallo,

          wie erstelle ich den HEOS Player im VIS und wie bekomme ich Zugriff das es mir mein Musikarchiv anzeigt was auf meinem NAS ist?

          In der HEOS App habe ich bereits Zugriff darauf.

          Danke Euch

          Olli

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

            Wie bekomme dieses Widget mit dem Player hin?

            Bildschirmfoto 2021-08-17 um 13.05.14.png

            B 1 Reply Last reply
            0
            • ? A Former User

              Wie bekomme dieses Widget mit dem Player hin?

              Bildschirmfoto 2021-08-17 um 13.05.14.png

              B Offline
              B Offline
              Brati
              wrote on last edited by
              #246

              @olli_m

              Hallo Olli,

              warum installierst du nicht den Denon/ HEOS Adapter. Den Rest baust du dir im vis zusammen, also das Album Cover aus dem State, die Knöpfe werden mit dem zu bedienenden Commando verknüpft usw...

              Grüße

              Brati

              CCU2 - 46 Geräte, ioBroker auf Intel NUC (DN2820FYKH) mit Tab als Frontend, Projekt Gartenhaus mit HM

              ? 1 Reply Last reply
              0
              • B Brati

                @olli_m

                Hallo Olli,

                warum installierst du nicht den Denon/ HEOS Adapter. Den Rest baust du dir im vis zusammen, also das Album Cover aus dem State, die Knöpfe werden mit dem zu bedienenden Commando verknüpft usw...

                Grüße

                Brati

                ? Offline
                ? Offline
                A Former User
                wrote on last edited by A Former User
                #247

                @brati

                Hi Brati,

                habe den Adapter installiert sogar, aber möchte ja trotzdem noch ne Browse View z.b. haben wie es hier ist:

                https://github.com/withstu/ioBroker.heos

                Wie es da beschrieben ist :

                Browse Widget: browse_player_widget.json
                Browse View: browse_view.json
                Browse HTML Generation Script: browse.js

                Aber da versteh ich nicht ganz die schritte wie ich das hinbekomme bzw. ich eigentlich lieber eine eigene View im VIS erstellen möchte.

                Welches Widget nutz ich z.b. wenn ich so playbutton machen möchte? VIS ist echt noch neuland für mich :-)

                Lg

                B 1 Reply Last reply
                0
                • ? A Former User

                  @brati

                  Hi Brati,

                  habe den Adapter installiert sogar, aber möchte ja trotzdem noch ne Browse View z.b. haben wie es hier ist:

                  https://github.com/withstu/ioBroker.heos

                  Wie es da beschrieben ist :

                  Browse Widget: browse_player_widget.json
                  Browse View: browse_view.json
                  Browse HTML Generation Script: browse.js

                  Aber da versteh ich nicht ganz die schritte wie ich das hinbekomme bzw. ich eigentlich lieber eine eigene View im VIS erstellen möchte.

                  Welches Widget nutz ich z.b. wenn ich so playbutton machen möchte? VIS ist echt noch neuland für mich :-)

                  Lg

                  B Offline
                  B Offline
                  Brati
                  wrote on last edited by
                  #248

                  @olli_m Ich verstehe leider dein Problem nicht so ganz.

                  Wenn du das aktuelle Cover angezeigt haben möchtest, dann nimmst du:

                  • basic string img src

                  und legst unter Objekt ID den State "heos.0.players.***.current_image_url" ab

                  Natürlich deinen State nehmen...

                  Der Vorspul Button ist ein "ctrl icon state" und damit setzt du den State "heos.0.players.***.next" auf "true"

                  usw. usw. wie du es haben möchtest...

                  Grüße

                  Brati

                  CCU2 - 46 Geräte, ioBroker auf Intel NUC (DN2820FYKH) mit Tab als Frontend, Projekt Gartenhaus mit HM

                  ? 1 Reply Last reply
                  0
                  • B Brati

                    @olli_m Ich verstehe leider dein Problem nicht so ganz.

                    Wenn du das aktuelle Cover angezeigt haben möchtest, dann nimmst du:

                    • basic string img src

                    und legst unter Objekt ID den State "heos.0.players.***.current_image_url" ab

                    Natürlich deinen State nehmen...

                    Der Vorspul Button ist ein "ctrl icon state" und damit setzt du den State "heos.0.players.***.next" auf "true"

                    usw. usw. wie du es haben möchtest...

                    Grüße

                    Brati

                    ? Offline
                    ? Offline
                    A Former User
                    wrote on last edited by A Former User
                    #249

                    @brati

                    danke dir :-)

                    ich komme mit diesem VIS noch nicht ganz zu recht muss ich zugeben.

                    Hier bei zwei inventwo widgets finde ich auch nirgends wo ich den Border Schatten noch die Farbe (türkis) weg nehmen kann. In den eigenschaften ist auch nichts hinterlegt.

                    Unbenannt.PNG

                    und bei dem zweiten bekommt man nicht mal die schriftart in die Mitte.

                    Wahrscheinlich stell ich mich zu doof an oder es ist fest in dem widget hinterlegt?

                    Unbenannt1.PNG

                    1 Reply Last reply
                    0
                    • UhulaU Uhula

                      Anbei ein kleines Script um die browse_results des HEOS Adapters in einer Liste darstellen zu können. Im folgenden Beispiel ist es im modalen Dialog zu sehen (die am Anfang zu sehenden Cards usw. gehören nicht dazu, die entstammen dem MDCSS). Das Script benötigt keine weiteren ui's sondern erzeugt reines HTML/CSS. Viel Freude - und danke an @withstu für seinen Adapter.
                      heos_browse.gif

                      HEOS Media-Browser-Script

                      Der HEOS Adapter (https://github.com/withstu/ioBroker.heos) erlaubt neben der Steuerung der HEOS Geräte auch das
                      Navigieren durch die Musikquellen. Allerdings muss hierzu noch ein serverseitiges Script laufen, welches die
                      Navigationsergebnisse in eine HTML Darstellung überträgt, so dass diese in einem basic-string(unescaped)-Widget
                      darstellbar und bedienbar werden.

                      Genau macht dieses Script.

                      Installation

                      • HEOS-Adapter installieren und starten (https://github.com/withstu/ioBroker.heos)
                      • HTML-State "0_userdata.0.heos.browse_result_html" als Zeichenkette anlegen (alternativ eigener State, dann in der Konfiguration anpassen)
                      • dieses Script im Admin unter Skripte als neues Script hinzufügen.
                      • dieses Script starten
                      • in der ioBroker-vis ein basic-string(unescaped)-Widget in einem View einfügen, den HTML-State zuweisen
                      • View ausführen

                      (c) Uhula, MIT License, no warranty, use on your own risc

                      Script: heos_browse.js

                      foxriver76F Offline
                      foxriver76F Offline
                      foxriver76
                      Developer
                      wrote on last edited by
                      #250

                      @uhula sehr cool, mit welchen MDUI css Klassen lässt sich denn dieses Overlay bauen? Dachte mit der toggle Funktionalität ginge es, nur mag das bei mir leider nicht.

                      Videotutorials & mehr

                      Hier könnt ihr mich unterstützen.

                      1 Reply Last reply
                      0
                      • W withstu

                        @NWH Da gibt es mehrere Varianten:

                        • Per command: Den command state eines players mit folgendem Text füllen "play_preset&preset=1". Die Nummer ist der entsprechende Favorit. (oder um es auf allen Playern abzuspielen den State heos.0.command mit leader/play_preset&preset=1 füllen).
                        • Per State: Zunächst einmal die aktuellen Favoriten abrufen, indem folgender State auf true gesetzt wird: heos.0.sources.1028.browse. Anschließend werden die Favoriten unter heos.0.sources.1028 aufgelistet. Diese enthalten jeweils auch einen play state. In Vis lässt sich ein jqui - Icon State Button wie folgt konfigurieren:
                          Bildschirmfoto von 2021-01-06 18-34-57.png
                        S Offline
                        S Offline
                        strippe
                        wrote on last edited by
                        #251

                        @withstu said in [Vorlage] Denon HEOS Script:

                        @NWH Da gibt es mehrere Varianten:

                        • Per command: Den command state eines players mit folgendem Text füllen "play_preset&preset=1". Die Nummer ist der entsprechende Favorit. (oder um es auf allen Playern abzuspielen den State heos.0.command mit leader/play_preset&preset=1 füllen).
                        • Per State: Zunächst einmal die aktuellen Favoriten abrufen, indem folgender State auf true gesetzt wird: heos.0.sources.1028.browse. Anschließend werden die Favoriten unter heos.0.sources.1028 aufgelistet. Diese enthalten jeweils auch einen play state. In Vis lässt sich ein jqui - Icon State Button wie folgt konfigurieren:
                          Bildschirmfoto von 2021-01-06 18-34-57.png

                        Sehr cool - der Adapter.
                        Ich habe ihn auch teilweise ans laufen bekommen - verzweifle aber an den Favoriten:

                        heos.0.sources.1028.browse ist bei mir nicht vorhanden. Ist der manuell anzulegen?
                        Vielen Dank

                        S 1 Reply Last reply
                        0
                        • S strippe

                          @withstu said in [Vorlage] Denon HEOS Script:

                          @NWH Da gibt es mehrere Varianten:

                          • Per command: Den command state eines players mit folgendem Text füllen "play_preset&preset=1". Die Nummer ist der entsprechende Favorit. (oder um es auf allen Playern abzuspielen den State heos.0.command mit leader/play_preset&preset=1 füllen).
                          • Per State: Zunächst einmal die aktuellen Favoriten abrufen, indem folgender State auf true gesetzt wird: heos.0.sources.1028.browse. Anschließend werden die Favoriten unter heos.0.sources.1028 aufgelistet. Diese enthalten jeweils auch einen play state. In Vis lässt sich ein jqui - Icon State Button wie folgt konfigurieren:
                            Bildschirmfoto von 2021-01-06 18-34-57.png

                          Sehr cool - der Adapter.
                          Ich habe ihn auch teilweise ans laufen bekommen - verzweifle aber an den Favoriten:

                          heos.0.sources.1028.browse ist bei mir nicht vorhanden. Ist der manuell anzulegen?
                          Vielen Dank

                          S Offline
                          S Offline
                          strippe
                          wrote on last edited by
                          #252

                          Gerade auf einem anderen Rechner dieselbe installation gemacht - und da ist alles da.

                          Die eigentliche Installation ist auf einer Docker installation aktiv.
                          Kann es sein, dass ich dort nicht alle Ports freigegeben habe.
                          Habt Ihr Ideen, welche Ports der Denon/Heos/Iobroker benötigt.

                          Vielen Dank

                          W 1 Reply Last reply
                          0
                          • J Offline
                            J Offline
                            JH-Biss
                            wrote on last edited by
                            #253

                            Hallo,
                            zuerst einmal das ist ein super Adapter, er läuft bei mir mit einen Marantz Reciver und einer Denon 150 problemlos. Meine Frage ist wie bekomme ich die angaben heos.0.players.180380196.current_image_color_background und heos.0.players.180380196.current_image_color_foreground im Vis in Widget´s dargestellt. Gibt es sowas überhaupt oder läuft das über CSS?

                            W 1 Reply Last reply
                            0
                            • J JH-Biss

                              Hallo,
                              zuerst einmal das ist ein super Adapter, er läuft bei mir mit einen Marantz Reciver und einer Denon 150 problemlos. Meine Frage ist wie bekomme ich die angaben heos.0.players.180380196.current_image_color_background und heos.0.players.180380196.current_image_color_foreground im Vis in Widget´s dargestellt. Gibt es sowas überhaupt oder läuft das über CSS?

                              W Offline
                              W Offline
                              withstu
                              wrote on last edited by
                              #254

                              @jh-biss Schau mal in die Adapter Readme. Da hatte ich den VIS Code für meine Player Darstellung hinterlegt. Da müsstest du dann eigentlich nur noch die Player ID austauschen (heos.0.players.<playerid>.current_image_color_background: https://github.com/withstu/ioBroker.heos/blob/master/docs/vis/views/player_view.json

                              Textfarbe - CSS|color: {val:heos.0.players.123456789.current_image_color_foreground; val == "" ? "#fff": val}
                              Hintergrundfarbe: CSS|background-color: {val:heos.0.players.123456789.current_image_color_background; val == "" ? "grey": val}

                              1 Reply Last reply
                              0
                              • S strippe

                                Gerade auf einem anderen Rechner dieselbe installation gemacht - und da ist alles da.

                                Die eigentliche Installation ist auf einer Docker installation aktiv.
                                Kann es sein, dass ich dort nicht alle Ports freigegeben habe.
                                Habt Ihr Ideen, welche Ports der Denon/Heos/Iobroker benötigt.

                                Vielen Dank

                                W Offline
                                W Offline
                                withstu
                                wrote on last edited by
                                #255

                                @strippe Es wird eigentlich nur der Port 1255 benötigt. Eventuell musst du für Docker den UDP Source Port in der HEOS Konfiguration noch definieren und explizit eintragen? Sonst wird für die Suche ein zufälliger Port genommen.

                                1 Reply Last reply
                                0
                                • W withstu

                                  @NWH Da gibt es mehrere Varianten:

                                  • Per command: Den command state eines players mit folgendem Text füllen "play_preset&preset=1". Die Nummer ist der entsprechende Favorit. (oder um es auf allen Playern abzuspielen den State heos.0.command mit leader/play_preset&preset=1 füllen).
                                  • Per State: Zunächst einmal die aktuellen Favoriten abrufen, indem folgender State auf true gesetzt wird: heos.0.sources.1028.browse. Anschließend werden die Favoriten unter heos.0.sources.1028 aufgelistet. Diese enthalten jeweils auch einen play state. In Vis lässt sich ein jqui - Icon State Button wie folgt konfigurieren:
                                    Bildschirmfoto von 2021-01-06 18-34-57.png
                                  M Offline
                                  M Offline
                                  MAXI885
                                  wrote on last edited by
                                  #256

                                  @withstu Vielen Dank für die vielen Tipps und die Arbeit, ich konnte eigentlich soweit alles umsetzten.
                                  Ich kann nun auch per Knopfdruck Favoriten oder eine HEOS-Playlist starten. Aber entweder finde ich es einfach nicht oder es ist tatsächlich nicht möglich eine Playlist nachträglich zu ändern ? Also etwas zu entfernen oder hinzuzufügen ?
                                  Das Problem ist, dass die Playlist dann jedes Mal wenn ich sie verändere und unter dem gleichen Namen speichere eine neue ID bekommt und ich die Parameter anpassen muss. Gibt es da auch eine andere Möglichkeit ? Und zweite Frage, hat man über den Adapter auch den Zugriff auf eine Spotify-Playlist ? Evtl. über eine URL oder ähnliches ? Das würde die Sache etwas einfacher machen :-)
                                  Vielen Dank.

                                  NWHN 1 Reply Last reply
                                  0
                                  • M MAXI885

                                    @withstu Vielen Dank für die vielen Tipps und die Arbeit, ich konnte eigentlich soweit alles umsetzten.
                                    Ich kann nun auch per Knopfdruck Favoriten oder eine HEOS-Playlist starten. Aber entweder finde ich es einfach nicht oder es ist tatsächlich nicht möglich eine Playlist nachträglich zu ändern ? Also etwas zu entfernen oder hinzuzufügen ?
                                    Das Problem ist, dass die Playlist dann jedes Mal wenn ich sie verändere und unter dem gleichen Namen speichere eine neue ID bekommt und ich die Parameter anpassen muss. Gibt es da auch eine andere Möglichkeit ? Und zweite Frage, hat man über den Adapter auch den Zugriff auf eine Spotify-Playlist ? Evtl. über eine URL oder ähnliches ? Das würde die Sache etwas einfacher machen :-)
                                    Vielen Dank.

                                    NWHN Offline
                                    NWHN Offline
                                    NWH
                                    wrote on last edited by NWH
                                    #257

                                    @withstu @Uhula
                                    Ich schreibe hier mal weiter, mit der Hoffnung, dass ich hier noch eine Antwort bekomme.

                                    Ich habe alles nach der Anleitung gemacht. Github-Heos
                                    Es funktioniert alles mit einem Player perfekt.

                                    Ich habe mehre Heos Boxen. Jetzt würde ich gerne für jede Box ein Browse Funktion haben. Oder ist es möglich das man auswählen kann, welche Box bespielt wird.
                                    Was muss ich wo eintragen?

                                    Wenn ich hier die Player Id eintrage dann spielt zwar die View auf und der Player spielt, aber alle anderen auch.

                                    2feb62a0-b8da-45ff-95d0-fe671d19a7c2-image.png

                                    W 1 Reply Last reply
                                    0
                                    • NWHN NWH

                                      @withstu @Uhula
                                      Ich schreibe hier mal weiter, mit der Hoffnung, dass ich hier noch eine Antwort bekomme.

                                      Ich habe alles nach der Anleitung gemacht. Github-Heos
                                      Es funktioniert alles mit einem Player perfekt.

                                      Ich habe mehre Heos Boxen. Jetzt würde ich gerne für jede Box ein Browse Funktion haben. Oder ist es möglich das man auswählen kann, welche Box bespielt wird.
                                      Was muss ich wo eintragen?

                                      Wenn ich hier die Player Id eintrage dann spielt zwar die View auf und der Player spielt, aber alle anderen auch.

                                      2feb62a0-b8da-45ff-95d0-fe671d19a7c2-image.png

                                      W Offline
                                      W Offline
                                      withstu
                                      wrote on last edited by
                                      #258

                                      @nwh Das sieht soweit in Ordnung aus. Ein Browse für einzelne Player ist möglich und wird über den Wert heos.0.command_scope_pid gesteuert. Dieser muss man PopUp Aufruf auf die PID des jeweiligen Player gesetzt werden. Wenn der State leer gelassen wird, werden üblicherweise alle Player angesteuert. Was hast du in den Adaptereinstellungen unter Abspieleinstellungen -> Befehlsbereich für scope/[cmd] eingestellt? Da sollte "Player-IDs im State command_scope_pid" ausgewählt werden.

                                      NWHN ? 2 Replies Last reply
                                      0
                                      • W withstu

                                        @nwh Das sieht soweit in Ordnung aus. Ein Browse für einzelne Player ist möglich und wird über den Wert heos.0.command_scope_pid gesteuert. Dieser muss man PopUp Aufruf auf die PID des jeweiligen Player gesetzt werden. Wenn der State leer gelassen wird, werden üblicherweise alle Player angesteuert. Was hast du in den Adaptereinstellungen unter Abspieleinstellungen -> Befehlsbereich für scope/[cmd] eingestellt? Da sollte "Player-IDs im State command_scope_pid" ausgewählt werden.

                                        NWHN Offline
                                        NWHN Offline
                                        NWH
                                        wrote on last edited by NWH
                                        #259

                                        @withstu
                                        fd03a92f-e45e-4746-b0fa-047d75b31a58-image.png

                                        Das steh bei mir!

                                        Was ist wenn ich hier Player-IDs im State command_scope-pid einstelle?

                                        a09b55a3-da8f-4134-a12b-abd5d4413a2b-image.png

                                        NWHN 1 Reply Last reply
                                        0
                                        • NWHN NWH

                                          @withstu
                                          fd03a92f-e45e-4746-b0fa-047d75b31a58-image.png

                                          Das steh bei mir!

                                          Was ist wenn ich hier Player-IDs im State command_scope-pid einstelle?

                                          a09b55a3-da8f-4134-a12b-abd5d4413a2b-image.png

                                          NWHN Offline
                                          NWHN Offline
                                          NWH
                                          wrote on last edited by
                                          #260

                                          @nwh @withstu

                                          Danke für den Tipp mit den Adapter Einstellungen. Die Lösung war im Befehlsbereich "Player-IDs im State command_scope-pid" einzustellen. Jetzt funktioniert es.

                                          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

                                          725

                                          Online

                                          32.6k

                                          Users

                                          82.2k

                                          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