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

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

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Gelöst: Fehler im Script

NEWS

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

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

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

Gelöst: Fehler im Script

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
javascript
7 Beiträge 4 Kommentatoren 321 Aufrufe 6 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.
  • M Online
    M Online
    michihorn
    schrieb am zuletzt editiert von michihorn
    #1

    Hallo, ich suche mir gerade einen "heissen"
    Mein Script siht wie folgt aus:

    const idLichtsensor = 'hm-rpc.2.00185BE98B3FCA.1.ILLUMINATION' //Wetterstation
    const idWind = 'hm-rpc.2.00185BE98B3FCA.1.WIND_SPEED';  //Wetterstation
    const idRegen = 'hm-rpc.2.00185BE98B3FCA.1.RAINING'  //Wetterstation
    const idLux = '0_userdata.0.Garten.Tahoma.Markise.SWLux'; // Auslösewert Lux
    const idSWWind = '0_userdata.0.Garten.Tahoma.Markise.SWWind'; // Auslösewert Wind
    const id_RolloL = 'tahoma.0.devices.Markisse_Links.states.core:DeploymentState'
    const id_RolloR = 'tahoma.0.devices.Markisse_Rechts.states.core:DeploymentState'
    const id_Auto = "0_userdata.0.Garten.Tahoma.Markise.Auto"
    const id_Hand = "0_userdata.0.Garten.Tahoma.Markise.Hand"
    
    var timer = null;
    var text
    //EINFAHREN Bewölkung
    subscribe(idLichtsensor, function (dp) {
        if (dp.state.val < getState(idLux).val) {
            if (!timer) {
                  timer = setTimeout(function () {
                    timer = null;
                    log('\u2601\ufe0f  Lux ' + getState(idLichtsensor).val + " " + formatDate(dp.state.lc, 'hh:mm:ss' + " - " + "L " + getState(id_RolloL).val + " - R " + getState(id_RolloR).val));
                    if ((getState(id_RolloL).val == 100) && (getState(id_RolloR).val == 100) && (getState(id_Auto).val == true)) {
                        setState(id_RolloL, 0);
                       setTimeout(function() {setState(id_RolloR, 0);}, 20000);
                        log("Markisse eingefahren")
                        text = '\u2600\ufe0f  *Bewölkung*\n Markise EINGEFAHREN'
                        //createEventlog("Markise", text);
                        WhatsAppBot([0], text);
                    }
                }, 10000);
            }
        } else {
            // Sonnig. Falls timer läuft = stopp
            if (timer) {
                clearTimeout(timer);
                timer = null;
            }
        }
    });
    

    Ich bekomme im LOG folgenden Fehler:

    16:42:39.664	info	javascript.0 (3954) script.js.HAUS.Markiese.EINFAHREN_Bewölkung: ☁️ Lux 5282 16:42:29 - L 100 - R 100
    16:42:39.664	info	javascript.0 (3954) script.js.HAUS.Markiese.EINFAHREN_Bewölkung: Markisse eingefahren
    16:42:39.666	info	javascript.0 (3954) script.js.HAUS.Markiese.EINFAHREN_Bewölkung: exec is not available. Please enable "Enable Exec" option in instance settings
    16:42:39.672	error	javascript.0 (3954) script.js.HAUS.Markiese.EINFAHREN_Bewölkung: TypeError: Cannot read properties of undefined (reading 'includes')
    16:42:39.673	error	javascript.0 (3954) at Immediate.<anonymous> (script.js.HAUS.Markiese.EINFAHREN_Bewölkung:67:28)
    16:42:39.888	error	host.iobroker-pi Caught by controller[0]: at Immediate.<anonymous> (script.js.HAUS.Markiese.EINFAHREN_Bewölkung:67:28)
    

    Die Verzögerung habe ich eingebaut, weil Tahoma offenbar zwischen zwei Befehlen etwas Zeit braucht.

    setTimeout(function() {setState(id_RolloR, 0);}, 20000);
    

    In der Java Instance ist Excec "enable"

    Brauche mal einen Tip
    Michael

    paul53P C 2 Antworten Letzte Antwort
    0
    • M michihorn

      Hallo, ich suche mir gerade einen "heissen"
      Mein Script siht wie folgt aus:

      const idLichtsensor = 'hm-rpc.2.00185BE98B3FCA.1.ILLUMINATION' //Wetterstation
      const idWind = 'hm-rpc.2.00185BE98B3FCA.1.WIND_SPEED';  //Wetterstation
      const idRegen = 'hm-rpc.2.00185BE98B3FCA.1.RAINING'  //Wetterstation
      const idLux = '0_userdata.0.Garten.Tahoma.Markise.SWLux'; // Auslösewert Lux
      const idSWWind = '0_userdata.0.Garten.Tahoma.Markise.SWWind'; // Auslösewert Wind
      const id_RolloL = 'tahoma.0.devices.Markisse_Links.states.core:DeploymentState'
      const id_RolloR = 'tahoma.0.devices.Markisse_Rechts.states.core:DeploymentState'
      const id_Auto = "0_userdata.0.Garten.Tahoma.Markise.Auto"
      const id_Hand = "0_userdata.0.Garten.Tahoma.Markise.Hand"
      
      var timer = null;
      var text
      //EINFAHREN Bewölkung
      subscribe(idLichtsensor, function (dp) {
          if (dp.state.val < getState(idLux).val) {
              if (!timer) {
                    timer = setTimeout(function () {
                      timer = null;
                      log('\u2601\ufe0f  Lux ' + getState(idLichtsensor).val + " " + formatDate(dp.state.lc, 'hh:mm:ss' + " - " + "L " + getState(id_RolloL).val + " - R " + getState(id_RolloR).val));
                      if ((getState(id_RolloL).val == 100) && (getState(id_RolloR).val == 100) && (getState(id_Auto).val == true)) {
                          setState(id_RolloL, 0);
                         setTimeout(function() {setState(id_RolloR, 0);}, 20000);
                          log("Markisse eingefahren")
                          text = '\u2600\ufe0f  *Bewölkung*\n Markise EINGEFAHREN'
                          //createEventlog("Markise", text);
                          WhatsAppBot([0], text);
                      }
                  }, 10000);
              }
          } else {
              // Sonnig. Falls timer läuft = stopp
              if (timer) {
                  clearTimeout(timer);
                  timer = null;
              }
          }
      });
      

      Ich bekomme im LOG folgenden Fehler:

      16:42:39.664	info	javascript.0 (3954) script.js.HAUS.Markiese.EINFAHREN_Bewölkung: ☁️ Lux 5282 16:42:29 - L 100 - R 100
      16:42:39.664	info	javascript.0 (3954) script.js.HAUS.Markiese.EINFAHREN_Bewölkung: Markisse eingefahren
      16:42:39.666	info	javascript.0 (3954) script.js.HAUS.Markiese.EINFAHREN_Bewölkung: exec is not available. Please enable "Enable Exec" option in instance settings
      16:42:39.672	error	javascript.0 (3954) script.js.HAUS.Markiese.EINFAHREN_Bewölkung: TypeError: Cannot read properties of undefined (reading 'includes')
      16:42:39.673	error	javascript.0 (3954) at Immediate.<anonymous> (script.js.HAUS.Markiese.EINFAHREN_Bewölkung:67:28)
      16:42:39.888	error	host.iobroker-pi Caught by controller[0]: at Immediate.<anonymous> (script.js.HAUS.Markiese.EINFAHREN_Bewölkung:67:28)
      

      Die Verzögerung habe ich eingebaut, weil Tahoma offenbar zwischen zwei Befehlen etwas Zeit braucht.

      setTimeout(function() {setState(id_RolloR, 0);}, 20000);
      

      In der Java Instance ist Excec "enable"

      Brauche mal einen Tip
      Michael

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

      @michihorn
      Was passiert in Zeile 26?

      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

      M 1 Antwort Letzte Antwort
      0
      • M michihorn

        Hallo, ich suche mir gerade einen "heissen"
        Mein Script siht wie folgt aus:

        const idLichtsensor = 'hm-rpc.2.00185BE98B3FCA.1.ILLUMINATION' //Wetterstation
        const idWind = 'hm-rpc.2.00185BE98B3FCA.1.WIND_SPEED';  //Wetterstation
        const idRegen = 'hm-rpc.2.00185BE98B3FCA.1.RAINING'  //Wetterstation
        const idLux = '0_userdata.0.Garten.Tahoma.Markise.SWLux'; // Auslösewert Lux
        const idSWWind = '0_userdata.0.Garten.Tahoma.Markise.SWWind'; // Auslösewert Wind
        const id_RolloL = 'tahoma.0.devices.Markisse_Links.states.core:DeploymentState'
        const id_RolloR = 'tahoma.0.devices.Markisse_Rechts.states.core:DeploymentState'
        const id_Auto = "0_userdata.0.Garten.Tahoma.Markise.Auto"
        const id_Hand = "0_userdata.0.Garten.Tahoma.Markise.Hand"
        
        var timer = null;
        var text
        //EINFAHREN Bewölkung
        subscribe(idLichtsensor, function (dp) {
            if (dp.state.val < getState(idLux).val) {
                if (!timer) {
                      timer = setTimeout(function () {
                        timer = null;
                        log('\u2601\ufe0f  Lux ' + getState(idLichtsensor).val + " " + formatDate(dp.state.lc, 'hh:mm:ss' + " - " + "L " + getState(id_RolloL).val + " - R " + getState(id_RolloR).val));
                        if ((getState(id_RolloL).val == 100) && (getState(id_RolloR).val == 100) && (getState(id_Auto).val == true)) {
                            setState(id_RolloL, 0);
                           setTimeout(function() {setState(id_RolloR, 0);}, 20000);
                            log("Markisse eingefahren")
                            text = '\u2600\ufe0f  *Bewölkung*\n Markise EINGEFAHREN'
                            //createEventlog("Markise", text);
                            WhatsAppBot([0], text);
                        }
                    }, 10000);
                }
            } else {
                // Sonnig. Falls timer läuft = stopp
                if (timer) {
                    clearTimeout(timer);
                    timer = null;
                }
            }
        });
        

        Ich bekomme im LOG folgenden Fehler:

        16:42:39.664	info	javascript.0 (3954) script.js.HAUS.Markiese.EINFAHREN_Bewölkung: ☁️ Lux 5282 16:42:29 - L 100 - R 100
        16:42:39.664	info	javascript.0 (3954) script.js.HAUS.Markiese.EINFAHREN_Bewölkung: Markisse eingefahren
        16:42:39.666	info	javascript.0 (3954) script.js.HAUS.Markiese.EINFAHREN_Bewölkung: exec is not available. Please enable "Enable Exec" option in instance settings
        16:42:39.672	error	javascript.0 (3954) script.js.HAUS.Markiese.EINFAHREN_Bewölkung: TypeError: Cannot read properties of undefined (reading 'includes')
        16:42:39.673	error	javascript.0 (3954) at Immediate.<anonymous> (script.js.HAUS.Markiese.EINFAHREN_Bewölkung:67:28)
        16:42:39.888	error	host.iobroker-pi Caught by controller[0]: at Immediate.<anonymous> (script.js.HAUS.Markiese.EINFAHREN_Bewölkung:67:28)
        

        Die Verzögerung habe ich eingebaut, weil Tahoma offenbar zwischen zwei Befehlen etwas Zeit braucht.

        setTimeout(function() {setState(id_RolloR, 0);}, 20000);
        

        In der Java Instance ist Excec "enable"

        Brauche mal einen Tip
        Michael

        C Online
        C Online
        Chrunchy
        schrieb am zuletzt editiert von Chrunchy
        #3

        @michihorn in Zeile 23 und 24 fehlt ein Semikolon am Ende, oder?

        OK, da fehlen wohl noch ein paar mehr als nur in den zwei Zeilen.

        Gruß Chrunchy

        OliverIOO 1 Antwort Letzte Antwort
        0
        • C Chrunchy

          @michihorn in Zeile 23 und 24 fehlt ein Semikolon am Ende, oder?

          OK, da fehlen wohl noch ein paar mehr als nur in den zwei Zeilen.

          OliverIOO Offline
          OliverIOO Offline
          OliverIO
          schrieb am zuletzt editiert von
          #4

          @chrunchy sagte in Fehler im Script:

          in Zeile 23 und 24 fehlt ein Semikolon am Ende, oder?

          ist zwar empfohlen, aber bei javascript kein muss
          nur bei ein paar bestimmten befehlen wird es benötigt
          https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Lexical_grammar#automatic_semicolon_insertion
          also hier nicht wirklich ein fehler

          Meine Adapter und Widgets
          TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
          Links im Profil

          1 Antwort Letzte Antwort
          0
          • paul53P paul53

            @michihorn
            Was passiert in Zeile 26?

            M Online
            M Online
            michihorn
            schrieb am zuletzt editiert von
            #5

            @paul53 Dort wird ein Script von "https://www.kreyenborg.koeln/whatsapp-nachrichten-mit-iobroker-versenden/" verarbeitet, dass mehrere Whatsapp Adressaten anschreiben kann und auch seit langen funktioniert.

            paul53P 1 Antwort Letzte Antwort
            0
            • M michihorn

              @paul53 Dort wird ein Script von "https://www.kreyenborg.koeln/whatsapp-nachrichten-mit-iobroker-versenden/" verarbeitet, dass mehrere Whatsapp Adressaten anschreiben kann und auch seit langen funktioniert.

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

              @michihorn
              Die Fehlermeldungen werden durch dieses globale Skript verursacht, denn nur das enthält "exec" und "includes".

              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

              M 1 Antwort Letzte Antwort
              0
              • paul53P paul53

                @michihorn
                Die Fehlermeldungen werden durch dieses globale Skript verursacht, denn nur das enthält "exec" und "includes".

                M Online
                M Online
                michihorn
                schrieb am zuletzt editiert von michihorn
                #7

                @paul53 Okay Danke, ich werde das mal "rausnehmen"
                Edit: Ja das war es. Danke!

                L 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

                820

                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