Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. GELÖST Wer kann mir ein kleines Blockly ergänzen.

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    GELÖST Wer kann mir ein kleines Blockly ergänzen.

    This topic has been deleted. Only users with topic management privileges can see it.
    • tiobb
      tiobb last edited by tiobb

      Ich habe ab und an mal das Problem das meine Heizung im Keller ausfällt bzw. auf Störung geht. Der Heizungsonkel findet den Fehler nicht. Der Heizungskeller wird bei mir über einen Shelly geschaltet, über den auch die Überwachung läuft. Ich habe ein Script welches mir dann per Telegram eine Nachricht schickt das die Heizung eine Störung hat. Das Problem, geht die Heizung auf Störung, nachdem wir im Bett sind, haben wir morgens kein warmes Wasser zum Duschen, weil die Umwälzpumpe der Fußbodenheizung die komplette Wärme aus dem Speicher zieht. Da die Wärme im Haus durch die Fußbodenheizung über Nacht kaum abnimmt, meine Frau und ich aber gern morgens warmes Wasser hätten, würde ich gern das Script so erweitern, dass bei Störung der Schelly die Heizung abschaltet, damit keine Pumpen laufen und das warme Wasser im Speicher bleibt. Meine Frau und ich würden uns sehr freuen.

      <xml xmlns="https://developers.google.com/blockly/xml">
        <variables>
          <variable type="timeout" id="timeout">timeout</variable>
        </variables>
        <block type="on_ext" id="^9loASAzRU/?K#sRIU{R" x="238" y="-62">
          <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="EEjrqpK_X,GhU}dn;nj0">
              <field name="oid">shelly.0.SHSW-25#98CDAC245E5E#1.Relay0.Power</field>
            </shadow>
          </value>
          <statement name="STATEMENT">
            <block type="controls_if" id="s1xUC416o^)J1o{Pci#B">
              <mutation elseif="1"></mutation>
              <value name="IF0">
                <block type="logic_compare" id="toWrFr0+?PzVkr`+3SKD">
                  <field name="OP">LT</field>
                  <value name="A">
                    <block type="on_source" id="f4]R$$jIXTcF;c_GA?Gz">
                      <field name="ATTR">state.val</field>
                    </block>
                  </value>
                  <value name="B">
                    <block type="math_number" id="yL+ipuxO!fW:/m+o{-+j">
                      <field name="NUM">60</field>
                    </block>
                  </value>
                </block>
              </value>
              <statement name="DO0">
                <block type="timeouts_cleartimeout" id="f:Vx[n6)1^eS$?Go%`VH">
                  <field name="NAME">timeout</field>
                </block>
              </statement>
              <value name="IF1">
                <block type="logic_compare" id="jSIEToEL3Dwjrh:F{a#c">
                  <field name="OP">LT</field>
                  <value name="A">
                    <block type="on_source" id="{@X7w?x[BP^;a[*#;)gf">
                      <field name="ATTR">oldState.val</field>
                    </block>
                  </value>
                  <value name="B">
                    <block type="math_number" id="/+3eJXWCA#~z8kPZKbI~">
                      <field name="NUM">60</field>
                    </block>
                  </value>
                </block>
              </value>
              <statement name="DO1">
                <block type="timeouts_settimeout" id="XRuPGUJ.$KCvZEFjgIi8">
                  <field name="NAME">timeout</field>
                  <field name="DELAY">3</field>
                  <field name="UNIT">min</field>
                  <statement name="STATEMENT">
                    <block type="telegram" id=";$2Ev#/Ui-b2x]H`DTy+">
                      <field name="INSTANCE"></field>
                      <field name="LOG"></field>
                      <field name="SILENT">FALSE</field>
                      <field name="PARSEMODE">default</field>
                      <field name="ESCAPING">FALSE</field>
                      <field name="DISABLE_WEB_PAGE_PREVIEW">FALSE</field>
                      <value name="MESSAGE">
                        <shadow type="text" id="Q,7z+tn/6hr,C%=*[S?d">
                          <field name="TEXT">Störung Heizung</field>
                        </shadow>
                      </value>
                      <value name="USERNAME">
                        <block type="text" id="bmM[2js4?Vd@r0N*jG7j">
                          <field name="TEXT">Michael</field>
                        </block>
                      </value>
                    </block>
                  </statement>
                </block>
              </statement>
              <next>
                <block type="controls_if" id="ob;3vT+~S|9#am`#=@^_">
                  <value name="IF0">
                    <block type="logic_compare" id="q=eyZLWD(:j_#qda6f0t">
                      <field name="OP">GT</field>
                      <value name="A">
                        <block type="on_source" id="`SYd^JSw}j`KNH)mM}eb">
                          <field name="ATTR">state.val</field>
                        </block>
                      </value>
                      <value name="B">
                        <block type="math_number" id="#j)5Vw04aRbRl}%fyLL]">
                          <field name="NUM">300</field>
                        </block>
                      </value>
                    </block>
                  </value>
                  <statement name="DO0">
                    <block type="timeouts_cleartimeout" id="6]x?c}gouBY4wqSQjh;1">
                      <field name="NAME">timeout</field>
                    </block>
                  </statement>
                </block>
              </next>
            </block>
          </statement>
        </block>
      </xml>
      
      Homoran Codierknecht 2 Replies Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators @tiobb last edited by

        @tiobb bitte Blockly primär als Screenshot posten

        https://forum.iobroker.net/topic/51555/hinweise-für-gute-forenbeiträge/1

        tiobb 1 Reply Last reply Reply Quote 1
        • Codierknecht
          Codierknecht Developer Most Active @tiobb last edited by

          @tiobb

          @homoran sagte in Wer kann mir ein kleines Blockly zu ergänzen.:

          bitte Blockly primär als Screenshot posten

          Das hat nicht nur kosmetische Gründe.
          Um ein Blockly mit z.B. einem Telegram-Block importieren zu können, muss man auch den Telegram-Adapter installiert haben.
          Du kannst Dir sicher vorstellen: Das haben nicht alle!

          1 Reply Last reply Reply Quote 1
          • tiobb
            tiobb @Homoran last edited by tiobb

            @homoran
            @Codierknecht
            Alles klar, hier der Screenshot mit meiner Laienhaften Ergänzung
            Die 60 und die 300 sind die Leistungsaufnahmen der Heizung und der Pumpen

            Bild_2025-01-14_115256573.png

            Homoran Codierknecht 2 Replies Last reply Reply Quote 0
            • Homoran
              Homoran Global Moderator Administrators @tiobb last edited by Homoran

              @tiobb nur aus Interesse:
              ist das das umgewandelte Skript aus deinem anderen Thread?

              @tiobb sagte in Wer kann mir ein kleines Blockly zu ergänzen.:

              dass bei Störung der Schelly die Heizung abschaltet,

              und das funktioniert so nicht?

              1 Reply Last reply Reply Quote 0
              • Codierknecht
                Codierknecht Developer Most Active @tiobb last edited by Codierknecht

                @tiobb
                Das sieht eigentlich ganz OK aus. Was funktioniert daran nicht?

                Bei mir würde das in etwa so aussehen:

                602546d5-b845-4889-8655-e32cea82adfa-image.png

                <xml xmlns="https://developers.google.com/blockly/xml">
                 <variables>
                   <variable type="timeout" id="timeout">timeout</variable>
                 </variables>
                 <block type="on" id="4IX3op/|-h/0e1b[]Def" x="112" y="463">
                   <field name="OID">ID auswählen</field>
                   <field name="CONDITION">ne</field>
                   <field name="ACK_CONDITION"></field>
                   <statement name="STATEMENT">
                     <block type="controls_if" id="#WayGc$jV4lW1*CMmSRv">
                       <mutation else="1"></mutation>
                       <value name="IF0">
                         <block type="logic_operation" id="#-(PNJAVjM`,0;kw[]L|">
                           <field name="OP">AND</field>
                           <value name="A">
                             <block type="logic_compare" id="/x~EagQFW%QaJNse!Z;L">
                               <field name="OP">LT</field>
                               <value name="A">
                                 <block type="on_source" id="^Za-cwnjHI3];M$oD2x+">
                                   <field name="ATTR">state.val</field>
                                 </block>
                               </value>
                               <value name="B">
                                 <block type="math_number" id="mX7ev2=FP_Z#6TrjT#w/">
                                   <field name="NUM">60</field>
                                 </block>
                               </value>
                             </block>
                           </value>
                           <value name="B">
                             <block type="logic_compare" id="l^x!Ut3}nIZ}pjBMC3=7">
                               <field name="OP">GTE</field>
                               <value name="A">
                                 <block type="on_source" id="$GpOiZ!}JV~2HCaJT[we">
                                   <field name="ATTR">oldState.val</field>
                                 </block>
                               </value>
                               <value name="B">
                                 <block type="math_number" id="R!Gy1MMp]~FUUM{Fq;ol">
                                   <field name="NUM">60</field>
                                 </block>
                               </value>
                             </block>
                           </value>
                         </block>
                       </value>
                       <statement name="DO0">
                         <block type="comment" id="M}luGYkf$uMN7%{-`]5T">
                           <field name="COMMENT">timeout starten, wenn der Wert zum ersten mal&amp;#10;unter 60 fällt (Ausfall)</field>
                         </block>
                       </statement>
                       <statement name="ELSE">
                         <block type="timeouts_settimeout" id="7(`gdiix2=mZL9/WB;@$">
                           <field name="NAME">timeout</field>
                           <field name="DELAY">3</field>
                           <field name="UNIT">min</field>
                           <statement name="STATEMENT">
                             <block type="comment" id="dfOI9*2A}Wc+xKJFGE+8">
                               <field name="COMMENT">hier Deine Benachrichtigung einbauen</field>
                               <next>
                                 <block type="control" id="^bK*mE[{6I]YsDff[Iz_">
                                   <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                   <field name="OID">ID auswählen</field>
                                   <field name="WITH_DELAY">FALSE</field>
                                   <value name="VALUE">
                                     <block type="logic_boolean" id="@pu?M$Pc#Ue))K}NAPU-">
                                       <field name="BOOL">FALSE</field>
                                     </block>
                                   </value>
                                 </block>
                               </next>
                             </block>
                           </statement>
                           <next>
                             <block type="comment" id="ErZFjFaa!9[Ni_eD1uP~">
                               <field name="COMMENT">timeout stoppen, wenn Wert wieder über 60&amp;#10;(Wiederanlauf)</field>
                               <next>
                                 <block type="timeouts_cleartimeout" id="vNW@gV3|=I3l3+=pLxS*">
                                   <field name="NAME">timeout</field>
                                 </block>
                               </next>
                             </block>
                           </next>
                         </block>
                       </statement>
                     </block>
                   </statement>
                 </block>
                </xml>
                

                tiobb 1 Reply Last reply Reply Quote 1
                • tiobb
                  tiobb @Codierknecht last edited by

                  @codierknecht
                  @Homoran
                  Ich weiß gar nicht mehr genau wo das Script her stammt 🙈. Ich habe gerade eben erst das Blockly laienhaft erweitert, und kann es nicht wirklich testen, da ich den Fehler nicht reproduzieren kann, erst wenn die Heizung mal wieder ausfällt weiß ich ob es funktioniert.

                  Homoran 1 Reply Last reply Reply Quote 0
                  • Homoran
                    Homoran Global Moderator Administrators @tiobb last edited by

                    @tiobb wenn das telegram funktioniert müsste das Ausschalten der Pumpe auch funktionieren.

                    Wenn nicht, nimm die Version von @Codierknecht

                    Enizig was passiert wenn die Pumpe erstmalig anläuft weiss ich nicht.
                    in deinem Blockly stellt sie sofort wieder aus, @codierknecht fängt das ab

                    Codierknecht tiobb 2 Replies Last reply Reply Quote 0
                    • Codierknecht
                      Codierknecht Developer Most Active @Homoran last edited by

                      @homoran sagte in Wer kann mir ein kleines Blockly zu ergänzen.:

                      in deinem Blockly stellt sie sofort wieder aus

                      Jo - das dürfte ein Problem sein 😉

                      1 Reply Last reply Reply Quote 0
                      • tiobb
                        tiobb @Homoran last edited by tiobb

                        @homoran
                        @Codierknecht
                        Hab den "Abschaltbefehll" jetzt, wie bei @Codierknecht, an die andere Stelle gerückt.
                        Telegram funktioniert einwandfrei. Die Pumpen brauchen unter 60W, und der Brenner braucht etwa eine Minute bis er zuschaltet, dann liegt die Gesamtleistung über 400W. Bleibt die Leistung nach 3 Minuten unter 300W, kommt die Meldung "Störung", weil der Brenner ja nicht angelaufen sein kann, wegen fehlender Leistungsaufnahme. Danke für die Hilfe, ich hoffe es klappt und wir haben bei einer Störung morgens warmes Wasser. Ich brauche dann nur die Störung an der Heizung Quittieren, per Sprachbefehl den Shelly wieder einschalten und alles läuft wieder, bis zur nächsten Störung 😂

                        tiobb 1 Reply Last reply Reply Quote 0
                        • tiobb
                          tiobb @tiobb last edited by tiobb

                          @Codierknecht
                          @Homoran
                          Ich hatte doch tatsächlich gestern um 20:04 Uhr wieder eine Störung, leider hat der Shelly die Heizung nicht abgeschaltet. War jetzt kein Problem, da wir noch nicht schlafen waren. Die Störungsmeldung über Telegram hat funktioniert. Also der Abschaltbefehl muss irgendwie anders gesetzt werden.

                          Codierknecht 1 Reply Last reply Reply Quote 0
                          • Codierknecht
                            Codierknecht Developer Most Active @tiobb last edited by

                            @tiobb
                            Dann zeig bitte mal Dein aktuelles Script.

                            tiobb 1 Reply Last reply Reply Quote 0
                            • tiobb
                              tiobb @Codierknecht last edited by

                              @codierknecht Bild_2025-01-15_103812987.png

                              Codierknecht Eduard77 2 Replies Last reply Reply Quote 0
                              • Codierknecht
                                Codierknecht Developer Most Active @tiobb last edited by Codierknecht

                                @tiobb
                                Nimm mal die Verzögerung beim Schalten raus.
                                Die ist da m.M.n. eigentlich unnötig und nach meiner Erfahrung funktioniert das auch nicht immer einwandfrei.

                                Was steuerst Du denn da? Es sieht so aus als wäre das der gleiche DP wie im Trigger.

                                Edit
                                Im Übrigen: Wenn die Heizung tatsächlich so oft ausfällt (täglich?) sollte sich das mal ein Fachmann ansehen.
                                Auf Dauer dürfte es besser sein, die Ursache abzustellen als an den Symptomen rumzudocktern.

                                tiobb 1 Reply Last reply Reply Quote 0
                                • Eduard77
                                  Eduard77 @tiobb last edited by

                                  @tiobb
                                  wieso schaltest du Power DP aus. Das ist falsche DP bei Shelly.
                                  Du muss Switch DP steuern.
                                  e64fdc3e-6928-4b64-923d-7d267c7d837b-grafik.png

                                  tiobb 1 Reply Last reply Reply Quote 0
                                  • tiobb
                                    tiobb @Codierknecht last edited by

                                    @codierknecht
                                    Der Heizungskeller hängt an einem Shelly. Wenn jetzt also die Heizung auf Störung geht, bekomme ich die Telegram Nachricht und kann dann die Störung an der Heizung Quittieren und die Anlage läuft wieder. Mal läuft sie 4 Monate ohne Probleme, und ab und an, so wie jetzt gerade, auch öfters mal mit Störung. Nun soll, im Falle einer Störung, der Shelly den Heizungskeller abschalten, damit die Umwälzpumpe der Fußbodenheizung nicht die ganze Energie aus dem Warmwasserspeicher zieht und wir dann morgens kein warmes Wasser zum duschen haben.
                                    Wie ich oben schon geschrieben habe finden die Heizungsonkels den Fehler nicht, es wurde schon alles mögliche getauscht.

                                    rug1024 1 Reply Last reply Reply Quote 0
                                    • tiobb
                                      tiobb @Eduard77 last edited by tiobb

                                      @edis77 sagte in Wer kann mir ein kleines Blockly zu ergänzen.:

                                      @tiobb
                                      wieso schaltest du Power DP aus. Das ist falsche DP bei Shelly.
                                      Du muss Switch DP steuern.
                                      e64fdc3e-6928-4b64-923d-7d267c7d837b-grafik.png

                                      Oh Mist, Du hast Recht, in bin eine Zeile nach oben verrutscht, dann kann das ja auch nicht gehen 🙈🙈🙈
                                      hab ich schon geändert.
                                      Danke
                                      Bild_2025-01-15_110049861.png

                                      paul53 1 Reply Last reply Reply Quote 0
                                      • paul53
                                        paul53 @tiobb last edited by

                                        @tiobb sagte: schon geändert.

                                        Ohne Verzögerung unter dem Timeout?

                                        tiobb 1 Reply Last reply Reply Quote 0
                                        • tiobb
                                          tiobb @paul53 last edited by tiobb

                                          @paul53
                                          Hab beide Varianten getestet, so wie das Script jetzt ist (mit und ohne Verzögerung), schaltet sich die Anlage sofort nach dem Einschalten wieder aus. Oder habe ich mit dem Timeout was falsch verstanden?

                                          Edit
                                          Ach, Du meinst eine Verzögerung unter dem Timeout, wie bekomme ich das hin, finde keinen passenden Baustein.

                                          Codierknecht 1 Reply Last reply Reply Quote 0
                                          • Codierknecht
                                            Codierknecht Developer Most Active @tiobb last edited by Codierknecht

                                            @tiobb
                                            Nein. Der Baustein mit dem Ausschalten kommt mit in den Timeout. Direkt unter (oder über) den Telegram-Baustein.

                                            tiobb 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            893
                                            Online

                                            31.9k
                                            Users

                                            80.2k
                                            Topics

                                            1.3m
                                            Posts

                                            6
                                            98
                                            5096
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo