Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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. Poolsteuerung die xte

NEWS

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

  • 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

Geplant Angeheftet Gesperrt Verschoben Blockly
10 Beiträge 3 Kommentatoren 845 Aufrufe 2 Beobachtet
  • Ä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.
  • S Offline
    S Offline
    skinni
    schrieb am zuletzt editiert von
    #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 Antworten Letzte Antwort
    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
      schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
      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
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        0
        • paul53P paul53

          @skinni sagte: Habt ihr einen Ansatz?

          Bild_2021-06-11_132859.png

          S Offline
          S Offline
          skinni
          schrieb am zuletzt editiert von
          #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 Antworten Letzte Antwort
          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
            schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
            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
              schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
              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
                schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                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
                  schrieb am zuletzt editiert von
                  #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 Antwort Letzte Antwort
                  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
                    schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                    0
                    • S Offline
                      S Offline
                      skinni
                      schrieb am zuletzt editiert von
                      #10

                      chloristeuerung2.png

                      🤔

                      1 Antwort Letzte Antwort
                      0

                      Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                      Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                      Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                      Registrieren Anmelden
                      Antworten
                      • In einem neuen Thema antworten
                      Anmelden zum Antworten
                      • Älteste zuerst
                      • Neuste zuerst
                      • Meiste Stimmen


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      559

                      Online

                      32.8k

                      Benutzer

                      82.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