Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. [Develop] Onkyo Adapter - VIS Weiterentwicklung

    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

    [Develop] Onkyo Adapter - VIS Weiterentwicklung

    This topic has been deleted. Only users with topic management privileges can see it.
    • Eisbaeeer
      Eisbaeeer Developer last edited by

      @schubi82:

      Sind zwar nur 12 Euro im Jahr für Standby, würde es aber gerne vermeiden, wenn es geht. `

      Verstehe ich, aber ich schalte meinen auch über Ethernet wieder ein. Du könntest noch über ein Java-Script und den Ping Adapter prüfen, ob dein Onkyo erreichbar ist. Falls er dann erreichbar ist, einfach einen Befehl senden lassen. Wäre eine Lösung.

      Gruß Eisbaeeer

      1 Reply Last reply Reply Quote 0
      • K
        Kun last edited by

        Hallo zusammen,

        Ich hab mir auch mal den Onkyo Adapter von Eisbaeeer installiert. Er funktioniert auch soweit. Also es wurden Datenpunkte angelegt und ich kann auch die Lautstärke ändern bzw. den Onkyo an- und ausschalten. das geht direkt über die Objekte.

        Nun zu meinem Problem. Wie kann ich dem Onkyo nun Befehle senden? Über den Datenpunkt "command" zeigt er mir alle Befehle an die der Receiver empfängt, z.b. über die Fernbedienung. Wenn ich in den "command" Datenpunkt allerdings was eintragen möchte, kommt immer erst eine grüne Null und dann eine rote Null und der Reciever macht überhaupt nichts. Alle Befehle kommen dort aber an.

        ich habe über node -v und npm -v die node Version 6.14.1 und die nmp Version 3.10.10 gefunden.

        Und das sagt mein Log wenn ich vom gelesenen MVL13 Befehl manuell MVL14 in den Datenpunkt "command" eintrage:

        onkyo-vis.0	2018-05-01 14:10:28.954	error	at Decoder. (/opt/iobroker/node_modules/component-bind/index.js:21:15)
        onkyo-vis.0	2018-05-01 14:10:28.954	error	at Manager.ondecoded (/opt/iobroker/node_modules/socket.io-client/lib/manager.js:332:8)
        onkyo-vis.0	2018-05-01 14:10:28.954	error	at Manager.Emitter.emit (/opt/iobroker/node_modules/socket.io-client/node_modules/component-emitter/index.js:133:20)
        onkyo-vis.0	2018-05-01 14:10:28.954	error	at Manager. (/opt/iobroker/node_modules/component-bind/index.js:21:15)
        onkyo-vis.0	2018-05-01 14:10:28.954	error	at Socket.onpacket (/opt/iobroker/node_modules/socket.io-client/lib/socket.js:228:12)
        onkyo-vis.0	2018-05-01 14:10:28.954	error	at Socket.onevent (/opt/iobroker/node_modules/socket.io-client/lib/socket.js:270:10)
        onkyo-vis.0	2018-05-01 14:10:28.954	error	at Socket.Emitter.emit (/opt/iobroker/node_modules/socket.io-client/node_modules/component-emitter/index.js:133:20)
        onkyo-vis.0	2018-05-01 14:10:28.954	error	at Socket. (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInMemClient.js:48:30)
        onkyo-vis.0	2018-05-01 14:10:28.954	error	at Object.change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:3190:37)
        onkyo-vis.0	2018-05-01 14:10:28.954	error	at Object.stateChange (/opt/iobroker/node_modules/iobroker.onkyo-vis/onkyo.js:33:31)
        onkyo-vis.0	2018-05-01 14:10:28.954	error	TypeError: state.val.match is not a function
        onkyo-vis.0	2018-05-01 14:10:28.950	error	message onkyo-vis.0.command [object Object] state.val.match is not a function
        

        Hoffe ihr könnt mir helfen 🙂

        Gruß Kun()

        1 Reply Last reply Reply Quote 0
        • Z
          zwergigor last edited by

          Hallo Kun(),

          ich habe auch dasselbe problem.

          Alle VIS Objekte die angelgt werden können (zB. Volume, Power, usw) kann ich per VIS schalten aber mehr auch nicht.

          Versuche ich es wie Du mit dem Command bekomme ich im Log die selben Fehlermeldungen.

          Kann uns wer auf die Sprünge helfen würde gern mein Onkyo VIS fertigstellen aber ich kann noch nicht einmal die einzelnen Modi's (BD,TV,Tuner usw.) setzen

          7050_vis-onkyo.png

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

            Das Problem habe ich auch, allerdings ist das bei mir nur für Spotify notwendig, da über Command anscheinend mehrere Befehle dafür abgesetzt werden. Die Quellen wie Radio, NET usw. kann man aber ja über Input Select steuern. 01 ist z.B. TV, 24 ist Radio und 2B ist NET. Kann man rausfinden, wenn man beim Umschalten auf Command achtet.

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

              Hallo zusammen

              Bitte hier die README lesen. https://github.com/Eisbaeeer/ioBroker.o … /README.md

              Gesendet von meinem SM-G950F mit Tapatalk

              1 Reply Last reply Reply Quote 0
              • K
                Kun last edited by

                Huhu,

                Also wenn ich das richtig verstehe dann kann ich nur die Objekte benutzen die in der ReadMe stehen richtig?

                Also PowerZone1 und MuteZone1 usw. funktionieren auch.

                Beim Inputselector kann ich auch umschalten, allerdings kann ich dort kein 2B eintragen. 12 ist bei mir TV und 24 Radio und wenn ich über die Fernbedienung dann NET auswähle erscheint im Datenpunkt auch 2B… beim manuellen eintragen allerdings kommt erst ne grüne 2 und dann ein grünes N/ welches auch stehen bleibt.

                Deshalb dachte ich, man kann das über EISCP Befehle machen, die man in den command Datenpunkt einträgt.

                Darüber hinaus kann ich bei meinem Onkyo TX-NR656 keine Internetradiosender als Favoriten speichern. Da wären wir dann wieder bei dem Umweg, erst den Befehl NET zu senden und dann Spotify oder TuneIn.

                Und zu guter Letzt scheint sich die Verbindung auch nach einer Zeit weg zu schalten. Also wenn ich den Onkyo z.b. über Power anschalten möchte, passiert erstmal nichts. Kein Datenpunkt aktualisiert sich. Sobald aber ein Datenpunkt angetriggert wurde, dauert es ca. 30 Sekunden und die Datenpunkte werden aktualisiert und ich bekomme alle anzeigen. Habt ihr das auch alle?

                Bisschen viel Text geworden aber vielleicht habt Ihr ja noch eine Idee 🙂

                Gruß Kun()

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

                  Hi Kun()

                  Wie sehen deine Einstellungen der Netzwerkkarte aus? Ist die auch im Standby aktiv? Das muss eingeschaltet sein, damit der Socket aktiv bleibt.

                  Wenn du denn Adapter neu startest, sollten im Log von iobroker jede Menge Infos vom Onkyo ausgelesen werden.

                  Gesendet von meinem SM-G950F mit Tapatalk

                  1 Reply Last reply Reply Quote 0
                  • K
                    Kun last edited by

                    Hallo Eisbaeeer,

                    Ja der Netzwerk Standby ist an, also Netzwerk während des Standby´s an… Das passiert auch wenn der Onkyo an ist und bleibt.. dann muss ich erst triggern und dann wird die Verbindung wohl wieder neu aufgebaut.. gerade nochmal probiert die lautstärke über den IOBroker zu ändern und hier das LOG:

                    onkyo-vis.0	2018-05-23 21:53:00.194	error	Error: ERROR (cmd_not_exist) Command volume_zone1 does not exist in zone main
                    onkyo-vis.0	2018-05-23 21:52:35.168	error	Error: ERROR (arg_not_exist) Argument query does not exist in command listening-mode
                    onkyo-vis.0	2018-05-23 21:52:35.167	error	Error: ERROR (arg_not_exist) Argument query does not exist in command internet-radio-preset
                    onkyo-vis.0	2018-05-23 21:52:35.165	error	Error: ERROR (arg_not_exist) Argument query does not exist in command net-tune-network
                    onkyo-vis.0	2018-05-23 21:52:35.158	error	Error: ERROR (arg_not_exist) Argument query does not exist in command dab-display-info
                    onkyo-vis.0	2018-05-23 21:52:35.156	error	Error: ERROR (arg_not_exist) Argument query does not exist in command ipod-list-info
                    onkyo-vis.0	2018-05-23 21:52:35.149	error	Error: ERROR (arg_not_exist) Argument query does not exist in command universal-port
                    onkyo-vis.0	2018-05-23 21:52:35.147	error	Error: ERROR (arg_not_exist) Argument query does not exist in command cd-r-recorder
                    onkyo-vis.0	2018-05-23 21:52:35.146	error	Error: ERROR (arg_not_exist) Argument query does not exist in command md-recorder
                    onkyo-vis.0	2018-05-23 21:52:35.144	error	Error: ERROR (arg_not_exist) Argument query does not exist in command dvd-player
                    onkyo-vis.0	2018-05-23 21:52:35.143	error	Error: ERROR (arg_not_exist) Argument query does not exist in command dat-recorder
                    onkyo-vis.0	2018-05-23 21:52:35.142	error	Error: ERROR (arg_not_exist) Argument query does not exist in command graphics-equalizer
                    onkyo-vis.0	2018-05-23 21:52:35.141	error	Error: ERROR (arg_not_exist) Argument query does not exist in command tape2-b
                    onkyo-vis.0	2018-05-23 21:52:35.139	error	Error: ERROR (arg_not_exist) Argument query does not exist in command tape1-a
                    onkyo-vis.0	2018-05-23 21:52:35.138	error	Error: ERROR (arg_not_exist) Argument query does not exist in command cd-player
                    onkyo-vis.0	2018-05-23 21:52:35.136	error	Error: ERROR (arg_not_exist) Argument query does not exist in command net-popup-message
                    onkyo-vis.0	2018-05-23 21:52:35.135	error	Error: ERROR (arg_not_exist) Argument query does not exist in command net-keyboard
                    onkyo-vis.0	2018-05-23 21:52:35.134	error	Error: ERROR (arg_not_exist) Argument query does not exist in command net-service
                    onkyo-vis.0	2018-05-23 21:52:35.133	error	Error: ERROR (arg_not_exist) Argument query does not exist in command net-usb-jacket-art
                    onkyo-vis.0	2018-05-23 21:52:35.132	error	Error: ERROR (arg_not_exist) Argument query does not exist in command net-usb-list-info
                    onkyo-vis.0	2018-05-23 21:52:35.131	error	Error: ERROR (arg_not_exist) Argument query does not exist in command internet-radio-preset
                    onkyo-vis.0	2018-05-23 21:52:35.125	error	Error: ERROR (arg_not_exist) Argument query does not exist in command network-usb
                    onkyo-vis.0	2018-05-23 21:52:35.119	error	Error: ERROR (arg_not_exist) Argument query does not exist in command sirius-parental-lock
                    onkyo-vis.0	2018-05-23 21:52:35.112	error	Error: ERROR (arg_not_exist) Argument query does not exist in command tp-scan
                    onkyo-vis.0	2018-05-23 21:52:35.111	error	Error: ERROR (arg_not_exist) Argument query does not exist in command pty-scan
                    onkyo-vis.0	2018-05-23 21:52:35.110	error	Error: ERROR (arg_not_exist) Argument query does not exist in command rds-information
                    onkyo-vis.0	2018-05-23 21:52:35.109	error	Error: ERROR (arg_not_exist) Argument query does not exist in command preset-memory
                    onkyo-vis.0	2018-05-23 21:52:35.096	error	Error: ERROR (arg_not_exist) Argument query does not exist in command 12v-trigger-c
                    onkyo-vis.0	2018-05-23 21:52:35.095	error	Error: ERROR (arg_not_exist) Argument query does not exist in command 12v-trigger-b
                    onkyo-vis.0	2018-05-23 21:52:35.093	error	Error: ERROR (arg_not_exist) Argument query does not exist in command 12v-trigger-a
                    onkyo-vis.0	2018-05-23 21:52:35.087	error	Error: ERROR (arg_not_exist) Argument query does not exist in command memory-setup
                    onkyo-vis.0	2018-05-23 21:52:35.086	error	Error: ERROR (arg_not_exist) Argument query does not exist in command setup
                    onkyo-vis.0	2018-05-23 21:52:35.081	error	Error: ERROR (arg_not_exist) Argument query does not exist in command speaker-level-calibration
                    onkyo-vis.0	2018-05-23 21:52:30.035	error	Error: ERROR (server_error) Server error on 192.168.0.20:60128 - Error: read ECONNRESET
                    onkyo-vis.0	2018-05-23 21:52:30.013	error	Error: ERROR (cmd_not_exist) Command volume_zone1 does not exist in zone main
                    

                    Sieht aus als wenn dann die Verbindung neu aufgebaut wird. So sieht es auch aus wenn ich den Adapter neu starte. Weiß nur nicht was die Verbindung unterbrechen lässt.

                    Gruß Kun()

                    1 Reply Last reply Reply Quote 0
                    • Z
                      zwergigor last edited by

                      Danke schubi82 und Eisbaeeer,

                      nun kann ich auch die Input Modis setzen.

                      Hatte einfach nur ein falsches Widget zum setzen verwendet.

                      Nur habe ich es immer noch nicht geschafft andere Einstellungen außer den schon erstellten Datenpunkten mit command zu setzten.

                      Da komme ich auch mit der Readme nicht weiter.

                      Geht das denn überhaupt? zB. "LMD" - Listening Mode Command = 00

                      Diese Frage wurde hier noch nicht beantwortet.

                      Ansonsten vielen Dank für Eure Hilfe. Jetzt komme ich erst einmal weiter

                      Gruß Matthias

                      1 Reply Last reply Reply Quote 0
                      • Z
                        zwergigor last edited by

                        Hallo,

                        einen Nachbrenner habe ich noch, wenn ich ein Script (JS) erstelle nur mit dem Inhalt

                        setState("onkyo-vis.0.command","LMD94")

                        dann wird der Wert gesetzt. (onkyo-vis.0.listening-mode = pliiz-height-thx-cinema)

                        Aber halt über das Objekte Tab in iobroker nicht.

                        Gruß Matthias

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

                          Hallo @Eisbaeeer

                          könntest Du dein Beispiel-Widget aus der Github-Readme zur Verfügung stellen? ich würde das gern bei mir zum testen einsetzen.

                          Danke

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

                            @zwergigor:

                            Hallo,

                            einen Nachbrenner habe ich noch, wenn ich ein Script (JS) erstelle nur mit dem Inhalt

                            setState("onkyo-vis.0.command","LMD94")

                            dann wird der Wert gesetzt. (onkyo-vis.0.listening-mode = pliiz-height-thx-cinema)

                            Aber halt über das Objekte Tab in iobroker nicht.

                            Gruß Matthias ` Hast du mal versucht das ACK Bit vor dem Absenden zu setzen?

                            Gesendet von meinem SM-G950F mit Tapatalk

                            1 Reply Last reply Reply Quote 0
                            • Z
                              zwergigor last edited by

                              Hallo Eisbaeeer,

                              ACK Bit ?? Nein.

                              Habe ein wenig gelesen aber wie setzte ich das über iobroker/VIS.

                              Per SetState habe ich was gefunden.

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

                                hallo,

                                ich habe heute nach langem mal meinen Onkyo TX-NR525 mit meinen Musik Datenbank verbunden und bin erstaunt wie gut man doch dadurch browsen kann. nun meine Frage, gibt es eine Möglichkeit das gante auch in VIS zu visualisieren so ähnlich wie in der RemoteApp3 von Onkyo?

                                Irgendwie müsste das ja übers Netztwerk möglich sein an die Daten zu gelangen, oder?

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

                                  Hallo sveni_lee

                                  Grundsätzlich geht dein Vorhaben. Ich greife auch über Netzwerk bzw. USB auf MP3 zu. Leider gibt es noch kein fertiges Widget. Das musst du dir zusammenbasteln. Navigation über die ISCP Befehle laut Excel Liste.

                                  Gruß Eisbaeeer

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

                                    moin Eisbaeeer,

                                    danke für die Rückmeldung… Ich bin schon fast fertig mit dem Widget/Adapter. Das Problem ist, das auch das eiscp-Modul umgeschrieben werden musste, da die nötigen Befehle nich eingebunden bzw. nicht ausgewertet werden konnten...

                                    Die Navigation klappt jetzt schon echt super, auch die Coveranzeige ist integriert. Jetzt muß ich das ganze nur noch etwas stressresistent hinbekommen und auch den code säubern/aufräumen...

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

                                      Hi

                                      Das hört sich doch gut an. Sorry auch noch für die späte Antwort. Dein erster Post war ja schon eine Weile her.

                                      Wenn das bei dir läuft, wäre es klasse, wenn das in den Adapter einfließt. Eventuell könntest du einen pull-request machen?

                                      Aufräumen ist immer gut. Also wenn das bei dir läuft, dann freu ich mich auf eine neue Version 😉

                                      Gruß Eisbaeeer

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

                                        Die frage ist nur wie bringen wir beider zusammen… Ich denke das ich da noch einige Fehler im code habe, da ich nicht verstehe, wie das/dein Script auf Änderungen von states in iobroker reagiert. Ich habe zum beispiel einen neuen State anlegen lassen und jedesmal wenn sich dieser ändert wird auch ein Befehl an den Onkyo geschickt... Nur woher kommt dieser?

                                        Ich habe dazu auch noch ein Widget entwickelt mit dem man den Onkyo dann irgendwann richtig steuern können soll. im Moment sieht es noch so aus:

                                        ~~![](</s><URL url=)https://i.imgur.com/0jawxuk.jpg" />

                                        dort muss ich jetzt noch irgendwie die Zonen-Steuerung und den Rest unterbringen. Ein Großteil lässt sich nur durch reverse-engineering herausfinden. Dazu schneide ich die komplette kommunikation meines Onkyo mit die vom Port 60128 kommt und werte das dann aus…

                                        Das ahuptproblem ist aber, dass eiscp wohl nicht mehr weiter entwickelt wird und somit schon einiges an Befehlen fehlt.

                                        Ich weiß nicht ob Pull-request eine gute idee ist, aber ich kann die die 3 datein auch peer PN zukommen lassen oder Du machst eine neue Banch...

                                        Was meinst Du?~~

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

                                          Na das sieht doch schon super aus. So ähnlich hatte ich das auch mal realisiert. Du kannst noch ein Navigationskreuz erstellen, mit dem man dann durch die Struktur steuern kann. Ich muss mal in meinen Tiefen suchen. Hatte das damals in ccu.io realisiert und in iobroker dann nicht neu erstellt.

                                          Also zu dem Adapter und wie dieser reagiert:

                                          Ich erstelle, falls fixed-vars in der Konfig angehakt ist, neue Variable. Das sind die Variablen, welche in VIS benutzt werden können. Falls dir noch welche fehlen, ist das kein Problem, diese mit aufzunehmen. Diese Objekte werden jetzt mit den Daten vom Onkyo befüllt. Falls die Daten vom Onkyo kommen, wird (und das ist jetzt wichtig!) das "ACK" Bit im Object gesetzt. Damit ist klar, dass der Wert aus dem Onkyo kommt und "Echt" ist. Jetzt kann man in das Objekt Feld schreiben (entweder über die iobroker Objekte, oder über VIS). VIS setzt das "ACK" Bit <u>nicht</u>. Und genau darauf reagiere ich im Adapter. Falls das ACK nicht gesetzt ist, wird der Wert, der in das Objekt eingetragen wurde, an den Onkyo gesendet (derzeit über "command"). Nachdem der Onkyo den Wert bekommen hat, sendet er ihn ja wieder als "Bestätigung" zurück. Darauf reagiere ich wieder und setzte das "ACK" Bit im Object. Jetzt ist klar, dass der Onkyo den Wert empfangen hat und der Prozess ist abgeschlossen.

                                          Ich hoffe es war verständlich?

                                          Jetzt kann es sein, dass der "übernommene" Teil vom Onkyo Adapter (der Teil, der nich von mir stammt) da noch dazwischenfunkt. Das ist meine Vermutung. Hier könnten ich den ganzen unnötigen Teil entfernen, damit das mit VIS noch besser harmoniert.

                                          Kannst du mir noch genau erklären, welchen Datenpunkt (Object) du noch zusätzlich angelegt hast, damit dein Widget funktioniert?

                                          Ich hab noch im Kopf, dass ich das bei ccu.io auch machen musste. Ich glaube ich hatte einen Zeiger auf den Aktuellen Menüpunkt, in dem ich mich befunden hatte? Ist das die richtige Richtung, in die ich denke?

                                          Gruß Eisbaeeer

                                          –- EDIT ---

                                          Hab es noch gefunden. Das waren damals diese Datenpunkte:

                                          firstId+20 NLS read-only -- "Onkyo_NET-MENU-0"

                                          firstId+21 NLS read-only -- "Onkyo_NET-MENU-1"

                                          firstId+22 NLS read-only -- "Onkyo_NET-MENU-2"

                                          firstId+23 NLS read-only -- "Onkyo_NET-MENU-3"

                                          firstId+24 NLS read-only -- "Onkyo_NET-MENU-4"

                                          firstId+25 NLS read-only -- "Onkyo_NET-MENU-5"

                                          firstId+26 NLS read-only -- "Onkyo_NET-MENU-6"

                                          firstId+27 NLS read-only -- "Onkyo_NET-MENU-7"

                                          firstId+28 NLS read-only -- "Onkyo_NET-MENU-8"

                                          firstId+29 NLS read-only -- "Onkyo_NET-MENU-9"

                                          firstId+30 NLT read-only -- "Onkyo_NET_NAVIGATION"

                                          firstId+31 NLT read-only -- "Onkyo_NET_POSITION"

                                          firstId+32 NLT read-only -- "Onkyo_NET_POSITION_SUMM"

                                          Die Datenpunkte für die Navigation hab ich noch nicht im Adapter. Du kannst ja mal direkt in das "command" Object schreiben um das zu testen. Ich kann dann die Objecte noch nachträglich einfügen, wenn es funktioniert. Das müssten diese Befehle hier sein:

                                          "MENU" Menu Key

                                          "UP" Up Key

                                          "DOWN" Down Key

                                          "RIGHT" Right Key

                                          "LEFT" Left Key

                                          "ENTER" Enter Key

                                          "EXIT" Exit Key

                                          "HOME" Home Key

                                          UND eventuell sollten wir einen neuen Thread aufmachen, um den Adapter weiter zu entwickeln?

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

                                            Erst einmal Danke für deine ausfürliche Erklärung…

                                            Mir ging es in erster Linie darum, meine Umfangreiche Musikdatenbank wieder geben zu können und das hauptsächlich über Zone2 welche bei mir den Pool/Außenbereich mit Musik beschallt. der Onkyo sendet die Daten aus HomeMedia netterweise als xml Datei. Diese wandel ich ersteinmal in eine JSON um. Die Navigation war etwas tricky weil ich alles irgendwie aus dem Netzwerkverkehr des Onkyo "abhören" musste. Stand jetzt kann ich durch die gesamte Ordnerstruktur browsen da untere Teil im Widget auf touch reagiert. Das Hauptproblem stellt, wie schon gesagt, das npm eiscp Modul da. dieses kann ohne weiteres nicht mit den xml-Daten umgehen, das musste ich also implementieren. damit kommt das nächste Problem, die xml werden in einzelne Teile zerlegt gesendet aber auch das konnte ich halbwegs (unsauber denke ich) in eiscp lösen...

                                            Ich habe folgende States zusätzlich in das Array zum Anlegen aufgenommen:

                                            • Receiver_Info (speichert die bereinigte xml)
                                            • Receiver_Listinfo (soeichert die JSON)
                                            • Receiver_Info_switch (erfasst Befehle aus dem Witget, die dann in raw-format an den Onkyo gesendet werden)
                                            • Cover_Transfer (hier steht das cover drin das vom AVR im base64 Format gesendet wird drin)
                                            • NET/USB_Layer (ist als hilfe zur navigation gedacht)

                                            die JSON wird dann in der Widget.js ausgewertet und die Daten in die Tabelle der Widget.html geschrieben. Damit ist das Widget dynamisch und reagiert auch wenn du eine Auswahl über eine App oder am AVR direct vornimmst.

                                            Auf das Steuerkreuz könnte man verzichten, die navigation ist doch recht simpel aufgebaut… im Normalfall werden die Menue-Plätze 00-09 belegt, das schränkt aber die Anzahl erheblich ein. Das ist der Grund warum ich auf die Variante mit der xml datei gegangen bin. bei jeder Auswahl Antwortet der Onkyo mit einem einem NLT.... String. netter weise ist in diesem die Anzahl der im ausgewählten Punkt erhaltenen Items enthalten...

                                            Bsp: mein Server heißt GOTHAM_CITY. wenn ich diesen nun auswähle sendet der Onkyo NLT11020000000401001B1100GOTHAM-CITY. Die 0004 gibt die Anzahl der unterordner in GOTHAM_CITY an. Und genau diese Anzahl benötige ich um eine xml mit den unterordnern zu bekommen.

                                            Wenn man folgenden Befehl an den Onkyo sendet bekommt amn auch die xml: NLAL00000100000004 Die letzten 8 zeichen geben von bis an. also quasi "gebe mit die namen von item 0000 bis item 0004. (immer alles in HEX) Und jetzt kommt der nächste Trick: die nummern sind immer aufsteigend und beginnen mit 0000 bis max FFFF. wenn ich nun im Widget auf einen "Ordner" clicke mache ich folgendes:

                                            	    $div.find('.browser-container').on('click', 'li', function(){
                                                            var n = dec2hex($(this).index());
                                            				var m =  this.getAttribute("data-control");
                                            				console.log(m);
                                                            console.log('click - ' + ($(this).index()));
                                            				if (m == "2d") {
                                            					console.log("you choose a music-file" + ('NLAI' + (vis.states[data.oid_layer + '.val']) + n + '----'));
                                            					vis.setValue(data.oid_command, ('NLAI' + (vis.states[data.oid_layer + '.val']) + n + '----'));
                                            				} else {					
                                            				vis.setValue(data.oid_command, ('NLAI' + (vis.states[data.oid_layer + '.val']) + n + '----'));
                                            				}
                                                        });
                                            

                                            mit dem Befehl NLAIxxyyyy–-- sende ich nun eine Anfrage an den Onkyo zu dem item yyyy (entspricht n in 4stelliger HEX) damit bewege ich mich in den ausgewählten Ordner und bekomme als Antwort nun wieder eine NLT mit der Anzahl der Unterordner und das spiel beginnt von vorn...

                                            Wenn man es erst einmal verstanden hat ist es echt einfach... man benötigt eingach die menu-States nicht mehr...

                                            Diese ganze Kommunikationkette ist leider nirgends dokumentiert so das ich alles schritt für schritt auslesen musste.

                                            Ich hoffe das war auch verständlich 🙂

                                            Das Projekt ist für meinen Programmierkenntnisstand eigendlich auch zu hoch. Ich würde mich freuen wenn Du mich da etwas unterstützen könntest um den Onkyo wie Durch eine App bedienen zu können...

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            862
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            29
                                            238
                                            37567
                                            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