NEWS
Test Adapter nanoleaf-lightpanels v1.3.x GitHub/latest
-
Aktuelle Test Version 1.3.0 (GitHub) / 1.2.1 (latest) Veröffentlichungsdatum 28.11.2021 (GitHub) / xx10.2021 (latest) Github Link https://github.com/daniel-2k/ioBroker.nanoleaf-lightpanels Hallo zusammen,
nach länger Zeit gibt es mal ein größeres Update. Die Liste der Änderungen siehe unten.
Die wohl größte Änderung ist, dass die Status-Updates via SSE erfolgen anstatt aktiv zu pollen. D.h. externe Status-Updates bzw. Status-Updates durch aktive Steuerung im Adapter kommen jetzt sofort, da sie vom Controller eventbasiert gepusht werden. Ihr solltet dazu eure nanoleaf-Geräte auf die aktuellste Firmware updaten (das funktioniert ab Version >3.1.0), ansonsten wird weiterhin gepollt.
Durch weiterhin neu ist die Nutzung der Touch-Funktion der Canvas als Events. Da ich selbst leider keine Canvas habe, konnte ich das nicht Testen. Implementiert und getestet habe ich es mit selbst erstellten Testdaten laut API-Spezifikation. D.h. es sollte funktionieren, aber wenn das jemand mal ausprobieren könnte wäre das super.
Des Weiteren ist neu, dass der Verbindungsstatus über SSDP Notify-Events erkannt wird. Es sollte sicher gestellt sein, dass der ioBroker-Host, auf dem der Adapter läuft, Broadcasts empfangen darf (der Node.js Prozess sollte in der Firewall eingehende Verbindungen aus dem lokalen Netzwerk zulassen).
Außerdem kann man seine nanoleaf-Geräte jetzt über die Admin-Seite suchen. Die Integration in den Discovery-Adapter ist ebenso erfolgt (ist aber noch nicht im latest).
Außerdem wichtig: die Duration für Helligkeitsänderungen wurde aus dem native-Part in einen separaten State verlagert, so dass man den auch per Blockly etc. einfach nutzen kann.Changes:
- nanoleaf Lines supported
- nanoleaf Elements supported
- new: added state for writing custom effects and reading effects
- due to firmware errors in canvas and shapes, IP address from packet header is used instead of location (because it's empty) for SSDP MSEARCH and NOTIFY
- devices were not deleted completely on device identification change
- get a new authorization token is not possible when the current token is already invalid
- device search in admin settings fixed
- obtaining an authorization token is also possible when field is already filled
- possibility to use polling for keep alive detection instead of SSDP notify messages (for nanoleaf devices which stop sending SSDP notify packages)
- small internal adjustmentss und Erfahrungsberichte wäre ich dankbar.
-
@daniel_2k sagte in Test Adapter nanoleaf-lightpanels v1.0.0 GitHub/latest:
(das funktioniert ab Version >3.1.0)
Bezieht sich das auf Aurora? Canvas ist bei 1.6.2
-
@oFbEQnpoLKKl6mbY5e13 sagte in Test Adapter nanoleaf-lightpanels v1.0.0 GitHub/latest:
Bezieht sich das auf Aurora? Canvas ist bei 1.6.2
Oh Mist. Bei der Erkennung der Firmware hab ich die Unterscheidung der beiden Modelle nicht drin. Die Firmware Versions-Nr. bei Canvas ist anders als bei den Light Panels. Für Canvas wird > 1.1.0 benötigt.
Habe das gerade angepasst und Version 1.0.1 des Adapters bereitgestellt und auch die README angepasst und dort einen Hinweis ergänzt. Jetzt sollte SSE auch für Canvas funktionieren.Vielen Dank für den Hinweis. Ist mir glatt durchgerutscht, da ich nur Light Panels habe.
-
Woran erkennt man denn, ob SSE verwendet wird?
-
@oFbEQnpoLKKl6mbY5e13 sagte in Test Adapter nanoleaf-lightpanels v1.0.x GitHub/latest:
Woran erkennt man denn, ob SSE verwendet wird?
Wenn man den Debug Modus einschaltet, sieht man nach dem erfolgten Verbindungsversuch den Log-Eintrag "SSE subscription started, listening...". Ansonsten würde "Polling timer started..." im Log stehen.
-
nanoleaf-lightpanels.0 2020-07-05 21:02:37.432 debug (4042) SSE subscription started, listening... nanoleaf-lightpanels.0 2020-07-05 21:02:37.320 debug (4042) nanoleaf Device "Canvas" (NL29) detected!
Funktionuckelt!
-
@oFbEQnpoLKKl6mbY5e13 sagte in Test Adapter nanoleaf-lightpanels v1.0.x GitHub/latest:
Funktionuckelt!
Supi!
-
nanoleaf-lightpanels.1 2020-07-05 21:16:38.553 warn (4088) Connection to '192.168.0.106:16021' lost, Error: No ssdp:alive detected. Try to reconnect... nanoleaf-lightpanels.0 2020-07-05 21:16:29.108 warn (4073) Connection to '192.168.0.105:16021' lost, Error: No ssdp:alive detected. Try to reconnect...
-
@oFbEQnpoLKKl6mbY5e13
Ja, sowas habe ich befürchtet, dass das vorkommt. Der nanoleaf-Controller sendet alle 60 Sekunden einen SSDP Broadcast, dass er noch lebt. Und das wertet der Adapter aus. Das kommt bei dir nicht an. Hatte ich bei meinen Tests in einer VM auch, da war die Firewall nicht offen. Du solltest sicherstellen, dass der Node.js-Prozess eingehende Verbindungen zulässt, damit diese Broadcasts nichts blockiert werden.
Wenn du den Adapter noch im Debug hast, solltest du alle 60 Sekunden sowas im Log sehen:ssdp:alive NOTIFY received: {"host":"239.255.255.250:1900","location":"http://192.168.0.32:16021","usn":"uuid:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx","nts":"ssdp:alive","nt":"nanoleaf_aurora:light"}
Schau mal, ob du sowas siehst. Vlt. senden die Canvas einen anderen Notification Type, so dass der Broadcast schlicht nicht erkannt wird. Also gerade das hintere "nt":"nanoleaf_aurora:light" ist interessant. Dann müsste ich das für die Canvas noch anpassen.
-
@daniel_2k sagte in Test Adapter nanoleaf-lightpanels v1.0.x GitHub/latest:
Schau mal, ob du sowas siehst. Vlt. senden die Canvas einen anderen Notification Type, so dass der Broadcast schlicht nicht erkannt wird. Also gerade das hintere "nt":"nanoleaf_aurora:light" ist interessant. Dann müsste ich das für die Canvas noch anpassen.
Habe gerade noch mal in die nanoleaf API Spez. geschaut. Du wirst im Log nix davon sehen, da nur der NT "nanoleaf_aurora:light" abgehört wird und die Canvas nutzen offebar "nanoleaf:nl29".
Das müsste ich doch anpassen. OK, mach ich morgen.Könntest du mal die Geräte-Suche ausprobieren? Da werden auch verschiedene Service Types genutzt, wobei ich den für die Canvas drin habe, d.h. die sollten gefunden werden.
-
@daniel_2k sagte in Test Adapter nanoleaf-lightpanels v1.0.x GitHub/latest:
Du wirst im Log nix davon sehen
Richtig:
nanoleaf-lightpanels.0 2020-07-05 21:35:01.762 info (4103) Reconnected to "192.168.0.105:16021 nanoleaf-lightpanels.0 2020-07-05 21:35:01.761 debug (4103) Connect timer stopped! nanoleaf-lightpanels.0 2020-07-05 21:34:01.753 debug (4103) Connect timer started with 60000 ms nanoleaf-lightpanels.0 2020-07-05 21:34:01.751 debug (4103) SSE connection closed! nanoleaf-lightpanels.0 2020-07-05 21:34:01.750 debug (4103) Command queue cleared! nanoleaf-lightpanels.0 2020-07-05 21:34:01.749 debug (4103) Polling timer stopped! nanoleaf-lightpanels.0 2020-07-05 21:34:01.748 warn (4103) Connection to '192.168.0.105:16021' lost, Error: No ssdp:alive detected. Try to reconnect... nanoleaf-lightpanels.0 2020-07-05 21:32:46.762 debug (4103) SSE subscription started, listening... nanoleaf-lightpanels.0 2020-07-05 21:32:46.648 debug (4103) nanoleaf Device "Canvas" (NL29) detected! nanoleaf-lightpanels.0 2020-07-05 21:32:46.646 info (4103) Connected to "192.168.0.105:16021 nanoleaf-lightpanels.0 2020-07-05 21:32:46.645 debug (4103) Connect timer stopped! nanoleaf-lightpanels.0 2020-07-05 21:32:46.612 info (4103) Connecting to "192.168.0.105:16021"... nanoleaf-lightpanels.0 2020-07-05 21:32:46.611 debug (4103) SSDP events initialized! nanoleaf-lightpanels.0 2020-07-05 21:32:46.609 info (4103) Nanoleaf adapter "nanoleaf-lightpanels.0" started. nanoleaf-lightpanels.0 2020-07-05 21:32:46.581 info (4103) starting. Version 1.0.1 in /opt/iobroker/node_modules/iobroker.nanoleaf-lightpanels, node: v12.16.3, js-controller: 3.1.6
@daniel_2k sagte in Test Adapter nanoleaf-lightpanels v1.0.x GitHub/latest:
Könntest du mal die Geräte-Suche ausprobieren?
Es wurden keine Geräte gefunden! Versuche die manuelle Eingabe der IP-Adresse oder Hostname.
-
So. Ich habe jetzt mal eine Entwickler-Version bereitgestellt, die diverse Anpassungen hat. Wenn du die mal testen könntest, wäre das gut.
Bitte aus dem GitBranch hier installieren: https://github.com/daniel-2k/ioBroker.nanoleaf-lightpanels/tarball/dev_1.0.1
Ich habe jetzt das fehlende Handling der SSDP notify Nachrichten für die Canvas ergänzt, so dass die warnings mit den connection losses weg sein sollte.
Des Weiteren habe ich die Geräte-Suche angepasst. Ich vermute, dass die Canvas auf den ST der Lightpanels schlicht nicht reagiert haben. Leider steht dazu nix in der Doku, ob da auch unterschieden wird.
Deshalb bitte mal die Geräte-Suche testen und schauen, ob die SSDP notify Messages jetzt verarbeitet werden und die Warning weg ist.
Daneben habe ich in der Version mal das Logging etwas aufgeweicht. Im Debug werden jetzt alle SSDP-Nachrichten ausgegeben, die der Adapter empfängt (ohne Filter auf Notification Type). Da könnte jetzt durchaus einiges geloggt werden. So wäre interessant (falls es immer noch nicht funktioniert), ob im Log überhaupt SSDP Nachrichten zu sehen sind, und wenn ja, was da für ein ST bzw. NT für die Geräte drin steht. -
Sieht gut aus:
2020-07-06 16:01:38.441 - info: nanoleaf-lightpanels.0 (4374) starting. Version 1.0.1 in /opt/iobroker/node_modules/iobroker.nanoleaf-lightpanels, node: v12.16.3, js-controller: 3.1.6 2020-07-06 16:01:38.471 - info: nanoleaf-lightpanels.0 (4374) Nanoleaf adapter "nanoleaf-lightpanels.0" started. 2020-07-06 16:01:38.474 - debug: nanoleaf-lightpanels.0 (4374) SSDP events initialized! 2020-07-06 16:01:38.475 - info: nanoleaf-lightpanels.0 (4374) Connecting to "192.168.0.105:16021"... 2020-07-06 16:01:38.514 - debug: nanoleaf-lightpanels.0 (4374) Connect timer stopped! 2020-07-06 16:01:38.515 - info: nanoleaf-lightpanels.0 (4374) Connected to "192.168.0.105:16021 2020-07-06 16:01:38.516 - warn: nanoleaf-lightpanels.0 (4374) nanoleaf device "NL29" unknown! Using Canvas device as fallback. Please report this to the developer! 2020-07-06 16:01:38.518 - debug: nanoleaf-lightpanels.0 (4374) nanoleaf Device "Canvas" (NL29) detected! 2020-07-06 16:01:38.636 - debug: nanoleaf-lightpanels.0 (4374) SSE subscription started, listening... 2020-07-06 16:02:27.231 - debug: nanoleaf-lightpanels.0 (4374) TEST: ssdp:alive NOTIFY received: {"host":"239.255.255.250:1900","location":"http://192.168.0.105:16021","usn":"uuid:XXX","nts":"ssdp:alive","nt":"nanoleaf:nl29"} 2020-07-06 16:02:27.231 - debug: nanoleaf-lightpanels.0 (4374) ssdp:alive NOTIFY received: {"host":"239.255.255.250:1900","location":"http://192.168.0.105:16021","usn":"uuid:XXX","nts":"ssdp:alive","nt":"nanoleaf:nl29"} 2020-07-06 16:02:27.232 - debug: nanoleaf-lightpanels.0 (4374) nanoleaf uuid:XXX from device '192.168.0.105' set!
Suche auch:
2020-07-06 16:04:14.689 - debug: nanoleaf-lightpanels.0 (4374) Incoming adapter message: searchDevice 2020-07-06 16:04:14.802 - debug: nanoleaf-lightpanels.0 (4374) TEST: SSDP M-Search found device with USN: uuid:XXX and location: http://192.168.0.105:16021 2020-07-06 16:04:14.802 - debug: nanoleaf-lightpanels.0 (4374) SSDP M-Search found device with USN: uuid:XXX and OpenAPI location: http://192.168.0.105:16021 2020-07-06 16:04:14.803 - debug: nanoleaf-lightpanels.0 (4374) TEST: SSDP M-Search found device with USN: uuid:XXX and location: http://192.168.0.106:16021 2020-07-06 16:04:14.805 - debug: nanoleaf-lightpanels.0 (4374) SSDP M-Search found device with USN: uuid:XXX and OpenAPI location: http://192.168.0.106:16021 2020-07-06 16:04:19.692 - debug: nanoleaf-lightpanels.0 (4374) MSEARCH: 2 devices found!
2 Gerät(e) wurde(n) gefunden und konnen in der Liste oben ausgewählt werden
Welche Liste?
-
@oFbEQnpoLKKl6mbY5e13 sagte in Test Adapter nanoleaf-lightpanels v1.0.x GitHub/latest:
Welche Liste?
Wenn die Suche abgeschlossen ist, ist ja das Feld für Host/IP ja leer. Wenn du mit der Maus über das Feld fährst, sollte rechts ein Klapppfeil zu sehen sein. Dann kannst du die Liste ausklappen und da sollten dann alle gefundenen Geräte (IP) drin stehen.
-
Da erscheint kein Pfeil.
Aber wenn ich Doppelklicke, erhalte ich die zwei IP-Adressen.
-
@oFbEQnpoLKKl6mbY5e13 sagte in Test Adapter nanoleaf-lightpanels v1.0.x GitHub/latest:
Da erscheint kein Pfeil.
Naja, dass Verhalten dieser Datalist hängt auch etwas vom verwendeten Browser ab. Standardmäßig, wenn man die Adapter-Einstellungen öffnet, ist das ja nur ein stinknormales Inputfeld. Nachdem man die Suche angestoßen hat und was gefunden wurde, ist das eine Datalist. In Chrome sehe ich dann, wenn ich mit der Maus drüberhalte, einen Pfeil. Oder man klickt einfach in das Feld, dann geht die Liste auf.
Bei Firefox, Edge etc. könnte sein, das da kein Pfeil zu sehen ist. Aber die Liste sollte durch reinklicken auf jeden Fall aufgehen. Habs mit Edge, IE, Firefox und Chrome getestet. -
Habe jetzt die Fixes in Version 1.0.2 gegossen und auf den GitHub Master sowie ins npm published.
Sollte ab morgen im latest verfügbar sein. Bitte noch mal prüfen, jetzt sollte alles sauber laufen. -
Okayyyyy.
(Mindestens 8 Zeichen... )
-
2020-07-07 08:23:58.795 - info: nanoleaf-lightpanels.0 (4987) starting. Version 1.0.2 in /opt/iobroker/node_modules/iobroker.nanoleaf-lightpanels, node: v12.16.3, js-controller: 3.1.6 2020-07-07 08:23:58.821 - info: nanoleaf-lightpanels.0 (4987) Nanoleaf adapter "nanoleaf-lightpanels.0" started. 2020-07-07 08:23:58.824 - debug: nanoleaf-lightpanels.0 (4987) SSDP events initialized! 2020-07-07 08:23:58.826 - info: nanoleaf-lightpanels.0 (4987) Connecting to "192.168.0.105:16021"... 2020-07-07 08:23:58.870 - debug: nanoleaf-lightpanels.0 (4987) Connect timer stopped! 2020-07-07 08:23:58.871 - info: nanoleaf-lightpanels.0 (4987) Connected to "192.168.0.105:16021" 2020-07-07 08:23:58.873 - debug: nanoleaf-lightpanels.0 (4987) nanoleaf Device "Canvas" (NL29) detected! 2020-07-07 08:23:59.445 - debug: nanoleaf-lightpanels.0 (4987) SSE subscription started, listening... 2020-07-07 08:24:41.897 - debug: nanoleaf-lightpanels.0 (4987) ssdp:alive NOTIFY received: {"host":"239.255.255.250:1900","location":"http://192.168.0.105:16021","usn":"uuid:XXX","nts":"ssdp:alive","nt":"nanoleaf:nl29"} 2020-07-07 08:24:41.899 - debug: nanoleaf-lightpanels.0 (4987) nanoleaf uuid:XXX from device '192.168.0.105' set!
-
Hallo Daniel.
Habe heute Morgen das 1.0.2 update eingespielt und es lief alles gut. Jetzt musste ich gerade den server rebooten und der Adapter reconnected sich danach wieder alle zwei Minuten wie vorher
Das Panel habe ich heute losgeschickt