Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Zeit-Script für Heizung lässt Instanz abstürzen

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Zeit-Script für Heizung lässt Instanz abstürzen

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

      Hallo Community,

      folgende Komponenten betrifft mein Problem:

      • Homematic IP Wandthermostat mit Anzeige
      • Lidl Plug (über HUE)

      Assistenten: Alexa, Google Home

      Beschreibung:
      Ich habe in meinem Büro keine Wasserheizung und daher eine Infrarotheizung. Diese hängt an einem Lidl Plug welcher über die HUE Bridge in iobroker eingebunden sind.
      Des Weiteren habe ich ein Thermostat mit Anzeige von Homematic IP. Nun habe ich vor, dass tagsüber zwischen 06:00 Uhr und 18:00 Uhr überprüft wird, ob es kälter als 19° ist und dann die Heizung anspringt bis es 23° ist, und dann die Heizung wieder ausgeht. Sehr simpel alles. Folgendermaßen sieht das aus:

      c528abf5-b3e8-4e10-8199-bbcd1a31a7ff-grafik.png

      Nun stürzt allerdings die Javascript Instanz immer ab, sobald ich das Skript starte und lässt sich auch nicht wieder starten.

      Fehlereinschränkung:
      Ich habe die Zeitschleife mal entfernt, und dann funktioniert es.

      Vermutung:
      Ich schätze, ich baue aus irgend einem Grund eine Endlosschleife, die Java zum abstürzen bringt, aber warum?

      Vielen Dank für eure Hilfe,
      Philipp

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

        @Philipp-Dorn sagte:

        Endlosschleife, die Java zum abstürzen bringt, aber warum?

        Mit "wiederhole" werden regelmäßig Endlosschleifen produziert.
        Trigger auf den Temperatur-Istwert und prüfe innerhalb des Triggers die Zeitspanne mit "falls".

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

          @paul53
          Also meinst du so:

          2b5c8280-69ce-4b35-ac2f-800c44521417-grafik.png

          Wie häufig prüft er denn dann immer? Ist das ein festgestellter Zeitrahmen oder einfach ununterbrochen?

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

            @Philipp-Dorn sagte:

            meinst du so:

            Nein, so:

            Blockly_temp.JPG

            @Philipp-Dorn sagte in Zeit-Script für Heizung lässt Instanz abstürzen:

            Wie häufig prüft er denn dann immer?

            Mit dem Trigger bei jeder Änderung der Temperatur. Wert findet man unter "Trigger".

            <xml xmlns="https://developers.google.com/blockly/xml">
             <variables>
               <variable id="zsYR?U8;m1zri9CahYO$">ein</variable>
             </variables>
             <block type="variables_set" id="kkQG[5#I_`YTn!i(_[Vj" x="88" y="13">
               <field name="VAR" id="zsYR?U8;m1zri9CahYO$">ein</field>
               <value name="VALUE">
                 <block type="get_value" id="%1lj!^4d^*L[8j5EX|kC">
                   <field name="ATTR">val</field>
                   <field name="OID">ID auswählen</field>
                 </block>
               </value>
               <next>
                 <block type="comment" id="9]s4m|Je`91~iF1m,?b7">
                   <field name="COMMENT">actualTemperature</field>
                   <next>
                     <block type="on_ext" id="M_5AOr,xIy?`aOKVZNEf">
                       <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="y;Xkgp^Jt[6SNjHyOj2c">
                           <field name="oid">default</field>
                         </shadow>
                       </value>
                       <statement name="STATEMENT">
                         <block type="controls_if" id="D2o[B$egC$UJqmm$u32y">
                           <mutation else="1"></mutation>
                           <value name="IF0">
                             <block type="time_compare" id="6u=9[X#@iz$.+?v!7,?S">
                               <mutation xmlns="http://www.w3.org/1999/xhtml" end_time="true"></mutation>
                               <field name="OPTION">between</field>
                               <field name="START_TIME">06:00</field>
                               <field name="END_TIME">18:00</field>
                             </block>
                           </value>
                           <statement name="DO0">
                             <block type="controls_if" id="vdqGqoJPB[V7(zUds^v+">
                               <mutation elseif="1"></mutation>
                               <value name="IF0">
                                 <block type="logic_compare" id="5A;Nv#DQ=8/CCmM,^+8|">
                                   <field name="OP">LTE</field>
                                   <value name="A">
                                     <block type="on_source" id="RUQ_$145-^ui=7piD+63">
                                       <field name="ATTR">state.val</field>
                                     </block>
                                   </value>
                                   <value name="B">
                                     <block type="math_number" id="iW2@y@f.W3@E6Z-;YG}-">
                                       <field name="NUM">21</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                               <statement name="DO0">
                                 <block type="variables_set" id="qAE}fY,jkX}T*B)(T@7k">
                                   <field name="VAR" id="zsYR?U8;m1zri9CahYO$">ein</field>
                                   <value name="VALUE">
                                     <block type="logic_boolean" id="|sV,lG#7~D/XPKH0mi?5">
                                       <field name="BOOL">TRUE</field>
                                     </block>
                                   </value>
                                 </block>
                               </statement>
                               <value name="IF1">
                                 <block type="logic_compare" id="gUxU!uCcT~jxG7WKb,Od">
                                   <field name="OP">GTE</field>
                                   <value name="A">
                                     <block type="on_source" id="0n25Mu0V[ZS?@mgscMVb">
                                       <field name="ATTR">state.val</field>
                                     </block>
                                   </value>
                                   <value name="B">
                                     <block type="math_number" id="6CwV_ir~d-J_1pbj`WM6">
                                       <field name="NUM">23</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                               <statement name="DO1">
                                 <block type="variables_set" id="e_pQ@wLMC8lG,,*o7xJc">
                                   <field name="VAR" id="zsYR?U8;m1zri9CahYO$">ein</field>
                                   <value name="VALUE">
                                     <block type="logic_boolean" id="E)C$RvdI1doi`r=ZS`Xh">
                                       <field name="BOOL">FALSE</field>
                                     </block>
                                   </value>
                                 </block>
                               </statement>
                             </block>
                           </statement>
                           <statement name="ELSE">
                             <block type="variables_set" id="jJ,hs*6#^*zBBduKAnP3">
                               <field name="VAR" id="zsYR?U8;m1zri9CahYO$">ein</field>
                               <value name="VALUE">
                                 <block type="logic_boolean" id="h{0gmx!Wr4{ar!U):gp/">
                                   <field name="BOOL">FALSE</field>
                                 </block>
                               </value>
                             </block>
                           </statement>
                           <next>
                             <block type="comment" id="Laq2G#=Xl0FwNX?:fq-*">
                               <field name="COMMENT">Heizung.on</field>
                               <next>
                                 <block type="controls_if" id="J=-$,;1+?Y/;)GAyi];m">
                                   <value name="IF0">
                                     <block type="logic_compare" id="rRLIF5Mc3t^A.lUw^53)">
                                       <field name="OP">NEQ</field>
                                       <value name="A">
                                         <block type="variables_get" id=";*[_6@JHo!3xC0+e.Sq`">
                                           <field name="VAR" id="zsYR?U8;m1zri9CahYO$">ein</field>
                                         </block>
                                       </value>
                                       <value name="B">
                                         <block type="get_value" id="*lxu5Jee:c^zjM+tG*1i">
                                           <field name="ATTR">val</field>
                                           <field name="OID">ID auswählen</field>
                                         </block>
                                       </value>
                                     </block>
                                   </value>
                                   <statement name="DO0">
                                     <block type="control" id="J1R2LaNvD_uCq82K/,I5">
                                       <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                       <field name="OID">Object ID</field>
                                       <field name="WITH_DELAY">FALSE</field>
                                       <value name="VALUE">
                                         <block type="variables_get" id="LJ}9DVZL:dscqxOQWHId">
                                           <field name="VAR" id="zsYR?U8;m1zri9CahYO$">ein</field>
                                         </block>
                                       </value>
                                     </block>
                                   </statement>
                                 </block>
                               </next>
                             </block>
                           </next>
                         </block>
                       </statement>
                     </block>
                   </next>
                 </block>
               </next>
             </block>
            </xml>
            

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

              @paul53 vielen Dank! Auch wenn ich dachte es, wäre simpler...umso spannender wenn ich im Sommer dann noch die Außentemperatur mit einbezieen will.
              Habe mal alles eingesetzt und schaue wie es funktioniert! Vielen Dank!

              3d494aa5-6d4a-48fe-b3b7-67ef888f02ef-grafik.png

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

                @Philipp-Dorn
                Weshalb hast Du Wert (das ist der Wert des Trigger-Datenpunktes) nicht gelassen ?

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

                  @paul53
                  Oh, habs tatsächlich einfach übersehen, war keine Absicht. Wobei es keinen Unterschied machen dürfte, oder?

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

                    @Philipp-Dorn sagte:

                    Wobei es keinen Unterschied machen dürfte, oder?

                    Was das Ergebnis betrifft: Kein Unterschied. Der Unterschied betrifft lediglich den Ressourcenverbrauch.

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

                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    873
                    Online

                    32.0k
                    Users

                    80.4k
                    Topics

                    1.3m
                    Posts

                    2
                    8
                    347
                    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