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 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

                                        913
                                        Online

                                        31.8k
                                        Users

                                        80.0k
                                        Topics

                                        1.3m
                                        Posts

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