Skip to content
  • Home
  • 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

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. [gelöst] async-await

NEWS

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

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

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

[gelöst] async-await

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
15 Beiträge 2 Kommentatoren 1.1k Aufrufe 5 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.
  • F fastfoot

    @dslraser sagte in async-await:

    EDIT: Es funktioniert ja, mir ist nur nicht klar wie ich mit Deinem Beispiel eben alle meine Datenpunkte erstellen kann (löschen ist erstmal unwichtig)

    Nun, zu Telegram wird es ja immer diesselben DP geben, deshalb eine eigene statesAttribTG. Schau mal, so habe ich mir das gedacht.

    • in die idBase kommt der Grundpfad, also hier z.B. 0_userdata.0.TestApp. Mit einem subKey kann man jetzt noch eine zusätzliche Ebene wählen. Die Unterebenen dort ergeben sich durch die Variablen. Ich hoffe das macht für dich Sinn und passt grob, sonst verfeinern wir das

    <xml xmlns="https://developers.google.com/blockly/xml">
     <variables>
       <variable id="(m7C_|Q2cbal%.{Hr9aN">subKey</variable>
       <variable id="50Z)2$?Be=m.c4!*vx+k">anlegen_in</variable>
       <variable id=":{}_qJr.-Nf?Gw0G]ih|">Email_verwenden</variable>
       <variable id=".g|S5B178Z0hi(5zzlg*">Telegram_verwenden</variable>
       <variable id="xHz3Sa?;(*/32eT%pB_i">Test_DP</variable>
     </variables>
     <block type="procedures_defcustomnoreturn" id="=lwe#KBAhO-D.Yr~J/b2" x="13" y="13">
       <mutation statements="false">
         <arg name="subKey" varid="(m7C_|Q2cbal%.{Hr9aN"></arg>
       </mutation>
       <field name="NAME">Datenpunkte_anlegen</field>
       <field name="SCRIPT">Y29uc3QgaWRCYXNlID0gYW5sZWdlbl9pbjsKYXN5bmMgZnVuY3Rpb24gaW5pdCgpewogICAgZmlyc3RSdW4gPSBhd2FpdCBjcmVhdGVEYXRhcG9pbnRzKCk7CiAgICAvL3dvcmsoKTsKfQoKLy8gY3JlYXRlIGRhdGEgcG9pbnRzIGlmIG5vdCBleGlzdGluZwphc3luYyBmdW5jdGlvbiBjcmVhdGVEYXRhcG9pbnRzKCkgewogICAgbGV0IGRwLAogICAgICAgIGlkS2V5LAogICAgICAgIGZpcnN0UnVuID0gZmFsc2U7CiAgICAKICAgIGNvbnN0IHN0YXRlQXR0cmlidXRlcyA9IHsKICAgICAgICAianNvbiI6eyJuYW1lIjoiRGF0ZW4iLCJ0eXBlIjoic3RyaW5nIiwicm9sZSI6IiIsInJlYWQiOnRydWUsIndyaXRlIjp0cnVlLCJkZXNjIjoidm9uIFNrcmlwdCBlcnN0ZWxsdCIsImRlZiI6IiJ9LAogICAgICAgICJSZWZyZXNoIjp7Im5hbWUiOiJSZWZyZXNoIiwidHlwZSI6ImJvb2xlYW4iLCJyb2xlIjoiIiwicmVhZCI6dHJ1ZSwid3JpdGUiOnRydWUsImRlc2MiOiJ2b24gU2tyaXB0IGVyc3RlbGx0IiwiZGVmIjpmYWxzZX0sCiAgICAgICAgIkV4Y2VsIjp7Im5hbWUiOiJIb2xlIEV4Y2VsZGF0ZWkiLCJ0eXBlIjoiYm9vbGVhbiIsInJvbGUiOiIiLCJyZWFkIjp0cnVlLCJ3cml0ZSI6dHJ1ZSwiZGVzYyI6InZvbiBTa3JpcHQgZXJzdGVsbHQiLCJkZWYiOmZhbHNlfSwKICAgIH0KICAgIGNvbnN0IHN0YXRlQXR0cmliVEcgPSB7CiAgICAgICAgImpzb24iOnsibmFtZSI6IkRhdGVuIiwidHlwZSI6InN0cmluZyIsInJvbGUiOiIiLCJyZWFkIjp0cnVlLCJ3cml0ZSI6dHJ1ZSwiZGVzYyI6InZvbiBTa3JpcHQgZXJzdGVsbHQiLCJkZWYiOiIifSwKICAgICAgICAiUmVmcmVzaCI6eyJuYW1lIjoiUmVmcmVzaCIsInR5cGUiOiJib29sZWFuIiwicm9sZSI6IiIsInJlYWQiOnRydWUsIndyaXRlIjp0cnVlLCJkZXNjIjoidm9uIFNrcmlwdCBlcnN0ZWxsdCIsImRlZiI6ZmFsc2V9LAogICAgICAgICJFeGNlbCI6eyJuYW1lIjoiSG9sZSBFeGNlbGRhdGVpIiwidHlwZSI6ImJvb2xlYW4iLCJyb2xlIjoiIiwicmVhZCI6dHJ1ZSwid3JpdGUiOnRydWUsImRlc2MiOiJ2b24gU2tyaXB0IGVyc3RlbGx0IiwiZGVmIjpmYWxzZX0sICAgICAgICAKICAgIH0KICAgIGNvbnN0IHN0YXRlQXR0cmliRW1haWwgPSB7CiAgICAgICAgImpzb24iOnsibmFtZSI6IkRhdGVuIiwidHlwZSI6InN0cmluZyIsInJvbGUiOiIiLCJyZWFkIjp0cnVlLCJ3cml0ZSI6dHJ1ZSwiZGVzYyI6InZvbiBTa3JpcHQgZXJzdGVsbHQiLCJkZWYiOiIifSwKICAgICAgICAiUmVmcmVzaCI6eyJuYW1lIjoiUmVmcmVzaCIsInR5cGUiOiJib29sZWFuIiwicm9sZSI6IiIsInJlYWQiOnRydWUsIndyaXRlIjp0cnVlLCJkZXNjIjoidm9uIFNrcmlwdCBlcnN0ZWxsdCIsImRlZiI6ZmFsc2V9LAogICAgICAgICJFeGNlbCI6eyJuYW1lIjoiSG9sZSBFeGNlbGRhdGVpIiwidHlwZSI6ImJvb2xlYW4iLCJyb2xlIjoiIiwicmVhZCI6dHJ1ZSwid3JpdGUiOnRydWUsImRlc2MiOiJ2b24gU2tyaXB0IGVyc3RlbGx0IiwiZGVmIjpmYWxzZX0sICAgICAgICAKICAgIH0KICAgIGZvcihsZXQga2V5IGluIHN0YXRlQXR0cmlidXRlcykgewogCiAgICAgICAgaWRLZXkgPSBpZEJhc2UgKyBzdWJLZXkgKyBrZXk7CiAKICAgICAgICBpZiAoIShhd2FpdCBleGlzdHNTdGF0ZUFzeW5jKGlkS2V5KSkpIHsKICAgICAgICAgICAgZHAgPSBzdGF0ZUF0dHJpYnV0ZXNba2V5XTsKICAgICAgICAgICAgZmlyc3RSdW4gPSB0cnVlOwogICAgICAgICAgICBhd2FpdCBjcmVhdGVTdGF0ZUFzeW5jKGlkS2V5LCBkcCk7CiAgICAgICAgfQogICAgfQogICAgCiAgICBpZiAoVGVsZWdyYW1fdmVyd2VuZGVuKXsKICAgICAgICBmb3IobGV0IGtleSBpbiBzdGF0ZUF0dHJpYlRHKSB7CiAgICAKICAgICAgICAgICAgaWRLZXkgPSBpZEJhc2UgKyBzdWJLZXkgKyAnVGVsZWdyYW0uJyArIGtleTsKICAgIAogICAgICAgICAgICBpZiAoIShhd2FpdCBleGlzdHNTdGF0ZUFzeW5jKGlkS2V5KSkpIHsKICAgICAgICAgICAgICAgIGRwID0gc3RhdGVBdHRyaWJ1dGVzW2tleV07CiAgICAgICAgICAgICAgICBmaXJzdFJ1biA9IHRydWU7CiAgICAgICAgICAgICAgICBhd2FpdCBjcmVhdGVTdGF0ZUFzeW5jKGlkS2V5LCBkcCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICAKICAgIGlmIChFbWFpbF92ZXJ3ZW5kZW4pewogICAgICAgIGZvcihsZXQga2V5IGluIHN0YXRlQXR0cmliRW1haWwpIHsKICAgIAogICAgICAgICAgICBpZEtleSA9IGlkQmFzZSArIHN1YktleSArICdFbWFpbC4nICsga2V5OwogICAgCiAgICAgICAgICAgIGlmICghKGF3YWl0IGV4aXN0c1N0YXRlQXN5bmMoaWRLZXkpKSkgewogICAgICAgICAgICAgICAgZHAgPSBzdGF0ZUF0dHJpYnV0ZXNba2V5XTsKICAgICAgICAgICAgICAgIGZpcnN0UnVuID0gdHJ1ZTsKICAgICAgICAgICAgICAgIGF3YWl0IGNyZWF0ZVN0YXRlQXN5bmMoaWRLZXksIGRwKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBmaXJzdFJ1bjsKfQoKaW5pdCgpOwo=</field>
       <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
     </block>
     <block type="variables_set" id="f^BE]x{MbV+}S:P4.D_i" x="13" y="38">
       <field name="VAR" id="(m7C_|Q2cbal%.{Hr9aN">subKey</field>
       <value name="VALUE">
         <block type="text" id="1r2EpbBX6=t+lr==u|f9">
           <field name="TEXT">.Haus.</field>
         </block>
       </value>
       <next>
         <block type="variables_set" id="]R?O8fEB0/9Mimg{5G+n">
           <field name="VAR" id="50Z)2$?Be=m.c4!*vx+k">anlegen_in</field>
           <value name="VALUE">
             <block type="text" id="WeFb$m8,;lV1p#(K4/CW">
               <field name="TEXT">0_userdata.0.TestApp</field>
             </block>
           </value>
           <next>
             <block type="variables_set" id="6$b/v%pAHs[+4Dp?Yk.;">
               <field name="VAR" id=":{}_qJr.-Nf?Gw0G]ih|">Email_verwenden</field>
               <value name="VALUE">
                 <block type="logic_boolean" id="9MC7}^?^TJXm%{0%W{uP">
                   <field name="BOOL">TRUE</field>
                 </block>
               </value>
               <next>
                 <block type="variables_set" id="FGW2v!1.^I2vkrF]tf.7">
                   <field name="VAR" id=".g|S5B178Z0hi(5zzlg*">Telegram_verwenden</field>
                   <value name="VALUE">
                     <block type="logic_boolean" id="(WNV$q0jI,pA[C4`^F0%">
                       <field name="BOOL">TRUE</field>
                     </block>
                   </value>
                   <next>
                     <block type="procedures_callcustomnoreturn" id="pG##/69xE{Rypf9~TW5y">
                       <mutation name="Datenpunkte_anlegen">
                         <arg name="subKey"></arg>
                       </mutation>
                       <value name="ARG0">
                         <block type="variables_get" id="4Xk@]uExnB92Ql88-#8c">
                           <field name="VAR" id="(m7C_|Q2cbal%.{Hr9aN">subKey</field>
                         </block>
                       </value>
                       <next>
                         <block type="variables_set" id="ZHDKh0L$;5=bVn@#qa/3">
                           <field name="VAR" id="xHz3Sa?;(*/32eT%pB_i">Test_DP</field>
                           <value name="VALUE">
                             <block type="text_join" id="9Fc^^u/Dv.!|Qcf~[_Ip">
                               <mutation items="3"></mutation>
                               <value name="ADD0">
                                 <block type="variables_get" id="~linCS?uDU:Y#:cZPDcL">
                                   <field name="VAR" id="50Z)2$?Be=m.c4!*vx+k">anlegen_in</field>
                                 </block>
                               </value>
                               <value name="ADD1">
                                 <block type="variables_get" id="/QXPxU{dTHQdp]:^QL#b">
                                   <field name="VAR" id="(m7C_|Q2cbal%.{Hr9aN">subKey</field>
                                 </block>
                               </value>
                               <value name="ADD2">
                                 <block type="text" id="){)~AA/Gqi6n`mS!/${Q">
                                   <field name="TEXT">Excel</field>
                                 </block>
                               </value>
                             </block>
                           </value>
                           <next>
                             <block type="debug" id="umnxNUW]NKC_JAJR`a7z">
                               <field name="Severity">log</field>
                               <value name="TEXT">
                                 <shadow type="text" id="0A9s:5Um/Um!)w^~v156">
                                   <field name="TEXT">mach irgendwas</field>
                                 </shadow>
                               </value>
                               <next>
                                 <block type="control_ex" id="x2Ui-/Pto*06r$s{aL-I" inline="true">
                                   <field name="TYPE">true</field>
                                   <field name="CLEAR_RUNNING">FALSE</field>
                                   <value name="OID">
                                     <shadow type="field_oid" id="MiS7$HdUIS52r#KlxMP+">
                                       <field name="oid">Object ID</field>
                                     </shadow>
                                     <block type="variables_get" id="Ra);[JC@~t2pIf/G,C76">
                                       <field name="VAR" id="xHz3Sa?;(*/32eT%pB_i">Test_DP</field>
                                     </block>
                                   </value>
                                   <value name="VALUE">
                                     <shadow type="logic_boolean" id="-jNfpz4K^`IXOgPZ:XZy">
                                       <field name="BOOL">TRUE</field>
                                     </shadow>
                                   </value>
                                   <value name="DELAY_MS">
                                     <shadow type="math_number" id="qt09Y!I/zfa6H!F*T]W-">
                                       <field name="NUM">60000</field>
                                     </shadow>
                                   </value>
                                 </block>
                               </next>
                             </block>
                           </next>
                         </block>
                       </next>
                     </block>
                   </next>
                 </block>
               </next>
             </block>
           </next>
         </block>
       </next>
     </block>
    </xml>
    

    dslraserD Offline
    dslraserD Offline
    dslraser
    Forum Testing Most Active
    schrieb am zuletzt editiert von
    #5

    @fastfoot sagte in async-await:

    Ich hoffe das macht für dich Sinn und passt grob, sonst verfeinern wir das

    Ich glaube damit komme ich weiter und fange an es zu verstehen (ich bin sonst Blockly Mensch)
    Bei weiteren Fragen melde ich mich wieder.
    Und Danke für Deine Hilfe.

    F 2 Antworten Letzte Antwort
    0
    • F fastfoot

      @dslraser sagte in async-await:

      EDIT: Es funktioniert ja, mir ist nur nicht klar wie ich mit Deinem Beispiel eben alle meine Datenpunkte erstellen kann (löschen ist erstmal unwichtig)

      Nun, zu Telegram wird es ja immer diesselben DP geben, deshalb eine eigene statesAttribTG. Schau mal, so habe ich mir das gedacht.

      • in die idBase kommt der Grundpfad, also hier z.B. 0_userdata.0.TestApp. Mit einem subKey kann man jetzt noch eine zusätzliche Ebene wählen. Die Unterebenen dort ergeben sich durch die Variablen. Ich hoffe das macht für dich Sinn und passt grob, sonst verfeinern wir das

      <xml xmlns="https://developers.google.com/blockly/xml">
       <variables>
         <variable id="(m7C_|Q2cbal%.{Hr9aN">subKey</variable>
         <variable id="50Z)2$?Be=m.c4!*vx+k">anlegen_in</variable>
         <variable id=":{}_qJr.-Nf?Gw0G]ih|">Email_verwenden</variable>
         <variable id=".g|S5B178Z0hi(5zzlg*">Telegram_verwenden</variable>
         <variable id="xHz3Sa?;(*/32eT%pB_i">Test_DP</variable>
       </variables>
       <block type="procedures_defcustomnoreturn" id="=lwe#KBAhO-D.Yr~J/b2" x="13" y="13">
         <mutation statements="false">
           <arg name="subKey" varid="(m7C_|Q2cbal%.{Hr9aN"></arg>
         </mutation>
         <field name="NAME">Datenpunkte_anlegen</field>
         <field name="SCRIPT">Y29uc3QgaWRCYXNlID0gYW5sZWdlbl9pbjsKYXN5bmMgZnVuY3Rpb24gaW5pdCgpewogICAgZmlyc3RSdW4gPSBhd2FpdCBjcmVhdGVEYXRhcG9pbnRzKCk7CiAgICAvL3dvcmsoKTsKfQoKLy8gY3JlYXRlIGRhdGEgcG9pbnRzIGlmIG5vdCBleGlzdGluZwphc3luYyBmdW5jdGlvbiBjcmVhdGVEYXRhcG9pbnRzKCkgewogICAgbGV0IGRwLAogICAgICAgIGlkS2V5LAogICAgICAgIGZpcnN0UnVuID0gZmFsc2U7CiAgICAKICAgIGNvbnN0IHN0YXRlQXR0cmlidXRlcyA9IHsKICAgICAgICAianNvbiI6eyJuYW1lIjoiRGF0ZW4iLCJ0eXBlIjoic3RyaW5nIiwicm9sZSI6IiIsInJlYWQiOnRydWUsIndyaXRlIjp0cnVlLCJkZXNjIjoidm9uIFNrcmlwdCBlcnN0ZWxsdCIsImRlZiI6IiJ9LAogICAgICAgICJSZWZyZXNoIjp7Im5hbWUiOiJSZWZyZXNoIiwidHlwZSI6ImJvb2xlYW4iLCJyb2xlIjoiIiwicmVhZCI6dHJ1ZSwid3JpdGUiOnRydWUsImRlc2MiOiJ2b24gU2tyaXB0IGVyc3RlbGx0IiwiZGVmIjpmYWxzZX0sCiAgICAgICAgIkV4Y2VsIjp7Im5hbWUiOiJIb2xlIEV4Y2VsZGF0ZWkiLCJ0eXBlIjoiYm9vbGVhbiIsInJvbGUiOiIiLCJyZWFkIjp0cnVlLCJ3cml0ZSI6dHJ1ZSwiZGVzYyI6InZvbiBTa3JpcHQgZXJzdGVsbHQiLCJkZWYiOmZhbHNlfSwKICAgIH0KICAgIGNvbnN0IHN0YXRlQXR0cmliVEcgPSB7CiAgICAgICAgImpzb24iOnsibmFtZSI6IkRhdGVuIiwidHlwZSI6InN0cmluZyIsInJvbGUiOiIiLCJyZWFkIjp0cnVlLCJ3cml0ZSI6dHJ1ZSwiZGVzYyI6InZvbiBTa3JpcHQgZXJzdGVsbHQiLCJkZWYiOiIifSwKICAgICAgICAiUmVmcmVzaCI6eyJuYW1lIjoiUmVmcmVzaCIsInR5cGUiOiJib29sZWFuIiwicm9sZSI6IiIsInJlYWQiOnRydWUsIndyaXRlIjp0cnVlLCJkZXNjIjoidm9uIFNrcmlwdCBlcnN0ZWxsdCIsImRlZiI6ZmFsc2V9LAogICAgICAgICJFeGNlbCI6eyJuYW1lIjoiSG9sZSBFeGNlbGRhdGVpIiwidHlwZSI6ImJvb2xlYW4iLCJyb2xlIjoiIiwicmVhZCI6dHJ1ZSwid3JpdGUiOnRydWUsImRlc2MiOiJ2b24gU2tyaXB0IGVyc3RlbGx0IiwiZGVmIjpmYWxzZX0sICAgICAgICAKICAgIH0KICAgIGNvbnN0IHN0YXRlQXR0cmliRW1haWwgPSB7CiAgICAgICAgImpzb24iOnsibmFtZSI6IkRhdGVuIiwidHlwZSI6InN0cmluZyIsInJvbGUiOiIiLCJyZWFkIjp0cnVlLCJ3cml0ZSI6dHJ1ZSwiZGVzYyI6InZvbiBTa3JpcHQgZXJzdGVsbHQiLCJkZWYiOiIifSwKICAgICAgICAiUmVmcmVzaCI6eyJuYW1lIjoiUmVmcmVzaCIsInR5cGUiOiJib29sZWFuIiwicm9sZSI6IiIsInJlYWQiOnRydWUsIndyaXRlIjp0cnVlLCJkZXNjIjoidm9uIFNrcmlwdCBlcnN0ZWxsdCIsImRlZiI6ZmFsc2V9LAogICAgICAgICJFeGNlbCI6eyJuYW1lIjoiSG9sZSBFeGNlbGRhdGVpIiwidHlwZSI6ImJvb2xlYW4iLCJyb2xlIjoiIiwicmVhZCI6dHJ1ZSwid3JpdGUiOnRydWUsImRlc2MiOiJ2b24gU2tyaXB0IGVyc3RlbGx0IiwiZGVmIjpmYWxzZX0sICAgICAgICAKICAgIH0KICAgIGZvcihsZXQga2V5IGluIHN0YXRlQXR0cmlidXRlcykgewogCiAgICAgICAgaWRLZXkgPSBpZEJhc2UgKyBzdWJLZXkgKyBrZXk7CiAKICAgICAgICBpZiAoIShhd2FpdCBleGlzdHNTdGF0ZUFzeW5jKGlkS2V5KSkpIHsKICAgICAgICAgICAgZHAgPSBzdGF0ZUF0dHJpYnV0ZXNba2V5XTsKICAgICAgICAgICAgZmlyc3RSdW4gPSB0cnVlOwogICAgICAgICAgICBhd2FpdCBjcmVhdGVTdGF0ZUFzeW5jKGlkS2V5LCBkcCk7CiAgICAgICAgfQogICAgfQogICAgCiAgICBpZiAoVGVsZWdyYW1fdmVyd2VuZGVuKXsKICAgICAgICBmb3IobGV0IGtleSBpbiBzdGF0ZUF0dHJpYlRHKSB7CiAgICAKICAgICAgICAgICAgaWRLZXkgPSBpZEJhc2UgKyBzdWJLZXkgKyAnVGVsZWdyYW0uJyArIGtleTsKICAgIAogICAgICAgICAgICBpZiAoIShhd2FpdCBleGlzdHNTdGF0ZUFzeW5jKGlkS2V5KSkpIHsKICAgICAgICAgICAgICAgIGRwID0gc3RhdGVBdHRyaWJ1dGVzW2tleV07CiAgICAgICAgICAgICAgICBmaXJzdFJ1biA9IHRydWU7CiAgICAgICAgICAgICAgICBhd2FpdCBjcmVhdGVTdGF0ZUFzeW5jKGlkS2V5LCBkcCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICAKICAgIGlmIChFbWFpbF92ZXJ3ZW5kZW4pewogICAgICAgIGZvcihsZXQga2V5IGluIHN0YXRlQXR0cmliRW1haWwpIHsKICAgIAogICAgICAgICAgICBpZEtleSA9IGlkQmFzZSArIHN1YktleSArICdFbWFpbC4nICsga2V5OwogICAgCiAgICAgICAgICAgIGlmICghKGF3YWl0IGV4aXN0c1N0YXRlQXN5bmMoaWRLZXkpKSkgewogICAgICAgICAgICAgICAgZHAgPSBzdGF0ZUF0dHJpYnV0ZXNba2V5XTsKICAgICAgICAgICAgICAgIGZpcnN0UnVuID0gdHJ1ZTsKICAgICAgICAgICAgICAgIGF3YWl0IGNyZWF0ZVN0YXRlQXN5bmMoaWRLZXksIGRwKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBmaXJzdFJ1bjsKfQoKaW5pdCgpOwo=</field>
         <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
       </block>
       <block type="variables_set" id="f^BE]x{MbV+}S:P4.D_i" x="13" y="38">
         <field name="VAR" id="(m7C_|Q2cbal%.{Hr9aN">subKey</field>
         <value name="VALUE">
           <block type="text" id="1r2EpbBX6=t+lr==u|f9">
             <field name="TEXT">.Haus.</field>
           </block>
         </value>
         <next>
           <block type="variables_set" id="]R?O8fEB0/9Mimg{5G+n">
             <field name="VAR" id="50Z)2$?Be=m.c4!*vx+k">anlegen_in</field>
             <value name="VALUE">
               <block type="text" id="WeFb$m8,;lV1p#(K4/CW">
                 <field name="TEXT">0_userdata.0.TestApp</field>
               </block>
             </value>
             <next>
               <block type="variables_set" id="6$b/v%pAHs[+4Dp?Yk.;">
                 <field name="VAR" id=":{}_qJr.-Nf?Gw0G]ih|">Email_verwenden</field>
                 <value name="VALUE">
                   <block type="logic_boolean" id="9MC7}^?^TJXm%{0%W{uP">
                     <field name="BOOL">TRUE</field>
                   </block>
                 </value>
                 <next>
                   <block type="variables_set" id="FGW2v!1.^I2vkrF]tf.7">
                     <field name="VAR" id=".g|S5B178Z0hi(5zzlg*">Telegram_verwenden</field>
                     <value name="VALUE">
                       <block type="logic_boolean" id="(WNV$q0jI,pA[C4`^F0%">
                         <field name="BOOL">TRUE</field>
                       </block>
                     </value>
                     <next>
                       <block type="procedures_callcustomnoreturn" id="pG##/69xE{Rypf9~TW5y">
                         <mutation name="Datenpunkte_anlegen">
                           <arg name="subKey"></arg>
                         </mutation>
                         <value name="ARG0">
                           <block type="variables_get" id="4Xk@]uExnB92Ql88-#8c">
                             <field name="VAR" id="(m7C_|Q2cbal%.{Hr9aN">subKey</field>
                           </block>
                         </value>
                         <next>
                           <block type="variables_set" id="ZHDKh0L$;5=bVn@#qa/3">
                             <field name="VAR" id="xHz3Sa?;(*/32eT%pB_i">Test_DP</field>
                             <value name="VALUE">
                               <block type="text_join" id="9Fc^^u/Dv.!|Qcf~[_Ip">
                                 <mutation items="3"></mutation>
                                 <value name="ADD0">
                                   <block type="variables_get" id="~linCS?uDU:Y#:cZPDcL">
                                     <field name="VAR" id="50Z)2$?Be=m.c4!*vx+k">anlegen_in</field>
                                   </block>
                                 </value>
                                 <value name="ADD1">
                                   <block type="variables_get" id="/QXPxU{dTHQdp]:^QL#b">
                                     <field name="VAR" id="(m7C_|Q2cbal%.{Hr9aN">subKey</field>
                                   </block>
                                 </value>
                                 <value name="ADD2">
                                   <block type="text" id="){)~AA/Gqi6n`mS!/${Q">
                                     <field name="TEXT">Excel</field>
                                   </block>
                                 </value>
                               </block>
                             </value>
                             <next>
                               <block type="debug" id="umnxNUW]NKC_JAJR`a7z">
                                 <field name="Severity">log</field>
                                 <value name="TEXT">
                                   <shadow type="text" id="0A9s:5Um/Um!)w^~v156">
                                     <field name="TEXT">mach irgendwas</field>
                                   </shadow>
                                 </value>
                                 <next>
                                   <block type="control_ex" id="x2Ui-/Pto*06r$s{aL-I" inline="true">
                                     <field name="TYPE">true</field>
                                     <field name="CLEAR_RUNNING">FALSE</field>
                                     <value name="OID">
                                       <shadow type="field_oid" id="MiS7$HdUIS52r#KlxMP+">
                                         <field name="oid">Object ID</field>
                                       </shadow>
                                       <block type="variables_get" id="Ra);[JC@~t2pIf/G,C76">
                                         <field name="VAR" id="xHz3Sa?;(*/32eT%pB_i">Test_DP</field>
                                       </block>
                                     </value>
                                     <value name="VALUE">
                                       <shadow type="logic_boolean" id="-jNfpz4K^`IXOgPZ:XZy">
                                         <field name="BOOL">TRUE</field>
                                       </shadow>
                                     </value>
                                     <value name="DELAY_MS">
                                       <shadow type="math_number" id="qt09Y!I/zfa6H!F*T]W-">
                                         <field name="NUM">60000</field>
                                       </shadow>
                                     </value>
                                   </block>
                                 </next>
                               </block>
                             </next>
                           </block>
                         </next>
                       </block>
                     </next>
                   </block>
                 </next>
               </block>
             </next>
           </block>
         </next>
       </block>
      </xml>
      

      F Offline
      F Offline
      fastfoot
      schrieb am zuletzt editiert von
      #6

      @dslraser der Aufruf von work() in der Funktion wird nicht gebraucht, ich könnte mich da aber auch irren da man die Funktion nicht mit await aufrufen kann, so wie in Javascript gezeigt. Evtl. wieder einbauen :-)

      iobroker läuft unter Docker auf QNAP TS-451+
      SkriptRecovery: https://forum.iobroker.net/post/930558

      1 Antwort Letzte Antwort
      0
      • dslraserD dslraser

        @fastfoot sagte in async-await:

        Ich hoffe das macht für dich Sinn und passt grob, sonst verfeinern wir das

        Ich glaube damit komme ich weiter und fange an es zu verstehen (ich bin sonst Blockly Mensch)
        Bei weiteren Fragen melde ich mich wieder.
        Und Danke für Deine Hilfe.

        F Offline
        F Offline
        fastfoot
        schrieb am zuletzt editiert von
        #7

        @dslraser sagte in async-await:

        @fastfoot sagte in async-await:

        Ich hoffe das macht für dich Sinn und passt grob, sonst verfeinern wir das

        Ich glaube damit komme ich weiter und fange an es zu verstehen (ich bin sonst Blockly Mensch)
        Bei weiteren Fragen melde ich mich wieder.
        Und Danke für Deine Hilfe.

        sehr gerne, ich bin mittlerweile kmpl. weg von Blockly, mir ist mein Bildschirm zu klein für die großen Blöcke. Aber letztlich war Blockly mein Einstieg in JS.

        iobroker läuft unter Docker auf QNAP TS-451+
        SkriptRecovery: https://forum.iobroker.net/post/930558

        1 Antwort Letzte Antwort
        1
        • dslraserD dslraser

          @fastfoot sagte in async-await:

          Ich hoffe das macht für dich Sinn und passt grob, sonst verfeinern wir das

          Ich glaube damit komme ich weiter und fange an es zu verstehen (ich bin sonst Blockly Mensch)
          Bei weiteren Fragen melde ich mich wieder.
          Und Danke für Deine Hilfe.

          F Offline
          F Offline
          fastfoot
          schrieb am zuletzt editiert von
          #8

          @dslraser ich habe mir gerade mal angesehen wie du das jetzt konkret machst. Eigentlich hast du ja schon 'Alles' und willst nur einen Ersatz für function createUserStates(where, force, statesToCreate, callback = undefined) {} innerhalb deiner Funktion Datenpunkte_anlegen, verstehe ich das richtig? Dann könnte man ja erstmal die Funktion createDatapoints() so umschreiben dass sie die alte Version ersetzen kann. Du hast ja schon so etwas wie statesAttribxxx in Verwendung.

          iobroker läuft unter Docker auf QNAP TS-451+
          SkriptRecovery: https://forum.iobroker.net/post/930558

          dslraserD 1 Antwort Letzte Antwort
          0
          • F fastfoot

            @dslraser ich habe mir gerade mal angesehen wie du das jetzt konkret machst. Eigentlich hast du ja schon 'Alles' und willst nur einen Ersatz für function createUserStates(where, force, statesToCreate, callback = undefined) {} innerhalb deiner Funktion Datenpunkte_anlegen, verstehe ich das richtig? Dann könnte man ja erstmal die Funktion createDatapoints() so umschreiben dass sie die alte Version ersetzen kann. Du hast ja schon so etwas wie statesAttribxxx in Verwendung.

            dslraserD Offline
            dslraserD Offline
            dslraser
            Forum Testing Most Active
            schrieb am zuletzt editiert von
            #9

            @fastfoot sagte in async-await:

            @dslraser ich habe mir gerade mal angesehen wie du das jetzt konkret machst. Eigentlich hast du ja schon 'Alles' und willst nur einen Ersatz für function createUserStates(where, force, statesToCreate, callback = undefined) {} innerhalb deiner Funktion Datenpunkte_anlegen, verstehe ich das richtig? Dann könnte man ja erstmal die Funktion createDatapoints() so umschreiben dass sie die alte Version ersetzen kann. Du hast ja schon so etwas wie statesAttribxxx in Verwendung.

            verstehe ich das richtig?

            genau, die Funktion Datenpunkte_anlegen möchte ich quasi "updaten"

            F 1 Antwort Letzte Antwort
            0
            • dslraserD dslraser

              @fastfoot sagte in async-await:

              @dslraser ich habe mir gerade mal angesehen wie du das jetzt konkret machst. Eigentlich hast du ja schon 'Alles' und willst nur einen Ersatz für function createUserStates(where, force, statesToCreate, callback = undefined) {} innerhalb deiner Funktion Datenpunkte_anlegen, verstehe ich das richtig? Dann könnte man ja erstmal die Funktion createDatapoints() so umschreiben dass sie die alte Version ersetzen kann. Du hast ja schon so etwas wie statesAttribxxx in Verwendung.

              verstehe ich das richtig?

              genau, die Funktion Datenpunkte_anlegen möchte ich quasi "updaten"

              F Offline
              F Offline
              fastfoot
              schrieb am zuletzt editiert von
              #10

              @dslraser sagte in async-await:

              genau, die Funktion Datenpunkte_anlegen möchte ich quasi "updaten"

              das macht es relativ einfach und meine dargelegte Logik erstmal obsolete. Bin nicht sicher ob ich das heute schaffe aber bis morgen kann ich dir das gerne umschreiben

              iobroker läuft unter Docker auf QNAP TS-451+
              SkriptRecovery: https://forum.iobroker.net/post/930558

              dslraserD 1 Antwort Letzte Antwort
              0
              • F fastfoot

                @dslraser sagte in async-await:

                genau, die Funktion Datenpunkte_anlegen möchte ich quasi "updaten"

                das macht es relativ einfach und meine dargelegte Logik erstmal obsolete. Bin nicht sicher ob ich das heute schaffe aber bis morgen kann ich dir das gerne umschreiben

                dslraserD Offline
                dslraserD Offline
                dslraser
                Forum Testing Most Active
                schrieb am zuletzt editiert von
                #11

                @fastfoot sagte in async-await:

                das macht es relativ einfach und meine dargelegte Logik erstmal obsolete. Bin nicht sicher ob ich das heute schaffe aber bis morgen kann ich dir das gerne umschreiben

                das wäre prima. es eilt nicht, lasse Dir gern die Zeit die Du brauchst. Es dauert so lange wie es dauert.

                F 1 Antwort Letzte Antwort
                0
                • dslraserD dslraser

                  @fastfoot sagte in async-await:

                  das macht es relativ einfach und meine dargelegte Logik erstmal obsolete. Bin nicht sicher ob ich das heute schaffe aber bis morgen kann ich dir das gerne umschreiben

                  das wäre prima. es eilt nicht, lasse Dir gern die Zeit die Du brauchst. Es dauert so lange wie es dauert.

                  F Offline
                  F Offline
                  fastfoot
                  schrieb am zuletzt editiert von
                  #12

                  @dslraser sagte in async-await:

                  @fastfoot sagte in async-await:

                  das macht es relativ einfach und meine dargelegte Logik erstmal obsolete. Bin nicht sicher ob ich das heute schaffe aber bis morgen kann ich dir das gerne umschreiben

                  das wäre prima. es eilt nicht, lasse Dir gern die Zeit die Du brauchst. Es dauert so lange wie es dauert.

                  ist fertig. Die Hauptarbeit bestand leider darin, deine Datenstruktur von einem Array in ein Objekt abzuändern. Es ist mir nicht gelungen die DP in einer Array.forEach-Schleife anzulegen. Scheinbar gibt es dann Timingprobleme oder sonstwas, iobroker meldet keinen Fehler, aber die DP werden nicht angelegt bzw. nur der letzte Eintrag. Da ich nur fortgeschrittener blutiger Anfänger(tm) bin, liegt es evtl. auch an einer falschen Umsetzung meinerseits. Mit einer Schleife über die keys eines Objektes gibt es dagegen keine Probleme.

                  Schau mal ob du damit leben kannst/willst, ich bin nicht ganz zufrieden damit, das liegt aber teilweise daran dass ich an deiner Struktur nichts abändern wollte. Getestet habe ich es mit der Lichter Version, aber nur DP anlegen da ich das passende Setup nicht habe

                  let Pfad = '', statesToCreate = {}, dpId = '';
                  const geraetePfad = '.Geraete_zaehlen.Lichter.';
                  
                  async function createUserStates(where, statesToCreate) {
                     let dp,
                     	idKey;
                     for(let key in statesToCreate) {
                     	idKey = where + '.' + key;
                     	if (!(await existsStateAsync(idKey))) {
                     		dp = statesToCreate[key];
                     		await createStateAsync(idKey, dp);
                     	}
                     }
                  }
                  
                  //let iqontrol_vorhanden =  'system.adapter.iqontrol'; //prüfen ob iqontol installiert ist
                  //let iot_vorhanden =  'system.adapter.iot'; //prüfen ob iot installiert ist
                  
                  //#####################################################################################################################################################################################################################################################################################################################################################################################
                  
                  //Ansage Button Lichteransage anlegen
                  if (Alexa_Ansage_verwenden == true && Lichter_verwenden == true){
                     statesToCreate = {
                     	'01_Alexa_Routinebutton': { 'name': '01_Alexa_Routinebutton', 'type': 'boolean', 'read': false, 'write': true, 'role': 'button', 'def': true, "smartName": { "de": 'Lichteransage ' + [etage], "smartType": "SWITCH" } }
                     }
                     Pfad = anlegen_in + geraetePfad + etage + '.04_Alexa';
                     await createUserStates(Pfad, statesToCreate)
                  };
                  
                  //Lichter  Datenpunkte anlegen
                  if (Lichter_verwenden == true) {
                     statesToCreate = {
                     	'01_Lichter_Anzahl_gesamt': { "name": '01_Lichter_Anzahl_gesamt', 'type': 'number', 'read': true, 'write': false, 'role': 'number', 'unit': 'Lichter', 'def': 0 },
                     	'02_Lichter_Anzahl_eingeschaltet': { "name": '02_Lichter_Anzahl_eingeschaltet', 'type': 'number', 'read': true, 'write': false, 'role': 'number', 'unit': 'Lichter', 'def': 0 },
                     	'03_Lichter_Anzahl_ausgeschaltet': { "name": '03_Lichter_Anzahl_ausgeschaltet', 'type': 'number', 'read': true, 'write': false, 'role': 'number', 'unit': 'Lichter', 'def': 0 },
                     	'04_eingeschaltete_Lichter_Liste': { "name": '04_eingeschaltete_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': 'noch leer' },
                     	'05_gesamte_Lichter_Liste': { "name": '05_gesamte_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': 'noch leer' },
                     	'06_html_Lichter_Liste': { "name": '06_html_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'html', 'def': 'noch leer' },
                     	'07_Lichter_Liste_mit_Emojis': { "name": '07_Lichter_Liste_mit_Emojis', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': 'noch leer' },
                     	'08_Lichter_Emoji_eingeschaltet': { "name": '08_Lichter_Emoji_eingeschaltet', 'type': 'mixed', 'read': true, 'write': true, 'role': 'mixed' },
                     	'09_Lichter_Emoji_ausgeschaltet': { "name": '09_Lichter_Emoji_ausgeschaltet', 'type': 'mixed', 'read': true, 'write': true, 'role': 'mixed' },
                     	'10_html_nur_eingeschaltete_Lichter_Liste': { "name": '10_html_nur_eingeschaltete_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'html', 'def': 'noch leer' },
                     }
                     Pfad = anlegen_in + geraetePfad + etage + '.01_Anzeigen_und_Listen';
                     await createUserStates(Pfad, statesToCreate)
                  
                     ///////////////////////////////////
                     // iQontrol Trigger und Schalter //
                     /////////////////////////////////// 
                     statesToCreate = {
                     	'01_Thema_hell_Lichter_Liste': { "name": '01_Thema_hell_Lichter_Liste', 'type': 'boolean', 'read': true, 'write': true, 'role': 'switch', 'def': true },
                     	'02_Thema_dunkel_Lichter_Liste': { "name": '02_Thema_dunkel_Lichter_Liste', 'type': 'boolean', 'read': true, 'write': true, 'role': 'switch', 'def': false },
                     	'03_Thema_eigenes_Lichter_Liste': { "name": '03_Thema_eigenes_Lichter_Liste', 'type': 'boolean', 'read': true, 'write': true, 'role': 'switch', 'def': false },
                     	'04_Trigger_Tabelle_iQontrol_Lichter_Liste': { "name": '04_Trigger_Tabelle_iQontrol_Lichter_Liste', 'type': 'boolean', 'read': false, 'write': true, 'role': 'button', 'def': true },
                     	'05_Schalter_fuer_Button_Tabelle_Lichter_Liste': { "name": '05_Schalter_fuer_Button_Tabelle_Lichter_Liste', 'type': 'boolean', 'read': true, 'write': true, 'role': 'switch', 'def': false },
                     	'06_Trigger_Farbe_iQontrol_Lichter_Liste': { "name": '06_Trigger_Farbe_iQontrol_Lichter_Liste', 'type': 'boolean', 'read': false, 'write': true, 'role': 'button', 'def': true },
                     	'07_Umschalter_Farbe_Lichter_Liste': { "name": '07_Umschalter_Farbe_Lichter_Liste', 'type': 'number', 'read': true, 'write': false, 'role': 'number', 'def': 0 },
                     	'08_Geraetestatus_in_Ueberschrift_an_aus': { "name": '08_Geraetestatus_in_Ueberschrift_an_aus', 'type': 'boolean', 'read': true, 'write': true, 'role': 'switch', 'def': true },
                     	'09_Geraete_in_HTML_Liste_schaltbar': { "name": '09_Geraete_in_HTML_Liste_schaltbar', 'type': 'boolean', 'read': true, 'write': true, 'role': 'switch', 'def': true },
                     }
                     Pfad = anlegen_in + geraetePfad + etage + '.02_Trigger_und_Schalter';
                     await createUserStates(Pfad, statesToCreate)
                     ///////////////////////////////////////////////
                     // HTML Daten Hell-Dunkel nicht beschreibbar //
                     ///////////////////////////////////////////////
                     statesToCreate = {
                     	'01_Hintergrundfarbe_Lichter_Liste': { "name": '01_Hintergrundfarbe_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': 'white' },
                     	//Rahmen Kopf
                     	'02_Rahmenbreite_Kopf_Lichter_Liste': { "name": '02_Rahmenbreite_Kopf_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': '0' },
                     	'03_Rahmenstyle_Kopf_Lichter_Liste': { "name": '03_Rahmenstyle_Kopf_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': 'solid' },
                     	'04_Rahmenfarbe_Kopf_Lichter_Liste': { "name": '04_Rahmenfarbe_Kopf_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': 'black' },
                     	//Rahmen Überschrift
                     	'05_Rahmenbreite_Ueberschrift_Lichter_Liste': { "name": '05_Rahmenbreite_Ueberschrift_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': '0' },
                     	'06_Rahmenstyle_Ueberschrift_Lichter_Liste': { "name": '06_Rahmenstyle_Ueberschrift_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': 'solid' },
                     	'07_Rahmenfarbe_Ueberschrift_Lichter_Liste': { "name": '07_Rahmenfarbe_Ueberschrift_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': 'black' },
                     	//Rahmen Tabelle aussen
                     	'08_Rahmenbreite_Tabelle_aussen_Lichter_Liste': { "name": '08_Rahmenbreite_Tabelle_aussen_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': '5' },
                     	'09_Rahmenstyle_Tabelle_aussen_Lichter_Liste': { "name": '09_Rahmenstyle_Tabelle_aussen_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': 'solid' },
                     	'10_Rahmenfarbe_Tabelle_aussen_Lichter_Liste': { "name": '10_Rahmenfarbe_Tabelle_aussen_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': 'black' },
                     	//Ueberschrift
                     	'11_Ueberschrift_Schriftgroesse_Lichter_Liste': { "name": '11_Ueberschrift_Schriftgroesse_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': '4' },
                     	'12_Ueberschrift_Farbe_Lichter_Liste': { "name": '12_Ueberschrift_Farbe_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': 'black' },
                     	'13_Ueberschrift_Schriftart_Lichter_Liste': { "name": '13_Ueberschrift_Schriftart_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': 'apple' },
                     	//Bild links
                     	'14_Bild_links_Lichter_Liste': { "name": '14_Bild_links_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': ' data:image/png;base64,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' },
                     	'15_Bild_links_Hoehe_Lichter_Liste': { "name": '15_Bild_links_Hoehe_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': '8' },
                     	'16_Bild_links_Breite_Lichter_Liste': { "name": '16_Bild_links_Breite_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': '8' },
                     	'17_Bild_links_Abstand_links_Lichter_Liste': { "name": '17_Bild_links_Abstand_links_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': '0' },
                     	'18_Bild_links_Abstand_oben_Lichter_Liste': { "name": '18_Bild_links_Abstand_oben_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': '0' },
                     	'19_Bild_links_Abstand_unten_Lichter_Liste': { "name": '19_Bild_links_Abstand_unten_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': '0' },
                     	'20_Bild_links_Abstand_rechts_Lichter_Liste': { "name": '20_Bild_links_Abstand_rechts_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': '0' },
                     	//Bild rechts
                     	'21_Bild_rechts_Lichter_Liste': { "name": '21_Bild_rechts_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': ' data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAMAAABHPGVmAAAAUVBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcqRVCAAAAGnRSTlMAECAwP0BQYG9wf4CPkJ+gr7C/wM/Q3+Dv8DtSRt8AAAMESURBVGje7ZndkqMgEEbBhIzEmfgvet7/QfdCM7uKBlBi1Val79JWOEIj/XUjxMc+dobJtOqIYl2VynXGvSei9fe1aRREtsKeTHQGFEtGBmB0Eie6iTYA2WKxeqCVETdRC/TzATVgZNStOgB65qotz2HTQDnzdEASF5IA3cwDEPvbtsb8QP5TyPX+GI/prnrcr2+AyLRaHk2bx/lOiNo4PgsVDaKq7ZO2UlEg8vEc0ORaJUIIkSidm6f3IY9DblO+bJdpINHtlANvRyHf40D16qqoenz6fQgy5eR2c+FVu71knhDZgCsHaAAauRcyMszl9Td3MRsUP0iBV06WLcBjH+QHz7w/Un72QG54a4uRcguHyD5AW0hjaxMfSA5w8T3WLwB5KEQRpl80gAqEVEAbkqJaoAqDKPvFHGb/wwkpgTos29ZLMeeCyOCJTFORARAdGhEhhDDAVwBklzTWiyV2QdgjjZOVQV5AFGDChZaZB9IByezP18fyeXHlgOT7qhU9fzcHpJ7POym6rlgJ0dKv5pF3QOYlUdID9BbF8i/KHgdk/qscJUm5hNj+V6M4Hk/Cq1tCbP8ByDDpxyXE9h+AvGm5zDzwA8BgB37pT17Ny7mFS2PKtS288Idt4VM+xlOOFbW2Y93WBR2Qpxz15yQtDTR7Visk/Z4iJERpSTWnVaGS6BxxJ+rQqDSWHIwvuLM9gntP6fATXgQNQOdbBHXAEF4EjeVc41fONWv7xL8w9aGMjGxfiZ37UUZGvrdZ0AJ0rmZBt1Em+7Y9xs5J+oqRslWKezdwRrHQbDdwxu5LfqCB84z+VoPu2dLLDjfVJnnVpcumWjpdgA0qQnsw/70Oe6TXsT14TR+/V2x5hPbgPw26NavjNDqFEEKV64gyXstWCCHklzWd+itu83maT5bXBsDUeebOaJ+rjQ/kb2n2hitAYymgt19m6gDV4Kkteuu95eCtGjwZzYp+yQD6NNZVedqv5pky/qV/uZVpYzLWVj8bYiKGbCNYujRxCKbUUnzsY2fYH0Cu0ke796XoAAAAAElFTkSuQmCC' },
                     	'22_Bild_rechts_Hoehe_Lichter_Liste': { "name": '22_Bild_rechts_Hoehe_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': '8' },
                     	'23_Bild_rechts_Breite_Lichter_Liste': { "name": '23_Bild_rechts_Breite_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': '8' },
                     	'24_Bild_rechts_Abstand_links_Lichter_Liste': { "name": '24_Bild_rechts_Abstand_links_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': '0' },
                     	'25_Bild_rechts_Abstand_oben_Lichter_Liste': { "name": '25_Bild_rechts_Abstand_oben_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': '0' },
                     	'26_Bild_rechts_Abstand_unten_Lichter_Liste': { "name": '26_Bild_rechts_Abstand_unten_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': '0' },
                     	'27_Bild_rechts_Abstand_rechts_Lichter_Liste': { "name": '27_Bild_rechts_Abstand_rechts_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': '0' },
                     	//Abstand Kopf zur Tabelle
                     	'28_Abstand_Tabelle_zum_Kopf_Lichter_Liste': { "name": '28_Abstand_Tabelle_zum_Kopf_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': '4' },
                     	//Rahmen Tabelle
                     	'29_Rahmenbreite_Tabelle_innen_Lichter_Liste': { "name": '29_Rahmenbreite_Tabelle_innen_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': '1' },
                     	'30_Rahmenfarbe_Tabelle_innen_Lichter_Liste': { "name": '30_Rahmenfarbe_Tabelle_innen_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': 'black' },
                     	//Schrift in der Tabelle aktive Geräte
                     	'31_Tabelle_Schriftart_Lichter_Liste': { "name": '31_Tabelle_Schriftart_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': 'apple' },
                     	'32_Tabelle_Schriftfarbe_aktives_Geraet_Lichter_Liste': { "name": '32_Tabelle_Schriftfarbe_aktives_Geraet_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': 'red' },
                     	'33_Tabelle_Schriftgroesse_aktives_Geraet_Lichter_Liste': { "name": '33_Tabelle_Schriftgroesse_aktives_Geraet_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': '3.5' },
                     	'34_Tabelle_Schriftfarbe_aktives_Geraet_Status_Lichter_Liste': { "name": '34_Tabelle_Schriftfarbe_aktives_Geraet_Status_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': 'red' },
                     	'35_Tabelle_Schriftgroesse_aktives_Geraet_Status_Lichter_Liste': { "name": '35_Tabelle_Schriftgroesse_aktives_Geraet_Status_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': '3.5' },
                     	//Schrift in der Tabelle inaktive Geräte
                     	'36_Tabelle_Schriftfarbe_inaktives_Geraet_Lichter_Liste': { "name": '36_Tabelle_Schriftfarbe_inaktives_Geraet_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': 'black' },
                     	'37_Tabelle_Schriftgroesse_inaktives_Geraet_Lichter_Liste': { "name": '37_Tabelle_Schriftgroesse_inaktives_Geraet_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': '3.5' },
                     	'38_Tabelle_Schriftfarbe_inaktives_Geraet_Status_Lichter_Liste': { "name": '38_Tabelle_Schriftfarbe_inaktives_Geraet_Status_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': 'black' },
                     	'39_Tabelle_Schriftgroesse_inaktives_Geraet_Status_Lichter_Liste': { "name": '39_Tabelle_Schriftgroesse_inaktives_Geraet_Status_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': '3.5' },
                     	//Schriftgroesse Status Geräte Ueberschrift
                     	'40_Ueberschrift_Schriftgroesse_aktive_Geraete': { "name": '40_Ueberschrift_Schriftgroesse_aktive_Geraete', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': '3' },
                     	//Groesse Schaltfeld    
                     	'41_Schaltfeld_Groesse_Lichter_Liste': { "name": '41_Schaltfeld_Groesse_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': '4' },
                     }
                     Pfad = anlegen_in + geraetePfad + etage + '.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung';
                     await createUserStates(Pfad, statesToCreate)
                     //////////////////////////////////////////////////
                     // HTML Daten eigene Einstellungen beschreibbar // 
                     //////////////////////////////////////////////////
                     statesToCreate = {
                     	'01_Hintergrundfarbe_Lichter_Liste': { "name": '01_Hintergrundfarbe_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                     	//Rahmen Kopf
                     	'02_Rahmenbreite_Kopf_Lichter_Liste': { "name": '02_Rahmenbreite_Kopf_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                     	'03_Rahmenstyle_Kopf_Lichter_Liste': { "name": '03_Rahmenstyle_Kopf_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                     	'04_Rahmenfarbe_Kopf_Lichter_Liste': { "name": '04_Rahmenfarbe_Kopf_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                     	//Rahmen Überschrift
                     	'05_Rahmenbreite_Ueberschrift_Lichter_Liste': { "name": '05_Rahmenbreite_Ueberschrift_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                     	'06_Rahmenstyle_Ueberschrift_Lichter_Liste': { "name": '06_Rahmenstyle_Ueberschrift_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                     	'07_Rahmenfarbe_Ueberschrift_Lichter_Liste': { "name": '07_Rahmenfarbe_Ueberschrift_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                     	//Rahmen Tabelle aussen
                     	'08_Rahmenbreite_Tabelle_aussen_Lichter_Liste': { "name": '08_Rahmenbreite_Tabelle_aussen_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                     	'09_Rahmenstyle_Tabelle_aussen_Lichter_Liste': { "name": '09_Rahmenstyle_Tabelle_aussen_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                     	'10_Rahmenfarbe_Tabelle_aussen_Lichter_Liste': { "name": '10_Rahmenfarbe_Tabelle_aussen_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                     	//Ueberschrift
                     	'11_Ueberschrift_Schriftgroesse_Lichter_Liste': { "name": '11_Ueberschrift_Schriftgroesse_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                     	'12_Ueberschrift_Farbe_Lichter_Liste': { "name": '12_Ueberschrift_Farbe_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                     	'13_Ueberschrift_Schriftart_Lichter_Liste': { "name": '13_Ueberschrift_Schriftart_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                     	//Bild links
                     	'14_Bild_links_Lichter_Liste': { "name": '14_Bild_links_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                     	'15_Bild_links_Hoehe_Lichter_Liste': { "name": '15_Bild_links_Hoehe_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                     	'16_Bild_links_Breite_Lichter_Liste': { "name": '16_Bild_links_Breite_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                     	'17_Bild_links_Abstand_links_Lichter_Liste': { "name": '17_Bild_links_Abstand_links_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                     	'18_Bild_links_Abstand_oben_Lichter_Liste': { "name": '18_Bild_links_Abstand_oben_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                     	'19_Bild_links_Abstand_unten_Lichter_Liste': { "name": '19_Bild_links_Abstand_unten_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                     	'20_Bild_links_Abstand_rechts_Lichter_Liste': { "name": '20_Bild_links_Abstand_rechts_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                     	//Bild rechts
                     	'21_Bild_rechts_Lichter_Liste': { "name": '21_Bild_rechts_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                     	'22_Bild_rechts_Hoehe_Lichter_Liste': { "name": '22_Bild_rechts_Hoehe_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                     	'23_Bild_rechts_Breite_Lichter_Liste': { "name": '23_Bild_rechts_Breite_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                     	'24_Bild_rechts_Abstand_links_Lichter_Liste': { "name": '24_Bild_rechts_Abstand_links_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                     	'25_Bild_rechts_Abstand_oben_Lichter_Liste': { "name": '25_Bild_rechts_Abstand_oben_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                     	'26_Bild_rechts_Abstand_unten_Lichter_Liste': { "name": '26_Bild_rechts_Abstand_unten_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                     	'27_Bild_rechts_Abstand_rechts_Lichter_Liste': { "name": '27_Bild_rechts_Abstand_rechts_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                     	//Abstand Kopf zur Tabelle
                     	'28_Abstand_Tabelle_zum_Kopf_Lichter_Liste': { "name": '28_Abstand_Tabelle_zum_Kopf_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                     	//Rahmen Tabelle
                     	'29_Rahmenbreite_Tabelle_innen_Lichter_Liste': { "name": '29_Rahmenbreite_Tabelle_innen_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                     	'30_Rahmenfarbe_Tabelle_innen_Lichter_Liste': { "name": '30_Rahmenfarbe_Tabelle_innen_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                     	//Schrift in der Tabelle aktive Gerätte
                     	'31_Tabelle_Schriftart_Lichter_Liste': { "name": '31_Tabelle_Schriftart_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                     	'32_Tabelle_Schriftfarbe_aktives_Geraet_Lichter_Liste': { "name": '32_Tabelle_Schriftfarbe_aktives_Geraet_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                     	'33_Tabelle_Schriftgroesse_aktives_Geraet_Lichter_Liste': { "name": '33_Tabelle_Schriftgroesse_aktives_Geraet_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                     	'34_Tabelle_Schriftfarbe_aktives_Geraet_Status_Lichter_Liste': { "name": '34_Tabelle_Schriftfarbe_aktives_Geraet_Status_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                     	'35_Tabelle_Schriftgroesse_aktives_Geraet_Status_Lichter_Liste': { "name": '35_Tabelle_Schriftgroesse_aktives_Geraet_Status_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                     	//Schrift in der Tabelle inaktive Gerätte
                     	'36_Tabelle_Schriftfarbe_inaktives_Geraet_Lichter_Liste': { "name": '36_Tabelle_Schriftfarbe_inaktives_Geraet_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                     	'37_Tabelle_Schriftgroesse_inaktives_Geraet_Lichter_Liste': { "name": '37_Tabelle_Schriftgroesse_inaktives_Geraet_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                     	'38_Tabelle_Schriftfarbe_inaktives_Geraet_Status_Lichter_Liste': { "name": '38_Tabelle_Schriftfarbe_inaktives_Geraet_Status_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                     	'39_Tabelle_Schriftgroesse_inaktives_Geraet_Status_Lichter_Liste': { "name": '39_Tabelle_Schriftgroesse_inaktives_Geraet_Status_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                     	//Schriftgroesse Status Geräte Ueberschrift
                     	'40_Ueberschrift_Schriftgroesse_aktive_Geraete': { "name": '40_Ueberschrift_Schriftgroesse_aktive_Geraete', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                     	//Groesse Schaltfeld    
                     	'41_Schaltfeld_Groesse_Lichter_Liste': { "name": '41_Schaltfeld_Groesse_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                     };
                     Pfad = anlegen_in + geraetePfad + etage + '.03_HTML_Daten.02_HTML_Eigene_Einstellungen';
                     await createUserStates(Pfad, statesToCreate)
                  };
                  
                  //Telegram Lichter  Nachrichtenversand anlegen mit SmartNamen
                  if (Lichter_verwenden == true && Telegram_verwenden == true && Alexa_Ansage_verwenden == true) {
                     dpId = 'Telegram_Lichter_' + [etage] + '_Versand_an_aus';
                     statesToCreate = {};
                     statesToCreate[dpId] = {
                     	"name": 'Telegram_Lichter_' + [etage] + '_Versand_an_aus', 'type': 'boolean', 'read': true, 'write': true, 'role': 'switch', 'def': false
                     };
                     Pfad = anlegen_in + geraetePfad + etage + '.05_Telegram';
                     await createUserStates(Pfad, statesToCreate)
                  
                     dpId = 'Telegram_Lichterstatus_' + [etage] + '_senden'
                     statesToCreate = {};
                     statesToCreate[dpId] = {
                     	"name": 'Telegram_Lichterstatus_' + [etage] + '_senden', 'type': 'boolean', 'read': true, 'write': true, 'role': 'button', 'def': true, "smartName": { "de": 'Telegram Lichterstatus ' + [etage] + ' senden', "smartType": "SWITCH" }
                     };
                     Pfad = anlegen_in + geraetePfad + etage + '.05_Telegram';
                     await createUserStates(Pfad, statesToCreate)
                  };
                  
                  //Telegram Lichter  Nachrichtenversand anlegen ohne SmartNamen
                  if (Lichter_verwenden == true && Telegram_verwenden == true && Alexa_Ansage_verwenden == false) {
                     dpId = 'Telegram_Lichter_' + [etage] + '_Versand_an_aus';
                     statesToCreate = {};
                     statesToCreate[dpId] = {
                     	"name": 'Telegram_Lichter_' + [etage] + '_Versand_an_aus', 'type': 'boolean', 'read': true, 'write': true, 'role': 'switch', 'def': false
                     };
                     Pfad = anlegen_in + geraetePfad + etage + '.05_Telegram';
                     await createUserStates(Pfad, statesToCreate)
                  
                     dpId = 'Telegram_Lichterstatus_' + [etage] + '_senden'
                     statesToCreate = {};
                     statesToCreate[dpId] = {
                     	"name": 'Telegram_Lichterstatus_' + [etage] + '_senden', 'type': 'boolean', 'read': true, 'write': true, 'role': 'button', 'def': true, "smartName": false
                     };
                     Pfad = anlegen_in + geraetePfad + etage + '.05_Telegram';
                     await createUserStates(Pfad, statesToCreate);
                  };
                  
                  //E-Mail Lichter Nachrichtenversand anlegen mit SmartNamen
                  if (Lichter_verwenden == true && Email_verwenden == true && Alexa_Ansage_verwenden == true){
                  
                     dpId = 'EMAIL_Lichter_'+[etage] + '_Versand_an_aus'
                     statesToCreate = {};
                     statesToCreate[dpId] = {
                     	"name": 'EMAIL_Lichter_' + [etage] + '_Versand_an_aus', 'type': 'boolean', 'read': true, 'write': true, 'role': 'switch', 'def': false
                     };
                     Pfad = anlegen_in + geraetePfad + etage + '.06_E-Mail';
                     await createUserStates(Pfad, statesToCreate)
                  
                     dpId = 'EMAIL_Lichterstatus_'+[etage]+'_senden'
                     statesToCreate = {};
                     statesToCreate[dpId] = {
                     	"name": 'EMAIL_Lichterstatus_' + [etage] + '_senden', 'type': 'boolean', 'read': true, 'write': true, 'role': 'button', 'def': true, "smartName": { "de": 'EMAIL Lichterstatus ' + [etage] + ' senden', "smartType": "SWITCH" }
                     };
                     Pfad = anlegen_in + geraetePfad + etage + '.06_E-Mail';
                     await createUserStates(Pfad, statesToCreate)
                  };
                  
                  //E-Mail Lichter Nachrichtenversand anlegen mit SmartNamen
                  if (Lichter_verwenden == true && Email_verwenden == true && Alexa_Ansage_verwenden == false){
                     dpId = 'EMAIL_Lichter_'+[etage] + '_Versand_an_aus'
                     statesToCreate = {};
                     statesToCreate[dpId] = {
                     	"name": 'EMAIL_Lichter_' + [etage] + '_Versand_an_aus', 'type': 'boolean', 'read': true, 'write': true, 'role': 'switch', 'def': false
                     };
                     Pfad = anlegen_in + geraetePfad + etage + '.06_E-Mail';
                     await createUserStates(Pfad, statesToCreate)
                  
                     dpId = 'EMAIL_Lichterstatus_'+[etage]+'_senden'
                     statesToCreate = {};
                     statesToCreate[dpId] = {
                     	"name": 'EMAIL_Lichterstatus_' + [etage] + '_senden', 'type': 'boolean', 'read': true, 'write': true, 'role': 'button', 'def': true, "smartName": false
                     };
                     Pfad = anlegen_in + geraetePfad + etage + '.06_E-Mail';
                     await createUserStates(Pfad, statesToCreate)
                  };
                  
                  //#####################################################################################################################################################################################################################################################################################################################################################################################
                  
                  //Ab hier Datenpunkte löschen
                  //###############################################################################
                  
                  if (!Lichter_verwenden && anlegen_in.slice(0, 10) == 'javascript') {
                  const idsjs = $('javascript.*.Geraete_zaehlen.Lichter*');
                  idsjs.each(function(id, i) {
                    if(existsState(id)) deleteState(id);
                  })};
                  
                  if (!Lichter_verwenden && anlegen_in.slice(0, 10) == '0_userdata') {
                  const idsud = $('0_userdata.0.Geraete_zaehlen.Lichter*');
                  idsud.each(function(id, i) {
                    if(existsState(id)) deleteState(id);
                  })};
                  
                  //###############################################################################
                  
                  if (!Alexa_Ansage_verwenden && anlegen_in.slice(0, 10) == 'javascript') {
                  const idsjs = $('javascript.*.Geraete_zaehlen.Lichter.*.04_Alexa.*');  
                  idsjs.each(function(id, i) {
                    if(existsState(id)) deleteState(id);
                  })};
                  
                  if (!Alexa_Ansage_verwenden && anlegen_in.slice(0, 10) == '0_userdata') {
                  const idsud = $('0_userdata.0.Geraete_zaehlen.Lichter.*.04_Alexa.*');  
                  idsud.each(function(id, i) {
                    if(existsState(id)) deleteState(id);
                  })};
                  
                  //###############################################################################
                  
                  if (!Telegram_verwenden && anlegen_in.slice(0, 10) == 'javascript') {
                  const idsjs = $('javascript.*.Geraete_zaehlen.Lichter.*.05_Telegram.*'); 
                  idsjs.each(function(id, i) {
                    if(existsState(id)) deleteState(id);
                  })};
                  
                  if (!Telegram_verwenden && anlegen_in.slice(0, 10) == '0_userdata') {
                  const idsud = $('0_userdata.0.Geraete_zaehlen.Lichter.*.05_Telegram.*'); 
                  idsud.each(function(id, i) {
                    if(existsState(id)) deleteState(id);
                  })};
                  
                  //###############################################################################
                  
                  if (!Email_verwenden && anlegen_in.slice(0, 10) == 'javascript') {
                  const idsjs = $('javascript.*.Geraete_zaehlen.Lichter.*.06_E-Mail.*'); 
                  idsjs.each(function(id, i) {
                    if(existsState(id)) deleteState(id);
                  })};
                  
                  if (!Email_verwenden && anlegen_in.slice(0, 10) == '0_userdata') {
                  const idsud = $('0_userdata.0.Geraete_zaehlen.Lichter.*.06_E-Mail.*'); 
                  idsud.each(function(id, i) {
                    if(existsState(id)) deleteState(id);
                  })};
                  
                  //###############################################################################
                  main();
                  

                  iobroker läuft unter Docker auf QNAP TS-451+
                  SkriptRecovery: https://forum.iobroker.net/post/930558

                  dslraserD 1 Antwort Letzte Antwort
                  1
                  • F fastfoot

                    @dslraser sagte in async-await:

                    @fastfoot sagte in async-await:

                    das macht es relativ einfach und meine dargelegte Logik erstmal obsolete. Bin nicht sicher ob ich das heute schaffe aber bis morgen kann ich dir das gerne umschreiben

                    das wäre prima. es eilt nicht, lasse Dir gern die Zeit die Du brauchst. Es dauert so lange wie es dauert.

                    ist fertig. Die Hauptarbeit bestand leider darin, deine Datenstruktur von einem Array in ein Objekt abzuändern. Es ist mir nicht gelungen die DP in einer Array.forEach-Schleife anzulegen. Scheinbar gibt es dann Timingprobleme oder sonstwas, iobroker meldet keinen Fehler, aber die DP werden nicht angelegt bzw. nur der letzte Eintrag. Da ich nur fortgeschrittener blutiger Anfänger(tm) bin, liegt es evtl. auch an einer falschen Umsetzung meinerseits. Mit einer Schleife über die keys eines Objektes gibt es dagegen keine Probleme.

                    Schau mal ob du damit leben kannst/willst, ich bin nicht ganz zufrieden damit, das liegt aber teilweise daran dass ich an deiner Struktur nichts abändern wollte. Getestet habe ich es mit der Lichter Version, aber nur DP anlegen da ich das passende Setup nicht habe

                    let Pfad = '', statesToCreate = {}, dpId = '';
                    const geraetePfad = '.Geraete_zaehlen.Lichter.';
                    
                    async function createUserStates(where, statesToCreate) {
                       let dp,
                       	idKey;
                       for(let key in statesToCreate) {
                       	idKey = where + '.' + key;
                       	if (!(await existsStateAsync(idKey))) {
                       		dp = statesToCreate[key];
                       		await createStateAsync(idKey, dp);
                       	}
                       }
                    }
                    
                    //let iqontrol_vorhanden =  'system.adapter.iqontrol'; //prüfen ob iqontol installiert ist
                    //let iot_vorhanden =  'system.adapter.iot'; //prüfen ob iot installiert ist
                    
                    //#####################################################################################################################################################################################################################################################################################################################################################################################
                    
                    //Ansage Button Lichteransage anlegen
                    if (Alexa_Ansage_verwenden == true && Lichter_verwenden == true){
                       statesToCreate = {
                       	'01_Alexa_Routinebutton': { 'name': '01_Alexa_Routinebutton', 'type': 'boolean', 'read': false, 'write': true, 'role': 'button', 'def': true, "smartName": { "de": 'Lichteransage ' + [etage], "smartType": "SWITCH" } }
                       }
                       Pfad = anlegen_in + geraetePfad + etage + '.04_Alexa';
                       await createUserStates(Pfad, statesToCreate)
                    };
                    
                    //Lichter  Datenpunkte anlegen
                    if (Lichter_verwenden == true) {
                       statesToCreate = {
                       	'01_Lichter_Anzahl_gesamt': { "name": '01_Lichter_Anzahl_gesamt', 'type': 'number', 'read': true, 'write': false, 'role': 'number', 'unit': 'Lichter', 'def': 0 },
                       	'02_Lichter_Anzahl_eingeschaltet': { "name": '02_Lichter_Anzahl_eingeschaltet', 'type': 'number', 'read': true, 'write': false, 'role': 'number', 'unit': 'Lichter', 'def': 0 },
                       	'03_Lichter_Anzahl_ausgeschaltet': { "name": '03_Lichter_Anzahl_ausgeschaltet', 'type': 'number', 'read': true, 'write': false, 'role': 'number', 'unit': 'Lichter', 'def': 0 },
                       	'04_eingeschaltete_Lichter_Liste': { "name": '04_eingeschaltete_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': 'noch leer' },
                       	'05_gesamte_Lichter_Liste': { "name": '05_gesamte_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': 'noch leer' },
                       	'06_html_Lichter_Liste': { "name": '06_html_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'html', 'def': 'noch leer' },
                       	'07_Lichter_Liste_mit_Emojis': { "name": '07_Lichter_Liste_mit_Emojis', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': 'noch leer' },
                       	'08_Lichter_Emoji_eingeschaltet': { "name": '08_Lichter_Emoji_eingeschaltet', 'type': 'mixed', 'read': true, 'write': true, 'role': 'mixed' },
                       	'09_Lichter_Emoji_ausgeschaltet': { "name": '09_Lichter_Emoji_ausgeschaltet', 'type': 'mixed', 'read': true, 'write': true, 'role': 'mixed' },
                       	'10_html_nur_eingeschaltete_Lichter_Liste': { "name": '10_html_nur_eingeschaltete_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'html', 'def': 'noch leer' },
                       }
                       Pfad = anlegen_in + geraetePfad + etage + '.01_Anzeigen_und_Listen';
                       await createUserStates(Pfad, statesToCreate)
                    
                       ///////////////////////////////////
                       // iQontrol Trigger und Schalter //
                       /////////////////////////////////// 
                       statesToCreate = {
                       	'01_Thema_hell_Lichter_Liste': { "name": '01_Thema_hell_Lichter_Liste', 'type': 'boolean', 'read': true, 'write': true, 'role': 'switch', 'def': true },
                       	'02_Thema_dunkel_Lichter_Liste': { "name": '02_Thema_dunkel_Lichter_Liste', 'type': 'boolean', 'read': true, 'write': true, 'role': 'switch', 'def': false },
                       	'03_Thema_eigenes_Lichter_Liste': { "name": '03_Thema_eigenes_Lichter_Liste', 'type': 'boolean', 'read': true, 'write': true, 'role': 'switch', 'def': false },
                       	'04_Trigger_Tabelle_iQontrol_Lichter_Liste': { "name": '04_Trigger_Tabelle_iQontrol_Lichter_Liste', 'type': 'boolean', 'read': false, 'write': true, 'role': 'button', 'def': true },
                       	'05_Schalter_fuer_Button_Tabelle_Lichter_Liste': { "name": '05_Schalter_fuer_Button_Tabelle_Lichter_Liste', 'type': 'boolean', 'read': true, 'write': true, 'role': 'switch', 'def': false },
                       	'06_Trigger_Farbe_iQontrol_Lichter_Liste': { "name": '06_Trigger_Farbe_iQontrol_Lichter_Liste', 'type': 'boolean', 'read': false, 'write': true, 'role': 'button', 'def': true },
                       	'07_Umschalter_Farbe_Lichter_Liste': { "name": '07_Umschalter_Farbe_Lichter_Liste', 'type': 'number', 'read': true, 'write': false, 'role': 'number', 'def': 0 },
                       	'08_Geraetestatus_in_Ueberschrift_an_aus': { "name": '08_Geraetestatus_in_Ueberschrift_an_aus', 'type': 'boolean', 'read': true, 'write': true, 'role': 'switch', 'def': true },
                       	'09_Geraete_in_HTML_Liste_schaltbar': { "name": '09_Geraete_in_HTML_Liste_schaltbar', 'type': 'boolean', 'read': true, 'write': true, 'role': 'switch', 'def': true },
                       }
                       Pfad = anlegen_in + geraetePfad + etage + '.02_Trigger_und_Schalter';
                       await createUserStates(Pfad, statesToCreate)
                       ///////////////////////////////////////////////
                       // HTML Daten Hell-Dunkel nicht beschreibbar //
                       ///////////////////////////////////////////////
                       statesToCreate = {
                       	'01_Hintergrundfarbe_Lichter_Liste': { "name": '01_Hintergrundfarbe_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': 'white' },
                       	//Rahmen Kopf
                       	'02_Rahmenbreite_Kopf_Lichter_Liste': { "name": '02_Rahmenbreite_Kopf_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': '0' },
                       	'03_Rahmenstyle_Kopf_Lichter_Liste': { "name": '03_Rahmenstyle_Kopf_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': 'solid' },
                       	'04_Rahmenfarbe_Kopf_Lichter_Liste': { "name": '04_Rahmenfarbe_Kopf_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': 'black' },
                       	//Rahmen Überschrift
                       	'05_Rahmenbreite_Ueberschrift_Lichter_Liste': { "name": '05_Rahmenbreite_Ueberschrift_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': '0' },
                       	'06_Rahmenstyle_Ueberschrift_Lichter_Liste': { "name": '06_Rahmenstyle_Ueberschrift_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': 'solid' },
                       	'07_Rahmenfarbe_Ueberschrift_Lichter_Liste': { "name": '07_Rahmenfarbe_Ueberschrift_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': 'black' },
                       	//Rahmen Tabelle aussen
                       	'08_Rahmenbreite_Tabelle_aussen_Lichter_Liste': { "name": '08_Rahmenbreite_Tabelle_aussen_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': '5' },
                       	'09_Rahmenstyle_Tabelle_aussen_Lichter_Liste': { "name": '09_Rahmenstyle_Tabelle_aussen_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': 'solid' },
                       	'10_Rahmenfarbe_Tabelle_aussen_Lichter_Liste': { "name": '10_Rahmenfarbe_Tabelle_aussen_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': 'black' },
                       	//Ueberschrift
                       	'11_Ueberschrift_Schriftgroesse_Lichter_Liste': { "name": '11_Ueberschrift_Schriftgroesse_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': '4' },
                       	'12_Ueberschrift_Farbe_Lichter_Liste': { "name": '12_Ueberschrift_Farbe_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': 'black' },
                       	'13_Ueberschrift_Schriftart_Lichter_Liste': { "name": '13_Ueberschrift_Schriftart_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': 'apple' },
                       	//Bild links
                       	'14_Bild_links_Lichter_Liste': { "name": '14_Bild_links_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': ' data:image/png;base64,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' },
                       	'15_Bild_links_Hoehe_Lichter_Liste': { "name": '15_Bild_links_Hoehe_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': '8' },
                       	'16_Bild_links_Breite_Lichter_Liste': { "name": '16_Bild_links_Breite_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': '8' },
                       	'17_Bild_links_Abstand_links_Lichter_Liste': { "name": '17_Bild_links_Abstand_links_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': '0' },
                       	'18_Bild_links_Abstand_oben_Lichter_Liste': { "name": '18_Bild_links_Abstand_oben_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': '0' },
                       	'19_Bild_links_Abstand_unten_Lichter_Liste': { "name": '19_Bild_links_Abstand_unten_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': '0' },
                       	'20_Bild_links_Abstand_rechts_Lichter_Liste': { "name": '20_Bild_links_Abstand_rechts_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': '0' },
                       	//Bild rechts
                       	'21_Bild_rechts_Lichter_Liste': { "name": '21_Bild_rechts_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': ' data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAMAAABHPGVmAAAAUVBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcqRVCAAAAGnRSTlMAECAwP0BQYG9wf4CPkJ+gr7C/wM/Q3+Dv8DtSRt8AAAMESURBVGje7ZndkqMgEEbBhIzEmfgvet7/QfdCM7uKBlBi1Val79JWOEIj/XUjxMc+dobJtOqIYl2VynXGvSei9fe1aRREtsKeTHQGFEtGBmB0Eie6iTYA2WKxeqCVETdRC/TzATVgZNStOgB65qotz2HTQDnzdEASF5IA3cwDEPvbtsb8QP5TyPX+GI/prnrcr2+AyLRaHk2bx/lOiNo4PgsVDaKq7ZO2UlEg8vEc0ORaJUIIkSidm6f3IY9DblO+bJdpINHtlANvRyHf40D16qqoenz6fQgy5eR2c+FVu71knhDZgCsHaAAauRcyMszl9Td3MRsUP0iBV06WLcBjH+QHz7w/Un72QG54a4uRcguHyD5AW0hjaxMfSA5w8T3WLwB5KEQRpl80gAqEVEAbkqJaoAqDKPvFHGb/wwkpgTos29ZLMeeCyOCJTFORARAdGhEhhDDAVwBklzTWiyV2QdgjjZOVQV5AFGDChZaZB9IByezP18fyeXHlgOT7qhU9fzcHpJ7POym6rlgJ0dKv5pF3QOYlUdID9BbF8i/KHgdk/qscJUm5hNj+V6M4Hk/Cq1tCbP8ByDDpxyXE9h+AvGm5zDzwA8BgB37pT17Ny7mFS2PKtS288Idt4VM+xlOOFbW2Y93WBR2Qpxz15yQtDTR7Visk/Z4iJERpSTWnVaGS6BxxJ+rQqDSWHIwvuLM9gntP6fATXgQNQOdbBHXAEF4EjeVc41fONWv7xL8w9aGMjGxfiZ37UUZGvrdZ0AJ0rmZBt1Em+7Y9xs5J+oqRslWKezdwRrHQbDdwxu5LfqCB84z+VoPu2dLLDjfVJnnVpcumWjpdgA0qQnsw/70Oe6TXsT14TR+/V2x5hPbgPw26NavjNDqFEEKV64gyXstWCCHklzWd+itu83maT5bXBsDUeebOaJ+rjQ/kb2n2hitAYymgt19m6gDV4Kkteuu95eCtGjwZzYp+yQD6NNZVedqv5pky/qV/uZVpYzLWVj8bYiKGbCNYujRxCKbUUnzsY2fYH0Cu0ke796XoAAAAAElFTkSuQmCC' },
                       	'22_Bild_rechts_Hoehe_Lichter_Liste': { "name": '22_Bild_rechts_Hoehe_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': '8' },
                       	'23_Bild_rechts_Breite_Lichter_Liste': { "name": '23_Bild_rechts_Breite_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': '8' },
                       	'24_Bild_rechts_Abstand_links_Lichter_Liste': { "name": '24_Bild_rechts_Abstand_links_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': '0' },
                       	'25_Bild_rechts_Abstand_oben_Lichter_Liste': { "name": '25_Bild_rechts_Abstand_oben_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': '0' },
                       	'26_Bild_rechts_Abstand_unten_Lichter_Liste': { "name": '26_Bild_rechts_Abstand_unten_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': '0' },
                       	'27_Bild_rechts_Abstand_rechts_Lichter_Liste': { "name": '27_Bild_rechts_Abstand_rechts_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': '0' },
                       	//Abstand Kopf zur Tabelle
                       	'28_Abstand_Tabelle_zum_Kopf_Lichter_Liste': { "name": '28_Abstand_Tabelle_zum_Kopf_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': '4' },
                       	//Rahmen Tabelle
                       	'29_Rahmenbreite_Tabelle_innen_Lichter_Liste': { "name": '29_Rahmenbreite_Tabelle_innen_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': '1' },
                       	'30_Rahmenfarbe_Tabelle_innen_Lichter_Liste': { "name": '30_Rahmenfarbe_Tabelle_innen_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': 'black' },
                       	//Schrift in der Tabelle aktive Geräte
                       	'31_Tabelle_Schriftart_Lichter_Liste': { "name": '31_Tabelle_Schriftart_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': 'apple' },
                       	'32_Tabelle_Schriftfarbe_aktives_Geraet_Lichter_Liste': { "name": '32_Tabelle_Schriftfarbe_aktives_Geraet_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': 'red' },
                       	'33_Tabelle_Schriftgroesse_aktives_Geraet_Lichter_Liste': { "name": '33_Tabelle_Schriftgroesse_aktives_Geraet_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': '3.5' },
                       	'34_Tabelle_Schriftfarbe_aktives_Geraet_Status_Lichter_Liste': { "name": '34_Tabelle_Schriftfarbe_aktives_Geraet_Status_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': 'red' },
                       	'35_Tabelle_Schriftgroesse_aktives_Geraet_Status_Lichter_Liste': { "name": '35_Tabelle_Schriftgroesse_aktives_Geraet_Status_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': '3.5' },
                       	//Schrift in der Tabelle inaktive Geräte
                       	'36_Tabelle_Schriftfarbe_inaktives_Geraet_Lichter_Liste': { "name": '36_Tabelle_Schriftfarbe_inaktives_Geraet_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': 'black' },
                       	'37_Tabelle_Schriftgroesse_inaktives_Geraet_Lichter_Liste': { "name": '37_Tabelle_Schriftgroesse_inaktives_Geraet_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': '3.5' },
                       	'38_Tabelle_Schriftfarbe_inaktives_Geraet_Status_Lichter_Liste': { "name": '38_Tabelle_Schriftfarbe_inaktives_Geraet_Status_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': 'black' },
                       	'39_Tabelle_Schriftgroesse_inaktives_Geraet_Status_Lichter_Liste': { "name": '39_Tabelle_Schriftgroesse_inaktives_Geraet_Status_Lichter_Liste', 'type': 'string', 'read': true, 'write': false, 'role': 'string', 'def': '3.5' },
                       	//Schriftgroesse Status Geräte Ueberschrift
                       	'40_Ueberschrift_Schriftgroesse_aktive_Geraete': { "name": '40_Ueberschrift_Schriftgroesse_aktive_Geraete', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': '3' },
                       	//Groesse Schaltfeld    
                       	'41_Schaltfeld_Groesse_Lichter_Liste': { "name": '41_Schaltfeld_Groesse_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': '4' },
                       }
                       Pfad = anlegen_in + geraetePfad + etage + '.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung';
                       await createUserStates(Pfad, statesToCreate)
                       //////////////////////////////////////////////////
                       // HTML Daten eigene Einstellungen beschreibbar // 
                       //////////////////////////////////////////////////
                       statesToCreate = {
                       	'01_Hintergrundfarbe_Lichter_Liste': { "name": '01_Hintergrundfarbe_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                       	//Rahmen Kopf
                       	'02_Rahmenbreite_Kopf_Lichter_Liste': { "name": '02_Rahmenbreite_Kopf_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                       	'03_Rahmenstyle_Kopf_Lichter_Liste': { "name": '03_Rahmenstyle_Kopf_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                       	'04_Rahmenfarbe_Kopf_Lichter_Liste': { "name": '04_Rahmenfarbe_Kopf_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                       	//Rahmen Überschrift
                       	'05_Rahmenbreite_Ueberschrift_Lichter_Liste': { "name": '05_Rahmenbreite_Ueberschrift_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                       	'06_Rahmenstyle_Ueberschrift_Lichter_Liste': { "name": '06_Rahmenstyle_Ueberschrift_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                       	'07_Rahmenfarbe_Ueberschrift_Lichter_Liste': { "name": '07_Rahmenfarbe_Ueberschrift_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                       	//Rahmen Tabelle aussen
                       	'08_Rahmenbreite_Tabelle_aussen_Lichter_Liste': { "name": '08_Rahmenbreite_Tabelle_aussen_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                       	'09_Rahmenstyle_Tabelle_aussen_Lichter_Liste': { "name": '09_Rahmenstyle_Tabelle_aussen_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                       	'10_Rahmenfarbe_Tabelle_aussen_Lichter_Liste': { "name": '10_Rahmenfarbe_Tabelle_aussen_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                       	//Ueberschrift
                       	'11_Ueberschrift_Schriftgroesse_Lichter_Liste': { "name": '11_Ueberschrift_Schriftgroesse_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                       	'12_Ueberschrift_Farbe_Lichter_Liste': { "name": '12_Ueberschrift_Farbe_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                       	'13_Ueberschrift_Schriftart_Lichter_Liste': { "name": '13_Ueberschrift_Schriftart_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                       	//Bild links
                       	'14_Bild_links_Lichter_Liste': { "name": '14_Bild_links_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                       	'15_Bild_links_Hoehe_Lichter_Liste': { "name": '15_Bild_links_Hoehe_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                       	'16_Bild_links_Breite_Lichter_Liste': { "name": '16_Bild_links_Breite_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                       	'17_Bild_links_Abstand_links_Lichter_Liste': { "name": '17_Bild_links_Abstand_links_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                       	'18_Bild_links_Abstand_oben_Lichter_Liste': { "name": '18_Bild_links_Abstand_oben_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                       	'19_Bild_links_Abstand_unten_Lichter_Liste': { "name": '19_Bild_links_Abstand_unten_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                       	'20_Bild_links_Abstand_rechts_Lichter_Liste': { "name": '20_Bild_links_Abstand_rechts_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                       	//Bild rechts
                       	'21_Bild_rechts_Lichter_Liste': { "name": '21_Bild_rechts_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                       	'22_Bild_rechts_Hoehe_Lichter_Liste': { "name": '22_Bild_rechts_Hoehe_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                       	'23_Bild_rechts_Breite_Lichter_Liste': { "name": '23_Bild_rechts_Breite_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                       	'24_Bild_rechts_Abstand_links_Lichter_Liste': { "name": '24_Bild_rechts_Abstand_links_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                       	'25_Bild_rechts_Abstand_oben_Lichter_Liste': { "name": '25_Bild_rechts_Abstand_oben_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                       	'26_Bild_rechts_Abstand_unten_Lichter_Liste': { "name": '26_Bild_rechts_Abstand_unten_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                       	'27_Bild_rechts_Abstand_rechts_Lichter_Liste': { "name": '27_Bild_rechts_Abstand_rechts_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                       	//Abstand Kopf zur Tabelle
                       	'28_Abstand_Tabelle_zum_Kopf_Lichter_Liste': { "name": '28_Abstand_Tabelle_zum_Kopf_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                       	//Rahmen Tabelle
                       	'29_Rahmenbreite_Tabelle_innen_Lichter_Liste': { "name": '29_Rahmenbreite_Tabelle_innen_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                       	'30_Rahmenfarbe_Tabelle_innen_Lichter_Liste': { "name": '30_Rahmenfarbe_Tabelle_innen_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                       	//Schrift in der Tabelle aktive Gerätte
                       	'31_Tabelle_Schriftart_Lichter_Liste': { "name": '31_Tabelle_Schriftart_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                       	'32_Tabelle_Schriftfarbe_aktives_Geraet_Lichter_Liste': { "name": '32_Tabelle_Schriftfarbe_aktives_Geraet_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                       	'33_Tabelle_Schriftgroesse_aktives_Geraet_Lichter_Liste': { "name": '33_Tabelle_Schriftgroesse_aktives_Geraet_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                       	'34_Tabelle_Schriftfarbe_aktives_Geraet_Status_Lichter_Liste': { "name": '34_Tabelle_Schriftfarbe_aktives_Geraet_Status_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                       	'35_Tabelle_Schriftgroesse_aktives_Geraet_Status_Lichter_Liste': { "name": '35_Tabelle_Schriftgroesse_aktives_Geraet_Status_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                       	//Schrift in der Tabelle inaktive Gerätte
                       	'36_Tabelle_Schriftfarbe_inaktives_Geraet_Lichter_Liste': { "name": '36_Tabelle_Schriftfarbe_inaktives_Geraet_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                       	'37_Tabelle_Schriftgroesse_inaktives_Geraet_Lichter_Liste': { "name": '37_Tabelle_Schriftgroesse_inaktives_Geraet_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                       	'38_Tabelle_Schriftfarbe_inaktives_Geraet_Status_Lichter_Liste': { "name": '38_Tabelle_Schriftfarbe_inaktives_Geraet_Status_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                       	'39_Tabelle_Schriftgroesse_inaktives_Geraet_Status_Lichter_Liste': { "name": '39_Tabelle_Schriftgroesse_inaktives_Geraet_Status_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                       	//Schriftgroesse Status Geräte Ueberschrift
                       	'40_Ueberschrift_Schriftgroesse_aktive_Geraete': { "name": '40_Ueberschrift_Schriftgroesse_aktive_Geraete', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                       	//Groesse Schaltfeld    
                       	'41_Schaltfeld_Groesse_Lichter_Liste': { "name": '41_Schaltfeld_Groesse_Lichter_Liste', 'type': 'string', 'read': true, 'write': true, 'role': 'string', 'def': ' ' },
                       };
                       Pfad = anlegen_in + geraetePfad + etage + '.03_HTML_Daten.02_HTML_Eigene_Einstellungen';
                       await createUserStates(Pfad, statesToCreate)
                    };
                    
                    //Telegram Lichter  Nachrichtenversand anlegen mit SmartNamen
                    if (Lichter_verwenden == true && Telegram_verwenden == true && Alexa_Ansage_verwenden == true) {
                       dpId = 'Telegram_Lichter_' + [etage] + '_Versand_an_aus';
                       statesToCreate = {};
                       statesToCreate[dpId] = {
                       	"name": 'Telegram_Lichter_' + [etage] + '_Versand_an_aus', 'type': 'boolean', 'read': true, 'write': true, 'role': 'switch', 'def': false
                       };
                       Pfad = anlegen_in + geraetePfad + etage + '.05_Telegram';
                       await createUserStates(Pfad, statesToCreate)
                    
                       dpId = 'Telegram_Lichterstatus_' + [etage] + '_senden'
                       statesToCreate = {};
                       statesToCreate[dpId] = {
                       	"name": 'Telegram_Lichterstatus_' + [etage] + '_senden', 'type': 'boolean', 'read': true, 'write': true, 'role': 'button', 'def': true, "smartName": { "de": 'Telegram Lichterstatus ' + [etage] + ' senden', "smartType": "SWITCH" }
                       };
                       Pfad = anlegen_in + geraetePfad + etage + '.05_Telegram';
                       await createUserStates(Pfad, statesToCreate)
                    };
                    
                    //Telegram Lichter  Nachrichtenversand anlegen ohne SmartNamen
                    if (Lichter_verwenden == true && Telegram_verwenden == true && Alexa_Ansage_verwenden == false) {
                       dpId = 'Telegram_Lichter_' + [etage] + '_Versand_an_aus';
                       statesToCreate = {};
                       statesToCreate[dpId] = {
                       	"name": 'Telegram_Lichter_' + [etage] + '_Versand_an_aus', 'type': 'boolean', 'read': true, 'write': true, 'role': 'switch', 'def': false
                       };
                       Pfad = anlegen_in + geraetePfad + etage + '.05_Telegram';
                       await createUserStates(Pfad, statesToCreate)
                    
                       dpId = 'Telegram_Lichterstatus_' + [etage] + '_senden'
                       statesToCreate = {};
                       statesToCreate[dpId] = {
                       	"name": 'Telegram_Lichterstatus_' + [etage] + '_senden', 'type': 'boolean', 'read': true, 'write': true, 'role': 'button', 'def': true, "smartName": false
                       };
                       Pfad = anlegen_in + geraetePfad + etage + '.05_Telegram';
                       await createUserStates(Pfad, statesToCreate);
                    };
                    
                    //E-Mail Lichter Nachrichtenversand anlegen mit SmartNamen
                    if (Lichter_verwenden == true && Email_verwenden == true && Alexa_Ansage_verwenden == true){
                    
                       dpId = 'EMAIL_Lichter_'+[etage] + '_Versand_an_aus'
                       statesToCreate = {};
                       statesToCreate[dpId] = {
                       	"name": 'EMAIL_Lichter_' + [etage] + '_Versand_an_aus', 'type': 'boolean', 'read': true, 'write': true, 'role': 'switch', 'def': false
                       };
                       Pfad = anlegen_in + geraetePfad + etage + '.06_E-Mail';
                       await createUserStates(Pfad, statesToCreate)
                    
                       dpId = 'EMAIL_Lichterstatus_'+[etage]+'_senden'
                       statesToCreate = {};
                       statesToCreate[dpId] = {
                       	"name": 'EMAIL_Lichterstatus_' + [etage] + '_senden', 'type': 'boolean', 'read': true, 'write': true, 'role': 'button', 'def': true, "smartName": { "de": 'EMAIL Lichterstatus ' + [etage] + ' senden', "smartType": "SWITCH" }
                       };
                       Pfad = anlegen_in + geraetePfad + etage + '.06_E-Mail';
                       await createUserStates(Pfad, statesToCreate)
                    };
                    
                    //E-Mail Lichter Nachrichtenversand anlegen mit SmartNamen
                    if (Lichter_verwenden == true && Email_verwenden == true && Alexa_Ansage_verwenden == false){
                       dpId = 'EMAIL_Lichter_'+[etage] + '_Versand_an_aus'
                       statesToCreate = {};
                       statesToCreate[dpId] = {
                       	"name": 'EMAIL_Lichter_' + [etage] + '_Versand_an_aus', 'type': 'boolean', 'read': true, 'write': true, 'role': 'switch', 'def': false
                       };
                       Pfad = anlegen_in + geraetePfad + etage + '.06_E-Mail';
                       await createUserStates(Pfad, statesToCreate)
                    
                       dpId = 'EMAIL_Lichterstatus_'+[etage]+'_senden'
                       statesToCreate = {};
                       statesToCreate[dpId] = {
                       	"name": 'EMAIL_Lichterstatus_' + [etage] + '_senden', 'type': 'boolean', 'read': true, 'write': true, 'role': 'button', 'def': true, "smartName": false
                       };
                       Pfad = anlegen_in + geraetePfad + etage + '.06_E-Mail';
                       await createUserStates(Pfad, statesToCreate)
                    };
                    
                    //#####################################################################################################################################################################################################################################################################################################################################################################################
                    
                    //Ab hier Datenpunkte löschen
                    //###############################################################################
                    
                    if (!Lichter_verwenden && anlegen_in.slice(0, 10) == 'javascript') {
                    const idsjs = $('javascript.*.Geraete_zaehlen.Lichter*');
                    idsjs.each(function(id, i) {
                      if(existsState(id)) deleteState(id);
                    })};
                    
                    if (!Lichter_verwenden && anlegen_in.slice(0, 10) == '0_userdata') {
                    const idsud = $('0_userdata.0.Geraete_zaehlen.Lichter*');
                    idsud.each(function(id, i) {
                      if(existsState(id)) deleteState(id);
                    })};
                    
                    //###############################################################################
                    
                    if (!Alexa_Ansage_verwenden && anlegen_in.slice(0, 10) == 'javascript') {
                    const idsjs = $('javascript.*.Geraete_zaehlen.Lichter.*.04_Alexa.*');  
                    idsjs.each(function(id, i) {
                      if(existsState(id)) deleteState(id);
                    })};
                    
                    if (!Alexa_Ansage_verwenden && anlegen_in.slice(0, 10) == '0_userdata') {
                    const idsud = $('0_userdata.0.Geraete_zaehlen.Lichter.*.04_Alexa.*');  
                    idsud.each(function(id, i) {
                      if(existsState(id)) deleteState(id);
                    })};
                    
                    //###############################################################################
                    
                    if (!Telegram_verwenden && anlegen_in.slice(0, 10) == 'javascript') {
                    const idsjs = $('javascript.*.Geraete_zaehlen.Lichter.*.05_Telegram.*'); 
                    idsjs.each(function(id, i) {
                      if(existsState(id)) deleteState(id);
                    })};
                    
                    if (!Telegram_verwenden && anlegen_in.slice(0, 10) == '0_userdata') {
                    const idsud = $('0_userdata.0.Geraete_zaehlen.Lichter.*.05_Telegram.*'); 
                    idsud.each(function(id, i) {
                      if(existsState(id)) deleteState(id);
                    })};
                    
                    //###############################################################################
                    
                    if (!Email_verwenden && anlegen_in.slice(0, 10) == 'javascript') {
                    const idsjs = $('javascript.*.Geraete_zaehlen.Lichter.*.06_E-Mail.*'); 
                    idsjs.each(function(id, i) {
                      if(existsState(id)) deleteState(id);
                    })};
                    
                    if (!Email_verwenden && anlegen_in.slice(0, 10) == '0_userdata') {
                    const idsud = $('0_userdata.0.Geraete_zaehlen.Lichter.*.06_E-Mail.*'); 
                    idsud.each(function(id, i) {
                      if(existsState(id)) deleteState(id);
                    })};
                    
                    //###############################################################################
                    main();
                    

                    dslraserD Offline
                    dslraserD Offline
                    dslraser
                    Forum Testing Most Active
                    schrieb am zuletzt editiert von
                    #13

                    @fastfoot
                    Danke Dir. Heute werde ich leider nicht mehr dazu kommen, aber ich gebe auf jeden Fall eine Rückmeldung.

                    F 1 Antwort Letzte Antwort
                    0
                    • dslraserD dslraser

                      @fastfoot
                      Danke Dir. Heute werde ich leider nicht mehr dazu kommen, aber ich gebe auf jeden Fall eine Rückmeldung.

                      F Offline
                      F Offline
                      fastfoot
                      schrieb am zuletzt editiert von
                      #14

                      @dslraser sagte in async-await:

                      @fastfoot
                      Danke Dir. Heute werde ich leider nicht mehr dazu kommen, aber ich gebe auf jeden Fall eine Rückmeldung.

                      Hier dann doch noch eine Version, welche deine Struktur unangetastet lässt. Du kannst also in deinen anderen Blocklys

                      • einfach die alte createUserStates() durch diese hier ersetzen.
                      • Zusätzlich musst du die Funktion immer mit await aufrufen, also
                        await createUserStates(anlegen_in,false, statesToCreate)};
                      • Das ist alles, der timeout für main() kann dann weg.
                      • der zweite Parameter(ursprünglich forceCreate) wird nicht ausgewertet, er ist nur da damit du nicht soviel im Aufruf ändern musst. In der Funktion heisst er dummy

                      Du solltest deine DP-Definitionen trotzdem mal überarbeiten, da ist sehr viel Gleiches hard-gecodet, z.B. Geraete_zaehlen.Licht, siehe dazu meinen ersten Versuch im Post zuvor, da habe ich das eliminiert und durch Variablen am Anfang ersetzt

                      async function createUserStates(where, dummy, statesToCreate) {
                         let dp, idKey;
                         for(let key of statesToCreate){
                         	idKey = where + '.' + key[0];
                             dp = key[1];
                         	if (!(await existsStateAsync(idKey))) {
                         		await createStateAsync(idKey, dp);
                         	}
                         }
                      }
                      
                      
                      //let iqontrol_vorhanden =  'system.adapter.iqontrol'; //prüfen ob iqontol installiert ist
                      //let iot_vorhanden =  'system.adapter.iot'; //prüfen ob iot installiert ist
                      
                      //#####################################################################################################################################################################################################################################################################################################################################################################################
                      
                      //Ansage Button Lichteransage anlegen
                      if (Alexa_Ansage_verwenden == true && Lichter_verwenden == true){
                      let statesToCreate = [
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.04_Alexa.01_Alexa_Routinebutton', {'name': '01_Alexa_Routinebutton','type': 'boolean', 'read': false, 'write': true, 'role': 'button','def':true, "smartName": {"de": 'Lichteransage '+[etage],"smartType": "SWITCH"} }], 
                      ];
                      await createUserStates(anlegen_in,false, statesToCreate)};
                      
                      //Lichter  Datenpunkte anlegen
                      if (Lichter_verwenden == true){
                      let statesToCreate = [
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.01_Anzeigen_und_Listen.01_Lichter_Anzahl_gesamt', {'name':'01_Lichter_Anzahl_gesamt', 'type':'number', 'read':true, 'write':false, 'role':'number', 'unit': 'Lichter', 'def':0 }],   
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.01_Anzeigen_und_Listen.02_Lichter_Anzahl_eingeschaltet', {'name':'02_Lichter_Anzahl_eingeschaltet', 'type':'number', 'read':true, 'write':false, 'role':'number', 'unit': 'Lichter', 'def':0 }],   
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.01_Anzeigen_und_Listen.03_Lichter_Anzahl_ausgeschaltet', {'name':'03_Lichter_Anzahl_ausgeschaltet', 'type':'number', 'read':true, 'write':false, 'role':'number', 'unit': 'Lichter', 'def':0 }],   
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.01_Anzeigen_und_Listen.04_eingeschaltete_Lichter_Liste', {'name': '04_eingeschaltete_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'noch leer' }],    
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.01_Anzeigen_und_Listen.05_gesamte_Lichter_Liste', {'name': '05_gesamte_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'noch leer' }],
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.01_Anzeigen_und_Listen.06_html_Lichter_Liste', {'name':'06_html_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'html', 'def':'noch leer' }],
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.01_Anzeigen_und_Listen.07_Lichter_Liste_mit_Emojis', {'name':'07_Lichter_Liste_mit_Emojis', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'noch leer' }],   
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.01_Anzeigen_und_Listen.08_Lichter_Emoji_eingeschaltet', {'name':'08_Lichter_Emoji_eingeschaltet', 'type':'mixed', 'read':true, 'write':true, 'role':'mixed' }],   
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.01_Anzeigen_und_Listen.09_Lichter_Emoji_ausgeschaltet', {'name':'09_Lichter_Emoji_ausgeschaltet', 'type':'mixed', 'read':true, 'write':true, 'role':'mixed' }],   
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.01_Anzeigen_und_Listen.10_html_nur_eingeschaltete_Lichter_Liste', {'name':'10_html_nur_eingeschaltete_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'html', 'def':'noch leer' }],
                         ///////////////////////////////////
                         // iQontrol Trigger und Schalter //
                         /////////////////////////////////// 
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.02_Trigger_und_Schalter.01_Thema_hell_Lichter_Liste', {'name':'01_Thema_hell_Lichter_Liste', 'type':'boolean', 'read':true, 'write':true, 'role':'switch','def':true}],
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.02_Trigger_und_Schalter.02_Thema_dunkel_Lichter_Liste', {'name':'02_Thema_dunkel_Lichter_Liste', 'type':'boolean', 'read':true, 'write':true, 'role':'switch','def':false}],
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.02_Trigger_und_Schalter.03_Thema_eigenes_Lichter_Liste', {'name':'03_Thema_eigenes_Lichter_Liste', 'type':'boolean', 'read':true, 'write':true, 'role':'switch','def':false}],
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.02_Trigger_und_Schalter.04_Trigger_Tabelle_iQontrol_Lichter_Liste', {'name': '04_Trigger_Tabelle_iQontrol_Lichter_Liste','type': 'boolean', 'read': false, 'write': true, 'role': 'button','def':true}], 
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.02_Trigger_und_Schalter.05_Schalter_fuer_Button_Tabelle_Lichter_Liste', {'name': '05_Schalter_fuer_Button_Tabelle_Lichter_Liste','type': 'boolean', 'read': true, 'write': true, 'role': 'switch','def':false}], 
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.02_Trigger_und_Schalter.06_Trigger_Farbe_iQontrol_Lichter_Liste', {'name': '06_Trigger_Farbe_iQontrol_Lichter_Liste','type': 'boolean', 'read': false, 'write': true, 'role': 'button','def':true}], 
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.02_Trigger_und_Schalter.07_Umschalter_Farbe_Lichter_Liste', {'name': '07_Umschalter_Farbe_Lichter_Liste','type': 'number', 'read': true, 'write': false, 'role': 'number','def':0}], 
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.02_Trigger_und_Schalter.08_Geraetestatus_in_Ueberschrift_an_aus', {'name': '08_Geraetestatus_in_Ueberschrift_an_aus','type': 'boolean', 'read': true, 'write': true, 'role': 'switch','def':true}], 
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.02_Trigger_und_Schalter.09_Geraete_in_HTML_Liste_schaltbar', {'name': '09_Geraete_in_HTML_Liste_schaltbar','type': 'boolean', 'read': true, 'write': true, 'role': 'switch','def':true}], 
                         ///////////////////////////////////////////////
                         // HTML Daten Hell-Dunkel nicht beschreibbar //
                         ///////////////////////////////////////////////
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.01_Hintergrundfarbe_Lichter_Liste', {'name':'01_Hintergrundfarbe_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'white' }],       
                         //Rahmen Kopf
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.02_Rahmenbreite_Kopf_Lichter_Liste', {'name':'02_Rahmenbreite_Kopf_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'0' }],   
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.03_Rahmenstyle_Kopf_Lichter_Liste', {'name':'03_Rahmenstyle_Kopf_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'solid' }],   
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.04_Rahmenfarbe_Kopf_Lichter_Liste', {'name':'04_Rahmenfarbe_Kopf_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'black' }],   
                         //Rahmen Überschrift
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.05_Rahmenbreite_Ueberschrift_Lichter_Liste', {'name':'05_Rahmenbreite_Ueberschrift_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'0' }],   
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.06_Rahmenstyle_Ueberschrift_Lichter_Liste', {'name':'06_Rahmenstyle_Ueberschrift_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'solid' }],   
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.07_Rahmenfarbe_Ueberschrift_Lichter_Liste', {'name':'07_Rahmenfarbe_Ueberschrift_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'black' }],   
                         //Rahmen Tabelle aussen
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.08_Rahmenbreite_Tabelle_aussen_Lichter_Liste', {'name':'08_Rahmenbreite_Tabelle_aussen_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'5' }],   
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.09_Rahmenstyle_Tabelle_aussen_Lichter_Liste', {'name':'09_Rahmenstyle_Tabelle_aussen_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'solid' }],   
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.10_Rahmenfarbe_Tabelle_aussen_Lichter_Liste', {'name':'10_Rahmenfarbe_Tabelle_aussen_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'black' }],   
                         //Ueberschrift
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.11_Ueberschrift_Schriftgroesse_Lichter_Liste', {'name':'11_Ueberschrift_Schriftgroesse_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'4' }],   
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.12_Ueberschrift_Farbe_Lichter_Liste', {'name':'12_Ueberschrift_Farbe_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'black' }],       
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.13_Ueberschrift_Schriftart_Lichter_Liste', {'name':'13_Ueberschrift_Schriftart_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'apple' }],           
                         //Bild links
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.14_Bild_links_Lichter_Liste', {'name':'14_Bild_links_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':' data:image/png;base64,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'}], 
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.15_Bild_links_Hoehe_Lichter_Liste', {'name':'15_Bild_links_Hoehe_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'8' }],   
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.16_Bild_links_Breite_Lichter_Liste', {'name':'16_Bild_links_Breite_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'8' }],   
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.17_Bild_links_Abstand_links_Lichter_Liste', {'name':'17_Bild_links_Abstand_links_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'0' }],   
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.18_Bild_links_Abstand_oben_Lichter_Liste', {'name':'18_Bild_links_Abstand_oben_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'0' }],   
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.19_Bild_links_Abstand_unten_Lichter_Liste', {'name':'19_Bild_links_Abstand_unten_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'0' }],   
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.20_Bild_links_Abstand_rechts_Lichter_Liste', {'name':'20_Bild_links_Abstand_rechts_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'0' }],   
                         //Bild rechts
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.21_Bild_rechts_Lichter_Liste', {'name':'21_Bild_rechts_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':' data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAMAAABHPGVmAAAAUVBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcqRVCAAAAGnRSTlMAECAwP0BQYG9wf4CPkJ+gr7C/wM/Q3+Dv8DtSRt8AAAMESURBVGje7ZndkqMgEEbBhIzEmfgvet7/QfdCM7uKBlBi1Val79JWOEIj/XUjxMc+dobJtOqIYl2VynXGvSei9fe1aRREtsKeTHQGFEtGBmB0Eie6iTYA2WKxeqCVETdRC/TzATVgZNStOgB65qotz2HTQDnzdEASF5IA3cwDEPvbtsb8QP5TyPX+GI/prnrcr2+AyLRaHk2bx/lOiNo4PgsVDaKq7ZO2UlEg8vEc0ORaJUIIkSidm6f3IY9DblO+bJdpINHtlANvRyHf40D16qqoenz6fQgy5eR2c+FVu71knhDZgCsHaAAauRcyMszl9Td3MRsUP0iBV06WLcBjH+QHz7w/Un72QG54a4uRcguHyD5AW0hjaxMfSA5w8T3WLwB5KEQRpl80gAqEVEAbkqJaoAqDKPvFHGb/wwkpgTos29ZLMeeCyOCJTFORARAdGhEhhDDAVwBklzTWiyV2QdgjjZOVQV5AFGDChZaZB9IByezP18fyeXHlgOT7qhU9fzcHpJ7POym6rlgJ0dKv5pF3QOYlUdID9BbF8i/KHgdk/qscJUm5hNj+V6M4Hk/Cq1tCbP8ByDDpxyXE9h+AvGm5zDzwA8BgB37pT17Ny7mFS2PKtS288Idt4VM+xlOOFbW2Y93WBR2Qpxz15yQtDTR7Visk/Z4iJERpSTWnVaGS6BxxJ+rQqDSWHIwvuLM9gntP6fATXgQNQOdbBHXAEF4EjeVc41fONWv7xL8w9aGMjGxfiZ37UUZGvrdZ0AJ0rmZBt1Em+7Y9xs5J+oqRslWKezdwRrHQbDdwxu5LfqCB84z+VoPu2dLLDjfVJnnVpcumWjpdgA0qQnsw/70Oe6TXsT14TR+/V2x5hPbgPw26NavjNDqFEEKV64gyXstWCCHklzWd+itu83maT5bXBsDUeebOaJ+rjQ/kb2n2hitAYymgt19m6gDV4Kkteuu95eCtGjwZzYp+yQD6NNZVedqv5pky/qV/uZVpYzLWVj8bYiKGbCNYujRxCKbUUnzsY2fYH0Cu0ke796XoAAAAAElFTkSuQmCC'}], 
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.22_Bild_rechts_Hoehe_Lichter_Liste', {'name':'22_Bild_rechts_Hoehe_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'8' }],   
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.23_Bild_rechts_Breite_Lichter_Liste', {'name':'23_Bild_rechts_Breite_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'8' }],   
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.24_Bild_rechts_Abstand_links_Lichter_Liste', {'name':'24_Bild_rechts_Abstand_links_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'0' }],   
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.25_Bild_rechts_Abstand_oben_Lichter_Liste', {'name':'25_Bild_rechts_Abstand_oben_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'0' }],   
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.26_Bild_rechts_Abstand_unten_Lichter_Liste', {'name':'26_Bild_rechts_Abstand_unten_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'0' }],   
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.27_Bild_rechts_Abstand_rechts_Lichter_Liste', {'name':'27_Bild_rechts_Abstand_rechts_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'0' }],   
                         //Abstand Kopf zur Tabelle
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.28_Abstand_Tabelle_zum_Kopf_Lichter_Liste', {'name':'28_Abstand_Tabelle_zum_Kopf_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'4' }],   
                         //Rahmen Tabelle
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.29_Rahmenbreite_Tabelle_innen_Lichter_Liste', {'name':'29_Rahmenbreite_Tabelle_innen_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'1' }],   
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.30_Rahmenfarbe_Tabelle_innen_Lichter_Liste', {'name':'30_Rahmenfarbe_Tabelle_innen_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'black' }],           
                         //Schrift in der Tabelle aktive Geräte
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.31_Tabelle_Schriftart_Lichter_Liste', {'name':'31_Tabelle_Schriftart_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'apple' }],
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.32_Tabelle_Schriftfarbe_aktives_Geraet_Lichter_Liste', {'name':'32_Tabelle_Schriftfarbe_aktives_Geraet_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'red' }],   
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.33_Tabelle_Schriftgroesse_aktives_Geraet_Lichter_Liste', {'name':'33_Tabelle_Schriftgroesse_aktives_Geraet_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'3.5' }],   
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.34_Tabelle_Schriftfarbe_aktives_Geraet_Status_Lichter_Liste', {'name':'34_Tabelle_Schriftfarbe_aktives_Geraet_Status_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'red' }],   
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.35_Tabelle_Schriftgroesse_aktives_Geraet_Status_Lichter_Liste', {'name':'35_Tabelle_Schriftgroesse_aktives_Geraet_Status_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'3.5' }],        
                         //Schrift in der Tabelle inaktive Geräte
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.36_Tabelle_Schriftfarbe_inaktives_Geraet_Lichter_Liste', {'name':'36_Tabelle_Schriftfarbe_inaktives_Geraet_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'black' }],   
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.37_Tabelle_Schriftgroesse_inaktives_Geraet_Lichter_Liste', {'name':'37_Tabelle_Schriftgroesse_inaktives_Geraet_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'3.5' }],   
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.38_Tabelle_Schriftfarbe_inaktives_Geraet_Status_Lichter_Liste', {'name':'38_Tabelle_Schriftfarbe_inaktives_Geraet_Status_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'black' }],   
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.39_Tabelle_Schriftgroesse_inaktives_Geraet_Status_Lichter_Liste', {'name':'39_Tabelle_Schriftgroesse_inaktives_Geraet_Status_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'3.5' }],        
                         //Schriftgroesse Status Geräte Ueberschrift
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.40_Ueberschrift_Schriftgroesse_aktive_Geraete', {'name':'40_Ueberschrift_Schriftgroesse_aktive_Geraete', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':'3' }],        
                         //Groesse Schaltfeld    
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.41_Schaltfeld_Groesse_Lichter_Liste', {'name':'41_Schaltfeld_Groesse_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':'4' }],        
                         //////////////////////////////////////////////////
                         // HTML Daten eigene Einstellungen beschreibbar // 
                         //////////////////////////////////////////////////
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.01_Hintergrundfarbe_Lichter_Liste', {'name':'01_Hintergrundfarbe_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],      
                         //Rahmen Kopf
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.02_Rahmenbreite_Kopf_Lichter_Liste', {'name':'02_Rahmenbreite_Kopf_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],   
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.03_Rahmenstyle_Kopf_Lichter_Liste', {'name':'03_Rahmenstyle_Kopf_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],   
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.04_Rahmenfarbe_Kopf_Lichter_Liste', {'name':'04_Rahmenfarbe_Kopf_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],   
                         //Rahmen Überschrift
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.05_Rahmenbreite_Ueberschrift_Lichter_Liste', {'name':'05_Rahmenbreite_Ueberschrift_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],   
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.06_Rahmenstyle_Ueberschrift_Lichter_Liste', {'name':'06_Rahmenstyle_Ueberschrift_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],   
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.07_Rahmenfarbe_Ueberschrift_Lichter_Liste', {'name':'07_Rahmenfarbe_Ueberschrift_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],   
                         //Rahmen Tabelle aussen
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.08_Rahmenbreite_Tabelle_aussen_Lichter_Liste', {'name':'08_Rahmenbreite_Tabelle_aussen_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],   
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.09_Rahmenstyle_Tabelle_aussen_Lichter_Liste', {'name':'09_Rahmenstyle_Tabelle_aussen_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],   
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.10_Rahmenfarbe_Tabelle_aussen_Lichter_Liste', {'name':'10_Rahmenfarbe_Tabelle_aussen_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],   
                         //Ueberschrift
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.11_Ueberschrift_Schriftgroesse_Lichter_Liste', {'name':'11_Ueberschrift_Schriftgroesse_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],   
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.12_Ueberschrift_Farbe_Lichter_Liste', {'name':'12_Ueberschrift_Farbe_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],       
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.13_Ueberschrift_Schriftart_Lichter_Liste', {'name':'13_Ueberschrift_Schriftart_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],           
                         //Bild links
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.14_Bild_links_Lichter_Liste', {'name':'14_Bild_links_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }], 
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.15_Bild_links_Hoehe_Lichter_Liste', {'name':'15_Bild_links_Hoehe_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],   
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.16_Bild_links_Breite_Lichter_Liste', {'name':'16_Bild_links_Breite_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],   
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.17_Bild_links_Abstand_links_Lichter_Liste', {'name':'17_Bild_links_Abstand_links_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],   
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.18_Bild_links_Abstand_oben_Lichter_Liste', {'name':'18_Bild_links_Abstand_oben_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],   
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.19_Bild_links_Abstand_unten_Lichter_Liste', {'name':'19_Bild_links_Abstand_unten_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],   
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.20_Bild_links_Abstand_rechts_Lichter_Liste', {'name':'20_Bild_links_Abstand_rechts_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],   
                         //Bild rechts
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.21_Bild_rechts_Lichter_Liste', {'name':'21_Bild_rechts_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }], 
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.22_Bild_rechts_Hoehe_Lichter_Liste', {'name':'22_Bild_rechts_Hoehe_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],   
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.23_Bild_rechts_Breite_Lichter_Liste', {'name':'23_Bild_rechts_Breite_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],   
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.24_Bild_rechts_Abstand_links_Lichter_Liste', {'name':'24_Bild_rechts_Abstand_links_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],   
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.25_Bild_rechts_Abstand_oben_Lichter_Liste', {'name':'25_Bild_rechts_Abstand_oben_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],   
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.26_Bild_rechts_Abstand_unten_Lichter_Liste', {'name':'26_Bild_rechts_Abstand_unten_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],   
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.27_Bild_rechts_Abstand_rechts_Lichter_Liste', {'name':'27_Bild_rechts_Abstand_rechts_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],   
                         //Abstand Kopf zur Tabelle
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.28_Abstand_Tabelle_zum_Kopf_Lichter_Liste', {'name':'28_Abstand_Tabelle_zum_Kopf_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],   
                         //Rahmen Tabelle
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.29_Rahmenbreite_Tabelle_innen_Lichter_Liste', {'name':'29_Rahmenbreite_Tabelle_innen_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],   
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.30_Rahmenfarbe_Tabelle_innen_Lichter_Liste', {'name':'30_Rahmenfarbe_Tabelle_innen_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],           
                         //Schrift in der Tabelle aktive Gerätte
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.31_Tabelle_Schriftart_Lichter_Liste', {'name':'31_Tabelle_Schriftart_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.32_Tabelle_Schriftfarbe_aktives_Geraet_Lichter_Liste', {'name':'32_Tabelle_Schriftfarbe_aktives_Geraet_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],   
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.33_Tabelle_Schriftgroesse_aktives_Geraet_Lichter_Liste', {'name':'33_Tabelle_Schriftgroesse_aktives_Geraet_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],   
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.34_Tabelle_Schriftfarbe_aktives_Geraet_Status_Lichter_Liste', {'name':'34_Tabelle_Schriftfarbe_aktives_Geraet_Status_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],   
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.35_Tabelle_Schriftgroesse_aktives_Geraet_Status_Lichter_Liste', {'name':'35_Tabelle_Schriftgroesse_aktives_Geraet_Status_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],        
                         //Schrift in der Tabelle inaktive Gerätte
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.36_Tabelle_Schriftfarbe_inaktives_Geraet_Lichter_Liste', {'name':'36_Tabelle_Schriftfarbe_inaktives_Geraet_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],   
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.37_Tabelle_Schriftgroesse_inaktives_Geraet_Lichter_Liste', {'name':'37_Tabelle_Schriftgroesse_inaktives_Geraet_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],   
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.38_Tabelle_Schriftfarbe_inaktives_Geraet_Status_Lichter_Liste', {'name':'38_Tabelle_Schriftfarbe_inaktives_Geraet_Status_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],   
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.39_Tabelle_Schriftgroesse_inaktives_Geraet_Status_Lichter_Liste', {'name':'39_Tabelle_Schriftgroesse_inaktives_Geraet_Status_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],        
                         //Schriftgroesse Status Geräte Ueberschrift
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.40_Ueberschrift_Schriftgroesse_aktive_Geraete', {'name':'40_Ueberschrift_Schriftgroesse_aktive_Geraete', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],        
                         //Groesse Schaltfeld    
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.41_Schaltfeld_Groesse_Lichter_Liste', {'name':'41_Schaltfeld_Groesse_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],            
                      ];
                      await createUserStates(anlegen_in,false, statesToCreate)};
                      
                      //Telegram Lichter  Nachrichtenversand anlegen mit SmartNamen
                      if (Lichter_verwenden == true && Telegram_verwenden == true && Alexa_Ansage_verwenden == true){
                      let statesToCreate = [
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.05_Telegram.Telegram_Lichter_'+[etage]+'_Versand_an_aus', {'name':'Telegram_Lichter_'+[etage]+'_Versand_an_aus', 'type':'boolean', 'read':true, 'write':true, 'role':'switch', 'def':false }],
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.05_Telegram.Telegram_Lichterstatus_'+[etage]+'_senden', {'name':'Telegram_Lichterstatus_'+[etage]+'_senden', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':true, "smartName": {"de": 'Telegram Lichterstatus '+[etage]+' senden',"smartType": "SWITCH"} }],   
                      ];
                      await createUserStates(anlegen_in,true, statesToCreate)};
                      
                      //Telegram Lichter  Nachrichtenversand anlegen ohne SmartNamen
                      if (Lichter_verwenden == true && Telegram_verwenden == true && Alexa_Ansage_verwenden == false){
                      let statesToCreate = [
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.05_Telegram.Telegram_Lichter_'+[etage]+'_Versand_an_aus', {'name':'Telegram_Lichter_'+[etage]+'_Versand_an_aus', 'type':'boolean', 'read':true, 'write':true, 'role':'switch', 'def':false }],
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.05_Telegram.Telegram_Lichterstatus_'+[etage]+'_senden', {'name':'Telegram_Lichterstatus_'+[etage]+'_senden', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':true, "smartName": false }],   
                      ];
                      await createUserStates(anlegen_in,true, statesToCreate)};
                      
                      //E-Mail Lichter Nachrichtenversand anlegen mit SmartNamen
                      if (Lichter_verwenden == true && Email_verwenden == true && Alexa_Ansage_verwenden == true){
                      let statesToCreate = [
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.06_E-Mail.EMAIL_Lichter_'+[etage]+'_Versand_an_aus', {'name':'EMAIL_Lichter_'+[etage]+'_Versand_an_aus', 'type':'boolean', 'read':true, 'write':true, 'role':'switch', 'def':false }],
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.06_E-Mail.EMAIL_Lichterstatus_'+[etage]+'_senden', {'name':'EMAIL_Lichterstatus_'+[etage]+'_senden', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':true, "smartName": {"de": 'EMAIL Lichterstatus '+[etage]+' senden',"smartType": "SWITCH"} }],   
                      ];
                      await createUserStates(anlegen_in,true, statesToCreate)};
                      
                      //E-Mail Lichter Nachrichtenversand anlegen mit SmartNamen
                      if (Lichter_verwenden == true && Email_verwenden == true && Alexa_Ansage_verwenden == false){
                      let statesToCreate = [
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.06_E-Mail.EMAIL_Lichter_'+[etage]+'_Versand_an_aus', {'name':'EMAIL_Lichter_'+[etage]+'_Versand_an_aus', 'type':'boolean', 'read':true, 'write':true, 'role':'switch', 'def':false }],
                         ['Geraete_zaehlen.Lichter.'+[etage]+'.06_E-Mail.EMAIL_Lichterstatus_'+[etage]+'_senden', {'name':'EMAIL_Lichterstatus_'+[etage]+'_senden', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':true, "smartName": false }],   
                      ];
                      await createUserStates(anlegen_in,true, statesToCreate)};
                      
                      //#####################################################################################################################################################################################################################################################################################################################################################################################
                      
                      //Ab hier Datenpunkte löschen
                      //###############################################################################
                      
                      if (!Lichter_verwenden && anlegen_in.slice(0, 10) == 'javascript') {
                      const idsjs = $('javascript.*.Geraete_zaehlen.Lichter*');
                      idsjs.each(function(id, i) {
                        if(existsState(id)) deleteState(id);
                      })};
                      
                      if (!Lichter_verwenden && anlegen_in.slice(0, 10) == '0_userdata') {
                      const idsud = $('0_userdata.0.Geraete_zaehlen.Lichter*');
                      idsud.each(function(id, i) {
                        if(existsState(id)) deleteState(id);
                      })};
                      
                      //###############################################################################
                      
                      if (!Alexa_Ansage_verwenden && anlegen_in.slice(0, 10) == 'javascript') {
                      const idsjs = $('javascript.*.Geraete_zaehlen.Lichter.*.04_Alexa.*');  
                      idsjs.each(function(id, i) {
                        if(existsState(id)) deleteState(id);
                      })};
                      
                      if (!Alexa_Ansage_verwenden && anlegen_in.slice(0, 10) == '0_userdata') {
                      const idsud = $('0_userdata.0.Geraete_zaehlen.Lichter.*.04_Alexa.*');  
                      idsud.each(function(id, i) {
                        if(existsState(id)) deleteState(id);
                      })};
                      
                      //###############################################################################
                      
                      if (!Telegram_verwenden && anlegen_in.slice(0, 10) == 'javascript') {
                      const idsjs = $('javascript.*.Geraete_zaehlen.Lichter.*.05_Telegram.*'); 
                      idsjs.each(function(id, i) {
                        if(existsState(id)) deleteState(id);
                      })};
                      
                      if (!Telegram_verwenden && anlegen_in.slice(0, 10) == '0_userdata') {
                      const idsud = $('0_userdata.0.Geraete_zaehlen.Lichter.*.05_Telegram.*'); 
                      idsud.each(function(id, i) {
                        if(existsState(id)) deleteState(id);
                      })};
                      
                      //###############################################################################
                      
                      if (!Email_verwenden && anlegen_in.slice(0, 10) == 'javascript') {
                      const idsjs = $('javascript.*.Geraete_zaehlen.Lichter.*.06_E-Mail.*'); 
                      idsjs.each(function(id, i) {
                        if(existsState(id)) deleteState(id);
                      })};
                      
                      if (!Email_verwenden && anlegen_in.slice(0, 10) == '0_userdata') {
                      const idsud = $('0_userdata.0.Geraete_zaehlen.Lichter.*.06_E-Mail.*'); 
                      idsud.each(function(id, i) {
                        if(existsState(id)) deleteState(id);
                      })};
                      
                      //###############################################################################
                      main();
                      

                      iobroker läuft unter Docker auf QNAP TS-451+
                      SkriptRecovery: https://forum.iobroker.net/post/930558

                      dslraserD 1 Antwort Letzte Antwort
                      0
                      • F fastfoot

                        @dslraser sagte in async-await:

                        @fastfoot
                        Danke Dir. Heute werde ich leider nicht mehr dazu kommen, aber ich gebe auf jeden Fall eine Rückmeldung.

                        Hier dann doch noch eine Version, welche deine Struktur unangetastet lässt. Du kannst also in deinen anderen Blocklys

                        • einfach die alte createUserStates() durch diese hier ersetzen.
                        • Zusätzlich musst du die Funktion immer mit await aufrufen, also
                          await createUserStates(anlegen_in,false, statesToCreate)};
                        • Das ist alles, der timeout für main() kann dann weg.
                        • der zweite Parameter(ursprünglich forceCreate) wird nicht ausgewertet, er ist nur da damit du nicht soviel im Aufruf ändern musst. In der Funktion heisst er dummy

                        Du solltest deine DP-Definitionen trotzdem mal überarbeiten, da ist sehr viel Gleiches hard-gecodet, z.B. Geraete_zaehlen.Licht, siehe dazu meinen ersten Versuch im Post zuvor, da habe ich das eliminiert und durch Variablen am Anfang ersetzt

                        async function createUserStates(where, dummy, statesToCreate) {
                           let dp, idKey;
                           for(let key of statesToCreate){
                           	idKey = where + '.' + key[0];
                               dp = key[1];
                           	if (!(await existsStateAsync(idKey))) {
                           		await createStateAsync(idKey, dp);
                           	}
                           }
                        }
                        
                        
                        //let iqontrol_vorhanden =  'system.adapter.iqontrol'; //prüfen ob iqontol installiert ist
                        //let iot_vorhanden =  'system.adapter.iot'; //prüfen ob iot installiert ist
                        
                        //#####################################################################################################################################################################################################################################################################################################################################################################################
                        
                        //Ansage Button Lichteransage anlegen
                        if (Alexa_Ansage_verwenden == true && Lichter_verwenden == true){
                        let statesToCreate = [
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.04_Alexa.01_Alexa_Routinebutton', {'name': '01_Alexa_Routinebutton','type': 'boolean', 'read': false, 'write': true, 'role': 'button','def':true, "smartName": {"de": 'Lichteransage '+[etage],"smartType": "SWITCH"} }], 
                        ];
                        await createUserStates(anlegen_in,false, statesToCreate)};
                        
                        //Lichter  Datenpunkte anlegen
                        if (Lichter_verwenden == true){
                        let statesToCreate = [
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.01_Anzeigen_und_Listen.01_Lichter_Anzahl_gesamt', {'name':'01_Lichter_Anzahl_gesamt', 'type':'number', 'read':true, 'write':false, 'role':'number', 'unit': 'Lichter', 'def':0 }],   
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.01_Anzeigen_und_Listen.02_Lichter_Anzahl_eingeschaltet', {'name':'02_Lichter_Anzahl_eingeschaltet', 'type':'number', 'read':true, 'write':false, 'role':'number', 'unit': 'Lichter', 'def':0 }],   
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.01_Anzeigen_und_Listen.03_Lichter_Anzahl_ausgeschaltet', {'name':'03_Lichter_Anzahl_ausgeschaltet', 'type':'number', 'read':true, 'write':false, 'role':'number', 'unit': 'Lichter', 'def':0 }],   
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.01_Anzeigen_und_Listen.04_eingeschaltete_Lichter_Liste', {'name': '04_eingeschaltete_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'noch leer' }],    
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.01_Anzeigen_und_Listen.05_gesamte_Lichter_Liste', {'name': '05_gesamte_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'noch leer' }],
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.01_Anzeigen_und_Listen.06_html_Lichter_Liste', {'name':'06_html_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'html', 'def':'noch leer' }],
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.01_Anzeigen_und_Listen.07_Lichter_Liste_mit_Emojis', {'name':'07_Lichter_Liste_mit_Emojis', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'noch leer' }],   
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.01_Anzeigen_und_Listen.08_Lichter_Emoji_eingeschaltet', {'name':'08_Lichter_Emoji_eingeschaltet', 'type':'mixed', 'read':true, 'write':true, 'role':'mixed' }],   
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.01_Anzeigen_und_Listen.09_Lichter_Emoji_ausgeschaltet', {'name':'09_Lichter_Emoji_ausgeschaltet', 'type':'mixed', 'read':true, 'write':true, 'role':'mixed' }],   
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.01_Anzeigen_und_Listen.10_html_nur_eingeschaltete_Lichter_Liste', {'name':'10_html_nur_eingeschaltete_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'html', 'def':'noch leer' }],
                           ///////////////////////////////////
                           // iQontrol Trigger und Schalter //
                           /////////////////////////////////// 
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.02_Trigger_und_Schalter.01_Thema_hell_Lichter_Liste', {'name':'01_Thema_hell_Lichter_Liste', 'type':'boolean', 'read':true, 'write':true, 'role':'switch','def':true}],
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.02_Trigger_und_Schalter.02_Thema_dunkel_Lichter_Liste', {'name':'02_Thema_dunkel_Lichter_Liste', 'type':'boolean', 'read':true, 'write':true, 'role':'switch','def':false}],
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.02_Trigger_und_Schalter.03_Thema_eigenes_Lichter_Liste', {'name':'03_Thema_eigenes_Lichter_Liste', 'type':'boolean', 'read':true, 'write':true, 'role':'switch','def':false}],
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.02_Trigger_und_Schalter.04_Trigger_Tabelle_iQontrol_Lichter_Liste', {'name': '04_Trigger_Tabelle_iQontrol_Lichter_Liste','type': 'boolean', 'read': false, 'write': true, 'role': 'button','def':true}], 
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.02_Trigger_und_Schalter.05_Schalter_fuer_Button_Tabelle_Lichter_Liste', {'name': '05_Schalter_fuer_Button_Tabelle_Lichter_Liste','type': 'boolean', 'read': true, 'write': true, 'role': 'switch','def':false}], 
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.02_Trigger_und_Schalter.06_Trigger_Farbe_iQontrol_Lichter_Liste', {'name': '06_Trigger_Farbe_iQontrol_Lichter_Liste','type': 'boolean', 'read': false, 'write': true, 'role': 'button','def':true}], 
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.02_Trigger_und_Schalter.07_Umschalter_Farbe_Lichter_Liste', {'name': '07_Umschalter_Farbe_Lichter_Liste','type': 'number', 'read': true, 'write': false, 'role': 'number','def':0}], 
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.02_Trigger_und_Schalter.08_Geraetestatus_in_Ueberschrift_an_aus', {'name': '08_Geraetestatus_in_Ueberschrift_an_aus','type': 'boolean', 'read': true, 'write': true, 'role': 'switch','def':true}], 
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.02_Trigger_und_Schalter.09_Geraete_in_HTML_Liste_schaltbar', {'name': '09_Geraete_in_HTML_Liste_schaltbar','type': 'boolean', 'read': true, 'write': true, 'role': 'switch','def':true}], 
                           ///////////////////////////////////////////////
                           // HTML Daten Hell-Dunkel nicht beschreibbar //
                           ///////////////////////////////////////////////
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.01_Hintergrundfarbe_Lichter_Liste', {'name':'01_Hintergrundfarbe_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'white' }],       
                           //Rahmen Kopf
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.02_Rahmenbreite_Kopf_Lichter_Liste', {'name':'02_Rahmenbreite_Kopf_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'0' }],   
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.03_Rahmenstyle_Kopf_Lichter_Liste', {'name':'03_Rahmenstyle_Kopf_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'solid' }],   
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.04_Rahmenfarbe_Kopf_Lichter_Liste', {'name':'04_Rahmenfarbe_Kopf_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'black' }],   
                           //Rahmen Überschrift
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.05_Rahmenbreite_Ueberschrift_Lichter_Liste', {'name':'05_Rahmenbreite_Ueberschrift_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'0' }],   
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.06_Rahmenstyle_Ueberschrift_Lichter_Liste', {'name':'06_Rahmenstyle_Ueberschrift_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'solid' }],   
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.07_Rahmenfarbe_Ueberschrift_Lichter_Liste', {'name':'07_Rahmenfarbe_Ueberschrift_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'black' }],   
                           //Rahmen Tabelle aussen
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.08_Rahmenbreite_Tabelle_aussen_Lichter_Liste', {'name':'08_Rahmenbreite_Tabelle_aussen_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'5' }],   
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.09_Rahmenstyle_Tabelle_aussen_Lichter_Liste', {'name':'09_Rahmenstyle_Tabelle_aussen_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'solid' }],   
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.10_Rahmenfarbe_Tabelle_aussen_Lichter_Liste', {'name':'10_Rahmenfarbe_Tabelle_aussen_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'black' }],   
                           //Ueberschrift
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.11_Ueberschrift_Schriftgroesse_Lichter_Liste', {'name':'11_Ueberschrift_Schriftgroesse_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'4' }],   
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.12_Ueberschrift_Farbe_Lichter_Liste', {'name':'12_Ueberschrift_Farbe_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'black' }],       
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.13_Ueberschrift_Schriftart_Lichter_Liste', {'name':'13_Ueberschrift_Schriftart_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'apple' }],           
                           //Bild links
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.14_Bild_links_Lichter_Liste', {'name':'14_Bild_links_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':' data:image/png;base64,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'}], 
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.15_Bild_links_Hoehe_Lichter_Liste', {'name':'15_Bild_links_Hoehe_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'8' }],   
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.16_Bild_links_Breite_Lichter_Liste', {'name':'16_Bild_links_Breite_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'8' }],   
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.17_Bild_links_Abstand_links_Lichter_Liste', {'name':'17_Bild_links_Abstand_links_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'0' }],   
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.18_Bild_links_Abstand_oben_Lichter_Liste', {'name':'18_Bild_links_Abstand_oben_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'0' }],   
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.19_Bild_links_Abstand_unten_Lichter_Liste', {'name':'19_Bild_links_Abstand_unten_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'0' }],   
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.20_Bild_links_Abstand_rechts_Lichter_Liste', {'name':'20_Bild_links_Abstand_rechts_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'0' }],   
                           //Bild rechts
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.21_Bild_rechts_Lichter_Liste', {'name':'21_Bild_rechts_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':' data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAMAAABHPGVmAAAAUVBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcqRVCAAAAGnRSTlMAECAwP0BQYG9wf4CPkJ+gr7C/wM/Q3+Dv8DtSRt8AAAMESURBVGje7ZndkqMgEEbBhIzEmfgvet7/QfdCM7uKBlBi1Val79JWOEIj/XUjxMc+dobJtOqIYl2VynXGvSei9fe1aRREtsKeTHQGFEtGBmB0Eie6iTYA2WKxeqCVETdRC/TzATVgZNStOgB65qotz2HTQDnzdEASF5IA3cwDEPvbtsb8QP5TyPX+GI/prnrcr2+AyLRaHk2bx/lOiNo4PgsVDaKq7ZO2UlEg8vEc0ORaJUIIkSidm6f3IY9DblO+bJdpINHtlANvRyHf40D16qqoenz6fQgy5eR2c+FVu71knhDZgCsHaAAauRcyMszl9Td3MRsUP0iBV06WLcBjH+QHz7w/Un72QG54a4uRcguHyD5AW0hjaxMfSA5w8T3WLwB5KEQRpl80gAqEVEAbkqJaoAqDKPvFHGb/wwkpgTos29ZLMeeCyOCJTFORARAdGhEhhDDAVwBklzTWiyV2QdgjjZOVQV5AFGDChZaZB9IByezP18fyeXHlgOT7qhU9fzcHpJ7POym6rlgJ0dKv5pF3QOYlUdID9BbF8i/KHgdk/qscJUm5hNj+V6M4Hk/Cq1tCbP8ByDDpxyXE9h+AvGm5zDzwA8BgB37pT17Ny7mFS2PKtS288Idt4VM+xlOOFbW2Y93WBR2Qpxz15yQtDTR7Visk/Z4iJERpSTWnVaGS6BxxJ+rQqDSWHIwvuLM9gntP6fATXgQNQOdbBHXAEF4EjeVc41fONWv7xL8w9aGMjGxfiZ37UUZGvrdZ0AJ0rmZBt1Em+7Y9xs5J+oqRslWKezdwRrHQbDdwxu5LfqCB84z+VoPu2dLLDjfVJnnVpcumWjpdgA0qQnsw/70Oe6TXsT14TR+/V2x5hPbgPw26NavjNDqFEEKV64gyXstWCCHklzWd+itu83maT5bXBsDUeebOaJ+rjQ/kb2n2hitAYymgt19m6gDV4Kkteuu95eCtGjwZzYp+yQD6NNZVedqv5pky/qV/uZVpYzLWVj8bYiKGbCNYujRxCKbUUnzsY2fYH0Cu0ke796XoAAAAAElFTkSuQmCC'}], 
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.22_Bild_rechts_Hoehe_Lichter_Liste', {'name':'22_Bild_rechts_Hoehe_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'8' }],   
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.23_Bild_rechts_Breite_Lichter_Liste', {'name':'23_Bild_rechts_Breite_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'8' }],   
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.24_Bild_rechts_Abstand_links_Lichter_Liste', {'name':'24_Bild_rechts_Abstand_links_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'0' }],   
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.25_Bild_rechts_Abstand_oben_Lichter_Liste', {'name':'25_Bild_rechts_Abstand_oben_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'0' }],   
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.26_Bild_rechts_Abstand_unten_Lichter_Liste', {'name':'26_Bild_rechts_Abstand_unten_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'0' }],   
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.27_Bild_rechts_Abstand_rechts_Lichter_Liste', {'name':'27_Bild_rechts_Abstand_rechts_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'0' }],   
                           //Abstand Kopf zur Tabelle
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.28_Abstand_Tabelle_zum_Kopf_Lichter_Liste', {'name':'28_Abstand_Tabelle_zum_Kopf_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'4' }],   
                           //Rahmen Tabelle
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.29_Rahmenbreite_Tabelle_innen_Lichter_Liste', {'name':'29_Rahmenbreite_Tabelle_innen_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'1' }],   
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.30_Rahmenfarbe_Tabelle_innen_Lichter_Liste', {'name':'30_Rahmenfarbe_Tabelle_innen_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'black' }],           
                           //Schrift in der Tabelle aktive Geräte
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.31_Tabelle_Schriftart_Lichter_Liste', {'name':'31_Tabelle_Schriftart_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'apple' }],
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.32_Tabelle_Schriftfarbe_aktives_Geraet_Lichter_Liste', {'name':'32_Tabelle_Schriftfarbe_aktives_Geraet_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'red' }],   
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.33_Tabelle_Schriftgroesse_aktives_Geraet_Lichter_Liste', {'name':'33_Tabelle_Schriftgroesse_aktives_Geraet_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'3.5' }],   
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.34_Tabelle_Schriftfarbe_aktives_Geraet_Status_Lichter_Liste', {'name':'34_Tabelle_Schriftfarbe_aktives_Geraet_Status_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'red' }],   
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.35_Tabelle_Schriftgroesse_aktives_Geraet_Status_Lichter_Liste', {'name':'35_Tabelle_Schriftgroesse_aktives_Geraet_Status_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'3.5' }],        
                           //Schrift in der Tabelle inaktive Geräte
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.36_Tabelle_Schriftfarbe_inaktives_Geraet_Lichter_Liste', {'name':'36_Tabelle_Schriftfarbe_inaktives_Geraet_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'black' }],   
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.37_Tabelle_Schriftgroesse_inaktives_Geraet_Lichter_Liste', {'name':'37_Tabelle_Schriftgroesse_inaktives_Geraet_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'3.5' }],   
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.38_Tabelle_Schriftfarbe_inaktives_Geraet_Status_Lichter_Liste', {'name':'38_Tabelle_Schriftfarbe_inaktives_Geraet_Status_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'black' }],   
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.39_Tabelle_Schriftgroesse_inaktives_Geraet_Status_Lichter_Liste', {'name':'39_Tabelle_Schriftgroesse_inaktives_Geraet_Status_Lichter_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'3.5' }],        
                           //Schriftgroesse Status Geräte Ueberschrift
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.40_Ueberschrift_Schriftgroesse_aktive_Geraete', {'name':'40_Ueberschrift_Schriftgroesse_aktive_Geraete', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':'3' }],        
                           //Groesse Schaltfeld    
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.01_HTML_Hell_Dunkel_Festeinstellung.41_Schaltfeld_Groesse_Lichter_Liste', {'name':'41_Schaltfeld_Groesse_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':'4' }],        
                           //////////////////////////////////////////////////
                           // HTML Daten eigene Einstellungen beschreibbar // 
                           //////////////////////////////////////////////////
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.01_Hintergrundfarbe_Lichter_Liste', {'name':'01_Hintergrundfarbe_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],      
                           //Rahmen Kopf
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.02_Rahmenbreite_Kopf_Lichter_Liste', {'name':'02_Rahmenbreite_Kopf_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],   
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.03_Rahmenstyle_Kopf_Lichter_Liste', {'name':'03_Rahmenstyle_Kopf_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],   
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.04_Rahmenfarbe_Kopf_Lichter_Liste', {'name':'04_Rahmenfarbe_Kopf_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],   
                           //Rahmen Überschrift
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.05_Rahmenbreite_Ueberschrift_Lichter_Liste', {'name':'05_Rahmenbreite_Ueberschrift_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],   
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.06_Rahmenstyle_Ueberschrift_Lichter_Liste', {'name':'06_Rahmenstyle_Ueberschrift_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],   
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.07_Rahmenfarbe_Ueberschrift_Lichter_Liste', {'name':'07_Rahmenfarbe_Ueberschrift_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],   
                           //Rahmen Tabelle aussen
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.08_Rahmenbreite_Tabelle_aussen_Lichter_Liste', {'name':'08_Rahmenbreite_Tabelle_aussen_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],   
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.09_Rahmenstyle_Tabelle_aussen_Lichter_Liste', {'name':'09_Rahmenstyle_Tabelle_aussen_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],   
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.10_Rahmenfarbe_Tabelle_aussen_Lichter_Liste', {'name':'10_Rahmenfarbe_Tabelle_aussen_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],   
                           //Ueberschrift
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.11_Ueberschrift_Schriftgroesse_Lichter_Liste', {'name':'11_Ueberschrift_Schriftgroesse_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],   
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.12_Ueberschrift_Farbe_Lichter_Liste', {'name':'12_Ueberschrift_Farbe_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],       
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.13_Ueberschrift_Schriftart_Lichter_Liste', {'name':'13_Ueberschrift_Schriftart_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],           
                           //Bild links
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.14_Bild_links_Lichter_Liste', {'name':'14_Bild_links_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }], 
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.15_Bild_links_Hoehe_Lichter_Liste', {'name':'15_Bild_links_Hoehe_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],   
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.16_Bild_links_Breite_Lichter_Liste', {'name':'16_Bild_links_Breite_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],   
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.17_Bild_links_Abstand_links_Lichter_Liste', {'name':'17_Bild_links_Abstand_links_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],   
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.18_Bild_links_Abstand_oben_Lichter_Liste', {'name':'18_Bild_links_Abstand_oben_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],   
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.19_Bild_links_Abstand_unten_Lichter_Liste', {'name':'19_Bild_links_Abstand_unten_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],   
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.20_Bild_links_Abstand_rechts_Lichter_Liste', {'name':'20_Bild_links_Abstand_rechts_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],   
                           //Bild rechts
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.21_Bild_rechts_Lichter_Liste', {'name':'21_Bild_rechts_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }], 
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.22_Bild_rechts_Hoehe_Lichter_Liste', {'name':'22_Bild_rechts_Hoehe_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],   
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.23_Bild_rechts_Breite_Lichter_Liste', {'name':'23_Bild_rechts_Breite_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],   
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.24_Bild_rechts_Abstand_links_Lichter_Liste', {'name':'24_Bild_rechts_Abstand_links_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],   
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.25_Bild_rechts_Abstand_oben_Lichter_Liste', {'name':'25_Bild_rechts_Abstand_oben_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],   
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.26_Bild_rechts_Abstand_unten_Lichter_Liste', {'name':'26_Bild_rechts_Abstand_unten_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],   
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.27_Bild_rechts_Abstand_rechts_Lichter_Liste', {'name':'27_Bild_rechts_Abstand_rechts_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],   
                           //Abstand Kopf zur Tabelle
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.28_Abstand_Tabelle_zum_Kopf_Lichter_Liste', {'name':'28_Abstand_Tabelle_zum_Kopf_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],   
                           //Rahmen Tabelle
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.29_Rahmenbreite_Tabelle_innen_Lichter_Liste', {'name':'29_Rahmenbreite_Tabelle_innen_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],   
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.30_Rahmenfarbe_Tabelle_innen_Lichter_Liste', {'name':'30_Rahmenfarbe_Tabelle_innen_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],           
                           //Schrift in der Tabelle aktive Gerätte
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.31_Tabelle_Schriftart_Lichter_Liste', {'name':'31_Tabelle_Schriftart_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.32_Tabelle_Schriftfarbe_aktives_Geraet_Lichter_Liste', {'name':'32_Tabelle_Schriftfarbe_aktives_Geraet_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],   
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.33_Tabelle_Schriftgroesse_aktives_Geraet_Lichter_Liste', {'name':'33_Tabelle_Schriftgroesse_aktives_Geraet_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],   
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.34_Tabelle_Schriftfarbe_aktives_Geraet_Status_Lichter_Liste', {'name':'34_Tabelle_Schriftfarbe_aktives_Geraet_Status_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],   
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.35_Tabelle_Schriftgroesse_aktives_Geraet_Status_Lichter_Liste', {'name':'35_Tabelle_Schriftgroesse_aktives_Geraet_Status_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],        
                           //Schrift in der Tabelle inaktive Gerätte
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.36_Tabelle_Schriftfarbe_inaktives_Geraet_Lichter_Liste', {'name':'36_Tabelle_Schriftfarbe_inaktives_Geraet_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],   
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.37_Tabelle_Schriftgroesse_inaktives_Geraet_Lichter_Liste', {'name':'37_Tabelle_Schriftgroesse_inaktives_Geraet_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],   
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.38_Tabelle_Schriftfarbe_inaktives_Geraet_Status_Lichter_Liste', {'name':'38_Tabelle_Schriftfarbe_inaktives_Geraet_Status_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],   
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.39_Tabelle_Schriftgroesse_inaktives_Geraet_Status_Lichter_Liste', {'name':'39_Tabelle_Schriftgroesse_inaktives_Geraet_Status_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],        
                           //Schriftgroesse Status Geräte Ueberschrift
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.40_Ueberschrift_Schriftgroesse_aktive_Geraete', {'name':'40_Ueberschrift_Schriftgroesse_aktive_Geraete', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],        
                           //Groesse Schaltfeld    
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.03_HTML_Daten.02_HTML_Eigene_Einstellungen.41_Schaltfeld_Groesse_Lichter_Liste', {'name':'41_Schaltfeld_Groesse_Lichter_Liste', 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':' ' }],            
                        ];
                        await createUserStates(anlegen_in,false, statesToCreate)};
                        
                        //Telegram Lichter  Nachrichtenversand anlegen mit SmartNamen
                        if (Lichter_verwenden == true && Telegram_verwenden == true && Alexa_Ansage_verwenden == true){
                        let statesToCreate = [
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.05_Telegram.Telegram_Lichter_'+[etage]+'_Versand_an_aus', {'name':'Telegram_Lichter_'+[etage]+'_Versand_an_aus', 'type':'boolean', 'read':true, 'write':true, 'role':'switch', 'def':false }],
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.05_Telegram.Telegram_Lichterstatus_'+[etage]+'_senden', {'name':'Telegram_Lichterstatus_'+[etage]+'_senden', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':true, "smartName": {"de": 'Telegram Lichterstatus '+[etage]+' senden',"smartType": "SWITCH"} }],   
                        ];
                        await createUserStates(anlegen_in,true, statesToCreate)};
                        
                        //Telegram Lichter  Nachrichtenversand anlegen ohne SmartNamen
                        if (Lichter_verwenden == true && Telegram_verwenden == true && Alexa_Ansage_verwenden == false){
                        let statesToCreate = [
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.05_Telegram.Telegram_Lichter_'+[etage]+'_Versand_an_aus', {'name':'Telegram_Lichter_'+[etage]+'_Versand_an_aus', 'type':'boolean', 'read':true, 'write':true, 'role':'switch', 'def':false }],
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.05_Telegram.Telegram_Lichterstatus_'+[etage]+'_senden', {'name':'Telegram_Lichterstatus_'+[etage]+'_senden', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':true, "smartName": false }],   
                        ];
                        await createUserStates(anlegen_in,true, statesToCreate)};
                        
                        //E-Mail Lichter Nachrichtenversand anlegen mit SmartNamen
                        if (Lichter_verwenden == true && Email_verwenden == true && Alexa_Ansage_verwenden == true){
                        let statesToCreate = [
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.06_E-Mail.EMAIL_Lichter_'+[etage]+'_Versand_an_aus', {'name':'EMAIL_Lichter_'+[etage]+'_Versand_an_aus', 'type':'boolean', 'read':true, 'write':true, 'role':'switch', 'def':false }],
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.06_E-Mail.EMAIL_Lichterstatus_'+[etage]+'_senden', {'name':'EMAIL_Lichterstatus_'+[etage]+'_senden', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':true, "smartName": {"de": 'EMAIL Lichterstatus '+[etage]+' senden',"smartType": "SWITCH"} }],   
                        ];
                        await createUserStates(anlegen_in,true, statesToCreate)};
                        
                        //E-Mail Lichter Nachrichtenversand anlegen mit SmartNamen
                        if (Lichter_verwenden == true && Email_verwenden == true && Alexa_Ansage_verwenden == false){
                        let statesToCreate = [
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.06_E-Mail.EMAIL_Lichter_'+[etage]+'_Versand_an_aus', {'name':'EMAIL_Lichter_'+[etage]+'_Versand_an_aus', 'type':'boolean', 'read':true, 'write':true, 'role':'switch', 'def':false }],
                           ['Geraete_zaehlen.Lichter.'+[etage]+'.06_E-Mail.EMAIL_Lichterstatus_'+[etage]+'_senden', {'name':'EMAIL_Lichterstatus_'+[etage]+'_senden', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':true, "smartName": false }],   
                        ];
                        await createUserStates(anlegen_in,true, statesToCreate)};
                        
                        //#####################################################################################################################################################################################################################################################################################################################################################################################
                        
                        //Ab hier Datenpunkte löschen
                        //###############################################################################
                        
                        if (!Lichter_verwenden && anlegen_in.slice(0, 10) == 'javascript') {
                        const idsjs = $('javascript.*.Geraete_zaehlen.Lichter*');
                        idsjs.each(function(id, i) {
                          if(existsState(id)) deleteState(id);
                        })};
                        
                        if (!Lichter_verwenden && anlegen_in.slice(0, 10) == '0_userdata') {
                        const idsud = $('0_userdata.0.Geraete_zaehlen.Lichter*');
                        idsud.each(function(id, i) {
                          if(existsState(id)) deleteState(id);
                        })};
                        
                        //###############################################################################
                        
                        if (!Alexa_Ansage_verwenden && anlegen_in.slice(0, 10) == 'javascript') {
                        const idsjs = $('javascript.*.Geraete_zaehlen.Lichter.*.04_Alexa.*');  
                        idsjs.each(function(id, i) {
                          if(existsState(id)) deleteState(id);
                        })};
                        
                        if (!Alexa_Ansage_verwenden && anlegen_in.slice(0, 10) == '0_userdata') {
                        const idsud = $('0_userdata.0.Geraete_zaehlen.Lichter.*.04_Alexa.*');  
                        idsud.each(function(id, i) {
                          if(existsState(id)) deleteState(id);
                        })};
                        
                        //###############################################################################
                        
                        if (!Telegram_verwenden && anlegen_in.slice(0, 10) == 'javascript') {
                        const idsjs = $('javascript.*.Geraete_zaehlen.Lichter.*.05_Telegram.*'); 
                        idsjs.each(function(id, i) {
                          if(existsState(id)) deleteState(id);
                        })};
                        
                        if (!Telegram_verwenden && anlegen_in.slice(0, 10) == '0_userdata') {
                        const idsud = $('0_userdata.0.Geraete_zaehlen.Lichter.*.05_Telegram.*'); 
                        idsud.each(function(id, i) {
                          if(existsState(id)) deleteState(id);
                        })};
                        
                        //###############################################################################
                        
                        if (!Email_verwenden && anlegen_in.slice(0, 10) == 'javascript') {
                        const idsjs = $('javascript.*.Geraete_zaehlen.Lichter.*.06_E-Mail.*'); 
                        idsjs.each(function(id, i) {
                          if(existsState(id)) deleteState(id);
                        })};
                        
                        if (!Email_verwenden && anlegen_in.slice(0, 10) == '0_userdata') {
                        const idsud = $('0_userdata.0.Geraete_zaehlen.Lichter.*.06_E-Mail.*'); 
                        idsud.each(function(id, i) {
                          if(existsState(id)) deleteState(id);
                        })};
                        
                        //###############################################################################
                        main();
                        

                        dslraserD Offline
                        dslraserD Offline
                        dslraser
                        Forum Testing Most Active
                        schrieb am zuletzt editiert von
                        #15

                        @fastfoot
                        ich habe Deine Variante hier mal eingebaut. Bei mir funktionierte in dieser Version alles wie es soll.

                        https://forum.iobroker.net/post/617640

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


                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        487

                        Online

                        32.4k

                        Benutzer

                        81.5k

                        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
                        • Home
                        • Aktuell
                        • Tags
                        • Ungelesen 0
                        • Kategorien
                        • Unreplied
                        • Beliebt
                        • GitHub
                        • Docu
                        • Hilfe