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. JavaScript
  5. Wert der Variable? Ich stehe auf dem Schlauch

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

Wert der Variable? Ich stehe auf dem Schlauch

Geplant Angeheftet Gesperrt Verschoben JavaScript
javascript
20 Beiträge 3 Kommentatoren 794 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.
  • S skorpil

    @paul53 „false“ oder „inaktiv“

    S Offline
    S Offline
    skorpil
    schrieb am zuletzt editiert von
    #10

    @skorpil irgendeine Idee, was ich mal testen konnte? Vlt. die Systemvariable löschen und nochmal neu anlegen?

    DC610314-C6E3-439A-A5D4-16E4B12E8B1D.jpeg

    Das ist das, was der Historian zeigt. Um kurz nach 17:00 hatte ich die Variable mal eingeschaltet. Da sieht alles gut aus.

    1 Antwort Letzte Antwort
    0
    • S skorpil

      @paul53 „false“ oder „inaktiv“

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

      @skorpil sagte:

      „false“ oder „inaktiv"

      Das war auch zum Zeitpunkt des Skriptstarts der Fall ? Die SV wird nur ausgewertet, wenn das Skript gestartet wird. Ergänze es mal durch einen Trigger und schau im Log nach, ob auf Änderung der SV reagiert wurde.

      on('hm-rega.0.30304', function(dp) {
         log('dea: ' + dp.state.val);
      });
      

      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 3 Antworten Letzte Antwort
      1
      • paul53P paul53

        @skorpil sagte:

        „false“ oder „inaktiv"

        Das war auch zum Zeitpunkt des Skriptstarts der Fall ? Die SV wird nur ausgewertet, wenn das Skript gestartet wird. Ergänze es mal durch einen Trigger und schau im Log nach, ob auf Änderung der SV reagiert wurde.

        on('hm-rega.0.30304', function(dp) {
           log('dea: ' + dp.state.val);
        });
        
        S Offline
        S Offline
        skorpil
        schrieb am zuletzt editiert von
        #12

        @paul53 Danke, mache ich. Melde mich morgen. Gute Nacht m Paul, und vielen Dank.

        1 Antwort Letzte Antwort
        0
        • paul53P paul53

          @skorpil sagte:

          „false“ oder „inaktiv"

          Das war auch zum Zeitpunkt des Skriptstarts der Fall ? Die SV wird nur ausgewertet, wenn das Skript gestartet wird. Ergänze es mal durch einen Trigger und schau im Log nach, ob auf Änderung der SV reagiert wurde.

          on('hm-rega.0.30304', function(dp) {
             log('dea: ' + dp.state.val);
          });
          
          S Offline
          S Offline
          skorpil
          schrieb am zuletzt editiert von
          #13

          @paul53 sagte in Wert der Variable? Ich stehe auf dem Schlauch:

          on('hm-rega.0.30304', function(dp) { log('dea: ' + dp.state.val); });

          Gerade getestet:

          javascript.0	2019-03-25 22:51:44.194	info	script.js.common.Test.Test: dea: false
          javascript.0	2019-03-25 22:50:14.150	info	script.js.common.Test.Test: dea: true
          

          Es wird reagiert!

          paul53P 1 Antwort Letzte Antwort
          0
          • S skorpil

            @paul53 sagte in Wert der Variable? Ich stehe auf dem Schlauch:

            on('hm-rega.0.30304', function(dp) { log('dea: ' + dp.state.val); });

            Gerade getestet:

            javascript.0	2019-03-25 22:51:44.194	info	script.js.common.Test.Test: dea: false
            javascript.0	2019-03-25 22:50:14.150	info	script.js.common.Test.Test: dea: true
            

            Es wird reagiert!

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

            @skorpil sagte:

            Es wird reagiert!

            Dann ist doch alles in Ordnung.

            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 1 Antwort Letzte Antwort
            0
            • paul53P paul53

              @skorpil sagte:

              „false“ oder „inaktiv"

              Das war auch zum Zeitpunkt des Skriptstarts der Fall ? Die SV wird nur ausgewertet, wenn das Skript gestartet wird. Ergänze es mal durch einen Trigger und schau im Log nach, ob auf Änderung der SV reagiert wurde.

              on('hm-rega.0.30304', function(dp) {
                 log('dea: ' + dp.state.val);
              });
              
              S Offline
              S Offline
              skorpil
              schrieb am zuletzt editiert von
              #15

              @paul53

              ich habe den Eindruck, dass das Script bei Scriptstart NICHT reagiert. Erst bei einer Änderung der Variablen und tracking mit "on" ,reagiert das Script. Ist das ein bug?

              paul53P 1 Antwort Letzte Antwort
              0
              • S skorpil

                @paul53

                ich habe den Eindruck, dass das Script bei Scriptstart NICHT reagiert. Erst bei einer Änderung der Variablen und tracking mit "on" ,reagiert das Script. Ist das ein bug?

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

                @skorpil sagte:

                das Script bei Scriptstart NICHT reagiert

                Das glaube ich nicht. Wie sieh das komplette Skript jetzt aus ? Wenn es nur den Trigger enthält, passiert beim Skriptstart nichts.

                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

                1 Antwort Letzte Antwort
                0
                • paul53P paul53

                  @skorpil sagte:

                  Es wird reagiert!

                  Dann ist doch alles in Ordnung.

                  S Offline
                  S Offline
                  skorpil
                  schrieb am zuletzt editiert von
                  #17

                  @paul53

                  //bei Skriptstart Cron Job starten, wenn Automower ein
                  schedule('27,50 14-18 * * *', function () {
                  
                  if(getState('hm-rega.0.30304'/*Automower Daemon Modus*/).val = true) {
                  

                  Ausgangspunkt meiner ganzen Tests war folgendes: Ich wollte erreichen, dass eine Funktion zu den definierten cron Zeitpunkten nur aufgerufen wird, wenn die Variable hm-rega.0.30304 auf true steht. Nun habe ich aber im log gesehen, dass die Funktion zu den Zeitpunkten gestartet wird, obwohl ja der Wert der Variablen auf false stand.

                  Sehr merkwürdig

                  S 1 Antwort Letzte Antwort
                  0
                  • S skorpil

                    @paul53

                    //bei Skriptstart Cron Job starten, wenn Automower ein
                    schedule('27,50 14-18 * * *', function () {
                    
                    if(getState('hm-rega.0.30304'/*Automower Daemon Modus*/).val = true) {
                    

                    Ausgangspunkt meiner ganzen Tests war folgendes: Ich wollte erreichen, dass eine Funktion zu den definierten cron Zeitpunkten nur aufgerufen wird, wenn die Variable hm-rega.0.30304 auf true steht. Nun habe ich aber im log gesehen, dass die Funktion zu den Zeitpunkten gestartet wird, obwohl ja der Wert der Variablen auf false stand.

                    Sehr merkwürdig

                    S Offline
                    S Offline
                    skorpil
                    schrieb am zuletzt editiert von skorpil
                    #18

                    @skorpil zur Sicherheit hier nochmal das komplette Sript:

                    // ##################################################################
                    //         Regen ermitteln und in Wetter Regen 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;  
                    
                    // wenn gefunden dann
                    if (regen + niesel + Regen + Niesel > 0) {
                        regen = true;
                        } else
                        {regen = false;}
                        log(regen);
                    
                    //Variable setzen
                    setState(idVariable, regen);
                     };
                    
                    
                    
                    //bei Skriptstart Cron Job starten
                    schedule('0 13 * * *', function () {
                    
                    if(getState('hm-rega.0.30304'/*Automower Daemon Modus*/).val = true) {
                        regen_ermitteln();
                    };
                    
                    });
                    
                    //bei Skriptstart: Start
                    //regen_ermitteln();
                    
                    
                    
                    paul53P 1 Antwort Letzte Antwort
                    0
                    • S skorpil

                      @skorpil zur Sicherheit hier nochmal das komplette Sript:

                      // ##################################################################
                      //         Regen ermitteln und in Wetter Regen 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;  
                      
                      // wenn gefunden dann
                      if (regen + niesel + Regen + Niesel > 0) {
                          regen = true;
                          } else
                          {regen = false;}
                          log(regen);
                      
                      //Variable setzen
                      setState(idVariable, regen);
                       };
                      
                      
                      
                      //bei Skriptstart Cron Job starten
                      schedule('0 13 * * *', function () {
                      
                      if(getState('hm-rega.0.30304'/*Automower Daemon Modus*/).val = true) {
                          regen_ermitteln();
                      };
                      
                      });
                      
                      //bei Skriptstart: Start
                      //regen_ermitteln();
                      
                      
                      
                      paul53P Offline
                      paul53P Offline
                      paul53
                      schrieb am zuletzt editiert von
                      #19

                      @skorpil sagte:

                      das komplette Sript:

                      Nur um 13:00 Uhr wird ermittelt, ob es regnet. In der Abfrage steht eine Zuweisung und kein Vergleich. Richtig:

                      schedule('0 13 * * *', function () {
                         if(getState('hm-rega.0.30304'/*Automower Daemon Modus*/).val == true) regen_ermitteln();
                      });
                      

                      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 1 Antwort Letzte Antwort
                      1
                      • paul53P paul53

                        @skorpil sagte:

                        das komplette Sript:

                        Nur um 13:00 Uhr wird ermittelt, ob es regnet. In der Abfrage steht eine Zuweisung und kein Vergleich. Richtig:

                        schedule('0 13 * * *', function () {
                           if(getState('hm-rega.0.30304'/*Automower Daemon Modus*/).val == true) regen_ermitteln();
                        });
                        
                        S Offline
                        S Offline
                        skorpil
                        schrieb am zuletzt editiert von
                        #20

                        @paul53 ahhhh, okay. Wiederum vielen mitternächtlichen Dank.

                        JavaScript hat es in sich. Ich bin froh, dass es gut Lehrer gibt.

                        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

                        725

                        Online

                        32.6k

                        Benutzer

                        82.1k

                        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