Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Wert der Variable? Ich stehe auf dem Schlauch

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Wert der Variable? Ich stehe auf dem Schlauch

    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      skorpil last edited by

      hier ein Screenshot aus den Objekten. Der Wert ist "false".
      Unbenannt-2.jpg

      Wenn ich versuche, den Wert des Objektes auszulesen mittels Javascript wird im log aber
      Java.jpg

      "true" ausgegeben.

      Wo ist mein Denkfehler?

      OstfrieseUnterwegs 1 Reply Last reply Reply Quote 0
      • OstfrieseUnterwegs
        OstfrieseUnterwegs @skorpil last edited by OstfrieseUnterwegs

        @skorpil

        var dae = getState ('hm-rega.0.30304.STATE').val
        

        .STATE ist der Datenpunkt.

        EDIT: da hab ich Quatsch geschrieben. Siehe Paul53 unten.

        S paul53 2 Replies Last reply Reply Quote 0
        • S
          skorpil @OstfrieseUnterwegs last edited by

          @OstfrieseUnterwegs bin gerade auch unterwegs. Schaue ich mir nachher an und gebe Feedback. Danke!

          1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @OstfrieseUnterwegs last edited by

            @OstfrieseUnterwegs sagte:

            STATE ist der Datenpunkt.

            Nein, das ist eine Systemvariable.

            OstfrieseUnterwegs S 2 Replies Last reply Reply Quote 0
            • OstfrieseUnterwegs
              OstfrieseUnterwegs @paul53 last edited by

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

              Nein, das ist eine Systemvariable.

              Das ist natürlich richtig, da hab ich mich vertan.

              1 Reply Last reply Reply Quote 0
              • S
                skorpil @paul53 last edited by

                @paul53 stimmt. Der Vorschlag aus Ostfriesland hat nicht funktioniert. Aber warum klappt das dann nicht? Was mache ich falsch.

                paul53 1 Reply Last reply Reply Quote 0
                • paul53
                  paul53 @skorpil last edited by

                  @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 1 Reply Last reply Reply Quote 0
                  • S
                    skorpil @paul53 last edited by

                    @paul53 „false“ oder „inaktiv“

                    S paul53 2 Replies Last reply Reply Quote 0
                    • S
                      skorpil last edited by

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

                      1 Reply Last reply Reply Quote 0
                      • S
                        skorpil @skorpil last edited by

                        @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 Reply Last reply Reply Quote 0
                        • paul53
                          paul53 @skorpil last edited by

                          @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 3 Replies Last reply Reply Quote 1
                          • S
                            skorpil @paul53 last edited by

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

                            1 Reply Last reply Reply Quote 0
                            • S
                              skorpil @paul53 last edited by

                              @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!

                              paul53 1 Reply Last reply Reply Quote 0
                              • paul53
                                paul53 @skorpil last edited by

                                @skorpil sagte:

                                Es wird reagiert!

                                Dann ist doch alles in Ordnung.

                                S 1 Reply Last reply Reply Quote 0
                                • S
                                  skorpil @paul53 last edited by

                                  @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?

                                  paul53 1 Reply Last reply Reply Quote 0
                                  • paul53
                                    paul53 @skorpil last edited by

                                    @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.

                                    1 Reply Last reply Reply Quote 0
                                    • S
                                      skorpil @paul53 last edited by

                                      @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 Reply Last reply Reply Quote 0
                                      • S
                                        skorpil @skorpil last edited by 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();
                                        
                                        
                                        
                                        paul53 1 Reply Last reply Reply Quote 0
                                        • paul53
                                          paul53 @skorpil last edited by

                                          @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 1 Reply Last reply Reply Quote 1
                                          • S
                                            skorpil @paul53 last edited by

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

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

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            874
                                            Online

                                            32.0k
                                            Users

                                            80.5k
                                            Topics

                                            1.3m
                                            Posts

                                            javascript
                                            3
                                            20
                                            646
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo