Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Finde den Fehler - den ich nicht finde

NEWS

  • Wartung am 15.11. – Forum ab 22:00 Uhr nicht erreichbar
    BluefoxB
    Bluefox
    11
    2
    224

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

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

Finde den Fehler - den ich nicht finde

Finde den Fehler - den ich nicht finde

Scheduled Pinned Locked Moved JavaScript
6 Posts 4 Posters 270 Views 4 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • S Offline
    S Offline
    skorpil
    wrote on last edited by
    #1

    Ich habe folgendes JavaScript laufen:

    // ##################################################################
    //         Regen ermitteln und in Wetter Regen2 schreiben     
    // ##################################################################
    function regen_ermitteln() {
        
    //Definitionen
    var idOpenWeater = 'openweathermap.0.forecast.current.state'/*Actual state*/;
    var idVariable = 'hm-rega.0.32978'/*Wetter Regen*/
    
    //Wetterdaten auslesen 
    wetterdaten = getState(idOpenWeater).val;
    
    //finde regen oder niesel
    var regen = wetterdaten.lastIndexOf('Regen')+1;
    var niesel = wetterdaten.lastIndexOf('Niesel')+1;
    var Regen = wetterdaten.lastIndexOf('regen')+1;
    var Niesel = wetterdaten.lastIndexOf('niesel')+1;
    var Gewitter = wetterdaten.lastIndexOf('Gewitter')+1;  
    
    // wenn gefunden dann
    if (regen + niesel + Regen + Niesel + Gewitter > 0) {
        regen = true;
        } //else
        //{regen = false;}
        //log(regen);
    
    //Variable setzen
    setState(idVariable, regen);
     };
    
    
    
    //bei Skriptstart Cron Job starten
    schedule('0 11 * * *', function () {
    
    if(getState('hm-rega.0.30304'/*Automower Daemon Modus*/).val == true) {
        regen_ermitteln();
    };
    
    });
    
    //bei Skriptstart: Start
    //regen_ermitteln();
    
    

    und erhalte folgende Fehlermeldung, Warnung

    2019-06-05 11:00:00.010 - warn: javascript.0 Wrong type of hm-rega.0.32978: "number". Please fix, while deprecated and will not work in next versions.
    2019-06-05 11:00:00.014 - warn: javascript.0 at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1258:20)
    2019-06-05 11:00:00.014 - warn: javascript.0 at regen_ermitteln (script.js.common.Skripte_aktiviert.Regen_13:00:28:1)
    2019-06-05 11:00:00.014 - warn: javascript.0 at Object. (script.js.common.Skripte_aktiviert.Regen_13:00:37:5)
    2019-06-05 11:00:00.014 - warn: javascript.0 at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1181:34)
    2019-06-05 11:00:00.014 - warn: javascript.0 at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
    2019-06-05 11:00:00.014 - warn: javascript.0 at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
    2019-06-05 11:00:00.014 - warn: javascript.0 at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
    2019-06-05 11:00:00.014 - warn: javascript.0 at ontimeout (timers.js:498:11)
    2019-06-05 11:00:00.014 - warn: javascript.0 at tryOnTimeout (timers.js:323:5)
    2019-06-05 11:00:00.014 - warn: javascript.0 at Timer.listOnTimeout (timers.js:290:5)
    

    Wo ist der Fehler im Script. Ich finde ihn nicht. Es muß etwas mit der Variablendefinition zu tun haben. Aber ich weiß nicht, wie ich das ändern muß. Wer kann mir helfen?

    HomoranH paul53P 2 Replies Last reply
    0
    • S skorpil

      Ich habe folgendes JavaScript laufen:

      // ##################################################################
      //         Regen ermitteln und in Wetter Regen2 schreiben     
      // ##################################################################
      function regen_ermitteln() {
          
      //Definitionen
      var idOpenWeater = 'openweathermap.0.forecast.current.state'/*Actual state*/;
      var idVariable = 'hm-rega.0.32978'/*Wetter Regen*/
      
      //Wetterdaten auslesen 
      wetterdaten = getState(idOpenWeater).val;
      
      //finde regen oder niesel
      var regen = wetterdaten.lastIndexOf('Regen')+1;
      var niesel = wetterdaten.lastIndexOf('Niesel')+1;
      var Regen = wetterdaten.lastIndexOf('regen')+1;
      var Niesel = wetterdaten.lastIndexOf('niesel')+1;
      var Gewitter = wetterdaten.lastIndexOf('Gewitter')+1;  
      
      // wenn gefunden dann
      if (regen + niesel + Regen + Niesel + Gewitter > 0) {
          regen = true;
          } //else
          //{regen = false;}
          //log(regen);
      
      //Variable setzen
      setState(idVariable, regen);
       };
      
      
      
      //bei Skriptstart Cron Job starten
      schedule('0 11 * * *', function () {
      
      if(getState('hm-rega.0.30304'/*Automower Daemon Modus*/).val == true) {
          regen_ermitteln();
      };
      
      });
      
      //bei Skriptstart: Start
      //regen_ermitteln();
      
      

      und erhalte folgende Fehlermeldung, Warnung

      2019-06-05 11:00:00.010 - warn: javascript.0 Wrong type of hm-rega.0.32978: "number". Please fix, while deprecated and will not work in next versions.
      2019-06-05 11:00:00.014 - warn: javascript.0 at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1258:20)
      2019-06-05 11:00:00.014 - warn: javascript.0 at regen_ermitteln (script.js.common.Skripte_aktiviert.Regen_13:00:28:1)
      2019-06-05 11:00:00.014 - warn: javascript.0 at Object. (script.js.common.Skripte_aktiviert.Regen_13:00:37:5)
      2019-06-05 11:00:00.014 - warn: javascript.0 at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1181:34)
      2019-06-05 11:00:00.014 - warn: javascript.0 at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
      2019-06-05 11:00:00.014 - warn: javascript.0 at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
      2019-06-05 11:00:00.014 - warn: javascript.0 at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
      2019-06-05 11:00:00.014 - warn: javascript.0 at ontimeout (timers.js:498:11)
      2019-06-05 11:00:00.014 - warn: javascript.0 at tryOnTimeout (timers.js:323:5)
      2019-06-05 11:00:00.014 - warn: javascript.0 at Timer.listOnTimeout (timers.js:290:5)
      

      Wo ist der Fehler im Script. Ich finde ihn nicht. Es muß etwas mit der Variablendefinition zu tun haben. Aber ich weiß nicht, wie ich das ändern muß. Wer kann mir helfen?

      HomoranH Offline
      HomoranH Offline
      Homoran
      Global Moderator Administrators
      wrote on last edited by
      #2

      @skorpil
      Was ist der Datenpunkt den du mit setstate beschreibst für ein Typ?

      kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

      1 Reply Last reply
      0
      • thewhoboxT Offline
        thewhoboxT Offline
        thewhobox
        wrote on last edited by
        #3

        Du schreibst einen String in den Datenpunkt der aber eine Nummer erwartet.

        Ersetze einfach durch folgende Zeile.

        setState(idVariable, parseInt(regen)) ;
        

        Meine Adapter: emby | discovery
        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

        1 Reply Last reply
        1
        • S skorpil

          Ich habe folgendes JavaScript laufen:

          // ##################################################################
          //         Regen ermitteln und in Wetter Regen2 schreiben     
          // ##################################################################
          function regen_ermitteln() {
              
          //Definitionen
          var idOpenWeater = 'openweathermap.0.forecast.current.state'/*Actual state*/;
          var idVariable = 'hm-rega.0.32978'/*Wetter Regen*/
          
          //Wetterdaten auslesen 
          wetterdaten = getState(idOpenWeater).val;
          
          //finde regen oder niesel
          var regen = wetterdaten.lastIndexOf('Regen')+1;
          var niesel = wetterdaten.lastIndexOf('Niesel')+1;
          var Regen = wetterdaten.lastIndexOf('regen')+1;
          var Niesel = wetterdaten.lastIndexOf('niesel')+1;
          var Gewitter = wetterdaten.lastIndexOf('Gewitter')+1;  
          
          // wenn gefunden dann
          if (regen + niesel + Regen + Niesel + Gewitter > 0) {
              regen = true;
              } //else
              //{regen = false;}
              //log(regen);
          
          //Variable setzen
          setState(idVariable, regen);
           };
          
          
          
          //bei Skriptstart Cron Job starten
          schedule('0 11 * * *', function () {
          
          if(getState('hm-rega.0.30304'/*Automower Daemon Modus*/).val == true) {
              regen_ermitteln();
          };
          
          });
          
          //bei Skriptstart: Start
          //regen_ermitteln();
          
          

          und erhalte folgende Fehlermeldung, Warnung

          2019-06-05 11:00:00.010 - warn: javascript.0 Wrong type of hm-rega.0.32978: "number". Please fix, while deprecated and will not work in next versions.
          2019-06-05 11:00:00.014 - warn: javascript.0 at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1258:20)
          2019-06-05 11:00:00.014 - warn: javascript.0 at regen_ermitteln (script.js.common.Skripte_aktiviert.Regen_13:00:28:1)
          2019-06-05 11:00:00.014 - warn: javascript.0 at Object. (script.js.common.Skripte_aktiviert.Regen_13:00:37:5)
          2019-06-05 11:00:00.014 - warn: javascript.0 at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1181:34)
          2019-06-05 11:00:00.014 - warn: javascript.0 at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
          2019-06-05 11:00:00.014 - warn: javascript.0 at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
          2019-06-05 11:00:00.014 - warn: javascript.0 at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
          2019-06-05 11:00:00.014 - warn: javascript.0 at ontimeout (timers.js:498:11)
          2019-06-05 11:00:00.014 - warn: javascript.0 at tryOnTimeout (timers.js:323:5)
          2019-06-05 11:00:00.014 - warn: javascript.0 at Timer.listOnTimeout (timers.js:290:5)
          

          Wo ist der Fehler im Script. Ich finde ihn nicht. Es muß etwas mit der Variablendefinition zu tun haben. Aber ich weiß nicht, wie ich das ändern muß. Wer kann mir helfen?

          paul53P Offline
          paul53P Offline
          paul53
          wrote on last edited by paul53
          #4

          @skorpil Das Auskommentieren von

              else regen = false;
          

          erzeugt den Fehler, weil die Variable regen doppelt verwendet wird. Es wird nicht false, sondern 0 an setState() übergeben.

          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

          S 2 Replies Last reply
          1
          • paul53P paul53

            @skorpil Das Auskommentieren von

                else regen = false;
            

            erzeugt den Fehler, weil die Variable regen doppelt verwendet wird. Es wird nicht false, sondern 0 an setState() übergeben.

            S Offline
            S Offline
            skorpil
            wrote on last edited by
            #5

            @paul53 wow, seid ihr schnell. Ich liebe dieses Forum. Vielen Dank. Das ändere ich und melde mich mit dem Ergebnis.

            1 Reply Last reply
            0
            • paul53P paul53

              @skorpil Das Auskommentieren von

                  else regen = false;
              

              erzeugt den Fehler, weil die Variable regen doppelt verwendet wird. Es wird nicht false, sondern 0 an setState() übergeben.

              S Offline
              S Offline
              skorpil
              wrote on last edited by
              #6

              @paul53 das war es. Danke!

              1 Reply Last reply
              0
              Reply
              • Reply as topic
              Log in to reply
              • Oldest to Newest
              • Newest to Oldest
              • Most Votes


              Support us

              ioBroker
              Community Adapters
              Donate

              53

              Online

              32.4k

              Users

              81.3k

              Topics

              1.3m

              Posts
              Community
              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
              ioBroker Community 2014-2025
              logo
              • Login

              • Don't have an account? Register

              • Login or register to search.
              • First post
                Last post
              0
              • Recent
              • Tags
              • Unread 0
              • Categories
              • Unreplied
              • Popular
              • GitHub
              • Docu
              • Hilfe