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. Poolsteuerung die xte

NEWS

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

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

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

Poolsteuerung die xte

Scheduled Pinned Locked Moved Blockly
10 Posts 3 Posters 845 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.
  • S Offline
    S Offline
    skinni
    wrote on last edited by
    #1

    Bitte helft mir den Knoten zu lösen. Ich weiß nicht mal, wie ich es richtig beschreiben kann, aber ich versuchs mal:

    Ich messe am Pool den REDOX Wert, dieser soll z.B. zwischen 700 und 750 liegen.

    Wird der Wert 700 unterschritten, soll ein Gerät (Chlorinator) eingeschaltet werden.
    Ist der Wert 750 erreicht, soll das Gerät ausgeschaltet werden bis der Wert wieder unter 700 gefallen ist.

    Der Ein/Ausschalter des Geräts ist nur ein Taster, wird also gedrückt und wieder losgelassen zum einschalten und genauso zum ausschalten. Dieser hängt parallel an einem Shelly Relais mit Wischfunktion. D.h. zum Einschalten setze ich den Wert power auf true und nach einer Sekunde wird der Wert wieder zurückgesetzt auf false, das Gerät ist aber eingeschaltet.
    Genauso wird das Gerät auch ausgeschaltet, einmal kurz power auf true.
    Der shelly simuliert also den Taster.
    Ich kann daher den Status nicht wirklich abfragen, weil power ist ja immer auf false, auch wenn das Gerät läuft.

    Der Stromverbrauch im idle beträgt ca. 5-8W im Betrieb ca. 85W. Schalte ich das Gerät ein, dauert es aber ca. 30-60 Sekunden, bis das Gerät von 5W auf 85W springt.
    Ich kann also darüber auch nicht prüfen, ob das Gerät schon eingeschaltet wurde.

    Erschwerend kommt hinzu, dass ich das Gerät bei Bedarf auch manuell per script oder am Gerät einschalten möchte.

    Habt ihr einen Ansatz? Ich hab soviel versucht, aber am Ende hab ich immer den Taster im Dauerbetrieb betätigt sobald ich die automatische Steuerung über den Redox Wert integrieren wollte.

    mickymM paul53P 2 Replies Last reply
    0
    • S skinni

      Bitte helft mir den Knoten zu lösen. Ich weiß nicht mal, wie ich es richtig beschreiben kann, aber ich versuchs mal:

      Ich messe am Pool den REDOX Wert, dieser soll z.B. zwischen 700 und 750 liegen.

      Wird der Wert 700 unterschritten, soll ein Gerät (Chlorinator) eingeschaltet werden.
      Ist der Wert 750 erreicht, soll das Gerät ausgeschaltet werden bis der Wert wieder unter 700 gefallen ist.

      Der Ein/Ausschalter des Geräts ist nur ein Taster, wird also gedrückt und wieder losgelassen zum einschalten und genauso zum ausschalten. Dieser hängt parallel an einem Shelly Relais mit Wischfunktion. D.h. zum Einschalten setze ich den Wert power auf true und nach einer Sekunde wird der Wert wieder zurückgesetzt auf false, das Gerät ist aber eingeschaltet.
      Genauso wird das Gerät auch ausgeschaltet, einmal kurz power auf true.
      Der shelly simuliert also den Taster.
      Ich kann daher den Status nicht wirklich abfragen, weil power ist ja immer auf false, auch wenn das Gerät läuft.

      Der Stromverbrauch im idle beträgt ca. 5-8W im Betrieb ca. 85W. Schalte ich das Gerät ein, dauert es aber ca. 30-60 Sekunden, bis das Gerät von 5W auf 85W springt.
      Ich kann also darüber auch nicht prüfen, ob das Gerät schon eingeschaltet wurde.

      Erschwerend kommt hinzu, dass ich das Gerät bei Bedarf auch manuell per script oder am Gerät einschalten möchte.

      Habt ihr einen Ansatz? Ich hab soviel versucht, aber am Ende hab ich immer den Taster im Dauerbetrieb betätigt sobald ich die automatische Steuerung über den Redox Wert integrieren wollte.

      mickymM Offline
      mickymM Offline
      mickym
      Most Active
      wrote on last edited by mickym
      #2

      @skinni Ich nutze kein Blockly - aber mal unabhängig davon, wenn Du schon so viel versucht hast, wo ist denn Dein Problem?

      In meinen Augen hast Du einen Trigger, das ist der DP oder das Teil, das Deinen Chlorgehalt misst. Wenn dieser einen Wert unter 700 misst, soll das Gerät eingeschaltet werden, falls es noch nicht eingeschaltet ist. Da Du dies erst nach 60s gesichert feststellen kannst, prüfst Du nachdem der Trigger gelaufen ist mit 60s Verzögerung.
      Wer oder was das Gerät dann eingeschaltet hat ist völlig irrelevant, weil der Trigger immer der Chlormesser ist.

      Den Einschaltvorgang an sich kannst Du, wie Du schreibst nicht prüfen, nachdem Du erst nach 60 s ein Rückmeldung bekommst.
      Ich arbeite nicht mit Blockly - aber ich würde wohl 2 verschiedene nehmen. Ich gehe mal davon, dass Dir der Verbrauch ja trotzdem immer gemeldet wird.
      Was hast Du also versucht oder wo ist das Problem in der Logik?

      Um die Logik zu verdeutlichen - hier mal ein theoretischer NodeRed Flow - den Du in meinen Augen nur noch in Blockly abbilden musst. Eine Dauerschleife bleibt nur, wenn die Ermittlung des Gerätezustands nicht zuverlässig arbeitet, dann kann man ggf. zur Sicherheit noch einen Zähler einbauen:

      5a36e516-e824-4ee6-b249-3e34522749fa-image.png

      @skinni sagte in Poolsteuerung die xte:

      Ich kann also darüber auch nicht prüfen, ob das Gerät schon eingeschaltet wurde.

      Das ist mE falsch - das kannst Du prüfen halt nur mit zeitlicher Verzögerung. Aber @paul53 hat es Dir sicher schon umgesetzt, wie ich gerade sehe.

      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

      1 Reply Last reply
      0
      • S skinni

        Bitte helft mir den Knoten zu lösen. Ich weiß nicht mal, wie ich es richtig beschreiben kann, aber ich versuchs mal:

        Ich messe am Pool den REDOX Wert, dieser soll z.B. zwischen 700 und 750 liegen.

        Wird der Wert 700 unterschritten, soll ein Gerät (Chlorinator) eingeschaltet werden.
        Ist der Wert 750 erreicht, soll das Gerät ausgeschaltet werden bis der Wert wieder unter 700 gefallen ist.

        Der Ein/Ausschalter des Geräts ist nur ein Taster, wird also gedrückt und wieder losgelassen zum einschalten und genauso zum ausschalten. Dieser hängt parallel an einem Shelly Relais mit Wischfunktion. D.h. zum Einschalten setze ich den Wert power auf true und nach einer Sekunde wird der Wert wieder zurückgesetzt auf false, das Gerät ist aber eingeschaltet.
        Genauso wird das Gerät auch ausgeschaltet, einmal kurz power auf true.
        Der shelly simuliert also den Taster.
        Ich kann daher den Status nicht wirklich abfragen, weil power ist ja immer auf false, auch wenn das Gerät läuft.

        Der Stromverbrauch im idle beträgt ca. 5-8W im Betrieb ca. 85W. Schalte ich das Gerät ein, dauert es aber ca. 30-60 Sekunden, bis das Gerät von 5W auf 85W springt.
        Ich kann also darüber auch nicht prüfen, ob das Gerät schon eingeschaltet wurde.

        Erschwerend kommt hinzu, dass ich das Gerät bei Bedarf auch manuell per script oder am Gerät einschalten möchte.

        Habt ihr einen Ansatz? Ich hab soviel versucht, aber am Ende hab ich immer den Taster im Dauerbetrieb betätigt sobald ich die automatische Steuerung über den Redox Wert integrieren wollte.

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

        @skinni sagte: Habt ihr einen Ansatz?

        Bild_2021-06-11_132859.png

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

          @skinni sagte: Habt ihr einen Ansatz?

          Bild_2021-06-11_132859.png

          S Offline
          S Offline
          skinni
          wrote on last edited by
          #4

          @mickym das "Problem" ist, er durchläuft das script ja bei jeder Änderung des Wertes, darf aber nur alle 60 sekunden reagieren, das bekomme ich nicht auf die Reihe.

          @paul53 Bei falls chlor != ein bin ich raus, chlor ist doch entweder wahr oder falsch :/ Kann den Gedanken nicht nachvollziehen.

          Habs mal soweit nachgebaut, mit Lücken, dass man es hoffentlich verbessern kann. Wo genau verhindert wird, dass der Taster mehrfach betätigt wird hab ich nicht verstanden

          chloristeuerung.png

          paul53P mickymM 2 Replies Last reply
          0
          • S skinni

            @mickym das "Problem" ist, er durchläuft das script ja bei jeder Änderung des Wertes, darf aber nur alle 60 sekunden reagieren, das bekomme ich nicht auf die Reihe.

            @paul53 Bei falls chlor != ein bin ich raus, chlor ist doch entweder wahr oder falsch :/ Kann den Gedanken nicht nachvollziehen.

            Habs mal soweit nachgebaut, mit Lücken, dass man es hoffentlich verbessern kann. Wo genau verhindert wird, dass der Taster mehrfach betätigt wird hab ich nicht verstanden

            chloristeuerung.png

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

            @skinni sagte: darf aber nur alle 60 sekunden reagieren,

            Habe es um eine Sperre ergänzt:

            Blockly_temp.JPG

            <xml xmlns="https://developers.google.com/blockly/xml">
             <variables>
               <variable id="w|ZnOmzB-Kc#z7%,.Zb:">chlor</variable>
               <variable id="G5HL:t:B50zF?x%!n.H?">ein</variable>
               <variable type="timeout" id="timeout">timeout</variable>
             </variables>
             <block type="on_ext" id="zNq+f*d*D@_%w(KJw]}m" x="88" y="38">
               <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
               <field name="CONDITION">ne</field>
               <field name="ACK_CONDITION"></field>
               <value name="OID0">
                 <shadow type="field_oid" id="[pM+iVzcV/v.Ave.2!YS">
                   <field name="oid">default</field>
                 </shadow>
               </value>
               <statement name="STATEMENT">
                 <block type="controls_if" id="zTc.CWjkc)QEaaZp[$t0">
                   <mutation elseif="1"></mutation>
                   <value name="IF0">
                     <block type="logic_compare" id=".[0Y+G}L;}TJFj9L+S(%">
                       <field name="OP">LTE</field>
                       <value name="A">
                         <block type="on_source" id="mf-pPS#``a.bNtn~#q$5">
                           <field name="ATTR">state.val</field>
                         </block>
                       </value>
                       <value name="B">
                         <block type="math_number" id="dUkj4QvwUv*@V1a6,XEk">
                           <field name="NUM">700</field>
                         </block>
                       </value>
                     </block>
                   </value>
                   <statement name="DO0">
                     <block type="variables_set" id="M7jFAt9-G}ZV=$NJl27O">
                       <field name="VAR" id="w|ZnOmzB-Kc#z7%,.Zb:">chlor</field>
                       <value name="VALUE">
                         <block type="logic_boolean" id="xOfMCa*In[Y?groj_AXI">
                           <field name="BOOL">TRUE</field>
                         </block>
                       </value>
                     </block>
                   </statement>
                   <value name="IF1">
                     <block type="logic_compare" id="D{]wih,Ge)VYyS_4CXJ,">
                       <field name="OP">GTE</field>
                       <value name="A">
                         <block type="on_source" id="/FIXsq50Ko_-NRMX6Y$$">
                           <field name="ATTR">state.val</field>
                         </block>
                       </value>
                       <value name="B">
                         <block type="math_number" id="TXz:(T2@BVWzbW{eY]E7">
                           <field name="NUM">750</field>
                         </block>
                       </value>
                     </block>
                   </value>
                   <statement name="DO1">
                     <block type="variables_set" id="l.Qk}tNolm*P4[w4%GJJ">
                       <field name="VAR" id="w|ZnOmzB-Kc#z7%,.Zb:">chlor</field>
                       <value name="VALUE">
                         <block type="logic_boolean" id="AD%-k{*~$xxH=N=G~M6i">
                           <field name="BOOL">FALSE</field>
                         </block>
                       </value>
                     </block>
                   </statement>
                   <next>
                     <block type="controls_if" id="4n8g*ZfvAZ:KBnU%T:ZX">
                       <value name="IF0">
                         <block type="logic_operation" id="R8e}dfsGC~/Vkn$DwL;=" inline="false">
                           <field name="OP">AND</field>
                           <value name="A">
                             <block type="logic_compare" id="ul7YfWxA]|,HBp/Iplo{">
                               <field name="OP">NEQ</field>
                               <value name="A">
                                 <block type="variables_get" id="%Z~+G}0}QW^6zUV~BQ+/">
                                   <field name="VAR" id="w|ZnOmzB-Kc#z7%,.Zb:">chlor</field>
                                 </block>
                               </value>
                               <value name="B">
                                 <block type="variables_get" id="|dmPn,(f`!N!!mtaO]{7">
                                   <field name="VAR" id="G5HL:t:B50zF?x%!n.H?">ein</field>
                                 </block>
                               </value>
                             </block>
                           </value>
                           <value name="B">
                             <block type="logic_negate" id="ZWIWgSE+tRxrMoOs!7g_">
                               <value name="BOOL">
                                 <block type="variables_get" id="h1:*_W%[!Eeif,w1j@hE">
                                   <field name="VAR" id="timeout" variabletype="timeout">timeout</field>
                                 </block>
                               </value>
                             </block>
                           </value>
                         </block>
                       </value>
                       <statement name="DO0">
                         <block type="control" id="_%=skI?|cERi/[LnKE4-">
                           <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                           <field name="OID">Object ID</field>
                           <field name="WITH_DELAY">FALSE</field>
                           <value name="VALUE">
                             <block type="logic_boolean" id="caERRLzir]Q!skaFu#Ga">
                               <field name="BOOL">TRUE</field>
                             </block>
                           </value>
                           <next>
                             <block type="timeouts_settimeout" id="#A8y2ujpyO7}B{s-BBDi">
                               <field name="NAME">timeout</field>
                               <field name="DELAY">60</field>
                               <field name="UNIT">sec</field>
                               <statement name="STATEMENT">
                                 <block type="variables_set" id="R_:v2.DUnDWe00Ir4upD">
                                   <field name="VAR" id="timeout" variabletype="timeout">timeout</field>
                                   <value name="VALUE">
                                     <block type="logic_null" id="7jf/B*L%XxjENy89,0@I"></block>
                                   </value>
                                 </block>
                               </statement>
                             </block>
                           </next>
                         </block>
                       </statement>
                     </block>
                   </next>
                 </block>
               </statement>
               <next>
                 <block type="comment" id="u^W20cw;!erv9n-K*$a1">
                   <field name="COMMENT">Leistung</field>
                   <next>
                     <block type="on_ext" id="P@5@~k~nHw^Ah}p.Fz;S">
                       <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                       <field name="CONDITION">ne</field>
                       <field name="ACK_CONDITION"></field>
                       <value name="OID0">
                         <shadow type="field_oid" id="z^@!jxn|iJQnIghDa9~o">
                           <field name="oid">default</field>
                         </shadow>
                       </value>
                       <statement name="STATEMENT">
                         <block type="variables_set" id="Rl5btr3%hYWq2zHaYQe~">
                           <field name="VAR" id="G5HL:t:B50zF?x%!n.H?">ein</field>
                           <value name="VALUE">
                             <block type="logic_compare" id="`RST0t3cQabC1C,T]Grq">
                               <field name="OP">GT</field>
                               <value name="A">
                                 <block type="on_source" id="z[-*k1gievOVrB`!Ft3U">
                                   <field name="ATTR">state.val</field>
                                 </block>
                               </value>
                               <value name="B">
                                 <block type="math_number" id="JYV_MIwpla6`JBFZfJMc">
                                   <field name="NUM">10</field>
                                 </block>
                               </value>
                             </block>
                           </value>
                         </block>
                       </statement>
                     </block>
                   </next>
                 </block>
               </next>
             </block>
            </xml>
            

            Der untere Trigger bezieht sich auf:
            @skinni sagte in Poolsteuerung die xte:

            Der Stromverbrauch im idle beträgt ca. 5-8W im Betrieb ca. 85W.

            @skinni sagte in Poolsteuerung die xte:

            Bei falls chlor != ein bin ich raus

            falls Sollzustand != Istzustand

            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
            0
            • S skinni

              @mickym das "Problem" ist, er durchläuft das script ja bei jeder Änderung des Wertes, darf aber nur alle 60 sekunden reagieren, das bekomme ich nicht auf die Reihe.

              @paul53 Bei falls chlor != ein bin ich raus, chlor ist doch entweder wahr oder falsch :/ Kann den Gedanken nicht nachvollziehen.

              Habs mal soweit nachgebaut, mit Lücken, dass man es hoffentlich verbessern kann. Wo genau verhindert wird, dass der Taster mehrfach betätigt wird hab ich nicht verstanden

              chloristeuerung.png

              mickymM Offline
              mickymM Offline
              mickym
              Most Active
              wrote on last edited by mickym
              #6

              @skinni
              @paul53 hat es Dir eh schon implementiert. In meinem theoretischen Flow - wird deshalb auch nur 1 Nachricht pro Minute des Chlormessers durchgelassen. Außerdem werden dann alle Trigger zwischendrin ignoriert.

              Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

              1 Reply Last reply
              0
              • paul53P paul53

                @skinni sagte: darf aber nur alle 60 sekunden reagieren,

                Habe es um eine Sperre ergänzt:

                Blockly_temp.JPG

                <xml xmlns="https://developers.google.com/blockly/xml">
                 <variables>
                   <variable id="w|ZnOmzB-Kc#z7%,.Zb:">chlor</variable>
                   <variable id="G5HL:t:B50zF?x%!n.H?">ein</variable>
                   <variable type="timeout" id="timeout">timeout</variable>
                 </variables>
                 <block type="on_ext" id="zNq+f*d*D@_%w(KJw]}m" x="88" y="38">
                   <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                   <field name="CONDITION">ne</field>
                   <field name="ACK_CONDITION"></field>
                   <value name="OID0">
                     <shadow type="field_oid" id="[pM+iVzcV/v.Ave.2!YS">
                       <field name="oid">default</field>
                     </shadow>
                   </value>
                   <statement name="STATEMENT">
                     <block type="controls_if" id="zTc.CWjkc)QEaaZp[$t0">
                       <mutation elseif="1"></mutation>
                       <value name="IF0">
                         <block type="logic_compare" id=".[0Y+G}L;}TJFj9L+S(%">
                           <field name="OP">LTE</field>
                           <value name="A">
                             <block type="on_source" id="mf-pPS#``a.bNtn~#q$5">
                               <field name="ATTR">state.val</field>
                             </block>
                           </value>
                           <value name="B">
                             <block type="math_number" id="dUkj4QvwUv*@V1a6,XEk">
                               <field name="NUM">700</field>
                             </block>
                           </value>
                         </block>
                       </value>
                       <statement name="DO0">
                         <block type="variables_set" id="M7jFAt9-G}ZV=$NJl27O">
                           <field name="VAR" id="w|ZnOmzB-Kc#z7%,.Zb:">chlor</field>
                           <value name="VALUE">
                             <block type="logic_boolean" id="xOfMCa*In[Y?groj_AXI">
                               <field name="BOOL">TRUE</field>
                             </block>
                           </value>
                         </block>
                       </statement>
                       <value name="IF1">
                         <block type="logic_compare" id="D{]wih,Ge)VYyS_4CXJ,">
                           <field name="OP">GTE</field>
                           <value name="A">
                             <block type="on_source" id="/FIXsq50Ko_-NRMX6Y$$">
                               <field name="ATTR">state.val</field>
                             </block>
                           </value>
                           <value name="B">
                             <block type="math_number" id="TXz:(T2@BVWzbW{eY]E7">
                               <field name="NUM">750</field>
                             </block>
                           </value>
                         </block>
                       </value>
                       <statement name="DO1">
                         <block type="variables_set" id="l.Qk}tNolm*P4[w4%GJJ">
                           <field name="VAR" id="w|ZnOmzB-Kc#z7%,.Zb:">chlor</field>
                           <value name="VALUE">
                             <block type="logic_boolean" id="AD%-k{*~$xxH=N=G~M6i">
                               <field name="BOOL">FALSE</field>
                             </block>
                           </value>
                         </block>
                       </statement>
                       <next>
                         <block type="controls_if" id="4n8g*ZfvAZ:KBnU%T:ZX">
                           <value name="IF0">
                             <block type="logic_operation" id="R8e}dfsGC~/Vkn$DwL;=" inline="false">
                               <field name="OP">AND</field>
                               <value name="A">
                                 <block type="logic_compare" id="ul7YfWxA]|,HBp/Iplo{">
                                   <field name="OP">NEQ</field>
                                   <value name="A">
                                     <block type="variables_get" id="%Z~+G}0}QW^6zUV~BQ+/">
                                       <field name="VAR" id="w|ZnOmzB-Kc#z7%,.Zb:">chlor</field>
                                     </block>
                                   </value>
                                   <value name="B">
                                     <block type="variables_get" id="|dmPn,(f`!N!!mtaO]{7">
                                       <field name="VAR" id="G5HL:t:B50zF?x%!n.H?">ein</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                               <value name="B">
                                 <block type="logic_negate" id="ZWIWgSE+tRxrMoOs!7g_">
                                   <value name="BOOL">
                                     <block type="variables_get" id="h1:*_W%[!Eeif,w1j@hE">
                                       <field name="VAR" id="timeout" variabletype="timeout">timeout</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                             </block>
                           </value>
                           <statement name="DO0">
                             <block type="control" id="_%=skI?|cERi/[LnKE4-">
                               <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                               <field name="OID">Object ID</field>
                               <field name="WITH_DELAY">FALSE</field>
                               <value name="VALUE">
                                 <block type="logic_boolean" id="caERRLzir]Q!skaFu#Ga">
                                   <field name="BOOL">TRUE</field>
                                 </block>
                               </value>
                               <next>
                                 <block type="timeouts_settimeout" id="#A8y2ujpyO7}B{s-BBDi">
                                   <field name="NAME">timeout</field>
                                   <field name="DELAY">60</field>
                                   <field name="UNIT">sec</field>
                                   <statement name="STATEMENT">
                                     <block type="variables_set" id="R_:v2.DUnDWe00Ir4upD">
                                       <field name="VAR" id="timeout" variabletype="timeout">timeout</field>
                                       <value name="VALUE">
                                         <block type="logic_null" id="7jf/B*L%XxjENy89,0@I"></block>
                                       </value>
                                     </block>
                                   </statement>
                                 </block>
                               </next>
                             </block>
                           </statement>
                         </block>
                       </next>
                     </block>
                   </statement>
                   <next>
                     <block type="comment" id="u^W20cw;!erv9n-K*$a1">
                       <field name="COMMENT">Leistung</field>
                       <next>
                         <block type="on_ext" id="P@5@~k~nHw^Ah}p.Fz;S">
                           <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                           <field name="CONDITION">ne</field>
                           <field name="ACK_CONDITION"></field>
                           <value name="OID0">
                             <shadow type="field_oid" id="z^@!jxn|iJQnIghDa9~o">
                               <field name="oid">default</field>
                             </shadow>
                           </value>
                           <statement name="STATEMENT">
                             <block type="variables_set" id="Rl5btr3%hYWq2zHaYQe~">
                               <field name="VAR" id="G5HL:t:B50zF?x%!n.H?">ein</field>
                               <value name="VALUE">
                                 <block type="logic_compare" id="`RST0t3cQabC1C,T]Grq">
                                   <field name="OP">GT</field>
                                   <value name="A">
                                     <block type="on_source" id="z[-*k1gievOVrB`!Ft3U">
                                       <field name="ATTR">state.val</field>
                                     </block>
                                   </value>
                                   <value name="B">
                                     <block type="math_number" id="JYV_MIwpla6`JBFZfJMc">
                                       <field name="NUM">10</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                             </block>
                           </statement>
                         </block>
                       </next>
                     </block>
                   </next>
                 </block>
                </xml>
                

                Der untere Trigger bezieht sich auf:
                @skinni sagte in Poolsteuerung die xte:

                Der Stromverbrauch im idle beträgt ca. 5-8W im Betrieb ca. 85W.

                @skinni sagte in Poolsteuerung die xte:

                Bei falls chlor != ein bin ich raus

                falls Sollzustand != Istzustand

                S Offline
                S Offline
                skinni
                wrote on last edited by skinni
                #7

                @paul53 Danke dafür! Euch beiden. Ich hab zwar deinen code immer noch nicht ganz durchschaut, aber daraus hab ich folgendes gebaut. Auf den ersten Blick scheint es zu funktionieren.

                chlori2.png

                <xml xmlns="https://developers.google.com/blockly/xml">
                 <variables>
                   <variable id="lIh3t+xCY,#WHGCT}aTp">Chlor</variable>
                   <variable type="timeout" id="timeout">timeout</variable>
                   <variable type="timeout" id="timeout2">timeout2</variable>
                   <variable id="ROl/m!,ZQuB=|(JQ17=;">timeout</variable>
                 </variables>
                 <block type="on_ext" id="%]eMX/7{=?l%xNsq4r=b" x="-644" y="-256">
                   <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                   <field name="CONDITION">ne</field>
                   <field name="ACK_CONDITION"></field>
                   <value name="OID0">
                     <shadow type="field_oid" id="3.L.+Kh}m=JxHlQa+C~,">
                       <field name="oid">ph803w.0.2tqRa88FgaUS5AxgARVYug.redox.value</field>
                     </shadow>
                   </value>
                   <statement name="STATEMENT">
                     <block type="controls_if" id="8Se9yr`}E`f,nN^9[Bk#">
                       <mutation elseif="1"></mutation>
                       <value name="IF0">
                         <block type="logic_operation" id="`:@1fe`j5;c*%QXHdNI9">
                           <field name="OP">AND</field>
                           <value name="A">
                             <block type="logic_compare" id="5-Z3V/5mkjrPk7E=p/U0">
                               <field name="OP">LTE</field>
                               <value name="A">
                                 <block type="get_value" id="=:AL6kxMaD}eK[}ieqw-">
                                   <field name="ATTR">val</field>
                                   <field name="OID">ph803w.0.2tqRa88FgaUS5AxgARVYug.redox.value</field>
                                 </block>
                               </value>
                               <value name="B">
                                 <block type="math_number" id="Ti]LDqaczFGBjAds0[ZA">
                                   <field name="NUM">560</field>
                                 </block>
                               </value>
                             </block>
                           </value>
                           <value name="B">
                             <block type="logic_compare" id="#`M7aP+K.bc{?veFMY#C">
                               <field name="OP">LTE</field>
                               <value name="A">
                                 <block type="get_value" id="A(W~~VKuQl:1YaDiJW[C">
                                   <field name="ATTR">val</field>
                                   <field name="OID">0_userdata.0.Chlorinator_Laufzeit</field>
                                 </block>
                               </value>
                               <value name="B">
                                 <block type="math_number" id="dVw/)c0Y7tBn2_+lj/`,">
                                   <field name="NUM">17200</field>
                                 </block>
                               </value>
                             </block>
                           </value>
                         </block>
                       </value>
                       <statement name="DO0">
                         <block type="variables_set" id="_}:]Q~@,U/T{oeE$K}gN">
                           <field name="VAR" id="lIh3t+xCY,#WHGCT}aTp">Chlor</field>
                           <value name="VALUE">
                             <block type="logic_boolean" id="?4m@lB2g3xmF69:mA@gZ">
                               <field name="BOOL">TRUE</field>
                             </block>
                           </value>
                         </block>
                       </statement>
                       <value name="IF1">
                         <block type="logic_compare" id="Hfz$1fO1:T963c;_j7=(">
                           <field name="OP">GTE</field>
                           <value name="A">
                             <block type="get_value" id="NmhX3Dy-@XCw]I_yfqp)">
                               <field name="ATTR">val</field>
                               <field name="OID">ph803w.0.2tqRa88FgaUS5AxgARVYug.redox.value</field>
                             </block>
                           </value>
                           <value name="B">
                             <block type="math_number" id="%y[V/N{x0feZgV$IT5bO">
                               <field name="NUM">570</field>
                             </block>
                           </value>
                         </block>
                       </value>
                       <statement name="DO1">
                         <block type="variables_set" id="3`o%H[os2|FOGOhy,O{6">
                           <field name="VAR" id="lIh3t+xCY,#WHGCT}aTp">Chlor</field>
                           <value name="VALUE">
                             <block type="logic_boolean" id="sN4hlDdf]R0peWFdV?q:">
                               <field name="BOOL">FALSE</field>
                             </block>
                           </value>
                         </block>
                       </statement>
                       <next>
                         <block type="controls_if" id="!VP?w(qQ6mWcri7!W5Z;">
                           <mutation elseif="1"></mutation>
                           <value name="IF0">
                             <block type="logic_operation" id="XN$wcMuX,Qa]]gw?A+wt" inline="false">
                               <field name="OP">AND</field>
                               <value name="A">
                                 <block type="logic_negate" id="cG/uN?1Xe@pd?X)r-nVw">
                                   <value name="BOOL">
                                     <block type="variables_get" id="(stR}xVTBOM[bkL_}C!d">
                                       <field name="VAR" id="ROl/m!,ZQuB=|(JQ17=;">timeout</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                               <value name="B">
                                 <block type="logic_operation" id="?wvO}FWI6dj*t[$5|9.%" inline="false">
                                   <field name="OP">AND</field>
                                   <value name="A">
                                     <block type="logic_compare" id="L6Yt@6P}X*CKxRTaK)HZ">
                                       <field name="OP">EQ</field>
                                       <value name="A">
                                         <block type="variables_get" id=".djORK]^-}sHKH^rhz+.">
                                           <field name="VAR" id="lIh3t+xCY,#WHGCT}aTp">Chlor</field>
                                         </block>
                                       </value>
                                       <value name="B">
                                         <block type="logic_boolean" id=")n={]XOXa$rr74+}ICqz">
                                           <field name="BOOL">TRUE</field>
                                         </block>
                                       </value>
                                     </block>
                                   </value>
                                   <value name="B">
                                     <block type="logic_compare" id="ndWLo*2T|(CRY.iWQ?:+">
                                       <field name="OP">LTE</field>
                                       <value name="A">
                                         <block type="get_value" id="MQJ!rr_.4?g1|6RkF%2q">
                                           <field name="ATTR">val</field>
                                           <field name="OID">shelly.0.SHSW-25#00B630#1.Relay1.Power</field>
                                         </block>
                                       </value>
                                       <value name="B">
                                         <block type="math_number" id="BjE/`z5csL`vVn6#36lG">
                                           <field name="NUM">10</field>
                                         </block>
                                       </value>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                             </block>
                           </value>
                           <statement name="DO0">
                             <block type="timeouts_settimeout" id="8jSUoYRtHobot2Y+O[Y0">
                               <field name="NAME">timeout</field>
                               <field name="DELAY">60</field>
                               <field name="UNIT">sec</field>
                               <statement name="STATEMENT">
                                 <block type="controls_if" id="uCVBhL`Mu/`Q0x@.Q=!E">
                                   <value name="IF0">
                                     <block type="logic_compare" id="I_{GM6#3XTJb`/^2GG)(">
                                       <field name="OP">LTE</field>
                                       <value name="A">
                                         <block type="get_value" id="Sx.n68KX-ju5R*wWh$Xf">
                                           <field name="ATTR">val</field>
                                           <field name="OID">shelly.0.SHSW-25#00B630#1.Relay1.Power</field>
                                         </block>
                                       </value>
                                       <value name="B">
                                         <block type="math_number" id="c%g(TBAId,vN]9_mKB#R">
                                           <field name="NUM">10</field>
                                         </block>
                                       </value>
                                     </block>
                                   </value>
                                   <statement name="DO0">
                                     <block type="control" id=";|ICx1a#N[Bl$1/(+[:G">
                                       <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                       <field name="OID">shelly.0.SHSW-1#5B33F0#1.Relay0.Switch</field>
                                       <field name="WITH_DELAY">FALSE</field>
                                       <value name="VALUE">
                                         <block type="logic_boolean" id="8I9bG_1BAYvef,F7cnMB">
                                           <field name="BOOL">TRUE</field>
                                         </block>
                                       </value>
                                     </block>
                                   </statement>
                                   <next>
                                     <block type="variables_set" id="fFK.`i,@AXlf!2;5eQ0v">
                                       <field name="VAR" id="ROl/m!,ZQuB=|(JQ17=;">timeout</field>
                                       <value name="VALUE">
                                         <block type="logic_null" id="8x1?XF;7vWRy=O/OaIWp"></block>
                                       </value>
                                     </block>
                                   </next>
                                 </block>
                               </statement>
                             </block>
                           </statement>
                           <value name="IF1">
                             <block type="logic_operation" id="y|i9}iXi75yVPIK71rMN" inline="false">
                               <field name="OP">AND</field>
                               <value name="A">
                                 <block type="logic_negate" id="Kq@%DTPKo=s-%T9NijTF">
                                   <value name="BOOL">
                                     <block type="variables_get" id=".UN`h^6KXbNq8,tw=?dx">
                                       <field name="VAR" id="ROl/m!,ZQuB=|(JQ17=;">timeout</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                               <value name="B">
                                 <block type="logic_operation" id="tK+PNiI.kx%A074n=rT3" inline="false">
                                   <field name="OP">AND</field>
                                   <value name="A">
                                     <block type="logic_compare" id="RW!u^5Q-Bq%KRvc4$VIC">
                                       <field name="OP">EQ</field>
                                       <value name="A">
                                         <block type="variables_get" id="v,uzMq@31%OcqRp^jl}5">
                                           <field name="VAR" id="lIh3t+xCY,#WHGCT}aTp">Chlor</field>
                                         </block>
                                       </value>
                                       <value name="B">
                                         <block type="logic_boolean" id="Q:KlhV!ZBT3U+7P#ARS3">
                                           <field name="BOOL">FALSE</field>
                                         </block>
                                       </value>
                                     </block>
                                   </value>
                                   <value name="B">
                                     <block type="logic_compare" id="`$KA-%Z$jIB)FBnex%_y">
                                       <field name="OP">GTE</field>
                                       <value name="A">
                                         <block type="get_value" id="]16jf|IR*n=sVzl)hFZI">
                                           <field name="ATTR">val</field>
                                           <field name="OID">shelly.0.SHSW-25#00B630#1.Relay1.Power</field>
                                         </block>
                                       </value>
                                       <value name="B">
                                         <block type="math_number" id="E9eXbW=_*UdK!*-vAJ^|">
                                           <field name="NUM">10</field>
                                         </block>
                                       </value>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                             </block>
                           </value>
                           <statement name="DO1">
                             <block type="timeouts_settimeout" id="O@iuR3r`{/.cX_1v+{f.">
                               <field name="NAME">timeout2</field>
                               <field name="DELAY">60</field>
                               <field name="UNIT">sec</field>
                               <statement name="STATEMENT">
                                 <block type="controls_if" id="nJBa(wJI?W$cxQM#Fs`i">
                                   <value name="IF0">
                                     <block type="logic_compare" id="20M-kn2G(Qw/p@_h)F9G">
                                       <field name="OP">GTE</field>
                                       <value name="A">
                                         <block type="get_value" id="xt(MYqd=,9*};CD`47{=">
                                           <field name="ATTR">val</field>
                                           <field name="OID">shelly.0.SHSW-25#00B630#1.Relay1.Power</field>
                                         </block>
                                       </value>
                                       <value name="B">
                                         <block type="math_number" id="oUG%s(E64c33cc8#a/[H">
                                           <field name="NUM">10</field>
                                         </block>
                                       </value>
                                     </block>
                                   </value>
                                   <statement name="DO0">
                                     <block type="control" id="3vqq{hVY@qK#.bYZ5EsK">
                                       <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                       <field name="OID">shelly.0.SHSW-1#5B33F0#1.Relay0.Switch</field>
                                       <field name="WITH_DELAY">FALSE</field>
                                       <value name="VALUE">
                                         <block type="logic_boolean" id="otl;z-JLI`X]~IXDy4K(">
                                           <field name="BOOL">TRUE</field>
                                         </block>
                                       </value>
                                     </block>
                                   </statement>
                                   <next>
                                     <block type="variables_set" id=";MmTjZE;W.u~43Y(7D6$">
                                       <field name="VAR" id="timeout2" variabletype="timeout">timeout2</field>
                                       <value name="VALUE">
                                         <block type="logic_null" id="m]%g=GPR@$03C48.{Et,"></block>
                                       </value>
                                     </block>
                                   </next>
                                 </block>
                               </statement>
                             </block>
                           </statement>
                         </block>
                       </next>
                     </block>
                   </statement>
                 </block>
                </xml>
                

                Jetzt wo ich das hier sehe ist das mit dem timeout schlecht gelöst, ich sollte das in einem timeoutblock zusammenfassen...irgendwie...

                mickymM 1 Reply Last reply
                0
                • S skinni

                  @paul53 Danke dafür! Euch beiden. Ich hab zwar deinen code immer noch nicht ganz durchschaut, aber daraus hab ich folgendes gebaut. Auf den ersten Blick scheint es zu funktionieren.

                  chlori2.png

                  <xml xmlns="https://developers.google.com/blockly/xml">
                   <variables>
                     <variable id="lIh3t+xCY,#WHGCT}aTp">Chlor</variable>
                     <variable type="timeout" id="timeout">timeout</variable>
                     <variable type="timeout" id="timeout2">timeout2</variable>
                     <variable id="ROl/m!,ZQuB=|(JQ17=;">timeout</variable>
                   </variables>
                   <block type="on_ext" id="%]eMX/7{=?l%xNsq4r=b" x="-644" y="-256">
                     <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                     <field name="CONDITION">ne</field>
                     <field name="ACK_CONDITION"></field>
                     <value name="OID0">
                       <shadow type="field_oid" id="3.L.+Kh}m=JxHlQa+C~,">
                         <field name="oid">ph803w.0.2tqRa88FgaUS5AxgARVYug.redox.value</field>
                       </shadow>
                     </value>
                     <statement name="STATEMENT">
                       <block type="controls_if" id="8Se9yr`}E`f,nN^9[Bk#">
                         <mutation elseif="1"></mutation>
                         <value name="IF0">
                           <block type="logic_operation" id="`:@1fe`j5;c*%QXHdNI9">
                             <field name="OP">AND</field>
                             <value name="A">
                               <block type="logic_compare" id="5-Z3V/5mkjrPk7E=p/U0">
                                 <field name="OP">LTE</field>
                                 <value name="A">
                                   <block type="get_value" id="=:AL6kxMaD}eK[}ieqw-">
                                     <field name="ATTR">val</field>
                                     <field name="OID">ph803w.0.2tqRa88FgaUS5AxgARVYug.redox.value</field>
                                   </block>
                                 </value>
                                 <value name="B">
                                   <block type="math_number" id="Ti]LDqaczFGBjAds0[ZA">
                                     <field name="NUM">560</field>
                                   </block>
                                 </value>
                               </block>
                             </value>
                             <value name="B">
                               <block type="logic_compare" id="#`M7aP+K.bc{?veFMY#C">
                                 <field name="OP">LTE</field>
                                 <value name="A">
                                   <block type="get_value" id="A(W~~VKuQl:1YaDiJW[C">
                                     <field name="ATTR">val</field>
                                     <field name="OID">0_userdata.0.Chlorinator_Laufzeit</field>
                                   </block>
                                 </value>
                                 <value name="B">
                                   <block type="math_number" id="dVw/)c0Y7tBn2_+lj/`,">
                                     <field name="NUM">17200</field>
                                   </block>
                                 </value>
                               </block>
                             </value>
                           </block>
                         </value>
                         <statement name="DO0">
                           <block type="variables_set" id="_}:]Q~@,U/T{oeE$K}gN">
                             <field name="VAR" id="lIh3t+xCY,#WHGCT}aTp">Chlor</field>
                             <value name="VALUE">
                               <block type="logic_boolean" id="?4m@lB2g3xmF69:mA@gZ">
                                 <field name="BOOL">TRUE</field>
                               </block>
                             </value>
                           </block>
                         </statement>
                         <value name="IF1">
                           <block type="logic_compare" id="Hfz$1fO1:T963c;_j7=(">
                             <field name="OP">GTE</field>
                             <value name="A">
                               <block type="get_value" id="NmhX3Dy-@XCw]I_yfqp)">
                                 <field name="ATTR">val</field>
                                 <field name="OID">ph803w.0.2tqRa88FgaUS5AxgARVYug.redox.value</field>
                               </block>
                             </value>
                             <value name="B">
                               <block type="math_number" id="%y[V/N{x0feZgV$IT5bO">
                                 <field name="NUM">570</field>
                               </block>
                             </value>
                           </block>
                         </value>
                         <statement name="DO1">
                           <block type="variables_set" id="3`o%H[os2|FOGOhy,O{6">
                             <field name="VAR" id="lIh3t+xCY,#WHGCT}aTp">Chlor</field>
                             <value name="VALUE">
                               <block type="logic_boolean" id="sN4hlDdf]R0peWFdV?q:">
                                 <field name="BOOL">FALSE</field>
                               </block>
                             </value>
                           </block>
                         </statement>
                         <next>
                           <block type="controls_if" id="!VP?w(qQ6mWcri7!W5Z;">
                             <mutation elseif="1"></mutation>
                             <value name="IF0">
                               <block type="logic_operation" id="XN$wcMuX,Qa]]gw?A+wt" inline="false">
                                 <field name="OP">AND</field>
                                 <value name="A">
                                   <block type="logic_negate" id="cG/uN?1Xe@pd?X)r-nVw">
                                     <value name="BOOL">
                                       <block type="variables_get" id="(stR}xVTBOM[bkL_}C!d">
                                         <field name="VAR" id="ROl/m!,ZQuB=|(JQ17=;">timeout</field>
                                       </block>
                                     </value>
                                   </block>
                                 </value>
                                 <value name="B">
                                   <block type="logic_operation" id="?wvO}FWI6dj*t[$5|9.%" inline="false">
                                     <field name="OP">AND</field>
                                     <value name="A">
                                       <block type="logic_compare" id="L6Yt@6P}X*CKxRTaK)HZ">
                                         <field name="OP">EQ</field>
                                         <value name="A">
                                           <block type="variables_get" id=".djORK]^-}sHKH^rhz+.">
                                             <field name="VAR" id="lIh3t+xCY,#WHGCT}aTp">Chlor</field>
                                           </block>
                                         </value>
                                         <value name="B">
                                           <block type="logic_boolean" id=")n={]XOXa$rr74+}ICqz">
                                             <field name="BOOL">TRUE</field>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
                                     <value name="B">
                                       <block type="logic_compare" id="ndWLo*2T|(CRY.iWQ?:+">
                                         <field name="OP">LTE</field>
                                         <value name="A">
                                           <block type="get_value" id="MQJ!rr_.4?g1|6RkF%2q">
                                             <field name="ATTR">val</field>
                                             <field name="OID">shelly.0.SHSW-25#00B630#1.Relay1.Power</field>
                                           </block>
                                         </value>
                                         <value name="B">
                                           <block type="math_number" id="BjE/`z5csL`vVn6#36lG">
                                             <field name="NUM">10</field>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
                                   </block>
                                 </value>
                               </block>
                             </value>
                             <statement name="DO0">
                               <block type="timeouts_settimeout" id="8jSUoYRtHobot2Y+O[Y0">
                                 <field name="NAME">timeout</field>
                                 <field name="DELAY">60</field>
                                 <field name="UNIT">sec</field>
                                 <statement name="STATEMENT">
                                   <block type="controls_if" id="uCVBhL`Mu/`Q0x@.Q=!E">
                                     <value name="IF0">
                                       <block type="logic_compare" id="I_{GM6#3XTJb`/^2GG)(">
                                         <field name="OP">LTE</field>
                                         <value name="A">
                                           <block type="get_value" id="Sx.n68KX-ju5R*wWh$Xf">
                                             <field name="ATTR">val</field>
                                             <field name="OID">shelly.0.SHSW-25#00B630#1.Relay1.Power</field>
                                           </block>
                                         </value>
                                         <value name="B">
                                           <block type="math_number" id="c%g(TBAId,vN]9_mKB#R">
                                             <field name="NUM">10</field>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
                                     <statement name="DO0">
                                       <block type="control" id=";|ICx1a#N[Bl$1/(+[:G">
                                         <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                         <field name="OID">shelly.0.SHSW-1#5B33F0#1.Relay0.Switch</field>
                                         <field name="WITH_DELAY">FALSE</field>
                                         <value name="VALUE">
                                           <block type="logic_boolean" id="8I9bG_1BAYvef,F7cnMB">
                                             <field name="BOOL">TRUE</field>
                                           </block>
                                         </value>
                                       </block>
                                     </statement>
                                     <next>
                                       <block type="variables_set" id="fFK.`i,@AXlf!2;5eQ0v">
                                         <field name="VAR" id="ROl/m!,ZQuB=|(JQ17=;">timeout</field>
                                         <value name="VALUE">
                                           <block type="logic_null" id="8x1?XF;7vWRy=O/OaIWp"></block>
                                         </value>
                                       </block>
                                     </next>
                                   </block>
                                 </statement>
                               </block>
                             </statement>
                             <value name="IF1">
                               <block type="logic_operation" id="y|i9}iXi75yVPIK71rMN" inline="false">
                                 <field name="OP">AND</field>
                                 <value name="A">
                                   <block type="logic_negate" id="Kq@%DTPKo=s-%T9NijTF">
                                     <value name="BOOL">
                                       <block type="variables_get" id=".UN`h^6KXbNq8,tw=?dx">
                                         <field name="VAR" id="ROl/m!,ZQuB=|(JQ17=;">timeout</field>
                                       </block>
                                     </value>
                                   </block>
                                 </value>
                                 <value name="B">
                                   <block type="logic_operation" id="tK+PNiI.kx%A074n=rT3" inline="false">
                                     <field name="OP">AND</field>
                                     <value name="A">
                                       <block type="logic_compare" id="RW!u^5Q-Bq%KRvc4$VIC">
                                         <field name="OP">EQ</field>
                                         <value name="A">
                                           <block type="variables_get" id="v,uzMq@31%OcqRp^jl}5">
                                             <field name="VAR" id="lIh3t+xCY,#WHGCT}aTp">Chlor</field>
                                           </block>
                                         </value>
                                         <value name="B">
                                           <block type="logic_boolean" id="Q:KlhV!ZBT3U+7P#ARS3">
                                             <field name="BOOL">FALSE</field>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
                                     <value name="B">
                                       <block type="logic_compare" id="`$KA-%Z$jIB)FBnex%_y">
                                         <field name="OP">GTE</field>
                                         <value name="A">
                                           <block type="get_value" id="]16jf|IR*n=sVzl)hFZI">
                                             <field name="ATTR">val</field>
                                             <field name="OID">shelly.0.SHSW-25#00B630#1.Relay1.Power</field>
                                           </block>
                                         </value>
                                         <value name="B">
                                           <block type="math_number" id="E9eXbW=_*UdK!*-vAJ^|">
                                             <field name="NUM">10</field>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
                                   </block>
                                 </value>
                               </block>
                             </value>
                             <statement name="DO1">
                               <block type="timeouts_settimeout" id="O@iuR3r`{/.cX_1v+{f.">
                                 <field name="NAME">timeout2</field>
                                 <field name="DELAY">60</field>
                                 <field name="UNIT">sec</field>
                                 <statement name="STATEMENT">
                                   <block type="controls_if" id="nJBa(wJI?W$cxQM#Fs`i">
                                     <value name="IF0">
                                       <block type="logic_compare" id="20M-kn2G(Qw/p@_h)F9G">
                                         <field name="OP">GTE</field>
                                         <value name="A">
                                           <block type="get_value" id="xt(MYqd=,9*};CD`47{=">
                                             <field name="ATTR">val</field>
                                             <field name="OID">shelly.0.SHSW-25#00B630#1.Relay1.Power</field>
                                           </block>
                                         </value>
                                         <value name="B">
                                           <block type="math_number" id="oUG%s(E64c33cc8#a/[H">
                                             <field name="NUM">10</field>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
                                     <statement name="DO0">
                                       <block type="control" id="3vqq{hVY@qK#.bYZ5EsK">
                                         <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                         <field name="OID">shelly.0.SHSW-1#5B33F0#1.Relay0.Switch</field>
                                         <field name="WITH_DELAY">FALSE</field>
                                         <value name="VALUE">
                                           <block type="logic_boolean" id="otl;z-JLI`X]~IXDy4K(">
                                             <field name="BOOL">TRUE</field>
                                           </block>
                                         </value>
                                       </block>
                                     </statement>
                                     <next>
                                       <block type="variables_set" id=";MmTjZE;W.u~43Y(7D6$">
                                         <field name="VAR" id="timeout2" variabletype="timeout">timeout2</field>
                                         <value name="VALUE">
                                           <block type="logic_null" id="m]%g=GPR@$03C48.{Et,"></block>
                                         </value>
                                       </block>
                                     </next>
                                   </block>
                                 </statement>
                               </block>
                             </statement>
                           </block>
                         </next>
                       </block>
                     </statement>
                   </block>
                  </xml>
                  

                  Jetzt wo ich das hier sehe ist das mit dem timeout schlecht gelöst, ich sollte das in einem timeoutblock zusammenfassen...irgendwie...

                  mickymM Offline
                  mickymM Offline
                  mickym
                  Most Active
                  wrote on last edited by
                  #8

                  @skinni
                  Grundsätzlich könntest Du ja auch aktiv über ein Zeitintervall alle Minuten den aktuellen Chlorgehalt abfragen. Dann machst Du Dich ebenfalls vom Chlormesser als Trigger unabhängig.

                  Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                  S 1 Reply Last reply
                  0
                  • mickymM mickym

                    @skinni
                    Grundsätzlich könntest Du ja auch aktiv über ein Zeitintervall alle Minuten den aktuellen Chlorgehalt abfragen. Dann machst Du Dich ebenfalls vom Chlormesser als Trigger unabhängig.

                    S Offline
                    S Offline
                    skinni
                    wrote on last edited by skinni
                    #9

                    @mickym Darüber muss ich nachdenken :)

                    Passt das so, oder hab ich jetzt nen Denkfehler:

                    chlori3.png

                    <xml xmlns="https://developers.google.com/blockly/xml">
                     <variables>
                       <variable id="lIh3t+xCY,#WHGCT}aTp">Chlor</variable>
                       <variable type="timeout" id="timeout">timeout</variable>
                       <variable id="ROl/m!,ZQuB=|(JQ17=;">timeout</variable>
                     </variables>
                     <block type="on_ext" id="%]eMX/7{=?l%xNsq4r=b" x="-644" y="-256">
                       <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                       <field name="CONDITION">ne</field>
                       <field name="ACK_CONDITION"></field>
                       <value name="OID0">
                         <shadow type="field_oid" id="3.L.+Kh}m=JxHlQa+C~,">
                           <field name="oid">ph803w.0.2tqRa88FgaUS5AxgARVYug.redox.value</field>
                         </shadow>
                       </value>
                       <statement name="STATEMENT">
                         <block type="controls_if" id="8Se9yr`}E`f,nN^9[Bk#">
                           <mutation elseif="1"></mutation>
                           <value name="IF0">
                             <block type="logic_operation" id="`:@1fe`j5;c*%QXHdNI9">
                               <field name="OP">AND</field>
                               <value name="A">
                                 <block type="logic_compare" id="5-Z3V/5mkjrPk7E=p/U0">
                                   <field name="OP">LTE</field>
                                   <value name="A">
                                     <block type="get_value" id="=:AL6kxMaD}eK[}ieqw-">
                                       <field name="ATTR">val</field>
                                       <field name="OID">ph803w.0.2tqRa88FgaUS5AxgARVYug.redox.value</field>
                                     </block>
                                   </value>
                                   <value name="B">
                                     <block type="math_number" id="Ti]LDqaczFGBjAds0[ZA">
                                       <field name="NUM">560</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                               <value name="B">
                                 <block type="logic_compare" id="#`M7aP+K.bc{?veFMY#C">
                                   <field name="OP">LTE</field>
                                   <value name="A">
                                     <block type="get_value" id="A(W~~VKuQl:1YaDiJW[C">
                                       <field name="ATTR">val</field>
                                       <field name="OID">0_userdata.0.Chlorinator_Laufzeit</field>
                                     </block>
                                   </value>
                                   <value name="B">
                                     <block type="math_number" id="dVw/)c0Y7tBn2_+lj/`,">
                                       <field name="NUM">17200</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                             </block>
                           </value>
                           <statement name="DO0">
                             <block type="variables_set" id="_}:]Q~@,U/T{oeE$K}gN">
                               <field name="VAR" id="lIh3t+xCY,#WHGCT}aTp">Chlor</field>
                               <value name="VALUE">
                                 <block type="logic_boolean" id="?4m@lB2g3xmF69:mA@gZ">
                                   <field name="BOOL">TRUE</field>
                                 </block>
                               </value>
                             </block>
                           </statement>
                           <value name="IF1">
                             <block type="logic_compare" id="Hfz$1fO1:T963c;_j7=(">
                               <field name="OP">GTE</field>
                               <value name="A">
                                 <block type="get_value" id="NmhX3Dy-@XCw]I_yfqp)">
                                   <field name="ATTR">val</field>
                                   <field name="OID">ph803w.0.2tqRa88FgaUS5AxgARVYug.redox.value</field>
                                 </block>
                               </value>
                               <value name="B">
                                 <block type="math_number" id="%y[V/N{x0feZgV$IT5bO">
                                   <field name="NUM">570</field>
                                 </block>
                               </value>
                             </block>
                           </value>
                           <statement name="DO1">
                             <block type="variables_set" id="3`o%H[os2|FOGOhy,O{6">
                               <field name="VAR" id="lIh3t+xCY,#WHGCT}aTp">Chlor</field>
                               <value name="VALUE">
                                 <block type="logic_boolean" id="sN4hlDdf]R0peWFdV?q:">
                                   <field name="BOOL">FALSE</field>
                                 </block>
                               </value>
                             </block>
                           </statement>
                           <next>
                             <block type="controls_if" id="!VP?w(qQ6mWcri7!W5Z;">
                               <value name="IF0">
                                 <block type="logic_negate" id="cG/uN?1Xe@pd?X)r-nVw">
                                   <value name="BOOL">
                                     <block type="variables_get" id="(stR}xVTBOM[bkL_}C!d">
                                       <field name="VAR" id="ROl/m!,ZQuB=|(JQ17=;">timeout</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                               <statement name="DO0">
                                 <block type="timeouts_settimeout" id="8jSUoYRtHobot2Y+O[Y0">
                                   <field name="NAME">timeout</field>
                                   <field name="DELAY">60</field>
                                   <field name="UNIT">sec</field>
                                   <statement name="STATEMENT">
                                     <block type="controls_if" id="uCVBhL`Mu/`Q0x@.Q=!E">
                                       <mutation elseif="1"></mutation>
                                       <value name="IF0">
                                         <block type="logic_operation" id="?wvO}FWI6dj*t[$5|9.%" inline="false">
                                           <field name="OP">AND</field>
                                           <value name="A">
                                             <block type="logic_compare" id="L6Yt@6P}X*CKxRTaK)HZ">
                                               <field name="OP">EQ</field>
                                               <value name="A">
                                                 <block type="variables_get" id=".djORK]^-}sHKH^rhz+.">
                                                   <field name="VAR" id="lIh3t+xCY,#WHGCT}aTp">Chlor</field>
                                                 </block>
                                               </value>
                                               <value name="B">
                                                 <block type="logic_boolean" id=")n={]XOXa$rr74+}ICqz">
                                                   <field name="BOOL">TRUE</field>
                                                 </block>
                                               </value>
                                             </block>
                                           </value>
                                           <value name="B">
                                             <block type="logic_compare" id="ndWLo*2T|(CRY.iWQ?:+">
                                               <field name="OP">LTE</field>
                                               <value name="A">
                                                 <block type="get_value" id="MQJ!rr_.4?g1|6RkF%2q">
                                                   <field name="ATTR">val</field>
                                                   <field name="OID">shelly.0.SHSW-25#00B630#1.Relay1.Power</field>
                                                 </block>
                                               </value>
                                               <value name="B">
                                                 <block type="math_number" id="BjE/`z5csL`vVn6#36lG">
                                                   <field name="NUM">10</field>
                                                 </block>
                                               </value>
                                             </block>
                                           </value>
                                         </block>
                                       </value>
                                       <statement name="DO0">
                                         <block type="control" id=";|ICx1a#N[Bl$1/(+[:G">
                                           <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                           <field name="OID">shelly.0.SHSW-1#5B33F0#1.Relay0.Switch</field>
                                           <field name="WITH_DELAY">FALSE</field>
                                           <value name="VALUE">
                                             <block type="logic_boolean" id="8I9bG_1BAYvef,F7cnMB">
                                               <field name="BOOL">TRUE</field>
                                             </block>
                                           </value>
                                         </block>
                                       </statement>
                                       <value name="IF1">
                                         <block type="logic_operation" id="tK+PNiI.kx%A074n=rT3" inline="false">
                                           <field name="OP">AND</field>
                                           <value name="A">
                                             <block type="logic_compare" id="RW!u^5Q-Bq%KRvc4$VIC">
                                               <field name="OP">EQ</field>
                                               <value name="A">
                                                 <block type="variables_get" id="v,uzMq@31%OcqRp^jl}5">
                                                   <field name="VAR" id="lIh3t+xCY,#WHGCT}aTp">Chlor</field>
                                                 </block>
                                               </value>
                                               <value name="B">
                                                 <block type="logic_boolean" id="Q:KlhV!ZBT3U+7P#ARS3">
                                                   <field name="BOOL">FALSE</field>
                                                 </block>
                                               </value>
                                             </block>
                                           </value>
                                           <value name="B">
                                             <block type="logic_compare" id="`$KA-%Z$jIB)FBnex%_y">
                                               <field name="OP">GTE</field>
                                               <value name="A">
                                                 <block type="get_value" id="]16jf|IR*n=sVzl)hFZI">
                                                   <field name="ATTR">val</field>
                                                   <field name="OID">shelly.0.SHSW-25#00B630#1.Relay1.Power</field>
                                                 </block>
                                               </value>
                                               <value name="B">
                                                 <block type="math_number" id="E9eXbW=_*UdK!*-vAJ^|">
                                                   <field name="NUM">10</field>
                                                 </block>
                                               </value>
                                             </block>
                                           </value>
                                         </block>
                                       </value>
                                       <statement name="DO1">
                                         <block type="control" id="3vqq{hVY@qK#.bYZ5EsK">
                                           <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                           <field name="OID">shelly.0.SHSW-1#5B33F0#1.Relay0.Switch</field>
                                           <field name="WITH_DELAY">FALSE</field>
                                           <value name="VALUE">
                                             <block type="logic_boolean" id="otl;z-JLI`X]~IXDy4K(">
                                               <field name="BOOL">TRUE</field>
                                             </block>
                                           </value>
                                         </block>
                                       </statement>
                                       <next>
                                         <block type="variables_set" id="fFK.`i,@AXlf!2;5eQ0v">
                                           <field name="VAR" id="ROl/m!,ZQuB=|(JQ17=;">timeout</field>
                                           <value name="VALUE">
                                             <block type="logic_null" id="8x1?XF;7vWRy=O/OaIWp"></block>
                                           </value>
                                         </block>
                                       </next>
                                     </block>
                                   </statement>
                                 </block>
                               </statement>
                             </block>
                           </next>
                         </block>
                       </statement>
                     </block>
                    </xml>
                    

                    1 Reply Last reply
                    0
                    • S Offline
                      S Offline
                      skinni
                      wrote on last edited by
                      #10

                      chloristeuerung2.png

                      🤔

                      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

                      280

                      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