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. Blockly
  5. true Abfrage alle 2 Sek.

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    343

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.6k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.5k

true Abfrage alle 2 Sek.

Geplant Angeheftet Gesperrt Verschoben Blockly
87 Beiträge 7 Kommentatoren 7.6k 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.
  • AphofisA Aphofis

    @arteck
    Also:
    Ich versuche es zu erklären.
    Ich möchte das der Zustand true meines Schwimmers für die Osmose Anlage alle zb. 30 Sek. Geprüft wird damit ggf dann das Magnet Ventil Osmose Wasser pumpt. Damit falls warum auch immer es zu einem Netzwerk Abbruch kommt und das Magnet Ventil auf true stehen bleibt da der Schwimmer nicht mehr erreichbar ist weil beide auf getrennten ESP8266s mit Tasmota laufen.
    Darum will ich das nur Maximal 300 Sek. In einem 24 Std. Zyklus also von 0:00-23:59 laufen da ich nie mehr als 10 Liter Osmose Verbrauch am Tag habe und 1 ml entspricht 29,7 Millisekunden.
    Daraus ergeben sich dann aufgerundet 300 Sek.
    Da mein Technik Becken locker 30 Liter Wasser aufnehmen kann aber vor 3 Wochen war es so das 24 Liter Wasser kontinuierlich ins Technik Becken gepumpt wurden und der dünne Salzgehalt gefiel meinen Korallen überhaupt nicht.
    Durch die unnormalen Dosierungen und durch abnorme Wassermengen die falsch gezählt wurden. Hatte ich alle Schwimmer und alle 12 Volt Geräte vom Pi weg genommen und auf zwei ESP8266s verteilt da diese zuverlässig laufen.
    Trotz dessen möchte ich da eine Sicherheit einbauen das wenn Schwimmer true ist das auch wirklich Osmose ausgeglichen wird und bei definitiv false nichts passiert und das ganze nicht mehr als 300 Sek. Am Tag. Also im 24 Std. Zyklus und nachts soll dann der Zähler zurück gestellt werden.

    AsgothianA Offline
    AsgothianA Offline
    Asgothian
    Developer
    schrieb am zuletzt editiert von
    #16

    @Aphofis
    Auch in diesem Fall würde ich NICHT über "Polling" Methoden arbeiten, sondern die Statusänderung abfangen. Die Einzusetzende Methode wäre:

    • variable für die Restlaufzeit definieren
    • Trigger auf den Datenpunkt, vergleich Größer als vorher (Wechsel false auf true, triggerA), darin:, Startzeitpunkt merken, timeout starten der nach Ablauf der Restlaufzeit die Pumpe abschaltet und die Restlaufzeit auf 0 setzt, Pumpe anschalten
    • Trigger auf den Datenpunkt, vergleich Kleiner als vorher (Wechsel true auf false, triggerB), darin: An-Zeit der Pumpe berechnen, gelaufene Zeit von der Restlaufzeit abziehen, Timeout loeschen, Pumpe abschalten.
    • Schedule definieren - jeweils um Mitternacht: timeout löschen wenn er laeuft, Restlaufzeit auf 300 sek, pruefen ob Datenpunkt = true, wenn ja: Pumpe an, timeout mit Restlaufzeit wie oben.

    Gegebenenfalls musst du die beiden Trigger noch gegen prellen sichern. Wenn du mal nach "Sensoren entprellen" im Forum suchst dann solltest du etwas finden. Ob das Notwendig ist hängt davon ab in wie weit dein Schwimmer eine Schalthysterese besitzt.

    Ein regelmäßiges Pollen des Eingangs alle x Sekunden ist so unnötig. Du kannst das aber auch damit machen, wenn du eine Shedule definierst, die alle 30 Sekunden den Wert holt und die Prüfung die im Trigger oben gemacht wird manuell durchführt (letzter Wert false, aktueller Wert true => das was oben triggerA genannt ist ausführen, letzter Wert true, aktueller Wert false => das was oben triggerB genannt ist ausführen.

    Ich hoffe mit diesem "pseudocode" kommst du zu Recht. Wenn nicht koennen wir das heute Abend gerne gemeinsam in JS Code verwandeln.

    A.

    ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
    "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

    AphofisA 1 Antwort Letzte Antwort
    0
    • AsgothianA Asgothian

      @Aphofis
      Auch in diesem Fall würde ich NICHT über "Polling" Methoden arbeiten, sondern die Statusänderung abfangen. Die Einzusetzende Methode wäre:

      • variable für die Restlaufzeit definieren
      • Trigger auf den Datenpunkt, vergleich Größer als vorher (Wechsel false auf true, triggerA), darin:, Startzeitpunkt merken, timeout starten der nach Ablauf der Restlaufzeit die Pumpe abschaltet und die Restlaufzeit auf 0 setzt, Pumpe anschalten
      • Trigger auf den Datenpunkt, vergleich Kleiner als vorher (Wechsel true auf false, triggerB), darin: An-Zeit der Pumpe berechnen, gelaufene Zeit von der Restlaufzeit abziehen, Timeout loeschen, Pumpe abschalten.
      • Schedule definieren - jeweils um Mitternacht: timeout löschen wenn er laeuft, Restlaufzeit auf 300 sek, pruefen ob Datenpunkt = true, wenn ja: Pumpe an, timeout mit Restlaufzeit wie oben.

      Gegebenenfalls musst du die beiden Trigger noch gegen prellen sichern. Wenn du mal nach "Sensoren entprellen" im Forum suchst dann solltest du etwas finden. Ob das Notwendig ist hängt davon ab in wie weit dein Schwimmer eine Schalthysterese besitzt.

      Ein regelmäßiges Pollen des Eingangs alle x Sekunden ist so unnötig. Du kannst das aber auch damit machen, wenn du eine Shedule definierst, die alle 30 Sekunden den Wert holt und die Prüfung die im Trigger oben gemacht wird manuell durchführt (letzter Wert false, aktueller Wert true => das was oben triggerA genannt ist ausführen, letzter Wert true, aktueller Wert false => das was oben triggerB genannt ist ausführen.

      Ich hoffe mit diesem "pseudocode" kommst du zu Recht. Wenn nicht koennen wir das heute Abend gerne gemeinsam in JS Code verwandeln.

      A.

      AphofisA Offline
      AphofisA Offline
      Aphofis
      schrieb am zuletzt editiert von Aphofis
      #17

      @Asgothian
      Das schon mal ein Anfang!
      Ob ich das hinbekomme weiß ich noch nicht.
      Das muss ich sehen.
      Was meinst du mit gegen prellen!?
      Die Schwimmer sind jeder über einen 10 kOhm widerstand verdrahtet.
      Wenn du das meinst?

      AsgothianA 1 Antwort Letzte Antwort
      0
      • AphofisA Aphofis

        @Asgothian
        Das schon mal ein Anfang!
        Ob ich das hinbekomme weiß ich noch nicht.
        Das muss ich sehen.
        Was meinst du mit gegen prellen!?
        Die Schwimmer sind jeder über einen 10 kOhm widerstand verdrahtet.
        Wenn du das meinst?

        AsgothianA Offline
        AsgothianA Offline
        Asgothian
        Developer
        schrieb am zuletzt editiert von
        #18

        @Aphofis es geht darum zu verhindern das die Pumpe ständig an und aus geschaltet wird wenn der Schwimmer Nähe am Schaltpunkt ist.

        A.

        ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
        "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

        AphofisA 1 Antwort Letzte Antwort
        0
        • AsgothianA Asgothian

          @Aphofis es geht darum zu verhindern das die Pumpe ständig an und aus geschaltet wird wenn der Schwimmer Nähe am Schaltpunkt ist.

          A.

          AphofisA Offline
          AphofisA Offline
          Aphofis
          schrieb am zuletzt editiert von
          #19

          @Asgothian
          Mehr oder minder, Das soll natürlich auch nicht passieren das dass Magentventil zu frü und somit zu lange schaltet.
          und es soll geprüft werden ob wirklich true ist und Tasmota ESP definitiv alive ist und nicht mehr als 300 sek am tag gepumpt wird. sprich nicht mehr als um und bei 10 Liter.

          AsgothianA 1 Antwort Letzte Antwort
          0
          • AphofisA Aphofis

            @Asgothian
            Mehr oder minder, Das soll natürlich auch nicht passieren das dass Magentventil zu frü und somit zu lange schaltet.
            und es soll geprüft werden ob wirklich true ist und Tasmota ESP definitiv alive ist und nicht mehr als 300 sek am tag gepumpt wird. sprich nicht mehr als um und bei 10 Liter.

            AsgothianA Offline
            AsgothianA Offline
            Asgothian
            Developer
            schrieb am zuletzt editiert von
            #20

            @Aphofis
            Wie sicher gestellt werden kann das der Tasmota ESP aktiv ist hängt davon ab wie die Kommunikation dazu organisiert ist. Vielleicht macht es Sinn das per TS kurz durchzusprechen, dann kann das Script darauf auch reagieren, aber:

            • solange wie der Schalter angesteuert werden kann ist sichergestellt das er pro Tag max. 300 s an ist.
            • Lässt er sich nicht einschalten, dann bekommt das Script das aktuell nicht mit, ähnlich ist es wenn er sich nicht abschalten lässt.
            • Zu beantworten wäre die Frage was passieren soll wenn der ESP nicht erreichbar ist - in diesem Fall kann wenn ich das richtig erinnere nicht geschaltet werden (weder ein noch aus)

            A.

            ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
            "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

            AphofisA 1 Antwort Letzte Antwort
            0
            • AsgothianA Asgothian

              @Aphofis
              Wie sicher gestellt werden kann das der Tasmota ESP aktiv ist hängt davon ab wie die Kommunikation dazu organisiert ist. Vielleicht macht es Sinn das per TS kurz durchzusprechen, dann kann das Script darauf auch reagieren, aber:

              • solange wie der Schalter angesteuert werden kann ist sichergestellt das er pro Tag max. 300 s an ist.
              • Lässt er sich nicht einschalten, dann bekommt das Script das aktuell nicht mit, ähnlich ist es wenn er sich nicht abschalten lässt.
              • Zu beantworten wäre die Frage was passieren soll wenn der ESP nicht erreichbar ist - in diesem Fall kann wenn ich das richtig erinnere nicht geschaltet werden (weder ein noch aus)

              A.

              AphofisA Offline
              AphofisA Offline
              Aphofis
              schrieb am zuletzt editiert von
              #21

              @Asgothian
              also alive muss nicht unbedingt sein.
              Es langt ja völlig wenn einfach geprüft wird ob true oder false und nicht mehr als 300 sek am tag.

              AsgothianA 1 Antwort Letzte Antwort
              0
              • AphofisA Aphofis

                @Asgothian
                also alive muss nicht unbedingt sein.
                Es langt ja völlig wenn einfach geprüft wird ob true oder false und nicht mehr als 300 sek am tag.

                AsgothianA Offline
                AsgothianA Offline
                Asgothian
                Developer
                schrieb am zuletzt editiert von
                #22

                @Aphofis
                Das würde das in meinem Ablauf beschriebene Script durchaus leisten. (in beiden Varianten)

                ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                AphofisA 1 Antwort Letzte Antwort
                0
                • AsgothianA Asgothian

                  @Aphofis
                  Das würde das in meinem Ablauf beschriebene Script durchaus leisten. (in beiden Varianten)

                  AphofisA Offline
                  AphofisA Offline
                  Aphofis
                  schrieb am zuletzt editiert von
                  #23

                  @Asgothian
                  Das wäre ja was !? Ich habe mir den kram acuh aufgeschrieben, nur dann das ganze in Blockly umsetzen ist etwas kniffeliger.

                  AsgothianA 1 Antwort Letzte Antwort
                  0
                  • AphofisA Aphofis

                    @Asgothian
                    Das wäre ja was !? Ich habe mir den kram acuh aufgeschrieben, nur dann das ganze in Blockly umsetzen ist etwas kniffeliger.

                    AsgothianA Offline
                    AsgothianA Offline
                    Asgothian
                    Developer
                    schrieb am zuletzt editiert von
                    #24

                    @Aphofis Ich empfehle das nicht in Blockly zu tun.

                    Aktuell ist es anscheinend nicht möglich, den Timeout im Blockly durch eine Variable zu setzen. Ich kann Dir jetzt aber auch einen JS Script-stub schreiben, wo du nur die Namen der Datenpunkte anpassen musst.

                    A.

                    ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                    "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                    AphofisA 1 Antwort Letzte Antwort
                    0
                    • AsgothianA Asgothian

                      @Aphofis Ich empfehle das nicht in Blockly zu tun.

                      Aktuell ist es anscheinend nicht möglich, den Timeout im Blockly durch eine Variable zu setzen. Ich kann Dir jetzt aber auch einen JS Script-stub schreiben, wo du nur die Namen der Datenpunkte anpassen musst.

                      A.

                      AphofisA Offline
                      AphofisA Offline
                      Aphofis
                      schrieb am zuletzt editiert von
                      #25

                      @Asgothian
                      Kann man das script auch in blockly einbinden!? Damit ggf auch text nachrichten zb via telegram möglich sind !? Da pures Javascript komme ich null mit klar da was einzubauen. Klar Datenpunkte ändern bekomme ich hin.

                      AsgothianA 1 Antwort Letzte Antwort
                      0
                      • AphofisA Aphofis

                        @Asgothian
                        Kann man das script auch in blockly einbinden!? Damit ggf auch text nachrichten zb via telegram möglich sind !? Da pures Javascript komme ich null mit klar da was einzubauen. Klar Datenpunkte ändern bekomme ich hin.

                        AsgothianA Offline
                        AsgothianA Offline
                        Asgothian
                        Developer
                        schrieb am zuletzt editiert von Asgothian
                        #26

                        @Aphofis
                        Nicht ohne weiteres, aber es gibt da einen einfachen Trick: Bau dir die Aktionen die du haben willst als Blockly zusammen, und lass dir dann den JS code anzeigen. Den kannst du dann in das JS Script kopieren. Die relevanten Stellen hab ich im Script markiert

                        A.

                        var Restzeit, timeout, Nachricht, StartTime;
                        var Pump = "Pump Object ID"
                        var Schwimmer = 'Schwimmer Object ID'
                        
                        Restzeit = 300;
                        StartTime = -1;
                        function PumpOn()
                         {
                             if (timeout) { clearTimeout(timeout); timeout = null;};
                             timeout = setTimeout(function () {
                                StartTime = -1;
                               Restzeit = 0;
                                setState(Pump, false);
                        // Hier wird die Pumpe abgeschaltet wenn die Zeit abgelaufen ist.
                            }, Restzeit * 1000);
                        // Hier wird die Pumpe eingeschaltet.
                            setState(Pump, true);
                            StartTime = (new Date().getSeconds())
                        }
                        
                        on({id: Schwimmer, change: "gt"}, function (obj) {
                          if (Restzeit > 0) { PumpOn() };
                        });
                        on({id: Schwimmer, change: "lt"}, function (obj) {
                          if (StartTime > 0) {
                            if (timeout) {
                               clearTimeout(timeout); 
                               timeout = null;
                           }
                           Restzeit = Restzeit - ((new Date().getSeconds()) - StartTime);
                          }
                          setState(Pump, false);
                        // Hier wird die Pumpe abgeschaltet wenn der Schwimmer "false" meldet. 
                        // Wichtig - die Pumpe wird hier auch dann abgeschaltet wenn sie nicht vorher über das Script eingeschaltet wurde.
                        });
                        schedule("0 0 * * *", function () {
                          Restzeit = 300;
                          if (getState(Schwimmer).val) {PumpOn(); }
                        });
                        

                        ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                        "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                        AphofisA 2 Antworten Letzte Antwort
                        1
                        • AsgothianA Asgothian

                          @Aphofis
                          Nicht ohne weiteres, aber es gibt da einen einfachen Trick: Bau dir die Aktionen die du haben willst als Blockly zusammen, und lass dir dann den JS code anzeigen. Den kannst du dann in das JS Script kopieren. Die relevanten Stellen hab ich im Script markiert

                          A.

                          var Restzeit, timeout, Nachricht, StartTime;
                          var Pump = "Pump Object ID"
                          var Schwimmer = 'Schwimmer Object ID'
                          
                          Restzeit = 300;
                          StartTime = -1;
                          function PumpOn()
                           {
                               if (timeout) { clearTimeout(timeout); timeout = null;};
                               timeout = setTimeout(function () {
                                  StartTime = -1;
                                 Restzeit = 0;
                                  setState(Pump, false);
                          // Hier wird die Pumpe abgeschaltet wenn die Zeit abgelaufen ist.
                              }, Restzeit * 1000);
                          // Hier wird die Pumpe eingeschaltet.
                              setState(Pump, true);
                              StartTime = (new Date().getSeconds())
                          }
                          
                          on({id: Schwimmer, change: "gt"}, function (obj) {
                            if (Restzeit > 0) { PumpOn() };
                          });
                          on({id: Schwimmer, change: "lt"}, function (obj) {
                            if (StartTime > 0) {
                              if (timeout) {
                                 clearTimeout(timeout); 
                                 timeout = null;
                             }
                             Restzeit = Restzeit - ((new Date().getSeconds()) - StartTime);
                            }
                            setState(Pump, false);
                          // Hier wird die Pumpe abgeschaltet wenn der Schwimmer "false" meldet. 
                          // Wichtig - die Pumpe wird hier auch dann abgeschaltet wenn sie nicht vorher über das Script eingeschaltet wurde.
                          });
                          schedule("0 0 * * *", function () {
                            Restzeit = 300;
                            if (getState(Schwimmer).val) {PumpOn(); }
                          });
                          
                          AphofisA Offline
                          AphofisA Offline
                          Aphofis
                          schrieb am zuletzt editiert von
                          #27

                          @Asgothian
                          ok dan bastel ich das script mal in meine steuerung

                          AsgothianA 1 Antwort Letzte Antwort
                          0
                          • AphofisA Aphofis

                            @Asgothian
                            ok dan bastel ich das script mal in meine steuerung

                            AsgothianA Offline
                            AsgothianA Offline
                            Asgothian
                            Developer
                            schrieb am zuletzt editiert von Asgothian
                            #28

                            @Aphofis Viel Glück damit.

                            Noch ein Hinweis: Ich hab die Objekt ID's als Variablen nach oben geholt, so das du sie nur einmal anpassen musst. Und der Schedule ist auf Mitternacht jeden Tag eingestellt.

                            Nachtrag - es war noch ein Fehler drin, ist jetzt behoben.

                            A.

                            ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                            "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                            AphofisA 1 Antwort Letzte Antwort
                            0
                            • AsgothianA Asgothian

                              @Aphofis Viel Glück damit.

                              Noch ein Hinweis: Ich hab die Objekt ID's als Variablen nach oben geholt, so das du sie nur einmal anpassen musst. Und der Schedule ist auf Mitternacht jeden Tag eingestellt.

                              Nachtrag - es war noch ein Fehler drin, ist jetzt behoben.

                              A.

                              AphofisA Offline
                              AphofisA Offline
                              Aphofis
                              schrieb am zuletzt editiert von
                              #29

                              @Asgothian
                              Das sehr nett!
                              Können das das normale Blockly und das JavaScript gemeinsam laufen oder kann man das bestehende mit einbauen!?
                              Da über mein bisheriges Blockly Script die Osmose Steuerung läuft und wiederrum über das Magnet Ventil der Osmose Tages und GEsamtzähler.

                              AsgothianA 1 Antwort Letzte Antwort
                              0
                              • AphofisA Aphofis

                                @Asgothian
                                Das sehr nett!
                                Können das das normale Blockly und das JavaScript gemeinsam laufen oder kann man das bestehende mit einbauen!?
                                Da über mein bisheriges Blockly Script die Osmose Steuerung läuft und wiederrum über das Magnet Ventil der Osmose Tages und GEsamtzähler.

                                AsgothianA Offline
                                AsgothianA Offline
                                Asgothian
                                Developer
                                schrieb am zuletzt editiert von Asgothian
                                #30

                                @Aphofis
                                Klar. Es ist egal wie die verschiedenen Scripte erstellt wurden. Du kannst Blockly, JS und Typescript scripte beliebig mischen.

                                A.
                                Nachtrag: Ich empfehle sogar die scripte in einzelne logische Blöcke aufzuteilen und als einzelne Scripte laufen zu lassen. Dann kannst du einzelne Funktionen temporär abschalten und die Fehlersuche wird auch einfacher.
                                A.

                                ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                                "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                                AphofisA 1 Antwort Letzte Antwort
                                1
                                • AsgothianA Asgothian

                                  @Aphofis
                                  Klar. Es ist egal wie die verschiedenen Scripte erstellt wurden. Du kannst Blockly, JS und Typescript scripte beliebig mischen.

                                  A.
                                  Nachtrag: Ich empfehle sogar die scripte in einzelne logische Blöcke aufzuteilen und als einzelne Scripte laufen zu lassen. Dann kannst du einzelne Funktionen temporär abschalten und die Fehlersuche wird auch einfacher.
                                  A.

                                  AphofisA Offline
                                  AphofisA Offline
                                  Aphofis
                                  schrieb am zuletzt editiert von
                                  #31

                                  @Asgothian
                                  Das stimmt!
                                  Ich baue auch ungerne mega blocklys wo ich dann des späteren kaum noch überblick habe und mich erst lange ins script einlesen muss.
                                  übernimmt denn dein script nun die algemeine osmose steuerung für das magnet ventil !? Da Ja der Osmose Zähler über das magnetventil läuft muss das normale blockly zur osmose steuerung doch eigentlich ausgeschaltet werden.!?

                                  AsgothianA 1 Antwort Letzte Antwort
                                  0
                                  • AphofisA Offline
                                    AphofisA Offline
                                    Aphofis
                                    schrieb am zuletzt editiert von
                                    #32

                                    Das ist die normale Blockly Steuerung für die Osmose

                                    var value, status2;
                                    
                                    /**
                                     * Function um umsetzen von true / false nach offen / geschlossen
                                     */
                                    function umsetzen(value, status2) {
                                      if (value == true) {
                                        status2 = ' aktiv';
                                      } else {
                                        status2 = 'inaktiv';
                                      }
                                      return status2;
                                    }
                                    
                                    
                                    on({id: "sonoff.0.Aqua_Float.POWER1"/*Osmose_Niveau*/, change: "ne"}, function (obj) {
                                      var value = obj.state.val;
                                      var oldValue = obj.oldState.val;
                                      if (getState("sonoff.0.Aqua_Float.POWER1").val == true) {
                                        setState("sonoff.0.Aqua_Control.POWER1"/*Osmose_Magnetventil*/, true);
                                        console.log(('Magnetventil ist ' + String(umsetzen(getState("sonoff.0.Aqua_Control.POWER1").val, status2))));
                                      } else if (getState("sonoff.0.Aqua_Float.POWER1").val == false) {
                                        setState("sonoff.0.Aqua_Control.POWER1"/*Osmose_Magnetventil*/, false);
                                        console.log(('Magnetventil ist ' + String(umsetzen(getState("sonoff.0.Aqua_Control.POWER1").val, status2))));
                                      } else if (getState("sonoff.0.Aqua_Float.POWER4").val == true) {
                                        setState("javascript.0.scriptEnabled.Automatik_Steuerung.Osmose_Niveau_Normal"/*scriptEnabled.Automatik_Steuerung.Osmose_Niveau_Normal*/, false);
                                        setState("sonoff.0.Aqua_Control.POWER1"/*Osmose_Magnetventil*/, false);
                                      } else if (getState("sonoff.0.Aqua_Float.POWER4").val == false) {
                                        setState("javascript.0.scriptEnabled.Automatik_Steuerung.Osmose_Niveau_Normal"/*scriptEnabled.Automatik_Steuerung.Osmose_Niveau_Normal*/, true);
                                      }
                                    });
                                    
                                    
                                    1 Antwort Letzte Antwort
                                    0
                                    • AphofisA Aphofis

                                      @Asgothian
                                      Das stimmt!
                                      Ich baue auch ungerne mega blocklys wo ich dann des späteren kaum noch überblick habe und mich erst lange ins script einlesen muss.
                                      übernimmt denn dein script nun die algemeine osmose steuerung für das magnet ventil !? Da Ja der Osmose Zähler über das magnetventil läuft muss das normale blockly zur osmose steuerung doch eigentlich ausgeschaltet werden.!?

                                      AsgothianA Offline
                                      AsgothianA Offline
                                      Asgothian
                                      Developer
                                      schrieb am zuletzt editiert von
                                      #33

                                      @Aphofis
                                      Die Frage kann ich dir nicht beantworten. Dafür kenne ich mich mit dem was du steuern willst einfach nicht genug aus. Prinzipiell können 2 Scripte die gleichen Objekte ansteuern, allerdings ist dann (in diesem Beispiel) nicht sichergestellt das die Pumpe wirklich nur 300 s läuft, diese Zeitabfrage gilt nur für die Zeit die durch den Schwimmer eingeschaltet ist.

                                      A.

                                      ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                                      "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                                      AphofisA 1 Antwort Letzte Antwort
                                      0
                                      • AsgothianA Asgothian

                                        @Aphofis
                                        Die Frage kann ich dir nicht beantworten. Dafür kenne ich mich mit dem was du steuern willst einfach nicht genug aus. Prinzipiell können 2 Scripte die gleichen Objekte ansteuern, allerdings ist dann (in diesem Beispiel) nicht sichergestellt das die Pumpe wirklich nur 300 s läuft, diese Zeitabfrage gilt nur für die Zeit die durch den Schwimmer eingeschaltet ist.

                                        A.

                                        AphofisA Offline
                                        AphofisA Offline
                                        Aphofis
                                        schrieb am zuletzt editiert von
                                        #34

                                        @Asgothian
                                        Das macht dann auch keinen Sinn beides laufen zu lassen.
                                        Dann lasse ich nur das JavaScript laufen und werde beobachten und testen. Dann melde ich mich wie es läuft.
                                        Vielen Dank

                                        1 Antwort Letzte Antwort
                                        0
                                        • AphofisA Offline
                                          AphofisA Offline
                                          Aphofis
                                          schrieb am zuletzt editiert von
                                          #35

                                          Also was ich sagen kann Magnetvetil reagiert auf den Schwimmer und Osmose wird fleißig weter gezählt.
                                          Das blockly zum steuern vom magnetventil hab ich abgeschaltet.
                                          Kann man eine telegram nachricht einbauen wenn die 300 sek bzw 10 liter am tag erreicht sind !?
                                          denn davon ist auch abhängig wann ich den Salzgehalt im Becken angleichen muss.

                                          AsgothianA 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

                                          762

                                          Online

                                          32.5k

                                          Benutzer

                                          81.7k

                                          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