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

  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Wert der Variable? Ich stehe auf dem Schlauch

NEWS

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

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

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

Wert der Variable? Ich stehe auf dem Schlauch

Geplant Angeheftet Gesperrt Verschoben JavaScript
javascript
20 Beiträge 3 Kommentatoren 743 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.
  • paul53P paul53

    @skorpil sagte:

    Aber warum klappt das dann nicht?

    Vielleicht wird der Wert im Reiter "Objekte" nicht aktualisiert ? Welcher Wert muss es laut CCU sein ?

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

    @paul53 „false“ oder „inaktiv“

    S paul53P 2 Antworten Letzte Antwort
    0
    • 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

                            499

                            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