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 Offline
    S Offline
    skorpil
    schrieb am zuletzt editiert von
    #9

    0EB59A94-7703-4DA2-AADF-F3AEB5CED3A8.jpeg

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

                          792

                          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