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] Alle X Min. einen Datenpunkt von false auf true

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    691

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

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

[Gelöst] Alle X Min. einen Datenpunkt von false auf true

Scheduled Pinned Locked Moved JavaScript
8 Posts 4 Posters 552 Views 3 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.
  • H Offline
    H Offline
    hagst
    wrote on last edited by hagst
    #1

    Hallo,

    ich habe einen Datenpunkt, den ich alle x Minuten von false wieder auf true setzen möchte.

    Wie kann ich das mit js anstellen? Irgendwie versteh ich mal wieder gar nix. Hat vielleicht jemand das Schnipsel für mich?

    ham.0.Micro.Switch.On false soll dann auf true gesetzt werden.

    O VumerV 2 Replies Last reply
    0
    • H hagst

      Hallo,

      ich habe einen Datenpunkt, den ich alle x Minuten von false wieder auf true setzen möchte.

      Wie kann ich das mit js anstellen? Irgendwie versteh ich mal wieder gar nix. Hat vielleicht jemand das Schnipsel für mich?

      ham.0.Micro.Switch.On false soll dann auf true gesetzt werden.

      O Away
      O Away
      oFbEQnpoLKKl6mbY5e13
      wrote on last edited by oFbEQnpoLKKl6mbY5e13
      #2

      @hagst

      schedule("*/3 * * * *", async function () {
        setState("ham.0.Micro.Switch.On"/*On*/, true);
      });
      
      H 2 Replies Last reply
      0
      • H hagst

        Hallo,

        ich habe einen Datenpunkt, den ich alle x Minuten von false wieder auf true setzen möchte.

        Wie kann ich das mit js anstellen? Irgendwie versteh ich mal wieder gar nix. Hat vielleicht jemand das Schnipsel für mich?

        ham.0.Micro.Switch.On false soll dann auf true gesetzt werden.

        VumerV Offline
        VumerV Offline
        Vumer
        wrote on last edited by
        #3

        @hagst
        9f015dae-f856-46d3-bfa1-c6fe277daeba-grafik.png

        1 Reply Last reply
        0
        • O oFbEQnpoLKKl6mbY5e13

          @hagst

          schedule("*/3 * * * *", async function () {
            setState("ham.0.Micro.Switch.On"/*On*/, true);
          });
          
          H Offline
          H Offline
          hagst
          wrote on last edited by
          #4

          @ofbeqnpolkkl6mby5e13

          Vielen herzlichen Dank, genau das habe ich gebraucht.

          1 Reply Last reply
          1
          • O oFbEQnpoLKKl6mbY5e13

            @hagst

            schedule("*/3 * * * *", async function () {
              setState("ham.0.Micro.Switch.On"/*On*/, true);
            });
            
            H Offline
            H Offline
            hagst
            wrote on last edited by hagst
            #5

            @ofbeqnpolkkl6mby5e13
            Eine Frage habe ich noch. Wenn der Datenpunkt auf true gesetzt wurde, und ein anderer Datenpunkt einen Wert von z.B. 500 oder mehr weniger anzeigt, dass dann der Datenpunkt welcher vorher auf true gesetzt worden ist, sofort wieder auf false gesetzt wird?

            Z.B.
            ham.0.Micro.Switch.On wird geändert auf true.
            30 Sekunden warten
            0_userdata.ANALOG_A0 gibt einen Wert von z.B. 500 oder weniger aus
            ham.0.Micro.Switch.On wird wieder auf false gesetzt, wenn der Wert 500 oder weniger anzeigt. Bei über 500 soll alles so bleiben wie es ist.

            Die 30 Sekunden Wartezeit sind nötig, weil mit ham.0.Micro.Switch.On ein Sensor / Wemos D1 Mini gestartet wird und bis der hochgefahren und im Netz ist, dauert es etwas.

            Geht sowas?

            paul53P 1 Reply Last reply
            0
            • H hagst

              @ofbeqnpolkkl6mby5e13
              Eine Frage habe ich noch. Wenn der Datenpunkt auf true gesetzt wurde, und ein anderer Datenpunkt einen Wert von z.B. 500 oder mehr weniger anzeigt, dass dann der Datenpunkt welcher vorher auf true gesetzt worden ist, sofort wieder auf false gesetzt wird?

              Z.B.
              ham.0.Micro.Switch.On wird geändert auf true.
              30 Sekunden warten
              0_userdata.ANALOG_A0 gibt einen Wert von z.B. 500 oder weniger aus
              ham.0.Micro.Switch.On wird wieder auf false gesetzt, wenn der Wert 500 oder weniger anzeigt. Bei über 500 soll alles so bleiben wie es ist.

              Die 30 Sekunden Wartezeit sind nötig, weil mit ham.0.Micro.Switch.On ein Sensor / Wemos D1 Mini gestartet wird und bis der hochgefahren und im Netz ist, dauert es etwas.

              Geht sowas?

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

              @hagst sagte: auf false gesetzt, wenn der Wert 500 oder weniger anzeigt.

              const idSwitch = 'ham.0.Micro.Switch.On';
              const idAnalog = '0_userdata.ANALOG_A0';
              
              var anlauf = null;
              
              schedule('*/2 * * * *', function() { // alle 2 Minuten
                  if(!getState(idSwitch).val) {
                      setState(idSwitch, true);
                      anlauf = setTimeout(function() {
                          anlauf = null;
                      }, 30000); // 30 s
                  }
              });
              
              on(idAnalog, function(dp) {
                  if(!anlauf && dp.state.val <= 500) {
                       setState(idSwitch, 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

              H 2 Replies Last reply
              0
              • paul53P paul53

                @hagst sagte: auf false gesetzt, wenn der Wert 500 oder weniger anzeigt.

                const idSwitch = 'ham.0.Micro.Switch.On';
                const idAnalog = '0_userdata.ANALOG_A0';
                
                var anlauf = null;
                
                schedule('*/2 * * * *', function() { // alle 2 Minuten
                    if(!getState(idSwitch).val) {
                        setState(idSwitch, true);
                        anlauf = setTimeout(function() {
                            anlauf = null;
                        }, 30000); // 30 s
                    }
                });
                
                on(idAnalog, function(dp) {
                    if(!anlauf && dp.state.val <= 500) {
                         setState(idSwitch, false);
                    }
                });
                
                H Offline
                H Offline
                hagst
                wrote on last edited by hagst
                #7

                @paul53
                Vielen Dank Paul!

                Ich habe hier etwas an den Datenpunkten geändert und in Deinem Script angepasst:

                const idSwitch = 'ham.0.Micro-.Switch.On';
                const idAnalog = 'sonoff.0.Regensensor.ANALOG_A0';
                 
                var anlauf = null;
                 
                schedule('*/2 * * * *', function() { // alle 2 Minuten
                    if(!getState(idSwitch).val) {
                        setState(idSwitch, true);
                        anlauf = setTimeout(function() {
                            anlauf = null;
                        }, 30000); // 30 s
                    }
                });
                 
                on(idAnalog, function(dp) {
                    if(!anlauf && dp.state.val <= 100) {
                         setState(idSwitch, false);
                    }
                });
                

                Ich habe das Script gestartet, der Wert von ham.0.Micro.Switch.On wird auf true gesetzt, aber sofort wieder auf false, obwohl der Wert in 0_userdata.ANALOG_A0 bei 185 liegt. ham.0.Micro.Switch.On sollte aber jetzt true bleiben.

                ham1.png

                ham2.png

                1 Reply Last reply
                0
                • paul53P paul53

                  @hagst sagte: auf false gesetzt, wenn der Wert 500 oder weniger anzeigt.

                  const idSwitch = 'ham.0.Micro.Switch.On';
                  const idAnalog = '0_userdata.ANALOG_A0';
                  
                  var anlauf = null;
                  
                  schedule('*/2 * * * *', function() { // alle 2 Minuten
                      if(!getState(idSwitch).val) {
                          setState(idSwitch, true);
                          anlauf = setTimeout(function() {
                              anlauf = null;
                          }, 30000); // 30 s
                      }
                  });
                  
                  on(idAnalog, function(dp) {
                      if(!anlauf && dp.state.val <= 500) {
                           setState(idSwitch, false);
                      }
                  });
                  
                  H Offline
                  H Offline
                  hagst
                  wrote on last edited by
                  #8

                  @paul53

                  Den letzten Beitrag von mir kannst Du komplett vergessen. Auf der Hardware-Seite wurde der Sensor automatisch sofort wieder ausgeschaltet. Dein Script arbeitet so wie gewünscht! Vielen vielen Dank Paul!

                  1 Reply Last reply
                  0

                  Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                  Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                  With your input, this post could be even better 💗

                  Register Login
                  Reply
                  • Reply as topic
                  Log in to reply
                  • Oldest to Newest
                  • Newest to Oldest
                  • Most Votes


                  Support us

                  ioBroker
                  Community Adapters
                  Donate

                  231

                  Online

                  32.7k

                  Users

                  82.6k

                  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