holomekc / ioBroker.hueemu

This adapter allows to simulate a hue bridge with self created lights.
MIT License
11 stars 0 forks source link

Integration Logitech Harmony #8

Open jotbed opened 3 years ago

jotbed commented 3 years ago

Beim anlernen des Logitech Harmony Hubs soll ich trotz Pairing und disableauth den mittleren Button drücken. Mache ich dabei was falsch oder muss hier noch etwas am Adapter angepasst werden?

holomekc commented 3 years ago

Die Meldung kommt immer in Harmony. Harmony geht davon aus, dass es eine echte Hue Bridge ist. Falls Sie eine echte haben kann es auch helfen diese für die Zeit des Pairings zu deaktivieren.

jotbed commented 3 years ago

Ja. Die Bridge habe ich schon aus. Aber wie bestätige ich dann das Pairing?

holomekc commented 3 years ago

Normalerweise sollte bei disableauth nichts nötig sein. Falls du disableauth aus hast musst du auf start Pairing klicken und dann in Harmony starten. Anschließend sollte das automatisch passieren und Harmony zeigt dir dann die Lichter an die gefunden wurden. Oder aber du erhälst die Meldung das keine Lichter gefunden wurden. So hat es zumindest bei mir funktioniert.

Ansonsten ist es schwierig zu sagen. Du kannst einmal probieren den Adapter auf silly zu stellen, um zu schauen, ob du mehr siehst. Bei den meisten mit Problemen lag es daran das der Port 1900 bereits von einem anderen Prozess belegt war. Dann funktioniert der ganze paring Prozess gar nicht. Da kann es helfen den anderen Prozess zu stoppen für die Zeit des Pairings.

jotbed commented 3 years ago

Mh. Meinen ersten Fehler hab ich gefunden. Fakeroku läuft auch mit Port 1900. Aber Wenn ich den aus mache und dann hueemu starte, dann findet er nichts mehr im Netzwerk :-|

Da hängt es leider bei mir grad noch.

Ich Log taucht auch nichts weiter auf, dass irgendwas passiert. Keine Fehler. Nur das er das auth und pairing auf true ändert.

holomekc commented 3 years ago

Sorry das ich mich so spät melde. Es ist aktuell viel zu tun... Hast du einmal das logging auf silly gestellt? Hast du iobroker in docker laufen? Wenn ja dann network_mode: host setzen. Normalerweise ist es Harmony egal, ob hue-emu auf port 80 oder anderen lauscht. Ansonsten könntest du dennoch mal probieren nginx davor zu schalten mit Weiterleitung 80 -> Hast du die letzte Version?

jotbed commented 3 years ago

Hey, IoB läuft als VM. Ich hab aktuell Version 0.0.4

Hab heute mal wieder getestet. Hab grad nen neuen Hub und mit dem selben Problem. Er findet keine Hue-Bridge.

hueemu.0 2021-05-27 23:10:02.326 info (51377) state hueemu.0.disableAuth changed: true (ack = true)
hueemu.0 2021-05-27 23:10:02.309 info (51377) HueServer: Http-Server listening 192.168.178.60:8085
hueemu.0 2021-05-27 23:10:02.278 info (51377) starting. Version 0.0.5 in /opt/iobroker/node_modules/iobroker.hueemu, node: v12.20.1, js-controller: 3.2.16
hueemu.0 2021-05-27 23:09:58.630 info (51276) Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason
hueemu.0 2021-05-27 23:09:58.630 info (51276) terminating
hueemu.0 2021-05-27 23:09:58.630 info (51276) cleaned everything up...
hueemu.0 2021-05-27 23:09:58.629 info (51276) Got terminate signal TERMINATE_YOURSELF
hueemu.0 2021-05-27 23:09:55.711 debug (51276) system.adapter.admin.0: logging false
hueemu.0 2021-05-27 23:07:57.492 debug (51276) system.adapter.admin.0: logging true
hueemu.0 2021-05-27 23:07:24.537 debug (51276) system.adapter.admin.0: logging false
hueemu.0 2021-05-27 23:07:23.112 info (51276) state hueemu.0.startPairing changed: true (ack = true)
hueemu.0 2021-05-27 23:07:23.102 info (51276) state hueemu.0.startPairing changed: true (ack = false)
hueemu.0 2021-05-27 23:06:40.195 debug (51276) system.adapter.admin.0: logging true
hueemu.0 2021-05-27 23:06:38.356 info (51276) state hueemu.0.disableAuth changed: true (ack = true)
hueemu.0 2021-05-27 23:06:38.300 info (51276) HueServer: Http-Server listening 192.168.178.60:8085
hueemu.0 2021-05-27 23:06:38.293 debug (51276) HueUpnp: Server listening 192.168.178.60:1908
hueemu.0 2021-05-27 23:06:38.268 info (51276) starting. Version 0.0.5 in /opt/iobroker/node_modules/iobroker.hueemu, node: v12.20.1, js-controller: 3.2.16
hueemu.0 2021-05-27 23:06:38.192 debug (51276) statesDB connected
hueemu.0 2021-05-27 23:06:38.192 debug (51276) States connected to redis: 0.0.0.0:9000
hueemu.0 2021-05-27 23:06:38.189 debug (51276) States create User PubSub Client
hueemu.0 2021-05-27 23:06:38.189 debug (51276) States create System PubSub Client
hueemu.0 2021-05-27 23:06:38.186 debug (51276) Redis States: Use Redis connection: 0.0.0.0:9000
hueemu.0 2021-05-27 23:06:38.185 debug (51276) objectDB connected
hueemu.0 2021-05-27 23:06:38.182 debug (51276) Objects connected to redis: 0.0.0.0:9001
hueemu.0 2021-05-27 23:06:38.175 debug (51276) Objects client initialize lua scripts
hueemu.0 2021-05-27 23:06:38.175 debug (51276) Objects create User PubSub Client
hueemu.0 2021-05-27 23:06:38.174 debug (51276) Objects create System PubSub Client
hueemu.0 2021-05-27 23:06:38.174 debug (51276) Objects client ready ... initialize now
hueemu.0 2021-05-27 23:06:38.164 debug (51276) Redis Objects: Use Redis connection: 0.0.0.0:9001
hueemu.0 2021-05-27 23:06:34.664 info (2127) Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason
hueemu.0 2021-05-27 23:06:34.663 info (2127) terminating
hueemu.0 2021-05-27 23:06:34.663 info (2127) cleaned everything up...
hueemu.0 2021-05-27 23:06:34.662 info (2127) Got terminate signal TERMINATE_YOURSELF
hueemu.0 2021-05-27 23:04:00.788 info (2127) state hueemu.0.startPairing changed: true (ack = true)
hueemu.0 2021-05-27 23:04:00.786 info (2127) state hueemu.0.startPairing changed: true (ack = false)
hueemu.0 2021-05-27 23:03:51.180 info (2127) state hueemu.0.startPairing changed: false (ack = true)
hueemu.0 2021-05-27 23:03:51.179 info (2127) state hueemu.0.startPairing changed: false (ack = false)
hueemu.0 2021-05-27 23:01:12.513 info (2127) state hueemu.0.startPairing changed: true (ack = true)
hueemu.0 2021-05-27 23:01:12.509 info (2127) state hueemu.0.startPairing changed: true (ack = false)
krobipd commented 3 years ago

möchte mich gerne dran hängen ;-) adapter ist installiert, Port 8080 ist aber auch schon vergeben port 1900 ist frei adapter läuft aber es wird kein hub erkannt.

holomekc commented 3 years ago

@jotbed Hi. Bitte das Logging der Instanz auf silly stellen. Die upnp logs werden nur dann angezeigt. Das liegt daran, dass das Protokoll sehr, sehr redselig ist und ansonsten die logs geflutet werden, wenn das immer an wäre.

Terminate without reason klingt nach belegten Port bei upnp dann wäre es 1900 welcher belegt ist. Ich wollte eigentlich ein Beispiel posten aber mit admin 5 kann ich aktuell die log stufe nicht mehr ändern. Muss ich mal schauen...

@krobipd Ich tue mir schwer dir zu helfen. Port 8080 ist vergeben? Dann kannst du den Port in den Einstellungen ändern. Port 1900 bitte nicht ändern. Das führt zu Problemen.

krobipd commented 3 years ago

Servus und vielen dank für deine mühen. ich habe auf meiner vm bereits den unifi Controller laufen der den Port 8080 für sich beansprucht daher hab ich für deinen adapter 8085 gewählt.

port 1900 hab ich gelassen da er frei ist. nachdem der Harmony hub deinen adapter überhaupt nicht gefunden hat hab ich mal die aktuelle version der ha-bridge installiert und die wurde auf anhieb gefunden und erfolgreich verbunden.

holomekc commented 3 years ago

Hi @krobipd. Läuft ha-bridge auch in der vm? Lauscht ha-bridge auf port 80? Ich hatte eigentlich schon einmal getestet, dass auch nicht port 80 mit Harmony funktioniert. Es gibt immer noch die Option einen nginx davor zu schalten und dann weiterzuleiten auf port 8085 in deinem Fall.

Wenn du das logging auf silly stellst, dann sind auch die SSDP Nachrichten sichtbar und du müsstest sehen wie die broadcast Nachrichten vom Adapter beantwortet werden. Da müsste einiges in deinem lokalen Netzwerk an Nachrichten durch die Gegend geschickt werden, da gefühlt jedes Gerät der Meinung ist dieses Protokoll sprechen zu müssen.

Die SSDP Nachrichten sind ... ich sag mal super ätzend. Daher habe ich mir angeschaut was deconz für Werte zurück gibt, um verschiedenste Clients (Harmony, Amazon Echo) glücklich zu machen. Ich habe privat auch einen Harmony hub und ein Amazon Echo und bei mir funktioniert es. Daher vermute ich dann immer erste das etwas mit dem Netzwerk nicht stimmt. Den Fehler den ich beim Broadcast auf falschem Netzwerk Interface hatte, ist eigentlich schon seit 0.0.9 behoben. Das hatte netterweise ein User eingesteuert.

Bei mir läuft iobroker in Docker mit host network, damit ich beim broadcast von UPNP / SSDP => port 1900 keine Probleme habe.

Ich tue mir schwer weiter zu helfen, zum großen Teil auch weil das Logging vom Adapter noch ziemlich mangelhaft ist. Geschrieben habe ich den Adapter eigentlich erst einmal für mich privat, da die ganzen anderen Integrationen bei mir nur Probleme gemacht haben. Hauptsächlich in Kombination mit dem Echo. Wirklich "released" / eingesteuert bei iobroker hatte ich den Adapter nicht, da mir einfach die Zeit fehlt an den Smart Home Projekten zu arbeiten. Und ehrlicherweise diese Jahr auch ein wenig die Motivation. Ich sitze schon vom Job her gefühlt den ganzen Tag vorm Rechner, da brauche ich Abends und am Wochenende einen Ausgleich.

Ich kann schauen, dass ich das Logging ein bissle aufbohre, so dass mehr Details angezeigt werden und vielleicht mit Hinweisen was nicht stimmen könnte.

Hier gibt es den Code vom UPNP Teil. In dem Link sieht man ein bisschen was vom broadcast https://github.com/holomekc/hue-emu/blob/fe8b1baa345aadf7b87bff069e2f0ef6a4fa82e8/src/upnp/hue-upnp.ts#L13-L16

Was vielleicht noch ein Problem sein könnte ist wie oft der Adapter durchs Netzwerk schreit: "Hier bin ich". Das wäre hier:

https://github.com/holomekc/hue-emu/blob/fe8b1baa345aadf7b87bff069e2f0ef6a4fa82e8/src/upnp/hue-upnp.ts#L50-L54

Vielleicht kannst du testen einmal die fest eingstellten 20s vom setInterval einmal zu verringern. Dazu müsstest du im node_modules Order vom installierten hue-emu adapter gehen und nach der javascript Datei suchen und dann:

adapter stoppen -> Wert mit Editor ändern bspw. 5000 -> speicher -> adapter starten.

Was auch noch zu probieren wäre ist die Einstellung UPNP Verhalten einmal auf aktiviert zu stellen.

Ich hoffe das war jetzt nicht zu technisch und gibt ein paar Ansätze bis ich wieder ein bissle Zeit aufbringe.

krobipd commented 3 years ago

vielen dank für deine ausführliche Antwort ich finde diesen adapter wirklich mega da er es einen ermöglich auf ein extra tool zu verzichten und diese Möglichkeiten direkt via iobroker abzubilden

zu meinem Setup ich habe eine Debian vm auf dieser laufen der iobroker, unifi Controller, Netdata und die ha-bridge.

ich habe deinen adapter natürlich ohne laufender ha-bridge probiert bzw zuerst hatte ich sie gar nicht installiert. und leider braucht der unifi Controller Port 8080. ich weiß leider nicht welche Ports die ha-bridge alles nutzt. das Webinterface ist auf Port 80 erreichbar und 1900 wird auch genutzt, was noch? keine Ahnung.

das Problem mit dem Netzwerk hatte ich ursprünglich in meiner alten vm gehabt. da gab es wohl irgendein Problem mit dem unifi Netzwerk. konnte ich, da ich kein ipv6 von meinem provider bekomme, lösen indem ich ipv6 dhcp auf dem unifi Controller deaktivierte. damals hatte die harmony auch die ha-bridge nicht erkannt, darauf wurde ich leider auch nur aufmerksam da ich einen meinem zwei harmony hubs resetten musste und daher neu mit der hue Bridge (ha-bridge) verbinden musste.

das Problem hab ich aber gelöst da ja sonst die ha-bridge auch nicht gefunden werden würde.

ich werde mir deine tipps und infos in ruhe durchlesen und stück für stück durchgehen und falls sich was ändert sicherlich melden ;-)