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. Blockly
  5. [gelöst] Schaltzustand Verzögern

NEWS

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    5
    1
    109

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    8
    1
    152

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

[gelöst] Schaltzustand Verzögern

Scheduled Pinned Locked Moved Blockly
262 Posts 4 Posters 25.7k Views 2 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

    @Aphofis sagte:

    Ist es so richtig ?

    Nein, es fehlt ein Trigger, im Trigger wird der falsche Datenpunkt verwendet, Osmosefreigabe wird falsch initialisiert (setze Osmosefreigabe auf nicht Wert von Filter_Nivea_Max) ...
    Arbeite das Skript von oben bis unten ab.

    @Aphofis sagte in Schaltzustand Verzögern:

    was gehört in die Funktions Klammer ???

    Das ist die gleiche Funktion wie vorher, nur dass zusätzlich die Variable Osmosefreigabe per UND abgefragt wird und die Variable Schwimmer verwendet wird.

    Weshalb kopierst Du das Skript nicht einfach als Javascript ? Und testest es dann.

    AphofisA Offline
    AphofisA Offline
    Aphofis
    wrote on last edited by
    #34

    @paul53
    Ja mache ich zu Hause!

    1 Reply Last reply
    0
    • paul53P paul53

      @Aphofis sagte:

      Ist es so richtig ?

      Nein, es fehlt ein Trigger, im Trigger wird der falsche Datenpunkt verwendet, Osmosefreigabe wird falsch initialisiert (setze Osmosefreigabe auf nicht Wert von Filter_Nivea_Max) ...
      Arbeite das Skript von oben bis unten ab.

      @Aphofis sagte in Schaltzustand Verzögern:

      was gehört in die Funktions Klammer ???

      Das ist die gleiche Funktion wie vorher, nur dass zusätzlich die Variable Osmosefreigabe per UND abgefragt wird und die Variable Schwimmer verwendet wird.

      Weshalb kopierst Du das Skript nicht einfach als Javascript ? Und testest es dann.

      AphofisA Offline
      AphofisA Offline
      Aphofis
      wrote on last edited by
      #35

      @paul53
      So langsam blicke ich nicht mehr durch !!!
      Ist es so richtig?

      Bildschirmfoto 2019-09-30 um 20.17.12.png

      var Osmosefreigabe, Restzeit, Magnetventil_Kontrolle, timeout_aus, timeout_ein, Intervall, Intervall;
      
      /**
       * Beschreibe diese Funktion …
       */
      function Magnetventil_ein() {
        if (Magnetventil_Kontrolle) {
          if (!Intervall && Restzeit > 0) {
            setState("sonoff.0.Aqua_Control.POWER1"/*Osmose_Magnetventil*/, true);
            Intervall = setInterval(function () {
              if (Restzeit > 0 && Magnetventil_Kontrolle) {
                Restzeit = (typeof Restzeit == 'number' ? Restzeit : 0) + -1;
              } else {
                setState("sonoff.0.Aqua_Control.POWER1"/*Osmose_Magnetventil*/, false);
                (function () {if (Intervall) {clearInterval(Intervall); Intervall = null;}})();
              }
            }, 2000);
          }
        } else if (getState("sonoff.0.Aqua_Control.POWER1").val) {
          setState("sonoff.0.Aqua_Control.POWER1"/*Osmose_Magnetventil*/, false);
        }
      }
      
      
      Osmosefreigabe = getState("sonoff.0.Aqua_Float.POWER4").val;
      Restzeit = 150;
      Magnetventil_Kontrolle = null;
      
      on({id: 'sonoff.0.Aqua_Float.POWER1', change: "ne", ack: false}, function (obj) {
        var value = obj.state.val;
        var oldValue = obj.oldState.val;
        if ((obj.state ? obj.state.val : "")) {
          timeout_aus = setTimeout(function () {
            Osmosefreigabe = false;
            setState("sonoff.0.Aqua_Control.POWER1"/*Osmose_Magnetventil*/, true);
            setState("sonoff.0.Aqua_Power.POWER3"/*Aqua_Power_Skimmer*/, true);
          }, 5000);
          (function () {if (timeout_ein) {clearTimeout(timeout_ein); timeout_ein = null;}})();
        } else {
          timeout_ein = setTimeout(function () {
            Osmosefreigabe = true;
            if (getState("sonoff.0.Aqua_Float.POWER1").val) {
              Magnetventil_ein();
            }
          }, 10000);
          (function () {if (timeout_aus) {clearTimeout(timeout_aus); timeout_aus = null;}})();
          setState("sonoff.0.Aqua_Power.POWER3"/*Aqua_Power_Skimmer*/, true);
        }
      });
      schedule("0 0 * * *", function () {
        Restzeit = 150;
        if (getState("sonoff.0.Aqua_Float.POWER1").val) {
          Magnetventil_ein();
        }
      });
      Magnetventil_ein();
      
      paul53P 1 Reply Last reply
      0
      • AphofisA Aphofis

        @paul53
        So langsam blicke ich nicht mehr durch !!!
        Ist es so richtig?

        Bildschirmfoto 2019-09-30 um 20.17.12.png

        var Osmosefreigabe, Restzeit, Magnetventil_Kontrolle, timeout_aus, timeout_ein, Intervall, Intervall;
        
        /**
         * Beschreibe diese Funktion …
         */
        function Magnetventil_ein() {
          if (Magnetventil_Kontrolle) {
            if (!Intervall && Restzeit > 0) {
              setState("sonoff.0.Aqua_Control.POWER1"/*Osmose_Magnetventil*/, true);
              Intervall = setInterval(function () {
                if (Restzeit > 0 && Magnetventil_Kontrolle) {
                  Restzeit = (typeof Restzeit == 'number' ? Restzeit : 0) + -1;
                } else {
                  setState("sonoff.0.Aqua_Control.POWER1"/*Osmose_Magnetventil*/, false);
                  (function () {if (Intervall) {clearInterval(Intervall); Intervall = null;}})();
                }
              }, 2000);
            }
          } else if (getState("sonoff.0.Aqua_Control.POWER1").val) {
            setState("sonoff.0.Aqua_Control.POWER1"/*Osmose_Magnetventil*/, false);
          }
        }
        
        
        Osmosefreigabe = getState("sonoff.0.Aqua_Float.POWER4").val;
        Restzeit = 150;
        Magnetventil_Kontrolle = null;
        
        on({id: 'sonoff.0.Aqua_Float.POWER1', change: "ne", ack: false}, function (obj) {
          var value = obj.state.val;
          var oldValue = obj.oldState.val;
          if ((obj.state ? obj.state.val : "")) {
            timeout_aus = setTimeout(function () {
              Osmosefreigabe = false;
              setState("sonoff.0.Aqua_Control.POWER1"/*Osmose_Magnetventil*/, true);
              setState("sonoff.0.Aqua_Power.POWER3"/*Aqua_Power_Skimmer*/, true);
            }, 5000);
            (function () {if (timeout_ein) {clearTimeout(timeout_ein); timeout_ein = null;}})();
          } else {
            timeout_ein = setTimeout(function () {
              Osmosefreigabe = true;
              if (getState("sonoff.0.Aqua_Float.POWER1").val) {
                Magnetventil_ein();
              }
            }, 10000);
            (function () {if (timeout_aus) {clearTimeout(timeout_aus); timeout_aus = null;}})();
            setState("sonoff.0.Aqua_Power.POWER3"/*Aqua_Power_Skimmer*/, true);
          }
        });
        schedule("0 0 * * *", function () {
          Restzeit = 150;
          if (getState("sonoff.0.Aqua_Float.POWER1").val) {
            Magnetventil_ein();
          }
        });
        Magnetventil_ein();
        
        paul53P Offline
        paul53P Offline
        paul53
        wrote on last edited by
        #36

        @Aphofis sagte:

        Ist es so richtig?

        Nein. Weshalb verzichtest Du nicht auf Blockly und kopierst das komplette Skript als Javascript-Code ?

        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

        AphofisA 1 Reply Last reply
        0
        • paul53P paul53

          @Aphofis sagte:

          Ist es so richtig?

          Nein. Weshalb verzichtest Du nicht auf Blockly und kopierst das komplette Skript als Javascript-Code ?

          AphofisA Offline
          AphofisA Offline
          Aphofis
          wrote on last edited by Aphofis
          #37

          @paul53
          Wie soll ich denn dann Telegram einfügen oder was verstehen !? JavaScript ist nix für mich !
          Stimmen im JS denn die Datenpunkte !?

          1 Reply Last reply
          0
          • AphofisA Offline
            AphofisA Offline
            Aphofis
            wrote on last edited by
            #38

            Icch würde das JS ja gerne selbst zu einem Blockly machen aber das ist mir noch zu unverständlich aus dem Text die Bausteine zu machen.

            1 Reply Last reply
            0
            • AphofisA Offline
              AphofisA Offline
              Aphofis
              wrote on last edited by Aphofis
              #39

              gibt es nihct einen Compiler oder Converter der aus JS Blockly Code erstellt den man in Blockly importieren kann !?
              Anhang:
              Osmose dosiert und wenn der Schwimmer false ist stoppt das Magnetventil sofort.
              So wie es soll!
              Nur in Blockly wäre es mir lieber !

              paul53P 1 Reply Last reply
              0
              • AphofisA Aphofis

                gibt es nihct einen Compiler oder Converter der aus JS Blockly Code erstellt den man in Blockly importieren kann !?
                Anhang:
                Osmose dosiert und wenn der Schwimmer false ist stoppt das Magnetventil sofort.
                So wie es soll!
                Nur in Blockly wäre es mir lieber !

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

                @Aphofis sagte:

                gibt es nihct einen Compiler oder Converter der aus JS Blockly Code erstellt den man in Blockly importieren kann !?

                Ist mir nicht bekannt.

                @Aphofis sagte in Schaltzustand Verzögern:

                Nur in Blockly wäre es mir lieber !

                Ist mir aber zu umständlich.

                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

                AphofisA 2 Replies Last reply
                0
                • paul53P paul53

                  @Aphofis sagte:

                  gibt es nihct einen Compiler oder Converter der aus JS Blockly Code erstellt den man in Blockly importieren kann !?

                  Ist mir nicht bekannt.

                  @Aphofis sagte in Schaltzustand Verzögern:

                  Nur in Blockly wäre es mir lieber !

                  Ist mir aber zu umständlich.

                  AphofisA Offline
                  AphofisA Offline
                  Aphofis
                  wrote on last edited by
                  #41

                  @paul53
                  Das habe ich mir schon gedacht!
                  wenn ich wüsste was alle blöcke sind, wäre es mir auch einfach alles abzuleiten.
                  zb const wäre dann eine Variable aber das muss ich dann erstmal lernen was was ist.

                  1 Reply Last reply
                  0
                  • paul53P paul53

                    @Aphofis sagte:

                    gibt es nihct einen Compiler oder Converter der aus JS Blockly Code erstellt den man in Blockly importieren kann !?

                    Ist mir nicht bekannt.

                    @Aphofis sagte in Schaltzustand Verzögern:

                    Nur in Blockly wäre es mir lieber !

                    Ist mir aber zu umständlich.

                    AphofisA Offline
                    AphofisA Offline
                    Aphofis
                    wrote on last edited by
                    #42

                    @paul53 sagte in Schaltzustand Verzögern:

                    @Aphofis sagte:

                    gibt es nihct einen Compiler oder Converter der aus JS Blockly Code erstellt den man in Blockly importieren kann !?

                    Ist mir nicht bekannt.

                    @Aphofis sagte in Schaltzustand Verzögern:

                    Nur in Blockly wäre es mir lieber !

                    Ist mir aber zu umständlich.

                    Schade

                    1 Reply Last reply
                    0
                    • AphofisA Offline
                      AphofisA Offline
                      Aphofis
                      wrote on last edited by Aphofis
                      #43

                      Mein Beruf, erlaubt es mir auch leider nicht mehr Zeit zu haben um das ein oder andere zu lernen.
                      Ich komme ja nicht mal mit Ableton Live weiter zu lernen.
                      Es laufen einfach zu viele Projekte nebenbei!
                      Zeit ist leider knapp bemessen und verfügbar!
                      Deshalb erfreue ich mich ja wenn mir hier im Forum geholfen wird und du hast mir da nicht nur unter die Arme gegriffen sondern einen kompletten Satz krücken gebaut!!!! Was ich dir an Zeitaufwand auch sehr hoch anrechne. Klar kannst du dir nix dafür kaufen! Doch vllt dran erfreuen wenn eine Steuerung funktioniert.

                      1 Reply Last reply
                      0
                      • AphofisA Offline
                        AphofisA Offline
                        Aphofis
                        wrote on last edited by
                        #44

                        @paul53
                        Wenn Filter Max Schwimmer tatsächlich mal true sein sollte, gibt es dann eine telegram nachricht das Osmose und Skimmer abgeschaltet wurden !?

                        paul53P 1 Reply Last reply
                        0
                        • AphofisA Aphofis

                          @paul53
                          Wenn Filter Max Schwimmer tatsächlich mal true sein sollte, gibt es dann eine telegram nachricht das Osmose und Skimmer abgeschaltet wurden !?

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

                          @Aphofis sagte:

                          gibt es dann eine telegram nachricht

                          Ja, das ist der unterste Teil im Skript (Zeilen 69 - 77).

                          on({id: 'sonoff.0.Aqua_Power.POWER3', change: "ne"}, function (obj) {
                            var txt;  
                            if (obj.state.val) txt = text_ein;   
                            else txt = text_aus;   
                            sendTo("telegram.0", "send", {
                              text: txt
                            });
                            log(txt);
                          });
                          

                          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

                          AphofisA 1 Reply Last reply
                          0
                          • paul53P paul53

                            @Aphofis sagte:

                            gibt es dann eine telegram nachricht

                            Ja, das ist der unterste Teil im Skript (Zeilen 69 - 77).

                            on({id: 'sonoff.0.Aqua_Power.POWER3', change: "ne"}, function (obj) {
                              var txt;  
                              if (obj.state.val) txt = text_ein;   
                              else txt = text_aus;   
                              sendTo("telegram.0", "send", {
                                text: txt
                              });
                              log(txt);
                            });
                            
                            AphofisA Offline
                            AphofisA Offline
                            Aphofis
                            wrote on last edited by
                            #46

                            @paul53
                            OK und nach einem Pi Neustart bleibt die restzeit verfügbar was am Tag dosiert werden darf !?

                            paul53P 1 Reply Last reply
                            0
                            • AphofisA Aphofis

                              @paul53
                              OK und nach einem Pi Neustart bleibt die restzeit verfügbar was am Tag dosiert werden darf !?

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

                              @Aphofis sagte:

                              nach einem Pi Neustart bleibt die restzeit verfügbar was am Tag dosiert werden darf !?

                              Ja, dafür sorgen die Zeilen 16 und 29.

                              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

                              AphofisA 1 Reply Last reply
                              0
                              • paul53P paul53

                                @Aphofis sagte:

                                nach einem Pi Neustart bleibt die restzeit verfügbar was am Tag dosiert werden darf !?

                                Ja, dafür sorgen die Zeilen 16 und 29.

                                AphofisA Offline
                                AphofisA Offline
                                Aphofis
                                wrote on last edited by
                                #48

                                @paul53
                                OK
                                Die Steuerung läuft jetzt! Ich werde dann berichten ob alles tadellos läuft und auch keine zu viel dosierungen mehr vorkommen.
                                Zumindest hoffe ich es! Wenn Osmose Schwimmer false ist sollte zumindet nix mehr laufen.
                                Als ich das JS gestartet hatte, ist die Osmose auch los gelaufen da ca. 2 Liter fehlten.
                                Hatte Heute gegen Mittag die Osmose Steuerung per VPN deaktiviert da ich nicht wieder eine Überrasschung haben wollte.
                                Osmose hat mit der JS Steuerung 3 mal dosiert jetzt ist momentan Ruhe und Schwimmer ist false und Magnet Ventil auch also alles wie es soll.
                                Wenn Filter Max von True in false wechselt wann wird der Skimmer wieder eingeschaltet ?

                                paul53P 1 Reply Last reply
                                0
                                • AphofisA Aphofis

                                  @paul53
                                  OK
                                  Die Steuerung läuft jetzt! Ich werde dann berichten ob alles tadellos läuft und auch keine zu viel dosierungen mehr vorkommen.
                                  Zumindest hoffe ich es! Wenn Osmose Schwimmer false ist sollte zumindet nix mehr laufen.
                                  Als ich das JS gestartet hatte, ist die Osmose auch los gelaufen da ca. 2 Liter fehlten.
                                  Hatte Heute gegen Mittag die Osmose Steuerung per VPN deaktiviert da ich nicht wieder eine Überrasschung haben wollte.
                                  Osmose hat mit der JS Steuerung 3 mal dosiert jetzt ist momentan Ruhe und Schwimmer ist false und Magnet Ventil auch also alles wie es soll.
                                  Wenn Filter Max von True in false wechselt wann wird der Skimmer wieder eingeschaltet ?

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

                                  @Aphofis sagte:

                                  Wenn Filter Max von True in false wechselt wann wird der Skimmer wieder eingeschaltet ?

                                  Ja, mit 10 s Verzögerung gegenüber Magnetventil: Zeile 60.
                                  Also insgesamt 20 s Verzögerung, nachdem Filter Max von true in false wechselt.

                                  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

                                  AphofisA 1 Reply Last reply
                                  0
                                  • paul53P paul53

                                    @Aphofis sagte:

                                    Wenn Filter Max von True in false wechselt wann wird der Skimmer wieder eingeschaltet ?

                                    Ja, mit 10 s Verzögerung gegenüber Magnetventil: Zeile 60.
                                    Also insgesamt 20 s Verzögerung, nachdem Filter Max von true in false wechselt.

                                    AphofisA Offline
                                    AphofisA Offline
                                    Aphofis
                                    wrote on last edited by Aphofis
                                    #50

                                    @paul53 OK Prima!
                                    Dafür das bei mir ein JS jetzt die Osmose und Filter MAx übernommen hat, muss ich dir nun Löcher in Bauch fragen!!! Ich hoffe das ist OK

                                    paul53P 1 Reply Last reply
                                    0
                                    • AphofisA Aphofis

                                      @paul53 OK Prima!
                                      Dafür das bei mir ein JS jetzt die Osmose und Filter MAx übernommen hat, muss ich dir nun Löcher in Bauch fragen!!! Ich hoffe das ist OK

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

                                      @Aphofis sagte:

                                      Ich hoffe das ist OK

                                      Ja, besser als ein Blockly, bei dem Du dann noch die richtigen Datenpunkt-IDs zuordnen müsstest.

                                      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

                                      AphofisA 1 Reply Last reply
                                      0
                                      • paul53P paul53

                                        @Aphofis sagte:

                                        Ich hoffe das ist OK

                                        Ja, besser als ein Blockly, bei dem Du dann noch die richtigen Datenpunkt-IDs zuordnen müsstest.

                                        AphofisA Offline
                                        AphofisA Offline
                                        Aphofis
                                        wrote on last edited by
                                        #52

                                        @paul53 Punkt für Dich !!! 😊

                                        1 Reply Last reply
                                        0
                                        • AphofisA Offline
                                          AphofisA Offline
                                          Aphofis
                                          wrote on last edited by
                                          #53

                                          @paul53
                                          Jetzt gerade wurde wieder zu viel dosiert
                                          Wie kommt sowas ?

                                          E453A3D9-DE9F-458D-B9C2-B1CB26221496.jpeg

                                          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

                                          499

                                          Online

                                          32.8k

                                          Users

                                          82.7k

                                          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