Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Poolpumpe Laufzeit / Wetter abhängig

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

Poolpumpe Laufzeit / Wetter abhängig

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
blockly
25 Beiträge 4 Kommentatoren 2.6k Aufrufe 7 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • paul53P paul53

    @miwi sagte:

    Allerdings geht bei mir nicht aktualisieren sondern nur steuern.

    Ist "Laufzeit Poolpumpe" eine SV der CCU ?

    @miwi sagte in Poolpumpe Laufzeit / Wetter abhängig:

    Welche Möglichkeit habe ich denn die 120 Minuten nach 17 Uhr Geschichte einzubinden?

    Vorschlag

    Blockly_temp.JPG

    <xml xmlns="https://developers.google.com/blockly/xml">
     <variables>
       <variable id="KK_K1*4!#u#L5r]7fK|u">sonne</variable>
       <variable id=";Z},Dn+Bo98||o|F3lN?">ein</variable>
       <variable id="?$;0.@hZeIZufDiQ`Fbh">laufzeit</variable>
       <variable type="interval" id="Intervall">Intervall</variable>
       <variable id="Z(:_=RIT;X$`2]DB:Iw%">mindestein</variable>
     </variables>
     <block type="variables_set" id=";$){Z[|%Vr`8++B^=cxu" x="63" y="-37">
       <field name="VAR" id="KK_K1*4!#u#L5r]7fK|u">sonne</field>
       <value name="VALUE">
         <block type="get_value" id="2G5ltNqEH3nW_[ItEox+">
           <field name="ATTR">val</field>
           <field name="OID">ID auswählen</field>
         </block>
       </value>
       <next>
         <block type="variables_set" id="{rka@A0_6*}9_rvx]avy">
           <field name="VAR" id="?$;0.@hZeIZufDiQ`Fbh">laufzeit</field>
           <value name="VALUE">
             <block type="get_value" id="fl9#5i2}q@bWUH7Gt`ND">
               <field name="ATTR">val</field>
               <field name="OID">ID auswählen</field>
             </block>
           </value>
           <next>
             <block type="procedures_callnoreturn" id="KgJzRV|4b.$Loc0hYC4V" inline="true">
               <mutation name="pumpenlaufzeit">
                 <arg name="ein"></arg>
               </mutation>
               <value name="ARG0">
                 <block type="get_value" id="mF/+tpJyqZ?Vhu~ru)!G">
                   <field name="ATTR">val</field>
                   <field name="OID">ID auswählen</field>
                 </block>
               </value>
               <next>
                 <block type="comment" id="(I4(/%U!HWmeN[u!4}p~">
                   <field name="COMMENT">Sonne</field>
                   <next>
                     <block type="on_ext" id="`Dzq,Mj/+y`:+,0~X#$z">
                       <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="57Kq|m%~1XfKBt7mK*AU">
                           <field name="oid">default</field>
                         </shadow>
                       </value>
                       <statement name="STATEMENT">
                         <block type="variables_set" id="t$r5dkC$eBQ-idN1,lzd">
                           <field name="VAR" id="KK_K1*4!#u#L5r]7fK|u">sonne</field>
                           <value name="VALUE">
                             <block type="on_source" id=".=}K/bM?#*BIi1W.q52Q">
                               <field name="ATTR">state.val</field>
                             </block>
                           </value>
                           <next>
                             <block type="control" id="yjqpJkC:fmd8`LAVJ1oD">
                               <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="variables_get" id="..!S0Sz0QKSJONOrT9eU">
                                   <field name="VAR" id="KK_K1*4!#u#L5r]7fK|u">sonne</field>
                                 </block>
                               </value>
                             </block>
                           </next>
                         </block>
                       </statement>
                       <next>
                         <block type="comment" id="Dm[Y%P.WIH;vYQE^_dN?">
                           <field name="COMMENT">Pumpe</field>
                           <next>
                             <block type="on_ext" id="ZvB?olx]3GQf5.I-clT?">
                               <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="_r`XmuW/9[UNGZTe}%fb">
                                   <field name="oid">default</field>
                                 </shadow>
                               </value>
                               <statement name="STATEMENT">
                                 <block type="procedures_callnoreturn" id="$/sd,I$tY)QlMaFtfE[B" inline="true">
                                   <mutation name="pumpenlaufzeit">
                                     <arg name="ein"></arg>
                                   </mutation>
                                   <value name="ARG0">
                                     <block type="on_source" id="Ez;Bse*m-[0T}.rNmj_[">
                                       <field name="ATTR">state.val</field>
                                     </block>
                                   </value>
                                 </block>
                               </statement>
                               <next>
                                 <block type="schedule" id="}=@qWYlmj;#i3{9572$l">
                                   <field name="SCHEDULE">0 17 * * *</field>
                                   <statement name="STATEMENT">
                                     <block type="controls_if" id="l+yJ6w!HmSW4,km12?3i">
                                       <value name="IF0">
                                         <block type="logic_compare" id="KZw%)+tr}DGj)WX.;s}3">
                                           <field name="OP">LT</field>
                                           <value name="A">
                                             <block type="variables_get" id="|FpU}csnI7:44PwVPX!3">
                                               <field name="VAR" id="?$;0.@hZeIZufDiQ`Fbh">laufzeit</field>
                                             </block>
                                           </value>
                                           <value name="B">
                                             <block type="math_number" id="m=y{i=/Vi5I300FMY0/U">
                                               <field name="NUM">120</field>
                                             </block>
                                           </value>
                                         </block>
                                       </value>
                                       <statement name="DO0">
                                         <block type="variables_set" id="Mo?OV~4pb~%x~F(1Tu!5">
                                           <field name="VAR" id="Z(:_=RIT;X$`2]DB:Iw%">mindestein</field>
                                           <value name="VALUE">
                                             <block type="logic_boolean" id="uoux8a`yJEyg:P!jXOsu">
                                               <field name="BOOL">TRUE</field>
                                             </block>
                                           </value>
                                           <next>
                                             <block type="controls_if" id="Yyin(1ejVQo.uDgsMB?{">
                                               <value name="IF0">
                                                 <block type="logic_negate" id="Uf!xC9YP2D;kHI#={QpV">
                                                   <value name="BOOL">
                                                     <block type="variables_get" id="8v$b%r~W,6^q{PZo7na!">
                                                       <field name="VAR" id="KK_K1*4!#u#L5r]7fK|u">sonne</field>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </value>
                                               <statement name="DO0">
                                                 <block type="control" id="NNzld`X(C;Mn+v6qXHtp">
                                                   <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="axRAQ@$F1vF+Y^3K5TIr">
                                                       <field name="BOOL">TRUE</field>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </statement>
                                             </block>
                                           </next>
                                         </block>
                                       </statement>
                                     </block>
                                   </statement>
                                 </block>
                               </next>
                             </block>
                           </next>
                         </block>
                       </next>
                     </block>
                   </next>
                 </block>
               </next>
             </block>
           </next>
         </block>
       </next>
     </block>
     <block type="procedures_defnoreturn" id="hIzlV3JP-YCVj-J1O!C?" x="587" y="-37">
       <mutation>
         <arg name="ein" varid=";Z},Dn+Bo98||o|F3lN?"></arg>
       </mutation>
       <field name="NAME">pumpenlaufzeit</field>
       <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
       <statement name="STACK">
         <block type="controls_if" id="ZlvI*PEU[kefXy6OgTX%">
           <mutation else="1"></mutation>
           <value name="IF0">
             <block type="variables_get" id="wdin+69AVLYIt0?v6_d3">
               <field name="VAR" id=";Z},Dn+Bo98||o|F3lN?">ein</field>
             </block>
           </value>
           <statement name="DO0">
             <block type="timeouts_setinterval" id="U+np8D+pw/qdri/1~DD`">
               <field name="NAME">Intervall</field>
               <field name="INTERVAL">1</field>
               <field name="UNIT">min</field>
               <statement name="STATEMENT">
                 <block type="math_change" id="Ni`{jdmvb]`HF^oAmp5^">
                   <field name="VAR" id="?$;0.@hZeIZufDiQ`Fbh">laufzeit</field>
                   <value name="DELTA">
                     <shadow type="math_number" id="z8XXP+8hI^vLP9xjC!~@">
                       <field name="NUM">1</field>
                     </shadow>
                   </value>
                   <next>
                     <block type="update" id="{v26(Ox$b`}Hflq|nJoV">
                       <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="variables_get" id="55tI78PxQA6xip?OR}0Z">
                           <field name="VAR" id="?$;0.@hZeIZufDiQ`Fbh">laufzeit</field>
                         </block>
                       </value>
                       <next>
                         <block type="controls_if" id="Yha!Lz){yKb0GmS,Hu:M">
                           <value name="IF0">
                             <block type="logic_compare" id="V}_H3@v6I~-UhR.sp5p_">
                               <field name="OP">GTE</field>
                               <value name="A">
                                 <block type="variables_get" id="exU(5}4WQM.Yt^$YA5Eg">
                                   <field name="VAR" id="?$;0.@hZeIZufDiQ`Fbh">laufzeit</field>
                                 </block>
                               </value>
                               <value name="B">
                                 <block type="math_number" id="bITTq1WDOT+X)5,oslE#">
                                   <field name="NUM">120</field>
                                 </block>
                               </value>
                             </block>
                           </value>
                           <statement name="DO0">
                             <block type="controls_if" id="DxDPnQ=7c}7:p|Dzn$JD">
                               <value name="IF0">
                                 <block type="logic_operation" id="wZT4|0++,lZ_43q~|izX" inline="false">
                                   <field name="OP">AND</field>
                                   <value name="A">
                                     <block type="logic_negate" id="7s,EN$N@F,]P0DB{zC`K">
                                       <value name="BOOL">
                                         <block type="variables_get" id="aekYqGy*C_7eFv8bme1^">
                                           <field name="VAR" id="KK_K1*4!#u#L5r]7fK|u">sonne</field>
                                         </block>
                                       </value>
                                     </block>
                                   </value>
                                   <value name="B">
                                     <block type="variables_get" id="X3ID%3slLN!fXP^@jAYY">
                                       <field name="VAR" id="Z(:_=RIT;X$`2]DB:Iw%">mindestein</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                               <statement name="DO0">
                                 <block type="control" id="PyN,qr9n4WEB7IUslgM3">
                                   <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="h$ZqvkEkg=gx%,u^dNHZ">
                                       <field name="BOOL">FALSE</field>
                                     </block>
                                   </value>
                                 </block>
                               </statement>
                               <next>
                                 <block type="variables_set" id="s,;G0ewk5JI@#6`hvz_I">
                                   <field name="VAR" id="Z(:_=RIT;X$`2]DB:Iw%">mindestein</field>
                                   <value name="VALUE">
                                     <block type="logic_boolean" id="d2cDP63R~jV?EUlq,HPe">
                                       <field name="BOOL">FALSE</field>
                                     </block>
                                   </value>
                                 </block>
                               </next>
                             </block>
                           </statement>
                         </block>
                       </next>
                     </block>
                   </next>
                 </block>
               </statement>
             </block>
           </statement>
           <statement name="ELSE">
             <block type="timeouts_clearinterval" id="%|/KgV8$tN*@~9_#[AnO">
               <field name="NAME">Intervall</field>
             </block>
           </statement>
         </block>
       </statement>
     </block>
     <block type="schedule" id="7^t@=MSgFKMyU=m@g1:R" x="713" y="437">
       <field name="SCHEDULE">59 23 * * *</field>
       <statement name="STATEMENT">
         <block type="variables_set" id="VYN%ri5L4thrl)ybv}`K">
           <field name="VAR" id="?$;0.@hZeIZufDiQ`Fbh">laufzeit</field>
           <value name="VALUE">
             <block type="math_number" id="c=pU4!!2gHrB1IyACZ{j">
               <field name="NUM">0</field>
             </block>
           </value>
           <next>
             <block type="update" id="#i1Yb|#EEU|/Y~OwYj=7">
               <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="math_number" id="j|:gd(!Kv=t@T;lnVT:w">
                   <field name="NUM">0</field>
                 </block>
               </value>
             </block>
           </next>
         </block>
       </statement>
     </block>
    </xml>
    

    HomoranH Nicht stören
    HomoranH Nicht stören
    Homoran
    Global Moderator Administrators
    schrieb am zuletzt editiert von
    #8

    @paul53
    Du kannst es nicht lassen ;-)
    Super!

    Da muss ich mich auch nochmal durchbeissen

    kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

    der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

    1 Antwort Letzte Antwort
    0
    • miwiM Offline
      miwiM Offline
      miwi
      schrieb am zuletzt editiert von
      #9

      Hallo zusammen,

      ich habe in den letzten Tagen versucht "im Rahmen meiner Möglichkeiten" die Logik von Skripten zu verstehen.
      Hierzu hatte ich mir selbst ein Blockly erstellt, welches auch einigermaßen funktioniert.

      Das Skript von Paul habe ich mir näher angesehen, jedoch verstehe ich manche Abläufe nicht.
      Ich habe das Skript mal kopiert und bei den unklaren Schritten Kommentare zugefügt.

      Pumpe1.jpg
      Pumpe2.jpg

      Vielen Dank für die super Hilfe !!!!

      miwi

      paul53P 1 Antwort Letzte Antwort
      0
      • miwiM miwi

        Hallo zusammen,

        ich habe in den letzten Tagen versucht "im Rahmen meiner Möglichkeiten" die Logik von Skripten zu verstehen.
        Hierzu hatte ich mir selbst ein Blockly erstellt, welches auch einigermaßen funktioniert.

        Das Skript von Paul habe ich mir näher angesehen, jedoch verstehe ich manche Abläufe nicht.
        Ich habe das Skript mal kopiert und bei den unklaren Schritten Kommentare zugefügt.

        Pumpe1.jpg
        Pumpe2.jpg

        Vielen Dank für die super Hilfe !!!!

        miwi

        paul53P Offline
        paul53P Offline
        paul53
        schrieb am zuletzt editiert von paul53
        #10

        @miwi sagte:

        bei den unklaren Schritten Kommentare zugefügt.

        1. Ja, Pumpenaktor
        2. Ja, SV "Sonne scheint"

        Die ersten 3 Blöcke werden bei Start des Skriptes ausgeführt, die weiteren bei Trigger-Ereignissen.

        1. Wert enthält den Wert des Trigger-Datenpunktes, ist also wahr, wenn die Sonne scheint
        2. Die Pumpe soll einschalten, wenn die Sonne scheint
        3. Ja, der Pumpenaktor
        4. Wert enthält den Wert des Trigger-Datenpunktes, ist also wahr, wenn die Pumpe läuft
        5. pumpenlaufzeit(ein) ist eine Funktion. Bei Aufruf der Funktion wird an die Variable ein übergeben, dass die Pumpe läuft
        6. Ja, der Datenpunkt "Pumpenlaufzeit" wird aktualisiert
        7. mindestein = false bedeutet, dass die Mindestlaufzeit von 120 Minuten erreicht wurde

        Weshalb soll die Pumpe nur in der Zeit von 11:00 bis 19:00 Uhr laufen ?

        Blockly_temp.JPG

        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

        1 Antwort Letzte Antwort
        0
        • miwiM Offline
          miwiM Offline
          miwi
          schrieb am zuletzt editiert von
          #11

          Danke für die Erklärung. Dies macht es für mich jetzt verständlich.

          Eine Frage noch: In Punkt 4. Welches Objekt soll mit "sonne" gesteuert werden? Der Aktor kennt ja nur true oder false.

          Die Laufzeitbeschränkung ist nur der Hosenträger zum Gürtel. Die SysVar Sonne_scheint wird nur bei einer Differenz der HM Temp-Diffsensoren auf true gestellt und ist somit Abhängig vom Sonnenstand. Somit ist je nach Jahreszeit diese Variable zwischen 11:00 bis ca. 19:00 Uhr wahr (je nach Jahreszeit und Sonneneinstrahlung).
          Mit der Festlegung der Uhrzeiz soll nur sichergestellt werden, dass die Pumpe nicht aus irgendeinem Grund später oder früher läuft.
          Zusätzlich werde ich noch eine Prüfung um 19:05 Uhr einbauen, die prüft ob der Aktor auch tatsächlich aus ist.

          Gruß

          miwi

          paul53P 1 Antwort Letzte Antwort
          0
          • miwiM miwi

            Danke für die Erklärung. Dies macht es für mich jetzt verständlich.

            Eine Frage noch: In Punkt 4. Welches Objekt soll mit "sonne" gesteuert werden? Der Aktor kennt ja nur true oder false.

            Die Laufzeitbeschränkung ist nur der Hosenträger zum Gürtel. Die SysVar Sonne_scheint wird nur bei einer Differenz der HM Temp-Diffsensoren auf true gestellt und ist somit Abhängig vom Sonnenstand. Somit ist je nach Jahreszeit diese Variable zwischen 11:00 bis ca. 19:00 Uhr wahr (je nach Jahreszeit und Sonneneinstrahlung).
            Mit der Festlegung der Uhrzeiz soll nur sichergestellt werden, dass die Pumpe nicht aus irgendeinem Grund später oder früher läuft.
            Zusätzlich werde ich noch eine Prüfung um 19:05 Uhr einbauen, die prüft ob der Aktor auch tatsächlich aus ist.

            Gruß

            miwi

            paul53P Offline
            paul53P Offline
            paul53
            schrieb am zuletzt editiert von paul53
            #12

            @miwi sagte:

            Welches Objekt soll mit "sonne" gesteuert werden? Der Aktor kennt ja nur true oder false.

            ... und die SV "Sonne scheint" und somit die Variable sonne auch.

            @miwi sagte in Poolpumpe Laufzeit / Wetter abhängig:

            diese Variable zwischen 11:00 bis ca. 19:00 Uhr wahr (je nach Jahreszeit und Sonneneinstrahlung).

            Wenn das ohnehin so ist, kann die zusätzliche Abfrage der Uhrzeit (und die 2 Zeit-Trigger) entfallen.

            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

            1 Antwort Letzte Antwort
            0
            • D Offline
              D Offline
              dan11hh
              schrieb am zuletzt editiert von dan11hh
              #13

              Ich hoffe ich darf mich hier auch einmal einschalten. Habe gerade an unserer Pumpe einen Shelly3EM installiert und möchte die Zustände in einen benutzerdefinierten Datenpunkt schreiben. Hintergrund der etwas komplizierten konstruktion ist, dass ich noch einen manuellen Schalter an den Schütz-Schalter, der die 400V schaltet, gebaut habe. Sprich, es könnte sein, dass das Relais des Shelly "wahr" anzeigt und die Pumpe nicht läuft, weil der Hardware-Schalter abgeschaltet ist. Er zeigt mir nach meinem Blockly auch brav true an für "PumpeStatus" aber eben auch bei "PumpeFehlfunktion". Sollte aber "PumpeStatus"=true und "PumpeFehlfunktion"=falseKann mir jemand helfen? 1000 Dank.!Bildschirmfoto 2020-06-04 um 17.51.29.png

              paul53P 1 Antwort Letzte Antwort
              0
              • D dan11hh

                Ich hoffe ich darf mich hier auch einmal einschalten. Habe gerade an unserer Pumpe einen Shelly3EM installiert und möchte die Zustände in einen benutzerdefinierten Datenpunkt schreiben. Hintergrund der etwas komplizierten konstruktion ist, dass ich noch einen manuellen Schalter an den Schütz-Schalter, der die 400V schaltet, gebaut habe. Sprich, es könnte sein, dass das Relais des Shelly "wahr" anzeigt und die Pumpe nicht läuft, weil der Hardware-Schalter abgeschaltet ist. Er zeigt mir nach meinem Blockly auch brav true an für "PumpeStatus" aber eben auch bei "PumpeFehlfunktion". Sollte aber "PumpeStatus"=true und "PumpeFehlfunktion"=falseKann mir jemand helfen? 1000 Dank.!Bildschirmfoto 2020-06-04 um 17.51.29.png

                paul53P Offline
                paul53P Offline
                paul53
                schrieb am zuletzt editiert von paul53
                #14

                @dan11hh
                Keine Trigger innerhalb von Triggern verwenden !

                Vorschlag:

                Blockly_temp.JPG

                EDIT: falls nicht Intervall ergänzt.

                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

                1 Antwort Letzte Antwort
                0
                • D Offline
                  D Offline
                  dan11hh
                  schrieb am zuletzt editiert von
                  #15

                  Hallo Paul, vielen Dank für Deinen Vorschlag. Das sieht auf jeden Fall schon "professioneller" aus, als mein laienhaftes zusammengeklicke. Irgendwie stehe ich oft mit Blockly auf Kriegsfuß und bin schon deshalb am überlegen ob ich mir nicht Javascript etwas genauer anschauen sollte. Ich probier deinen Vorschlag morgen einmal aus und gebe dann Rückmeldung. Vielen Dank für Deine Hilfe! Grüße Daniel

                  1 Antwort Letzte Antwort
                  0
                  • D Offline
                    D Offline
                    dan11hh
                    schrieb am zuletzt editiert von
                    #16

                    Hallo Paul,

                    ich hab das jetzt mal nachgebaut (auch um deinen Vorschlag zu durchschauen). Ich versteh es aber leider nicht ganz oder es führt mich nicht wirklich zu meinem Ziel. Was ich möchte ist:

                    Triggern ob das Relais vom Shelly "true" ist. Wenn das so ist, dann soll noch die Bedingung überprüft werden, ob auch Strom fließt ( Wert>0). Falls ja, dann soll es den Zustand des Objekts PumpeStatus auf true setzen, gleichzeitig PumpeFehler auf false. Dann soll es noch das Objekt PumpeLaufzeit um jeweils eine Minute hochzählen und zwar solange Strom fließt und das Relais auf true steht. Falls nicht, möchte ich das Objekt PumpeFehler auf true setzen und PumpeStatus auf false.

                    Ich verstehe die Zuweisung beim Fehler in deinem Vorschlag nicht so ganz. Macht das Sinn, wenn ich obiges Erreichen möchte. Blockly und ich werden aktuell wirklich keine Freunde. Auf der CCU2 kam ich mit den zusammengeklickten Skripten immer gut klar, aber Blockly ist leider oft ein Buch mit sieben Siegeln. seufz
                    1000 Dank für Deine Hilfe!!!

                    paul53P 1 Antwort Letzte Antwort
                    0
                    • D dan11hh

                      Hallo Paul,

                      ich hab das jetzt mal nachgebaut (auch um deinen Vorschlag zu durchschauen). Ich versteh es aber leider nicht ganz oder es führt mich nicht wirklich zu meinem Ziel. Was ich möchte ist:

                      Triggern ob das Relais vom Shelly "true" ist. Wenn das so ist, dann soll noch die Bedingung überprüft werden, ob auch Strom fließt ( Wert>0). Falls ja, dann soll es den Zustand des Objekts PumpeStatus auf true setzen, gleichzeitig PumpeFehler auf false. Dann soll es noch das Objekt PumpeLaufzeit um jeweils eine Minute hochzählen und zwar solange Strom fließt und das Relais auf true steht. Falls nicht, möchte ich das Objekt PumpeFehler auf true setzen und PumpeStatus auf false.

                      Ich verstehe die Zuweisung beim Fehler in deinem Vorschlag nicht so ganz. Macht das Sinn, wenn ich obiges Erreichen möchte. Blockly und ich werden aktuell wirklich keine Freunde. Auf der CCU2 kam ich mit den zusammengeklickten Skripten immer gut klar, aber Blockly ist leider oft ein Buch mit sieben Siegeln. seufz
                      1000 Dank für Deine Hilfe!!!

                      paul53P Offline
                      paul53P Offline
                      paul53
                      schrieb am zuletzt editiert von paul53
                      #17

                      @dan11hh sagte:

                      Macht das Sinn, wenn ich obiges Erreichen möchte.

                      Ja, wenn nur dann Strom fließt, wenn die Pumpe per Shelly eingeschaltet ist. Dann genügt es, den Stromfluss als "Pumpe läuft" auszuwerten. Shelly enthält den Sollzustand, die Variable strom den Istzustand.

                      @dan11hh sagte in Poolpumpe Laufzeit / Wetter abhängig:

                      Ich verstehe die Zuweisung beim Fehler in deinem Vorschlag nicht so ganz.

                      Wenn Stromfluss und Shelly sich widersprechen, wird es als Fehler gewertet.

                      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

                      1 Antwort Letzte Antwort
                      0
                      • D Offline
                        D Offline
                        dan11hh
                        schrieb am zuletzt editiert von
                        #18

                        Oh man, wahrscheinlich ist Dein Skript viel zu effizient für mich. Wo wird denn kontrolliert ob Strom fließt? Der Wert des Datenpunktes der über 0 sein muss, wird ja gar nicht abgefragt, oder?

                        paul53P 1 Antwort Letzte Antwort
                        0
                        • D dan11hh

                          Oh man, wahrscheinlich ist Dein Skript viel zu effizient für mich. Wo wird denn kontrolliert ob Strom fließt? Der Wert des Datenpunktes der über 0 sein muss, wird ja gar nicht abgefragt, oder?

                          paul53P Offline
                          paul53P Offline
                          paul53
                          schrieb am zuletzt editiert von paul53
                          #19

                          @dan11hh sagte:

                          Der Wert des Datenpunktes der über 0 sein muss, wird ja gar nicht abgefragt, oder?

                          Das ist der untere Trigger. Genügt der Kommentar "Strom" nicht ?
                          Die Variable strom wird true, wenn Stromfluss (Wert des Trigger-Datenpunktes) > 0.1 ist.

                          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

                          1 Antwort Letzte Antwort
                          0
                          • D Offline
                            D Offline
                            dan11hh
                            schrieb am zuletzt editiert von
                            #20

                            Tja offenbar bei mir Hohlbirne nicht. Wahrscheinlich liegt es daran, dass ich nicht weiß in welche Datenpunkte du schreibst/liest. (kannst du ja auch nicht wissen) Ich denke, es ist eher ein grundsätzliches Blockly Verständnis Problem. Ich wurschtel mal weiter. Was heißt denn "Wert"? Ist das einfach eine zusätzliche Variable? Und: Verweisen die beiden Trigger aufs gleiche Objekt? Werden die Trigger in Deinem Vorschlag einfach hintereinander abgearbeitet? Ich verstehe überhaupt nicht wieso nicht vorher die Variable Strom nicht definiert werden muss (Format, Zustand, etc.).

                            paul53P 1 Antwort Letzte Antwort
                            0
                            • D dan11hh

                              Tja offenbar bei mir Hohlbirne nicht. Wahrscheinlich liegt es daran, dass ich nicht weiß in welche Datenpunkte du schreibst/liest. (kannst du ja auch nicht wissen) Ich denke, es ist eher ein grundsätzliches Blockly Verständnis Problem. Ich wurschtel mal weiter. Was heißt denn "Wert"? Ist das einfach eine zusätzliche Variable? Und: Verweisen die beiden Trigger aufs gleiche Objekt? Werden die Trigger in Deinem Vorschlag einfach hintereinander abgearbeitet? Ich verstehe überhaupt nicht wieso nicht vorher die Variable Strom nicht definiert werden muss (Format, Zustand, etc.).

                              paul53P Offline
                              paul53P Offline
                              paul53
                              schrieb am zuletzt editiert von paul53
                              #21

                              @dan11hh sagte in Poolpumpe Laufzeit / Wetter abhängig:

                              Was heißt denn "Wert"? Ist das einfach eine zusätzliche Variable?

                              Das ist der Wert des Trigger-Datenpunktes (zu finden unter "Trigger").

                              Blockly_DP_Props.JPG

                              @dan11hh sagte in Poolpumpe Laufzeit / Wetter abhängig:

                              Verweisen die beiden Trigger aufs gleiche Objekt?

                              Nein, natürlich nicht: Wie kommentiert - der obere Trigger reagiert auf den Aktor (Switch), der untere Trigger auf den Strom-Messwert (Total Current).

                              @dan11hh sagte in Poolpumpe Laufzeit / Wetter abhängig:

                              Werden die Trigger in Deinem Vorschlag einfach hintereinander abgearbeitet?

                              Trigger lösen aus, wenn das zum Trigger definierte Ereignis (die Wertänderung) stattfindet.

                              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

                              1 Antwort Letzte Antwort
                              0
                              • D Offline
                                D Offline
                                dan11hh
                                schrieb am zuletzt editiert von
                                #22

                                Ahhh jetzt wird einiges klarer. Mir fehlt leider noch viel Verständnis was Blockly angeht. Sorry. Bisher funktioniert es nämlich noch nicht. Jetzt geh ich nochmal drüber. 1000 Dank.

                                paul53P 1 Antwort Letzte Antwort
                                0
                                • D dan11hh

                                  Ahhh jetzt wird einiges klarer. Mir fehlt leider noch viel Verständnis was Blockly angeht. Sorry. Bisher funktioniert es nämlich noch nicht. Jetzt geh ich nochmal drüber. 1000 Dank.

                                  paul53P Offline
                                  paul53P Offline
                                  paul53
                                  schrieb am zuletzt editiert von
                                  #23

                                  @dan11hh
                                  Mir ist gerade aufgefallen, dass noch eine zusätzliche Abfrage erforderlich ist, um ein mehrfaches Starten des Intervalls zu verhindern: falls nicht Intervall:

                                  Blockly_temp.JPG

                                  Da die Variable Intervall nicht angeboten wird, muss man erst einmal eine andere Variable in den Editor ziehen und kann anschließend Intervall auswählen.

                                  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

                                  1 Antwort Letzte Antwort
                                  0
                                  • D Offline
                                    D Offline
                                    dan11hh
                                    schrieb am zuletzt editiert von dan11hh
                                    #24

                                    Lieber Paul,
                                    bin erst jetzt leider dazu gekommen das Skript umzusetzen. Den Wert des Zustandes auf true setzen funktioniert wunderbar, allerdings wird bei der Laufzeit nur bis 1 gezählt. Ideen? Möglicherweise hab ich nicht die richtigen Objekte bzw. Datenpunkte hinterlegt, denn, zugegeben, so ganz steige ich durch das Skript noch nicht durch. Würde mir auch gerne noch die LaufzeitTag anzeigen lassen. Idealerweise in Stunden. Das ist nach meinen Recherchen aber wohl etwas kompliziert. Schade, dass es nicht einen "fertigen" Betriebsstundenzähler in Blockly gibt. Freue mich über Deine Anregungen und Hilfestellungen. Danke Dir. Daniel pumpe.png

                                    paul53P 1 Antwort Letzte Antwort
                                    0
                                    • D dan11hh

                                      Lieber Paul,
                                      bin erst jetzt leider dazu gekommen das Skript umzusetzen. Den Wert des Zustandes auf true setzen funktioniert wunderbar, allerdings wird bei der Laufzeit nur bis 1 gezählt. Ideen? Möglicherweise hab ich nicht die richtigen Objekte bzw. Datenpunkte hinterlegt, denn, zugegeben, so ganz steige ich durch das Skript noch nicht durch. Würde mir auch gerne noch die LaufzeitTag anzeigen lassen. Idealerweise in Stunden. Das ist nach meinen Recherchen aber wohl etwas kompliziert. Schade, dass es nicht einen "fertigen" Betriebsstundenzähler in Blockly gibt. Freue mich über Deine Anregungen und Hilfestellungen. Danke Dir. Daniel pumpe.png

                                      paul53P Offline
                                      paul53P Offline
                                      paul53
                                      schrieb am zuletzt editiert von paul53
                                      #25

                                      @dan11hh sagte:

                                      Ideen?

                                      Poste anstatt eines Bildes besser den erzeugten Javascript-Code ohne die letzte Zeile in Code tags, denn da kann man mehr erkennen.

                                      @dan11hh sagte in Poolpumpe Laufzeit / Wetter abhängig:

                                      Würde mir auch gerne noch die LaufzeitTag anzeigen lassen. Idealerweise in Stunden.

                                      Kontinuierlich von Mitternacht an mit 0 beginnend ?

                                      Blockly_temp.JPG

                                      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

                                      1 Antwort Letzte Antwort
                                      0
                                      Antworten
                                      • In einem neuen Thema antworten
                                      Anmelden zum Antworten
                                      • Älteste zuerst
                                      • Neuste zuerst
                                      • Meiste Stimmen


                                      Support us

                                      ioBroker
                                      Community Adapters
                                      Donate

                                      353

                                      Online

                                      32.7k

                                      Benutzer

                                      82.4k

                                      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