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

  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. [Vorlage] Skript: Erstellen von User-Datenpunkten

NEWS

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

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

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

[Vorlage] Skript: Erstellen von User-Datenpunkten

Geplant Angeheftet Gesperrt Verschoben JavaScript
86 Beiträge 16 Kommentatoren 18.5k Aufrufe 30 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.
  • paul53P paul53

    @dslraser sagte in [Vorlage] Skript: Erstellen von User-Datenpunkten:

    warn (413) State "0_userdata.0.Fenster.01Haustuer" not found

    Anscheinend erfolgt setState() zu früh (neues Objekt wird noch nicht gefunden). Das sollte durch den Aufruf im Callback eigentlich nicht sein. Abhilfe schafft sicherlich eine Verzögerung.

                    setTimeout(function() {setState(id, init, true);}, 100);
    
    dslraserD Offline
    dslraserD Offline
    dslraser
    Forum Testing Most Active
    schrieb am zuletzt editiert von
    #7

    @paul53
    Danke, damit geht es.

    1 Antwort Letzte Antwort
    0
    • MicM Offline
      MicM Offline
      Mic
      Developer
      schrieb am zuletzt editiert von Mic
      #8

      @paul53
      Vielen Dank für dieses Script!

      Ich habe es in untenstehende Funktion gekapselt. Funktioniert im Prinzip so wie createState(). Zusätzlich ein dritter optionaler Parameter "warn", der, nur falls explizit auf true gesetzt, eine Warnung im Log ausgibt, falls der State bereits existiert.

      Beispielaufruf:

      createUserDataState('Test.Schaltknopf', {'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false });
      

      Die Funktion:

      /**
       * Creates a state under 0_userdata.0
       * Source: https://forum.iobroker.net/topic/26839/
       * Thanks to ioBroker forum user "paul53" for the basis of this function.
       * Version: 0.1 - Mic
       * @param {string} stateId        State ID to be created under '0_userdata.0', like 'LivingRoom.Lights.Sideboard.Brightness'
       * @param {object} param          Object with state details. Template: {'name':'NAME', 'type':'number', 'unit':'UNIT', 'min':MIN, 'max':MAX, 'read':true, 'write':true, 'role':'ROLE', 'def':DEFAULT }
       * @param {boolean} [warn=false]  Optional. Throws warning in log, if state is already existing. Default is false, so no warning in log, if state exists
       */
      function createUserDataState(stateId, param, warn) {
      
          if (warn === undefined) warn = false;
          const WHERE = '0_userdata.0';
          stateId = (stateId.startsWith(WHERE)) ? stateId.substring(WHERE.length) : stateId; // remove WHERE from beginning of string
          stateId = (stateId.startsWith('.')) ? stateId.substring(1) : stateId; // remove first "."
      
          const FULL_STATE_ID = (WHERE.endsWith('.') ? WHERE : WHERE + '.') + stateId; // Final state
      
          if($(FULL_STATE_ID).length) {
              if(warn) log('State [' + FULL_STATE_ID + '] is already existing and will no longer be created.', 'warn');
              return;
          }
      
          let obj = {};
          obj.type = 'state';
          obj.common = param;
          setObject(FULL_STATE_ID, obj, function (err) {
              if (err) {
                  log('Cannot write object: ' + err);
              } else {
                  let init = null;
                  if(param.def === undefined) {
                      if(param.type === 'number') init = 0;
                      if(param.type === 'boolean') init = false;
                      if(param.type === 'string') init = '';
                  } else {
                      init = param.def;
                  }
                  setTimeout(function() { setState(FULL_STATE_ID, init, true); }, 50); // see https://forum.iobroker.net/post/334331
              }
          });
      
      }
      
      dslraserD 2 Antworten Letzte Antwort
      1
      • MicM Mic

        @paul53
        Vielen Dank für dieses Script!

        Ich habe es in untenstehende Funktion gekapselt. Funktioniert im Prinzip so wie createState(). Zusätzlich ein dritter optionaler Parameter "warn", der, nur falls explizit auf true gesetzt, eine Warnung im Log ausgibt, falls der State bereits existiert.

        Beispielaufruf:

        createUserDataState('Test.Schaltknopf', {'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false });
        

        Die Funktion:

        /**
         * Creates a state under 0_userdata.0
         * Source: https://forum.iobroker.net/topic/26839/
         * Thanks to ioBroker forum user "paul53" for the basis of this function.
         * Version: 0.1 - Mic
         * @param {string} stateId        State ID to be created under '0_userdata.0', like 'LivingRoom.Lights.Sideboard.Brightness'
         * @param {object} param          Object with state details. Template: {'name':'NAME', 'type':'number', 'unit':'UNIT', 'min':MIN, 'max':MAX, 'read':true, 'write':true, 'role':'ROLE', 'def':DEFAULT }
         * @param {boolean} [warn=false]  Optional. Throws warning in log, if state is already existing. Default is false, so no warning in log, if state exists
         */
        function createUserDataState(stateId, param, warn) {
        
            if (warn === undefined) warn = false;
            const WHERE = '0_userdata.0';
            stateId = (stateId.startsWith(WHERE)) ? stateId.substring(WHERE.length) : stateId; // remove WHERE from beginning of string
            stateId = (stateId.startsWith('.')) ? stateId.substring(1) : stateId; // remove first "."
        
            const FULL_STATE_ID = (WHERE.endsWith('.') ? WHERE : WHERE + '.') + stateId; // Final state
        
            if($(FULL_STATE_ID).length) {
                if(warn) log('State [' + FULL_STATE_ID + '] is already existing and will no longer be created.', 'warn');
                return;
            }
        
            let obj = {};
            obj.type = 'state';
            obj.common = param;
            setObject(FULL_STATE_ID, obj, function (err) {
                if (err) {
                    log('Cannot write object: ' + err);
                } else {
                    let init = null;
                    if(param.def === undefined) {
                        if(param.type === 'number') init = 0;
                        if(param.type === 'boolean') init = false;
                        if(param.type === 'string') init = '';
                    } else {
                        init = param.def;
                    }
                    setTimeout(function() { setState(FULL_STATE_ID, init, true); }, 50); // see https://forum.iobroker.net/post/334331
                }
            });
        
        }
        
        dslraserD Offline
        dslraserD Offline
        dslraser
        Forum Testing Most Active
        schrieb am zuletzt editiert von
        #9

        @Mic
        noch ein kleiner Hinweis zu

        setTimeout(function()
        

        Je nach dem, wie viele Datenpunkte erstellt und initialisiert werden sollen muss man den Wert erhöhen. Schon ab ca 10 DP reichen schon 100 nicht mehr.
        Ich habe es jetzt auf 1000 stehen, damit gingen bisher auch ca 35 DP auf einmal.

        MicM 1 Antwort Letzte Antwort
        0
        • MicM Mic

          @paul53
          Vielen Dank für dieses Script!

          Ich habe es in untenstehende Funktion gekapselt. Funktioniert im Prinzip so wie createState(). Zusätzlich ein dritter optionaler Parameter "warn", der, nur falls explizit auf true gesetzt, eine Warnung im Log ausgibt, falls der State bereits existiert.

          Beispielaufruf:

          createUserDataState('Test.Schaltknopf', {'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false });
          

          Die Funktion:

          /**
           * Creates a state under 0_userdata.0
           * Source: https://forum.iobroker.net/topic/26839/
           * Thanks to ioBroker forum user "paul53" for the basis of this function.
           * Version: 0.1 - Mic
           * @param {string} stateId        State ID to be created under '0_userdata.0', like 'LivingRoom.Lights.Sideboard.Brightness'
           * @param {object} param          Object with state details. Template: {'name':'NAME', 'type':'number', 'unit':'UNIT', 'min':MIN, 'max':MAX, 'read':true, 'write':true, 'role':'ROLE', 'def':DEFAULT }
           * @param {boolean} [warn=false]  Optional. Throws warning in log, if state is already existing. Default is false, so no warning in log, if state exists
           */
          function createUserDataState(stateId, param, warn) {
          
              if (warn === undefined) warn = false;
              const WHERE = '0_userdata.0';
              stateId = (stateId.startsWith(WHERE)) ? stateId.substring(WHERE.length) : stateId; // remove WHERE from beginning of string
              stateId = (stateId.startsWith('.')) ? stateId.substring(1) : stateId; // remove first "."
          
              const FULL_STATE_ID = (WHERE.endsWith('.') ? WHERE : WHERE + '.') + stateId; // Final state
          
              if($(FULL_STATE_ID).length) {
                  if(warn) log('State [' + FULL_STATE_ID + '] is already existing and will no longer be created.', 'warn');
                  return;
              }
          
              let obj = {};
              obj.type = 'state';
              obj.common = param;
              setObject(FULL_STATE_ID, obj, function (err) {
                  if (err) {
                      log('Cannot write object: ' + err);
                  } else {
                      let init = null;
                      if(param.def === undefined) {
                          if(param.type === 'number') init = 0;
                          if(param.type === 'boolean') init = false;
                          if(param.type === 'string') init = '';
                      } else {
                          init = param.def;
                      }
                      setTimeout(function() { setState(FULL_STATE_ID, init, true); }, 50); // see https://forum.iobroker.net/post/334331
                  }
              });
          
          }
          
          dslraserD Offline
          dslraserD Offline
          dslraser
          Forum Testing Most Active
          schrieb am zuletzt editiert von
          #10

          @Mic sagte in [Vorlage] Skript: Erstellen von User-Datenpunkten:

          createUserDataState('Test.Schaltknopf', {'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false });

          wenn ich versuche ein String DP zu erstellen und den mit Text zu initialisieren, dann kommt eine Fehlermeldung.
          Ohne

          'def':false
          

          funktioniert es ohne Fehlermeldung.

          paul53P 1 Antwort Letzte Antwort
          0
          • dslraserD dslraser

            @Mic sagte in [Vorlage] Skript: Erstellen von User-Datenpunkten:

            createUserDataState('Test.Schaltknopf', {'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false });

            wenn ich versuche ein String DP zu erstellen und den mit Text zu initialisieren, dann kommt eine Fehlermeldung.
            Ohne

            'def':false
            

            funktioniert es ohne Fehlermeldung.

            paul53P Offline
            paul53P Offline
            paul53
            schrieb am zuletzt editiert von paul53
            #11

            @dslraser sagte:

            Ohne 'def':false funktioniert es ohne Fehlermeldung.

            false ist kein String, sondern "boolean". def muss vom Typ des Datenpunktes sein.

            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

            dslraserD 1 Antwort Letzte Antwort
            0
            • paul53P paul53

              @dslraser sagte:

              Ohne 'def':false funktioniert es ohne Fehlermeldung.

              false ist kein String, sondern "boolean". def muss vom Typ des Datenpunktes sein.

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

              @paul53 sagte in [Vorlage] Skript: Erstellen von User-Datenpunkten:

              false ist kein String, sondern "boolean". def muss vom Typ des Datenpunktes sein.

              und wie muß das dann aussehen ? So kommt ein Fehler.

              createUserDataState('Test.Teststring', {'name':'Das ist ein Teststring, 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':false });
              
              paul53P 1 Antwort Letzte Antwort
              0
              • dslraserD dslraser

                @paul53 sagte in [Vorlage] Skript: Erstellen von User-Datenpunkten:

                false ist kein String, sondern "boolean". def muss vom Typ des Datenpunktes sein.

                und wie muß das dann aussehen ? So kommt ein Fehler.

                createUserDataState('Test.Teststring', {'name':'Das ist ein Teststring, 'type':'string', 'read':true, 'write':true, 'role':'string', 'def':false });
                
                paul53P Offline
                paul53P Offline
                paul53
                schrieb am zuletzt editiert von paul53
                #13

                @dslraser sagte:

                und wie muß das dann aussehen ?

                createUserDataState('Test.Teststring', {'name':'Das ist ein Teststring, 'type':'string', 'read':true, 'write':true, 'role':'text', 'def':'irgendwas zwischen 2 Hochkommata'});
                

                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                dslraserD 1 Antwort Letzte Antwort
                1
                • paul53P paul53

                  @dslraser sagte:

                  und wie muß das dann aussehen ?

                  createUserDataState('Test.Teststring', {'name':'Das ist ein Teststring, 'type':'string', 'read':true, 'write':true, 'role':'text', 'def':'irgendwas zwischen 2 Hochkommata'});
                  
                  dslraserD Offline
                  dslraserD Offline
                  dslraser
                  Forum Testing Most Active
                  schrieb am zuletzt editiert von
                  #14

                  @paul53 sagte in [Vorlage] Skript: Erstellen von User-Datenpunkten:

                  createUserDataState('Test.Teststring', {'name':'Das ist ein Teststring, 'type':'string', 'read':true, 'write':true, 'role':'text', 'def':'irgendwas zwischen 2 Hochkommata'});

                  Wenn ich das so mache, dann steht genau das als Wert im Datenpunkt (irgendwas zwischen 2 Hochkommata).

                  Bildschirmfoto 2020-01-08 um 12.59.22.png

                  Das was dann event. hier als init Wert steht, wird dann aber nicht im DP eingetragen ? Ist das so richtig ?
                  Es wird jedenfalls dann nicht mit "noch leer" initialisiert ?
                  Bildschirmfoto 2020-01-08 um 13.01.05.png

                  paul53P 1 Antwort Letzte Antwort
                  0
                  • dslraserD dslraser

                    @paul53 sagte in [Vorlage] Skript: Erstellen von User-Datenpunkten:

                    createUserDataState('Test.Teststring', {'name':'Das ist ein Teststring, 'type':'string', 'read':true, 'write':true, 'role':'text', 'def':'irgendwas zwischen 2 Hochkommata'});

                    Wenn ich das so mache, dann steht genau das als Wert im Datenpunkt (irgendwas zwischen 2 Hochkommata).

                    Bildschirmfoto 2020-01-08 um 12.59.22.png

                    Das was dann event. hier als init Wert steht, wird dann aber nicht im DP eingetragen ? Ist das so richtig ?
                    Es wird jedenfalls dann nicht mit "noch leer" initialisiert ?
                    Bildschirmfoto 2020-01-08 um 13.01.05.png

                    paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von
                    #15

                    @dslraser sagte:

                    Es wird jedenfalls dann nicht mit "noch leer" initialisiert ?

                    Initialisierung mit "noch leer" erfolgt nur, wenn kein common.def vorhanden ist (undefined).

                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                    O 1 Antwort Letzte Antwort
                    1
                    • X Offline
                      X Offline
                      xbow42
                      schrieb am zuletzt editiert von xbow42
                      #16

                      @paul53 sagte in [Vorlage] Skript: Erstellen von User-Datenpunkten:

                      0_userdata.0

                      gibt es eigentlich ein Script bzw Anleitung mit dem ich meine bereits angelegte Struktur alles unterhalb von _MyHomeControl.0 nach 0_userdata.0 umziehen kann.
                      Am besten inkl. der Reparatur(suchen&ersetzen von _MyHomeControl.0 zu 0_userdata.0) in allen Scripten und Adapterkonfigurationen?
                      Was muss ggf. noch bedacht werden?

                      1 Antwort Letzte Antwort
                      0
                      • dslraserD dslraser

                        @Mic
                        noch ein kleiner Hinweis zu

                        setTimeout(function()
                        

                        Je nach dem, wie viele Datenpunkte erstellt und initialisiert werden sollen muss man den Wert erhöhen. Schon ab ca 10 DP reichen schon 100 nicht mehr.
                        Ich habe es jetzt auf 1000 stehen, damit gingen bisher auch ca 35 DP auf einmal.

                        MicM Offline
                        MicM Offline
                        Mic
                        Developer
                        schrieb am zuletzt editiert von Mic
                        #17

                        Sorry, mein kompletter Forumsbeitrag ist verschwunden, stattdessen war da nur ein Script in Klartext über.
                        Ich liefere morgen den kompletten Text nach. Ich darf dann alles noch mal neu schreiben :-(

                        MicM 1 Antwort Letzte Antwort
                        0
                        • MicM Mic

                          Sorry, mein kompletter Forumsbeitrag ist verschwunden, stattdessen war da nur ein Script in Klartext über.
                          Ich liefere morgen den kompletten Text nach. Ich darf dann alles noch mal neu schreiben :-(

                          MicM Offline
                          MicM Offline
                          Mic
                          Developer
                          schrieb am zuletzt editiert von
                          #18

                          @Mic
                          Achtung, Script-Update (ich kann oben leider nicht mehr editieren, warum auch immer):

                          //let test = {'id':'die State ID', name':'NAME', 'type':'number', 'unit':'UNIT', 'min':MIN, 'max':MAX, 'read':true, 'write':true, 'role':'ROLE', 'def':DEFAULT };
                          let test = [
                              {'id':'Mic_Test.Datenpunkt_01', 'name':'Das ist ein Test', 'type':'string', 'read':true, 'write':true, 'role':'info', 'def':'hallo welt' },
                              {'id':'Mic_Test.Datenpunkt_02', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_03', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_04', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_05', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_06', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_07', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_08', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_09', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_10', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_11', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_12', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_13', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_14', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_15', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_16', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_17', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_18', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_19', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_20', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_21', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_22', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_23', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_24', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_25', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_26', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_27', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_28', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_29', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_30', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_31', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_32', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_33', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_34', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_35', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_36', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_37', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_38', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_39', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_40', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_41', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_42', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_43', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_44', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_45', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_46', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_47', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_48', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_49', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_50', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_51', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_52', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_53', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_54', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_55', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_56', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_57', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_58', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_59', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_60', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_61', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_62', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_63', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_64', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_65', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_66', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_67', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_68', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_69', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_70', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_71', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_72', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_73', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_74', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_75', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_76', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_77', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_78', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_79', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_80', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_81', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_82', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_83', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_84', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_85', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_86', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_87', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_88', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_89', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_90', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_91', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_92', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_93', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_94', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_95', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_96', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_97', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_98', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                              {'id':'Mic_Test.Datenpunkt_99', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                          
                          
                          ];    
                          
                          createUserDataState(test, function() {
                              log('Nun sind wir in der callback-Funktion. Das bedeutet, dass alle States abgearbeitet wurden. Jetzt können wir hier was machen, z.B. nächste Funktion main() aufrufen.');
                              log('Happy coding! :-)')
                          });
                          
                          /**
                           * Creates a state under 0_userdata.0
                           * Source: https://forum.iobroker.net/topic/26839/
                           * Thanks to ioBroker forum user "paul53" for the basis of creating states outside javascript.x
                           * Version: 0.2
                           * @param {array} statesToCreate  Object or array of object with state details. Template: {'id':'Test.123.456', 'name':'NAME', 'type':'number', 'unit':'UNIT', 'min':MIN, 'max':MAX, 'read':true, 'write':true, 'role':'ROLE', 'def':DEFAULT }
                           * @param {object} [callback]  Optional: a callback function -- This provided function will be executed once all states are created.
                           */
                          function createUserDataState(statesToCreate, callback) {
                          
                              const WARN = false; // Throws warning in log, if state is already existing. Default is false, so no warning in log, if state exists
                              const LOG_DEBUG = true // To debug this function, set to true
                              const WHERE = '0_userdata.0';   // You could change the starting path accordingly. Not recommended to change, though.
                          
                              if(!Array.isArray(statesToCreate)) statesToCreate = [statesToCreate]; // we allow both an array of objects or a single object
                          
                              let numStates = statesToCreate.length;
                              let counter = -1;
                              statesToCreate.forEach(function(param) {
                                  counter += 1;
                                  if (LOG_DEBUG) log ('Currently processing following state: [' + param.id + ']');
                          
                                  let stateId = param.id;
                                  delete param.id; // remove it, to comply with ioBroker state syntax for setObject() and setState()
                          
                                  stateId = (stateId.startsWith(WHERE)) ? stateId.substring(WHERE.length) : stateId; // remove WHERE from beginning of string
                                  stateId = (stateId.startsWith('.')) ? stateId.substring(1) : stateId; // remove first "."
                          
                                  const FULL_STATE_ID = (WHERE.endsWith('.') ? WHERE : WHERE + '.') + stateId; // Final state
                          
                                  if($(FULL_STATE_ID).length) {
                                      if (WARN) log('State [' + FULL_STATE_ID + '] is already existing and will no longer be created.', 'warn');
                                      if (!WARN && LOG_DEBUG) log('State [' + FULL_STATE_ID + '] is already existing and will no longer be created.');
                                      numStates--;
                                      if (numStates === 0) {
                                          if (LOG_DEBUG) log('All states successfully processed!');
                                          if (typeof callback === 'function') { // execute if a function was provided to parameter callback
                                              if (LOG_DEBUG) log('An optional callback function was provided, which we are going to execute now.');
                                              return callback();
                                          }
                                      } else {
                                          return; // https://stackoverflow.com/questions/18452920/continue-in-cursor-foreach
                                      }
                                  }
                          
                                  // State is not existing, so we are continuing to create the state through setObject().
                                  let obj = {};
                                  obj.type = 'state';
                                  obj.common = param;
                                  setObject(FULL_STATE_ID, obj, function (err) {
                                      if (err) {
                                          log('Cannot write object for state [' + FULL_STATE_ID + ']: ' + err);
                                      } else {
                                          if (LOG_DEBUG) log('Now we are creating new state [' + FULL_STATE_ID + ']')
                                          let init = null;
                                          if(param.def === undefined) {
                                              if(param.type === 'number') init = 0;
                                              if(param.type === 'boolean') init = false;
                                              if(param.type === 'string') init = '';
                                          } else {
                                              init = param.def;
                                          }
                                          setTimeout(function() {
                                              setState(FULL_STATE_ID, init, true, function() {
                                                  log('setState durchgeführt: ' + FULL_STATE_ID);
                                                  numStates--;
                                                  if (numStates === 0) {
                                                      if (LOG_DEBUG) log('fertig!');
                                                      if (typeof callback === 'function') { // execute if a function was provided to parameter callback
                                                          if (LOG_DEBUG) log('Function was provided');
                                                          return callback(); // 
                                                      }
                                                  }
                                              });
                                          }, 50 + (20 * counter) );
                                      }
                                  });
                          
                              });
                          }
                          
                          dslraserD 2 Antworten Letzte Antwort
                          2
                          • MicM Mic

                            @Mic
                            Achtung, Script-Update (ich kann oben leider nicht mehr editieren, warum auch immer):

                            //let test = {'id':'die State ID', name':'NAME', 'type':'number', 'unit':'UNIT', 'min':MIN, 'max':MAX, 'read':true, 'write':true, 'role':'ROLE', 'def':DEFAULT };
                            let test = [
                                {'id':'Mic_Test.Datenpunkt_01', 'name':'Das ist ein Test', 'type':'string', 'read':true, 'write':true, 'role':'info', 'def':'hallo welt' },
                                {'id':'Mic_Test.Datenpunkt_02', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_03', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_04', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_05', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_06', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_07', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_08', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_09', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_10', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_11', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_12', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_13', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_14', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_15', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_16', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_17', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_18', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_19', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_20', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_21', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_22', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_23', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_24', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_25', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_26', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_27', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_28', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_29', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_30', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_31', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_32', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_33', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_34', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_35', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_36', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_37', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_38', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_39', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_40', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_41', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_42', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_43', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_44', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_45', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_46', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_47', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_48', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_49', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_50', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_51', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_52', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_53', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_54', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_55', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_56', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_57', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_58', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_59', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_60', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_61', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_62', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_63', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_64', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_65', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_66', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_67', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_68', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_69', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_70', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_71', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_72', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_73', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_74', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_75', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_76', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_77', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_78', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_79', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_80', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_81', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_82', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_83', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_84', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_85', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_86', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_87', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_88', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_89', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_90', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_91', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_92', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_93', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_94', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_95', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_96', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_97', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_98', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                                {'id':'Mic_Test.Datenpunkt_99', 'name':'Das ist ein Test', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false },
                            
                            
                            ];    
                            
                            createUserDataState(test, function() {
                                log('Nun sind wir in der callback-Funktion. Das bedeutet, dass alle States abgearbeitet wurden. Jetzt können wir hier was machen, z.B. nächste Funktion main() aufrufen.');
                                log('Happy coding! :-)')
                            });
                            
                            /**
                             * Creates a state under 0_userdata.0
                             * Source: https://forum.iobroker.net/topic/26839/
                             * Thanks to ioBroker forum user "paul53" for the basis of creating states outside javascript.x
                             * Version: 0.2
                             * @param {array} statesToCreate  Object or array of object with state details. Template: {'id':'Test.123.456', 'name':'NAME', 'type':'number', 'unit':'UNIT', 'min':MIN, 'max':MAX, 'read':true, 'write':true, 'role':'ROLE', 'def':DEFAULT }
                             * @param {object} [callback]  Optional: a callback function -- This provided function will be executed once all states are created.
                             */
                            function createUserDataState(statesToCreate, callback) {
                            
                                const WARN = false; // Throws warning in log, if state is already existing. Default is false, so no warning in log, if state exists
                                const LOG_DEBUG = true // To debug this function, set to true
                                const WHERE = '0_userdata.0';   // You could change the starting path accordingly. Not recommended to change, though.
                            
                                if(!Array.isArray(statesToCreate)) statesToCreate = [statesToCreate]; // we allow both an array of objects or a single object
                            
                                let numStates = statesToCreate.length;
                                let counter = -1;
                                statesToCreate.forEach(function(param) {
                                    counter += 1;
                                    if (LOG_DEBUG) log ('Currently processing following state: [' + param.id + ']');
                            
                                    let stateId = param.id;
                                    delete param.id; // remove it, to comply with ioBroker state syntax for setObject() and setState()
                            
                                    stateId = (stateId.startsWith(WHERE)) ? stateId.substring(WHERE.length) : stateId; // remove WHERE from beginning of string
                                    stateId = (stateId.startsWith('.')) ? stateId.substring(1) : stateId; // remove first "."
                            
                                    const FULL_STATE_ID = (WHERE.endsWith('.') ? WHERE : WHERE + '.') + stateId; // Final state
                            
                                    if($(FULL_STATE_ID).length) {
                                        if (WARN) log('State [' + FULL_STATE_ID + '] is already existing and will no longer be created.', 'warn');
                                        if (!WARN && LOG_DEBUG) log('State [' + FULL_STATE_ID + '] is already existing and will no longer be created.');
                                        numStates--;
                                        if (numStates === 0) {
                                            if (LOG_DEBUG) log('All states successfully processed!');
                                            if (typeof callback === 'function') { // execute if a function was provided to parameter callback
                                                if (LOG_DEBUG) log('An optional callback function was provided, which we are going to execute now.');
                                                return callback();
                                            }
                                        } else {
                                            return; // https://stackoverflow.com/questions/18452920/continue-in-cursor-foreach
                                        }
                                    }
                            
                                    // State is not existing, so we are continuing to create the state through setObject().
                                    let obj = {};
                                    obj.type = 'state';
                                    obj.common = param;
                                    setObject(FULL_STATE_ID, obj, function (err) {
                                        if (err) {
                                            log('Cannot write object for state [' + FULL_STATE_ID + ']: ' + err);
                                        } else {
                                            if (LOG_DEBUG) log('Now we are creating new state [' + FULL_STATE_ID + ']')
                                            let init = null;
                                            if(param.def === undefined) {
                                                if(param.type === 'number') init = 0;
                                                if(param.type === 'boolean') init = false;
                                                if(param.type === 'string') init = '';
                                            } else {
                                                init = param.def;
                                            }
                                            setTimeout(function() {
                                                setState(FULL_STATE_ID, init, true, function() {
                                                    log('setState durchgeführt: ' + FULL_STATE_ID);
                                                    numStates--;
                                                    if (numStates === 0) {
                                                        if (LOG_DEBUG) log('fertig!');
                                                        if (typeof callback === 'function') { // execute if a function was provided to parameter callback
                                                            if (LOG_DEBUG) log('Function was provided');
                                                            return callback(); // 
                                                        }
                                                    }
                                                });
                                            }, 50 + (20 * counter) );
                                        }
                                    });
                            
                                });
                            }
                            
                            dslraserD Offline
                            dslraserD Offline
                            dslraser
                            Forum Testing Most Active
                            schrieb am zuletzt editiert von
                            #19

                            @Mic
                            was macht jetzt counter ?

                            MicM 1 Antwort Letzte Antwort
                            0
                            • dslraserD dslraser

                              @Mic
                              was macht jetzt counter ?

                              MicM Offline
                              MicM Offline
                              Mic
                              Developer
                              schrieb am zuletzt editiert von
                              #20

                              @dslraser
                              siehe oben fettgedruckt meine Korrektur, mehr Info folgt alsbald, es hat meinen kompletten Beitrag mit allen Erklärungen gelöscht!

                              dslraserD 1 Antwort Letzte Antwort
                              1
                              • MicM Mic

                                @dslraser
                                siehe oben fettgedruckt meine Korrektur, mehr Info folgt alsbald, es hat meinen kompletten Beitrag mit allen Erklärungen gelöscht!

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

                                @Mic
                                ich hatte es gestern vor Deinem letzten Beitrag mal für mich mit Deinem "vorletzten" Script probiert. Ich erstelle mir die Datenpunkte für ein Blockly in einem Blockly. Es wird auch alles richtig erstellt, spricht irgendwas dagegen, oder kann man das so machen ? Siehe Spoiler


                                Bildschirmfoto 2020-01-09 um 19.18.54.png
                                So habe ich es in der Funktion...

                                //####################---Fenster Anzahl gekippt-geöffnet-geschlossen-gesamt---####################
                                createUserDataState('Fenster_zaehlen.01_Anzahl_Fenster_gekippt', {'name':'01_Anzahl_Fenster_gekippt', 'type':'number', 'read':true, 'write':false, 'role':'number', 'def':0});
                                createUserDataState('Fenster_zaehlen.02_Anzahl_Fenster_offen', {'name':'02_Anzahl_Fenster_offen', 'type':'number', 'read':true, 'write':false, 'role':'number', 'def':0});
                                createUserDataState('Fenster_zaehlen.03_Anzahl_Fenster_geschlossen', {'name':'03_Anzahl_Fenster_geschlossen', 'type':'number', 'read':true, 'write':false, 'role':'number', 'def':0});
                                createUserDataState('Fenster_zaehlen.04_Anzahl_Fenster_gesamt', {'name':'04_Anzahl_Fenster_gesamt', 'type':'number', 'read':true, 'write':false, 'role':'number', 'def':0});
                                //####################---Fenster offene-gekippte Fenster Liste---####################
                                createUserDataState('Fenster_zaehlen.05_offene_gekippte_Fenster_Liste', {'name':'05_offene_gekippte_Fenster_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'noch leer'});
                                //####################---DP gesamte Fenster Liste mit Zustand anlegen---####################
                                createUserDataState('Fenster_zaehlen.06_gesamte_Fenster_Liste', {'name':'06_gesamte_Fenster_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'noch leer'});
                                //####################---Fenster Liste iQontrol anlegen---####################
                                createUserDataState('Fenster_zaehlen.07_iQontrol_Fenster_Liste', {'name':'07_iQontrol_Fenster_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'noch leer'});
                                //####################---DP Nachrichtenversand Telegram anschalten-ausschalten anlegen---####################
                                createUserDataState('Nachrichtenversand.Telegram.01Telegram_Nachrichtenversand_Fenster_zaehlen', {'name':'01Telegram_Nachrichtenversand_Fenster_zaehlen', 'type':'boolean', 'read':true, 'write':true, 'role':'switch', 'def':false});
                                //####################---DP Nachrichtenversand E-Mail anschalten-ausschalten anlegen---####################
                                createUserDataState('Nachrichtenversand.EMail.01EMail_Nachrichtenversand_Fenster_zaehlen', {'name':'01EMail_Nachrichtenversand_Fenster_zaehlen', 'type':'boolean', 'read':true, 'write':true, 'role':'switch', 'def':false});
                                //####################---Alexa Datenpunkte anlegen---####################
                                createUserDataState('Nachrichtenversand.EMail.01EMail_Nachrichtenversand_Fenster_zaehlen', {'name':'01EMail_Nachrichtenversand_Fenster_zaehlen', 'type':'boolean', 'read':true, 'write':true, 'role':'switch', 'def':false});
                                //####################---Alexa Datenpunkte anlegen---####################
                                createUserDataState('Alexa_Ansagen.Stimmen.01Alexa', {'name':'01Alexa', 'type':'boolean', 'read':true, 'write':true, 'role':'switch', 'def':true, "smartName": {"de": "Alexa","smartType": "SWITCH"}});
                                createUserDataState('Alexa_Ansagen.Stimmen.02Hans', {'name':'02Hans', 'type':'boolean', 'read':true, 'write':true, 'role':'switch', 'def':false, "smartName": {"de": "Hans","smartType": "SWITCH"}});
                                createUserDataState('Alexa_Ansagen.Stimmen.03Vicki', {'name':'03Vicki', 'type':'boolean', 'read':true, 'write':true, 'role':'switch', 'def':false, "smartName": {"de": "Vicki","smartType": "SWITCH"}});
                                createUserDataState('Alexa_Ansagen.Stimmen.04Conchita', {'name':'04Conchita', 'type':'boolean', 'read':true, 'write':true, 'role':'switch', 'def':false, "smartName": {"de": "Conchita","smartType": "SWITCH"}});
                                createUserDataState('Alexa_Ansagen.Stimmen.05Alexa_ssml', {'name':'05Alexa_ssml', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'<speak><voice name="Alexa">'});
                                createUserDataState('Alexa_Ansagen.Stimmen.06Hans_ssml', {'name':'06Hans_ssml', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'<speak><voice name="Hans">'});
                                createUserDataState('Alexa_Ansagen.Stimmen.07Vicki_ssml', {'name':'07Vicki_ssml', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'<speak><voice name="Vicki">'});
                                createUserDataState('Alexa_Ansagen.Stimmen.08Conchita_ssml', {'name':'08Conchita_ssml', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'<speak><voice name="Conchita">'});
                                createUserDataState('Alexa_Ansagen.Stimmen.09ssml_ende', {'name':'09ssml_ende', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'</voice></speak>'});
                                createUserDataState('Alexa_Ansagen.Stimmen.10Alexa_Stimmenwechsel_ssml', {'name':'10Alexa_Stimmenwechsel_ssml', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'</voice><voice name="Alexa">'});
                                createUserDataState('Alexa_Ansagen.Stimmen.11Hans_Stimmenwechsel_ssml', {'name':'11Hans_Stimmenwechsel_ssml', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'</voice><voice name="Hans">'});
                                createUserDataState('Alexa_Ansagen.Stimmen.12Vicki_Stimmenwechsel_ssml', {'name':'12Vicki_Stimmenwechsel_ssml', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'</voice><voice name="Vicki">'});
                                createUserDataState('Alexa_Ansagen.Stimmen.13Conchita_Stimmenwechsel_ssml', {'name':'13Conchita_Stimmenwechsel_ssml', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'</voice><voice name="Conchita">'});
                                createUserDataState('Alexa_Ansagen.Stimmen.14fluestern_anfang', {'name':'14fluestern_anfang', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'<speak><amazon:effect name="whispered">'});
                                createUserDataState('Alexa_Ansagen.Stimmen.15fluestern_ende', {'name':'15fluestern_ende', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'</amazon:effect></speak>'});
                                createUserDataState('Alexa_Ansagen.Ansagen.Fensteransage', {'name': 'Fensteransage','type': 'boolean', 'read': false, 'write': true, 'role': 'button','def':false, "smartName": {"de": "Fensteransage","smartType": "SWITCH"}});
                                
                                /**
                                 * Creates a state under 0_userdata.0
                                 * Source: https://forum.iobroker.net/topic/26839/
                                 * Thanks to ioBroker forum user "paul53" for the basis of this function.
                                 * Version: 0.1 - Mic
                                 * @param {string} stateId        State ID to be created under '0_userdata.0', like 'LivingRoom.Lights.Sideboard.Brightness'
                                 * @param {object} param          Object with state details. Template: {'name':'NAME', 'type':'number', 'unit':'UNIT', 'min':MIN, 'max':MAX, 'read':true, 'write':true, 'role':'ROLE', 'def':DEFAULT }
                                 * @param {boolean} [warn=false]  Optional. Throws warning in log, if state is already existing. Default is false, so no warning in log, if state exists
                                 */
                                function createUserDataState(stateId, param, warn) {
                                 
                                    if (warn === undefined) warn = false;
                                    const WHERE = '0_userdata.0';
                                    stateId = (stateId.startsWith(WHERE)) ? stateId.substring(WHERE.length) : stateId; // remove WHERE from beginning of string
                                    stateId = (stateId.startsWith('.')) ? stateId.substring(1) : stateId; // remove first "."
                                 
                                    const FULL_STATE_ID = (WHERE.endsWith('.') ? WHERE : WHERE + '.') + stateId; // Final state
                                 
                                    if($(FULL_STATE_ID).length) {
                                        if(warn) log('State [' + FULL_STATE_ID + '] is already existing and will no longer be created.', 'warn');
                                        return;
                                    }
                                 
                                    let obj = {};
                                    obj.type = 'state';
                                    obj.common = param;
                                    setObject(FULL_STATE_ID, obj, function (err) {
                                        if (err) {
                                            log('Cannot write object: ' + err);
                                        } else {
                                            let init = null;
                                            if(param.def === undefined) {
                                                if(param.type === 'number') init = 0;
                                                if(param.type === 'boolean') init = false;
                                                if(param.type === 'string') init = 'noch leer';
                                            } else {
                                                init = param.def;
                                            }
                                            setTimeout(function() { setState(FULL_STATE_ID, init, true); }, 1000); // see https://forum.iobroker.net/post/334331
                                        }
                                    });
                                 
                                }
                                

                                MicM 1 Antwort Letzte Antwort
                                0
                                • MicM Offline
                                  MicM Offline
                                  Mic
                                  Developer
                                  schrieb am zuletzt editiert von
                                  #22

                                  Nun noch mal neu die Erklärung zum obigen Script vom 08.01.2020:

                                  Ich habe nun das Script wie folgt modifiziert:

                                  • Man kann nun beliebig viele zu erstellende Datenpunkte gleichzeitig übergeben.
                                  • Das Script arbeitet über callback, d.h. nach Abarbeitung (Anlegen) aller Datenpunkte kann dann danach ein beliebiger Code ausgeführt werden, z.B. eine Funktion main().

                                  D.h. die 2 Log-Zeilen ('Nun sind wir in der call-Back-Funktion...' und "Happy Coding" werden erst ausgeführt, nachdem alle States angelegt wurden. Genau so kann man hier eine andere Function, aufrufen.

                                  Da callback von setObject() scheinbar zu früh ausgeführt wird (siehe Beitrag) und setObject() bei einigen Datenpunkten immer länger braucht, habe ich zum Test einen Counter für den setTimeout() eingebaut, der damit wird jedes neue setObject() immer später ausgeführt. D.h. erster Datenpunkt nach 50ms, der 10. Datenpunkt nach 50 + (20 * 10) = 250ms, der 30. Datenpunkt nach 50 + (20 * 30) = 650ms, usw. Das ist ein reiner Test, man kann mit den Zahlen sicherlich weiter spielen.

                                  Jedenfalls funktioniert das Script-Beispiel einwandfrei, es werden damit sauber im Test dann 99 Datenpunkte angelegt und danach was beliebiges ausgeführt (im Beispiel danach dann nur 2 Logzeilen).
                                  Wer will, bitte gerne testen, das Script kann per Copy/Paste übernommen werden, es werden die 99 Datenpunkte dann unter "0_userdata.0.Mic_Test.Datenpunkt_01", "0_userdata.0.Mic_Test.Datenpunkt_02", "0_userdata.0.Mic_Test.Datenpunkt_03" usw. angelegt.
                                  Das Script gibt umfangreiche Log-Zeilen aus, damit kann man alles nachvollziehen.

                                  1 Antwort Letzte Antwort
                                  0
                                  • dslraserD dslraser

                                    @Mic
                                    ich hatte es gestern vor Deinem letzten Beitrag mal für mich mit Deinem "vorletzten" Script probiert. Ich erstelle mir die Datenpunkte für ein Blockly in einem Blockly. Es wird auch alles richtig erstellt, spricht irgendwas dagegen, oder kann man das so machen ? Siehe Spoiler


                                    Bildschirmfoto 2020-01-09 um 19.18.54.png
                                    So habe ich es in der Funktion...

                                    //####################---Fenster Anzahl gekippt-geöffnet-geschlossen-gesamt---####################
                                    createUserDataState('Fenster_zaehlen.01_Anzahl_Fenster_gekippt', {'name':'01_Anzahl_Fenster_gekippt', 'type':'number', 'read':true, 'write':false, 'role':'number', 'def':0});
                                    createUserDataState('Fenster_zaehlen.02_Anzahl_Fenster_offen', {'name':'02_Anzahl_Fenster_offen', 'type':'number', 'read':true, 'write':false, 'role':'number', 'def':0});
                                    createUserDataState('Fenster_zaehlen.03_Anzahl_Fenster_geschlossen', {'name':'03_Anzahl_Fenster_geschlossen', 'type':'number', 'read':true, 'write':false, 'role':'number', 'def':0});
                                    createUserDataState('Fenster_zaehlen.04_Anzahl_Fenster_gesamt', {'name':'04_Anzahl_Fenster_gesamt', 'type':'number', 'read':true, 'write':false, 'role':'number', 'def':0});
                                    //####################---Fenster offene-gekippte Fenster Liste---####################
                                    createUserDataState('Fenster_zaehlen.05_offene_gekippte_Fenster_Liste', {'name':'05_offene_gekippte_Fenster_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'noch leer'});
                                    //####################---DP gesamte Fenster Liste mit Zustand anlegen---####################
                                    createUserDataState('Fenster_zaehlen.06_gesamte_Fenster_Liste', {'name':'06_gesamte_Fenster_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'noch leer'});
                                    //####################---Fenster Liste iQontrol anlegen---####################
                                    createUserDataState('Fenster_zaehlen.07_iQontrol_Fenster_Liste', {'name':'07_iQontrol_Fenster_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'noch leer'});
                                    //####################---DP Nachrichtenversand Telegram anschalten-ausschalten anlegen---####################
                                    createUserDataState('Nachrichtenversand.Telegram.01Telegram_Nachrichtenversand_Fenster_zaehlen', {'name':'01Telegram_Nachrichtenversand_Fenster_zaehlen', 'type':'boolean', 'read':true, 'write':true, 'role':'switch', 'def':false});
                                    //####################---DP Nachrichtenversand E-Mail anschalten-ausschalten anlegen---####################
                                    createUserDataState('Nachrichtenversand.EMail.01EMail_Nachrichtenversand_Fenster_zaehlen', {'name':'01EMail_Nachrichtenversand_Fenster_zaehlen', 'type':'boolean', 'read':true, 'write':true, 'role':'switch', 'def':false});
                                    //####################---Alexa Datenpunkte anlegen---####################
                                    createUserDataState('Nachrichtenversand.EMail.01EMail_Nachrichtenversand_Fenster_zaehlen', {'name':'01EMail_Nachrichtenversand_Fenster_zaehlen', 'type':'boolean', 'read':true, 'write':true, 'role':'switch', 'def':false});
                                    //####################---Alexa Datenpunkte anlegen---####################
                                    createUserDataState('Alexa_Ansagen.Stimmen.01Alexa', {'name':'01Alexa', 'type':'boolean', 'read':true, 'write':true, 'role':'switch', 'def':true, "smartName": {"de": "Alexa","smartType": "SWITCH"}});
                                    createUserDataState('Alexa_Ansagen.Stimmen.02Hans', {'name':'02Hans', 'type':'boolean', 'read':true, 'write':true, 'role':'switch', 'def':false, "smartName": {"de": "Hans","smartType": "SWITCH"}});
                                    createUserDataState('Alexa_Ansagen.Stimmen.03Vicki', {'name':'03Vicki', 'type':'boolean', 'read':true, 'write':true, 'role':'switch', 'def':false, "smartName": {"de": "Vicki","smartType": "SWITCH"}});
                                    createUserDataState('Alexa_Ansagen.Stimmen.04Conchita', {'name':'04Conchita', 'type':'boolean', 'read':true, 'write':true, 'role':'switch', 'def':false, "smartName": {"de": "Conchita","smartType": "SWITCH"}});
                                    createUserDataState('Alexa_Ansagen.Stimmen.05Alexa_ssml', {'name':'05Alexa_ssml', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'<speak><voice name="Alexa">'});
                                    createUserDataState('Alexa_Ansagen.Stimmen.06Hans_ssml', {'name':'06Hans_ssml', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'<speak><voice name="Hans">'});
                                    createUserDataState('Alexa_Ansagen.Stimmen.07Vicki_ssml', {'name':'07Vicki_ssml', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'<speak><voice name="Vicki">'});
                                    createUserDataState('Alexa_Ansagen.Stimmen.08Conchita_ssml', {'name':'08Conchita_ssml', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'<speak><voice name="Conchita">'});
                                    createUserDataState('Alexa_Ansagen.Stimmen.09ssml_ende', {'name':'09ssml_ende', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'</voice></speak>'});
                                    createUserDataState('Alexa_Ansagen.Stimmen.10Alexa_Stimmenwechsel_ssml', {'name':'10Alexa_Stimmenwechsel_ssml', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'</voice><voice name="Alexa">'});
                                    createUserDataState('Alexa_Ansagen.Stimmen.11Hans_Stimmenwechsel_ssml', {'name':'11Hans_Stimmenwechsel_ssml', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'</voice><voice name="Hans">'});
                                    createUserDataState('Alexa_Ansagen.Stimmen.12Vicki_Stimmenwechsel_ssml', {'name':'12Vicki_Stimmenwechsel_ssml', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'</voice><voice name="Vicki">'});
                                    createUserDataState('Alexa_Ansagen.Stimmen.13Conchita_Stimmenwechsel_ssml', {'name':'13Conchita_Stimmenwechsel_ssml', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'</voice><voice name="Conchita">'});
                                    createUserDataState('Alexa_Ansagen.Stimmen.14fluestern_anfang', {'name':'14fluestern_anfang', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'<speak><amazon:effect name="whispered">'});
                                    createUserDataState('Alexa_Ansagen.Stimmen.15fluestern_ende', {'name':'15fluestern_ende', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'</amazon:effect></speak>'});
                                    createUserDataState('Alexa_Ansagen.Ansagen.Fensteransage', {'name': 'Fensteransage','type': 'boolean', 'read': false, 'write': true, 'role': 'button','def':false, "smartName": {"de": "Fensteransage","smartType": "SWITCH"}});
                                    
                                    /**
                                     * Creates a state under 0_userdata.0
                                     * Source: https://forum.iobroker.net/topic/26839/
                                     * Thanks to ioBroker forum user "paul53" for the basis of this function.
                                     * Version: 0.1 - Mic
                                     * @param {string} stateId        State ID to be created under '0_userdata.0', like 'LivingRoom.Lights.Sideboard.Brightness'
                                     * @param {object} param          Object with state details. Template: {'name':'NAME', 'type':'number', 'unit':'UNIT', 'min':MIN, 'max':MAX, 'read':true, 'write':true, 'role':'ROLE', 'def':DEFAULT }
                                     * @param {boolean} [warn=false]  Optional. Throws warning in log, if state is already existing. Default is false, so no warning in log, if state exists
                                     */
                                    function createUserDataState(stateId, param, warn) {
                                     
                                        if (warn === undefined) warn = false;
                                        const WHERE = '0_userdata.0';
                                        stateId = (stateId.startsWith(WHERE)) ? stateId.substring(WHERE.length) : stateId; // remove WHERE from beginning of string
                                        stateId = (stateId.startsWith('.')) ? stateId.substring(1) : stateId; // remove first "."
                                     
                                        const FULL_STATE_ID = (WHERE.endsWith('.') ? WHERE : WHERE + '.') + stateId; // Final state
                                     
                                        if($(FULL_STATE_ID).length) {
                                            if(warn) log('State [' + FULL_STATE_ID + '] is already existing and will no longer be created.', 'warn');
                                            return;
                                        }
                                     
                                        let obj = {};
                                        obj.type = 'state';
                                        obj.common = param;
                                        setObject(FULL_STATE_ID, obj, function (err) {
                                            if (err) {
                                                log('Cannot write object: ' + err);
                                            } else {
                                                let init = null;
                                                if(param.def === undefined) {
                                                    if(param.type === 'number') init = 0;
                                                    if(param.type === 'boolean') init = false;
                                                    if(param.type === 'string') init = 'noch leer';
                                                } else {
                                                    init = param.def;
                                                }
                                                setTimeout(function() { setState(FULL_STATE_ID, init, true); }, 1000); // see https://forum.iobroker.net/post/334331
                                            }
                                        });
                                     
                                    }
                                    

                                    MicM Offline
                                    MicM Offline
                                    Mic
                                    Developer
                                    schrieb am zuletzt editiert von
                                    #23

                                    @dslraser sagte in [Vorlage] Skript: Erstellen von User-Datenpunkten:

                                    @Mic
                                    ich hatte es gestern vor Deinem letzten Beitrag mal für mich mit Deinem "vorletzten" Script probiert. Ich erstelle mir die Datenpunkte für ein Blockly in einem Blockly. Es wird auch alles richtig erstellt, spricht irgendwas dagegen, oder kann man das so machen ? Siehe Spoiler

                                    Hi @dslraser
                                    Mit Blockly kenne ich mich leider nicht wirklich aus. Mit dem neuen Script kannst du auch beliebig viele Datenpunkte gleichzeitig anlegen. Wäre cool, wenn du das bei dir mal testen kannst. :-) Kannst einfach das Script ohne Modifikation 1:1 in den JavaScript-Adapter copy/paste übernehmen.

                                    dslraserD 2 Antworten Letzte Antwort
                                    0
                                    • MicM Mic

                                      @dslraser sagte in [Vorlage] Skript: Erstellen von User-Datenpunkten:

                                      @Mic
                                      ich hatte es gestern vor Deinem letzten Beitrag mal für mich mit Deinem "vorletzten" Script probiert. Ich erstelle mir die Datenpunkte für ein Blockly in einem Blockly. Es wird auch alles richtig erstellt, spricht irgendwas dagegen, oder kann man das so machen ? Siehe Spoiler

                                      Hi @dslraser
                                      Mit Blockly kenne ich mich leider nicht wirklich aus. Mit dem neuen Script kannst du auch beliebig viele Datenpunkte gleichzeitig anlegen. Wäre cool, wenn du das bei dir mal testen kannst. :-) Kannst einfach das Script ohne Modifikation 1:1 in den JavaScript-Adapter copy/paste übernehmen.

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

                                      @Mic sagte in [Vorlage] Skript: Erstellen von User-Datenpunkten:

                                      Mit Blockly kenne ich mich leider nicht wirklich aus.

                                      In dem Spoiler von oben ist der Inhalt Deines Javascript in der Funktion.

                                      MicM 1 Antwort Letzte Antwort
                                      0
                                      • dslraserD dslraser

                                        @Mic sagte in [Vorlage] Skript: Erstellen von User-Datenpunkten:

                                        Mit Blockly kenne ich mich leider nicht wirklich aus.

                                        In dem Spoiler von oben ist der Inhalt Deines Javascript in der Funktion.

                                        MicM Offline
                                        MicM Offline
                                        Mic
                                        Developer
                                        schrieb am zuletzt editiert von
                                        #25

                                        @dslraser sagte in [Vorlage] Skript: Erstellen von User-Datenpunkten:

                                        In dem Spoiler von oben ist der Inhalt Deines Javascript in der Funktion.

                                        Dein Javascript läuft bei mir sauber durch im Test.

                                        Hier all deine Datenpunkte nun im neuesten Script, sollte ebenso alle sauber anlegen. Probier das mal aus:

                                        //let test = {'id':'die State ID', name':'NAME', 'type':'number', 'unit':'UNIT', 'min':MIN, 'max':MAX, 'read':true, 'write':true, 'role':'ROLE', 'def':DEFAULT };
                                        let test = [
                                            {'id':'Fenster_zaehlen.01_Anzahl_Fenster_gekippt', 'name':'01_Anzahl_Fenster_gekippt', 'type':'number', 'read':true, 'write':false, 'role':'number', 'def':0 },
                                            {'id':'Fenster_zaehlen.02_Anzahl_Fenster_offen', 'name':'02_Anzahl_Fenster_offen', 'type':'number', 'read':true, 'write':false, 'role':'number', 'def':0 },
                                            {'id':'Fenster_zaehlen.03_Anzahl_Fenster_geschlossen', 'name':'03_Anzahl_Fenster_geschlossen', 'type':'number', 'read':true, 'write':false, 'role':'number', 'def':0 },
                                            {'id':'Fenster_zaehlen.04_Anzahl_Fenster_gesamt', 'name':'04_Anzahl_Fenster_gesamt', 'type':'number', 'read':true, 'write':false, 'role':'number', 'def':0 },
                                            {'id':'Fenster_zaehlen.05_offene_gekippte_Fenster_Liste', 'name':'05_offene_gekippte_Fenster_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'noch leer' },
                                            {'id':'Fenster_zaehlen.06_gesamte_Fenster_Liste', 'name':'06_gesamte_Fenster_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'noch leer' },
                                            {'id':'Fenster_zaehlen.07_iQontrol_Fenster_Liste', 'name':'07_iQontrol_Fenster_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'noch leer' },
                                            {'id':'Nachrichtenversand.Telegram.01Telegram_Nachrichtenversand_Fenster_zaehlen', 'name':'01Telegram_Nachrichtenversand_Fenster_zaehlen', 'type':'boolean', 'read':true, 'write':true, 'role':'switch', 'def':false },
                                            {'id':'Nachrichtenversand.EMail.01EMail_Nachrichtenversand_Fenster_zaehlen', 'name':'01EMail_Nachrichtenversand_Fenster_zaehlen', 'type':'boolean', 'read':true, 'write':true, 'role':'switch', 'def':false },
                                            {'id':'Nachrichtenversand.EMail.01EMail_Nachrichtenversand_Fenster_zaehlen', 'name':'01EMail_Nachrichtenversand_Fenster_zaehlen', 'type':'boolean', 'read':true, 'write':true, 'role':'switch', 'def':false },
                                            {'id':'Alexa_Ansagen.Stimmen.01Alexa', 'name':'01Alexa', 'type':'boolean', 'read':true, 'write':true, 'role':'switch', 'def':true, "smartName": {"de": "Alexa","smartType": "SWITCH"} },
                                            {'id':'Alexa_Ansagen.Stimmen.02Hans', 'name':'02Hans', 'type':'boolean', 'read':true, 'write':true, 'role':'switch', 'def':false, "smartName": {"de": "Hans","smartType": "SWITCH"} },
                                            {'id':'Alexa_Ansagen.Stimmen.03Vicki', 'name':'03Vicki', 'type':'boolean', 'read':true, 'write':true, 'role':'switch', 'def':false, "smartName": {"de": "Vicki","smartType": "SWITCH"} },
                                            {'id':'Alexa_Ansagen.Stimmen.04Conchita', 'name':'04Conchita', 'type':'boolean', 'read':true, 'write':true, 'role':'switch', 'def':false, "smartName": {"de": "Conchita","smartType": "SWITCH"} },
                                            {'id':'Alexa_Ansagen.Stimmen.05Alexa_ssml', 'name':'05Alexa_ssml', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'<speak><voice name="Alexa">' },
                                            {'id':'Alexa_Ansagen.Stimmen.06Hans_ssml', 'name':'06Hans_ssml', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'<speak><voice name="Hans">' },
                                            {'id':'Alexa_Ansagen.Stimmen.07Vicki_ssml', 'name':'07Vicki_ssml', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'<speak><voice name="Vicki">' },
                                            {'id':'Alexa_Ansagen.Stimmen.08Conchita_ssml', 'name':'08Conchita_ssml', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'<speak><voice name="Conchita">' },
                                            {'id':'Alexa_Ansagen.Stimmen.09ssml_ende', 'name':'09ssml_ende', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'</voice></speak>' },
                                            {'id':'Alexa_Ansagen.Stimmen.10Alexa_Stimmenwechsel_ssml', 'name':'10Alexa_Stimmenwechsel_ssml', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'</voice><voice name="Alexa">' },
                                            {'id':'Alexa_Ansagen.Stimmen.11Hans_Stimmenwechsel_ssml', 'name':'11Hans_Stimmenwechsel_ssml', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'</voice><voice name="Hans">' },
                                            {'id':'Alexa_Ansagen.Stimmen.12Vicki_Stimmenwechsel_ssml', 'name':'12Vicki_Stimmenwechsel_ssml', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'</voice><voice name="Vicki">' },
                                            {'id':'Alexa_Ansagen.Stimmen.13Conchita_Stimmenwechsel_ssml', 'name':'13Conchita_Stimmenwechsel_ssml', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'</voice><voice name="Conchita">' },
                                            {'id':'Alexa_Ansagen.Stimmen.14fluestern_anfang', 'name':'14fluestern_anfang', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'<speak><amazon:effect name="whispered">' },
                                            {'id':'Alexa_Ansagen.Stimmen.15fluestern_ende', 'name':'15fluestern_ende', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'</amazon:effect></speak>' },
                                            {'id':'XAlexa_Ansagen.Ansagen.Fensteransage', 'name': 'Fensteransage','type': 'boolean', 'read': false, 'write': true, 'role': 'button','def':false, "smartName": {"de": "Fensteransage","smartType": "SWITCH"} },
                                        
                                        ];    
                                        
                                        createUserDataState(test, function() {
                                            log('Nun sind wir in der callback-Funktion. Das bedeutet, dass alle States abgearbeitet wurden. Jetzt können wir hier was machen, z.B. nächste Funktion main() aufrufen.');
                                            log('Happy coding! :-)')
                                        });
                                        
                                        /**
                                         * Creates a state under 0_userdata.0
                                         * Source: https://forum.iobroker.net/topic/26839/
                                         * Thanks to ioBroker forum user "paul53" for the basis of creating states outside javascript.x
                                         * Version: 0.2
                                         * @param {array} statesToCreate  Object or array of object with state details. Template: {'id':'Test.123.456', 'name':'NAME', 'type':'number', 'unit':'UNIT', 'min':MIN, 'max':MAX, 'read':true, 'write':true, 'role':'ROLE', 'def':DEFAULT }
                                         * @param {object} [callback]  Optional: a callback function -- This provided function will be executed once all states are created.
                                         */
                                        function createUserDataState(statesToCreate, callback) {
                                        
                                            const WARN = false; // Throws warning in log, if state is already existing. Default is false, so no warning in log, if state exists
                                            const LOG_DEBUG = true // To debug this function, set to true
                                            const WHERE = '0_userdata.0';   // You could change the starting path accordingly. Not recommended to change, though.
                                        
                                            if(!Array.isArray(statesToCreate)) statesToCreate = [statesToCreate]; // we allow both an array of objects or a single object
                                        
                                            let numStates = statesToCreate.length;
                                            let counter = -1;
                                            statesToCreate.forEach(function(param) {
                                                counter += 1;
                                                if (LOG_DEBUG) log ('Currently processing following state: [' + param.id + ']');
                                        
                                                let stateId = param.id;
                                                delete param.id; // remove it, to comply with ioBroker state syntax for setObject() and setState()
                                        
                                                stateId = (stateId.startsWith(WHERE)) ? stateId.substring(WHERE.length) : stateId; // remove WHERE from beginning of string
                                                stateId = (stateId.startsWith('.')) ? stateId.substring(1) : stateId; // remove first "."
                                        
                                                const FULL_STATE_ID = (WHERE.endsWith('.') ? WHERE : WHERE + '.') + stateId; // Final state
                                        
                                                if($(FULL_STATE_ID).length) {
                                                    if (WARN) log('State [' + FULL_STATE_ID + '] is already existing and will no longer be created.', 'warn');
                                                    if (!WARN && LOG_DEBUG) log('State [' + FULL_STATE_ID + '] is already existing and will no longer be created.');
                                                    numStates--;
                                                    if (numStates === 0) {
                                                        if (LOG_DEBUG) log('All states successfully processed!');
                                                        if (typeof callback === 'function') { // execute if a function was provided to parameter callback
                                                            if (LOG_DEBUG) log('An optional callback function was provided, which we are going to execute now.');
                                                            return callback();
                                                        }
                                                    } else {
                                                        return; // https://stackoverflow.com/questions/18452920/continue-in-cursor-foreach
                                                    }
                                                }
                                        
                                                // State is not existing, so we are continuing to create the state through setObject().
                                                let obj = {};
                                                obj.type = 'state';
                                                obj.common = param;
                                                setObject(FULL_STATE_ID, obj, function (err) {
                                                    if (err) {
                                                        log('Cannot write object for state [' + FULL_STATE_ID + ']: ' + err);
                                                    } else {
                                                        if (LOG_DEBUG) log('Now we are creating new state [' + FULL_STATE_ID + ']')
                                                        let init = null;
                                                        if(param.def === undefined) {
                                                            if(param.type === 'number') init = 0;
                                                            if(param.type === 'boolean') init = false;
                                                            if(param.type === 'string') init = '';
                                                        } else {
                                                            init = param.def;
                                                        }
                                                        setTimeout(function() {
                                                            setState(FULL_STATE_ID, init, true, function() {
                                                                log('setState durchgeführt: ' + FULL_STATE_ID);
                                                                numStates--;
                                                                if (numStates === 0) {
                                                                    if (LOG_DEBUG) log('fertig!');
                                                                    if (typeof callback === 'function') { // execute if a function was provided to parameter callback
                                                                        if (LOG_DEBUG) log('Function was provided');
                                                                        return callback(); // 
                                                                    }
                                                                }
                                                            });
                                                        }, 50 + (20 * counter) );
                                                    }
                                                });
                                        
                                            });
                                        }
                                        

                                        dslraserD 1 Antwort Letzte Antwort
                                        0
                                        • MicM Mic

                                          @dslraser sagte in [Vorlage] Skript: Erstellen von User-Datenpunkten:

                                          @Mic
                                          ich hatte es gestern vor Deinem letzten Beitrag mal für mich mit Deinem "vorletzten" Script probiert. Ich erstelle mir die Datenpunkte für ein Blockly in einem Blockly. Es wird auch alles richtig erstellt, spricht irgendwas dagegen, oder kann man das so machen ? Siehe Spoiler

                                          Hi @dslraser
                                          Mit Blockly kenne ich mich leider nicht wirklich aus. Mit dem neuen Script kannst du auch beliebig viele Datenpunkte gleichzeitig anlegen. Wäre cool, wenn du das bei dir mal testen kannst. :-) Kannst einfach das Script ohne Modifikation 1:1 in den JavaScript-Adapter copy/paste übernehmen.

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

                                          @Mic sagte in [Vorlage] Skript: Erstellen von User-Datenpunkten:

                                          Wäre cool, wenn du das bei dir mal testen kannst.

                                          Funktioniert wie beschrieben.

                                          9.1.2020, 19:57:43.914	[info ]: javascript.0 (376) Stop script script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen
                                          9.1.2020, 19:57:44.004	[info ]: javascript.0 (376) Start javascript script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen
                                          9.1.2020, 19:57:44.011	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_01]
                                          9.1.2020, 19:57:44.015	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_02]
                                          9.1.2020, 19:57:44.018	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_03]
                                          9.1.2020, 19:57:44.021	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_04]
                                          9.1.2020, 19:57:44.023	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_05]
                                          9.1.2020, 19:57:44.026	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_06]
                                          9.1.2020, 19:57:44.028	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_07]
                                          9.1.2020, 19:57:44.031	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_08]
                                          9.1.2020, 19:57:44.033	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_09]
                                          9.1.2020, 19:57:44.037	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_10]
                                          9.1.2020, 19:57:44.040	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_11]
                                          9.1.2020, 19:57:44.042	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_12]
                                          9.1.2020, 19:57:44.045	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_13]
                                          9.1.2020, 19:57:44.047	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_14]
                                          9.1.2020, 19:57:44.050	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_15]
                                          9.1.2020, 19:57:44.052	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_16]
                                          9.1.2020, 19:57:44.055	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_17]
                                          9.1.2020, 19:57:44.057	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_18]
                                          9.1.2020, 19:57:44.060	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_19]
                                          9.1.2020, 19:57:44.062	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_20]
                                          9.1.2020, 19:57:44.065	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_21]
                                          9.1.2020, 19:57:44.067	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_22]
                                          9.1.2020, 19:57:44.070	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_23]
                                          9.1.2020, 19:57:44.072	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_24]
                                          9.1.2020, 19:57:44.075	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_25]
                                          9.1.2020, 19:57:44.077	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_26]
                                          9.1.2020, 19:57:44.079	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_27]
                                          9.1.2020, 19:57:44.082	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_28]
                                          9.1.2020, 19:57:44.084	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_29]
                                          9.1.2020, 19:57:44.087	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_30]
                                          9.1.2020, 19:57:44.089	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_31]
                                          9.1.2020, 19:57:44.092	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_32]
                                          9.1.2020, 19:57:44.094	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_33]
                                          9.1.2020, 19:57:44.097	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_34]
                                          9.1.2020, 19:57:44.099	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_35]
                                          9.1.2020, 19:57:44.102	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_36]
                                          9.1.2020, 19:57:44.104	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_37]
                                          9.1.2020, 19:57:44.107	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_38]
                                          9.1.2020, 19:57:44.109	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_39]
                                          9.1.2020, 19:57:44.112	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_40]
                                          9.1.2020, 19:57:44.114	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_41]
                                          9.1.2020, 19:57:44.117	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_42]
                                          9.1.2020, 19:57:44.119	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_43]
                                          9.1.2020, 19:57:44.121	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_44]
                                          9.1.2020, 19:57:44.124	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_45]
                                          9.1.2020, 19:57:44.126	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_46]
                                          9.1.2020, 19:57:44.129	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_47]
                                          9.1.2020, 19:57:44.131	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_48]
                                          9.1.2020, 19:57:44.134	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_49]
                                          9.1.2020, 19:57:44.136	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_50]
                                          9.1.2020, 19:57:44.139	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_51]
                                          9.1.2020, 19:57:44.141	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_52]
                                          9.1.2020, 19:57:44.143	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_53]
                                          9.1.2020, 19:57:44.146	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_54]
                                          9.1.2020, 19:57:44.148	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_55]
                                          9.1.2020, 19:57:44.151	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_56]
                                          9.1.2020, 19:57:44.153	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_57]
                                          9.1.2020, 19:57:44.156	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_58]
                                          9.1.2020, 19:57:44.158	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_59]
                                          9.1.2020, 19:57:44.160	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_60]
                                          9.1.2020, 19:57:44.165	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_61]
                                          9.1.2020, 19:57:44.168	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_62]
                                          9.1.2020, 19:57:44.170	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_63]
                                          9.1.2020, 19:57:44.173	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_64]
                                          9.1.2020, 19:57:44.175	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_65]
                                          9.1.2020, 19:57:44.178	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_66]
                                          9.1.2020, 19:57:44.180	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_67]
                                          9.1.2020, 19:57:44.182	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_68]
                                          9.1.2020, 19:57:44.185	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_69]
                                          9.1.2020, 19:57:44.187	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_70]
                                          9.1.2020, 19:57:44.190	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_71]
                                          9.1.2020, 19:57:44.192	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_72]
                                          9.1.2020, 19:57:44.195	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_73]
                                          9.1.2020, 19:57:44.197	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_74]
                                          9.1.2020, 19:57:44.200	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_75]
                                          9.1.2020, 19:57:44.202	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_76]
                                          9.1.2020, 19:57:44.204	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_77]
                                          9.1.2020, 19:57:44.207	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_78]
                                          9.1.2020, 19:57:44.209	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_79]
                                          9.1.2020, 19:57:44.212	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_80]
                                          9.1.2020, 19:57:44.214	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_81]
                                          9.1.2020, 19:57:44.217	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_82]
                                          9.1.2020, 19:57:44.219	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_83]
                                          9.1.2020, 19:57:44.222	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_84]
                                          9.1.2020, 19:57:44.224	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_85]
                                          9.1.2020, 19:57:44.226	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_86]
                                          9.1.2020, 19:57:44.229	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_87]
                                          9.1.2020, 19:57:44.231	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_88]
                                          9.1.2020, 19:57:44.234	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_89]
                                          9.1.2020, 19:57:44.236	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_90]
                                          9.1.2020, 19:57:44.239	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_91]
                                          9.1.2020, 19:57:44.241	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_92]
                                          9.1.2020, 19:57:44.243	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_93]
                                          9.1.2020, 19:57:44.246	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_94]
                                          9.1.2020, 19:57:44.248	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_95]
                                          9.1.2020, 19:57:44.251	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_96]
                                          9.1.2020, 19:57:44.253	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_97]
                                          9.1.2020, 19:57:44.256	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_98]
                                          9.1.2020, 19:57:44.258	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Currently processing following state: [Mic_Test.Datenpunkt_99]
                                          9.1.2020, 19:57:44.261	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: registered 0 subscriptions and 0 schedules
                                          9.1.2020, 19:57:44.584	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_01]
                                          9.1.2020, 19:57:44.584	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_02]
                                          9.1.2020, 19:57:44.585	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_03]
                                          9.1.2020, 19:57:44.585	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_04]
                                          9.1.2020, 19:57:44.585	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_05]
                                          9.1.2020, 19:57:46.707	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_06]
                                          9.1.2020, 19:57:46.707	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_07]
                                          9.1.2020, 19:57:46.708	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_08]
                                          9.1.2020, 19:57:46.708	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_09]
                                          9.1.2020, 19:57:46.709	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_10]
                                          9.1.2020, 19:57:46.720	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_11]
                                          9.1.2020, 19:57:46.720	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_12]
                                          9.1.2020, 19:57:46.741	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_13]
                                          9.1.2020, 19:57:46.741	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_14]
                                          9.1.2020, 19:57:46.742	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_15]
                                          9.1.2020, 19:57:46.743	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_16]
                                          9.1.2020, 19:57:46.743	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_17]
                                          9.1.2020, 19:57:46.744	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_18]
                                          9.1.2020, 19:57:46.744	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_19]
                                          9.1.2020, 19:57:46.744	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_20]
                                          9.1.2020, 19:57:46.745	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_21]
                                          9.1.2020, 19:57:46.760	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_22]
                                          9.1.2020, 19:57:46.763	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_23]
                                          9.1.2020, 19:57:46.763	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_24]
                                          9.1.2020, 19:57:46.763	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_25]
                                          9.1.2020, 19:57:46.764	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_26]
                                          9.1.2020, 19:57:46.764	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_27]
                                          9.1.2020, 19:57:46.764	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_28]
                                          9.1.2020, 19:57:46.764	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_29]
                                          9.1.2020, 19:57:46.765	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_30]
                                          9.1.2020, 19:57:46.765	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_31]
                                          9.1.2020, 19:57:46.765	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_32]
                                          9.1.2020, 19:57:46.765	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_33]
                                          9.1.2020, 19:57:46.766	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_34]
                                          9.1.2020, 19:57:46.766	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_35]
                                          9.1.2020, 19:57:46.766	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_36]
                                          9.1.2020, 19:57:46.766	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_37]
                                          9.1.2020, 19:57:46.767	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_38]
                                          9.1.2020, 19:57:46.767	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_39]
                                          9.1.2020, 19:57:46.767	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_40]
                                          9.1.2020, 19:57:46.767	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_41]
                                          9.1.2020, 19:57:46.768	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_42]
                                          9.1.2020, 19:57:46.768	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_43]
                                          9.1.2020, 19:57:46.768	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_44]
                                          9.1.2020, 19:57:46.768	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_45]
                                          9.1.2020, 19:57:46.768	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_46]
                                          9.1.2020, 19:57:46.769	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_47]
                                          9.1.2020, 19:57:46.769	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_48]
                                          9.1.2020, 19:57:46.769	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_49]
                                          9.1.2020, 19:57:46.769	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_50]
                                          9.1.2020, 19:57:46.770	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_51]
                                          9.1.2020, 19:57:46.770	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_52]
                                          9.1.2020, 19:57:46.770	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_53]
                                          9.1.2020, 19:57:46.770	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_54]
                                          9.1.2020, 19:57:46.771	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_55]
                                          9.1.2020, 19:57:46.806	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_56]
                                          9.1.2020, 19:57:46.807	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_57]
                                          9.1.2020, 19:57:46.807	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_58]
                                          9.1.2020, 19:57:46.807	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_59]
                                          9.1.2020, 19:57:46.808	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_60]
                                          9.1.2020, 19:57:46.808	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_61]
                                          9.1.2020, 19:57:46.809	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_62]
                                          9.1.2020, 19:57:46.809	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_63]
                                          9.1.2020, 19:57:46.810	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_64]
                                          9.1.2020, 19:57:46.810	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_65]
                                          9.1.2020, 19:57:46.811	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_66]
                                          9.1.2020, 19:57:46.811	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_67]
                                          9.1.2020, 19:57:46.811	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_68]
                                          9.1.2020, 19:57:46.812	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_69]
                                          9.1.2020, 19:57:46.812	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_70]
                                          9.1.2020, 19:57:46.813	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_71]
                                          9.1.2020, 19:57:46.813	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_72]
                                          9.1.2020, 19:57:46.814	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_73]
                                          9.1.2020, 19:57:46.814	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_74]
                                          9.1.2020, 19:57:46.815	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_75]
                                          9.1.2020, 19:57:46.815	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_76]
                                          9.1.2020, 19:57:46.816	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_77]
                                          9.1.2020, 19:57:46.816	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_78]
                                          9.1.2020, 19:57:46.817	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_79]
                                          9.1.2020, 19:57:46.817	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_80]
                                          9.1.2020, 19:57:46.818	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_81]
                                          9.1.2020, 19:57:46.818	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_82]
                                          9.1.2020, 19:57:46.819	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_83]
                                          9.1.2020, 19:57:46.819	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_84]
                                          9.1.2020, 19:57:46.820	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_85]
                                          9.1.2020, 19:57:46.820	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_86]
                                          9.1.2020, 19:57:46.821	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_87]
                                          9.1.2020, 19:57:46.821	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_88]
                                          9.1.2020, 19:57:46.822	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_89]
                                          9.1.2020, 19:57:46.822	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_90]
                                          9.1.2020, 19:57:46.822	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_91]
                                          9.1.2020, 19:57:46.823	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_92]
                                          9.1.2020, 19:57:46.824	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_93]
                                          9.1.2020, 19:57:46.824	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_94]
                                          9.1.2020, 19:57:46.825	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_95]
                                          9.1.2020, 19:57:46.825	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_96]
                                          9.1.2020, 19:57:46.825	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_97]
                                          9.1.2020, 19:57:46.826	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_98]
                                          9.1.2020, 19:57:46.826	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Now we are creating new state [0_userdata.0.Mic_Test.Datenpunkt_99]
                                          9.1.2020, 19:57:46.827	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_01
                                          9.1.2020, 19:57:46.827	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_02
                                          9.1.2020, 19:57:46.828	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_03
                                          9.1.2020, 19:57:46.828	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_04
                                          9.1.2020, 19:57:46.829	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_05
                                          9.1.2020, 19:57:48.719	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_06
                                          9.1.2020, 19:57:48.730	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_07
                                          9.1.2020, 19:57:48.731	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_08
                                          9.1.2020, 19:57:48.740	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_09
                                          9.1.2020, 19:57:48.741	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_10
                                          9.1.2020, 19:57:48.741	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_11
                                          9.1.2020, 19:57:48.743	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_12
                                          9.1.2020, 19:57:48.754	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_13
                                          9.1.2020, 19:57:48.755	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_14
                                          9.1.2020, 19:57:48.757	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_15
                                          9.1.2020, 19:57:48.760	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_16
                                          9.1.2020, 19:57:48.761	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_17
                                          9.1.2020, 19:57:48.761	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_18
                                          9.1.2020, 19:57:48.763	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_19
                                          9.1.2020, 19:57:48.764	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_20
                                          9.1.2020, 19:57:48.764	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_21
                                          9.1.2020, 19:57:48.777	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_22
                                          9.1.2020, 19:57:48.779	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_23
                                          9.1.2020, 19:57:48.779	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_24
                                          9.1.2020, 19:57:48.783	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_25
                                          9.1.2020, 19:57:48.785	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_26
                                          9.1.2020, 19:57:48.785	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_27
                                          9.1.2020, 19:57:48.785	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_28
                                          9.1.2020, 19:57:48.786	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_29
                                          9.1.2020, 19:57:48.786	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_30
                                          9.1.2020, 19:57:48.786	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_31
                                          9.1.2020, 19:57:48.789	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_32
                                          9.1.2020, 19:57:48.789	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_33
                                          9.1.2020, 19:57:48.817	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_34
                                          9.1.2020, 19:57:48.817	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_35
                                          9.1.2020, 19:57:48.818	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_36
                                          9.1.2020, 19:57:48.818	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_37
                                          9.1.2020, 19:57:48.818	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_38
                                          9.1.2020, 19:57:48.819	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_39
                                          9.1.2020, 19:57:48.819	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_40
                                          9.1.2020, 19:57:48.820	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_41
                                          9.1.2020, 19:57:48.820	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_42
                                          9.1.2020, 19:57:48.820	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_43
                                          9.1.2020, 19:57:48.821	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_44
                                          9.1.2020, 19:57:48.821	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_45
                                          9.1.2020, 19:57:48.821	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_46
                                          9.1.2020, 19:57:48.822	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_47
                                          9.1.2020, 19:57:48.822	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_48
                                          9.1.2020, 19:57:48.824	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_49
                                          9.1.2020, 19:57:48.824	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_50
                                          9.1.2020, 19:57:48.825	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_51
                                          9.1.2020, 19:57:48.825	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_52
                                          9.1.2020, 19:57:48.826	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_53
                                          9.1.2020, 19:57:48.826	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_54
                                          9.1.2020, 19:57:48.827	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_55
                                          9.1.2020, 19:57:48.838	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_56
                                          9.1.2020, 19:57:48.841	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_57
                                          9.1.2020, 19:57:48.842	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_58
                                          9.1.2020, 19:57:48.842	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_59
                                          9.1.2020, 19:57:48.846	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_60
                                          9.1.2020, 19:57:48.847	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_61
                                          9.1.2020, 19:57:48.847	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_62
                                          9.1.2020, 19:57:48.848	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_63
                                          9.1.2020, 19:57:48.848	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_64
                                          9.1.2020, 19:57:48.848	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_65
                                          9.1.2020, 19:57:48.849	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_66
                                          9.1.2020, 19:57:48.849	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_67
                                          9.1.2020, 19:57:48.857	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_68
                                          9.1.2020, 19:57:48.857	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_69
                                          9.1.2020, 19:57:48.858	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_70
                                          9.1.2020, 19:57:48.858	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_71
                                          9.1.2020, 19:57:48.859	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_72
                                          9.1.2020, 19:57:48.859	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_73
                                          9.1.2020, 19:57:48.859	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_74
                                          9.1.2020, 19:57:48.860	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_75
                                          9.1.2020, 19:57:48.860	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_76
                                          9.1.2020, 19:57:48.861	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_77
                                          9.1.2020, 19:57:48.861	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_78
                                          9.1.2020, 19:57:48.862	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_79
                                          9.1.2020, 19:57:48.862	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_80
                                          9.1.2020, 19:57:48.866	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_81
                                          9.1.2020, 19:57:48.867	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_82
                                          9.1.2020, 19:57:48.867	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_83
                                          9.1.2020, 19:57:48.868	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_84
                                          9.1.2020, 19:57:48.868	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_85
                                          9.1.2020, 19:57:48.868	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_86
                                          9.1.2020, 19:57:48.868	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_87
                                          9.1.2020, 19:57:48.868	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_88
                                          9.1.2020, 19:57:48.869	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_89
                                          9.1.2020, 19:57:48.869	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_90
                                          9.1.2020, 19:57:48.869	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_91
                                          9.1.2020, 19:57:48.870	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_92
                                          9.1.2020, 19:57:48.870	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_93
                                          9.1.2020, 19:57:48.873	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_94
                                          9.1.2020, 19:57:48.880	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_95
                                          9.1.2020, 19:57:48.881	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_96
                                          9.1.2020, 19:57:48.881	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_97
                                          9.1.2020, 19:57:48.882	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_98
                                          9.1.2020, 19:57:48.882	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: setState durchgeführt: 0_userdata.0.Mic_Test.Datenpunkt_99
                                          9.1.2020, 19:57:48.882	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: fertig!
                                          9.1.2020, 19:57:48.883	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Function was provided
                                          9.1.2020, 19:57:48.883	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Nun sind wir in der callback-Funktion. Das bedeutet, dass alle States abgearbeitet wurden. Jetzt können wir hier was machen, z.B. nächste Funktion main() aufrufen.
                                          9.1.2020, 19:57:48.883	[info ]: javascript.0 (376) script.js.14_Eigene_DP_Vorlagen.DB_Userdata_erstellen: Happy coding! :-)
                                          

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          705

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

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

                                          • Du hast noch kein Konto? Registrieren

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