Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Einschaltwert über Temperatur erfassen

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Einschaltwert über Temperatur erfassen

    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      siporax @Homoran last edited by

      @homoran said in Einschaltwert über Temperatur erfassen:

      @siporax sagte in Einschaltwert über Temperatur erfassen:

      wo ist hier der Zeit (alle 5 Minuten )

      davon steht nichts in deinem Eröffnungspost

      Du hast dannach gefragt und ich habe dir das Als Antwort gegeben steht weiter oben.
      Habe aber vom Beispiel ein Problem wo finde ich den ersten Block Setze Abweichung auf
      sollte doch unter Trigger zu finden sein in Blockly oder ?

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

        @siporax sagte in Einschaltwert über Temperatur erfassen:

        Setze Abweichung auf
        sollte doch unter Trigger zu finden sein in Blockly oder ?

        oder!

        hat doch nichts mit Triggern zu tun. Abweichung ist eine Variable der ein Wert zugewiesen wird

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

          @homoran said in Einschaltwert über Temperatur erfassen:

          @siporax sagte in Einschaltwert über Temperatur erfassen:

          Setze Abweichung auf
          sollte doch unter Trigger zu finden sein in Blockly oder ?

          oder!

          hat doch nichts mit Triggern zu tun. Abweichung ist eine Variable der ein Wert zugewiesen wird
          Mist noch nie erstellt muss ich mich erst schlau machen

          S 1 Reply Last reply Reply Quote 0
          • S
            siporax @siporax last edited by

            @siporax said in Einschaltwert über Temperatur erfassen:

            @homoran said in Einschaltwert über Temperatur erfassen:

            @siporax sagte in Einschaltwert über Temperatur erfassen:

            Setze Abweichung auf
            sollte doch unter Trigger zu finden sein in Blockly oder ?

            oder!

            hat doch nichts mit Triggern zu tun. Abweichung ist eine Variable der ein Wert zugewiesen wird
            Mist noch nie erstellt muss ich mich erst schlau machen

            Habe mal nachgebaut mit der Variable hoffe es stimmt so.
            Test Temperatur Blockly1.JPG

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

              @siporax sagte in Einschaltwert über Temperatur erfassen:

              hoffe es stimmt so.

              was soll denn aktualisiert werden?

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

                @homoran said in Einschaltwert über Temperatur erfassen:

                @siporax sagte in Einschaltwert über Temperatur erfassen:

                hoffe es stimmt so.

                was soll denn aktualisiert werden?

                <xml xmlns="https://developers.google.com/blockly/xml">
                 <variables>
                   <variable id="+#q}sbU;cU9]yxO-lDC1">Abweichung</variable>
                 </variables>
                 <block type="variables_set" id="m?]6iqd-!BOn;lQIEdlV" x="116" y="-652">
                   <field name="VAR" id="+#q}sbU;cU9]yxO-lDC1">Abweichung</field>
                   <value name="VALUE">
                     <block type="math_number" id="rh?cgbnCT3E|rIVaG69W">
                       <field name="NUM">1</field>
                     </block>
                   </value>
                   <next>
                     <block type="on" id="QaUb7$N.YH1?Iogdb[{W">
                       <field name="OID">sonoff.0.Warmwasserspeicher.DS18B20_Temperature</field>
                       <field name="CONDITION">ne</field>
                       <field name="ACK_CONDITION"></field>
                       <statement name="STATEMENT">
                         <block type="update" id=".v~P?b)=F~4laQPnl~S.">
                           <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_compare" id="MgS(TzKR(xPov)|.~;%O">
                               <field name="OP">GTE</field>
                               <value name="A">
                                 <block type="on_source" id="J2hqtFqsn6O!pFKR,#H9">
                                   <field name="ATTR">state.val</field>
                                 </block>
                               </value>
                               <value name="B">
                                 <block type="math_arithmetic" id="p?y$yYdJ-URA?~Po4l6(">
                                   <field name="OP">ADD</field>
                                   <value name="A">
                                     <shadow type="math_number" id="M`@JEV9s?e,!JQC4N^GN">
                                       <field name="NUM">1</field>
                                     </shadow>
                                     <block type="on_source" id="A5MDlg,KSM,?lgS9U8ly">
                                       <field name="ATTR">oldState.val</field>
                                     </block>
                                   </value>
                                   <value name="B">
                                     <shadow type="math_number" id="X~ud,RTMt$ODVg?zw{%Q">
                                       <field name="NUM">1</field>
                                     </shadow>
                                     <block type="variables_get" id="!dtv=owCSg{[DOls3QU/">
                                       <field name="VAR" id="+#q}sbU;cU9]yxO-lDC1">Abweichung</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                             </block>
                           </value>
                           <next>
                             <block type="update" id="t#CHnKUJ{C=jXlNVj*Hv">
                               <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_compare" id="FM*`IS(FeVro?+=h.4r0">
                                   <field name="OP">LTE</field>
                                   <value name="A">
                                     <block type="on_source" id="ALW/S$nM?Eg,o=JYW~@]">
                                       <field name="ATTR">state.val</field>
                                     </block>
                                   </value>
                                   <value name="B">
                                     <block type="math_arithmetic" id="%iWJES=TpBGg*JbP|-MU">
                                       <field name="OP">MINUS</field>
                                       <value name="A">
                                         <shadow type="math_number">
                                           <field name="NUM">1</field>
                                         </shadow>
                                         <block type="on_source" id="@GtHbeHU4`@Z[){cYvqW">
                                           <field name="ATTR">oldState.val</field>
                                         </block>
                                       </value>
                                       <value name="B">
                                         <shadow type="math_number">
                                           <field name="NUM">1</field>
                                         </shadow>
                                         <block type="variables_get" id="?M@%.K3@m]|]Q-R}Yj8q">
                                           <field name="VAR" id="+#q}sbU;cU9]yxO-lDC1">Abweichung</field>
                                         </block>
                                       </value>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                             </block>
                           </next>
                         </block>
                       </statement>
                     </block>
                   </next>
                 </block>
                </xml>
                

                Homoran 1 Reply Last reply Reply Quote 0
                • T
                  ticaki Developer @siporax last edited by ticaki

                  @siporax
                  Das geht so eher nicht. Mit Triggern hast du keine feste Zeitvorgabe. Zeitplan alten Wert speichern und mit neuem Vergleichen. Das geht zwar auch mit Triggern aber dann muß du zumindest die alten Werte speichern bis die Abweichung zutrifft und erst dann den alten Wert neu speichern.

                  Homoran paul53 S 3 Replies Last reply Reply Quote 0
                  • Homoran
                    Homoran Global Moderator Administrators @siporax last edited by Homoran

                    @siporax was willst du mir mit einer xml-Datei sagen?

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

                      @ticaki sagte in Einschaltwert über Temperatur erfassen:

                      keine feste Zeitvorgabe

                      wo kommt jetzt dauernd diese Zeit her?
                      davon steht nichts im Eröffnungspost

                      S T 2 Replies Last reply Reply Quote 0
                      • S
                        siporax @Homoran last edited by siporax

                        @homoran Test Temperatur Blockly2.JPG
                        Wenn ich das im Intervall laufen lasse hätte ich doch eine Zeitangabe oder nicht?
                        Habe die Zeit im Eröffnungspost Nachgetragen

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

                          Der DS18B20 sendet den Wert zu oft, so dass die Temperaturdifferenz von 1 K zum vorherigen Wert nie zustande kommt. Deshalb:

                          @ticaki sagte in Einschaltwert über Temperatur erfassen:

                          Zeitplan alten Wert speichern und mit neuem Vergleichen.

                          Blockly_temp.JPG

                          Homoran S 3 Replies Last reply Reply Quote 1
                          • S
                            siporax @ticaki last edited by

                            @ticaki Bin schon froh das ich das so hinbekommen haben 🙂 das überfordert meine Kentnisse

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

                              @paul53

                              @paul53 sagte in Einschaltwert über Temperatur erfassen:

                              so dass die Temperaturdifferenz von 1 K zum vorherigen Wert nie zustande kommt.

                              dann könnte man mit (Timestamp - last Timestamp) arbeiten und die Entscheidung an der Kürze der Differenz festmachen

                              1 Reply Last reply Reply Quote 0
                              • T
                                ticaki Developer @Homoran last edited by ticaki

                                @homoran

                                Denke plus 1 °C sollte reichen für den Ein zu Signalisieren zu erfassen.
                                Für den Aus Zustande dann minus 0,5°C.

                                Also wenn die Temperatur dann nach 30 Minuten um 0,5C° gefallen ist, signalisieren wir aus. 🙂 Daher die Zeitkomponente.

                                @siporax
                                Schau dir das von Paul an, gut umgesetzt wie immer.

                                Homoran 1 Reply Last reply Reply Quote 0
                                • S
                                  siporax @paul53 last edited by

                                  @paul53 Danke Paul das muss ich ertmal nachbauen in Blockly und Testen

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

                                    @ticaki siehe letzten Post von mir.
                                    dann arbeitet man eventbasiert und hat trotzdem die Zeit berücksichtigt

                                    T 1 Reply Last reply Reply Quote 0
                                    • T
                                      ticaki Developer @Homoran last edited by

                                      @homoran
                                      hehe... Zeiten brauchste dabei aber auch... und das wird imho tatsächlich kompliziert.

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

                                        @paul53 Kannste mir das script zur verfügung stellen ?
                                        Das möchte ich fehlerfrei übernehmen,wenn das geht.

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

                                          @siporax sagte: script zur verfügung stellen ?

                                          <xml xmlns="https://developers.google.com/blockly/xml">
                                           <variables>
                                             <variable id="Vn6j?jOO?$kDTnqTWGfU">lastTemp</variable>
                                             <variable id="JV,7/}p(l?3Qii59u`wo">temp</variable>
                                             <variable id="L:#sVF3F*)ZIZ7+wyOUD">istEin</variable>
                                           </variables>
                                           <block type="variables_set" id="]!T`lxoBB4d;Cg!NZ]}|" x="-662" y="-1163">
                                             <field name="VAR" id="Vn6j?jOO?$kDTnqTWGfU">lastTemp</field>
                                             <value name="VALUE">
                                               <block type="get_value" id="Iz2p*j8Ax;+XzF=rVKhl">
                                                 <field name="ATTR">val</field>
                                                 <field name="OID">0_userdata.0.Blockly.Temperatur</field>
                                               </block>
                                             </value>
                                             <next>
                                               <block type="schedule" id="9vy9?l/Ip;~mD-a8NGT4">
                                                 <field name="SCHEDULE">*/5 * * * *</field>
                                                 <statement name="STATEMENT">
                                                   <block type="variables_set" id="U2YZi=*EcWMmgr5TH/5B">
                                                     <field name="VAR" id="JV,7/}p(l?3Qii59u`wo">temp</field>
                                                     <value name="VALUE">
                                                       <block type="get_value" id="N5#;gX!iV_`9;l3@%8cd">
                                                         <field name="ATTR">val</field>
                                                         <field name="OID">0_userdata.0.Blockly.Temperatur</field>
                                                       </block>
                                                     </value>
                                                     <next>
                                                       <block type="controls_if" id="yoQjZl{f2D5XcmPJfuK!">
                                                         <mutation elseif="1"></mutation>
                                                         <value name="IF0">
                                                           <block type="logic_compare" id="X9VwCHq$Ikow)bf5R)$P">
                                                             <field name="OP">GTE</field>
                                                             <value name="A">
                                                               <block type="variables_get" id="4pB((16P$wnIiV:_RW{m">
                                                                 <field name="VAR" id="JV,7/}p(l?3Qii59u`wo">temp</field>
                                                               </block>
                                                             </value>
                                                             <value name="B">
                                                               <block type="math_arithmetic" id="-ypD2~#RlcvCw8G=N2QT">
                                                                 <field name="OP">ADD</field>
                                                                 <value name="A">
                                                                   <shadow type="math_number" id="dDkgt-`Ih))K6]iktTJ$">
                                                                     <field name="NUM">1</field>
                                                                   </shadow>
                                                                   <block type="variables_get" id="eidIUFk]Uy{qD6:s)P7W">
                                                                     <field name="VAR" id="Vn6j?jOO?$kDTnqTWGfU">lastTemp</field>
                                                                   </block>
                                                                 </value>
                                                                 <value name="B">
                                                                   <shadow type="math_number" id="m47!La,.3r!*:kGOG:i_">
                                                                     <field name="NUM">1</field>
                                                                   </shadow>
                                                                 </value>
                                                               </block>
                                                             </value>
                                                           </block>
                                                         </value>
                                                         <statement name="DO0">
                                                           <block type="variables_set" id="|;r)}t;NdlJK:U%qf@p@">
                                                             <field name="VAR" id="L:#sVF3F*)ZIZ7+wyOUD">istEin</field>
                                                             <value name="VALUE">
                                                               <block type="logic_boolean" id="Lte;~5RI[HxZmV~:9,l?">
                                                                 <field name="BOOL">TRUE</field>
                                                               </block>
                                                             </value>
                                                           </block>
                                                         </statement>
                                                         <value name="IF1">
                                                           <block type="logic_compare" id="Q8YL?;2opW^@CduOyRkJ">
                                                             <field name="OP">LTE</field>
                                                             <value name="A">
                                                               <block type="variables_get" id="-Z_l4#mR/3NfnymU9R+m">
                                                                 <field name="VAR" id="JV,7/}p(l?3Qii59u`wo">temp</field>
                                                               </block>
                                                             </value>
                                                             <value name="B">
                                                               <block type="math_arithmetic" id="egk=Qz=iAzK-r!HiBrNu">
                                                                 <field name="OP">MINUS</field>
                                                                 <value name="A">
                                                                   <shadow type="math_number" id="dDkgt-`Ih))K6]iktTJ$">
                                                                     <field name="NUM">1</field>
                                                                   </shadow>
                                                                   <block type="variables_get" id="TmLPt[P}QkHvB:Lf*dV}">
                                                                     <field name="VAR" id="Vn6j?jOO?$kDTnqTWGfU">lastTemp</field>
                                                                   </block>
                                                                 </value>
                                                                 <value name="B">
                                                                   <shadow type="math_number" id="V;G{]7/Ek0s|@*?,($6q">
                                                                     <field name="NUM">0.5</field>
                                                                   </shadow>
                                                                 </value>
                                                               </block>
                                                             </value>
                                                           </block>
                                                         </value>
                                                         <statement name="DO1">
                                                           <block type="variables_set" id=",!.Ij;r44xuub.^h%{pf">
                                                             <field name="VAR" id="L:#sVF3F*)ZIZ7+wyOUD">istEin</field>
                                                             <value name="VALUE">
                                                               <block type="logic_boolean" id="6oVc%{sJAP#|aG2JW;F6">
                                                                 <field name="BOOL">FALSE</field>
                                                               </block>
                                                             </value>
                                                           </block>
                                                         </statement>
                                                         <next>
                                                           <block type="update" id="LoMN_Gt.CbXa^4?p?vjq">
                                                             <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                             <field name="OID">0_userdata.0.Blockly.WP</field>
                                                             <field name="WITH_DELAY">FALSE</field>
                                                             <value name="VALUE">
                                                               <block type="variables_get" id="mRHB]k/b2+EI3]6i#%/[">
                                                                 <field name="VAR" id="L:#sVF3F*)ZIZ7+wyOUD">istEin</field>
                                                               </block>
                                                             </value>
                                                             <next>
                                                               <block type="variables_set" id="q=1q;b5nA-;`bgbI8z/d">
                                                                 <field name="VAR" id="Vn6j?jOO?$kDTnqTWGfU">lastTemp</field>
                                                                 <value name="VALUE">
                                                                   <block type="variables_get" id="U!0X(O3pQvmbqtV:lJ]y">
                                                                     <field name="VAR" id="JV,7/}p(l?3Qii59u`wo">temp</field>
                                                                   </block>
                                                                 </value>
                                                               </block>
                                                             </next>
                                                           </block>
                                                         </next>
                                                       </block>
                                                     </next>
                                                   </block>
                                                 </statement>
                                               </block>
                                             </next>
                                           </block>
                                          </xml>
                                          

                                          S 1 Reply Last reply Reply Quote 1
                                          • S
                                            siporax @paul53 last edited by

                                            @paul53 muss den Ordner erstellen ?
                                            0_userdata.0.Blockly.Temperatur

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            493
                                            Online

                                            32.0k
                                            Users

                                            80.4k
                                            Topics

                                            1.3m
                                            Posts

                                            4
                                            59
                                            1962
                                            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