Skip to content
  • Home
  • 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
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. [gelöst] Manchmal geht es, manchmal nicht???

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    17
    1
    483

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

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

[gelöst] Manchmal geht es, manchmal nicht???

Scheduled Pinned Locked Moved JavaScript
javascript
25 Posts 2 Posters 1.2k Views 1 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.
  • paul53P paul53

    @skorpil

    on(idBM, function(dp) {
    

    triggert nur bei Wertänderung.

    on({id: idBM, val: false}, function (data) {
    

    triggert bei jeder Zustandsänderung (Änderung Zeitstempel genügt), wenn der Wert false ist.

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

    @paul53

    Ich habe noch weitere Ereignisse/ Programmteile, die ich über den gleichen Trigger (Bewegungsmelder) im gleichen Zeitraum hintereinander auslösen möchte.

    Ist es klug, diese ganzen Teile in ein Programm zu packen (unübersichtlich!) ? Oder ist es sinnvoller, neue Programme mit dem gleichen Trigger zu schreiben (funktioniert das) ?

    paul53P 1 Reply Last reply
    0
    • S skorpil

      @paul53

      Ich habe noch weitere Ereignisse/ Programmteile, die ich über den gleichen Trigger (Bewegungsmelder) im gleichen Zeitraum hintereinander auslösen möchte.

      Ist es klug, diese ganzen Teile in ein Programm zu packen (unübersichtlich!) ? Oder ist es sinnvoller, neue Programme mit dem gleichen Trigger zu schreiben (funktioniert das) ?

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

      @skorpil sagte:

      Ist es klug, diese ganzen Teile in ein Programm zu packen

      Vom Ressourcen-Verbrauch her gesehen: Ja.

      @skorpil sagte in [gelöst] Manchmal geht es, manchmal nicht???:

      neue Programme mit dem gleichen Trigger zu schreiben (funktioniert das) ?

      Ja, das funktioniert, wenn man die Übersicht über mehrere Skripte behält.

      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 Reply Last reply
      1
      • paul53P paul53

        @skorpil sagte:

        Ist es klug, diese ganzen Teile in ein Programm zu packen

        Vom Ressourcen-Verbrauch her gesehen: Ja.

        @skorpil sagte in [gelöst] Manchmal geht es, manchmal nicht???:

        neue Programme mit dem gleichen Trigger zu schreiben (funktioniert das) ?

        Ja, das funktioniert, wenn man die Übersicht über mehrere Skripte behält.

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

        @paul53 Empfehlung? Wie würdest Du es machen?

        paul53P 1 Reply Last reply
        0
        • S skorpil

          @paul53 Empfehlung? Wie würdest Du es machen?

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

          @skorpil sagte:

          Wie würdest Du es machen?

          Ich würde es in ein Skript packen.

          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 Reply Last reply
          1
          • S Offline
            S Offline
            skorpil
            wrote on last edited by
            #17

            @paul53

            ich schon wieder... Folgende Frage:

            ich habe einen Datenpunkt, Typ String aus openweathermap

            var idWindGeschw = 'openweathermap.0.forecast.current.windSpeed'/*Forecast for wind speed*/;
            var idWindGeschwWert = idWindGeschw.state;
            

            Ich möchte in der Variablen"idWindGeschwWert " den INHALT des Datenpunktes, also den Wert, zuweisen. Und daran scheitere ich immer wieder. Weder mit ".state" noch mit ".val" noch mit ".state.val" bekomme ich das gewünschte Ergebnis. Ich produziere Fehlermeldungen.

            Was mache ich falsch? Das Problem habe ich quasi immer wieder. Ich begreife einfach nicht, wie ich der Variablen "idWindGeschwWert "den Inhalt/ Wert zuweise. Bitte um Erklärung.

            Dankeschön.

            paul53P 1 Reply Last reply
            0
            • S skorpil

              @paul53

              ich schon wieder... Folgende Frage:

              ich habe einen Datenpunkt, Typ String aus openweathermap

              var idWindGeschw = 'openweathermap.0.forecast.current.windSpeed'/*Forecast for wind speed*/;
              var idWindGeschwWert = idWindGeschw.state;
              

              Ich möchte in der Variablen"idWindGeschwWert " den INHALT des Datenpunktes, also den Wert, zuweisen. Und daran scheitere ich immer wieder. Weder mit ".state" noch mit ".val" noch mit ".state.val" bekomme ich das gewünschte Ergebnis. Ich produziere Fehlermeldungen.

              Was mache ich falsch? Das Problem habe ich quasi immer wieder. Ich begreife einfach nicht, wie ich der Variablen "idWindGeschwWert "den Inhalt/ Wert zuweise. Bitte um Erklärung.

              Dankeschön.

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

              @skorpil sagte:

              wie ich der Variablen "idWindGeschwWert "den Inhalt/ Wert zuweise.

              getState(id).val

              const idWindGeschw = 'openweathermap.0.forecast.current.windSpeed'/*Forecast for wind speed*/;
              var WindGeschwWert = getState(idWindGeschw).val; // Initialisierung bei Script start
              
              on(idWindGeschw, function(dp) { // triggert bei Wertänderung
                 WindGeschwWert = dp.state.val;
                 // Auswertung der Variablen
              });
              

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

                @skorpil sagte:

                wie ich der Variablen "idWindGeschwWert "den Inhalt/ Wert zuweise.

                getState(id).val

                const idWindGeschw = 'openweathermap.0.forecast.current.windSpeed'/*Forecast for wind speed*/;
                var WindGeschwWert = getState(idWindGeschw).val; // Initialisierung bei Script start
                
                on(idWindGeschw, function(dp) { // triggert bei Wertänderung
                   WindGeschwWert = dp.state.val;
                   // Auswertung der Variablen
                });
                
                S Offline
                S Offline
                skorpil
                wrote on last edited by
                #19

                @paul53

                Danke. getState. Klar Ich hätte es wissen müssen.

                1 Reply Last reply
                0
                • paul53P paul53

                  @skorpil sagte:

                  wie ich der Variablen "idWindGeschwWert "den Inhalt/ Wert zuweise.

                  getState(id).val

                  const idWindGeschw = 'openweathermap.0.forecast.current.windSpeed'/*Forecast for wind speed*/;
                  var WindGeschwWert = getState(idWindGeschw).val; // Initialisierung bei Script start
                  
                  on(idWindGeschw, function(dp) { // triggert bei Wertänderung
                     WindGeschwWert = dp.state.val;
                     // Auswertung der Variablen
                  });
                  
                  S Offline
                  S Offline
                  skorpil
                  wrote on last edited by
                  #20

                  @paul53

                  ...und nochmal ich...

                  In dem schon mehrfach diskutierten Skript habe ich mir timeouts eingebaut. Was ich erreichen will:

                  die drei Teile des Skripts sollen in einer bestimmten zeitlichen Reihenfolge ausgeführt werden:

                  on(idBM, function(dp) {
                     if(dp.state.val && compareTime('6:00', '10:00', 'between') && !aufstehen) {
                        aufstehen = true;
                      
                  
                      setTimeout(function() {
                  
                      // ************************************************
                      //  nach 12 Sekunden starten
                      // ************************************************
                  
                     Script  Teil 1
                  
                  
                     }, 12000);
                     // Ende timeout/ Verzögerung
                  
                  
                  setTimeout(function() {
                      // ************************************************
                      //  nach 45 Sekunden starten
                      // ************************************************
                  
                  Script  Teil 2
                  
                   }, 45000);
                     // Ende timeout für Start
                  
                  setTimeout(function() {
                      // ************************************************
                      // Befehl zum stop nach 45 Minuten
                      // ************************************************
                  
                  Script  Teil 3
                  
                  }, 2700000);
                  // Ende timeout für Stop
                  
                  
                     }
                     // Ende If
                     
                  });
                  

                  Der erste Teil nach 12 Sekunden, der zweite Teil des Skripts nach 45 Sekunden, der dritte Teil nach 45 Minuten.

                  Ich kann das ja wg. der On Anweisung immer nur einmal morgens testen. Und heute morgen mindestens klappte Teil 1 des Skripts nicht.

                  Ist das so richtig?
                  Oder sollte ich das besser in drei verschiedenen Skripten abbilden?

                  paul53P 1 Reply Last reply
                  0
                  • S skorpil

                    @paul53

                    ...und nochmal ich...

                    In dem schon mehrfach diskutierten Skript habe ich mir timeouts eingebaut. Was ich erreichen will:

                    die drei Teile des Skripts sollen in einer bestimmten zeitlichen Reihenfolge ausgeführt werden:

                    on(idBM, function(dp) {
                       if(dp.state.val && compareTime('6:00', '10:00', 'between') && !aufstehen) {
                          aufstehen = true;
                        
                    
                        setTimeout(function() {
                    
                        // ************************************************
                        //  nach 12 Sekunden starten
                        // ************************************************
                    
                       Script  Teil 1
                    
                    
                       }, 12000);
                       // Ende timeout/ Verzögerung
                    
                    
                    setTimeout(function() {
                        // ************************************************
                        //  nach 45 Sekunden starten
                        // ************************************************
                    
                    Script  Teil 2
                    
                     }, 45000);
                       // Ende timeout für Start
                    
                    setTimeout(function() {
                        // ************************************************
                        // Befehl zum stop nach 45 Minuten
                        // ************************************************
                    
                    Script  Teil 3
                    
                    }, 2700000);
                    // Ende timeout für Stop
                    
                    
                       }
                       // Ende If
                       
                    });
                    

                    Der erste Teil nach 12 Sekunden, der zweite Teil des Skripts nach 45 Sekunden, der dritte Teil nach 45 Minuten.

                    Ich kann das ja wg. der On Anweisung immer nur einmal morgens testen. Und heute morgen mindestens klappte Teil 1 des Skripts nicht.

                    Ist das so richtig?
                    Oder sollte ich das besser in drei verschiedenen Skripten abbilden?

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

                    @skorpil
                    Das Rücksetzen der Variable aufstehen ist vorhanden ?

                    schedule('0 3 * * *', function() {
                       aufstehen = false;
                    });
                    

                    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 Replies Last reply
                    0
                    • paul53P paul53

                      @skorpil
                      Das Rücksetzen der Variable aufstehen ist vorhanden ?

                      schedule('0 3 * * *', function() {
                         aufstehen = false;
                      });
                      
                      S Offline
                      S Offline
                      skorpil
                      wrote on last edited by
                      #22

                      @paul53 ja

                      1 Reply Last reply
                      0
                      • paul53P paul53

                        @skorpil
                        Das Rücksetzen der Variable aufstehen ist vorhanden ?

                        schedule('0 3 * * *', function() {
                           aufstehen = false;
                        });
                        
                        S Offline
                        S Offline
                        skorpil
                        wrote on last edited by
                        #23

                        @paul53

                        Nochmal zurück zu meiner Frage: ist das Skript von Grundsatz her so richtig?

                        paul53P 1 Reply Last reply
                        0
                        • S skorpil

                          @paul53

                          Nochmal zurück zu meiner Frage: ist das Skript von Grundsatz her so richtig?

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

                          @skorpil sagte:

                          ist das Skript von Grundsatz her so richtig?

                          Ja, zusammen mit dem Rücksetzen von aufstehen.

                          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 Reply Last reply
                          0
                          • paul53P paul53

                            @skorpil
                            Das Rücksetzen der Variable aufstehen ist vorhanden ?

                            schedule('0 3 * * *', function() {
                               aufstehen = false;
                            });
                            
                            S Offline
                            S Offline
                            skorpil
                            wrote on last edited by
                            #25

                            @paul53

                            Könntest Du Dir mal diese Fehlermeldung ansehen und mir sagen, was da falsch läuft?

                            Link Text

                            Ich verstehe diese Fehlermeldungen nicht.

                            Danke u. frohe Pfingsten

                            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

                            435

                            Online

                            32.7k

                            Users

                            82.5k

                            Topics

                            1.3m

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

                            • Don't have an account? Register

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