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

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    14
    1
    243

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    1.8k

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

Geplant Angeheftet Gesperrt Verschoben JavaScript
8 Beiträge 4 Kommentatoren 517 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.
  • H Offline
    H Offline
    hagst
    schrieb am zuletzt editiert von 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 Antworten Letzte Antwort
    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 Offline
      O Offline
      oFbEQnpoLKKl6mbY5e13
      schrieb am zuletzt editiert von oFbEQnpoLKKl6mbY5e13
      #2

      @hagst

      schedule("*/3 * * * *", async function () {
        setState("ham.0.Micro.Switch.On"/*On*/, true);
      });
      
      H 2 Antworten Letzte Antwort
      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
        schrieb am zuletzt editiert von
        #3

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

        1 Antwort Letzte Antwort
        0
        • O oFbEQnpoLKKl6mbY5e13

          @hagst

          schedule("*/3 * * * *", async function () {
            setState("ham.0.Micro.Switch.On"/*On*/, true);
          });
          
          H Offline
          H Offline
          hagst
          schrieb am zuletzt editiert von
          #4

          @ofbeqnpolkkl6mby5e13

          Vielen herzlichen Dank, genau das habe ich gebraucht.

          1 Antwort Letzte Antwort
          1
          • O oFbEQnpoLKKl6mbY5e13

            @hagst

            schedule("*/3 * * * *", async function () {
              setState("ham.0.Micro.Switch.On"/*On*/, true);
            });
            
            H Offline
            H Offline
            hagst
            schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
            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
              schrieb am zuletzt editiert von 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 Antworten Letzte Antwort
              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
                schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                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
                  schrieb am zuletzt editiert von
                  #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 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

                  902

                  Online

                  32.5k

                  Benutzer

                  81.9k

                  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