NEWS
[Develop] Onkyo Adapter - VIS Weiterentwicklung
-
Hallo!
Ich besitze auch den TX-414. Ich möchte den Adapter mit Alexa nutzen, generell funktioniert das auch, ich kann im Objekt "volume" die Lautstärkle ändern. Wenn das Gerät im Stand-By ist, kann ich es über den Button "power" einschalten, es wird der Befehl "PWR01" gesendet. Leider wird dieser Befehl auch gesendet, wenn das Gerät an ist. Wie kann ich das ändern?
Vielen Dank für die Hilfe und Grüße!
P.S. ggf. wäre es noch cool, wenn du deine Anleitung zur Installation und den Link zum Adapter in deinem Startpost hinzufügst.
Grüße und vielen Dank!
-
Hallo!
Ich besitze auch den TX-414. Ich möchte den Adapter mit Alexa nutzen, generell funktioniert das auch, ich kann im Objekt "volume" die Lautstärkle ändern. Wenn das Gerät im Stand-By ist, kann ich es über den Button "power" einschalten, es wird der Befehl "PWR01" gesendet. Leider wird dieser Befehl auch gesendet, wenn das Gerät an ist. Wie kann ich das ändern? `
Hallo
Das müsstest du dann z.B. über ein Script abfangen. Die Frage ist aber eher, warum du das PWR01 sendest, obwohl der Onkyo schon an ist?
Wie genau hast du das in Alexa bzw. Im Cloud Adapter angelegt?
Gruß Eisbaeeer
Gesendet von meinem SM-G950F mit Tapatalk
-
Hallo Eisbaeeer,
vielen Dank für deine Antwort.
Generell bin ich noch sehr neu im Umgang mit dem ioBroker.
Ich sende den Befehl PWR01 erneut, weil ich davon ausgegangen bin, dass wenn ich den Knopf nutze, das Skript erkennt ob er Onkyo an ist oder nicht und dementsprechend den Befehl beim versenden ändert. So wie ich das nun aber verstanden habe, ist das nicht in dem Skript hinterlegt und der Knopf bedeutet einfach Power on.
Das mit dem Skript ist für mich noch absolutes Neuland, ich schaue mir das aber mal an, vielen Dank für deine Hilfe!
Grüße
-
Hallo Hc-Yami
Also das ist doch etwas komplexer in dem Adapter. Aber nur nicht aus der Ruhe bringen lassen.
Ich versuche die Logik mal hier zu erklären. Dazu hole ich etwas weiter aus, da es bestimmt noch andere Leute gibt, die das interessant finden.
Es gibt den Datenpunkt (egal welcher in iobroker). Der heißt hier z.B. "Power Zone 1". Dieser Datenpunkt hat noch ein zusätliches Bit (ACK). Das ist bei Homematik grundsätzlich so, dass es diese Bit (ACK) gibt. Da iobroker ursprünglich von ccu.io (dem Vorgänger) kommt, ist das immer noch die Basis, wenn es um Bi-Direktionale Kommunikation geht. Das bedeutet, dass das Objekt (Datenpunkt) erst grün bzw. gültig wird, wenn vom steuernden Gerät ein "Ack" zurück kommt. So ist es überhaupt erst möglich, über ein und denselben Datenpunkt Befehle zu senden und die Rückmeldung zu bekommen, ob der Befehl auch angekommen ist (eigentlich genial, oder?). Das muss der Entwickler natürlich aber auch genau so integrieren. Sonst funktioniert die Rückmeldung nicht.
VIS (die graphische Oberfläche) basiert auf dieser Logik. Das heisst, dass ein Button erst dann z.B. aktiv wird, wenn das "ACK" gesetzt ist. Somit kann man also mit einem Button z.B. das Licht einschalten und dann, wenn es wirklich an ist, den Button auch anders Einfärben (sozusagen als Rückmeldung, dass das Licht angegangen ist). Diese Rückmeldung wird natürlich von dem Aktor zurückgesendet. Und nur dann, wenn er den Befehl empfangen hat. Deshalb ändert sich in VIS der Button auch erst ein paar Millisekunden später auf z.B. eine andere Farbe (wenn dies in VIS hinterlegt wurde).
Jetzt zurück auf deine Frage…
Grunsätzlich stellt sich die Frage, welchen Datenpunkt du verwendest? Wenn du z.B. den Datenpunkt "Power Zone1" verwendest, wird mit einem "true" eingeschaltet und mit einem "false" ausgeschaltet. Wenn du also ein "true" setzt, ist das Flag "ACK" erstmal nicht gesetzt. Erst wenn der Onkyo die Zone 1 eingeschaltet hat, wird das "ACK" Flag auf "true" gesetzt. Dadurch bekommen wir die Rückmeldung, dass der Onkyo tatsächlich eingeschaltet hat. Wenn du jetzt mit "Alexa" einschaltest, musst du das wirklich nur einmal machen.
Lange Rede kurzer Sinn. Warum ist das eigenlich überhaupt ein Problem, wenn du mehrmals "Power ON" sendest? Das macht dem Onkyo doch nichts aus. Wenn er eh schon an ist, bleibt er an. Oder verhält sich deiner anders?
Gruß Eisbaeeer
-
Hallo zusammen
Der Adapter wurde von mir jetzt umbenannt, damit keine Konflikte entstehen und eine klare Abgrenzung da ist. Er ist jetzt aber zusätzlich über npm installierbar "npm install iobroker.onkyo-vis –production".
Er wird im Moment nicht in das offizielle Repository einfließen, da ich keine Zeit und Lust habe, darüber zu disktuieren, ob und warum das in dem Adapter so sein muss. Anyway.
Der Adapter kann weiterhin über den Github button installiert werden. Die URL heisst: https://github.com/Eisbaeeer/ioBroker.onkyo-vis oder eben über den npm Befehl. Adaptertechnisch hat sich nichts geändert. Es besteht also keine Notwendigkeit, die Version 1.0.0 zu aktualisieren.
Grüße Eisbaeeer
-
Hallo,
ich bekomme leider immer folgende Warnung angezeigt, wenn ich deinen Adapter nutzen möchte:
21:11:31.429 [warn] javascript.0 at Object. (script.js.Onkyo-vis-Test:7:1)
mit folgendem Code im Skript:
on({id: "hm-rpc.1.MEQ0279256.7.PRESS_SHORT"}, function(obj) { setState("onkyo-vis.0.Power_Zone1",true); });
Was mache ich falsch?
Ich sehe unter Objekte auch keine aktuellen Werte des Receivers, egal, ob ich ihn ein- oder ausschalte.
Der Adapter wird allerdings unter Instanz mit einer grünen Lampe angezeigt.
Gibt es eine Möglichkeit die Kommunikation zum Receiver über den Adapter zu testen?
Danke
-
Hallo DaTommy
Kannst du mir ein bischen mehr Infos geben? Welche Version hast du installiert?
Auf welchem Weg hast du installiert? (npm, github)?
Hast du den "alten" Adapter vorher deinstalliert?
MIr sieht es so aus, als ob das noch alte Fragmente von einem vorherigen Adapter sind. Ich hatte mal eine Version mit dem Taster drin, der da im Log erscheint. Der ist allerdings schon länger nicht mehr im Code. Könnte also eine alte Version sein.
Am besten die Instanz löschen, den Adapter löschen und über npm neu installieren.
Gruß
-
Hallo,
mit folgendem Code im Skript:
on({id: "hm-rpc.1.MEQ0279256.7.PRESS_SHORT"}, function(obj) { setState("onkyo-vis.0.Power_Zone1",true); });
Was mache ich falsch? `
Oder verwechselst du das Javascript für den 6-fach Taster mit dem Adapter?
Gruß Eisbaeeer
-
Hi,
ich habe deine neueste Version des Adapters installiert.
Hierzu hatte ich ein JavaSkript erstellt, welches dann auf einen Taster meiner Homematic Installation reagieren soll und dann den Onkyo Receiver (TX-NR 5007) mittels Adapter ansteuern soll.
Habe ich hier einen Gedankenfehler? Wie müsste ich den Adapter verwenden / ansteuern?
Gibt es hierzu Skript Beispiele?
Das Skript habe ich analog zu dem Beispielskript mit dem 6-fach Taster erstellt.
Danke und Gruß
-
Im Log bekomme ich bei manuellem Senden eines Kommandos über den Adapter die Fehlermeldung
onkyo-vis.0 2018-03-04 13:36:33.470 error Error: ERROR (send_not_connected) Not connected, can't send data: "PWR01"
Muss ich mich vor dem Senden noch irgendwie separat mit dem Receiver verbinden?
Kann ich den Verbindungsstatus irgendwo sehen?
In dem Adapter unter "Connected" steht nichts.
Danke
-
Im Log bekomme ich bei manuellem Senden eines Kommandos über den Adapter die Fehlermeldung
onkyo-vis.0 2018-03-04 13:36:33.470 error Error: ERROR (send_not_connected) Not connected, can't send data: "PWR01"
Danke `
Hallo DaTommy
Hast du zufällig bei der Adapter Konfiguration den Haken "Feste Variablen für VIS benutzen" nicht angehakt?
Dein Script hast du ja schon auf den neuen Adapter Name iobroker.onkyo-vis geändert.
Also, folgende Schritte:
1. In der Konfig laut Screenshot einstellen (maximale Lautstärke ist nach deinem Empfinden)
2. Nach dem Starten der Instanz sollten unter Objekte ein Paar Informationen sichtbar sein:
Z.B. sollte "connected" auf true sein.3. Bei deinem Javascript die 6-fach Taster Adresse auf deine ändern und alle onkyo.0 auf onkyo-vis.0 ändern. Aber das sieht laut deinem Log schon gut aus. Das sollte helfen.
Gruß Eisbaeeer
-
Der Adapter ist leider genau so konfiguriert, der Haken sitzt, aber leider keine Änderung. Ohne IP Vorgabe und mit fester IP habe ich auch mal ausprobiert.
Beim Neustart des Adapter geht es im Log bis:
Onkyo-vis.0 2018-03-04 22:24:02.183 info Connecting to AVR 192.168.178.12:60128
Danach kommt allerdings nichts mehr, sollte da noch was kommen?
-
Funktioniert denn die Verbindung mit der App? Ich vermute hier ein Problem auf der Receiver Seite. Der Adapter muß mit dem Status connected auf True gehen.
Eventuell muss die Netzwerkschnittstelle noch aus den Energiespar Einstellungen entfernt werden, damit sie auch aktiv ist, wenn der Receiver in Stndby ist.
Und Ja, da sollten jede Menge Daten in den Objekten erscheinen. Der Adapter fragt Werte ab, siehe Screenshot. Auch wenn der Receiver aus ist. Das Log ist in dem Fall nicht sehr gesprächig.
Gruß Eisbaeeer
-
So eine Einstellung findet sich in den Netzwerkeinstellungen meines Receivers leider nicht.
Die Onkyo App verbindet sich einwandfrei mit dem Verstärker.
Ich habe auch noch mal von fester IP Adresse auf DHCP umgestellt, aber der Adapter findet den Verstärker trotzdem nicht.
Wo könnte ich denn noch nach dem Fehler suchen?
-
Muss ich noch irgendetwas zusätzlich auf IOBroker installiert haben?
Mit dem Ping Adapter lässt sich der Verstärker anpingen.
Wenn ich mich mit Putty auf den Port verbinde, dann bekomme ich auch die Rückmeldungen des Verstärkers angezeigt, wenn ich ihn per Fernbedienung umschalte.
Allerdings habe ich es hierüber auch nicht geschafft ihn anzusteuern.
-
Hi
Nein, wirklich nur den Adapter. Das gibt's doch nicht. Dein Receiver kann auf jeden Fall ISCP. Er ist in der Excel Liste mit drin. Hast du mit Putty den ISCP Port verwendet? Der Adapter baut einen Socket auf und empfängt dann alle Änderungen, auch wenn du mit der Fernbedienung (IR) was änderst bekommt das der Adapter mit.
Gruß Eisbaeeer
-
Genau, in der Liste ist er gelistet, unterstützt wohl nur nicht alle Kommandos. Mit Putty sehe ich die Signale. Es scheint die Verbindung zwischen Adapter und Verstärker nicht aufgebaut zu werden.
Kann ich da noch etwas tiefer im Adapter nach der Ursache suchen?
Gruß
-
Genau, in der Liste ist er gelistet, unterstützt wohl nur nicht alle Kommandos. Mit Putty sehe ich die Signale. Es scheint die Verbindung zwischen Adapter und Verstärker nicht aufgebaut zu werden.
Kann ich da noch etwas tiefer im Adapter nach der Ursache suchen?
Gruß `
Dazu müsstest du das Logging im Expertenmodus des Adapters auf Debug setzen. Dann bekommst du mehr logmeldungen angezeigt. Eventuell sieht man da mehr.Gruß Eisbaeeer
-
Mit der Meldung hört der Log im Debug auf, danach passiert nichts mehr.
Es scheint, als wenn er keine Antwort von dem Receiver bekommt.
onkyo-vis.0 2018-03-07 21:25:30.743 debug DEBUG (sent_discovery) Sent broadcast discovery packet to 192.168.178.29:60128
onkyo-vis.0 2018-03-07 21:25:30.742 info Connecting to AVR 192.168.178.29:60128
Wie kann ich denn die Kommunikation mit dem Receiver per Putty o.ä. testen? Ich sehe da nur die Signale des Receivers, wenn ich ihn per Fernbedienung umschalte.
Wenn ich ein Kommando wie PWR01 eintippe und per Enter bestätige, bekomme ich auch in Putty keine Antwort, sollte da schon etwas passieren?
-
Hallo zusammen,
hätte da auch mal ne Frage. Finde den Onkyo Adapter echt klasse wenn er bei mir funktionieren würde.Nachdem ich die Version 1.0.2 installiert habe und die IP eingegeben hab verbindet sich auch der Adapter und leuchtet Grün.Es erscheinen auch allmöglichen Werte unter Objekten aber leider kann ich bis auf die Lautstärke kaum was steuern. Sobald ich unter commands zb PWR01 oder PWR00 eingebe passiert nicht ausser Fehler im Log. Irgendwas muss ich doch falsch machen….
6387_bildschirmfoto_2018-03-19_um_21.07.52.png