NEWS
Nanoleaf Light Panels (Aurora) Adapter
-
@nevermind
Ich habe Version 1.3.0 auf Github bereitgestellt.
Unter anderem habe ich da einen neuen State "effectWrite" hinzugefügt.
Auf dem kannst du einen JSON-String schreiben. Der wird dann an den Effect-Endpoint mit PUT als Wert von "write" geschickt.
Hinweis: die write-Eigenschaft brauchst du nicht mitsenden. Das macht der State automatisch. Also nur das was im Write enthalten ist musst du als JSON-String schreiben.
Du kannst auf auch mit command: request Effekte lesen. Die Antworten von effectWrite sind im State effectWriteResponse zu finden.
Habs mal bei mir getestet. Funktioniert eigentlich ganz gut.
Die Reponse wird auch als JSON-String geschrieben. Das könnte ich auch noch direkt als Object schreiben. Dann is es aber im Objekt-Explorer nicht lesbar und nur in Skripten zu verarbeiten. -
Wow, echt super!! Werde ich morgen gleich mal testen
-
Funktioniert bisher. Danke!
2021-11-29 09:05:34.400 - [32minfo[39m: nanoleaf-lightpanels.1 (3320) starting. Version 1.3.0 in /opt/iobroker/node_modules/iobroker.nanoleaf-lightpanels, node: v14.18.1, js-controller: 3.3.19 2021-11-29 09:05:34.431 - [32minfo[39m: nanoleaf-lightpanels.1 (3320) Nanoleaf adapter 'nanoleaf-lightpanels.1' started. 2021-11-29 09:05:34.437 - [34mdebug[39m: nanoleaf-lightpanels.1 (3320) SSDP 'DeviceFound' event initialized! 2021-11-29 09:05:34.439 - [32minfo[39m: nanoleaf-lightpanels.1 (3320) Connecting to '192.168.0.128:16021'... 2021-11-29 09:05:34.488 - [34mdebug[39m: nanoleaf-lightpanels.1 (3320) Connect timer stopped! 2021-11-29 09:05:34.489 - [32minfo[39m: nanoleaf-lightpanels.1 (3320) Connected to '192.168.0.128:16021' 2021-11-29 09:05:34.491 - [34mdebug[39m: nanoleaf-lightpanels.1 (3320) nanoleaf Device 'Canvas' (NL29) detected! 2021-11-29 09:05:34.605 - [34mdebug[39m: nanoleaf-lightpanels.1 (3320) SSDP notify events initialized! 2021-11-29 09:05:34.629 - [34mdebug[39m: nanoleaf-lightpanels.1 (3320) SSE subscription started, listening... 2021-11-29 09:05:48.291 - [34mdebug[39m: nanoleaf-lightpanels.1 (3320) ssdp:alive NOTIFY received: {"host":"239.255.255.250:1900","nt":"nanoleaf:nl29","nts":"ssdp:alive","usn":"uuid:****","location":"http://:16021","cache-control":"max-age = 60","nl-deviceid":"14:****","nl-devicename":"Canvas ***1","address":"192.168.0.127"} 2021-11-29 09:05:48.293 - [34mdebug[39m: nanoleaf-lightpanels.1 (3320) Location string 'http://:16021' seems to be missing or invalid, use address '192.168.0.127' from packet header instead! 2021-11-29 09:06:07.825 - [34mdebug[39m: nanoleaf-lightpanels.1 (3320) ssdp:alive NOTIFY received: {"host":"239.255.255.250:1900","nt":"nanoleaf:nl29","nts":"ssdp:alive","usn":"uuid:****","location":"http://:16021","cache-control":"max-age = 60","nl-deviceid":"3A:****","nl-devicename":"Canvas ***2","address":"192.168.0.128"} 2021-11-29 09:06:07.828 - [34mdebug[39m: nanoleaf-lightpanels.1 (3320) Location string 'http://:16021' seems to be missing or invalid, use address '192.168.0.128' from packet header instead! 2021-11-29 09:06:07.829 - [34mdebug[39m: nanoleaf-lightpanels.1 (3320) nanoleaf uuid:**** from device '192.168.0.128' set! 2021-11-29 09:06:48.691 - [34mdebug[39m: nanoleaf-lightpanels.1 (3320) ssdp:alive NOTIFY received: {"host":"239.255.255.250:1900","nt":"nanoleaf:nl29","nts":"ssdp:alive","usn":"uuid:****","location":"http://:16021","cache-control":"max-age = 60","nl-deviceid":"14:****","nl-devicename":"Canvas ***1","address":"192.168.0.127"}
-
Eben getestet. Funzt! Vielen Dank
-
@ofbeqnpolkkl6mby5e13
Ja, also dass du mehrere Notify-Meldungen siehst ist korrekt. Die SSDP-Notify-Broadcasts gehen an alle nanoleaf-Adapter-Instanzen und werden ausgewertet.
Natürlich wird nur der Broadcast ausgewertet, der zum eingestellten Host passt, der andere schlicht ignoriert, was jetzt im Debug-Log so nicht steht. Ja, so sicher etwas verwirrend. Aber ja auch nur im Debug zu sehen, falls was nicht funktioniert man sehen kann, was der Adapter überhaupt registriert.
Aber das wird ja eh nur ein mal gemacht. Der Match aller weiteren Pakete wird ja dann über die UUID gemacht. -
@daniel_2k
Okay. Ich hatte zuerst das "set!" im Log übersehen. Danach hatte ich meinen Beitrag editiert. Ich sehe ein, dass das reicht. -
@daniel_2k: Toller Adapter. Danke!
Eine kleine Frage hätte ich: Sollte der Adapter nicht auch Effekte kennen(lernen), die man in der App angelegt hat?
Bei mir tut's das nämlich nicht -
@oxident
Ja, macht er auch. Im state "effect" ist der aktuell bzw. der zuletzt eingestellte Effekt.
Der Datenpunkt wird beim Start des Adapters bzw. während er läuft bei Änderungen automatisch mit allen verfügbaren Effekten aktualisiert.
Im Objektexplorer kannst du in den Wert reinklicken und hast dann eine Klappliste mit allen Effekten.
Ansonsten im state effectList, sollten die auch als Liste sichtbar sein. -
Hallo!
Der Adapter verliert ständig die Verbindung, weiß jemand woran es liegen kann?
nanoleaf-lightpanels.0 2024-08-13 10:19:06.642 warn Connection to '192.168.1.98:16021' lost, Error: No ssdp:alive detected. Try to reconnect... nanoleaf-lightpanels.0 2024-08-13 10:17:51.550 info Reconnected to '192.168.1.98:16021' nanoleaf-lightpanels.0 2024-08-13 10:16:51.544 warn Connection to '192.168.1.98:16021' lost, Error: No ssdp:alive detected. Try to reconnect... nanoleaf-lightpanels.0 2024-08-13 10:15:36.461 info Reconnected to '192.168.1.98:16021' nanoleaf-lightpanels.0 2024-08-13 10:14:36.453 warn Connection to '192.168.1.98:16021' lost, Error: No ssdp:alive detected. Try to reconnect...
Danke Euch!
-
Hallo @uli977,
das kann verschiedene Ursachen haben.
Das Problem ist hier, dass die SSDP Keep Alive Pakete, die die Geräte jede Minute senden, nicht im Adapter ankommen und er deswegen denkt, die Verbindung ist weg.
Bei älteren Light Panels- und Canvas-Geräten, gab es mal einen Firmware-Bug, der ist aber lange behoben, aber wenn dein Gerät eines der beiden ist, prüfe bitte, ob die Firmware aktuell ist.
Ansonsten sind das Netzwerk-Themen.
Damit die Pakete empfangen werden können, muss die Firewall auf dem Host eingehend Multicast UDP-Pakete auf Port 1900 zulassen.
Manchmal hilft es auch den Adapter auf eine konkrete Schnittstelle zu binden. In den Adapter-Einstellungen wähle da mal statt 0.0.0.0 dein IPv4-Interface aus, welches mit dem Netzwerk verbunden ist, wo auch das nanoleaf-Gerät erreichbar ist.Grüße
Daniel -
@uli977 Ich hatte heute auch (seit langem) dieses Problem. Das Panel war auch über die App nicht mehr erreichbar, jedoch noch im WLAN angemeldet.
Ein simples neuverbinden oder stromlos machen hat direkt geholfen.
-
Hi Kollegen
ich habe seit ein paar Wochen das Problem mit meinen Canvas das der Adapter im Restart Loop ist. Meine Shapes funktionieren. Die Nanoleaf Komponenten sind mit neuestem Firmware Update. Ich weiß hier nicht mehr weiter. evtl. hatte hier einer das Problem schon??
2024-10-03 10:01:34.467 - info: nanoleaf-lightpanels.2 (1885449) starting. Version 1.5.0 in /opt/iobroker/node_modules/iobroker.nanoleaf-lightpanels, node: v18.20.3, js-controller: 6.0.11 2024-10-03 10:01:34.484 - info: nanoleaf-lightpanels.2 (1885449) Nanoleaf adapter 'nanoleaf-lightpanels.2' started. 2024-10-03 10:01:34.489 - info: nanoleaf-lightpanels.2 (1885449) Connecting to '192.168.10.120:16021'... 2024-10-03 10:01:34.527 - info: nanoleaf-lightpanels.2 (1885449) Connected to '192.168.10.120:16021' 2024-10-03 10:01:34.655 - error: nanoleaf-lightpanels.2 (1885449) Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). 2024-10-03 10:01:34.656 - error: nanoleaf-lightpanels.2 (1885449) unhandled promise rejection: undefined is not a valid state value 2024-10-03 10:01:34.658 - error: nanoleaf-lightpanels.2 (1885449) Error: undefined is not a valid state value at Object.maybeCallbackWithError (/opt/iobroker/node_modules/@iobroker/js-controller-common-db/build/cjs/lib/common/maybeCallback.js:36:13) at AdapterClass._setState (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/build/cjs/lib/adapter/adapter.js:3851:48) at AdapterClass.setState (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/build/cjs/lib/adapter/adapter.js:3820:17) at setChangedState (/opt/iobroker/node_modules/iobroker.nanoleaf-lightpanels/main.js:676:12) at Immediate. (/opt/iobroker/node_modules/iobroker.nanoleaf-lightpanels/main.js:702:4) at process.processImmediate (node:internal/timers:478:21) 2024-10-03 10:01:34.659 - error: nanoleaf-lightpanels.2 (1885449) undefined is not a valid state value 2024-10-03 10:01:34.670 - info: nanoleaf-lightpanels.2 (1885449) Shutting down Nanoleaf adapter 'nanoleaf-lightpanels.2'... 2024-10-03 10:01:34.672 - info: nanoleaf-lightpanels.2 (1885449) terminating 2024-10-03 10:01:34.673 - warn: nanoleaf-lightpanels.2 (1885449) Terminated (UNCAUGHT_EXCEPTION): Without reason 2024-10-03 10:01:35.175 - info: nanoleaf-lightpanels.2 (1885449) terminating 2024-10-03 10:01:35.257 - error: host.iobroker instance system.adapter.nanoleaf-lightpanels.2 terminated with code 6 (UNCAUGHT_EXCEPTION) 2024-10-03 10:01:35.257 - info: host.iobroker Restart adapter system.adapter.nanoleaf-lightpanels.2 because enabled 2024-10-03 10:01:39.562 - info: host.iobroker "system.adapter.nanoleaf-lightpanels.2" disabled 2024-10-03 10:02:07.339 - error: nanoleaf-lightpanels.2 (1885479) adapter disabled 2024-10-03 10:02:07.401 - warn: nanoleaf-lightpanels.2 (1885479) Terminated (NO_ADAPTER_CONFIG_FOUND): Without reason 2024-10-03 10:02:08.014 - error: host.iobroker instance system.adapter.nanoleaf-lightpanels.2 terminated with code 3 (NO_ADAPTER_CONFIG_FOUND) 2024-10-03 10:02:08.015 - info: host.iobroker Do not restart adapter system.adapter.nanoleaf-lightpanels.2 because disabled or deleted
-
Hallo @rogni,
das Problem hatte ich bisher noch nie gesehen. Da gibt's ein Fehler beim Setzen eines States, der undefiniert ist. Interessant.
Passiert das immer gleich nach dem der Adapter connected? Oder nur manchmal?
Stelle mal bitte den Adapter auf auf Debug und poste das Debug Log hier, da kann ich mehr sehen, was für ein State genau das ist.
Hast du die Canvas auch mal vom Netz genommen und 1 min. gewartet und wieder drangesteckt? Ab und zu verhaken sich die nanoleaf-Geräte und senden z.B. keine Alive-Pakete mehr.Grüße
Daniel