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

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    [Vorlage] Denon HEOS Script

    This topic has been deleted. Only users with topic management privileges can see it.
    • B
      bouster @withstu last edited by

      @withstu Da kommt leider nichts nützliches bei raus... Das folgende spukt er beim Log-Level "silly" aus: und danach geht es immer mit "searching ..." weiter. Kein anderer output.

      heos.0
      	14832	2023-05-31 16:51:14.263	debug	searching for HEOS devices ...
      heos.0
      	14832	2023-05-31 16:50:44.248	info	searching for HEOS devices ...
      heos.0
      	14832	2023-05-31 16:50:44.044	info	starting. Version 1.10.0 in /opt/iobroker/node_modules/iobroker.heos, node: v18.16.0, js-controller: 4.0.24
      host.raspberrypi
      		2023-05-31 16:50:40.075	info	instance system.adapter.heos.0 started with pid 14832
      
      W 1 Reply Last reply Reply Quote 0
      • W
        withstu @bouster last edited by

        @bouster Dann findet der Adapter die Player nicht mehr mit dem Protokoll SSDP. Prüfe mal, ob Netzwerkseitig alles passt: https://github.com/withstu/ioBroker.heos#network-requirements

        Alternativ könntest du die statische IP eines Players in die Adapter Konfiguration als bevorzugten IP hinzufügen.

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

          @withstu Hallo nochmal. Ich habe den Adapter jetzt eine weitere Nacht laufen lassen und etwas mehr output bekommen:

          heos.0
          	14832	2023-06-01 06:58:30.112	info	searching for HEOS devices ...
          heos.0
          	14832	2023-06-01 06:58:25.111	debug	disconnected from HEOS
          heos.0
          	14832	2023-06-01 06:58:25.109	debug	data sent: heos://system/register_for_change_events?enable=off
          heos.0
          	14832	2023-06-01 06:58:25.109	debug	[HEARTBEAT] reset retries
          heos.0
          	14832	2023-06-01 06:58:25.109	debug	[HEARTBEAT] stop interval
          heos.0
          	14832	2023-06-01 06:58:25.109	debug	disconnecting from HEOS ...
          heos.0
          	14832	2023-06-01 06:58:25.109	debug	reconnecting to HEOS ...
          heos.0
          	14832	2023-06-01 06:58:25.108	debug	leader failure statistics: {"192.168.178.28":94,"192.168.178.23":94}
          heos.0
          	14832	2023-06-01 06:58:25.108	debug	[connect] Error: connect EHOSTUNREACH 192.168.178.28:1255
          heos.0
          	14832	2023-06-01 06:58:22.050	info	searching for HEOS devices ...
          heos.0
          	14832	2023-06-01 06:58:22.050	debug	connecting to HEOS (192.168.178.28) ...
          heos.0
          	14832	2023-06-01 06:58:22.050	debug	try to connect to 192.168.178.28 to reboot device
          heos.0
          	14832	2023-06-01 06:58:22.049	debug	following ips need to be rebooted: 192.168.178.28
          heos.0
          	14832	2023-06-01 06:58:17.048	debug	disconnected from HEOS
          heos.0
          	14832	2023-06-01 06:58:17.046	debug	data sent: heos://system/register_for_change_events?enable=off
          heos.0
          	14832	2023-06-01 06:58:17.045	debug	[HEARTBEAT] reset retries
          heos.0
          	14832	2023-06-01 06:58:17.045	debug	[HEARTBEAT] stop interval
          heos.0
          	14832	2023-06-01 06:58:17.045	debug	disconnecting from HEOS ...
          heos.0
          	14832	2023-06-01 06:58:17.045	debug	reconnecting to HEOS ...
          heos.0
          	14832	2023-06-01 06:58:17.045	debug	leader failure statistics: {"192.168.178.28":93,"192.168.178.23":94}
          heos.0
          	14832	2023-06-01 06:58:17.044	debug	[connect] Error: connect EHOSTUNREACH 192.168.178.23:1255
          heos.0
          	14832	2023-06-01 06:58:13.971	info	searching for HEOS devices ...
          heos.0
          	14832	2023-06-01 06:58:13.970	debug	connecting to HEOS (192.168.178.23) ...
          heos.0
          	14832	2023-06-01 06:58:13.970	debug	try to connect to 192.168.178.23 to reboot device
          heos.0
          	14832	2023-06-01 06:58:13.970	debug	following ips need to be rebooted: 192.168.178.23,192.168.178.28
          heos.0
          	14832	2023-06-01 06:58:08.968	debug	disconnected from HEOS
          heos.0
          	14832	2023-06-01 06:58:08.966	debug	[HEARTBEAT] reset retries
          heos.0
          	14832	2023-06-01 06:58:08.966	debug	[HEARTBEAT] stop interval
          heos.0
          	14832	2023-06-01 06:58:08.966	debug	disconnecting from HEOS ...
          heos.0
          	14832	2023-06-01 06:58:08.965	debug	reconnecting to HEOS ...
          heos.0
          	14832	2023-06-01 06:58:07.964	debug	add reboot ip 192.168.178.28
          heos.0
          	14832	2023-06-01 06:58:07.964	debug	add reboot ip 192.168.178.23
          heos.0
          	14832	2023-06-01 06:58:07.964	debug	rebooting all players
          heos.0
          	14832	2023-06-01 06:58:07.963	debug	can't find any HEOS devices. Try to connect known device IPs and reboot them to exclude device failure...
          heos.0
          	14832	2023-06-01 06:57:37.961	debug	searching for HEOS devices ...
          
          W 1 Reply Last reply Reply Quote 0
          • W
            withstu @bouster last edited by

            @bouster Der Adapter kann keine Verbindung zu Port 1255 des Players aufbauen (EHOSTUNREACH 192.168.178.28:1255). Hast du mal versucht die Player kurz vom Strom zu nehmen?

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

              @withstu Beide player 192.168.178.28:1255 und 192.168.178.23:1255 werden regelmäßig vom Netz genommen und nur bei bedarf gestartet.

              Was (soweit mein Verständnis reicht) merkwürdig ist, ist dass er die Player neustarten kann. Dann muss er den Player doch auch finden.

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

                @bouster nicht ganz. Der Adapter versucht die Player zu rebooten, kann sich aber nicht verbinden. Wenn der Adapter keinen Player über SSDP finden kann, versucht er sich nacheinander mit allen bereits bekannten IPs aus den Player States direkt zu verbinden und die Player neu zu starten. So wird versucht mögliche SSDP Fehler durch Reboot der Player zu beheben.

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

                  @withstu Da das leider alles nicht geholfen hat. Frage ich mich auf welche Weise kommen sich denn das Skript und der Adapter in die Quere? Könnte da das Problem liegen, dass ich beides mal ausgeführt habe?

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

                    Hallo,
                    ich habe es final endlich hinbekommen und der Adapter läuft jetzt. Ich weiß nicht was anders ist als vorher. Es hat nun ohne andere Änderungen funktioniert den Adapter zu verbinden, jedoch nur mit direkter IP Eingabe der Player.

                    1 Reply Last reply Reply Quote 0
                    • hg6806
                      hg6806 Most Active last edited by

                      Hi, ich bin gerade hier auf den Thread gestoßen und möchte auch die Browser Funktion umsetzen.
                      Das hat soweit geklappt, jedoch habe ich nicht die beiden Zeile "Overview" und "Back". Wie bekommt man die?

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

                        @hg6806 Hast du dir bereits das Script in der Readme angeschaut? https://github.com/withstu/ioBroker.heos?tab=readme-ov-file#browse-sources

                        1 Reply Last reply Reply Quote 0
                        • hg6806
                          hg6806 Most Active last edited by

                          @withstu

                          Ja sicher, daher habe ich es ja und implementiert. Ich kann ja auch durch die Favoriten browsen.

                          Jedoch fehlen mir eben diese zwei Zeilen. Und somit komme ich nicht zurück

                          1 Reply Last reply Reply Quote 0
                          • hg6806
                            hg6806 Most Active last edited by

                            Auf einmal klappt es.
                            Hatte vorher schon mal den Adapter neu gestartet. Die beiden Zeichen oben rechts waren immer ausgegraut.
                            Nun werde ich mal weiter experimentieren.
                            Danke für den Adapter und das Script!

                            1 Reply Last reply Reply Quote 0
                            • hg6806
                              hg6806 Most Active last edited by hg6806

                              Sorry, habe noch eine Frage zu dem Script, bzw. Adapter.

                              Und zwar tauchen im Browser immer Dienste wie "Deezer", "Soundcloud" usw auf.
                              Diese Dienste habe ich aber gar nicht abonniert!
                              Wenn ich in der HEOS App unter "Musikdienste" -> "bearbeiten" schaue, ist lediglich TuneIn drin. Die ändern könnte ich hinzufügen, müsste dafür aber auch ein Konto erstellen.

                              Ich habe auch schon in Objekten die Ordner der Dienste ganz rausgelöscht.
                              Sobald man den Adapter neu startet, werden diese wieder angelegt.
                              Die stehen zwar unter "Available" auf false, werden aber trotzdem im Browser angezeigt

                              Also, wie bekomme ich die Dienste ganz raus?

                              Wenn man danach googelt soll man die über den Reiter "Musik" die entfernen. Den Reiter habe ich aber gar nicht in der App.

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

                                @hg6806 sagte in [Vorlage] Denon HEOS Script:

                                Die stehen zwar unter "Available" auf false, werden aber trotzdem im Browser angezeigt

                                Joa, tauchen bei mir im Browser auch auf. Aber was solls, ist doch eher egal als wichtig. 🤷‍♂️

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

                                  @meister-mopper Ihr müsst nur euer JSON -> HTML Script anpassen und available = false rausfiltern. z.B.:

                                        for (let i = 0; i < data.payload.length; i++) {
                                            let payload = data.payload[i];
                                            if(!payload.available){
                                                continue;
                                            }
                                  
                                  hg6806 1 Reply Last reply Reply Quote 0
                                  • hg6806
                                    hg6806 Most Active @withstu last edited by

                                    @withstu

                                    Ich danke dir!

                                    Obwohl ich von Scripten so gar keine Ahnung habe, habe ich es wohl hinbekommen. Zumindest wird es rausgefiltert.
                                    Der Teil sieht dann hoffentlich wie folgt aus:

                                    ......
                                    html += "</th><th>" + (data.name == "sources" ? "Overview" : data.name) + "</th><th></th></tr>";
                                            for (let i = 0; i < data.payload.length; i++) {            
                                                let payload = data.payload[i];
                                                if(!payload.available){
                                                  continue;
                                              }
                                                html += "<tr class=\"";
                                                if (payload.type == "control") {
                                                    html += "heos-browse-row-control";
                                                } else {
                                                    html += "heos-browse-row-media"
                                                }
                                    ....
                                    
                                    1 Reply Last reply Reply Quote 0
                                    • hg6806
                                      hg6806 Most Active last edited by

                                      zu der HEOS Visualisierung hätte ich noch eine Frage.
                                      Hat jemand schon einmal einen Slider umgesetzt um einen Song vor- und zurückzu"spulen"?
                                      Also eine bewegbare Fortschrittsanzeige.

                                      Ich habe viele DJ-Sets die sind teilweise mehrere Stunden lang, dafür wäre eine solche Funktion ganz nett.

                                      Meister Mopper W 2 Replies Last reply Reply Quote 0
                                      • Meister Mopper
                                        Meister Mopper @hg6806 last edited by

                                        @hg6806 sagte in [Vorlage] Denon HEOS Script:

                                        um einen Song vor- und zurückzu"spulen"?

                                        Funktioniert es denn grundsätzlich in der App? Ich habe da nichts gefunden, ich finde nur "nächster/voriger Titel".

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

                                          @hg6806 der State „seek“ ist dafür gedacht. Angabe in Prozent 0-100%. Funktioniert aber nicht bei allen Sourcen.

                                          1 Reply Last reply Reply Quote 0
                                          • R
                                            Rand @Uhula last edited by Rand

                                            Hi,

                                            Ich suche einen Weg die Lautstärke einer Heos Gruppe zu steuern.

                                            ich spiele die meiste Musik über FooBar ab, kann dort aber immer nur einen Speaker steuern weil die Gruppe nicht als ansteuerbares Objekt im Netzwerk hängt (gleiches Problem wie beim Heos Adapter auch).

                                            Kann ich das mit dem Heos Skript lösen?
                                            Ich nehme an eine Gruppe manuell "definieren" und dann lauter/leiser Kommandos an alle "Mitglieder" schicken wäre eine Option (also ein JS was das Kommando nicht an ein Ziel sondern mehrere schickt) ?

                                            Bekomme ich das irgendwie in eine einfache Visualisierung?

                                            Oder gibt es vieleicht viel bessere Möglichkeiten?

                                            Danke

                                            Edit:. Hm, als ich eben nochmal die PlayerIDs zwecks Raumzuordnung durchgeschaut habe, habe ich doch tatsächlich die Gruppe gefunden 😳
                                            Damit sollte das dann ja theoretisch nicht so schwer sein...
                                            Ne, in jedem Player gibts ne Gruppen Info, unter anderem Group Volume... dann sollte das ja der relevante Daten punkt sein. Irgendwie ist zwar nirgendwo group_leader=true aber vlt macht das ja nichts

                                            Edit2 - Ja das funktioniert halbwegs, damit kann ich weitere Versuche anstellen - 🙂

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            595
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

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