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.
    • Thomas Braun
      Thomas Braun Most Active @bouster last edited by

      @bouster sagte in [Vorlage] Denon HEOS Script:

      Da ich etwas paranoid bin (evtl auch gerade weil ich mich nicht so gut auskenne) habe ich den Teil der IP adressen entfernt, wenn der auch nötig ist würde ich ihn lieber nicht ganz so öffentlich teilen.

      Das sind alles lokale IP-Adressen, damit kann niemand was von außen kommend anfangen.
      Im iob diag steht ggf. nur in den 25 Zeilen aus dem iobroker log was sensibles drin. Da sollte man nochmal drüber schauen. Aber IPs aus deinem lokalen Netzwerk sind vollkommen uninteressant für 'Hacker'.

      1 Reply Last reply Reply Quote 0
      • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            877
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

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