Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Praktische Anwendungen (Showcase)
    4. Twinkly - Basisfunktionen mit ioBroker steuern

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Twinkly - Basisfunktionen mit ioBroker steuern

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

      @W0RSCHD Ich würde dir auch das Skript von @patrickbs96 empfehlen.
      Sobald es bei mir ohne Fehler läuft, poste ich den Verweis und eine klare Empfehlung darauf auch in meinem ersten Post. 🙂

      1 Reply Last reply Reply Quote 0
      • patrickbs96
        patrickbs96 Developer @siggi85 last edited by

        @siggi85 said in Twinkly - Basisfunktionen mit ioBroker steuern:

        Error: Error:

        So ich habe ein paar Anpassungen gemacht. Beim Verifizieren war noch ein kleiner Fehler drin, der bei mir aber nie aufgetreten ist 🤷‍♂️ Falls von Twinkly aus eine Fehlermeldung geschickt wird (code != 1000) erstelle ich eine Warnung im Log aber breche die Funktion nicht mehr ab. Falls es nur am ersten Fehler lag dann baue ich das Abbrechen später wieder ein 😄

        Das Skript habe ich aktualisiert.

        siggi85 1 Reply Last reply Reply Quote 0
        • siggi85
          siggi85 @patrickbs96 last edited by

          @patrickbs96 Also vorher hat eigentlich alles funktioniert (an/aus, bri), hatte halt nur das Log voller Fehler. Jetzt ist das Log zumindest nur voller Warnings. 😛

          javascript.1	2020-12-04 13:25:00.287	warn	(19045) script.js.05_Helper.Twinkly_Test: [POST.verify] 1102 (Error), Data: {"challenge-response":"b23cd3aff1e30c76891c60dc199485f1a28fd2d6"}, Headers: {"X-Auth-Token":"wuyiL1bNgz4="}, Body: {"code":1
          javascript.1	2020-12-04 13:25:00.068	warn	(19045) script.js.05_Helper.Twinkly_Test: [POST.verify] 1102 (Error), Data: {"challenge-response":"4ecffc0c669796ea843c4ef4dc7d2a33cf081d92"}, Headers: {"X-Auth-Token":"7zg0w+1S47A="}, Body: {"code":1
          javascript.1	2020-12-04 13:24:00.306	warn	(19045) script.js.05_Helper.Twinkly_Test: [POST.verify] 1102 (Error), Data: {"challenge-response":"b23cd3aff1e30c76891c60dc199485f1a28fd2d6"}, Headers: {"X-Auth-Token":"0fX2ONXNhW4="}, Body: {"code":1
          javascript.1	2020-12-04 13:24:00.061	warn	(19045) script.js.05_Helper.Twinkly_Test: [POST.verify] 1102 (Error), Data: {"challenge-response":"4ecffc0c669796ea843c4ef4dc7d2a33cf081d92"}, Headers: {"X-Auth-Token":"rvW9IkCWS3M="}, Body: {"code":1
          

          Ich habe bei meinen Tests aber bereits bemerkt, dass ich öfter mal einen neuen Token generieren musste, weil mein Twinkly Devices den aktuellen regelmäßig nicht mehr akzeptiert hat (daher auch der Token Counter aus meinem Skript). Keine Ahnung wieso das so ist?!

          patrickbs96 1 Reply Last reply Reply Quote 0
          • patrickbs96
            patrickbs96 Developer @siggi85 last edited by patrickbs96

            @siggi85 Versuche es jetzt nochmal. Ich hatte noch einen Fehler in der Zeitermittlung ab wann der Token abgelaufen ist. Dadurch wurde jedesmal ein neuer Token generiert. Eventuell kommt die 1102 Fehlermeldung davon. Falls das nicht hilft blende ich die dann einfach aus. Scheint ja kein Fehler zu sein 🙂

            EDIT: Ich habe gerade meine zweite Lichterkette angeschlossen und bekomme jetzt die gleiche Fehlermeldung wie du. Ich gehe jetzt mal davon aus, dass Twinkly die Challenge-Response nicht mag. Muss ich mir mal anschauen... Aber mit diesem Update nur alle 4 Stunden pro Gerät 😉

            W 1 Reply Last reply Reply Quote 0
            • W
              W0RSCHD @patrickbs96 last edited by

              @patrickbs96
              Ich hab die aktuelle Version des Scripts mal geladen und bin am testen, allerdings klappt da nix.
              Ich seh in den States zwar jetzt die Firmware Version usw. (Habe noch eine der alten Twinkly aus 2017),
              aber der Zustand ob sie an oder aus ist ändert sich nicht und ich kann auch nicht schalten damit, also ob ich auf true oder false setze an der Lichterkette passiert dann nichts.

              Hier mal ein Auszug aus dem Log:

              17:22:18.016	info	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: getState(id=ping.0.iobroker.192_168_178_175, timerId=undefined) => {"val":true,"ack":true,"ts":1607098913269,"q":0,"from":"system.adapter.ping.0","user":"system.user.admin","lc":1607097243493}
              17:22:18.040	error	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [Weihnachtsbaum.on] HTTP Error 401
              17:22:31.596	info	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: getState(id=ping.0.iobroker.192_168_178_175, timerId=undefined) => {"val":true,"ack":true,"ts":1607098943471,"q":0,"from":"system.adapter.ping.0","user":"system.user.admin","lc":1607097243493}
              17:22:31.617	error	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [Weihnachtsbaum.on] HTTP Error 401
              17:22:43.389	info	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: getState(id=ping.0.iobroker.192_168_178_175, timerId=undefined) => {"val":true,"ack":true,"ts":1607098943471,"q":0,"from":"system.adapter.ping.0","user":"system.user.admin","lc":1607097243493}
              17:22:43.389	info	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: setForeignState(id=javascript.0.MyDevices.Twinkly.Weihnachtsbaum.connected, state={"val":true,"ack":true,"c":"script.js.Schaltungen.Twinkly_JS"})
              17:22:43.409	error	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [Weihnachtsbaum.mode] HTTP Error 401
              17:22:43.425	error	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [Weihnachtsbaum.bri] HTTP Error 401
              17:22:43.443	error	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [Weihnachtsbaum.name] HTTP Error 401
              17:22:43.461	error	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [Weihnachtsbaum.mqtt] HTTP Error 401
              17:22:43.486	error	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [Weihnachtsbaum.timer] HTTP Error 401
              17:22:43.507	info	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: setForeignState(id=javascript.0.MyDevices.Twinkly.Weihnachtsbaum.details, state={"val":"{\"product_name\":\"Twinkly\",\"product_version\":\"16\",\"hardware_version\":\"7\",\"flash_size\":16,\"led_type\":6,\"led_version\":\"1\",\"product_code\":\"TW225SEUP07\",\"device_name\":\"Twinkly_BA1A63\",\"uptime\":\"1786705\",\"hw_id\":\"00ba1a63\",\"mac\":\"84:f3:eb:ba:1a:63\",\"max_supported_led\":255,\"base_leds_number\":225,\"number_of_led\":225,\"led_profile\":\"RGB\",\"frame_rate\":25,\"movie_capacity\":719,\"copyright\":\"LEDWORKS 2017\"}","ack":true,"c":"script.js.Schaltungen.Twinkly_JS"})
              17:22:43.526	info	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: setForeignState(id=javascript.0.MyDevices.Twinkly.Weihnachtsbaum.firmware, state={"val":"2.3.5","ack":true,"c":"script.js.Schaltungen.Twinkly_JS"})
              
              siggi85 1 Reply Last reply Reply Quote 0
              • siggi85
                siggi85 @W0RSCHD last edited by

                @W0RSCHD

                Deine Firmware ist auf 2.3.5. Ist das die neueste Version für deine Twinkly oder wird dir über die App ein Update angeboten?

                @patrickbs96

                Bei der neuen Version des Skriptes kam nur beim Start für jede Kette eine Fehlermeldung, seit dem alles ruhig. 🙂👍 Wahrscheinlich kommt jetzt alle 4 Stunden die Meldung, aber damit kann ich locker leben.
                Achja, auch externe Änderungen (bspw. wenn die Kette über die App an/aus geschaltet wird), wird jede volle Minute in ioBroker aktualisiert. 👍 Vielen Dank für deine Version des Skriptes!

                patrickbs96 W 2 Replies Last reply Reply Quote 0
                • patrickbs96
                  patrickbs96 Developer @siggi85 last edited by

                  @siggi85 Ich habe diesbezüglich auch schon eine Lösung, habe nämlich den Verursacher gefunden 😄 Die Befehle werden nämlich doppelt abgeschickt und dann kam es zu Überschneidungen mit dem Token.

                  Ich bekomme jetzt aber nach einer Weile die Meldung "Invalid Token" in Verbindung mit der "HTTP Error 401". Da es eine Weile dauert bis der Fehler auftritt kann ich noch nicht sagen wie lange ich dafür brauche...

                  siggi85 1 Reply Last reply Reply Quote 0
                  • siggi85
                    siggi85 @patrickbs96 last edited by

                    @patrickbs96 sagte in Twinkly - Basisfunktionen mit ioBroker steuern:

                    @siggi85 Ich habe diesbezüglich auch schon eine Lösung, habe nämlich den Verursacher gefunden 😄 Die Befehle werden nämlich doppelt abgeschickt und dann kam es zu Überschneidungen mit dem Token.

                    Ich bekomme jetzt aber nach einer Weile die Meldung "Invalid Token" in Verbindung mit der "HTTP Error 401". Da es eine Weile dauert bis der Fehler auftritt kann ich noch nicht sagen wie lange ich dafür brauche...

                    Jop, ich habe gerade geschaut und das mit dem "HTTP Error 401" ist mir gerade auch passiert. Musste das Skript neustarten. Mal schauen wie lange es jetzt läuft.

                    patrickbs96 1 Reply Last reply Reply Quote 0
                    • patrickbs96
                      patrickbs96 Developer @siggi85 last edited by

                      @siggi85 Ging dann doch schneller als gedacht. Ich habe es jetzt so ähnlich gelöst, wie du in deinem Skript. Seitdem kriege ich keine Fehlermeldungen mehr. Ich habe zusätzlich noch eine Konstante hinzugefügt um die Zeit für das Polling anzupassen 🙂

                      siggi85 1 Reply Last reply Reply Quote 0
                      • W
                        W0RSCHD @siggi85 last edited by

                        @siggi85
                        Ja das ist die "neuste" für meine Lichterkette, also es wird in der App (App ist aktuell) auch kein Update angeboten. Wie gesagt die Kette ist schon etwas älter also noch die erste Version von Twinkly die es gab mit 225 LED´s.

                        1 Reply Last reply Reply Quote 0
                        • siggi85
                          siggi85 @patrickbs96 last edited by siggi85

                          @patrickbs96 Mh, durch die neue Version erhalte ich folgende Meldung und das Schalten funktioniert nicht mehr:

                          21:55:14.334	info	javascript.1 (19045) Start javascript script.js.05_Helper.Twinkly_Test
                          21:55:14.340	info	javascript.1 (19045) script.js.05_Helper.Twinkly_Test: registered 0 subscriptions and 0 schedules
                          21:56:01.836	error	javascript.1 (19045) script.js.05_Helper.Twinkly_Test: [Lichterkette.on] ReferenceError: logs is not defined
                          21:56:16.360	error	javascript.1 (19045) script.js.05_Helper.Twinkly_Test: [Festoon.mode] TypeError: Cannot read property 'code' of undefined
                          21:56:16.375	error	javascript.1 (19045) script.js.05_Helper.Twinkly_Test: [Lichterkette.mode] TypeError: Cannot read property 'code' of undefined
                          21:56:16.393	error	javascript.1 (19045) script.js.05_Helper.Twinkly_Test: [Festoon.bri] TypeError: Cannot read property 'code' of undefined
                          21:56:16.405	error	javascript.1 (19045) script.js.05_Helper.Twinkly_Test: [Lichterkette.bri] TypeError: Cannot read property 'code' of undefined
                          21:56:16.421	error	javascript.1 (19045) script.js.05_Helper.Twinkly_Test: [Festoon.name] TypeError: Cannot read property 'code' of undefined
                          21:56:16.431	error	javascript.1 (19045) script.js.05_Helper.Twinkly_Test: [Lichterkette.name] TypeError: Cannot read property 'code' of undefined
                          21:56:16.451	error	javascript.1 (19045) script.js.05_Helper.Twinkly_Test: [Festoon.mqtt] TypeError: Cannot read property 'code' of undefined
                          21:56:16.461	error	javascript.1 (19045) script.js.05_Helper.Twinkly_Test: [Lichterkette.mqtt] TypeError: Cannot read property 'code' of undefined
                          21:56:16.480	error	javascript.1 (19045) script.js.05_Helper.Twinkly_Test: [Festoon.timer] TypeError: Cannot read property 'code' of undefined
                          21:56:16.494	error	javascript.1 (19045) script.js.05_Helper.Twinkly_Test: [Lichterkette.timer] TypeError: Cannot read property 'code' of undefined
                          21:56:16.549	error	javascript.1 (19045) script.js.05_Helper.Twinkly_Test: [Festoon.mode] TypeError: Cannot read property 'code' of undefined
                          21:56:16.580	error	javascript.1 (19045) script.js.05_Helper.Twinkly_Test: [Festoon.bri] TypeError: Cannot read property 'code' of undefined
                          21:56:16.606	error	javascript.1 (19045) script.js.05_Helper.Twinkly_Test: [Festoon.name] TypeError: Cannot read property 'code' of undefined
                          21:56:16.632	error	javascript.1 (19045) script.js.05_Helper.Twinkly_Test: [Festoon.mqtt] TypeError: Cannot read property 'code' of undefined
                          21:56:16.656	error	javascript.1 (19045) script.js.05_Helper.Twinkly_Test: [Festoon.timer] TypeError: Cannot read property 'code' of undefined
                          

                          EDIT: Das Polling wird minütlich durchgeführt, aber bringt halt die beschriebenen Fehlermeldungen.

                          patrickbs96 1 Reply Last reply Reply Quote 0
                          • patrickbs96
                            patrickbs96 Developer @siggi85 last edited by

                            @siggi85 Das das Steuern nicht mehr klappt war meine Schuld. Hatte eine Stelle übersehen, die ich ersetzen musste. Ich nutze meine eigene Logging-Komponente...

                            Könntest du das Skript noch einmal testen? Ich habe eine Prüfung ergänzt, vielleicht lag es daran.

                            siggi85 1 Reply Last reply Reply Quote 1
                            • siggi85
                              siggi85 @patrickbs96 last edited by

                              @patrickbs96 Logs und Funktionen sehen sehr gut aus! 👍 Ich werde weiter beobachten und noch eine Rückmeldung aus dem Dauerbetrieb gebe. Wenn das jetzt stabil läuft bin ich damit sehr zufrieden. 🙂
                              Es wäre natürlich mega, wenn man die jeweilige Szene über ein Attribut steuern könnte, allerdings gibt das die API aktuell leider nicht her. Da können wir wohl nur abwarten und hoffen, dass die API irgendwann offiziell und damit vollständig dokumentiert wird.

                              @W0RSCHD Also derjenige, der die inofizielle API dokumentiert hat, hat anscheinend auch ein Gerät der ersten Generation. Er scheint auch mit der gleichen Firmware getestet zu haben, die auf deinen Twinklys drauf ist. (Siehe hier)
                              Prinzipiell müsste es meiner Meinung nach bei dir also funktionieren.
                              Versuche mal bitte auf der Kommadozeile, was ich hier beschrieben habe und gebe Rückmeldung, ob das klappt.

                              W patrickbs96 2 Replies Last reply Reply Quote 0
                              • W
                                W0RSCHD @siggi85 last edited by W0RSCHD

                                @siggi85
                                Ja habe die manuellen Befehle gerade alle getestet, kann damit an und ausschalten, das funktioniert

                                Hab die neuste Version aus dem GIT mal reinkopiert und gestartet und auch nochmal alle Objekte im JS Adapter gelöscht das sie neu angelegt werden.

                                Twinkly_JS.jpg

                                Sieht dann so aus und es wird quasi nur details und Firmware ausgefüllt, welcher modus aktiv ist usw., das bleibt alles leer.
                                Ebenso ändert sich dann auch nichts wenn ich den modus von Hand schalte, dadurch geht sie auch nicht aus oder an.
                                Ich habe ehrlich gesagt aber auch keine Ahnung wo ich suchen soll da ich auch dem verbose Log aus dem Skript nix entnehmen kann warum es hakt oder wo es hängt dass es nicht geht.

                                Hier mal ein Auszug aus dem Log:

                                11:35:33.352	info	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: getState(id=ping.0.iobroker.192_168_178_175, timerId=undefined) => {"val":true,"ack":true,"ts":1607164512257,"q":0,"from":"system.adapter.ping.0","user":"system.user.admin","lc":1607157356830}
                                11:35:33.353	info	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: setForeignState(id=javascript.0.Weihnachtsbaum.connected, state={"val":true,"ack":true,"c":"script.js.Schaltungen.Twinkly_JS"})
                                11:35:33.386	warn	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [Twinkly.POST.login] 1106 (undefined), Body: {"code":1106}
                                11:35:33.413	warn	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [Twinkly.POST.verify] 1102 (Error), Data: {}, Headers: {}, Body: {"code":1102}
                                11:35:33.453	warn	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [Twinkly.POST.login] 1106 (undefined), Body: {"code":1106}
                                11:35:33.480	warn	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [Twinkly.POST.verify] 1102 (Error), Data: {}, Headers: {}, Body: {"code":1102}
                                11:35:33.512	error	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [Weihnachtsbaum.mode] HTTP Error 401, "Invalid Token."
                                11:35:33.531	warn	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [Twinkly.POST.login] 1106 (undefined), Body: {"code":1106}
                                11:35:33.552	warn	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [Twinkly.POST.verify] 1102 (Error), Data: {}, Headers: {}, Body: {"code":1102}
                                11:35:33.589	warn	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [Twinkly.POST.login] 1106 (undefined), Body: {"code":1106}
                                11:35:33.611	warn	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [Twinkly.POST.verify] 1102 (Error), Data: {}, Headers: {}, Body: {"code":1102}
                                11:35:33.640	error	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [Weihnachtsbaum.bri] HTTP Error 401, "Invalid Token."
                                11:35:33.657	warn	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [Twinkly.POST.login] 1106 (undefined), Body: {"code":1106}
                                11:35:33.678	warn	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [Twinkly.POST.verify] 1102 (Error), Data: {}, Headers: {}, Body: {"code":1102}
                                11:35:33.711	warn	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [Twinkly.POST.login] 1106 (undefined), Body: {"code":1106}
                                11:35:33.735	warn	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [Twinkly.POST.verify] 1102 (Error), Data: {}, Headers: {}, Body: {"code":1102}
                                11:35:33.760	error	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [Weihnachtsbaum.name] HTTP Error 401, "Invalid Token."
                                11:35:33.778	warn	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [Twinkly.POST.login] 1106 (undefined), Body: {"code":1106}
                                11:35:33.795	warn	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [Twinkly.POST.verify] 1102 (Error), Data: {}, Headers: {}, Body: {"code":1102}
                                11:35:33.832	warn	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [Twinkly.POST.login] 1106 (undefined), Body: {"code":1106}
                                11:35:33.858	warn	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [Twinkly.POST.verify] 1102 (Error), Data: {}, Headers: {}, Body: {"code":1102}
                                11:35:33.885	error	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [Weihnachtsbaum.mqtt] HTTP Error 401, "Invalid Token."
                                11:35:33.902	warn	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [Twinkly.POST.login] 1106 (undefined), Body: {"code":1106}
                                11:35:33.919	warn	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [Twinkly.POST.verify] 1102 (Error), Data: {}, Headers: {}, Body: {"code":1102}
                                11:35:33.964	warn	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [Twinkly.POST.login] 1106 (undefined), Body: {"code":1106}
                                11:35:33.984	warn	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [Twinkly.POST.verify] 1102 (Error), Data: {}, Headers: {}, Body: {"code":1102}
                                11:35:34.002	error	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [Weihnachtsbaum.timer] HTTP Error 401, "Invalid Token."
                                11:35:34.017	warn	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [Twinkly.POST.login] 1106 (undefined), Body: {"code":1106}
                                11:35:34.034	warn	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [Twinkly.POST.verify] 1102 (Error), Data: {}, Headers: {}, Body: {"code":1102}
                                11:35:34.066	info	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: setForeignState(id=javascript.0.Weihnachtsbaum.details, state={"val":"{\"product_name\":\"Twinkly\",\"product_version\":\"16\",\"hardware_version\":\"7\",\"flash_size\":16,\"led_type\":6,\"led_version\":\"1\",\"product_code\":\"TW225SEUP07\",\"device_name\":\"Twinkly_BA1A63\",\"uptime\":\"2913607\",\"hw_id\":\"00ba1a63\",\"mac\":\"84:f3:eb:ba:1a:63\",\"max_supported_led\":255,\"base_leds_number\":225,\"number_of_led\":225,\"led_profile\":\"RGB\",\"frame_rate\":25,\"movie_capacity\":719,\"copyright\":\"LEDWORKS 2017\"}","ack":true,"c":"script.js.Schaltungen.Twinkly_JS"})
                                11:35:34.089	info	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: setForeignState(id=javascript.0.Weihnachtsbaum.firmware, state={"val":"2.3.5","ack":true,"c":"script.js.Schaltungen.Twinkly_JS"})
                                
                                1 Reply Last reply Reply Quote 0
                                • patrickbs96
                                  patrickbs96 Developer @siggi85 last edited by patrickbs96

                                  @siggi85 Das freut mich zu hören 🙂 Theoretisch wäre das ja durch MQTT möglich aber ich weiß nicht wie genau ich es konfigurieren muss. Ich hatte es gestern versucht aber es gab keine Verbindung...

                                  @W0RSCHD So wie ich das bei meinen Tests festgestellt habe ist, dass Details und Firmware keinen Token benötigen um die Daten abzurufen. Deshalb funktionieren dies beiden auch noch. In deinem Fall sieht es so aus als schlägt die Anmeldung fehl... Ich habe das Logging mal erweitern vielleicht finden wir so den Grund, weshalb es bei dir nicht mit dem Skript klappt.
                                  Setzte dafür

                                  const EXTENDED_LOGGING = true;
                                  
                                  siggi85 W 2 Replies Last reply Reply Quote 0
                                  • siggi85
                                    siggi85 @patrickbs96 last edited by

                                    @patrickbs96 sagte in Twinkly - Basisfunktionen mit ioBroker steuern:

                                    @siggi85 Das freut mich zu hören 🙂 Theoretisch wäre das ja durch MQTT möglich aber ich weiß nicht wie genau ich es konfigurieren muss. Ich hatte es gestern versucht aber es gab keine Verbindung...

                                    Anders als in der API beschrieben, ist die MQTT Verbindung mittlerweile verschlüsselt. Hätte man das passende Zertifikat könnte man eine MQTT Instanz mit diesem Zertifikat und einem eigenen Port aufmachen. Ohne Zertifikat sieht das aber schlecht aus.
                                    Ich habe es bei meinen Tests auch nicht hinbekommen, die Verschlüsselung zu deaktivieren. Das wäre sonst die 2. Möglichkeit. 😕

                                    1 Reply Last reply Reply Quote 0
                                    • W
                                      W0RSCHD @patrickbs96 last edited by

                                      @patrickbs96
                                      ok, habs mal geändert, hier mal das log dazu

                                      16:24:15.409	info	javascript.0 (11366) Stop script script.js.Schaltungen.Twinkly_JS
                                      16:24:17.614	info	javascript.0 (11366) Start javascript script.js.Schaltungen.Twinkly_JS
                                      16:24:17.662	info	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: setTimeout(ms=2000)
                                      16:24:17.663	info	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: onStop(timeout=500)
                                      16:24:17.663	info	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: registered 0 subscriptions and 0 schedules
                                      16:24:17.674	info	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: getObject(id=javascript.0.Weihnachtsbaum, enumName=undefined) => {"common":{"name":"Twinkly","role":"state","type":"mixed"},"native":{},"type":"channel","from":"system.adapter.javascript.0","user":"system.user.admin","ts":1607163615438,"_id":"javascript.0.Weihnachtsbaum","acl":{"object":1636,"state":1636,"owner":"system.user.admin","ownerGroup":"system.group.administrator"}}
                                      16:24:17.675	info	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: setObject(id=javascript.0.Weihnachtsbaum, obj={"common":{"name":"Twinkly","role":"state","type":"mixed"},"native":{},"type":"channel","from":"system.adapter.javascript.0","user":"system.user.admin","ts":1607163615438,"_id":"javascript.0.Weihnachtsbaum","acl":{"object":1636,"state":1636,"owner":"system.user.admin","ownerGroup":"system.group.administrator"}})
                                      16:24:19.665	info	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: subscribe: {"pattern":{"id":{},"change":"ne","ack":false,"q":0},"name":"script.js.Schaltungen.Twinkly_JS"}
                                      16:24:19.669	info	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: setInterval(ms=60000)
                                      16:25:19.673	info	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: getState(id=ping.0.iobroker.192_168_178_175, timerId=undefined) => {"val":true,"ack":true,"ts":1607181905606,"q":0,"from":"system.adapter.ping.0","user":"system.user.admin","lc":1607157356830}
                                      16:25:19.677	info	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: setForeignState(id=javascript.0.Weihnachtsbaum.connected, state={"val":true,"ack":true,"c":"script.js.Schaltungen.Twinkly_JS"})
                                      16:25:19.681	info	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [Twinkly._get] <led/mode>
                                      16:25:19.682	info	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [Twinkly.ensure_token] Authentication token expired, will refresh
                                      16:25:19.690	info	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [httpRequest.POST] {"url":"http://192.168.178.175/xled/v1/login","body":{"challenge":"AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8="},"method":"POST","rejectUnauthorized":false,"timeout":3000,"json":true}
                                      16:25:19.810	info	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [doPostRequest] response: {"statusCode":200,"body":{"code":1106},"headers":{"connection":"close","content-length":"13","content-type":"application/json"},"request":{"uri":{"protocol":"http:","slashes":true,"auth":null,"host":"192.168.178.175","port":80,"hostname":"192.168.178.175","hash":null,"search":null,"query":null,"pathname":"/xled/v1/login","path":"/xled/v1/login","href":"http://192.168.178.175/xled/v1/login"},"method":"POST","headers":{"accept":"application/json","content-type":"application/json","content-length":60}}}
                                      16:25:19.811	info	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [doPostRequest] body: {"code":1106}
                                      16:25:19.822	error	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [Weihnachtsbaum.mode] [Twinkly.POST.login] 1106 (Error - Login)
                                      16:25:19.823	info	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [Twinkly._get] <led/out/brightness>
                                      16:25:19.824	info	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [Twinkly.ensure_token] Authentication token expired, will refresh
                                      16:25:19.824	info	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [httpRequest.POST] {"url":"http://192.168.178.175/xled/v1/login","body":{"challenge":"AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8="},"method":"POST","rejectUnauthorized":false,"timeout":3000,"json":true}
                                      16:25:19.855	info	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [doPostRequest] response: {"statusCode":200,"body":{"code":1106},"headers":{"connection":"close","content-length":"13","content-type":"application/json"},"request":{"uri":{"protocol":"http:","slashes":true,"auth":null,"host":"192.168.178.175","port":80,"hostname":"192.168.178.175","hash":null,"search":null,"query":null,"pathname":"/xled/v1/login","path":"/xled/v1/login","href":"http://192.168.178.175/xled/v1/login"},"method":"POST","headers":{"accept":"application/json","content-type":"application/json","content-length":60}}}
                                      16:25:19.856	info	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [doPostRequest] body: {"code":1106}
                                      16:25:19.857	error	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [Weihnachtsbaum.bri] [Twinkly.POST.login] 1106 (Error - Login)
                                      16:25:19.858	info	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [Twinkly._get] <device_name>
                                      16:25:19.859	info	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [Twinkly.ensure_token] Authentication token expired, will refresh
                                      16:25:19.859	info	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [httpRequest.POST] {"url":"http://192.168.178.175/xled/v1/login","body":{"challenge":"AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8="},"method":"POST","rejectUnauthorized":false,"timeout":3000,"json":true}
                                      16:25:19.901	info	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [doPostRequest] response: {"statusCode":200,"body":{"code":1106},"headers":{"connection":"close","content-length":"13","content-type":"application/json"},"request":{"uri":{"protocol":"http:","slashes":true,"auth":null,"host":"192.168.178.175","port":80,"hostname":"192.168.178.175","hash":null,"search":null,"query":null,"pathname":"/xled/v1/login","path":"/xled/v1/login","href":"http://192.168.178.175/xled/v1/login"},"method":"POST","headers":{"accept":"application/json","content-type":"application/json","content-length":60}}}
                                      16:25:19.903	info	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [doPostRequest] body: {"code":1106}
                                      16:25:19.904	error	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [Weihnachtsbaum.name] [Twinkly.POST.login] 1106 (Error - Login)
                                      16:25:19.915	info	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [Twinkly._get] <mqtt/config>
                                      16:25:19.916	info	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [Twinkly.ensure_token] Authentication token expired, will refresh
                                      16:25:19.917	info	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [httpRequest.POST] {"url":"http://192.168.178.175/xled/v1/login","body":{"challenge":"AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8="},"method":"POST","rejectUnauthorized":false,"timeout":3000,"json":true}
                                      16:25:19.975	info	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [doPostRequest] response: {"statusCode":200,"body":{"code":1106},"headers":{"connection":"close","content-length":"13","content-type":"application/json"},"request":{"uri":{"protocol":"http:","slashes":true,"auth":null,"host":"192.168.178.175","port":80,"hostname":"192.168.178.175","hash":null,"search":null,"query":null,"pathname":"/xled/v1/login","path":"/xled/v1/login","href":"http://192.168.178.175/xled/v1/login"},"method":"POST","headers":{"accept":"application/json","content-type":"application/json","content-length":60}}}
                                      16:25:19.976	info	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [doPostRequest] body: {"code":1106}
                                      16:25:19.979	error	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [Weihnachtsbaum.mqtt] [Twinkly.POST.login] 1106 (Error - Login)
                                      16:25:19.993	info	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [Twinkly._get] <timer>
                                      16:25:19.995	info	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [Twinkly.ensure_token] Authentication token expired, will refresh
                                      16:25:20.001	info	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [httpRequest.POST] {"url":"http://192.168.178.175/xled/v1/login","body":{"challenge":"AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8="},"method":"POST","rejectUnauthorized":false,"timeout":3000,"json":true}
                                      16:25:20.065	info	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [doPostRequest] response: {"statusCode":200,"body":{"code":1106},"headers":{"connection":"close","content-length":"13","content-type":"application/json"},"request":{"uri":{"protocol":"http:","slashes":true,"auth":null,"host":"192.168.178.175","port":80,"hostname":"192.168.178.175","hash":null,"search":null,"query":null,"pathname":"/xled/v1/login","path":"/xled/v1/login","href":"http://192.168.178.175/xled/v1/login"},"method":"POST","headers":{"accept":"application/json","content-type":"application/json","content-length":60}}}
                                      16:25:20.073	info	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [doPostRequest] body: {"code":1106}
                                      16:25:20.074	error	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [Weihnachtsbaum.timer] [Twinkly.POST.login] 1106 (Error - Login)
                                      16:25:20.076	info	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [Twinkly._get] <gestalt>
                                      16:25:20.085	info	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [Twinkly.ensure_token] Authentication token expired, will refresh
                                      16:25:20.086	info	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [httpRequest.POST] {"url":"http://192.168.178.175/xled/v1/login","body":{"challenge":"AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8="},"method":"POST","rejectUnauthorized":false,"timeout":3000,"json":true}
                                      16:25:20.151	info	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [doPostRequest] response: {"statusCode":200,"body":{"code":1106},"headers":{"connection":"close","content-length":"13","content-type":"application/json"},"request":{"uri":{"protocol":"http:","slashes":true,"auth":null,"host":"192.168.178.175","port":80,"hostname":"192.168.178.175","hash":null,"search":null,"query":null,"pathname":"/xled/v1/login","path":"/xled/v1/login","href":"http://192.168.178.175/xled/v1/login"},"method":"POST","headers":{"accept":"application/json","content-type":"application/json","content-length":60}}}
                                      16:25:20.152	info	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [doPostRequest] body: {"code":1106}
                                      16:25:20.153	error	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [Weihnachtsbaum.details] [Twinkly.POST.login] 1106 (Error - Login)
                                      16:25:20.155	info	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [Twinkly._get] <fw/version>
                                      16:25:20.156	info	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [Twinkly.ensure_token] Authentication token expired, will refresh
                                      16:25:20.180	info	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [httpRequest.POST] {"url":"http://192.168.178.175/xled/v1/login","body":{"challenge":"AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8="},"method":"POST","rejectUnauthorized":false,"timeout":3000,"json":true}
                                      16:25:20.242	info	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [doPostRequest] response: {"statusCode":200,"body":{"code":1106},"headers":{"connection":"close","content-length":"13","content-type":"application/json"},"request":{"uri":{"protocol":"http:","slashes":true,"auth":null,"host":"192.168.178.175","port":80,"hostname":"192.168.178.175","hash":null,"search":null,"query":null,"pathname":"/xled/v1/login","path":"/xled/v1/login","href":"http://192.168.178.175/xled/v1/login"},"method":"POST","headers":{"accept":"application/json","content-type":"application/json","content-length":60}}}
                                      16:25:20.253	info	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [doPostRequest] body: {"code":1106}
                                      16:25:20.261	error	javascript.0 (11366) script.js.Schaltungen.Twinkly_JS: [Weihnachtsbaum.firmware] [Twinkly.POST.login] 1106 (Error - Login)
                                      
                                      patrickbs96 siggi85 2 Replies Last reply Reply Quote 0
                                      • patrickbs96
                                        patrickbs96 Developer @W0RSCHD last edited by patrickbs96

                                        @W0RSCHD said in Twinkly - Basisfunktionen mit ioBroker steuern:

                                        Weihnachtsbaum

                                        Ich habe deine Aufrufe mal mit meinen verglichen und die sind bis auf die Rückmeldung identisch:

                                        [httpRequest.POST] {"url":"http://192.168.178.52/xled/v1/login","body":{"challenge":"AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8="},"method":"POST","rejectUnauthorized":false,"timeout":3000,"json":true}
                                        
                                        Deins: [doPostRequest] response: {"statusCode":200,"body":{                                                                                                                                              "code":1106},"headers":{                         "connection":"close","content-length":"13","content-type":"application/json"},"request":{"uri":{"protocol":"http:","slashes":true,"auth":null,"host":"192.168.178.175","port":80,"hostname":"192.168.178.175","hash":null,"search":null,"query":null,"pathname":"/xled/v1/login","path":"/xled/v1/login","href":"http://192.168.178.175/xled/v1/login"},"method":"POST","headers":{"accept":"application/json","content-type":"application/json","content-length":60}}}
                                        Meins: [doPostRequest] response: {"statusCode":200,"body":{"authentication_token":"BFJmAWqQ8+4=","authentication_token_expires_in":14400,"challenge-response":"b240d1a142fc8346c72453fa8b4bb62e7f44d64b","code":1000},"headers":{"server":"esp-httpd/0.5","connection":"close",                      "content-type":"application/json"},"request":{"uri":{"protocol":"http:","slashes":true,"auth":null,"host":"192.168.178.52", "port":80,"hostname":"192.168.178.52", "hash":null,"search":null,"query":null,"pathname":"/xled/v1/login","path":"/xled/v1/login","href":"http://192.168.178.52/xled/v1/login"}, "method":"POST","headers":{"accept":"application/json","content-type":"application/json","content-length":60}}}
                                        

                                        Ich habe leider keine Erklärung dafür... @siggi85 hast du eventuell eine Idee?
                                        Es scheint ja irgend ein Fehler im Request zu sein, den die erste Generation der Twinkly nicht mag.
                                        Falls du keine Idee hast würde ich den Request gegen den curl Befehl ersetzen, der scheint ja zu funktionieren.

                                        1 Reply Last reply Reply Quote 2
                                        • siggi85
                                          siggi85 @W0RSCHD last edited by

                                          @W0RSCHD Funktioniert denn zumindest mein Blockly bei dir? Das nutzt ja die curl Aufrufe, die anscheinend funktionieren.

                                          W 1 Reply Last reply Reply Quote 0
                                          • W
                                            W0RSCHD @siggi85 last edited by

                                            @siggi85
                                            Das Blockly lief am Anfang 1a und irgendwann hat das auch gesponnen und es ging nix mehr (keine Ahnung wieso).

                                            @patrickbs96 kannst du mir mal eine Version machen mit den curl Anfragen, dann kann ich mal testen ob die bei meiner alten Version besser funktionieren.

                                            Danke euch beiden schon mal 🙂

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            759
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            8
                                            69
                                            6273
                                            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