NEWS
Adapter: fakeRoku (Harmony to ioBroker)
-
Ich hätte es hier ja nicht zum testen reingestellt, wenn es bei mir nicht sauber laufen würde :lol: . In der Harmony Desktop App wird das Gerät bei mir gefunden, ebenso in der Android App. Ob man über "WLAN Scannen" oder über Gerät Hinzufügen (Roku 3) geht ist eigentlich egal, da man am Ende immer im Netzwerkscanner landet.
Schalt den Adapter doch mal auf debug, vielleicht kommen da verwertbare Informationen bei raus.
-
Kann ja sein, dass es nicht an Dir liegt. :mrgreen:
Aber:
fakeroku.0 2017-02-04 15:46:37.853 debug HTTP-Server started on 192.168.1.121:9093 fakeroku.0 2017-02-04 15:46:37.851 debug listening on 192.168.1.121:1900 fakeroku.0 2017-02-04 15:46:37.784 info starting. Version 0.1.0 in /opt/iobroker/node_modules/iobroker.fakeroku, node: v4.7.2 fakeroku.0 2017-02-04 15:46:37.729 debug statesDB connected fakeroku.0 2017-02-04 15:46:37.596 debug objectDB connected fakeroku.0 2017-02-04 15:46:32.844 info terminating fakeroku.0 2017-02-04 15:46:32.831 info cleaned everything up... fakeroku.0 2017-02-04 15:46:31.170 debug HTTP-Server started on 0.0.0.0:9093 fakeroku.0 2017-02-04 15:46:31.168 debug listening on 0.0.0.0:1900 fakeroku.0 2017-02-04 15:46:31.097 info starting. Version 0.1.0 in /opt/iobroker/node_modules/iobroker.fakeroku, node: v4.7.2 fakeroku.0 2017-02-04 15:46:30.980 debug statesDB connected fakeroku.0 2017-02-04 15:46:30.848 debug objectDB connected fakeroku.0 2017-02-04 15:45:58.500 info cleaned everything up... fakeroku.0 2017-02-04 15:45:58.497 error at UDP.onMessage (dgram.js:506:8) fakeroku.0 2017-02-04 15:45:58.497 error at Socket.emit (events.js:172:7) fakeroku.0 2017-02-04 15:45:58.497 error at emitTwo (events.js:87:13) fakeroku.0 2017-02-04 15:45:58.497 error at Socket. (/opt/iobroker/node_modules/iobroker.fakeroku/main.js:170:28) fakeroku.0 2017-02-04 15:45:58.497 error at Socket.send (dgram.js:300:11) fakeroku.0 2017-02-04 15:45:58.497 error RangeError: Offset + length beyond buffer length fakeroku.0 2017-02-04 15:45:58.485 error uncaught exception: Offset + length beyond buffer length fakeroku.0 2017-02-04 15:45:58.458 debug response sent to 192.168.1.125:40741 fakeroku.0 2017-02-04 15:45:49.802 debug HTTP-Server started on 0.0.0.0:9093 fakeroku.0 2017-02-04 15:45:49.799 debug listening on 0.0.0.0:1900 fakeroku.0 2017-02-04 15:45:49.723 info starting. Version 0.1.0 in /opt/iobroker/node_modules/iobroker.fakeroku, node: v4.7.2 fakeroku.0 2017-02-04 15:45:49.668 debug statesDB connected fakeroku.0 2017-02-04 15:45:49.533 debug objectDB connected fakeroku.0 2017-02-04 15:45:44.736 info terminating fakeroku.0 2017-02-04 15:45:44.721 info cleaned everything up... fakeroku.0 2017-02-04 15:44:04.073 debug HTTP-Server started on 192.168.1.121:9093 fakeroku.0 2017-02-04 15:44:04.071 debug listening on 192.168.1.121:1900 fakeroku.0 2017-02-04 15:44:03.998 info starting. Version 0.1.0 in /opt/iobroker/node_modules/iobroker.fakeroku, node: v4.7.2
Wenn ich die Netzwerk-Einstellung richtig hab, läuft der Adapter , tut aber nichts.
Wenn die Netzwerk-Einstellung falsch ist, reagiert er auf das upnp, schmiert dann aber ab….
Nun Du wieder.
P.S. Die Lizenz fürs Adapteradminfenster müsste auch noch eingetragen werden (ev. io-package.json);-)
-
Wenn du 0.0.0.0 einstellst, dann horcht der Adapter auf allen Interfaces des Gerätes. Allerdings wird dann, wenn per multicast eine Anfrage des Hubs kommt (an 0.0.0.0:1900) geantwortet, dass der Hub unter 0.0.0.0:9093 eine xml Datei abrufen soll. An diesem Punkt scheitert es dann, da 0.0.0.0 keine gültige Netzwerk-IP ist.
Stellst du die richtige IP ein, wird nur noch auf dieser gehorcht und diese wird dann auch in der Antwort gesendet.
Tests:
-
kannst du von einem anderen Gerät per Browser auf 192.168.1.121:9093 zugreifen, wenn du diese IP eingestellt hast?
-
geht das wenn du 0.0.0.0 eingestellt hast und trotzdem die obere IP nutzt?
-
welche IPs werden dir in der Adaptereinstellung noch angeboten?
-
-
Bitte nochmal von GitHub installieren.
Der eine Crash des Adapters lag an Node 4.x, das habe ich gefixt. Hatte vorher nur unter Node 6 getestet.
Außerdem horcht der Adapter jetzt immer auf allen Interfaces bei ":1900".
-
Test-Resultate 1: OK; geht mit xml return
! ````
<root xmlns="urn:schemas-upnp-org:device-1-0"><specversion><major>1</major>
<minor>0</minor></specversion>
<device><devicetype>urn:roku-com:device:player:1-0</devicetype>
<friendlyname>ioBroker0</friendlyname>
<manufacturer>Pmant</manufacturer>
<manufacturerurl>https://github.com/Pmant/</manufacturerurl>
<modeldescription>ioBroker fake Roku player</modeldescription>
<modelname>ioBroker0</modelname>
<modelnumber>4200X</modelnumber>
<modelurl>https://github.com/Pmant/ioBroker.fakeroku</modelurl>
<serialnumber>8727023100193855d71aa3bede2073c7</serialnumber>
<udn>uuid:roku:ecp:8727023100193855d71aa3bede2073c7</udn>
<servicelist><service><servicetype>urn:roku-com:service:ecp:1</servicetype>
<serviceid>urn:roku-com:serviceId:ecp1-0</serviceid>
<controlurl><eventsuburl><scpdurl>ecp_SCPD.xml</scpdurl></eventsuburl></controlurl></service></servicelist></device></root>Test-Resultat 2: NOK; geht nicht -> ERR_CONNECTION_REFUSED Test-Resultat 3: ![452_iobroker-err-fakeroku.png](/assets/uploads/files/452_iobroker-err-fakeroku.png)
-
Danke, deine Tests haben schon geholfen und die Ergebnisse sind in etwa wie vermutet, jetzt nochmal neu von GitHub testen bitte
-
Nun denn…
Installation: OK
Nach Umstellen der IP und Log-debug: ziemlich traffic
Discovery vom Hub erfolgreich: OK
Roku 3 Device hinzugefügt: OK
Am Tablet mal die 'Home'-Taste gesendet: Emfangen OK, Objekt erstellt auch OK.
Dann geh mal suchen, wo die Kinder die Fernbedienung verlegt haben...
BTW: Gute Arbeit Patrick :!:
-
Nach Umstellen der IP und Log-debug: ziemlich traffic `
Im Netzwerk fliegt mittlerweile jede Menge solcher Traffic rum, alleine der Harmony Hub schickt beim Netzwerkscan an die 100 Anfrage rum. Die meisten dieser Anfragen bleiben allerdings unbeantwortet vom Adapter. -
Ich bin da etwas reingeschossen…
Desshalb - einfach um sicher zu sein -> Der Adapter ist für 'nichts' gut, AUSSER einige Tasten an ein virtuelles Gerät (iobroker) zu senden, die sonst keiner interpretiert? Was ja gut ist!
Aber würde bedeuten, dass meine Wohnzimmerlampe denmächst Amazon heisst?! Oder??
-
Oder du müsstest ein Gerät in der harmony anlegen (das du nicht hast) und dann dessen Tasten missbrauchen um Homematic / iobroker zu steuern.
Gruß
Rainer
-
Ich bin da etwas reingeschossen…
Desshalb - einfach um sicher zu sein -> Der Adapter ist für 'nichts' gut, AUSSER einige Tasten an ein virtuelles Gerät (iobroker) zu senden, die sonst keiner interpretiert? Was ja gut ist!
Aber würde bedeuten, dass meine Wohnzimmerlampe denmächst Amazon heisst?! Oder?? `
Normalerweise kann man, da Logitech keine solche API anbietet, nicht auf Knopfdrücken auf den Harmony Remotes reagieren. Das einzige, was Harmony nach außen weitergibt sind Wechsel der Activities, was vom Harmony Adapter unterstützt wird. Um nun auch auf Knöpfe der Remotes reagieren zu können ist der fakeRoku da, ein Gerät welches du in verschiedene Activities mit rein packen kannst und dessen Knöpfe dann nach ioBroker weitergeleitet werden. Das funktioniert nur, da Harmony die Roku-Geräte über das Netzwerk steuert.
Beispiel: du packst fakeRoku mit in die Activity "Musik" und belegst auf der Fernbedienung die Farbknöpfe auf welche der funktionierenden Buttons (Amazon usw. werden von Harmony nicht über das Netzwerk gesendet). Nun könntest du in ioBroker entsprechend reagieren und RGB Lampen auf die Farben ändern.
Es sollten diese Knöpfe funktionieren:
InstantReplay Home Info Search Back FastForward = Fwd Rewind = Rev Select DirectionUp DirectionRight DirectionLeft DirectionDown Play
-
Coole Sache!!!
Hab zwar keine Ahnung, wer oder was "Roku" ist, aber der Adapter funktioniert schon richtig gut. 8-) Endlich kann man die Harmony Remote richtig flexibel nutzen.
Man sollte evtl. noch erwähnen, dass "Pause" erneut den "Play"-Befehl und "Exit" ebenfalls den "Home"-Befehl sendet. Das macht aber wohl der Harmony-Hub bzw. wird von Roku so erwartet (nur dass sich keiner wundert).
Also "well done" und besten Dank, justr
-
Ja genau, im Harmony-System gibt es zwar Pause, in Wirklichkeit wird aber bei Play und Pause jeweils Play gesendet.
Dass Exit standardmäßig den Home-Befehl sendet liegt an der Roku Bedienstruktur (zurück zum Homescreen). Die Tasten auf der FB können ja beliebig geändert werden, es stehen wie gesagt die 12 (oder waren es 13?) Tasten zur Verfügung. Auch kann das Gerät in der Harmonysoftware beliebig umbenannt werden und es sollten mehrere Instanzen gleichzeitig möglich sein, um noch mehr Tasten zu bekommen (mag das jemand testen? Port müsste anderer als beim ersten Adapter sein).
-
Hi Pman,
ich habe den Adapter ebenfalls mal installiert.
Fehlermeldungen gibt es keine. States werden aber leider nicht angelegt.
Die IP habe ich auf IoBroker gestellt. Anbei mal das log, wenn auf debug gestellt.
[spoiler] akeroku.0 2017-02-04 23:11:52.165 info cleaned everything up... host.iobroker 2017-02-04 23:11:52.163 info object change system.adapter.fakeroku.0 host. 2017-02-04 23:11:50.549 debug redis publish io.system.adapter.fakeroku.0.uptime {"val":195,"ack":true,"ts":1486246310548,"q":0,"from":"system.adapter.fakeroku.0","lc":1486246310548} host. 2017-02-04 23:11:50.547 debug redis publish io.system.adapter.fakeroku.0.memHeapUsed {"val":9.45,"ack":true,"ts":1486246310547,"q":0,"from":"system.adapter.fakeroku.0","lc":1486246310547} host. 2017-02-04 23:11:50.547 debug redis publish io.system.adapter.fakeroku.0.memHeapTotal {"val":10.52,"ack":true,"ts":1486246310547,"q":0,"from":"system.adapter.fakeroku.0","lc":1486246220531} host. 2017-02-04 23:11:50.547 debug redis publish io.system.adapter.fakeroku.0.memRss {"val":28.23,"ack":true,"ts":1486246310547,"q":0,"from":"system.adapter.fakeroku.0","lc":1486246280543} host. 2017-02-04 23:11:50.547 debug redis publish io.system.adapter.fakeroku.0.connected {"val":true,"ack":true,"ts":1486246310547,"q":0,"from":"system.adapter.fakeroku.0","lc":1486246115514} host. 2017-02-04 23:11:50.546 debug redis publish io.system.adapter.fakeroku.0.alive {"val":true,"ack":true,"ts":1486246310546,"q":0,"from":"system.adapter.fakeroku.0","lc":1486246115513} fakeroku.0 2017-02-04 23:11:48.099 debug responding to 192.168.0.106:49414 fakeroku.0 2017-02-04 23:11:47.098 debug responding to 192.168.0.106:49414 fakeroku.0 2017-02-04 23:11:46.097 debug responding to 192.168.0.106:49414 fakeroku.0 2017-02-04 23:11:45.096 debug responding to 192.168.0.106:49414 host. 2017-02-04 23:11:35.545 debug redis publish io.system.adapter.fakeroku.0.uptime {"val":180,"ack":true,"ts":1486246295545,"q":0,"from":"system.adapter.fakeroku.0","lc":1486246295545} host. 2017-02-04 23:11:35.545 debug redis publish io.system.adapter.fakeroku.0.memHeapUsed {"val":9.29,"ack":true,"ts":1486246295545,"q":0,"from":"system.adapter.fakeroku.0","lc":1486246295545} host. 2017-02-04 23:11:35.545 debug redis publish io.system.adapter.fakeroku.0.memHeapTotal {"val":10.52,"ack":true,"ts":1486246295545,"q":0,"from":"system.adapter.fakeroku.0","lc":1486246220531} host. 2017-02-04 23:11:35.545 debug redis publish io.system.adapter.fakeroku.0.memRss {"val":28.23,"ack":true,"ts":1486246295545,"q":0,"from":"system.adapter.fakeroku.0","lc":1486246280543} host. 2017-02-04 23:11:35.544 debug redis publish io.system.adapter.fakeroku.0.connected {"val":true,"ack":true,"ts":1486246295544,"q":0,"from":"system.adapter.fakeroku.0","lc":1486246115514} host. 2017-02-04 23:11:35.544 debug redis publish io.system.adapter.fakeroku.0.alive {"val":true,"ack":true,"ts":1486246295544,"q":0,"from":"system.adapter.fakeroku.0","lc":1486246115513} fakeroku.0 2017-02-04 23:11:27.381 debug responding to 192.168.0.1:43598 fakeroku.0 2017-02-04 23:11:22.381 debug responding to 192.168.0.1:43598 host. 2017-02-04 23:11:20.545 debug redis publish io.system.adapter.fakeroku.0.uptime {"val":165,"ack":true,"ts":1486246280545,"q":0,"from":"system.adapter.fakeroku.0","lc":1486246280545} host. 2017-02-04 23:11:20.544 debug redis publish io.system.adapter.fakeroku.0.memHeapUsed {"val":9.1,"ack":true,"ts":1486246280544,"q":0,"from":"system.adapter.fakeroku.0","lc":1486246280544} host. 2017-02-04 23:11:20.544 debug redis publish io.system.adapter.fakeroku.0.memHeapTotal {"val":10.52,"ack":true,"ts":1486246280544,"q":0,"from":"system.adapter.fakeroku.0","lc":1486246220531} host. 2017-02-04 23:11:20.543 debug redis publish io.system.adapter.fakeroku.0.memRss {"val":28.23,"ack":true,"ts":1486246280543,"q":0,"from":"system.adapter.fakeroku.0","lc":1486246280543} host. 2017-02-04 23:11:20.543 debug redis publish io.system.adapter.fakeroku.0.connected {"val":true,"ack":true,"ts":1486246280543,"q":0,"from":"system.adapter.fakeroku.0","lc":1486246115514} host. 2017-02-04 23:11:20.543 debug redis publish io.system.adapter.fakeroku.0.alive {"val":true,"ack":true,"ts":1486246280543,"q":0,"from":"system.adapter.fakeroku.0","lc":1486246115513} fakeroku.0 2017-02-04 23:11:17.381 debug responding to 192.168.0.1:43598 fakeroku.0 2017-02-04 23:11:12.381 debug responding to 192.168.0.1:43598 fakeroku.0 2017-02-04 23:11:07.383 debug responding to 192.168.0.1:43598 host. 2017-02-04 23:11:05.543 debug redis publish io.system.adapter.fakeroku.0.uptime {"val":150,"ack":true,"ts":1486246265543,"q":0,"from":"system.adapter.fakeroku.0","lc":1486246265543} host. 2017-02-04 23:11:05.543 debug redis publish io.system.adapter.fakeroku.0.memHeapUsed {"val":8.92,"ack":true,"ts":1486246265543,"q":0,"from":"system.adapter.fakeroku.0","lc":1486246265543} host. 2017-02-04 23:11:05.543 debug redis publish io.system.adapter.fakeroku.0.memHeapTotal {"val":10.52,"ack":true,"ts":1486246265543,"q":0,"from":"system.adapter.fakeroku.0","lc":1486246220531} host. 2017-02-04 23:11:05.543 debug redis publish io.system.adapter.fakeroku.0.memRss {"val":28.29,"ack":true,"ts":1486246265543,"q":0,"from":"system.adapter.fakeroku.0","lc":1486246265543} host. 2017-02-04 23:11:05.542 debug redis publish io.system.adapter.fakeroku.0.connected {"val":true,"ack":true,"ts":1486246265542,"q":0,"from":"system.adapter.fakeroku.0","lc":1486246115514} host. 2017-02-04 23:11:05.542 debug redis publish io.system.adapter.fakeroku.0.alive {"val":true,"ack":true,"ts":1486246265542,"q":0,"from":"system.adapter.fakeroku.0","lc":1486246115513} fakeroku.0 2017-02-04 23:11:01.804 debug responding to 192.168.0.65:63511 fakeroku.0 2017-02-04 23:11:00.690 debug responding to 192.168.0.65:63511 fakeroku.0 2017-02-04 23:10:59.690 debug responding to 192.168.0.65:63511 fakeroku.0 2017-02-04 23:10:58.688 debug responding to 192.168.0.65:63511 fakeroku.0 2017-02-04 23:10:54.812 debug responding to 192.168.0.146:35878 fakeroku.0 2017-02-04 23:10:54.608 debug responding to 192.168.0.146:35878 fakeroku.0 2017-02-04 23:10:54.404 debug responding to 192.168.0.146:35878 fakeroku.0 2017-02-04 23:10:54.198 debug responding to 192.168.0.146:35878 [/spoiler]
-
Harmony Hub - Gerät schon hinzugefügt.. Und ein paar Tasten gedrückt?
-
Hi,
Harmony war schon installiert. und Tasten habe ich ohne Ende gedrückt.
Daher kommen auch einige der Debug Log-Einträge.
vG Looxer
-
Hoffe, wir reden nicht aneinander vorbei. Du musst in der Harmony App oder Desktop Applikation das neue Gerät hinzufügen.
Und in diesem Roku-3 Device die Tasten drücken (nicht irgendwelche).
-
aaah- ok. Hatte ich nicht so verstanden.
Dann mache ich da mal weiter.
Veilen Dank
-
Hallo,
bekomme leider keine Verbindung…
Habe den Adapter (siehe Bild) konfiguriert
und bei einem Adapter Neustart erscheint im Log (Level=Debug)
fakeroku.0 2017-03-03 09:03:04.520 info fakeroku.0 starting. Version 0.2.1 in /opt/iobroker/node_modules/iobroker.fakeroku, node: v4.6.1 fakeroku.0 2017-03-03 09:03:01.169 info terminating fakeroku.0 2017-03-03 09:03:01.077 info cleaned everything up...
In der Harmony App als Gerät "Roku" - "Roku 3" angegeben und nach der Gerätesuche erscheint "Roku Roku 3 wurde nicht gefunden."
Harmony Hub-Software: 4.12.36
Irgendwelche Ideen oder Vorschläge?
1408_clipboard01.jpg -
Schalte mal im Admin unter Instanzen das logging auf DEBUG für fakeRoku, vielleicht hilft das Log dann weiter bei der Problemsuche.