NEWS
Test Adapter nanoleaf-lightpanels v1.3.x GitHub/latest
-
@stefande
Ok, dass andere SSDP Notify Messages noch ankommen, war mir jetzt nicht bewusst.
Dann hast du natürlich Recht. Dann ist es kein Problem von dazwischenliegenden Geräten zwecks Filterung etc.
Das liegt dann tatsächlich schlicht an den nanoleaf-Geräten, dass die nix mehr senden. -
Hi ich habe eine Frage ich nutze Io Broker erst seit kurzem, habe mir jetzt die Version 1.04 Instaliert und kann mein Canvas auch ohne Probleme Steuern aber wie funktioniert das mit dem Touch? Unter Objekten kann ich keine Touch funktion sehen muss ich das irgendwie Konfigurieren?
Mfg
Chriss
-
@Zyan
Unter Objekte -> Canvas sollte eine Unterstruktur "Touch" sein. Die wird automatisch beim ersten Verbinden der Canvas angelegt:
Wenn du ein Touch-Event auslöst, sieht du dort die Panel-ID und die Geste. -
@Zyan
Hab gerade gesehen, dass ich da mit 1.0.3 bei meinem internen Umbau des Codes was übersehen habe, was dazu führt, das der Touch Channel nicht angelegt wird.
Fixe ich mit 1.0.5. Vermutlich morgen.
Danke für den Hinweis. -
Hi hab gerade gesehen das schon ein Update da ist danke für die schnelle Antwort die Gesten Funktionieren auch allerdings, (vllt mache ich da auch was falsch) ich habe es mit node red verbunden und bekomme immer nur eine Aktualiedierung wenn der Wert sich auch ändert. Ich wollte sie als Toggle für eine Lampe Nutzen bei, ersten drücken gehts wenn ich dann nochmal drücke passiert nichts bis ich ein double tap mache oder eine andere Kachel drücke.
Edit: Also gerade nochmal ausprobiert es klappt wunderbar wenn ich immer verschiedenen sachen drücke. Ich hab in Node Red eine Debug Node angehängt eine an die Touch art eine an die Touch id , Beim ersten mal kommen 2 Nachrischten , drück ich danach Double Tap aktualiesiert nur noch die für Die Gestik und wenn ich dann eine andere Kachel mit single Tap nehme atkualiesieren wieder beide.
-
@Zyan
Also ehrlich gesagt, weiß ich gar nicht genau wie die API da bei gleichen Events reagiert. Ich kann es leider nur schwer testen, da mein einzelnes Test-Panel da irgendwie eine totale Macke hat. Bis da ein Event kommt, muss ich manchmal zig mal tappen. Aber normalerweise sollte ein gleiches Event mehrfach kommen.
Aber ich denke ich weiß, wo das Problem ist. Zustände aktualisiere ich im Adapter nur wenn nötig. D.h. wenn sie sich ändern, um unnötige Updates zu vermeiden.
Mit dem SSE werden ja ohnehin nur Änderungen gemeldet (z.B. Power-State oder Helligkeit).
Das führt jetzt bei den Touch-Events zum Problem, da auch mehrere gleiche Events hintereinander möglich sein (sollen).
Ich werde hierzu eine Anpassung machen, dass die Touch-Events immer geupdated werden. Dann sollte es gehen.
Also derzeit solltest du bei beiden States (PanelID und Gesture) bei gleichen Events (d.h. gleiches Panel + gleiche Geste) keine Aktualisierung sehen (mal im Objekt-Explorer im Mouseover drauf achten, ob sich der Zeitstempel für das letzte Update (nicht letzte Änderung) ändert). Dürfte nicht sein. -
Da ändert sich nix, dachte zuerst das ist eine Io Broker Sache das man das irgendwo einstellen muss/kann. Ich habe mir in Node Red jetzt eine kleine Rule Gebastelt mit der ich die Panel Id und das Tap Event rausfiltern kann und anschließend sende ich eine "9" zurück zu dem Touch und zu dem Id Object. Dann wird die 9 hinterlegt und egal welches Panel mit welcher Geste ich anschliesend drücke es gibt wieder eine Aktualisierung. So klappt das nun ganz gut.
Vielen Dank für diesen Adapter damit kann man wirklich Lustige Sachen zusammen Basteln
Mfg
-
@Zyan
Habe die Anpassung gerade gemacht und funktioniert. Konnte es mit meinem Test-Panel erfolgreich testen.
Jetzt werden die Events immer aktualisiert, auch wenn sich PanelID und/oder Event nicht geändert haben.
D.h. du kannst auf PanelID oder Event auf Aktualisierung "horchen".
Ich stelle die Version nachher online.
Am besten zu später Stunde noch mal reinschauen. -
Gerade getestet :Perfekt!
Jetzt kann ich Licht und Fernseher Helligkeit usw direkt auf der Couch einstelleneine kleine Sache ist mir aufgefallen bei Swipe Up und Swipe Down sind die Zahlen vertauscht, Left und Right hab ich nicht getestet.
Aber Funktional scheint alles super zu laufen.
Vielen Dank nochmal
Mfg
Chriss
-
@Zyan
Also die GestureIDs habe ich 1:1 aus der API-Doku (noch mal geprüft). Die sind korrekt.
Hast du mal geprüft, ob die Ausrichtung deiner Canvas-Panels in der App korrekt sind? Vlt. stehen die auf dem Kopf? Dann wäre klar, dass die Gesten vertauscht sind. -
Lol , Ja ich hatte etwas am layout geändert und den Controller dabei gedreht . Er steht jetzt tatsächlich auf dem Kopf ... Sry dafür ^^
-
Hallo,
Funktionieren die neuen Nanoleaf shapes (neue Dreiecke klein gross, hexagons) auch mit diesem Adapter? Hat das mal wer ausprobiert?
Mfg -
@Zyan
Die Shapes werden noch nicht offiziell supported. Funktionieren müssten sie aber, da Fallback Device Canvas ist, wenn das Modell nicht erkannt wird. D.h. die Shapes werden als Canvas erkannt und haben die gleichen Funktionen.
Ich werde die Shapes bei Gelegenheit mal sl ergänzen, dann tauchen die auch korrekt als Shapes auf. Den Model-Code kenne ich inzwischen, wobei es da eine Zeit lang einen Bug in der Firmware gab, dass die sich falsch gemeldet haben. Sollte aber gefixt sein.
Was neue Funktionen bzw. Unterschiede zu den Canvas angeht (außer die Form) , weiß ich nichts, da ich keine Shapes habe.Vlt. kann da jemand was sagen, der welche hat.
Grüße Daniel
-
Danke für die schnelle Antwort.
Das hört sich ja super an evtl. zu Weihnachten werde ich welche haben dann kann ich mal testen und berichten.
Mfg Chris -
Hi also ich habe nun ein Paar Nanoleaf Shapes . Habe es mit einem Hexagon und einem mini Dreieck getestet es funktioniert wie mit den Canvas allerdings nach einer gewissen Zeit verlieren sie ihre Verbindung sind dann kurze Zeit nicht ansprechbar und kommen dann wieder zurück.
habe auch ein paar Errors in meinen Logs:host.openhabian 2020-12-24 23:45:38.813 info Update repository "default" under "http://download.iobroker.net/sources-dist.json"
nanoleaf-lightpanels.0 2020-12-24 23:45:30.234 info (1661) New nanoleaf device 'Canvas' (NL42) detected!
nanoleaf-lightpanels.0 2020-12-24 23:45:30.228 warn (1661) nanoleaf device 'NL42' unknown! Using Canvas device as fallback. Please report this to the developer!
nanoleaf-lightpanels.0 2020-12-24 23:45:30.228 info (1661) Connected to '192.168.2.83:16021'
nanoleaf-lightpanels.0 2020-12-24 23:45:30.186 info (1661) Connecting to '192.168.2.83:16021'...
nanoleaf-lightpanels.0 2020-12-24 23:45:30.180 info (1661) Nanoleaf adapter 'nanoleaf-lightpanels.0' started.
nanoleaf-lightpanels.0 2020-12-24 23:45:30.164 info (1661) starting. Version 1.0.6 in /opt/iobroker/node_modules/iobroker.nanoleaf-lightpanels, node: v12.18.3, js-controller: 3.1.6
host.openhabian 2020-12-24 23:45:29.486 info instance system.adapter.nanoleaf-lightpanels.0 started with pid 1661
host.openhabian 2020-12-24 23:44:59.475 info Restart adapter system.adapter.nanoleaf-lightpanels.0 because enabled
host.openhabian 2020-12-24 23:44:59.475 info instance system.adapter.nanoleaf-lightpanels.0 terminated with code 0 (NO_ERROR)
nanoleaf-lightpanels.0 2020-12-24 23:44:59.004 info (1644) Delete channel nanoleaf-lightpanels.0.Canvas.touch
nanoleaf-lightpanels.0 2020-12-24 23:44:59.003 info (1644) Delete channel nanoleaf-lightpanels.0.Canvas.info
nanoleaf-lightpanels.0 2020-12-24 23:44:58.956 info (1644) Terminated (NO_ERROR): Without reason
nanoleaf-lightpanels.0 2020-12-24 23:44:58.956 info (1644) terminating
nanoleaf-lightpanels.0 2020-12-24 23:44:58.928 info (1644) Shutting down Nanoleaf adapter 'nanoleaf-lightpanels.0'...
nanoleaf-lightpanels.0 2020-12-24 23:44:58.927 error at processTicksAndRejections (internal/process/task_queues.js:97:5)
nanoleaf-lightpanels.0 2020-12-24 23:44:58.927 error at /opt/iobroker/node_modules/standard-as-callback/built/index.js:19:49
nanoleaf-lightpanels.0 2020-12-24 23:44:58.927 error at tryCatcher (/opt/iobroker/node_modules/standard-as-callback/built/utils.js:11:23)
nanoleaf-lightpanels.0 2020-12-24 23:44:58.927 error at /opt/iobroker/node_modules/iobroker.objects-redis/index.js:1:93872
nanoleaf-lightpanels.0 2020-12-24 23:44:58.927 error at /opt/iobroker/node_modules/iobroker.nanoleaf-lightpanels/main.js:647:63
nanoleaf-lightpanels.0 2020-12-24 23:44:58.927 error (1644) TypeError: Cannot read property 'common' of null
nanoleaf-lightpanels.0 2020-12-24 23:44:58.926 error (1644) uncaught exception: Cannot read property 'common' of null
nanoleaf-lightpanels.0 2020-12-24 23:44:58.854 warn (1644) nanoleaf device 'NL42' unknown! Using Canvas device as fallback. Please report this to the developer!
nanoleaf-lightpanels.0 2020-12-24 23:44:58.852 info (1644) Reconnected to '192.168.2.83:16021'
nanoleaf-lightpanels.0 2020-12-24 23:43:58.734 warn (1644) Connection to '192.168.2.83:16021' lost, Error: No ssdp:alive detected. Try to reconnect...
nanoleaf-lightpanels.0 2020-12-24 23:42:43.668 info (1644) New nanoleaf device 'Canvas' (NL42) detected!
nanoleaf-lightpanels.0 2020-12-24 23:42:43.659 warn (1644) nanoleaf device 'NL42' unknown! Using Canvas device as fallback. Please report this to the developer!
nanoleaf-lightpanels.0 2020-12-24 23:42:43.657 info (1644) Connected to '192.168.2.83:16021'
nanoleaf-lightpanels.0 2020-12-24 23:42:43.517 info (1644) Connecting to '192.168.2.83:16021'...
nanoleaf-lightpanels.0 2020-12-24 23:42:43.512 info (1644) Nanoleaf adapter 'nanoleaf-lightpanels.0' started.
nanoleaf-lightpanels.0 2020-12-24 23:42:43.498 info (1644) starting. Version 1.0.6 in /opt/iobroker/node_modules/iobroker.nanoleaf-lightpanels, node: v12.18.3, js-controller: 3.1.6
host.openhabian 2020-12-24 23:42:42.909 info instance system.adapter.nanoleaf-lightpanels.0 started with pid 1644
host.openhabian 2020-12-24 23:42:12.898 info Restart adapter system.adapter.nanoleaf-lightpanels.0 because enabled
host.openhabian 2020-12-24 23:42:12.897 info instance system.adapter.nanoleaf-lightpanels.0 terminated with code 0 (NO_ERROR)
nanoleaf-lightpanels.0 2020-12-24 23:42:12.385 info (1629) Delete channel nanoleaf-lightpanels.0.Canvas.touch
nanoleaf-lightpanels.0 2020-12-24 23:42:12.384 info (1629) Delete channel nanoleaf-lightpanels.0.Canvas.info
nanoleaf-lightpanels.0 2020-12-24 23:42:12.378 info (1629) Terminated (NO_ERROR): Without reason
nanoleaf-lightpanels.0 2020-12-24 23:42:12.377 info (1629) terminating
nanoleaf-lightpanels.0 2020-12-24 23:42:12.289 info (1629) Shutting down Nanoleaf adapter 'nanoleaf-lightpanels.0'...
nanoleaf-lightpanels.0 2020-12-24 23:42:12.288 error at processTicksAndRejections (internal/process/task_queues.js:97:5)
nanoleaf-lightpanels.0 2020-12-24 23:42:12.288 error at /opt/iobroker/node_modules/standard-as-callback/built/index.js:19:49
nanoleaf-lightpanels.0 2020-12-24 23:42:12.288 error at tryCatcher (/opt/iobroker/node_modules/standard-as-callback/built/utils.js:11:23)
nanoleaf-lightpanels.0 2020-12-24 23:42:12.288 error at /opt/iobroker/node_modules/iobroker.objects-redis/index.js:1:93872
nanoleaf-lightpanels.0 2020-12-24 23:42:12.288 error at /opt/iobroker/node_modules/iobroker.nanoleaf-lightpanels/main.js:647:63
nanoleaf-lightpanels.0 2020-12-24 23:42:12.288 error (1629) TypeError: Cannot read property 'common' of null
nanoleaf-lightpanels.0 2020-12-24 23:42:12.284 error (1629) uncaught exception: Cannot read property 'common' of null
nanoleaf-lightpanels.0 2020-12-24 23:42:12.207 warn (1629) nanoleaf device 'NL42' unknown! Using Canvas device as fallback. Please report this to the developer!
nanoleaf-lightpanels.0 2020-12-24 23:42:12.206 info (1629) Reconnected to '192.168.2.83:16021'
nanoleaf-lightpanels.0 2020-12-24 23:41:12.186 warn (1629) Connection to '192.168.2.83:16021' lost, Error: No ssdp:alive detected. Try to reconnect...
nanoleaf-lightpanels.0 2020-12-24 23:39:57.139 info (1629) New nanoleaf device 'Canvas' (NL42) detected!
nanoleaf-lightpanels.0 2020-12-24 23:39:57.124 warn (1629) nanoleaf device 'NL42' unknown! Using Canvas device as fallback. Please report this to the developer!
nanoleaf-lightpanels.0 2020-12-24 23:39:57.123 info (1629) Connected to '192.168.2.83:16021'
nanoleaf-lightpanels.0 2020-12-24 23:39:57.065 info (1629) Connecting to '192.168.2.83:16021'...
nanoleaf-lightpanels.0 2020-12-24 23:39:57.060 info (1629) Nanoleaf adapter 'nanoleaf-lightpanels.0' started.
nanoleaf-lightpanels.0 2020-12-24 23:39:57.041 info (1629) starting. Version 1.0.6 in /opt/iobroker/node_modules/iobroker.nanoleaf-lightpanels, node: v12.18.3, js-controller: 3.1.6 -
@Zyan
Ja, das habe ich erwartet, da das Geräte-Modell nicht erkannt wird, wird die Antwort für das KeepAlive der Shapes nicht berücksichtigt. Du kannst, bis ich die Anpassung gemacht habe in den Adaptereinstellungen das SSE ausschalten, dann bleibt die Verbindung erst mal, ein paar Features funktionieren dann allerdings nicht.
Ich denke Sonntag kann ich eine neue Version bereitstellen. -
@Zyan
Könntest du mir mal ein GetInfo-Abzug der Shapes schicken? Würde mit helfen zu sehen, ob in der API etwas anders ist als bei LightPanels oder Canvas. Die offizielle nanoleaf-Doku ist leider noch nicht durch die Shapes erweitert worden.
Mal ein GET auf
http://<IP-der-Shapes>:16021/api/v1/<auth_token>/
machen (mit cURL, Postman oder einfach im Browser eingeben). -
@daniel_2k said in Test Adapter nanoleaf-lightpanels v1.0.x GitHub/latest:
http://<IP-der-Shapes>:16021/api/v1/<auth_token>/
{"name":"Shapes 34C2","serialNo":"xxxxxxxxx","manufacturer":"Nanoleaf","firmwareVersion":"5.0.1","hardwareVersion":"1.2-0","model":"NL42","cloudHash":{},"discovery":{},"effects":{"effectsList":["Beatdrop","Blaze","Cocoa Beach","Cotton Candy","Date Night","Hip Hop","Hot Sauce","Jungle","Lightscape","Morning Sky","Northern Lights","Pop Rocks","Prism","Starlight","Sundown","Waterfall"],"select":"Jungle"},"firmwareUpgrade":{},"panelLayout":{"globalOrientation":{"value":239,"max":360,"min":0},"layout":{"numPanels":3,"sideLength":0,"positionData":[{"panelId":42956,"x":106,"y":38,"o":0,"shapeType":7},{"panelId":9127,"x":173,"y":0,"o":0,"shapeType":9},{"panelId":0,"x":47,"y":72,"o":60,"shapeType":12}]}},"schedules":{},"state":{"brightness":{"value":100,"max":100,"min":0},"colorMode":"effect","ct":{"value":5000,"max":6500,"min":1200},"hue":{"value":0,"max":360,"min":0},"on":{"value":true},"sat":{"value":0,"max":100,"min":0}}}
-
Was mir auch gerade noch aufgefallen ist, sobald der Shapes Controller "Abstürzt" scheint er den Canvas Controller auch zu Crashen. Habe jetzt die Shape Instanz wieder gelöscht und den Canvas Controller neu gestartet und jetzt scheint er wieder Stabil zu laufen.
nanoleaf-lightpanels.0 2020-12-25 20:19:52.477 warn (1962) Connection to '192.168.2.139:16021' lost, Error: No ssdp:alive detected. Try to reconnect...
nanoleaf-lightpanels.1 2020-12-25 20:19:40.464 warn (2004) Connection to '192.168.2.83:16021' lost, Error: No ssdp:alive detected. Try to reconnect...der lightpanels.0 ist hier der Canvas Controller.
Das SSE ist zwingend notwendig um Touch zu nutzen oder?
Ich nutze den Adapter eigentlich nur für die Touch Funktion und schalte Helligkeit und Scenen über Node Red mit den Aurora Nodes.
Mfg
-
@Zyan
Habe soeben Version 1.1.0 bereitgestellt.
Die Shapes sollten jetzt als Shapes mit neuem Icon erkannt werden. Auch das SSE (bzw. das Keep Alive) sollte funktionieren.
Das der Canvas-Adapter mit runterfällt ist sehr merkwürdig, da die eigentlich nix miteinander zu tun haben.
Hier stürzt ja in dem Sinne nix ab. Problem ist, dass die Verbindung zum Controller nicht mehr "erkannt" wird.
Die nanoleaf-Geräte senden alle 60 Sekunden ein SSDP Notify-Paket, was der Adapter auffängt. Genauer gesagt matcht der Adapter alle SSDP Notify-Pakete die der Host empfängt (das sind teilweise dutzende von anderen Geräten). Dann wird der Notification Type sowie die USN geprüft, um zu erkennen, ob es sich um das korrekte Gerät handelt.
Die Shapes verlieren die Verbindung, weil der Adapter den NT von den Shapes noch nicht kannte. Das sollte jetzt sauber funktionieren.
Die Canvas haben ihren eigenen.
Teste es jetzt mal, ob beide Adapter "verbunden" bleiben.
Und ja, SSE wird für die Touch-Events benötigt.