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.
    • 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
                                • paul53
                                  paul53 @siporax last edited by

                                  @siporax sagte: muss den Ordner erstellen ?

                                  Nein, dort muss die DS18B20-Temperatur zugewiesen werden.

                                  Für "WP" muss ein eigener Datenpunkt unter "0_userdata.0" vom Typ "Logikwert" vorhanden sein / erstellt werden.

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

                                    @paul53 Ok Datenpunkt erstellt.
                                    Was ich noch nicht verstehe wo wird mein Relais nun geschaltet in dem Script.
                                    Das brauche ich um das im Vis darstellen zu können oder bin ich da falsch?
                                    Oder kann ich den Datenpunkt direkt dazu verwenden ?

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

                                      @siporax sagte: wo wird mein Relais nun geschaltet in dem Script.

                                      Weshalb ein Relais schalten?

                                      @siporax sagte in Einschaltwert über Temperatur erfassen:

                                      Oder kann ich den Datenpunkt direkt dazu verwenden ?

                                      Ja, der eigene Datenpunkt kann in Vis verwendet werden.

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

                                        @paul53 said in Einschaltwert über Temperatur erfassen:

                                        @siporax sagte: wo wird mein Relais nun geschaltet in dem Script.

                                        Weshalb ein Relais schalten?

                                        @siporax sagte in Einschaltwert über Temperatur erfassen:

                                        Oder kann ich den Datenpunkt direkt dazu verwenden ?

                                        Ja, der eigene Datenpunkt kann in Vis verwendet werden.

                                        Klasse ,Danke ich teste das mal

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

                                          @siporax sagte: ich teste das mal

                                          Ich habe das Skript noch um die Initialisierung von istEin bei Skriptstart erweitert:

                                          Blockly_temp.JPG

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

                                            @paul53 Mache ich gleich.
                                            Habe mal nachgemessen ich habe in 16 Minuten einen Temperaturabfall von 0,1°C im Speicher.
                                            Ist doch lang für das Script.
                                            Denke er Vergleich ja nur 1x oder vergleich er immer wieder bis sich das was ändert und die 5 Minuten stoßen das nur wieder von vorne an?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            772
                                            Online

                                            32.0k
                                            Users

                                            80.4k
                                            Topics

                                            1.3m
                                            Posts

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