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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. CreateStateAsync erzeugt Fehlermeldung

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    3.6k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.1k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

CreateStateAsync erzeugt Fehlermeldung

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
javascript
5 Beiträge 3 Kommentatoren 383 Aufrufe 3 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.
  • PeoplesP Offline
    PeoplesP Offline
    Peoples
    schrieb am zuletzt editiert von Peoples
    #1

    HI,

    ich will eines meiner Scripte auf Async umbauen, um mir setTimeout zu ersparen. Leider bekomme ich immer einen Fehler aber mir ist nicht klar warum.
    Ich habe gelesen dass das Problem daher rührt dass i anfangs einen Wert von 0 hat.

    Aber warum ist das ein Problem und wie kann ich dieses beheben / umgehen?

    Mache ich anstelle von createStateAsync nur createState funktioniert alles

    Hier das Script:

    // *******************************************************************************************************
    //
    // SchaltUhr
    //
    //
    // v1.0   - 10.02.2022  init
    // 
    //
    
    // ********************************************************************************************************
    
    // -----------------------------------------------------------------------------
    // allgemeine Variablen
    // -----------------------------------------------------------------------------
    var loglevel = 2;                   // Loglevel 0 =  kein Logging / 1 -3 Logging wird genauer 
    var debugging = false;              // Debugging on/off - Bei On werden keine Aktoren geschalten nur Log-Ausgaben
    var Systemlog = true;               // Systemmeldungen anlegen ja/nein
    
    
    var instanz = '0_userdata.0'; instanz = instanz +'.';
    var pfad0 = 'DeviceSwitchingTimers'; pfad0 = pfad0 +'.';
    
    
    const devices = [
                        /*Device ID */                                                /*Device Name für Datenpunkt */                       /*Device Typ (state / level) */                            
        /*Doppelfenster Küche - Steckdose rechts - rechts*/
        {'deviceID':'shelly.0.xxxxxxx',                                 'deviceName':'Steckdose_Kueche_Doppelfenster_rechts-rechts',            'deviceType':'state'},                
        /*Doppelfenster Küche rechts - Steckdose rechts - links*/
        {'deviceID':'shelly.0.xxxxxxx',                                 'deviceName':'Steckdose_Kueche_Doppelfenster_rechts-links',             'deviceType':'state'},
        /*Doppelfenster Küche - Steckdose links - rechts*/
        {'deviceID':'hm-rpc.0.xxxxxxx',                                 'deviceName':'Steckdose_Kueche_Doppelfenster_links-rechts',             'deviceType':'state'},
        /*Doppelfenster Küche - Steckdose links - links*/
        {'deviceID':'hm-rpc.0.xxxxxxx',                                 'deviceName':'Steckdose_Kueche_Doppelfenster_links-links',              'deviceType':'state'}
    ];
    async function createDeviceStates(){
        try {
    
            for(var i = 0; i < Object.keys(devices).length; i++) { 
                await createStateAsync(instanz + pfad0 + devices[i].deviceName +  '.switchingAutomatic', {name: 'Automatisches Schalten', type:'boolean', def:false, read:true, write:true});
                await createStateAsync(instanz + pfad0 + devices[i].deviceName +  '.onTime1', {name: 'Einschaltzeit 1', type:'string', def:'00:00', read:true, write:true});
                await createStateAsync(instanz + pfad0 + devices[i].deviceName +  '.onTime2', {name: 'Einschaltzeit 2', type:'string', def:'00:00' , read:true, write:true});
                await createStateAsync(instanz + pfad0 + devices[i].deviceName +  '.offTime1', {name: 'Ausschaltzeit 1', type:'string', def:'23:59' , read:true, write:true});
                await createStateAsync(instanz + pfad0 + devices[i].deviceName +  '.offTime2', {name: 'Ausschaltzeit 2', type:'string', def:'23:59' , read:true, write:true});
                await createStateAsync(instanz + pfad0 + devices[i].deviceName +  '.reactOnSleepingMode', {name: 'Einschaltzeit 1', type:'boolean', def:false , read:true, write:true});
    
                // Unterscheidung Typen (state / level)
                switch(devices[i].deviceType){ 
                    case 'state': // Gerätetyp State
                        await createStateAsync(instanz + pfad0 + devices[i].deviceName +  '.stateSleepingModeOn', {name: 'Gerätestatus bei Schlafmodus ein', type:'boolean', def:false , read:true, write:true});
                        await createStateAsync(instanz + pfad0 + devices[i].deviceName +  '.stateSleepingModeOff', {name: 'Gerätestatus bei Schlafmodus aus', type:'boolean', def:true , read:true, write:true});
                    break;
                    case 'level': // Gerätetyp Level
                        await createStateAsync(instanz + pfad0 + devices[i].deviceName +  '.levelSleepingModeOn', {name: 'Gerätelevel bei Schlafmodus ein', type:'number', def:0 , read:true, write:true});
                        await createStateAsync(instanz + pfad0 + devices[i].deviceName +  '.levelSleepingModeOff', {name: 'Gerätelevel bei Schlafmodus aus', type:'number', def:100 , read:true, write:true});               
                    break;
                }   
            }
        } catch (error) {
            log(`Unexpected error - ${error}`, 'error');
        }
    }
    
    createDeviceStates();
    
    /*
    on({id: devices[i].sensorID,  change:'any'}, function (dp) { 
                    
                });
    */
    
    
    

    Hier die Fehlermeldung:

    2022-02-10 14:23:27.808 - warn: javascript.0 (694436) State "0_userdata.0.DeviceSwitchingTimers.Steckdose_Kueche_Doppelfenster_links-rechts.switchingAutomatic" not found
    2022-02-10 14:23:27.808 - warn: javascript.0 (694436) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1967:33)
    2022-02-10 14:23:27.808 - warn: javascript.0 (694436) at processImmediate (internal/timers.js:466:21)
    2022-02-10 14:23:27.808 - error: javascript.0 (694436) script.js.Wandtablet.Schaltuhr: Unexpected error - Error: State "0_userdata.0.DeviceSwitchingTimers.Steckdose_Kueche_Doppelfenster_links-rechts.switchingAutomatic" not found
    

    Hat hier jemand eine Idee?

    Ich beantworte keine Fragen zu Themen via PN

    BananaJoeB AlCalzoneA 2 Antworten Letzte Antwort
    0
    • PeoplesP Peoples

      HI,

      ich will eines meiner Scripte auf Async umbauen, um mir setTimeout zu ersparen. Leider bekomme ich immer einen Fehler aber mir ist nicht klar warum.
      Ich habe gelesen dass das Problem daher rührt dass i anfangs einen Wert von 0 hat.

      Aber warum ist das ein Problem und wie kann ich dieses beheben / umgehen?

      Mache ich anstelle von createStateAsync nur createState funktioniert alles

      Hier das Script:

      // *******************************************************************************************************
      //
      // SchaltUhr
      //
      //
      // v1.0   - 10.02.2022  init
      // 
      //
      
      // ********************************************************************************************************
      
      // -----------------------------------------------------------------------------
      // allgemeine Variablen
      // -----------------------------------------------------------------------------
      var loglevel = 2;                   // Loglevel 0 =  kein Logging / 1 -3 Logging wird genauer 
      var debugging = false;              // Debugging on/off - Bei On werden keine Aktoren geschalten nur Log-Ausgaben
      var Systemlog = true;               // Systemmeldungen anlegen ja/nein
      
      
      var instanz = '0_userdata.0'; instanz = instanz +'.';
      var pfad0 = 'DeviceSwitchingTimers'; pfad0 = pfad0 +'.';
      
      
      const devices = [
                          /*Device ID */                                                /*Device Name für Datenpunkt */                       /*Device Typ (state / level) */                            
          /*Doppelfenster Küche - Steckdose rechts - rechts*/
          {'deviceID':'shelly.0.xxxxxxx',                                 'deviceName':'Steckdose_Kueche_Doppelfenster_rechts-rechts',            'deviceType':'state'},                
          /*Doppelfenster Küche rechts - Steckdose rechts - links*/
          {'deviceID':'shelly.0.xxxxxxx',                                 'deviceName':'Steckdose_Kueche_Doppelfenster_rechts-links',             'deviceType':'state'},
          /*Doppelfenster Küche - Steckdose links - rechts*/
          {'deviceID':'hm-rpc.0.xxxxxxx',                                 'deviceName':'Steckdose_Kueche_Doppelfenster_links-rechts',             'deviceType':'state'},
          /*Doppelfenster Küche - Steckdose links - links*/
          {'deviceID':'hm-rpc.0.xxxxxxx',                                 'deviceName':'Steckdose_Kueche_Doppelfenster_links-links',              'deviceType':'state'}
      ];
      async function createDeviceStates(){
          try {
      
              for(var i = 0; i < Object.keys(devices).length; i++) { 
                  await createStateAsync(instanz + pfad0 + devices[i].deviceName +  '.switchingAutomatic', {name: 'Automatisches Schalten', type:'boolean', def:false, read:true, write:true});
                  await createStateAsync(instanz + pfad0 + devices[i].deviceName +  '.onTime1', {name: 'Einschaltzeit 1', type:'string', def:'00:00', read:true, write:true});
                  await createStateAsync(instanz + pfad0 + devices[i].deviceName +  '.onTime2', {name: 'Einschaltzeit 2', type:'string', def:'00:00' , read:true, write:true});
                  await createStateAsync(instanz + pfad0 + devices[i].deviceName +  '.offTime1', {name: 'Ausschaltzeit 1', type:'string', def:'23:59' , read:true, write:true});
                  await createStateAsync(instanz + pfad0 + devices[i].deviceName +  '.offTime2', {name: 'Ausschaltzeit 2', type:'string', def:'23:59' , read:true, write:true});
                  await createStateAsync(instanz + pfad0 + devices[i].deviceName +  '.reactOnSleepingMode', {name: 'Einschaltzeit 1', type:'boolean', def:false , read:true, write:true});
      
                  // Unterscheidung Typen (state / level)
                  switch(devices[i].deviceType){ 
                      case 'state': // Gerätetyp State
                          await createStateAsync(instanz + pfad0 + devices[i].deviceName +  '.stateSleepingModeOn', {name: 'Gerätestatus bei Schlafmodus ein', type:'boolean', def:false , read:true, write:true});
                          await createStateAsync(instanz + pfad0 + devices[i].deviceName +  '.stateSleepingModeOff', {name: 'Gerätestatus bei Schlafmodus aus', type:'boolean', def:true , read:true, write:true});
                      break;
                      case 'level': // Gerätetyp Level
                          await createStateAsync(instanz + pfad0 + devices[i].deviceName +  '.levelSleepingModeOn', {name: 'Gerätelevel bei Schlafmodus ein', type:'number', def:0 , read:true, write:true});
                          await createStateAsync(instanz + pfad0 + devices[i].deviceName +  '.levelSleepingModeOff', {name: 'Gerätelevel bei Schlafmodus aus', type:'number', def:100 , read:true, write:true});               
                      break;
                  }   
              }
          } catch (error) {
              log(`Unexpected error - ${error}`, 'error');
          }
      }
      
      createDeviceStates();
      
      /*
      on({id: devices[i].sensorID,  change:'any'}, function (dp) { 
                      
                  });
      */
      
      
      

      Hier die Fehlermeldung:

      2022-02-10 14:23:27.808 - warn: javascript.0 (694436) State "0_userdata.0.DeviceSwitchingTimers.Steckdose_Kueche_Doppelfenster_links-rechts.switchingAutomatic" not found
      2022-02-10 14:23:27.808 - warn: javascript.0 (694436) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1967:33)
      2022-02-10 14:23:27.808 - warn: javascript.0 (694436) at processImmediate (internal/timers.js:466:21)
      2022-02-10 14:23:27.808 - error: javascript.0 (694436) script.js.Wandtablet.Schaltuhr: Unexpected error - Error: State "0_userdata.0.DeviceSwitchingTimers.Steckdose_Kueche_Doppelfenster_links-rechts.switchingAutomatic" not found
      

      Hat hier jemand eine Idee?

      BananaJoeB Online
      BananaJoeB Online
      BananaJoe
      Most Active
      schrieb am zuletzt editiert von BananaJoe
      #2

      @peoples sagte in CreateStateAsync erzeugt Fehlermeldung:
      */

      Also bei mir hat er nur beim allerersten Start den Fehler gebracht, bei einem Restart / Neustart ging es ohne Fehler.
      Er bringt es ja auch nur beim 3. Element Steckdose_Kueche_Doppelfenster_links-rechts wobei er den State noch anlegt.

      Merkwürdig

      ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 9 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 750W kaskadiert || Creality CR-10 SE 3D-Drucker

      1 Antwort Letzte Antwort
      0
      • PeoplesP Peoples

        HI,

        ich will eines meiner Scripte auf Async umbauen, um mir setTimeout zu ersparen. Leider bekomme ich immer einen Fehler aber mir ist nicht klar warum.
        Ich habe gelesen dass das Problem daher rührt dass i anfangs einen Wert von 0 hat.

        Aber warum ist das ein Problem und wie kann ich dieses beheben / umgehen?

        Mache ich anstelle von createStateAsync nur createState funktioniert alles

        Hier das Script:

        // *******************************************************************************************************
        //
        // SchaltUhr
        //
        //
        // v1.0   - 10.02.2022  init
        // 
        //
        
        // ********************************************************************************************************
        
        // -----------------------------------------------------------------------------
        // allgemeine Variablen
        // -----------------------------------------------------------------------------
        var loglevel = 2;                   // Loglevel 0 =  kein Logging / 1 -3 Logging wird genauer 
        var debugging = false;              // Debugging on/off - Bei On werden keine Aktoren geschalten nur Log-Ausgaben
        var Systemlog = true;               // Systemmeldungen anlegen ja/nein
        
        
        var instanz = '0_userdata.0'; instanz = instanz +'.';
        var pfad0 = 'DeviceSwitchingTimers'; pfad0 = pfad0 +'.';
        
        
        const devices = [
                            /*Device ID */                                                /*Device Name für Datenpunkt */                       /*Device Typ (state / level) */                            
            /*Doppelfenster Küche - Steckdose rechts - rechts*/
            {'deviceID':'shelly.0.xxxxxxx',                                 'deviceName':'Steckdose_Kueche_Doppelfenster_rechts-rechts',            'deviceType':'state'},                
            /*Doppelfenster Küche rechts - Steckdose rechts - links*/
            {'deviceID':'shelly.0.xxxxxxx',                                 'deviceName':'Steckdose_Kueche_Doppelfenster_rechts-links',             'deviceType':'state'},
            /*Doppelfenster Küche - Steckdose links - rechts*/
            {'deviceID':'hm-rpc.0.xxxxxxx',                                 'deviceName':'Steckdose_Kueche_Doppelfenster_links-rechts',             'deviceType':'state'},
            /*Doppelfenster Küche - Steckdose links - links*/
            {'deviceID':'hm-rpc.0.xxxxxxx',                                 'deviceName':'Steckdose_Kueche_Doppelfenster_links-links',              'deviceType':'state'}
        ];
        async function createDeviceStates(){
            try {
        
                for(var i = 0; i < Object.keys(devices).length; i++) { 
                    await createStateAsync(instanz + pfad0 + devices[i].deviceName +  '.switchingAutomatic', {name: 'Automatisches Schalten', type:'boolean', def:false, read:true, write:true});
                    await createStateAsync(instanz + pfad0 + devices[i].deviceName +  '.onTime1', {name: 'Einschaltzeit 1', type:'string', def:'00:00', read:true, write:true});
                    await createStateAsync(instanz + pfad0 + devices[i].deviceName +  '.onTime2', {name: 'Einschaltzeit 2', type:'string', def:'00:00' , read:true, write:true});
                    await createStateAsync(instanz + pfad0 + devices[i].deviceName +  '.offTime1', {name: 'Ausschaltzeit 1', type:'string', def:'23:59' , read:true, write:true});
                    await createStateAsync(instanz + pfad0 + devices[i].deviceName +  '.offTime2', {name: 'Ausschaltzeit 2', type:'string', def:'23:59' , read:true, write:true});
                    await createStateAsync(instanz + pfad0 + devices[i].deviceName +  '.reactOnSleepingMode', {name: 'Einschaltzeit 1', type:'boolean', def:false , read:true, write:true});
        
                    // Unterscheidung Typen (state / level)
                    switch(devices[i].deviceType){ 
                        case 'state': // Gerätetyp State
                            await createStateAsync(instanz + pfad0 + devices[i].deviceName +  '.stateSleepingModeOn', {name: 'Gerätestatus bei Schlafmodus ein', type:'boolean', def:false , read:true, write:true});
                            await createStateAsync(instanz + pfad0 + devices[i].deviceName +  '.stateSleepingModeOff', {name: 'Gerätestatus bei Schlafmodus aus', type:'boolean', def:true , read:true, write:true});
                        break;
                        case 'level': // Gerätetyp Level
                            await createStateAsync(instanz + pfad0 + devices[i].deviceName +  '.levelSleepingModeOn', {name: 'Gerätelevel bei Schlafmodus ein', type:'number', def:0 , read:true, write:true});
                            await createStateAsync(instanz + pfad0 + devices[i].deviceName +  '.levelSleepingModeOff', {name: 'Gerätelevel bei Schlafmodus aus', type:'number', def:100 , read:true, write:true});               
                        break;
                    }   
                }
            } catch (error) {
                log(`Unexpected error - ${error}`, 'error');
            }
        }
        
        createDeviceStates();
        
        /*
        on({id: devices[i].sensorID,  change:'any'}, function (dp) { 
                        
                    });
        */
        
        
        

        Hier die Fehlermeldung:

        2022-02-10 14:23:27.808 - warn: javascript.0 (694436) State "0_userdata.0.DeviceSwitchingTimers.Steckdose_Kueche_Doppelfenster_links-rechts.switchingAutomatic" not found
        2022-02-10 14:23:27.808 - warn: javascript.0 (694436) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1967:33)
        2022-02-10 14:23:27.808 - warn: javascript.0 (694436) at processImmediate (internal/timers.js:466:21)
        2022-02-10 14:23:27.808 - error: javascript.0 (694436) script.js.Wandtablet.Schaltuhr: Unexpected error - Error: State "0_userdata.0.DeviceSwitchingTimers.Steckdose_Kueche_Doppelfenster_links-rechts.switchingAutomatic" not found
        

        Hat hier jemand eine Idee?

        AlCalzoneA Offline
        AlCalzoneA Offline
        AlCalzone
        Developer
        schrieb am zuletzt editiert von
        #3

        @peoples sagte in CreateStateAsync erzeugt Fehlermeldung:

        Mache ich anstelle von createStateAsync nur createState funktioniert alles

        Mach doch mal ein Issue im Adapter auf. Eigentlich sollte createStateAsync nur ein Wrapper um createState sein.

        Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

        PeoplesP 1 Antwort Letzte Antwort
        0
        • AlCalzoneA AlCalzone

          @peoples sagte in CreateStateAsync erzeugt Fehlermeldung:

          Mache ich anstelle von createStateAsync nur createState funktioniert alles

          Mach doch mal ein Issue im Adapter auf. Eigentlich sollte createStateAsync nur ein Wrapper um createState sein.

          PeoplesP Offline
          PeoplesP Offline
          Peoples
          schrieb am zuletzt editiert von
          #4

          @alcalzone
          Alles klar das mach ich morgen. Finde es auch komisch aber hatte da schon einen Beitrag aus 2020 gefunden der selbiges umschreibt.
          Such ich Mal raus und ergänze ihn hier dann

          Ich beantworte keine Fragen zu Themen via PN

          1 Antwort Letzte Antwort
          0
          • PeoplesP Offline
            PeoplesP Offline
            Peoples
            schrieb am zuletzt editiert von
            #5

            Issue erstellt:
            https://github.com/ioBroker/ioBroker.javascript/issues/955

            Ich beantworte keine Fragen zu Themen via PN

            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

            726

            Online

            32.7k

            Benutzer

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