Skip to content
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Praktische Anwendungen (Showcase)
  4. Twinkly - Basisfunktionen mit ioBroker steuern

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.2k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.2k

Twinkly - Basisfunktionen mit ioBroker steuern

Geplant Angeheftet Gesperrt Verschoben Praktische Anwendungen (Showcase)
69 Beiträge 8 Kommentatoren 9.8k Aufrufe 9 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • patrickbs96P patrickbs96

    @W0RSCHD Super, das freut mich zu hören 🙂
    Anscheinend wird der Twinkly-Code nicht immer übergeben, dadurch steht dort undefined. Ich habe den Fall ausgeschlossen und der sollte daher keine Fehler mehr produzieren.

    Da es mit curl mit beiden Generationen funktioniert, habe ich die Verarbeitung für beide gleichgezogen. Dadurch entfällt dann auch die Einstellung für curl. Könntest du das eventuell auch einmal testen @siggi85 ?

    EDIT: Noch nicht testen, bei mir kommen aktuell noch Fehler.
    EDIT 2: Bei mir kamen plötzlich "Invalid Token" Meldung und hatten Probleme verursacht. Ich habe es hoffentlich behoben (Es kamen leider keine mehr mit denen ich das testen konnte.)

    siggi85S Offline
    siggi85S Offline
    siggi85
    schrieb am zuletzt editiert von
    #52

    @patrickbs96 Auch die neue Version des Skriptes funktioniert bei mir. Ich benutze weiterhin die Version ohne curl, aber hatte mit dem aktuellen Skript keine Probleme.

    Ich habe übrigens den Link zu deinem Skript im ersten Beitrag ergänzt.

    1 Antwort Letzte Antwort
    2
    • patrickbs96P patrickbs96

      @W0RSCHD Super, das freut mich zu hören 🙂
      Anscheinend wird der Twinkly-Code nicht immer übergeben, dadurch steht dort undefined. Ich habe den Fall ausgeschlossen und der sollte daher keine Fehler mehr produzieren.

      Da es mit curl mit beiden Generationen funktioniert, habe ich die Verarbeitung für beide gleichgezogen. Dadurch entfällt dann auch die Einstellung für curl. Könntest du das eventuell auch einmal testen @siggi85 ?

      EDIT: Noch nicht testen, bei mir kommen aktuell noch Fehler.
      EDIT 2: Bei mir kamen plötzlich "Invalid Token" Meldung und hatten Probleme verursacht. Ich habe es hoffentlich behoben (Es kamen leider keine mehr mit denen ich das testen konnte.)

      W Offline
      W Offline
      W0RSCHD
      schrieb am zuletzt editiert von
      #53

      @patrickbs96 klappt nun auch hier ohne Error, Dankeschön! thumbsup

      siggi85S 1 Antwort Letzte Antwort
      0
      • W W0RSCHD

        @patrickbs96 klappt nun auch hier ohne Error, Dankeschön! thumbsup

        siggi85S Offline
        siggi85S Offline
        siggi85
        schrieb am zuletzt editiert von
        #54

        @W0RSCHD Super!
        @patrickbs96 Good job! 👍

        1 Antwort Letzte Antwort
        1
        • flipjizF Offline
          flipjizF Offline
          flipjiz
          schrieb am zuletzt editiert von
          #55

          Moin! Vorweg: Danke für eure Arbeit 😄
          Muss ich die Datei runterladen und irgendwo hinschieben oder einfach über die ioBroker Oberfläche ein neues Skript mit dem Inhalt hinzufügen?
          Ich hab es einfach mal unter Common reingeworfen aber dort gibt es diese Fehler beim Starten:

          2020-12-08 16:49:59.946 - info: javascript.0 (22601) Start javascript script.js.common.twinkly
          2020-12-08 16:49:59.960 - error: javascript.0 (22601) script.js.common.twinkly compile failed:
          at script.js.common.twinkly:221
          2020-12-08 16:49:59.961 - error: javascript.0 (22601) }, POLLING_IN_SEK * 1_000);
          2020-12-08 16:49:59.962 - error: javascript.0 (22601) ^
          2020-12-08 16:49:59.963 - error: javascript.0 (22601) SyntaxError: Invalid or unexpected token
          2020-12-08 16:49:59.964 - error: javascript.0 (22601) at new Script (vm.js:83:7)
          2020-12-08 16:49:59.964 - error: javascript.0 (22601) at Object.createScript (vm.js:277:10)
          2020-12-08 16:49:59.965 - error: javascript.0 (22601) at createVM (/opt/iobroker/node_modules/iobroker.javascript/main.js:1280:28)
          2020-12-08 16:49:59.966 - error: javascript.0 (22601) at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:1503:37)
          2020-12-08 16:49:59.967 - error: javascript.0 (22601) at createProblemObject (/opt/iobroker/node_modules/iobroker.javascript/main.js:1559:17)
          2020-12-08 16:49:59.967 - error: javascript.0 (22601) at adapter.getForeignState (/opt/iobroker/node_modules/iobroker.javascript/main.js:1140:17)
          2020-12-08 16:49:59.968 - error: javascript.0 (22601) at client.get (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:616:17)
          2020-12-08 16:49:59.969 - error: javascript.0 (22601) at tryCatcher (/opt/iobroker/node_modules/standard-as-callback/built/utils.js:11:23)
          2020-12-08 16:49:59.969 - error: javascript.0 (22601) at promise.then (/opt/iobroker/node_modules/standard-as-callback/built/index.js:19:49)
          2020-12-08 16:49:59.970 - error: javascript.0 (22601) at process._tickCallback (internal/process/next_tick.js:68:7)
          
          patrickbs96P 1 Antwort Letzte Antwort
          0
          • flipjizF flipjiz

            Moin! Vorweg: Danke für eure Arbeit 😄
            Muss ich die Datei runterladen und irgendwo hinschieben oder einfach über die ioBroker Oberfläche ein neues Skript mit dem Inhalt hinzufügen?
            Ich hab es einfach mal unter Common reingeworfen aber dort gibt es diese Fehler beim Starten:

            2020-12-08 16:49:59.946 - info: javascript.0 (22601) Start javascript script.js.common.twinkly
            2020-12-08 16:49:59.960 - error: javascript.0 (22601) script.js.common.twinkly compile failed:
            at script.js.common.twinkly:221
            2020-12-08 16:49:59.961 - error: javascript.0 (22601) }, POLLING_IN_SEK * 1_000);
            2020-12-08 16:49:59.962 - error: javascript.0 (22601) ^
            2020-12-08 16:49:59.963 - error: javascript.0 (22601) SyntaxError: Invalid or unexpected token
            2020-12-08 16:49:59.964 - error: javascript.0 (22601) at new Script (vm.js:83:7)
            2020-12-08 16:49:59.964 - error: javascript.0 (22601) at Object.createScript (vm.js:277:10)
            2020-12-08 16:49:59.965 - error: javascript.0 (22601) at createVM (/opt/iobroker/node_modules/iobroker.javascript/main.js:1280:28)
            2020-12-08 16:49:59.966 - error: javascript.0 (22601) at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:1503:37)
            2020-12-08 16:49:59.967 - error: javascript.0 (22601) at createProblemObject (/opt/iobroker/node_modules/iobroker.javascript/main.js:1559:17)
            2020-12-08 16:49:59.967 - error: javascript.0 (22601) at adapter.getForeignState (/opt/iobroker/node_modules/iobroker.javascript/main.js:1140:17)
            2020-12-08 16:49:59.968 - error: javascript.0 (22601) at client.get (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:616:17)
            2020-12-08 16:49:59.969 - error: javascript.0 (22601) at tryCatcher (/opt/iobroker/node_modules/standard-as-callback/built/utils.js:11:23)
            2020-12-08 16:49:59.969 - error: javascript.0 (22601) at promise.then (/opt/iobroker/node_modules/standard-as-callback/built/index.js:19:49)
            2020-12-08 16:49:59.970 - error: javascript.0 (22601) at process._tickCallback (internal/process/next_tick.js:68:7)
            
            patrickbs96P Offline
            patrickbs96P Offline
            patrickbs96
            Developer
            schrieb am zuletzt editiert von patrickbs96
            #56

            @flipjiz Genau richtig, neues Skript unter Common erstellen und den Inhalt hineinkopieren. Danach musst du nur den Abschnitt mit den devices anpassen, so wie es in dem Beispiel im Skript oder auf der GitHub Seite gezeigt wird.

            const devices = {
                Twinkly1 : {                                         // State-Name in ioBroker
                    name           : 'Twinkly Lichterkette 1',       // Name für ioBroker (Falls nicht hinterlegt wird der State-Name verwendet)
                    ipAdresse      : '192.168.178.52',               // IP-Adresse von der Twinkly-Lichterkette
                    connectedState : 'ping.0.Twinkly_Lichterkette_1' // State mit true/false der den aktuellen Status der Lichterkette überwacht (bspw. ping, tr-064)
                },
                Twinkly2 : {                                         // State-Name in ioBroker
                    name           : 'Twinkly Lichterkette 2',       // Name für ioBroker (Falls nicht hinterlegt wird der State-Name verwendet)
                    ipAdresse      : '192.168.178.53',               // IP-Adresse von der Twinkly-Lichterkette
                    connectedState : 'ping.0.Twinkly_Lichterkette_2' // State mit true/false der den aktuellen Status der Lichterkette überwacht (bspw. ping, tr-064)
                }
            };
            

            Ich vermute mal, dass dort ein Fehler bei den devices ist. Könntest du mir den Abschnitt einmal zeigen?

            flipjizF 1 Antwort Letzte Antwort
            1
            • patrickbs96P patrickbs96

              @flipjiz Genau richtig, neues Skript unter Common erstellen und den Inhalt hineinkopieren. Danach musst du nur den Abschnitt mit den devices anpassen, so wie es in dem Beispiel im Skript oder auf der GitHub Seite gezeigt wird.

              const devices = {
                  Twinkly1 : {                                         // State-Name in ioBroker
                      name           : 'Twinkly Lichterkette 1',       // Name für ioBroker (Falls nicht hinterlegt wird der State-Name verwendet)
                      ipAdresse      : '192.168.178.52',               // IP-Adresse von der Twinkly-Lichterkette
                      connectedState : 'ping.0.Twinkly_Lichterkette_1' // State mit true/false der den aktuellen Status der Lichterkette überwacht (bspw. ping, tr-064)
                  },
                  Twinkly2 : {                                         // State-Name in ioBroker
                      name           : 'Twinkly Lichterkette 2',       // Name für ioBroker (Falls nicht hinterlegt wird der State-Name verwendet)
                      ipAdresse      : '192.168.178.53',               // IP-Adresse von der Twinkly-Lichterkette
                      connectedState : 'ping.0.Twinkly_Lichterkette_2' // State mit true/false der den aktuellen Status der Lichterkette überwacht (bspw. ping, tr-064)
                  }
              };
              

              Ich vermute mal, dass dort ein Fehler bei den devices ist. Könntest du mir den Abschnitt einmal zeigen?

              flipjizF Offline
              flipjizF Offline
              flipjiz
              schrieb am zuletzt editiert von
              #57

              @patrickbs96

              /*******************************************************************************
               * Settings
               *******************************************************************************/
              const PATH_ID          = 'javascript.0.MyDevices.Twinkly.'; // Pfad für die Datenpunkte
              const POLLING_IN_SEK   = 60;                                // Wie oft sollen die Daten abgefragt werden
              const EXTENDED_LOGGING = true;                             // Mehr Informationen loggen
              
              const devices = {
                  Twinkly : {                                   // State-Name in ioBroker
                      name           : 'Twinkly',               // Name für ioBroker (Falls nicht hinterlegt wird der State-Name verwendet)
                      ipAdresse      : '192.168.25.168',               // IP-Adresse von der Twinkly-Lichterkette
                      connectedState : 'ping.0.Twinkly' // State mit true/false der den aktuellen Status der Lichterkette überwacht (bspw. ping, tr-064)
                  }
              };
              
              patrickbs96P 1 Antwort Letzte Antwort
              0
              • flipjizF flipjiz

                @patrickbs96

                /*******************************************************************************
                 * Settings
                 *******************************************************************************/
                const PATH_ID          = 'javascript.0.MyDevices.Twinkly.'; // Pfad für die Datenpunkte
                const POLLING_IN_SEK   = 60;                                // Wie oft sollen die Daten abgefragt werden
                const EXTENDED_LOGGING = true;                             // Mehr Informationen loggen
                
                const devices = {
                    Twinkly : {                                   // State-Name in ioBroker
                        name           : 'Twinkly',               // Name für ioBroker (Falls nicht hinterlegt wird der State-Name verwendet)
                        ipAdresse      : '192.168.25.168',               // IP-Adresse von der Twinkly-Lichterkette
                        connectedState : 'ping.0.Twinkly' // State mit true/false der den aktuellen Status der Lichterkette überwacht (bspw. ping, tr-064)
                    }
                };
                
                patrickbs96P Offline
                patrickbs96P Offline
                patrickbs96
                Developer
                schrieb am zuletzt editiert von
                #58

                @flipjiz Das sieht soweit richtig aus. Kannst du mir das gesamte Skript einmal schicken?

                flipjizF 1 Antwort Letzte Antwort
                1
                • patrickbs96P patrickbs96

                  @flipjiz Das sieht soweit richtig aus. Kannst du mir das gesamte Skript einmal schicken?

                  flipjizF Offline
                  flipjizF Offline
                  flipjiz
                  schrieb am zuletzt editiert von
                  #59

                  @patrickbs96
                  Ich habe im Skript einfach die Unterstriche in Zeile 221 und 222 entfernt:

                                  }, POLLING_IN_SEK * 1_000);
                              }, 2_000);
                  

                  zu

                                  }, POLLING_IN_SEK * 1000);
                              }, 2000);
                  

                  nun läuft es!

                  patrickbs96P 1 Antwort Letzte Antwort
                  2
                  • flipjizF flipjiz

                    @patrickbs96
                    Ich habe im Skript einfach die Unterstriche in Zeile 221 und 222 entfernt:

                                    }, POLLING_IN_SEK * 1_000);
                                }, 2_000);
                    

                    zu

                                    }, POLLING_IN_SEK * 1000);
                                }, 2000);
                    

                    nun läuft es!

                    patrickbs96P Offline
                    patrickbs96P Offline
                    patrickbs96
                    Developer
                    schrieb am zuletzt editiert von
                    #60

                    @flipjiz Komisch hätte nicht gedacht, dass das Fehler verursacht. Dann werde ich das mal im Skript korrigieren 🙂

                    1 Antwort Letzte Antwort
                    0
                    • siggi85S siggi85

                      Ursprünglich habe ich ein kleines Blockly geschrieben (siehe unten in diesem Post). Allerdings hat mittlerweile @patrickbs96 ein wesentlich umfangreiches Skript erstellt, um Twinkly Systeme zu steuern. Die aktuelle Version davon könnt ihr hier finden.

                      Für alle Fälle lasse ich mein altes Blockly hier drin, aber ich würde definitiv das Skript von @patrickbs96 empfehlen.

                      Alt:
                      Ich habe ein kleines Blockly geschrieben, was über Curl Aufrufe die API anfragt und damit Basisfunktionen steuerbar macht wie an/aus (letzte Szene) und die Helligkeit. Die Datenpunkte habe ich unter 0_userdata.0 gepackt.
                      Damit das Ganze funktioniert, einfach die Datenpunkte importieren und im Blockly die IP-Adresse eures Twinkly Devices eintragen. Zusätzlich mit im Javascript Adapter das exec Kommando erlaubt sein. (Konfiguration in der JavaScript Instanz)

                      Blockly

                      <xml xmlns="https://developers.google.com/blockly/xml">
                       <variables>
                         <variable id="C2}3(QK:sjn_0;M@WXM6">ip-address</variable>
                         <variable id="Li8l,iD*a4lAUfTrR./#">result</variable>
                         <variable id="ATDr!5*=f1mXSwF*B31X">onoff</variable>
                         <variable id="tvi|}J~k+`CSxDW?#-_G">login_list</variable>
                         <variable type="timeout" id="timeout2">timeout2</variable>
                         <variable type="timeout" id="timeout3">timeout3</variable>
                         <variable type="timeout" id="timeout">timeout</variable>
                       </variables>
                       <block type="comment" id="7aO~bSI=}sBUF]!Uj5VW" x="113" y="-12">
                         <field name="COMMENT">Hier die IP-Adresse des Twinkly angeben.</field>
                         <next>
                           <block type="variables_set" id="})]:dOnZEgaB;GwFMYm7">
                             <field name="VAR" id="C2}3(QK:sjn_0;M@WXM6">ip-address</field>
                             <value name="VALUE">
                               <block type="text" id="UPk-=X649M@ReWw=d!/Y">
                                 <field name="TEXT">192.168.1.241</field>
                               </block>
                             </value>
                             <next>
                               <block type="on_ext" id="hjfZPnTX~Ue*9(8]/!;C">
                                 <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                                 <field name="CONDITION">ne</field>
                                 <field name="ACK_CONDITION"></field>
                                 <value name="OID0">
                                   <shadow type="field_oid" id="9twVsr7m@F^_y.SIh3v/">
                                     <field name="oid">0_userdata.0.devices.twinkly1.on</field>
                                   </shadow>
                                 </value>
                                 <statement name="STATEMENT">
                                   <block type="controls_if" id="Vyh(4M|:$PiwH3:ODZ(v">
                                     <mutation elseif="1"></mutation>
                                     <value name="IF0">
                                       <block type="on_source" id=".8e69^VPY]Vwj!#QB8;b">
                                         <field name="ATTR">state.val</field>
                                       </block>
                                     </value>
                                     <statement name="DO0">
                                       <block type="variables_set" id="[Pbb5axB^[hOzmHwfPcs">
                                         <field name="VAR" id="ATDr!5*=f1mXSwF*B31X">onoff</field>
                                         <value name="VALUE">
                                           <block type="text" id="qYAqrB@?4{kDiZ*iP5Nv">
                                             <field name="TEXT">movie</field>
                                           </block>
                                         </value>
                                       </block>
                                     </statement>
                                     <value name="IF1">
                                       <block type="logic_negate" id="[)WH1r7P]c-i1[{xOXce">
                                         <value name="BOOL">
                                           <block type="on_source" id="LfiaUSvy[Zo`?iQA0%AA">
                                             <field name="ATTR">state.val</field>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
                                     <statement name="DO1">
                                       <block type="variables_set" id="$75d~3~;/E1{z?f6Uw`7">
                                         <field name="VAR" id="ATDr!5*=f1mXSwF*B31X">onoff</field>
                                         <value name="VALUE">
                                           <block type="text" id="t`KFGE2EgS={pHOe({dy">
                                             <field name="TEXT">off</field>
                                           </block>
                                         </value>
                                       </block>
                                     </statement>
                                     <next>
                                       <block type="exec" id="a8Xsf6X|RT_RKWu+m|4D">
                                         <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="true"></mutation>
                                         <field name="WITH_STATEMENT">TRUE</field>
                                         <field name="LOG"></field>
                                         <value name="COMMAND">
                                           <shadow type="text">
                                             <field name="TEXT">text</field>
                                           </shadow>
                                           <block type="text_join" id="x.E)Ijwm[WHV!_bPRK4/">
                                             <mutation items="9"></mutation>
                                             <value name="ADD0">
                                               <block type="text" id="bMn%~Q14lVR9+BCwRR/1">
                                                 <field name="TEXT">curl -d '{"mode":"</field>
                                               </block>
                                             </value>
                                             <value name="ADD1">
                                               <block type="variables_get" id="6yJXT{FImP5pG}/rrtNy">
                                                 <field name="VAR" id="ATDr!5*=f1mXSwF*B31X">onoff</field>
                                               </block>
                                             </value>
                                             <value name="ADD2">
                                               <block type="text" id="^ujE4oo_X%]da4,(ppuL">
                                                 <field name="TEXT">"}' -H 'Content-Type: application/json</field>
                                               </block>
                                             </value>
                                             <value name="ADD3">
                                               <block type="text_newline" id="c!_Px216Os[.$S/~rarw">
                                                 <field name="Type">\n</field>
                                               </block>
                                             </value>
                                             <value name="ADD4">
                                               <block type="text" id="$Fg2yhXiAQ){16U@!ZSu">
                                                 <field name="TEXT">X-Auth-Token: </field>
                                               </block>
                                             </value>
                                             <value name="ADD5">
                                               <block type="get_value" id="IXl+3AbS2B.l]YvbqzM6">
                                                 <field name="ATTR">val</field>
                                                 <field name="OID">0_userdata.0.devices.twinkly1.token</field>
                                               </block>
                                             </value>
                                             <value name="ADD6">
                                               <block type="text" id="S{EEHm.[zP|vcm#1tnS#">
                                                 <field name="TEXT">'  http://</field>
                                               </block>
                                             </value>
                                             <value name="ADD7">
                                               <block type="variables_get" id="]u@TMc}oUr*ZKNMfa4*r">
                                                 <field name="VAR" id="C2}3(QK:sjn_0;M@WXM6">ip-address</field>
                                               </block>
                                             </value>
                                             <value name="ADD8">
                                               <block type="text" id="bz;89=2*~U#c3SZm,`3R">
                                                 <field name="TEXT">/xled/v1/led/mode</field>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                         <statement name="STATEMENT">
                                           <block type="control" id=")*EuNf:*?Mej|oX]c[YG">
                                             <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                             <field name="OID">0_userdata.0.devices.twinkly1.last_response</field>
                                             <field name="WITH_DELAY">FALSE</field>
                                             <value name="VALUE">
                                               <block type="variables_get" id="sO6_Jt^$^o?%u_FndEof">
                                                 <field name="VAR" id="Li8l,iD*a4lAUfTrR./#">result</field>
                                               </block>
                                             </value>
                                             <next>
                                               <block type="controls_if" id="6G?]0D()J)}!$||^GZ[g">
                                                 <value name="IF0">
                                                   <block type="logic_compare" id="{`cuuloZIeqXKe;Iydaw">
                                                     <field name="OP">EQ</field>
                                                     <value name="A">
                                                       <block type="variables_get" id=".|80~sPZrcTq)~D%FLqS">
                                                         <field name="VAR" id="Li8l,iD*a4lAUfTrR./#">result</field>
                                                       </block>
                                                     </value>
                                                     <value name="B">
                                                       <block type="text" id="V1j|Yla.{Pkhx;t!dL5A">
                                                         <field name="TEXT">Invalid Token</field>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </value>
                                                 <statement name="DO0">
                                                   <block type="timeouts_settimeout" id="*hEGRE,x!rFyGvx1sGnk">
                                                     <field name="NAME">timeout2</field>
                                                     <field name="DELAY">1000</field>
                                                     <field name="UNIT">ms</field>
                                                     <statement name="STATEMENT">
                                                       <block type="procedures_callnoreturn" id="47rDf|TIj){(r%S/jL|t">
                                                         <mutation name="tokenerstellung"></mutation>
                                                         <next>
                                                           <block type="exec" id="vmrb/I[xcD|UrCR{N5,}">
                                                             <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="true"></mutation>
                                                             <field name="WITH_STATEMENT">TRUE</field>
                                                             <field name="LOG"></field>
                                                             <value name="COMMAND">
                                                               <shadow type="text" id="1oqX0]_@1GCaqA|AYG9V">
                                                                 <field name="TEXT">text</field>
                                                               </shadow>
                                                               <block type="text_join" id=";|wMTJLvzMlbPBE.f}8(">
                                                                 <mutation items="9"></mutation>
                                                                 <value name="ADD0">
                                                                   <block type="text" id="vSqJqFViMtF_b70KZZ4U">
                                                                     <field name="TEXT">curl -d '{"mode":"</field>
                                                                   </block>
                                                                 </value>
                                                                 <value name="ADD1">
                                                                   <block type="variables_get" id="iL*:FiISRruR#*B:SpWU">
                                                                     <field name="VAR" id="ATDr!5*=f1mXSwF*B31X">onoff</field>
                                                                   </block>
                                                                 </value>
                                                                 <value name="ADD2">
                                                                   <block type="text" id="_H7ZwE!fF3Lh:;B6+mC`">
                                                                     <field name="TEXT">"}' -H 'Content-Type: application/json</field>
                                                                   </block>
                                                                 </value>
                                                                 <value name="ADD3">
                                                                   <block type="text_newline" id="EMmO8}AnS:G1L0.zG*(K">
                                                                     <field name="Type">\n</field>
                                                                   </block>
                                                                 </value>
                                                                 <value name="ADD4">
                                                                   <block type="text" id="IffU.a}O8pGD]^*9G,e5">
                                                                     <field name="TEXT">X-Auth-Token: </field>
                                                                   </block>
                                                                 </value>
                                                                 <value name="ADD5">
                                                                   <block type="get_value" id="KN#wwJ9wRg[}}Tbh4A)S">
                                                                     <field name="ATTR">val</field>
                                                                     <field name="OID">0_userdata.0.devices.twinkly1.token</field>
                                                                   </block>
                                                                 </value>
                                                                 <value name="ADD6">
                                                                   <block type="text" id="?QBxH#Gn#va8-Fur=Mri">
                                                                     <field name="TEXT">'  http://</field>
                                                                   </block>
                                                                 </value>
                                                                 <value name="ADD7">
                                                                   <block type="variables_get" id="F8ff%~_KvjsS/r{.$)!A">
                                                                     <field name="VAR" id="C2}3(QK:sjn_0;M@WXM6">ip-address</field>
                                                                   </block>
                                                                 </value>
                                                                 <value name="ADD8">
                                                                   <block type="text" id="bZ1Z,*N[OcaWiEp;f%P8">
                                                                     <field name="TEXT">/xled/v1/led/mode</field>
                                                                   </block>
                                                                 </value>
                                                               </block>
                                                             </value>
                                                             <statement name="STATEMENT">
                                                               <block type="control" id="Dq-:j;brnrXMKn(MM*]8">
                                                                 <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                 <field name="OID">0_userdata.0.devices.twinkly1.last_response</field>
                                                                 <field name="WITH_DELAY">FALSE</field>
                                                                 <value name="VALUE">
                                                                   <block type="variables_get" id="%1_~*tS$$o%-C~FLfV,A">
                                                                     <field name="VAR" id="Li8l,iD*a4lAUfTrR./#">result</field>
                                                                   </block>
                                                                 </value>
                                                               </block>
                                                             </statement>
                                                           </block>
                                                         </next>
                                                       </block>
                                                     </statement>
                                                   </block>
                                                 </statement>
                                               </block>
                                             </next>
                                           </block>
                                         </statement>
                                       </block>
                                     </next>
                                   </block>
                                 </statement>
                                 <next>
                                   <block type="on_ext" id="*d77h3XvC|Tj~C2z*Gd`">
                                     <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                                     <field name="CONDITION">ne</field>
                                     <field name="ACK_CONDITION"></field>
                                     <value name="OID0">
                                       <shadow type="field_oid" id="sl:%ZP;c-3T~K6vz?rya">
                                         <field name="oid">0_userdata.0.devices.twinkly1.bri</field>
                                       </shadow>
                                     </value>
                                     <statement name="STATEMENT">
                                       <block type="exec" id="SwV21J;Rhw=V[z^`IJw,">
                                         <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="true"></mutation>
                                         <field name="WITH_STATEMENT">TRUE</field>
                                         <field name="LOG"></field>
                                         <value name="COMMAND">
                                           <shadow type="text">
                                             <field name="TEXT">text</field>
                                           </shadow>
                                           <block type="text_join" id="9G(1o6:8.FmD^^LOK8Cn">
                                             <mutation items="9"></mutation>
                                             <value name="ADD0">
                                               <block type="text" id="+GA1[uhyM:KfX1qzqUEF">
                                                 <field name="TEXT">curl -d '{"value":</field>
                                               </block>
                                             </value>
                                             <value name="ADD1">
                                               <block type="on_source" id="_l@jyLbrNk{7FxZj$Zmh">
                                                 <field name="ATTR">state.val</field>
                                               </block>
                                             </value>
                                             <value name="ADD2">
                                               <block type="text" id="|7^t}Cu}B6~Y1mC(0#UL">
                                                 <field name="TEXT">,"mode":"enabled","type":"A"}' -H 'Content-Type: application/json</field>
                                               </block>
                                             </value>
                                             <value name="ADD3">
                                               <block type="text_newline" id="cm,kmJNBdr]RQ%aT^mz.">
                                                 <field name="Type">\n</field>
                                               </block>
                                             </value>
                                             <value name="ADD4">
                                               <block type="text" id="z;)h^VxAjQk8sNE@yXm6">
                                                 <field name="TEXT">X-Auth-Token: </field>
                                               </block>
                                             </value>
                                             <value name="ADD5">
                                               <block type="get_value" id="SN0q;T8G^i,z`[mK|cbi">
                                                 <field name="ATTR">val</field>
                                                 <field name="OID">0_userdata.0.devices.twinkly1.token</field>
                                               </block>
                                             </value>
                                             <value name="ADD6">
                                               <block type="text" id="Qs]@)sCx^T~4~O:-~N%]">
                                                 <field name="TEXT">'  http://</field>
                                               </block>
                                             </value>
                                             <value name="ADD7">
                                               <block type="variables_get" id="Q3qO2s#P(jH/]+s=`sg;">
                                                 <field name="VAR" id="C2}3(QK:sjn_0;M@WXM6">ip-address</field>
                                               </block>
                                             </value>
                                             <value name="ADD8">
                                               <block type="text" id="[GRuP4kVQ)yBXm_~?XLn">
                                                 <field name="TEXT">/xled/v1/led/out/brightness</field>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                         <statement name="STATEMENT">
                                           <block type="control" id="w46r4o:A,,aVgr@NCGW2">
                                             <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                             <field name="OID">0_userdata.0.devices.twinkly1.last_response</field>
                                             <field name="WITH_DELAY">FALSE</field>
                                             <value name="VALUE">
                                               <block type="variables_get" id="VXXDL).b0.4NB_KKb(+v">
                                                 <field name="VAR" id="Li8l,iD*a4lAUfTrR./#">result</field>
                                               </block>
                                             </value>
                                             <next>
                                               <block type="controls_if" id="+3OyyHh$$_UZAgnj,!EX">
                                                 <value name="IF0">
                                                   <block type="logic_compare" id="*r7*K4LHSml!_+c@?0nf">
                                                     <field name="OP">EQ</field>
                                                     <value name="A">
                                                       <block type="variables_get" id="oFL-r!ZE;^X3v-E5{q@r">
                                                         <field name="VAR" id="Li8l,iD*a4lAUfTrR./#">result</field>
                                                       </block>
                                                     </value>
                                                     <value name="B">
                                                       <block type="text" id=".crTI6#$|W5R_}1|8c~D">
                                                         <field name="TEXT">Invalid Token</field>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </value>
                                                 <statement name="DO0">
                                                   <block type="timeouts_settimeout" id="]!]T:3c[:^C]UD/4vpaV">
                                                     <field name="NAME">timeout3</field>
                                                     <field name="DELAY">1000</field>
                                                     <field name="UNIT">ms</field>
                                                     <statement name="STATEMENT">
                                                       <block type="procedures_callnoreturn" id="EiS$0K4lv~,deH6%Vqi*">
                                                         <mutation name="tokenerstellung"></mutation>
                                                         <next>
                                                           <block type="exec" id="{nu5Ft~q(!9,39eE8O,H">
                                                             <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="true"></mutation>
                                                             <field name="WITH_STATEMENT">TRUE</field>
                                                             <field name="LOG"></field>
                                                             <value name="COMMAND">
                                                               <shadow type="text" id="]MnC9RK!/]8A^d2-p{.$">
                                                                 <field name="TEXT">text</field>
                                                               </shadow>
                                                               <block type="text_join" id="y6bUQx$R#^T}AEn?e(^r">
                                                                 <mutation items="9"></mutation>
                                                                 <value name="ADD0">
                                                                   <block type="text" id="m:@7^x{FFQvWHWfZ?K0r">
                                                                     <field name="TEXT">curl -d '{"value":</field>
                                                                   </block>
                                                                 </value>
                                                                 <value name="ADD1">
                                                                   <block type="on_source" id="{A,ZJ=}qtv?/9{U-J5Z}">
                                                                     <field name="ATTR">state.val</field>
                                                                   </block>
                                                                 </value>
                                                                 <value name="ADD2">
                                                                   <block type="text" id="DaHQVOV.9DNj`NPEJ;LE">
                                                                     <field name="TEXT">,"mode":"enabled","type":"A"}' -H 'Content-Type: application/json</field>
                                                                   </block>
                                                                 </value>
                                                                 <value name="ADD3">
                                                                   <block type="text_newline" id="1#3uF7ndLmSv1*Am2g[7">
                                                                     <field name="Type">\n</field>
                                                                   </block>
                                                                 </value>
                                                                 <value name="ADD4">
                                                                   <block type="text" id="KDy19da_TUp?9`Xb@L|F">
                                                                     <field name="TEXT">X-Auth-Token: </field>
                                                                   </block>
                                                                 </value>
                                                                 <value name="ADD5">
                                                                   <block type="get_value" id="7_ycWMaJu(pS;yvdSQId">
                                                                     <field name="ATTR">val</field>
                                                                     <field name="OID">0_userdata.0.devices.twinkly1.token</field>
                                                                   </block>
                                                                 </value>
                                                                 <value name="ADD6">
                                                                   <block type="text" id="3C;CZ]:wKA*AK6l`f8:}">
                                                                     <field name="TEXT">'  http://</field>
                                                                   </block>
                                                                 </value>
                                                                 <value name="ADD7">
                                                                   <block type="variables_get" id="K4er1ePuhS)xrpTBSh1+">
                                                                     <field name="VAR" id="C2}3(QK:sjn_0;M@WXM6">ip-address</field>
                                                                   </block>
                                                                 </value>
                                                                 <value name="ADD8">
                                                                   <block type="text" id="BLz=[InZOBRg#-5m/jvo">
                                                                     <field name="TEXT">/xled/v1/led/out/brightness</field>
                                                                   </block>
                                                                 </value>
                                                               </block>
                                                             </value>
                                                             <statement name="STATEMENT">
                                                               <block type="control" id="1%ERGs|hD2^:gC[sA^}z">
                                                                 <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                 <field name="OID">0_userdata.0.devices.twinkly1.last_response</field>
                                                                 <field name="WITH_DELAY">FALSE</field>
                                                                 <value name="VALUE">
                                                                   <block type="variables_get" id="L1-0?qL3zOPU)]Q8L-^~">
                                                                     <field name="VAR" id="Li8l,iD*a4lAUfTrR./#">result</field>
                                                                   </block>
                                                                 </value>
                                                               </block>
                                                             </statement>
                                                           </block>
                                                         </next>
                                                       </block>
                                                     </statement>
                                                   </block>
                                                 </statement>
                                               </block>
                                             </next>
                                           </block>
                                         </statement>
                                       </block>
                                     </statement>
                                   </block>
                                 </next>
                               </block>
                             </next>
                           </block>
                         </next>
                       </block>
                       <block type="on_ext" id="*=Rz8c^+(Uep[d%kgN^Z" x="913" y="113">
                         <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                         <field name="CONDITION">any</field>
                         <field name="ACK_CONDITION"></field>
                         <value name="OID0">
                           <shadow type="field_oid" id="b-H}2tTFUu5fH^xR5S0G">
                             <field name="oid">0_userdata.0.devices.twinkly1.generate_token</field>
                           </shadow>
                         </value>
                         <statement name="STATEMENT">
                           <block type="controls_if" id="w)JwIcM8fG[^G2o@g#IU">
                             <value name="IF0">
                               <block type="on_source" id="S7l^Ygh^qp/THpb#N/Vi">
                                 <field name="ATTR">state.val</field>
                               </block>
                             </value>
                             <statement name="DO0">
                               <block type="procedures_callnoreturn" id="glH8Vnu3lq|zhdL*!B4P">
                                 <mutation name="tokenerstellung"></mutation>
                               </block>
                             </statement>
                           </block>
                         </statement>
                       </block>
                       <block type="procedures_defnoreturn" id="^9??;ZMVyU07(54V3Eu6" x="938" y="388">
                         <field name="NAME">tokenerstellung</field>
                         <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                         <statement name="STACK">
                           <block type="exec" id="Bq5LNu.#~ON+t,OLyd(I">
                             <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="true"></mutation>
                             <field name="WITH_STATEMENT">TRUE</field>
                             <field name="LOG"></field>
                             <value name="COMMAND">
                               <shadow type="text" id="O9{;*_0^t`dZ%{JAl{J{">
                                 <field name="TEXT"></field>
                               </shadow>
                               <block type="text_join" id="#jTB:KIs,db`$/4bj!]I">
                                 <mutation items="3"></mutation>
                                 <value name="ADD0">
                                   <block type="text" id="lO4T;Ob7;f$%g?a{lMLD">
                                     <field name="TEXT">curl -d '{"challenge": "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8="}' -H 'Content-Type: application/json' http://</field>
                                   </block>
                                 </value>
                                 <value name="ADD1">
                                   <block type="variables_get" id="N(fQwlPipS~;`%=JO?7G">
                                     <field name="VAR" id="C2}3(QK:sjn_0;M@WXM6">ip-address</field>
                                   </block>
                                 </value>
                                 <value name="ADD2">
                                   <block type="text" id=")UJ3i2ob.UVF3E3)9TO@">
                                     <field name="TEXT">/xled/v1/login</field>
                                   </block>
                                 </value>
                               </block>
                             </value>
                             <statement name="STATEMENT">
                               <block type="control" id="Y3E;QMmY1QNsX#EJBcAF">
                                 <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                 <field name="OID">0_userdata.0.devices.twinkly1.invalid_token_counter</field>
                                 <field name="WITH_DELAY">FALSE</field>
                                 <value name="VALUE">
                                   <block type="math_arithmetic" id="`C:HNYfvK.FSEllWcW:W">
                                     <field name="OP">ADD</field>
                                     <value name="A">
                                       <shadow type="math_number" id="^:exn5EkqE)Xz?D|SKy}">
                                         <field name="NUM">1</field>
                                       </shadow>
                                       <block type="get_value" id="vy(qI~n0+neTVRz79^xM">
                                         <field name="ATTR">val</field>
                                         <field name="OID">0_userdata.0.devices.twinkly1.invalid_token_counter</field>
                                       </block>
                                     </value>
                                     <value name="B">
                                       <shadow type="math_number" id="BE#f|Dp3linv[rzbqD7,">
                                         <field name="NUM">1</field>
                                       </shadow>
                                     </value>
                                   </block>
                                 </value>
                                 <next>
                                   <block type="control" id="us?L?4O4rHFC5D!fDsdJ">
                                     <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                     <field name="OID">0_userdata.0.devices.twinkly1.last_response</field>
                                     <field name="WITH_DELAY">FALSE</field>
                                     <value name="VALUE">
                                       <block type="variables_get" id="7S0c3_b[:aEVF](uS:iX">
                                         <field name="VAR" id="Li8l,iD*a4lAUfTrR./#">result</field>
                                       </block>
                                     </value>
                                     <next>
                                       <block type="debug" id="7`oD1gOEU#uh+EL?AUc.">
                                         <field name="Severity">log</field>
                                         <value name="TEXT">
                                           <shadow type="text" id="^IpRqdiDT*-j/Q^/QW,_">
                                             <field name="TEXT">Starte Tokenerstellung</field>
                                           </shadow>
                                         </value>
                                         <next>
                                           <block type="debug" id="Xs6X/K_nR}k-ykL[M`16" disabled="true">
                                             <field name="Severity">log</field>
                                             <value name="TEXT">
                                               <shadow type="text" id="js$]6ILdYcAJhz8W=;/n">
                                                 <field name="TEXT">test</field>
                                               </shadow>
                                               <block type="variables_get" id="aI{(nALcBG$eenM_JT=b">
                                                 <field name="VAR" id="Li8l,iD*a4lAUfTrR./#">result</field>
                                               </block>
                                             </value>
                                             <next>
                                               <block type="variables_set" id="B5y.Gk@ojBh]^gBn7Ri|">
                                                 <field name="VAR" id="tvi|}J~k+`CSxDW?#-_G">login_list</field>
                                                 <value name="VALUE">
                                                   <block type="lists_split" id="`#WZQy~#_]DAD#ySTlVV">
                                                     <mutation mode="SPLIT"></mutation>
                                                     <field name="MODE">SPLIT</field>
                                                     <value name="INPUT">
                                                       <block type="variables_get" id="M]:lZztzzg!QI;t@mWzg">
                                                         <field name="VAR" id="Li8l,iD*a4lAUfTrR./#">result</field>
                                                       </block>
                                                     </value>
                                                     <value name="DELIM">
                                                       <shadow type="text" id="f;7]A0]C9Iorq7FUh*+I">
                                                         <field name="TEXT">"</field>
                                                       </shadow>
                                                     </value>
                                                   </block>
                                                 </value>
                                                 <next>
                                                   <block type="control" id="2`c=|y/iww3.=^}.8I59">
                                                     <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                     <field name="OID">0_userdata.0.devices.twinkly1.token</field>
                                                     <field name="WITH_DELAY">FALSE</field>
                                                     <value name="VALUE">
                                                       <block type="lists_getIndex" id="F1-qcRR[;NFa^DMlqV{o">
                                                         <mutation statement="false" at="true"></mutation>
                                                         <field name="MODE">GET</field>
                                                         <field name="WHERE">FROM_START</field>
                                                         <value name="VALUE">
                                                           <block type="variables_get" id="R2XhFDen:RGmV1nikpp[">
                                                             <field name="VAR" id="tvi|}J~k+`CSxDW?#-_G">login_list</field>
                                                           </block>
                                                         </value>
                                                         <value name="AT">
                                                           <block type="math_number" id="270Qn=t=#(OQM?R3r!+u">
                                                             <field name="NUM">4</field>
                                                           </block>
                                                         </value>
                                                       </block>
                                                     </value>
                                                     <next>
                                                       <block type="timeouts_settimeout" id=",hW#SP83S3D]=+0I3JoQ">
                                                         <field name="NAME">timeout</field>
                                                         <field name="DELAY">1000</field>
                                                         <field name="UNIT">ms</field>
                                                         <statement name="STATEMENT">
                                                           <block type="debug" id="^=K4IGZtu1BUem~dDnFk" disabled="true">
                                                             <field name="Severity">log</field>
                                                             <value name="TEXT">
                                                               <shadow type="text" id=".g[a3HxSe}og?21x+^Qk">
                                                                 <field name="TEXT">test</field>
                                                               </shadow>
                                                               <block type="get_value" id="qV_*%10mt5bVx~B/53[A">
                                                                 <field name="ATTR">val</field>
                                                                 <field name="OID">0_userdata.0.devices.twinkly1.token</field>
                                                               </block>
                                                             </value>
                                                             <next>
                                                               <block type="exec" id="F?4D@ZgD!6%*)kMw+C`#">
                                                                 <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="true"></mutation>
                                                                 <field name="WITH_STATEMENT">TRUE</field>
                                                                 <field name="LOG"></field>
                                                                 <value name="COMMAND">
                                                                   <shadow type="text" id="hpVJ5z*?j?fV#n/rTh}i">
                                                                     <field name="TEXT">text</field>
                                                                   </shadow>
                                                                   <block type="text_join" id="9#Ev1:g,Ufv^SHikoIon">
                                                                     <mutation items="7"></mutation>
                                                                     <value name="ADD0">
                                                                       <block type="text" id="7CCd?lZeczQAQpjj6(??">
                                                                         <field name="TEXT">curl -d '{"challenge-response": "4ecffc0c669796ea843c4ef4dc7d2a33cf081d92"}' -H 'Content-Type: application/json</field>
                                                                       </block>
                                                                     </value>
                                                                     <value name="ADD1">
                                                                       <block type="text_newline" id="{79JO}FxsmNg_rO],+T^">
                                                                         <field name="Type">\n</field>
                                                                       </block>
                                                                     </value>
                                                                     <value name="ADD2">
                                                                       <block type="text" id="$n6sdnx`e!VGaK*!He[G">
                                                                         <field name="TEXT">X-Auth-Token: </field>
                                                                       </block>
                                                                     </value>
                                                                     <value name="ADD3">
                                                                       <block type="get_value" id="L^*fU+dFPAr!s;E{H`EJ">
                                                                         <field name="ATTR">val</field>
                                                                         <field name="OID">0_userdata.0.devices.twinkly1.token</field>
                                                                       </block>
                                                                     </value>
                                                                     <value name="ADD4">
                                                                       <block type="text" id="F5J!U?U$yq-,3xS7UPO(">
                                                                         <field name="TEXT">'  http://</field>
                                                                       </block>
                                                                     </value>
                                                                     <value name="ADD5">
                                                                       <block type="variables_get" id="{rr$];i8Kyl{k0boEz[S">
                                                                         <field name="VAR" id="C2}3(QK:sjn_0;M@WXM6">ip-address</field>
                                                                       </block>
                                                                     </value>
                                                                     <value name="ADD6">
                                                                       <block type="text" id="$`0sn]I1P5!8_rl3`:hx">
                                                                         <field name="TEXT">/xled/v1/verify</field>
                                                                       </block>
                                                                     </value>
                                                                   </block>
                                                                 </value>
                                                                 <statement name="STATEMENT">
                                                                   <block type="control" id="|4x]CJ+``GuPe~viuF}*">
                                                                     <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                     <field name="OID">0_userdata.0.devices.twinkly1.last_response</field>
                                                                     <field name="WITH_DELAY">FALSE</field>
                                                                     <value name="VALUE">
                                                                       <block type="variables_get" id="9HuL3|uRhcfeHa.dU$G6">
                                                                         <field name="VAR" id="Li8l,iD*a4lAUfTrR./#">result</field>
                                                                       </block>
                                                                     </value>
                                                                     <next>
                                                                       <block type="controls_if" id="JjJG3UmSBHE@6./RA~1K">
                                                                         <mutation else="1"></mutation>
                                                                         <value name="IF0">
                                                                           <block type="logic_compare" id="9GB#=W%O2|z3oZc(QCV)">
                                                                             <field name="OP">EQ</field>
                                                                             <value name="A">
                                                                               <block type="variables_get" id="AsZF48_sLRx}5(@:O=hQ">
                                                                                 <field name="VAR" id="Li8l,iD*a4lAUfTrR./#">result</field>
                                                                               </block>
                                                                             </value>
                                                                             <value name="B">
                                                                               <block type="text" id="1fN*O!Pf=sm`ovt,0/nN">
                                                                                 <field name="TEXT">{"code":1000}</field>
                                                                               </block>
                                                                             </value>
                                                                           </block>
                                                                         </value>
                                                                         <statement name="DO0">
                                                                           <block type="debug" id="NHzT/CsYQxEDy9~R6MSQ">
                                                                             <field name="Severity">log</field>
                                                                             <value name="TEXT">
                                                                               <shadow type="text" id="#fx%mvWHriHU8Vw{rnw8">
                                                                                 <field name="TEXT">Tokenerstellung erfolgreich.</field>
                                                                               </shadow>
                                                                             </value>
                                                                             <next>
                                                                               <block type="control" id="{9;o6mIpuEf`7xT-n)3L">
                                                                                 <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                                 <field name="OID">0_userdata.0.devices.twinkly1.token_verify</field>
                                                                                 <field name="WITH_DELAY">FALSE</field>
                                                                                 <value name="VALUE">
                                                                                   <block type="logic_boolean" id="}=yzK!`!Q@E_hN):CP_d">
                                                                                     <field name="BOOL">TRUE</field>
                                                                                   </block>
                                                                                 </value>
                                                                               </block>
                                                                             </next>
                                                                           </block>
                                                                         </statement>
                                                                         <statement name="ELSE">
                                                                           <block type="debug" id="+2J+Qkd$;V|:M.)E)4qK">
                                                                             <field name="Severity">log</field>
                                                                             <value name="TEXT">
                                                                               <shadow type="text" id="}TE#6+G@7Zq*9jwGt]}`">
                                                                                 <field name="TEXT">Tokenerstellung fehlgeschlagen.</field>
                                                                               </shadow>
                                                                             </value>
                                                                             <next>
                                                                               <block type="control" id="2;nVgYFKxBDzpT+aGsxq">
                                                                                 <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                                 <field name="OID">0_userdata.0.devices.twinkly1.token_verify</field>
                                                                                 <field name="WITH_DELAY">FALSE</field>
                                                                                 <value name="VALUE">
                                                                                   <block type="logic_boolean" id="V(w(5r+]OyK6/=sn{xA@">
                                                                                     <field name="BOOL">FALSE</field>
                                                                                   </block>
                                                                                 </value>
                                                                               </block>
                                                                             </next>
                                                                           </block>
                                                                         </statement>
                                                                       </block>
                                                                     </next>
                                                                   </block>
                                                                 </statement>
                                                               </block>
                                                             </next>
                                                           </block>
                                                         </statement>
                                                       </block>
                                                     </next>
                                                   </block>
                                                 </next>
                                               </block>
                                             </next>
                                           </block>
                                         </next>
                                       </block>
                                     </next>
                                   </block>
                                 </next>
                               </block>
                             </statement>
                           </block>
                         </statement>
                       </block>
                      </xml>
                      

                      Datenpunkte


                      0_userdata.0.devices.twinkly1.json

                      Die API Dokumentation habe ich hierher.
                      Ich habe auch versucht die MQTT Konfiguration anzupassen, jedoch scheint diese mittlerweile verschlüsselt zu sein (zumindest laut meinen Netzwerk Mitschnitten). Man kann den Datenverkehr zwar zum ioBroker schicken, der kann ohne passendes Zertifikat aber leider nichts damit anfangen. Ich konnte die Verschlüsselung über die API leider nicht deaktvieren oder anpassen. Schade, denn über MQTT lassen sich anscheinend auch die jeweiligen Szenen ansteuern.
                      Achja, ich bin kein Programmierer. Bspw. ist die direkte Umsetzung in Javascript sicher wesentlich eleganter und/oder das gleichzeitige packen in einen Adapter. Ich bitte um Nachsicht und hoffe einfach, dass ihr (so wie ich jetzt auch) zumindest zufrieden seid, wenn ihr euer Twinkly nun per ioBroker zumindest an und aus schalten könnt. 🙂

                      patrickbs96P Offline
                      patrickbs96P Offline
                      patrickbs96
                      Developer
                      schrieb am zuletzt editiert von
                      #61

                      @siggi85 @W0RSCHD Ich habe den Adapter soweit fertiggestellt. Mir fehlen zwar noch die Übersetzungen aber vom technischen her ist der fertig. Würde mich freuen, wenn ihr den testen würdet 🙂

                      M 1 Antwort Letzte Antwort
                      0
                      • patrickbs96P patrickbs96

                        @siggi85 @W0RSCHD Ich habe den Adapter soweit fertiggestellt. Mir fehlen zwar noch die Übersetzungen aber vom technischen her ist der fertig. Würde mich freuen, wenn ihr den testen würdet 🙂

                        M Online
                        M Online
                        MCU
                        schrieb am zuletzt editiert von MCU
                        #62

                        @patrickbs96 Wie muss man den Adapter einstellen, bekomme keinen Connect. Obwohl die Instanz auf grün ist.


                        993eb9cd-3f41-48a4-877c-adf79714aee6-image.png
                        Beim Speichern bekomme ich immer:
                        78d62fc8-1c49-4a2e-b513-99cca6753da2-image.png

                        c8c6c373-27d1-4cdc-87cc-8b6b90780408-image.png

                        f8e06e40-118a-443d-9aa9-9421c76539ed-image.png

                        Bin angemeldet als User. v2.12.9(build 5611) als App von gestern.

                        NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                        Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                        patrickbs96P 1 Antwort Letzte Antwort
                        0
                        • M MCU

                          @patrickbs96 Wie muss man den Adapter einstellen, bekomme keinen Connect. Obwohl die Instanz auf grün ist.


                          993eb9cd-3f41-48a4-877c-adf79714aee6-image.png
                          Beim Speichern bekomme ich immer:
                          78d62fc8-1c49-4a2e-b513-99cca6753da2-image.png

                          c8c6c373-27d1-4cdc-87cc-8b6b90780408-image.png

                          f8e06e40-118a-443d-9aa9-9421c76539ed-image.png

                          Bin angemeldet als User. v2.12.9(build 5611) als App von gestern.

                          patrickbs96P Offline
                          patrickbs96P Offline
                          patrickbs96
                          Developer
                          schrieb am zuletzt editiert von
                          #63

                          @MCU Sorry, da war ich wohl etwas zu voreilig mit der Veröffentlichung... Ist mein erster Adapter gewesen, da hatte ich bei der Menge an Aufgaben für die Veröffentlichung das wohl vergessen... Ich habe die Anleitung angepasst.

                          Ändert trotzdem nichts an deinem Fehler, es ist soweit alles richtig konfiguriert. Könntest du dir die neue Version holen, den Adapter dann auf Debug stellen und mir das Log schicken? Dann kann ich zumindest prüfen, weshalb der nicht startet.

                          @apollon77 Die Fehlermeldung beim Speichern bekomme ich komischerweise jetzt auch (raspberry pi). Unter Windows habe ich keine Fehler erhalten. Komischerweise kriege ich die Fehlermeldung auch, wenn ich die Einstellungen direkt am Datenpunkt system.adapter.twinkly.0 ändere. Hast du eine Idee woran das liegen kann?

                          apollon77A patrickbs96P M 3 Antworten Letzte Antwort
                          0
                          • patrickbs96P patrickbs96

                            @MCU Sorry, da war ich wohl etwas zu voreilig mit der Veröffentlichung... Ist mein erster Adapter gewesen, da hatte ich bei der Menge an Aufgaben für die Veröffentlichung das wohl vergessen... Ich habe die Anleitung angepasst.

                            Ändert trotzdem nichts an deinem Fehler, es ist soweit alles richtig konfiguriert. Könntest du dir die neue Version holen, den Adapter dann auf Debug stellen und mir das Log schicken? Dann kann ich zumindest prüfen, weshalb der nicht startet.

                            @apollon77 Die Fehlermeldung beim Speichern bekomme ich komischerweise jetzt auch (raspberry pi). Unter Windows habe ich keine Fehler erhalten. Komischerweise kriege ich die Fehlermeldung auch, wenn ich die Einstellungen direkt am Datenpunkt system.adapter.twinkly.0 ändere. Hast du eine Idee woran das liegen kann?

                            apollon77A Offline
                            apollon77A Offline
                            apollon77
                            schrieb am zuletzt editiert von
                            #64

                            @patrickbs96 welchen Fehler? Den oben mit dem invalid token? Dann checke mal das skript, dann ist da ein Fehler drin

                            Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                            • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                            • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                            patrickbs96P 1 Antwort Letzte Antwort
                            0
                            • apollon77A apollon77

                              @patrickbs96 welchen Fehler? Den oben mit dem invalid token? Dann checke mal das skript, dann ist da ein Fehler drin

                              patrickbs96P Offline
                              patrickbs96P Offline
                              patrickbs96
                              Developer
                              schrieb am zuletzt editiert von
                              #65

                              @apollon77 Ne nicht den Invalid Token, sondern das beim Speichern die Meldung kommt "Einige Daten wurden nicht gespeichert. Verwerfen?"

                              apollon77A 1 Antwort Letzte Antwort
                              0
                              • patrickbs96P patrickbs96

                                @apollon77 Ne nicht den Invalid Token, sondern das beim Speichern die Meldung kommt "Einige Daten wurden nicht gespeichert. Verwerfen?"

                                apollon77A Offline
                                apollon77A Offline
                                apollon77
                                schrieb am zuletzt editiert von
                                #66

                                @patrickbs96 hm ... da muss mal schauen, keine ahnung ... Bist du in einem der dev chnnel im discord oder telegram? Frag mal da ... bzw kommentiere es im repo, muss man schauen

                                Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                                • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                                • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                                patrickbs96P 1 Antwort Letzte Antwort
                                0
                                • apollon77A apollon77

                                  @patrickbs96 hm ... da muss mal schauen, keine ahnung ... Bist du in einem der dev chnnel im discord oder telegram? Frag mal da ... bzw kommentiere es im repo, muss man schauen

                                  patrickbs96P Offline
                                  patrickbs96P Offline
                                  patrickbs96
                                  Developer
                                  schrieb am zuletzt editiert von
                                  #67

                                  @apollon77 In welchem der vielen Räume im Discord würde das denn passen? #adapter?
                                  Kommentiere im Repo meinst du mein eigenes oder das vom ioBroker?

                                  1 Antwort Letzte Antwort
                                  0
                                  • patrickbs96P patrickbs96

                                    @MCU Sorry, da war ich wohl etwas zu voreilig mit der Veröffentlichung... Ist mein erster Adapter gewesen, da hatte ich bei der Menge an Aufgaben für die Veröffentlichung das wohl vergessen... Ich habe die Anleitung angepasst.

                                    Ändert trotzdem nichts an deinem Fehler, es ist soweit alles richtig konfiguriert. Könntest du dir die neue Version holen, den Adapter dann auf Debug stellen und mir das Log schicken? Dann kann ich zumindest prüfen, weshalb der nicht startet.

                                    @apollon77 Die Fehlermeldung beim Speichern bekomme ich komischerweise jetzt auch (raspberry pi). Unter Windows habe ich keine Fehler erhalten. Komischerweise kriege ich die Fehlermeldung auch, wenn ich die Einstellungen direkt am Datenpunkt system.adapter.twinkly.0 ändere. Hast du eine Idee woran das liegen kann?

                                    patrickbs96P Offline
                                    patrickbs96P Offline
                                    patrickbs96
                                    Developer
                                    schrieb am zuletzt editiert von
                                    #68

                                    Ich habe zum Testen einen eigenen Forum Eintrag erstellt: https://forum.iobroker.net/topic/39632/new-adapter-twinkly

                                    1 Antwort Letzte Antwort
                                    0
                                    • patrickbs96P patrickbs96

                                      @MCU Sorry, da war ich wohl etwas zu voreilig mit der Veröffentlichung... Ist mein erster Adapter gewesen, da hatte ich bei der Menge an Aufgaben für die Veröffentlichung das wohl vergessen... Ich habe die Anleitung angepasst.

                                      Ändert trotzdem nichts an deinem Fehler, es ist soweit alles richtig konfiguriert. Könntest du dir die neue Version holen, den Adapter dann auf Debug stellen und mir das Log schicken? Dann kann ich zumindest prüfen, weshalb der nicht startet.

                                      @apollon77 Die Fehlermeldung beim Speichern bekomme ich komischerweise jetzt auch (raspberry pi). Unter Windows habe ich keine Fehler erhalten. Komischerweise kriege ich die Fehlermeldung auch, wenn ich die Einstellungen direkt am Datenpunkt system.adapter.twinkly.0 ändere. Hast du eine Idee woran das liegen kann?

                                      M Online
                                      M Online
                                      MCU
                                      schrieb am zuletzt editiert von MCU
                                      #69

                                      @patrickbs96 uuid entfernt, sonst original

                                      2020-12-12 21:52:35.356 - debug: twinkly.0 (5978) Redis Objects: Use Redis connection: 0.0.0.0:9001
                                      2020-12-12 21:52:35.400 - debug: twinkly.0 (5978) Objects client ready ... initialize now
                                      2020-12-12 21:52:35.404 - debug: twinkly.0 (5978) Objects create System PubSub Client
                                      2020-12-12 21:52:35.405 - debug: twinkly.0 (5978) Objects create User PubSub Client
                                      2020-12-12 21:52:35.407 - debug: twinkly.0 (5978) Objects client initialize lua scripts
                                      2020-12-12 21:52:35.431 - debug: twinkly.0 (5978) Objects connected to redis: 0.0.0.0:9001
                                      2020-12-12 21:52:35.439 - debug: twinkly.0 (5978) objectDB connected
                                      2020-12-12 21:52:35.442 - debug: twinkly.0 (5978) Redis States: Use Redis connection: 0.0.0.0:9000
                                      2020-12-12 21:52:35.455 - debug: twinkly.0 (5978) States create User PubSub Client
                                      2020-12-12 21:52:35.459 - debug: twinkly.0 (5978) States create System PubSub Client
                                      2020-12-12 21:52:35.479 - debug: twinkly.0 (5978) States connected to redis: 0.0.0.0:9000
                                      2020-12-12 21:52:35.480 - debug: twinkly.0 (5978) statesDB connected
                                      2020-12-12 21:52:38.402 - debug: twinkly.0 (5978) Plugin sentry Initialize Plugin (enabled=true)
                                      2020-12-12 21:52:38.727 - info: twinkly.0 (5978) starting. Version 0.0.5 in /opt/iobroker/node_modules/iobroker.twinkly, node: v12.20.0, js-controller: 3.1.6
                                      2020-12-12 21:52:38.766 - debug: twinkly.0 (5978) config devices: [{"enabled":true,"name":"Twinkly_37EFF1","host":"192.168.178.105","connectedState":""}]
                                      2020-12-12 21:52:38.767 - debug: twinkly.0 (5978) config interval: 60
                                      2020-12-12 21:52:38.767 - debug: twinkly.0 (5978) config deviceInfo: true
                                      2020-12-12 21:52:38.768 - debug: twinkly.0 (5978) config mqtt: false
                                      2020-12-12 21:52:38.769 - debug: twinkly.0 (5978) config timer: true
                                      2020-12-12 21:52:38.769 - debug: twinkly.0 (5978) config reset: false
                                      2020-12-12 21:52:38.771 - debug: twinkly.0 (5978) Prepare objects
                                      2020-12-12 21:52:38.773 - debug: twinkly.0 (5978) Get existing objects
                                      2020-12-12 21:52:38.930 - debug: twinkly.0 (5978) Prepare tasks of objects update
                                      2020-12-12 21:52:38.932 - debug: twinkly.0 (5978) Start tasks of objects update
                                      2020-12-12 21:52:38.934 - debug: twinkly.0 (5978) Task: {"type":"update_state","id":{"device":"Twinkly_37EFF1","state":"on"},"data":{"common":{"name":"Twinkly_37EFF1 eingeschaltet","read":true,"write":true,"type":"boolean","role":"switch","def":false}}}, ID: twinkly.0.Twinkly_37EFF1.on
                                      2020-12-12 21:52:38.934 - debug: twinkly.0 (5978) Update state id=twinkly.0.Twinkly_37EFF1.on
                                      2020-12-12 21:52:38.936 - debug: twinkly.0 (5978) Task: {"type":"update_state","id":{"device":"Twinkly_37EFF1","state":"mode"},"data":{"common":{"name":"Twinkly_37EFF1 Mode","read":true,"write":true,"type":"string","role":"state","def":"off","states":{"rt":"Real Time","movie":"Eingeschaltet","off":"Ausgeschaltet","playlist":"Playlist","demo":"Demo","effect":"Effect"}}}}, ID: twinkly.0.Twinkly_37EFF1.mode
                                      2020-12-12 21:52:38.937 - debug: twinkly.0 (5978) Update state id=twinkly.0.Twinkly_37EFF1.mode
                                      2020-12-12 21:52:38.937 - debug: twinkly.0 (5978) Task: {"type":"update_state","id":{"device":"Twinkly_37EFF1","state":"bri"},"data":{"common":{"name":"Twinkly_37EFF1 Brightness","read":true,"write":true,"type":"number","role":"level.dimmer","min":0,"max":100,"def":0}}}, ID: twinkly.0.Twinkly_37EFF1.bri
                                      2020-12-12 21:52:38.938 - debug: twinkly.0 (5978) Update state id=twinkly.0.Twinkly_37EFF1.bri
                                      2020-12-12 21:52:38.939 - debug: twinkly.0 (5978) Task: {"type":"update_state","id":{"device":"Twinkly_37EFF1","state":"name"},"data":{"common":{"name":"Twinkly_37EFF1 Name","read":true,"write":true,"type":"string","role":"info.name","def":""}}}, ID: twinkly.0.Twinkly_37EFF1.name
                                      2020-12-12 21:52:38.939 - debug: twinkly.0 (5978) Update state id=twinkly.0.Twinkly_37EFF1.name
                                      2020-12-12 21:52:38.940 - debug: twinkly.0 (5978) Task: {"type":"update_state","id":{"device":"Twinkly_37EFF1","state":"timer"},"data":{"common":{"name":"Twinkly_37EFF1 Timer","read":true,"write":true,"type":"string","role":"json","def":"{}"}}}, ID: twinkly.0.Twinkly_37EFF1.timer
                                      2020-12-12 21:52:38.941 - debug: twinkly.0 (5978) Update state id=twinkly.0.Twinkly_37EFF1.timer
                                      2020-12-12 21:52:38.941 - debug: twinkly.0 (5978) Task: {"type":"update_state","id":{"device":"Twinkly_37EFF1","state":"details"},"data":{"common":{"name":"Twinkly_37EFF1 Details","read":true,"write":false,"type":"string","role":"json","def":"{}"}}}, ID: twinkly.0.Twinkly_37EFF1.details
                                      2020-12-12 21:52:38.942 - debug: twinkly.0 (5978) Update state id=twinkly.0.Twinkly_37EFF1.details
                                      2020-12-12 21:52:38.942 - debug: twinkly.0 (5978) Task: {"type":"update_state","id":{"device":"Twinkly_37EFF1","state":"firmware"},"data":{"common":{"name":"Twinkly_37EFF1 Firmware","read":true,"write":false,"type":"string","role":"state","def":""}}}, ID: twinkly.0.Twinkly_37EFF1.firmware
                                      2020-12-12 21:52:38.943 - debug: twinkly.0 (5978) Update state id=twinkly.0.Twinkly_37EFF1.firmware
                                      2020-12-12 21:52:38.944 - debug: twinkly.0 (5978) Task: {"type":"update_state","id":{"device":"Twinkly_37EFF1","state":"connected"},"data":{"common":{"name":"Twinkly_37EFF1 Connected","read":true,"write":false,"type":"boolean","role":"indicator.connected","def":false}}}, ID: twinkly.0.Twinkly_37EFF1.connected
                                      2020-12-12 21:52:38.944 - debug: twinkly.0 (5978) Update state id=twinkly.0.Twinkly_37EFF1.connected
                                      2020-12-12 21:52:38.945 - debug: twinkly.0 (5978) Finished tasks of objects update
                                      2020-12-12 21:52:43.778 - debug: twinkly.0 (5978) Start polling...
                                      2020-12-12 21:52:43.779 - debug: twinkly.0 (5978) Polling Twinkly_37EFF1.on
                                      2020-12-12 21:52:43.779 - debug: twinkly.0 (5978) Polling Twinkly_37EFF1.mode
                                      2020-12-12 21:52:43.780 - debug: twinkly.0 (5978) [Twinkly_37EFF1._get]
                                      2020-12-12 21:52:43.781 - debug: twinkly.0 (5978) [Twinkly_37EFF1.ensure_token] Authentication token expired, will refresh
                                      2020-12-12 21:52:43.820 - debug: twinkly.0 (5978) [sendPostHTTP] {"authentication_token":"RlUGEMhNU34=","authentication_token_expires_in":14400,"challenge-response":"2ce38f8fddc9a6f9ab0065ed35901787ad14b6fe","code":1000}
                                      2020-12-12 21:52:43.822 - debug: twinkly.0 (5978) [Twinkly_37EFF1._post] , {"challenge-response":"2ce38f8fddc9a6f9ab0065ed35901787ad14b6fe"}, {"X-Auth-Token":"RlUGEMhNU34="}
                                      2020-12-12 21:52:43.826 - debug: twinkly.0 (5978) [Twinkly_37EFF1.ensure_token] Authentication token still valid (2020-12-13 1:52:43)
                                      2020-12-12 21:52:43.845 - debug: twinkly.0 (5978) [sendPostHTTP] {"code":1000}
                                      2020-12-12 21:52:43.870 - debug: twinkly.0 (5978) [sendGetHTTP] {"mode":"off","shop_mode":0,"code":1000}
                                      2020-12-12 21:52:43.872 - debug: twinkly.0 (5978) Polling Twinkly_37EFF1.bri
                                      2020-12-12 21:52:43.873 - debug: twinkly.0 (5978) [Twinkly_37EFF1._get]
                                      2020-12-12 21:52:43.874 - debug: twinkly.0 (5978) [Twinkly_37EFF1.ensure_token] Authentication token still valid (2020-12-13 1:52:43)
                                      2020-12-12 21:52:43.894 - debug: twinkly.0 (5978) [sendGetHTTP] {"value":100,"mode":"disabled","code":1000}
                                      2020-12-12 21:52:43.896 - debug: twinkly.0 (5978) Polling Twinkly_37EFF1.name
                                      2020-12-12 21:52:43.896 - debug: twinkly.0 (5978) [Twinkly_37EFF1._get]
                                      2020-12-12 21:52:43.897 - debug: twinkly.0 (5978) [Twinkly_37EFF1.ensure_token] Authentication token still valid (2020-12-13 1:52:43)
                                      2020-12-12 21:52:43.918 - debug: twinkly.0 (5978) [sendGetHTTP] {"name":"Twinkly_37EFF1","code":1000}
                                      2020-12-12 21:52:43.919 - debug: twinkly.0 (5978) Polling Twinkly_37EFF1.details
                                      2020-12-12 21:52:43.920 - debug: twinkly.0 (5978) [Twinkly_37EFF1._get]
                                      2020-12-12 21:52:43.920 - debug: twinkly.0 (5978) [Twinkly_37EFF1.ensure_token] Authentication token still valid (2020-12-13 1:52:43)
                                      2020-12-12 21:52:43.939 - debug: twinkly.0 (5978) [sendGetHTTP] {"product_name":"Twinkly","hardware_version":"100","bytes_per_led":4,"hw_id":"37eff0","flash_size":64,"led_type":12,"product_code":"TWS250SPP","fw_family":"G","device_name":"Twinkly_37EFF1","uptime":"76075549","mac":"98:f4:ab:37:ef:f1","uuid":"","max_supported_led":1200,"number_of_led":250,"led_profile":"RGBW","frame_rate":19,"measured_frame_rate":21.28,"movie_capacity":992,"wire_type":1,"copyright":"LEDWORKS 2018","code":1000}
                                      2020-12-12 21:52:43.941 - debug: twinkly.0 (5978) Polling Twinkly_37EFF1.firmware
                                      2020-12-12 21:52:43.942 - debug: twinkly.0 (5978) [Twinkly_37EFF1._get]
                                      2020-12-12 21:52:43.943 - debug: twinkly.0 (5978) [Twinkly_37EFF1.ensure_token] Authentication token still valid (2020-12-13 1:52:43)
                                      2020-12-12 21:52:43.963 - debug: twinkly.0 (5978) [sendGetHTTP] {"version":"2.5.9","code":1000}
                                      2020-12-12 21:52:43.965 - debug: twinkly.0 (5978) Polling Twinkly_37EFF1.timer
                                      2020-12-12 21:52:43.966 - debug: twinkly.0 (5978) [Twinkly_37EFF1._get]
                                      2020-12-12 21:52:43.967 - debug: twinkly.0 (5978) [Twinkly_37EFF1.ensure_token] Authentication token still valid (2020-12-13 1:52:43)
                                      2020-12-12 21:52:43.986 - debug: twinkly.0 (5978) [sendGetHTTP] {"time_now":78759,"time_on":-1,"time_off":-1,"code":1000}
                                      2020-12-12 21:52:43.988 - debug: twinkly.0 (5978) Finished polling...
                                      2020-12-12 21:53:10.126 - debug: twinkly.0 (5978) state twinkly.0.Twinkly_37EFF1.on changed: true (ack = false)
                                      2020-12-12 21:53:10.128 - debug: twinkly.0 (5978) [Twinkly_37EFF1._post] , {"mode":"movie"}, {"X-Auth-Token":"RlUGEMhNU34=","Content-Type":"application/json"}
                                      2020-12-12 21:53:10.129 - debug: twinkly.0 (5978) [Twinkly_37EFF1.ensure_token] Authentication token still valid (2020-12-13 1:52:43)
                                      2020-12-12 21:53:10.155 - debug: twinkly.0 (5978) [sendPostHTTP] {"code":1104}
                                      2020-12-12 21:53:10.157 - error: twinkly.0 (5978) Could not set Twinkly_37EFF1.on [Twinkly_37EFF1.POST.led/mode] 1104 (Error - malformed JSON on input), Data: {"mode":"movie"}, Headers: {"X-Auth-Token":"RlUGEMhNU34=","Content-Type":"application/json"}
                                      2020-12-12 21:53:17.833 - debug: twinkly.0 (5978) state twinkly.0.Twinkly_37EFF1.on changed: false (ack = false)
                                      2020-12-12 21:53:17.835 - debug: twinkly.0 (5978) [Twinkly_37EFF1._post] , {"mode":"off"}, {"X-Auth-Token":"RlUGEMhNU34=","Content-Type":"application/json"}
                                      2020-12-12 21:53:17.836 - debug: twinkly.0 (5978) [Twinkly_37EFF1.ensure_token] Authentication token still valid (2020-12-13 1:52:43)
                                      2020-12-12 21:53:17.865 - debug: twinkly.0 (5978) [sendPostHTTP] {"code":1000}
                                      2020-12-12 21:53:43.989 - debug: twinkly.0 (5978) Start polling...
                                      2020-12-12 21:53:43.990 - debug: twinkly.0 (5978) Polling Twinkly_37EFF1.on
                                      2020-12-12 21:53:43.991 - debug: twinkly.0 (5978) Polling Twinkly_37EFF1.mode
                                      2020-12-12 21:53:43.992 - debug: twinkly.0 (5978) [Twinkly_37EFF1._get]
                                      2020-12-12 21:53:43.992 - debug: twinkly.0 (5978) [Twinkly_37EFF1.ensure_token] Authentication token still valid (2020-12-13 1:52:43)
                                      2020-12-12 21:53:44.014 - debug: twinkly.0 (5978) [sendGetHTTP] {"mode":"off","shop_mode":0,"code":1000}
                                      2020-12-12 21:53:44.016 - debug: twinkly.0 (5978) Polling Twinkly_37EFF1.bri
                                      2020-12-12 21:53:44.017 - debug: twinkly.0 (5978) [Twinkly_37EFF1._get]
                                      2020-12-12 21:53:44.018 - debug: twinkly.0 (5978) [Twinkly_37EFF1.ensure_token] Authentication token still valid (2020-12-13 1:52:43)
                                      2020-12-12 21:53:44.045 - debug: twinkly.0 (5978) [sendGetHTTP] {"value":100,"mode":"disabled","code":1000}
                                      2020-12-12 21:53:44.047 - debug: twinkly.0 (5978) Polling Twinkly_37EFF1.name
                                      2020-12-12 21:53:44.047 - debug: twinkly.0 (5978) [Twinkly_37EFF1._get]
                                      2020-12-12 21:53:44.048 - debug: twinkly.0 (5978) [Twinkly_37EFF1.ensure_token] Authentication token still valid (2020-12-13 1:52:43)
                                      2020-12-12 21:53:44.070 - debug: twinkly.0 (5978) [sendGetHTTP] {"name":"Twinkly_37EFF1","code":1000}
                                      2020-12-12 21:53:44.072 - debug: twinkly.0 (5978) Polling Twinkly_37EFF1.details
                                      2020-12-12 21:53:44.072 - debug: twinkly.0 (5978) [Twinkly_37EFF1._get]
                                      2020-12-12 21:53:44.073 - debug: twinkly.0 (5978) [Twinkly_37EFF1.ensure_token] Authentication token still valid (2020-12-13 1:52:43)
                                      2020-12-12 21:53:44.094 - debug: twinkly.0 (5978) [sendGetHTTP] {"product_name":"Twinkly","hardware_version":"100","bytes_per_led":4,"hw_id":"37eff0","flash_size":64,"led_type":12,"product_code":"TWS250SPP","fw_family":"G","device_name":"Twinkly_37EFF1","uptime":"76135703","mac":"98:f4:ab:37:ef:f1","uuid":"","max_supported_led":1200,"number_of_led":250,"led_profile":"RGBW","frame_rate":19,"measured_frame_rate":21.28,"movie_capacity":992,"wire_type":1,"copyright":"LEDWORKS 2018","code":1000}
                                      2020-12-12 21:53:44.096 - debug: twinkly.0 (5978) Polling Twinkly_37EFF1.firmware
                                      2020-12-12 21:53:44.097 - debug: twinkly.0 (5978) [Twinkly_37EFF1._get]
                                      2020-12-12 21:53:44.098 - debug: twinkly.0 (5978) [Twinkly_37EFF1.ensure_token] Authentication token still valid (2020-12-13 1:52:43)
                                      2020-12-12 21:53:44.122 - debug: twinkly.0 (5978) [sendGetHTTP] {"version":"2.5.9","code":1000}
                                      2020-12-12 21:53:44.125 - debug: twinkly.0 (5978) Polling Twinkly_37EFF1.timer
                                      2020-12-12 21:53:44.126 - debug: twinkly.0 (5978) [Twinkly_37EFF1._get]
                                      2020-12-12 21:53:44.127 - debug: twinkly.0 (5978) [Twinkly_37EFF1.ensure_token] Authentication token still valid (2020-12-13 1:52:43)
                                      2020-12-12 21:53:44.169 - debug: twinkly.0 (5978) [sendGetHTTP] {"time_now":78819,"time_on":-1,"time_off":-1,"code":1000}
                                      2020-12-12 21:53:44.170 - debug: twinkly.0 (5978) Finished polling...
                                      

                                      2020-12-12 21:59:45.104 - debug: twinkly.0 (5978) Start polling...
                                      2020-12-12 21:59:45.105 - debug: twinkly.0 (5978) Polling Twinkly_37EFF1.on
                                      2020-12-12 21:59:45.105 - debug: twinkly.0 (5978) Polling Twinkly_37EFF1.mode
                                      2020-12-12 21:59:45.105 - debug: twinkly.0 (5978) [Twinkly_37EFF1._get]
                                      2020-12-12 21:59:45.106 - debug: twinkly.0 (5978) [Twinkly_37EFF1.ensure_token] Authentication token still valid (2020-12-13 1:52:43)
                                      2020-12-12 21:59:45.127 - debug: twinkly.0 (5978) [sendGetHTTP] {"mode":"off","shop_mode":0,"code":1000}
                                      2020-12-12 21:59:45.128 - debug: twinkly.0 (5978) Polling Twinkly_37EFF1.bri
                                      2020-12-12 21:59:45.129 - debug: twinkly.0 (5978) [Twinkly_37EFF1._get]
                                      2020-12-12 21:59:45.129 - debug: twinkly.0 (5978) [Twinkly_37EFF1.ensure_token] Authentication token still valid (2020-12-13 1:52:43)
                                      2020-12-12 21:59:45.153 - debug: twinkly.0 (5978) [sendGetHTTP] {"value":100,"mode":"disabled","code":1000}
                                      2020-12-12 21:59:45.154 - debug: twinkly.0 (5978) Polling Twinkly_37EFF1.name
                                      2020-12-12 21:59:45.155 - debug: twinkly.0 (5978) [Twinkly_37EFF1._get]
                                      2020-12-12 21:59:45.155 - debug: twinkly.0 (5978) [Twinkly_37EFF1.ensure_token] Authentication token still valid (2020-12-13 1:52:43)
                                      2020-12-12 21:59:45.171 - debug: twinkly.0 (5978) [sendGetHTTP] {"name":"Twinkly_37EFF1","code":1000}
                                      2020-12-12 21:59:45.172 - debug: twinkly.0 (5978) Polling Twinkly_37EFF1.details
                                      2020-12-12 21:59:45.173 - debug: twinkly.0 (5978) [Twinkly_37EFF1._get]
                                      2020-12-12 21:59:45.173 - debug: twinkly.0 (5978) [Twinkly_37EFF1.ensure_token] Authentication token still valid (2020-12-13 1:52:43)
                                      2020-12-12 21:59:45.197 - debug: twinkly.0 (5978) [sendGetHTTP] {"product_name":"Twinkly","hardware_version":"100","bytes_per_led":4,"hw_id":"37eff0","flash_size":64,"led_type":12,"product_code":"TWS250SPP","fw_family":"G","device_name":"Twinkly_37EFF1","uptime":"76496804","mac":"98:f4:ab:37:ef:f1","uuid":"","max_supported_led":1200,"number_of_led":250,"led_profile":"RGBW","frame_rate":19,"measured_frame_rate":21.28,"movie_capacity":992,"wire_type":1,"copyright":"LEDWORKS 2018","code":1000}
                                      2020-12-12 21:59:45.199 - debug: twinkly.0 (5978) Polling Twinkly_37EFF1.firmware
                                      2020-12-12 21:59:45.199 - debug: twinkly.0 (5978) [Twinkly_37EFF1._get]
                                      2020-12-12 21:59:45.200 - debug: twinkly.0 (5978) [Twinkly_37EFF1.ensure_token] Authentication token still valid (2020-12-13 1:52:43)
                                      2020-12-12 21:59:45.217 - debug: twinkly.0 (5978) [sendGetHTTP] {"version":"2.5.9","code":1000}
                                      2020-12-12 21:59:45.218 - debug: twinkly.0 (5978) Polling Twinkly_37EFF1.timer
                                      2020-12-12 21:59:45.218 - debug: twinkly.0 (5978) [Twinkly_37EFF1._get]
                                      2020-12-12 21:59:45.218 - debug: twinkly.0 (5978) [Twinkly_37EFF1.ensure_token] Authentication token still valid (2020-12-13 1:52:43)
                                      2020-12-12 21:59:45.234 - debug: twinkly.0 (5978) [sendGetHTTP] {"time_now":79180,"time_on":-1,"time_off":-1,"code":1000}
                                      2020-12-12 21:59:45.235 - debug: twinkly.0 (5978) Finished polling...
                                      

                                      NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                                      Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                                      1 Antwort Letzte Antwort
                                      0
                                      Antworten
                                      • In einem neuen Thema antworten
                                      Anmelden zum Antworten
                                      • Älteste zuerst
                                      • Neuste zuerst
                                      • Meiste Stimmen


                                      Support us

                                      ioBroker
                                      Community Adapters
                                      Donate

                                      335

                                      Online

                                      32.4k

                                      Benutzer

                                      81.4k

                                      Themen

                                      1.3m

                                      Beiträge
                                      Community
                                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                      ioBroker Community 2014-2025
                                      logo
                                      • Anmelden

                                      • Du hast noch kein Konto? Registrieren

                                      • Anmelden oder registrieren, um zu suchen
                                      • Erster Beitrag
                                        Letzter Beitrag
                                      0
                                      • Aktuell
                                      • Tags
                                      • Ungelesen 0
                                      • Kategorien
                                      • Unreplied
                                      • Beliebt
                                      • GitHub
                                      • Docu
                                      • Hilfe