Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Nanoleaf Light Panels (Aurora) Adapter

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Nanoleaf Light Panels (Aurora) Adapter

    This topic has been deleted. Only users with topic management privileges can see it.
    • Atifan
      Atifan last edited by Atifan

      Habs hinbekommen, danke 🙂 Lag wohl daran dass ich zu voreilig war und während eines FW-Updates ausgeschaltet habe oder weil das FW-Update noch nicht gemacht war.

      1 Reply Last reply Reply Quote 0
      • W
        wizzardking last edited by wizzardking

        Hallo @daniel_2k

        Vielen Dank für den super Adapter!
        Ich habe gerade vorhin das Upgrade von 0.8.2 zu 1.0.2 gemacht.

        Mit dem SSE, was mit 1.0 eingeführt wurde, scheint es bei mir Probleme zu geben.
        Der Adapter startet, wird Gründ und die Funktionalität besteht. Ich kann also Lichter an und ausschalten, so wie Farbprofile ändern.

        So ca. im Minutentakt stürzt der Adapter aber ab und verbindet sich neu.
        Fehler:
        Connection to '192.168.1.206:16021' lost, Error: No ssdp:alive detected. Try to reconnect...
        Reconnected to "192.168.1.206:16021"

        Im Changelog von der Version 1.0 steht:
        using server sent events (SSE) for getting updates instead of polling (firmware > 3.1.0 required)

        In der Canvas App (wie auch im Adapter) steht, dass ich die Firmware Version 1.6.2 installiert habe. Es wird jedoch in der App angezeigt, dass die Firmware aktuell ist.
        Hast Du da evtl. eine Idee?

        Edit: Die Firmware 1.6.2 ist die aktuellste bei den Canvas. "Firmware > 3.1.0" bezieht sich anscheinend nur auf die ältere Version der Nanoleaf Panels.

        Edit 2: Es sieht so aus, als taucht das Problem nur dann auf, wenn ich 2 Canvas Adapter gleichzeitig laufen lasse.
        Ich hatte vorhin einen Adapter angehalten und den anderen auf Debug logging gestellt, um Dir hoffentlich einen detaillierteren Auszug geben zu können wo das Problem liegt. Der Adapter lief aber dann perfekt ohne Absturz.
        Sobald ich den zweiten Adapter wieder gestartet hatte, stürzten beide wieder alle 1-2 Minuten ab (Immer gleich hintereinander). Debug Output liefert aber leider keine weiteren nützlichen Informationen.

        D 1 Reply Last reply Reply Quote 0
        • D
          daniel_2k @wizzardking last edited by

          @wizzardking
          Schau mal bitte in diesem Forum-Thread:
          https://forum.iobroker.net/topic/34961/test-adapter-nanoleaf-lightpanels-v1-0-x-github-latest/
          Das Problem ist bekannt und derzeit sieht es so aus, als gibt es manche Anwender, deren Canvas keine SSDP:alive Nachrichten senden. Der Adapter stürzt übrigens nicht ab, sondern die Verbindungsüberwachung empfängt keine SSDP:alive Nachrichten mehr. Ich muss das nutzen, da ich mit den neu eingeführten SSE irgendwie mitbekommen muss, wenn die nanoleafs nicht mehr verfügbar sind.
          Das mit der Firmware-Version ist auch in 1.0.1 gefixt. Light Panels und Canvas haben natürlich unterschiedliche Versionen.
          Interessant ist jetzt, dass du schreibst, dass es bei zwei Adaptern, die gleichzeitig laufen Probleme gibt.
          Es gibt eine Test-Version (siehe Forum-Thread), die mehr loggt.
          D.h. wenn du nur einen Adapter laufen hast (Log auf debug), dann siehst du auch die SSDP:alive Nachrichten im Log und er bleibt grün?
          Schaltest du den zweiten dazu, kommen im ersten Adapter keine mehr an und er verliert die Verbindung? Was macht dann der zweite?
          Kannst du mir noch sagen auch welcher Plattform du ioBroker betreibst?
          Wir sollten die Dikussion im neuen Forum-Thread fortsetzen. Da gibt's schon einiges bezüglich diesem Thema.

          T 1 Reply Last reply Reply Quote 0
          • T
            theGrinch @daniel_2k last edited by

            @daniel_2k
            Hallo Daniel,
            ich verzweifle am Blockly um Effekte zu ändern. Hast du nen Tipp?`
            Ansonsten funktioniert alles wunderbar.
            blockly-nanoleaf.png

            D 1 Reply Last reply Reply Quote 0
            • D
              daniel_2k @theGrinch last edited by

              @thegrinch
              Du steuerst da viel zu viele Datenpunkte mit ein Mal. Das kann so nicht funktionieren.
              Mein erster Tipp an der Stelle: deine Falls, Sonst Logik geht einfacher. Du brauchst kein "sonst falls", sondern nur ein" sonst" im Blockly.
              Und du brauchst für das Abfragen deines CinemaLights States den Wert nicht noch mal extra lesen. Den bekommst du im Kontext des Triggers (im Menü bei Trigger, den Baustein nehmen wo "ObjektID" drin steht und den auf "Wert" umschalten). Das ist dann der Wert des Triggers CinemaLights.
              Und dann brauchst du nur einmal auf "wahr" abfragen, der sonst-Fall ist ja dann der false-Fall.
              So, zu der Steuerung der nanoleafs:
              Im Wahr-Fall möchtest du einen Effekt "moonlight" setzen. Steuerst aber im gleichen Zug auch Color Temperature, Hue und Saturation.
              Das geht nicht. Die nanoleafs haben drei Modis, die durch colorMode angezeigt wird: effect (Effekt setzen), ct (Weiß mit bestimmter Farbtemperatur) oder hs (hue-saturation, also ein Farbwert, der sich aus Hue, Saturation und Brightness zusammen setzt).
              Du sagst den nanoleafs also: stelle den effect "moonlight" ein, setzte dann die Farbtemperatur auf 4100K (also ein fixer Weißton) und dann stelle die Farbe mit Hue 27 und Saturation 33 ein. Das Resultat wird eine feste Farbe sein. Also du musst sich hier schon entscheiden 🙂 , ob du einen Effekt, Weißton oder eine Farbe haben willst.
              Wenn du den moonlight-Effekt haben willst, musst du alles danach entfernen.
              Und steuere bitte nicht den State Color Mode, der ist read only und zeigt nur den aktuellen Zustand an.
              In deinem Falsch-Fall ist das ähnlich: bitte schreibe nicht auf Color Mode (der geht automatisch auf hs, wenn man eine Farbe setzt). Current effect Solid geht ab Version 0.8.2 eh nicht mehr und wird auch automatisch gesetzt. Dann steuerst du auch wieder 2 Sachen: Farbtemperatur und ein festen Farbwert. Für eins von beiden musst du dich entscheiden.

              Z.B. so:

              e65a6ece-79aa-4e32-a058-b3f1defd2edc-image.png

              T S 2 Replies Last reply Reply Quote 0
              • T
                theGrinch @daniel_2k last edited by

                @daniel_2k
                Häufig ist ja weniger mehr... Ich hatte einfach stumpf alles geschaltet, was sich in den Werten geändert hat.
                Jetzt funktioniert es. Vielen Dank für die schnelle Antwort!!!

                1 Reply Last reply Reply Quote 0
                • S
                  Siegi @daniel_2k last edited by Siegi

                  @daniel_2k

                  Bin ganz frisch hier im Forum und auch ioBroker Anfänger, also sorry, wenn ich was falsch mache.

                  Mein Problem: sobald ich Vis aufrufe, schalten die NanoLeaf Panels ein. Was mache ich falsch?

                  in Vis werden ein Button zum Ein-/Ausschalten und ein Farbwahlrad benutzt.

                  ioBroker: 4.2.1
                  NanoLeaf Adapter: 1.0.6

                  Besten Dank erstmal
                  Siegi.

                  D 1 Reply Last reply Reply Quote 0
                  • D
                    daniel_2k @Siegi last edited by

                    @siegi
                    Das Problem ist bekannt und ein Bug im farbtasic color picker widget. Ich habe dazu auch schon ein Issue auf GitHub aufgemacht, aber da tut sich schon seit Jahren nichts.
                    Du musst dann wohl oder übel ein anderes Color widget nutzen. RGB Spectrum funktioniert z.B. gut.
                    Ich weiß nicht mehr welche noch gingen. Musste mal durchprobieren. Es liegt auf jeden Fall am Color Picker Widget.

                    S 1 Reply Last reply Reply Quote 1
                    • S
                      Siegi @daniel_2k last edited by

                      @daniel_2k
                      Besten Dank für die schnelle Antwort.
                      Scheint mit dem RGB Spectrum genau so zu funktionieren wie es soll.

                      1 Reply Last reply Reply Quote 0
                      • S
                        SirLance @daniel_2k last edited by

                        @daniel_2k

                        Das Erstellen von Szenen würde die API prinzipiell zwar anbieten, aber das über ioBroker einzubinden macht recht wenig Sinn, weil das über die App viel einfacher geht.

                        Also ich versteh anscheinend die panels nicht...
                        Was ich habe ist das Starter Kit Shapes mit 5 panels
                        Was ich realisieren wollte das 3 Panels eine Szene abspielen -> 2 der panels sollten dann per iobroker einen Status anzeigen

                        1. Status Garagentor offen (solid red) panel id 34
                        2. Status ein oder mehrere Lichter im Haus sind an (solid red) panel id 45
                          die anderen panels sollen weiter mit der szene ihr Farbspiel absolvieren.

                        ist das nicht irgendwie möglich?
                        Sonst müsste ich ja n! Szenen anlegen und dann per iobroker noch auswählen was jetzt als kombination als szene gewählt werden soll.

                        D 1 Reply Last reply Reply Quote 0
                        • D
                          daniel_2k @SirLance last edited by

                          @sirlance sagte in Nanoleaf Light Panels (Aurora) Adapter:

                          Sonst müsste ich ja n! Szenen anlegen und dann per iobroker noch auswählen was jetzt als kombination als szene gewählt werden soll.

                          Du kannst eine Szene nicht nur auf bestimmten Panels abspielen. Bei einer Szene (sei es eine einfarbige, Farb- oder dynamische Szene) sind immer alle Panels beteiligt.
                          Was du da machen willst, ginge auf sehr komplizierten Wege.
                          Grundsätzlich ginge das mit einer dynamischen Szene. Dort kannst du eine Hintergrund-Animation oder Rhythm auswählen und dann einzelne Panels mit solid Colors einfärben.
                          Das ist dann aber auch eine Szene, die man dann startet und auf alle Panels anzeigt.
                          Wenn da jetzt einzelne verschiedene Panels leuchten sollen, um einen Status anzuzeigen, müsste man diese dynamische Szene quasi dynamisch ändern, da die eingefärbten Panels ja sonst fest.
                          Das ginge aber nur in der App. Mit dem ioBroker-Adapter kann man keine Szenen erstellen oder ändern. Das ist derzeit nicht implementiert. Und ich müsste da schauen, ob die API das so überhaupt bietet.
                          Alternative wäre tatsächlich für alle möglichen Kombinationen n Szenen anzulegen.

                          N 1 Reply Last reply Reply Quote 0
                          • N
                            nevermind @daniel_2k last edited by nevermind

                            Hallo @daniel_2k

                            Wäre es vllt. möglich ein Objekt hinzuzufügen, in das man einfach einen beliebigen API-Call (Json) einfügt, welcher dann an die Panels geschickt wird?

                            Hintergrund: Ich würde gerne eigene Animationen erstellen. Wie das JSON aussehen muss habe ich schon rausgefunden. Hier ein Beispiel (etwas umformatiert und mit Notizen in Klammern):

                            {
                               "write":{
                                  "animName":"test",
                                  "loop":true,
                                  "animType":"custom",
                                  "animData":"
                            	  
                            	  12 (Anzahl aller Panels)
                            	  
                            	  1 3 (vermutlich Panel 1, Frames 3)
                            	  101 103 104 0 25 (Panel 1, Frame 1, [R, G, B, ?, Pause in ms])
                            	  101 103 104 0 30 (Panel 1, Frame 2, [R, G, B, ?, Pause in ms])
                            	  101 103 104 0 30 (Panel 1, Frame 3, [R, G, B, ?, Pause in ms])
                            	  
                            	  2 3 (Frame 2 von 3)
                            	  61 61 61 0 25 (Panel 2, Frame 1, [R, G, B, ?, Pause in ms])
                            	  61 61 61 0 30 (Panel 2, Frame 2, [R, G, B, ?, Pause in ms])
                            	  61 61 61 0 30 (Panel 2, Frame 3, [R, G, B, ?, Pause in ms])
                            	  
                            	  3 3 
                            	  61 61 61 0 25 
                            	  101 103 104 0 30 
                            	  101 103 104 0 30 
                            	  
                            	  4 3 
                            	  61 61 61 0 25 
                            	  61 61 61 0 30 
                            	  61 61 61 0 30 
                            	  
                            	  5 3 
                            	  61 61 61 0 25 
                            	  61 61 61 0 30 
                            	  61 61 61 0 30 
                            	  
                            	  6 3 
                            	  61 61 61 0 25 
                            	  61 61 61 0 30 
                            	  61 61 61 0 30 
                            	  
                            	  7 3 
                            	  61 61 61 0 25 
                            	  61 61 61 0 30 
                            	  61 61 61 0 30 
                            	  
                            	  8 3 
                            	  61 61 61 0 25 
                            	  61 61 61 0 30 
                            	  61 61 61 0 30 
                            	  
                            	  9 3 
                            	  61 61 61 0 25 
                            	  61 61 61 0 30 
                            	  61 61 61 0 30 
                            	  
                            	  10 3 
                            	  61 61 61 0 25 
                            	  61 61 61 0 30 
                            	  61 61 61 0 30 
                            	  
                            	  11 3 
                            	  61 61 61 0 25 
                            	  61 61 61 0 30 
                            	  61 61 61 0 30 
                            	  
                            	  12 3 
                            	  61 61 61 0 25 
                            	  61 61 61 0 30 
                            	  101 103 104 0 30
                            	  
                            	  
                            	  ",
                                  "command":"add",
                                  "colorType":"HSB",
                                  "pluginUuid":"",
                                  "palette":[
                                     {
                                        "brightness":90,
                                        "hue":110,
                                        "saturation":80
                                     },
                                     {
                                        "brightness":90,
                                        "hue":110,
                                        "saturation":80
                                     },
                                     {
                                        "brightness":90,
                                        "hue":110,
                                        "saturation":80
                                     },
                                     {
                                        "brightness":90,
                                        "hue":110,
                                        "saturation":80
                                     },
                                     {
                                        "brightness":90,
                                        "hue":110,
                                        "saturation":80
                                     },
                                     {
                                        "brightness":90,
                                        "hue":110,
                                        "saturation":80
                                     },
                                     {
                                        "brightness":90,
                                        "hue":110,
                                        "saturation":80
                                     },
                                     {
                                        "brightness":90,
                                        "hue":110,
                                        "saturation":80
                                     },
                                     {
                                        "brightness":90,
                                        "hue":110,
                                        "saturation":80
                                     },
                                     {
                                        "brightness":90,
                                        "hue":110,
                                        "saturation":80
                                     }
                                  ],
                                  "version":"2.0"
                               }
                            }
                            

                            So ein JSON müsste ich einfach an die Panels "senden" können.

                            vg

                            Jens

                            D 1 Reply Last reply Reply Quote 0
                            • D
                              daniel_2k @nevermind last edited by

                              @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.

                              N O 3 Replies Last reply Reply Quote 0
                              • N
                                nevermind @daniel_2k last edited by

                                @daniel_2k

                                Wow, echt super!! Werde ich morgen gleich mal testen 🙂

                                1 Reply Last reply Reply Quote 0
                                • O
                                  oFbEQnpoLKKl6mbY5e13 @daniel_2k last edited by oFbEQnpoLKKl6mbY5e13

                                  @daniel_2k

                                  Funktioniert bisher. Danke!

                                  2021-11-29 09:05:34.400  - info: 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  - info: nanoleaf-lightpanels.1 (3320) Nanoleaf adapter 'nanoleaf-lightpanels.1' started.
                                  2021-11-29 09:05:34.437  - debug: nanoleaf-lightpanels.1 (3320) SSDP 'DeviceFound' event initialized!
                                  2021-11-29 09:05:34.439  - info: nanoleaf-lightpanels.1 (3320) Connecting to '192.168.0.128:16021'...
                                  2021-11-29 09:05:34.488  - debug: nanoleaf-lightpanels.1 (3320) Connect timer stopped!
                                  2021-11-29 09:05:34.489  - info: nanoleaf-lightpanels.1 (3320) Connected to '192.168.0.128:16021'
                                  2021-11-29 09:05:34.491  - debug: nanoleaf-lightpanels.1 (3320) nanoleaf Device 'Canvas' (NL29) detected!
                                  2021-11-29 09:05:34.605  - debug: nanoleaf-lightpanels.1 (3320) SSDP notify events initialized!
                                  2021-11-29 09:05:34.629  - debug: nanoleaf-lightpanels.1 (3320) SSE subscription started, listening...
                                  2021-11-29 09:05:48.291  - debug: 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  - debug: 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  - debug: 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  - debug: 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  - debug: nanoleaf-lightpanels.1 (3320) nanoleaf uuid:**** from device '192.168.0.128' set!
                                  2021-11-29 09:06:48.691  - debug: 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"}
                                  
                                  D 1 Reply Last reply Reply Quote 0
                                  • N
                                    nevermind @daniel_2k last edited by

                                    @daniel_2k

                                    Eben getestet. Funzt! Vielen Dank 🙂

                                    1 Reply Last reply Reply Quote 0
                                    • D
                                      daniel_2k @oFbEQnpoLKKl6mbY5e13 last edited by

                                      @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.

                                      O 1 Reply Last reply Reply Quote 0
                                      • O
                                        oFbEQnpoLKKl6mbY5e13 @daniel_2k last edited by

                                        @daniel_2k
                                        Okay. Ich hatte zuerst das "set!" im Log übersehen. Danach hatte ich meinen Beitrag editiert. Ich sehe ein, dass das reicht.

                                        1 Reply Last reply Reply Quote 0
                                        • O
                                          oxident last edited by

                                          @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 😞

                                          D 1 Reply Last reply Reply Quote 0
                                          • D
                                            daniel_2k @oxident last edited by daniel_2k

                                            @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.

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            878
                                            Online

                                            31.7k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            canvas light panels nanoleaf
                                            29
                                            137
                                            17923
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo