anbei eine erste test version des moduls mit unterstützung des neuen umdokumentierten push api der hue bridge.
- es ist die neueste fhem bzw. HttpUtils.pm version von morgen (2021-07-16) nötig:
https://forum.fhem.de/index.php/topic,122066.msg1166545.html- es ist die neueste firmware auf der bridge nötig (bei mir aktuell 1945163030).
- im internal EventSource ist zu sehen ob die verbindung steht.
- das automatische neu verbinden ist noch nicht optimal.
da philips/signify (noch ?) nichts dokumentiert hat und sie scheinbar ein komplett neues v2 api entwickeln (das sich ziemlich vom aktuellen unterscheidet) ist die implementierung im modul aktuell weder vollständig noch korrekt. d.h. es es kann z.b. sein das sich mit dem nächsten update der bridge das api wieder ändert. es sind u.a aktuell nicht alle events mit den möglichen werten implementiert.
wichtig ist zu wissen das events nur für dinge erzeugt werden von denen die bridge auch etwas mitbekommen hat. d.h. z.b. für das schalten von lampen über die bridge gibt es sofort events. für das schalten einer lampe direkt über eine fernbedienung gibt es erst dann ein event wenn die bridge den geänderten zustand auch mitbekommen hat. das ist aber immer noch schneller als zu pollen. das gleiche gilt für bewegungsmelder und deren motion events. ich habe noch kein temperatur oder helligkeits event gesehen. erreichbarkeits events kommen schneller als beim pollen, aber hier sollte man vermutlich nicht zu viel erwarten. es gibt auch events für die gruppen an der eine lampe beteiligt ist.
was gehen sollte: lampen schalten, motion, erreichbarkeit. jeweils mit den obigen einschränkungen.
alles andere ist noch nicht implementiert. ob es entsprechende events gibt kann man mit verbose 4 sehen. wenn hier etwas aufällig ist oder fehlt: bitte posten. wenn etwas nicht reagiert wie erwartet: ebenfalls das log posten.
edit 2022-01-08: neue version mit support für hue remotes/buttons.
edit 2022-01-17: tippfehler in button events korrigiert
edit 2022-01-17: fix für friends of hue taster events
edit 2022-01-17: fix für lange events, fix for perl warnung
edit 2022-01-17: proof of concept um dynamische szenen zu starten:
set <bridge> v2scene <id>achtung: aktuell ohne besondere fehler prüfung und deshalb auf eigene gefahr. das ganze bedient sich auch noch etwas unhandlich da man sich die id von hand raussuchen muss.
mit
get <bridge> v2scenes die id der gewünschten szene anhand von name und gruppe/raum suchen und dann mit
set <bridge> v2scene <id> die szene starten. wenn es eine dynamische szene ist sollte sie anfangen zu spielen.
mit
get <bridge> v2resource <id> kann man sich die internas der szene ausgeben lassen dynamische szenen enthalten im palette knoten nicht leere einträge stehen.
ganz allgemein kann man sich mit
get <bridge> v2resource <id> alle internas einer resource ausgeben lassen und mit
get <bridge> v2resource alle v2 internas. mit
get <bridge> v2resourcetype bekommt man alle resource typen und mit
get <bridge> v2resourcetype <type> alle internen ids des angebenden typs. die hier gefunden ids kann man dann wieder in ein
get <bridge> v2resource <id> stecken um genauere information zu bekommen. wenn sich hier rid einträge finden kann man sich damit auch wieder weiter hangeln. also zum beispiel alle buttons suchen und schauen zu welchem taster sie gehören, oder welche lampen zu welchen gruppen gehören oder welche szenen welche lampen steuern oder ...
ich habe gesehen das manche lampen (die filament birnen) jetzt scheinbar einen kerzen effekt haben und andere einen feuer effekt (neuere farbige lampen). ich weiss noch nicht wie man die startet. ich weiss auch nicht ob die liste der unterstützten effekte auch bei nicht philips lampen funktioniert. die lichterkette aus dem anderen thread wäre ein kandidat bei dem man mal schauen könnte.
demnächst werden die v2 szenen noch vernünftig (d.h. mit drop down & listen und co) in fhem eingebaut.
mit den daten aus dem v2 api müsste es auch möglich sein zusammengehörende sensoren in ein einziges device zu packen.
edit 2022-01-19: erkennung von neuen geräten zur laufzeit verbessert, intervalle in der bridge werden angepasst, pollDevices wird gelöscht und intervalle in den devices werden entfernt wenn der EventStream verbunden wird.
edit 2022-01-19: der aktuelle stand ist jetzt eingecheckt und ab morgen per update für alle verfügbar