NEWS
Test Adapter nanoleaf-lightpanels v1.3.x GitHub/latest
-
@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. -
Danke für das schnelle Update, ich weiß nicht ob ich beim installieren etwas falsch gemacht habe allerdings sind jetzt beide Ordner der Nanoleafs komplett leer.
Die Fehlermeldungen sind weg.
Mfg
-
@Zyan sagte in Test Adapter nanoleaf-lightpanels v1.1.x GitHub/latest:
Danke für das schnelle Update, ich weiß nicht ob ich beim installieren etwas falsch gemacht habe allerdings sind jetzt beide Ordner der Nanoleafs komplett leer.
Nein, beim Installieren kannst du da kein Fehler machen. Da passt noch irgendwas nicht.
Kannst du mal den 1er Adapter auf Debug stellen und den Anfang hier posten? Da steht wie er das Gerät erkennt, und was er an devices und channels anlegt/löscht. Irgendwie löscht er zu viel. -
nanoleaf-lightpanels.1 2020-12-27 17:12:10.971 debug (1733) Connect timer started with 60000 ms
nanoleaf-lightpanels.1 2020-12-27 17:12:10.971 debug (1733) Connection to '192.168.2.83:16021' failed with TypeError: Cannot read property 'model' of undefined.
nanoleaf-lightpanels.1 2020-12-27 17:12:10.969 info (1733) Connected to '192.168.2.83:16021'
nanoleaf-lightpanels.1 2020-12-27 17:12:10.966 debug (1733) Connect timer stopped!
nanoleaf-lightpanels.1 2020-12-27 17:11:10.953 debug (1733) Connect timer started with 60000 ms
nanoleaf-lightpanels.1 2020-12-27 17:11:10.952 error (1733) Connection to '192.168.2.83:16021' failed with TypeError: Cannot read property 'model' of undefined. Please check hostname/IP, device and connection!Retry in 60s intervals...
nanoleaf-lightpanels.1 2020-12-27 17:11:10.951 info (1733) Connected to '192.168.2.83:16021'
nanoleaf-lightpanels.1 2020-12-27 17:11:10.940 debug (1733) Connect timer stopped!
nanoleaf-lightpanels.1 2020-12-27 17:11:10.883 info (1733) Connecting to '192.168.2.83:16021'...
nanoleaf-lightpanels.1 2020-12-27 17:11:10.882 debug (1733) SSDP 'DeviceFound' event initialized! -
@Zyan
Ohje, da gibt's nen JavaScript fehler. Offenbar gibt es die "Model"-Info nicht in der Antwort deines Controllers. Kann aber nicht sein, die Info-Antwort hast du ja oben gepostet. Das ist höchstmerkwürdig. Scheinbar schickt der Controller da Mist.
Installiere mal diese Entwicklerversion und schicke mir das Debug-Log. Da wird die Antwort des Controllers ins Log geschrieben. Bin mal gespannt, was da drin steht:
https://github.com/daniel-2k/ioBroker.nanoleaf-lightpanels/tarball/dev_1.1.0 -
@Zyan
Hab den Fehler gefunden.
Mein Fehler. Versuch mal 1.1.1. Sollte dann gehen. -
-
Lief ca. 2 Std ohne Probleme jetzt hab ich auch das Problem bei beiden das sie alle 60 sec reconecten . Ich denke dagegen kann man nichts machen oder?
edit:
Wenn die Controller aufhören diese Message zu senden sind sie aber noch zum Adapter verbunden oder? Könnte man nicht die abfrage auf 5 min hochsetzen oder die Abfrage im Adapter einstellbar machen bei den Leuten wo es Probleme mit den Controllern gibt das diese nicht jede Minute bis zum Reconnect nicht mehr benutzbar sind.
Habe bei mir jetzt die Reconnect zeit auf eine Sekunde gesetzt so das der Controller nur möglichst kurz keinen Touch mehr annimmt.
-
@Zyan
Möglicherweise ist das Problem dasselbe, was wir hier schon mal hatten, dass die Controller irgendwann einfach aufhören das SSDP Notify zu senden.
Wenn du die ioBroker-Adapter neu startest, bleibt das Problem bestehen? Falls ja, dann ist das genauso.
Lässt sich nur beheben, wenn die nanoleaf-Controller neu gestartet werden. Könntest du das mal austesten? Wäre ganz gut zu wissen, ob es das gleiche Problem von den Controllern ist. Ich gehe stark davon aus.
Leider ist das ein Phänomen, was ich bei mir noch nie hatte und scheinbar selten auftritt.
Das Problem ist, dass ich diesen Mechanismus brauche, um zu erkennen, ob die nanoleaf-Geräte noch da sind, weil sonst die SSE-Verbindung stehen bleibt und nach Wiederverfügbarkeit nicht neu hergestellt wird.Sobald der Adapter erkennt, dass die Messages nicht mehr kommen, wird der Connect-State auf false gesetzt. Damit nimmt der Adapter keine Befehle mehr an. Die SSE-Verbindung ist dann auch weg.
Ja das mit dem Timern ändern geht zwar, ist aber keine schöne Lösung. Vermutlich werd ich da doch noch ein aktives Polling einbauen müssen, was ich eigentlich nicht wollte. -
Ja das ist genauso es verschwindet wenn ich den Nanoleaf Controller mittels Strom Unterbrechung Restarte, und dann ist das ziemlich random gestern ist es bei den Canvas direkt nach 30 Minuten passiert dann liefen sie über 5 Stunden ohne Probleme. Wenn das sehr selten ist habe ich echt Pech . Ich habe 2 Canvas Controller wo es bei beiden Auftritt , und bei den Shapes eben auch.
Werde das mal weiter beobachten, hatte seit ich den Adapter nutze auch schon 2 verschiedene Router und es trat bei beiden auf.
nanoleaf-lightpanels.0 2020-12-28 09:05:47.225 info (1830) Reconnected to '192.168.2.84:16021'
nanoleaf-lightpanels.0 2020-12-28 09:05:37.211 warn (1830) Connection to '192.168.2.84:16021' lost, Error: No ssdp:alive detected. Try to reconnect...
nanoleaf-lightpanels.0 2020-12-28 09:04:22.159 info (1830) Reconnected to '192.168.2.84:16021'
nanoleaf-lightpanels.0 2020-12-28 09:04:12.143 warn (1830) Connection to '192.168.2.84:16021' lost, Error: No ssdp:alive detected. Try to reconnect...
nanoleaf-lightpanels.0 2020-12-28 09:02:57.134 info (1830) Reconnected to '192.168.2.84:16021'
nanoleaf-lightpanels.0 2020-12-28 09:02:47.118 warn (1830) Connection to '192.168.2.84:16021' lost, Error: No ssdp:alive detected. Try to reconnect...
nanoleaf-lightpanels.0 2020-12-28 09:01:32.106 info (1830) Reconnected to '192.168.2.84:16021'
nanoleaf-lightpanels.0 2020-12-28 09:01:22.079 warn (1830) Connection to '192.168.2.84:16021' lost, Error: No ssdp:alive detected. Try to reconnect...
nanoleaf-lightpanels.0 2020-12-28 09:00:07.071 info (1830) Reconnected to '192.168.2.84:16021'
nanoleaf-lightpanels.0 2020-12-28 08:59:57.050 warn (1830) Connection to '192.168.2.84:16021' lost, Error: No ssdp:alive detected. Try to reconnect..Der Komplette Log ist dann damit voll.
-
Also habe es noch ein bisschen beobachtet und es ist vollkommen Willkürlich mal nach 10 Minuten mal nach 2 Stunden, und ab dann sind sie halt immer Verfügbar bis die Abfrage kommt dann ca. 10 Sekunden nicht verfügbar bis sie sich wieder verbunden haben.
Ist das eine große Änderung für dich eine Möglichkeit zur Einstellung der Abfrage in den Adapter einzubauen?
Ich kenne mich damit leider kaum aus.
-
@Zyan
Was recht einfach ist zu machen, den alten Mechanismus zum Statusupdate (ohne SSE) parallel zu SSE zu aktivieren anstatt die SSDP Pakte für das KeepAlive zu nutzen.
Ich würde in den Adapteroptionen ein neues Häkchen einführen, um das KeepAlive auf Polling umzustellen ohne das SSE zu deaktivieren.
Diejenigen, die dann nanoleaf-Geräte haben, die das Problem mit dem plötzlichen Stoppen der SSDP-Pakete haben, könnten das dann aktivieren.
Das werde ich in einer neuen Version mal einbauen. Das muss ich dann aber selbst an meiner Hardware testen, die ich gerade nicht zur Verfügung habe. Vlt. bekomme ich es bis Ende der Woche hin. -
@daniel_2k said in Test Adapter nanoleaf-lightpanels v1.1.x GitHub/latest:
@Zyan
Was recht einfach ist zu machen, den alten Mechanismus zum Statusupdate (ohne SSE) parallel zu SSE zu aktivieren anstatt die SSDP Pakte für das KeepAlive zu nutzen.
Ich würde in den Adapteroptionen ein neues Häkchen einführen, um das KeepAlive auf Polling umzustellen ohne das SSE zu deaktivieren.
Diejenigen, die dann nanoleaf-Geräte haben, die das Problem mit dem plötzlichen Stoppen der SSDP-Pakete haben, könnten das dann aktivieren.
Das werde ich in einer neuen Version mal einbauen. Das muss ich dann aber selbst an meiner Hardware testen, die ich gerade nicht zur Verfügung habe. Vlt. bekomme ich es bis Ende der Woche hin.Somit würde auch Touch Funktionieren weil über Polling das Keepalive abgefragt wird aber das SSE an sich aktiviert bleibt?
Ich kann auch gerne Sachen Testen speziell mit den Shapes da du ja keine besitzt , so weit ich das mit meinen Kenntnissen hinbekomme.
-
@Zyan sagte in Test Adapter nanoleaf-lightpanels v1.1.x GitHub/latest:
Somit würde auch Touch Funktionieren weil über Polling das Keepalive abgefragt wird aber das SSE an sich aktiviert bleibt?
Genau
-
@Zyan
Ich habe jetzt Version 1.2.0 auf GitHub bereitgestellt. In den erweiterten Adapter-Optionen kannst du jetzt mit einer neuen Option das Keep-Alive-Polling aktivieren. Dann werden kenne SSDP-Nachrichten mehr für die Verbindungserkennung genutzt, sondern es wird wie früher klassisch gepollt. Das Intervall kann man in den Adapter-Optionen (direkt neben der neuen Checkbox) einstellen und steht auf 60 Sekunden per default.
Kannst ja mal antesten, wenn das soweit klappt lade ichs auf npm hoch. -
@daniel_2k
Also seit gestern läuft nun alles ohne Probleme, habe bei den Canvas, und den Shapes das Polling eingeschaltet und die Touch Funktion war immer vorhanden, keine Fehler in den logs.
Scheint nun zu klappen vielen dank nochmal dafür. Und wie gesagt wenn ich mal irgendwas ausprobieren soll sag bescheid.
Mfg