Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Störungsmeldung der Heizung

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Störungsmeldung der Heizung

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

      @tiobb sagte: Schaltet der Shelly den Heizungskeller ein

      Wird etwa der komplette Wärmeerzeuger per Shelly stromlos gemacht?

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

        @paul53
        Ja genau, der komplette Heizungsraum ist dann ohne Spannung. Die letzten 10 Jahre habe ich das immer über eine Zeitschaltuhr in der Verteilung gesteuert, die konnte aber bloß 6 Schaltzyklen am Tag, und ich musste mehrmals im Jahr (Frühling, Sommer, Herbst, Winter) die Schaltzeiten und die Schaltdauer anpassen. Nun baue ich mir 4 Scripte für die "Jahreszeiten" die ich dann mit einem Mausklick abrufen kann. Ich spare durch diese Steuerung im Jahr ca 700 Liter Öl.

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

          @tiobb sagte: Schaltet der Shelly den Heizungskeller ein, geht die Leistung auf ca. 100 Watt hoch (Umwälzpumpe und Stromversorgung Heizung), springt der Brenner dann nach ca. einer Minute an, geht die Leistungsaufnahme auf 400 Watt hoch.

          Dann versuche es mal mit zwei eigenen Datenpunkten (unter "0_userdata.0").

          Bild_2021-09-06_180743.png

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

            @paul53
            guten Morgen und mal wieder danke für Deine Hilfe.
            Wofür muss ich Datenpunkte erzeugen, kann ich nicht direkt die Werte vom Shelly nehmen? Ich habe Dein Blockly mal nachgebaut und etwas verändert. Die Werte von der Pumpe brauche ich ja nicht, ich brauche ja nur die gesamte Leistungsaufnahme vom Heizungskeller. Objekt ID "Power" ist der Leistungswert vom Shelly. Habe es mal laufen lassen, aber keine Meldung. Das Script reagiert aber sobald ich die Heizung einschalteHabe 2 Sekunden timeout nur zum Testen eingetragen.

            Störung Heizung.png

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

              @tiobb sagte: Wofür muss ich Datenpunkte erzeugen,

              Zum Triggern auf "wurde geändert", wenn die jeweilige Bedingung erfüllt ist.

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

                @paul53
                Den Datenpunkt vom Shelly (Leistungsanzeige) kann man nicht zum triggern nehmen?

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

                  @tiobb sagte: Den Datenpunkt vom Shelly (Leistungsanzeige) kann man nicht zum triggern nehmen?

                  Der triggert nur den ersten Block, denn der Wert ändert sich ständig.

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

                    @paul53
                    Ok, dann werde ich mal Datenpunkte erstellen.

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

                      @tiobb sagte: Den Datenpunkt vom Shelly (Leistungsanzeige) kann man nicht zum triggern nehmen?

                      Es geht auch ohne zusätzliche Datenpunkte:

                      Bild_2021-09-07_121910.png

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

                        @paul53
                        Danke, das macht es für mich etwas übersichtlicher als mit zusätzlichen Datenpunkten. Was bewirken die bei beiden "stop timeout"?

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

                          @tiobb sagte: Was bewirken die bei beiden "stop timeout"?

                          Ohne das untere "stop timeout" würde die Störungsmeldung auch erfolgen, wenn der Brenner innerhalb der 2 Minuten gestartet ist. Das obere "stop timeout" verhindert die Störungsmeldung, wenn innerhalb von 2 Minuten wieder abgeschaltet wird.

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

                            @paul53
                            👍 🍻

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

                              @paul53
                              Guten morgen, ich schon wieder 😇
                              Habe das Script eben mal getestet, habe den Brenner direkt an der Heizung aus geschaltet damit der Brenner nicht anspringen kann. Ich bekomme dann auch nach knapp 2 Minuten eine Störungsmeldung 👍 aber die bekomme ich alle 15 Sekunden. Wo bzw wie kann ich da ein "Stop" einbauen, denn einmal Störung reicht mir.

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

                                @tiobb sagte: die bekomme ich alle 15 Sekunden.

                                Poste bitte den erzeugten Javascript-Code ohne die letzte Zeile in Code tags.
                                Wert und vorheriger Wert stammen aus Trigger?

                                Blockly_DP_Props.JPG

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

                                  @paul53

                                  <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">state.val</field>
                                                </block>
                                              </value>
                                              <value name="B">
                                                <block type="math_number" id="/+3eJXWCA#~z8kPZKbI~">
                                                  <field name="NUM">70</field>
                                                </block>
                                              </value>
                                            </block>
                                          </value>
                                          <statement name="DO1">
                                            <block type="timeouts_settimeout" id="XRuPGUJ.$KCvZEFjgIi8">
                                              <field name="NAME">timeout</field>
                                              <field name="DELAY">2</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>
                                                  <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">200</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>
                                  
                                  paul53 1 Reply Last reply Reply Quote 0
                                  • paul53
                                    paul53 @tiobb last edited by paul53

                                    @tiobb
                                    Wenn Du anstelle von "vorheriger Wert" "Wert" nimmst und dann noch mit einem anderen Vergleichswert, kann es nicht funktionieren.

                                    <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">2</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>
                                                   <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">200</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>
                                    

                                    So wird der Timer nur gestartet, wenn

                                    Wert >= 60 UND vorheriger Wert < 60
                                    

                                    In Deinem Fall wurde alle 15 s ein neuer Timer gestartet, wenn die Leistung zwischen 60 und 70 schwankte.

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

                                      @paul53
                                      Danke, darauf wäre ich nie gekommen. Ich werde es morgen gleich testen.
                                      Schönen Abend noch.

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

                                      Support us

                                      ioBroker
                                      Community Adapters
                                      Donate

                                      464
                                      Online

                                      32.0k
                                      Users

                                      80.4k
                                      Topics

                                      1.3m
                                      Posts

                                      2
                                      18
                                      757
                                      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