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.
    • W
      withstu @chrisblu last edited by withstu

      @chrisblu Das hing damit zusammen, dass die Favoriten bereits abgerufen wurden, obwohl die HEOS Anmeldung noch nicht abgeschlossen war. Habe die zwei neuen States signed_in und signed_in_user hinzugefügt: heos.js

      EDIT: In der Auswertung des übergeordneten Commands gab es noch einen Bug.

      1 Reply Last reply Reply Quote 0
      • C
        chrisblu last edited by

        @withstu super, danke, habe das Skritpt eingespielt.
        Vielleicht kurzer Erfahrungsbericht: Skript (also letzte Version) lief sehr stabil. Ich hatte Zwischenzeitlich mal einen Lautsprecher abgeschaltet (vom Strom getrennt). Wurde später wieder gefunden. Läuft alles gut.
        Im neuen Skript zeigt er jetzt den Loginnamen und Status an... Prima

        Lustigerweise ist mir noch Folgendes aufgefallen, ist aber ein Fehler der Heos-App:
        Ich habe ein Verzeichnisse mit Hörspielen, jedes eine mp3, die ein Cover drinnen gespeichert hat. Wenn ich mir die über DLNA-Ordneransicht zeigen lasse, haben alle das selbe Bild - da wird scheinbar nur das erste gelesen, im Verzeichnis selber liegt kein Bild. Auch wenn ich die Titel abspiele, wird mir ein falsches Bild angezeigt. In VIS zeige ich mir die URL zum Cover an, da wird das richtige Cover angezeigt. Aber das nur so nebenbei.

        Viele Grüße,
        Christian

        B 1 Reply Last reply Reply Quote 0
        • B
          beowulf123456 @chrisblu last edited by

          Hallo,

          ich interessiere mich auch sehr für das HEOS Script. Leider klappt es bei mir nicht.
          Die States ließt er mir Korrekt in die Objekte aus.

          Aber einen Command zur Steuerung absetzen klappt nicht z.b. Lauter Leiser Mute, so wie im Kommentar beschrieben!!

          screenshot.png
          Im Script zeigt er mir auch mehrere Fehler an u.a. Findet der anscheinend das node-ssdp nicht. Obwohl ich es unter den Zusätzlichen npm Modulen im Script Adapter hinterlegt habe.

          Was mache ich Falsch?

          Viele Grüße

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

            @beowulf123456 zeig mal bitte die Adapterkonfiguration.

            1 Reply Last reply Reply Quote 0
            • B
              beowulf123456 last edited by

              Hallo, das ist meine Konfiguration.
              Die Version des Javascript Adapters die neueste. screenshot-192.168.178.244_8081-2020.05.11-17_48_01.png
              Das ganze läuft auf Raspian auf einem Raspi 4

              Danke sehr

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

                @beowulf123456 Sieht amtlich aus. Wie und wo setzt Du den command ab (in Objekten oder vis)?

                1 Reply Last reply Reply Quote 0
                • B
                  beowulf123456 last edited by

                  Ich habe es bisher direkt über das Object versucht, als auch über blocky. Siehe Screenshot

                  screenshot-192.168.178.244_8081-2020.05.11-18_10_00.png
                  screenshot-192.168.178.244_8081-2020.05.11-18_11_30.png

                  Beides scheint jedoch nicht zu funktionieren.
                  VIS benutze ich nicht. Sondern eine eigene GUI.

                  Das Script selbst, habe ich versucht sowohl in den Ordner global, als auch in einen anderen Ordner zu packen. Jedoch sind die angezeigten Script Fehler immer die selben.

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

                    @beowulf123456 bist Du dir sicher, dass Du das neueste script verwendest? Bei mir sehen die Geräte so aus:


                    e081dc0c-cd60-4566-8997-eb1006be025f-grafik.png

                    1 Reply Last reply Reply Quote 0
                    • B
                      beowulf123456 last edited by

                      Ahh jetzt klappt es, vielen vielen Dank...

                      Ich hatte zuerst ein älteres HEOS Script verwendet gehabt. Das stand bei mir unter den Objekten im javascript.0 Adapter drinnen, da vermutlich mein Javascript Adapter nicht aktuell war, ging es anfangs nicht.

                      Daraufhin habe ich das HEOS Script und den Javascript Adapter aktualisiert.

                      Weil die neue HEOS Script Version sich allerdings unter userdata.0 schreibt, kann ich mit dem alten Objekt Datenpunkten lange rum probieren. Vermutlich hat es als schon die ganze Zeit schon funktioniert...

                      Aber vielen Dank nochmal für den Hinweis mit dem Screenshot.
                      Vielleicht hilft dies ja jemandem weiter der ein ähnliches Problem hat.

                      1 Reply Last reply Reply Quote 0
                      • andre
                        andre Developer last edited by

                        Hallo,
                        ich wollte heute auch mal das HEOS Script ausprobieren, leider findet das Script mein HEOS Device (AVR) nicht. 😞

                        10:24:31.840	info	javascript.0 (23262) script.js.Heos.heos: [Heos] still searching for HEOS devices ...
                        

                        Fehlermeldungen habe ich im Log keine. Script Version: 2.0/2020-04-02
                        Auch wenn ich über meine HEOS App steuere wird nichts erkannt. Liegt es daran dass ich HEOS auf meinem AVR nutze und keinen HEOS Lautsprecher habe?
                        Hat jemand einen Tipp was ich noch versuchen kann?
                        Danke!

                        MfG,
                        André

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

                          @andre was meinst Du? Was steuerst Du über die HEOS App? Was ist das für ein AVR?

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

                            @Meister-Mopper
                            Ich habe einen Denon-AVR-X1400H. Das ist eine 7.1 Anlage mit HEOS. Lässt sich über die App ganz normal steuern.

                            andre 1 Reply Last reply Reply Quote 0
                            • andre
                              andre Developer @andre last edited by

                              Ich glaub ich weiß wo es hängt. Auf meinem Livesystem wird der AVR nicht gefunden. Mache ich das Ganze auf meinem Testsystem läuft es... Kann mir jemand sagen wie ich prüfen kann ob node-ssdp ordnungsgemäß tut?

                              MfG,
                              André

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

                                @andre was kommt denn, wenn Du es mit npm installierst?

                                npm install node-ssdp
                                
                                1 Reply Last reply Reply Quote 0
                                • M
                                  Mars last edited by

                                  Hallo,
                                  mich würde interessieren ob jemand eine Türklingel über KNX Taster mit dem Script umgesetzt hat. Ich habe Leider aktuell noch keinen vollen Erfolg. Muss aber auch dazu sagen, dass ich neu bin, in der IObroker Welt.
                                  Was ich gemacht habe ist auf einen USB Stick ein Klingel mp3 file abgelegt. Der USB ist an meiner Soundbar. Ich kann sowohl über die Heos app als auch über das Script(mit Handeingabe der werte der Objekte) dieses mp3 abspielen.
                                  Ich habe ein wahrscheinlich schlechtes blockly geschrieben das auf den KNX Taster getriggert ist und dann in jeder der Zeilen den Wert der Objekte das "richtige" rein schreibt. Dazu habe ich beim ersten mal das klingel mp3 über die HEOS app gestartet und geschaut was in die Zeilen geschrieben wird. Das habe ich dann übernommen. Soweit funktioniert das auch doch wenn ich dann zwischendurch mal einen Radio favorit höre und jemand die "klingel" taste drückt schreibt er zwar kurzzeitig die Werte die ich im blockly geschrieben habe in die Werte Zeilen jedoch werden die kuzerhand wieder überschrieben und der Radio läuft weiter.

                                  Ist mein Vorhaben mit dem Skript so möglich?

                                  Gibt es eine Möglichkeiten Playlists gezielt abzuspielen wie das auch mit den favoriten funktioniert?

                                  Gibt es eine Möglichkeit wie bei z.B. Echo Dot oder Sonos Lautsprecher erst ein klingel ton abzuspielen gefolgt mit einer Sprechansage "Es klingelt jemand an der Haustür"?

                                  Würde mich freuen wenn ich Rückmeldung erhalten würde.

                                  Vielen Dank!

                                  Bedanke mich in dem Zug auch für die tolle Arbeit an den Script!

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

                                    @Mars Ich hab die Erfahrung gemacht, dass das nich sehr komfortabel mit NAS/DLNA ist. Man muss erst über die CLI und Source ID 1024 die Track ID raussuchen. Bei mir war das leider nicht verlässlich, da sich die IDs ständig geändert haben. Das leichteste ist wahrscheinlich noch mit "play_stream&url=url_path" zu arbeiten.

                                    Ich habe nächste Woche Urlaub und vielleicht habe ich ein wenig Zeit dafür übrig.
                                    Entweder versuche ich den SONOS Adapter mit HEOS Technik nachzubauen, sodass man über den SayIt Adapter das komfortabel lösen könnte. Oder ich füge einfach nur ein tts State für jeden Player hinzu.

                                    1 Reply Last reply Reply Quote 0
                                    • M
                                      Mars last edited by Mars

                                      Danke für deine schnelle Rückmeldung. Ok, wenn der Profi sagt es ist nicht verlässlich dann denke ich muss man einen anderen Weg wählen.
                                      Das mit Kommando "play_stream&url=url_path" habe ich ehrlicherweise nicht verstanden. Kann man das in 2 Sätzen erklären? Bzw. wie finde ich den Pfad des audiofiles auf z.B. dem USB stick heraus?

                                      Eine Integration wie im SONOS Adapter wäre natürlich eine extrem komfortable Lösung und ich würde mich riesig freuen wenn du das umsetzen würdest.

                                      Habe gerade das mit dem Befehl "play_stream&url=url_path" ausprobiert. Habe wieder zuerst über die App das Klingel file abgespielt und geschaut was er mir in die "aktuelle mid" rein schreibt. Diesen URL Pfad habe ich dann benutzt und das scheint erstmal zu funktionieren. Danke für den Hinweis. Ich hatte damit schon probiert mir war jedoch unklar wie ich das URL bekomme....
                                      Jetzt wäre der nächste Schritt wenn gerade Musik läuft und es klingelt der Gong ertönt dann die Musik weiter geht. Das ist aber viell. in einem Skript abzubilden!?

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

                                        @Mars Um eine SayIt Datei über einen HEOS Player auszugeben würde der Command so aussehen: play_stream&url=http://IOBROKER:8082/state/sayit.0.tts.mp3

                                        Ich habe wie beim SONOS einen neuen State tts und tts_playing hinzugefügt (heos.js). Den tts State gibt es sowohl global und für alle Player. Der State muss nach dem Schema VOLUME;URI gefüllt werden z.b.: 20;http://IOBROKER:8082/state/sayit.0.tts.mp3

                                        Das Script ist noch nicht perfekt, da es von HEOS einige Einschränkungen gibt z.B. ist es schwierig zu erkennen, wann HEOS mit dem Abspielen der TTS Datei fertig ist. Aber nach dem Abspielen der SayIt Datei wird das Letzte Lied/Station für TuneIn, Amazon, AUX und NAS Streams wiederhergestellt.

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

                                          @withstu Vielen Dank!

                                          Ich habe jetzt probiert erst einen Gong abzuspielen und im Anschluss eine Sprachansage. Jedoch ist das vom Timing her nicht so einfach die Sprachausgabe kommt manchmal gar nicht "durch".
                                          Hast du das bei dir so im Einsatz? Wenn ja wie?

                                          Der say.it adapter kann von sich aus auch einen Gong vor die Ansage setzen jedoch bekomme ich das nicht auf die Soundbar.

                                          Viell. habe ich aber auch den say.it Adapter falsch konfiguriert.

                                          1 Reply Last reply Reply Quote 0
                                          • S
                                            Stueckinger last edited by

                                            Hallo,

                                            ich danke vielmals für dieses Script. Habe es heute das erste mal hinzugefügt.
                                            Ich laufe direkt auf einen Fehler beim Starten:

                                            21:34:42.068	error	javascript.0 (21822) script.js.Heos: [Heos] parseResponse: Unexpected end of JSON input {"heos": {"command": "player/get_now_playing_media", "result": "success", "message": "pid=1849007305"}, "payload": {"type": "song", "song": "Casimir von Oettingen & Lenia don't wanna go home
                                            21:34:42.070	error	javascript.0 (21822) script.js.Heos: [Heos] parseResponse: Unexpected token K in JSON at position 1 Kater Blau 24.02.19", "album": "", "artist": "Casimir von Oettingen", "image_url": "https://i1.sndcdn.com/artworks-000495104037-6l4zar-t500x500.jpg", "album_id": "1", "mid": "581602872", "qid": 3, "sid": 9, "gid": 1849007305}, "options": []}
                                            21:34:42.088	error	javascript.0 (21822) script.js.Heos: [Heos] parseResponse: Unexpected end of JSON input {"heos": {"command": "player/get_now_playing_media", "result": "success", "message": "pid=-1557307954"}, "payload": {"type": "song", "song": "Casimir von Oettingen & Lenia don't wanna go home
                                            21:34:42.090	error	javascript.0 (21822) script.js.Heos: [Heos] parseResponse: Unexpected token K in JSON at position 1 Kater Blau 24.02.19", "album": "", "artist": "Casimir von Oettingen", "image_url": "https://i1.sndcdn.com/artworks-000495104037-6l4zar-t500x500.jpg", "album_id": "1", "mid": "581602872", "qid": 3, "sid": 9, "gid": 1849007305}, "options": []}
                                            21:34:42.105	error	javascript.0 (21822) script.js.Heos: [Heos] parseResponse: Unexpected end of JSON input {"heos": {"command": "player/get_now_playing_media", "result": "success", "message": "pid=413862456"}, "payload": {"type": "song", "song": "Casimir von Oettingen & Lenia don't wanna go home
                                            21:34:42.107	error	javascript.0 (21822) script.js.Heos: [Heos] parseResponse: Unexpected token K in JSON at position 1 Kater Blau 24.02.19", "album": "", "artist": "Casimir von Oettingen", "image_url": "https://i1.sndcdn.com/artworks-000495104037-6l4zar-t500x500.jpg", "album_id": "1", "mid": "581602872", "qid": 3, "sid": 9, "gid": 1849007305}, "options": []}
                                            

                                            Jetzt hab ich mir mal den Liedtitel (Soundcloud) angesehen. Der beinhaltet ein "|". Kann es sein, dass daher der Parsing-Error entsteht? Das "Lied" habe ich einfach in meinen Likes drin.
                                            Hast du zufällig eine Idee wie man das fixen könnte?

                                            Schöne Grüße

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            983
                                            Online

                                            31.7k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

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