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

                                        @Stueckinger Oh das ist natürlich blöd. Mit der Pipe | wurden die Heos Nachrichten gesplittet 🙂 Jetzt funktioniert es: heos.js

                                        @Mars Ja der Gong kommt bei mir auch noch nicht mit durch. Hatte gedacht, dass sayit alles in eine mp3 packt...

                                        S M 2 Replies Last reply Reply Quote 0
                                        • S
                                          Stueckinger @withstu last edited by

                                          @withstu super, dankeschön. Das hat funktioniert.
                                          Man kann nur auf Favoriten - sprich Radiosender - zugreifen, oder? (Presets)
                                          Meine Playlists tauchen leider nicht auf.

                                          W 1 Reply Last reply Reply Quote 0
                                          • Xsev
                                            Xsev last edited by Xsev

                                            Hallo zusammen,
                                            ich musste heute ein Backup von heute morgen einspielen über backitup wegen einer Vis View.... Seit dem Zeitpunkt des neuen Backups wird mein Java Adapter beendet sobald ich das Heos Skript aktiviere. Das passiert mit meinem alten Skript was bisher lief aber auch wenn ich das neue von ende 2019 nehme, welches ich gerade getestet habe.

                                            Was mich total verwundert ist, das gleich der ganze Adapter 4.6.17 auf rot geht.

                                            Node.js
                                            v12.18.1
                                            NPM
                                            6.14.4

                                            Es kommt folgende Meldung

                                            host.Homeserver	2020-06-19 17:46:59.368	info	Restart adapter system.adapter.javascript.0 because enabled
                                            host.Homeserver	2020-06-19 17:46:59.367	error	instance system.adapter.javascript.0 terminated with code 1 (JS_CONTROLLER_STOPPED)
                                            host.Homeserver	2020-06-19 17:46:59.367	error	Caught by controller[0]: at processTicksAndRejections (internal/process/task_queues.js:84:21)
                                            host.Homeserver	2020-06-19 17:46:59.367	error	Caught by controller[0]: at emitErrorAndCloseNT (internal/streams/destroy.js:60:3)
                                            host.Homeserver	2020-06-19 17:46:59.367	error	Caught by controller[0]: at emitErrorNT (internal/streams/destroy.js:92:8)
                                            host.Homeserver	2020-06-19 17:46:59.367	error	Caught by controller[0]: at Socket.EventEmitter.emit (domain.js:482:12)
                                            host.Homeserver	2020-06-19 17:46:59.367	error	Caught by controller[0]: at Socket.emit (events.js:315:20)
                                            host.Homeserver	2020-06-19 17:46:59.367	error	Caught by controller[0]: at Socket.<anonymous> (script.js.HIFI.Heos:629:18)
                                            host.Homeserver	2020-06-19 17:46:59.366	error	Caught by controller[0]: at Heos.disconnect (script.js.HIFI.Heos:543:30)
                                            host.Homeserver	2020-06-19 17:46:59.364	error	Caught by controller[0]: TypeError: this.nodessdp_client.destroy is not a function
                                            javascript.0	2020-06-19 17:46:59.308	info	(15005) script.js.HIFI.Heos: registered 1 subscription and 0 schedules
                                            javascript.0	2020-06-19 17:46:59.265	info	(15005) script.js.HIFI.Heos: [Heos] connecting to HEOS ...
                                            javascript.0	2020-06-19 17:46:59.257	info	(15005) Start javascript script.js.HIFI.Heos
                                            

                                            2020-06-19.png

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            466
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

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