Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Blockly Verzögerung Verständnisfrage *gelöst*

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Blockly Verzögerung Verständnisfrage *gelöst*

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

      @paul53 Jetzt überforderst du mich aber :-). Das Skript hatte ich vorhin bei meiner Suche nach einer Lösung schon gesehen, ich versteh's nur nicht und weiß nicht, wie ich das auf mein Skript übertragen soll. 😌

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

        @surfer09 sagte: wie ich das auf mein Skript übertragen soll.

        Baue es einfach nach und verwende als Trigger "smartmeter.0.1-0:16_7_0__255.value". Wie ich an deinem Skript sehe, sind die Werte ebenfalls negativ bei Einspeisung.

        Zur Erläuterung: Solange der Überschuss nicht 5 Minuten lang 2500 W übersteigt, wird der Timer delayOn gestoppt. Umgekehrt gilt es für das Ausschalten bei < 200 W Überschuss.

        <xml xmlns="https://developers.google.com/blockly/xml">
          <variables>
            <variable id="^=uP5@RSR`l|hFJn~fpS">ueberschuss</variable>
            <variable type="timeout" id="delayOn">delayOn</variable>
            <variable type="timeout" id="delayOff">delayOff</variable>
          </variables>
          <block type="on_ext" id="Bi(b0~M*#7vBa*4Fjm_}" x="-47" y="-136">
            <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=",PY@d;1NRAn=wBiN;I}i">
                <field name="oid">smartmeter.0.1-0:16_7_0__255.value</field>
              </shadow>
            </value>
            <statement name="STATEMENT">
              <block type="variables_set" id="=:$Vs7VD8D_yS3G$:Ufd">
                <field name="VAR" id="^=uP5@RSR`l|hFJn~fpS">ueberschuss</field>
                <value name="VALUE">
                  <block type="math_arithmetic" id="G$a6K:JGJ[,=CD!1V6+;">
                    <field name="OP">MINUS</field>
                    <value name="A">
                      <shadow type="math_number" id="h$_o7x#:~s!r_?uj?;KG">
                        <field name="NUM">0</field>
                      </shadow>
                    </value>
                    <value name="B">
                      <shadow type="math_number" id="K@8XOX%`p.]Kg)eP%*:f">
                        <field name="NUM">1</field>
                      </shadow>
                      <block type="on_source" id="|,ww!2=osF^]?E]_?4}m">
                        <field name="ATTR">state.val</field>
                      </block>
                    </value>
                  </block>
                </value>
                <next>
                  <block type="controls_if" id=".A2Q7~K}2s^e1$AMvEQW">
                    <mutation elseif="1"></mutation>
                    <value name="IF0">
                      <block type="logic_compare" id="54}w6][Vvlz2B`HjhO?^">
                        <field name="OP">LTE</field>
                        <value name="A">
                          <block type="on_source" id="1=6l-TNTb$n@.7:;EN6Q">
                            <field name="ATTR">state.val</field>
                          </block>
                        </value>
                        <value name="B">
                          <block type="math_number" id="m6RS{rpyYQf.8*B_F#4A">
                            <field name="NUM">2500</field>
                          </block>
                        </value>
                      </block>
                    </value>
                    <statement name="DO0">
                      <block type="timeouts_cleartimeout" id=",eKCW?*-M^Z.Q3tJJeIS">
                        <field name="NAME">delayOn</field>
                      </block>
                    </statement>
                    <value name="IF1">
                      <block type="logic_multi_and" id="H0~R#C6XS],#/!X!3SB*">
                        <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation>
                        <value name="AND0">
                          <block type="time_compare_ex" id="$]0EoC)?q@$mLMAe{B)L">
                            <mutation xmlns="http://www.w3.org/1999/xhtml" end_time="true" actual_time="true"></mutation>
                            <field name="USE_ACTUAL_TIME">TRUE</field>
                            <field name="OPTION">between</field>
                            <value name="START_TIME">
                              <shadow type="text" id="Ide=Ba^dJ}rlWv_6:w`;">
                                <field name="TEXT">09:00</field>
                              </shadow>
                            </value>
                            <value name="END_TIME">
                              <shadow type="text" id="eagL~PIJ90Wy0YRvhl*@">
                                <field name="TEXT">20:30</field>
                              </shadow>
                            </value>
                          </block>
                        </value>
                        <value name="AND1">
                          <block type="logic_negate" id="oaEa-L*O]Lm8ZxV}2UWD">
                            <value name="BOOL">
                              <block type="timeouts_gettimeout" id="kQ|1R?^J`56K;9VEz-;/">
                                <field name="NAME">delayOn</field>
                              </block>
                            </value>
                          </block>
                        </value>
                      </block>
                    </value>
                    <statement name="DO1">
                      <block type="timeouts_settimeout" id="hq{w~@GSM?q..=;=BNor">
                        <field name="NAME">delayOn</field>
                        <field name="DELAY">5</field>
                        <field name="UNIT">min</field>
                        <statement name="STATEMENT">
                          <block type="controls_if" id="4q2zW(sff?srLiVUp?Z*">
                            <value name="IF0">
                              <block type="logic_negate" id="B6#|eUb,qXSYKJg^Sd_|">
                                <value name="BOOL">
                                  <block type="get_value" id="*ujU{*[H!yQU-G+0u0)T">
                                    <field name="ATTR">val</field>
                                    <field name="OID">shelly.0.shellyplus1pm#e86beae68154#1.Relay0.Switch</field>
                                  </block>
                                </value>
                              </block>
                            </value>
                            <statement name="DO0">
                              <block type="control" id="#MOLgyWt_Z#^uGRN_@~#">
                                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                <field name="OID">shelly.0.shellyplus1pm#e86beae68154#1.Relay0.Switch</field>
                                <field name="WITH_DELAY">FALSE</field>
                                <value name="VALUE">
                                  <block type="logic_boolean" id="QJTCt4$YJ*]2`Ysyxk#A">
                                    <field name="BOOL">TRUE</field>
                                  </block>
                                </value>
                                <next>
                                  <block type="debug" id="#xf_Vi?T(!cCL2xRg_N|">
                                    <field name="Severity">warn</field>
                                    <value name="TEXT">
                                      <shadow type="text" id="`d{*cC/pD|-#Sa/T`KJ1">
                                        <field name="TEXT">Überschuss - Heizstab eingeschaltet</field>
                                      </shadow>
                                    </value>
                                  </block>
                                </next>
                              </block>
                            </statement>
                          </block>
                        </statement>
                      </block>
                    </statement>
                    <next>
                      <block type="controls_if" id="SF9#Uf]^QpH8z7~u[}27">
                        <mutation elseif="1"></mutation>
                        <value name="IF0">
                          <block type="logic_compare" id="DdWy97[5oXFUu*^gFUSa">
                            <field name="OP">GTE</field>
                            <value name="A">
                              <block type="on_source" id="WNzkUt8gFOlwECJl#w/7">
                                <field name="ATTR">state.val</field>
                              </block>
                            </value>
                            <value name="B">
                              <block type="math_number" id="K[7IOHX=L~{:m.GCiLCs">
                                <field name="NUM">200</field>
                              </block>
                            </value>
                          </block>
                        </value>
                        <statement name="DO0">
                          <block type="timeouts_cleartimeout" id="ktE^dG(3+8Y{+m60@)Z%">
                            <field name="NAME">delayOff</field>
                          </block>
                        </statement>
                        <value name="IF1">
                          <block type="logic_negate" id="EfN(0OF/F.aBG=h,yv=P">
                            <value name="BOOL">
                              <block type="timeouts_gettimeout" id="Ftz[u3XuL.,?3w=)-xnb">
                                <field name="NAME">delayOff</field>
                              </block>
                            </value>
                          </block>
                        </value>
                        <statement name="DO1">
                          <block type="timeouts_settimeout" id="n0x@~^oKM7u!2m8)0;|R">
                            <field name="NAME">delayOff</field>
                            <field name="DELAY">2</field>
                            <field name="UNIT">min</field>
                            <statement name="STATEMENT">
                              <block type="controls_if" id="{lS`z#HyrQ/Io5k%V9EZ">
                                <value name="IF0">
                                  <block type="get_value" id="}HW^(]SED,e79JMzXJ5S">
                                    <field name="ATTR">val</field>
                                    <field name="OID">shelly.0.shellyplus1pm#e86beae68154#1.Relay0.Switch</field>
                                  </block>
                                </value>
                                <statement name="DO0">
                                  <block type="control" id="RakNjasG^$$z#ZUABtL5">
                                    <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                    <field name="OID">shelly.0.shellyplus1pm#e86beae68154#1.Relay0.Switch</field>
                                    <field name="WITH_DELAY">FALSE</field>
                                    <value name="VALUE">
                                      <block type="logic_boolean" id="QD-OowK2lJqbX~b;9_vf">
                                        <field name="BOOL">FALSE</field>
                                      </block>
                                    </value>
                                    <next>
                                      <block type="debug" id="idE{vj!X{wiKj|sW,dM-">
                                        <field name="Severity">warn</field>
                                        <value name="TEXT">
                                          <shadow type="text" id="`r,r(rlJosU`ny{CzRO/">
                                            <field name="TEXT">Heizstab ausgeschaltet</field>
                                          </shadow>
                                        </value>
                                      </block>
                                    </next>
                                  </block>
                                </statement>
                              </block>
                            </statement>
                          </block>
                        </statement>
                      </block>
                    </next>
                  </block>
                </next>
              </block>
            </statement>
          </block>
        </xml>
        

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

          @paul53 Ich glaube es ist vollbracht. 😉 Hätte ich so alleine mit Sicherheit nicht geschafft.

          ca489bfa-18a2-4fb5-835a-60ce7fadbdc6-grafik.png

          Danke @paul53!

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

            @surfer09 sagte: es ist vollbracht.

            Die Vergleiche sind falsch herum!

            Du meinst, dass so kurze Verzögerungen sinnvoll sind für das Schalten eines Heizstabes? Oder sind die nur zum Testen so kurz? Wie hoch ist die Leistungsaufnahme des Heizstabes?

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

              @paul53 Die Verzögerungen habe ich absichtlich erstmal so kurz gewählt. Werden dann noch angepasst.
              Der Heizstab hat 2KW.
              So müsste es richtig sein?!

              8ca6e454-1d9a-4a71-9ceb-33ffdf7016c0-grafik.png

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

                @surfer09 sagte: Der Heizstab hat 2KW.

                Die Hysterese ist mit 1980 W zu gering. Sie muss etwas höher sein, als die Leistungsaufnahme, da sonst im Grenzbereich ständig ein- und ausgeschaltet wird.

                @surfer09 sagte in Blockly Verzögerung Verständnisfrage *gelöst*:

                So müsste es richtig sein?!

                Nein, die Vergleiche sind immer noch falsch herum.

                Blockly_temp.JPG

                Die Prüfung der Uhrzeit muss nur beim Einschalten erfolgen (falls überhaupt erforderlich).

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

                  @paul53 Okay, habe ich jetzt angepasst.
                  Das mit der Uhrzeit hatte ich absichtlich mit eingebaut. Ich hatte heute morgen nämlich auch ein Problem mit diesem Skript, was den Speicher etwas leeren soll. Das funktionierte heute morgen gar nicht.
                  Er schaltete andauernd ein und aus.

                  Angepasstes Skript:

                  7f5b8aae-ec4a-4040-82fc-2e0f34c0625e-grafik.png

                  4be637ab-6286-4897-883e-096984b0513b-grafik.png

                  Batterie leeren

                  b360f197-2c20-4604-9bde-1c996984b374-grafik.png

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

                    @paul53 sagte in Blockly Verzögerung Verständnisfrage *gelöst*:

                    @surfer09 sagte: Der Heizstab hat 2KW.

                    Die Hysterese ist mit 1980 W zu gering. Sie muss etwas höher sein, als die Leistungsaufnahme, da sonst im Grenzbereich ständig ein- und ausgeschaltet wird.

                    Du meinst so?

                    d431491e-f5ed-4804-b25b-92c35e2e93a1-grafik.png

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

                      @surfer09 sagte: Du meinst so?

                      Im Ernst: Nur 2020 W Hysterese?

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

                        @paul53 Ehrlich gesagt weiß ich jetzt nicht genau was damit gemeint ist. Wie hoch sollten die Werte denn sein?

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

                          @surfer09 sagte in Blockly Verzögerung Verständnisfrage *gelöst*:

                          Wie hoch sollten die Werte denn sein?

                          so viel wie vernachlässigbar zusätzlich zum Heizstab laufen darf/könnte, ohne dass bei jedem Anschalten der WC Beleuchtung der Heizstab ausschalten muss.

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

                            @surfer09 sagte: Wie hoch sollten die Werte denn sein?

                            Ich hatte 2300 W vorgeschlagen (Hysterese: 2250 W).

                            Blockly_temp.JPG

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

                              @paul53 Okay, dann hatte ich das nicht so verstanden, dass ich das bei mir so hinterlegen sollte, Sorry! Ich dachte, der Code wäre ein Beispiel aus deinem privaten Bereich.
                              Ich hab's jetzt angepasst

                              6cb95175-b42d-4e4b-b71c-7be0907ec197-grafik.png

                              Und das bedeutet jetzt, dass mindestens 2250 Watt Überschuss nötig sind, um einzuschalten?

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

                                @surfer09 sagte: mindestens 2250 Watt Überschuss nötig sind, um einzuschalten?

                                Mind. 2300 W Überschuss zum Einschalten. Wie groß ist die PV-Anlage (Wp)?

                                Übrigens: Wenn um 20:30 Uhr der Überschuss noch >= 50 W ist, bleibt der Heizstab die ganze Nacht eingeschaltet.

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

                                  @paul53 sagte in Blockly Verzögerung Verständnisfrage *gelöst*:

                                  @surfer09 sagte: mindestens 2250 Watt Überschuss nötig sind, um einzuschalten?

                                  Mind. 2300 W Überschuss zum Einschalten. Wie groß ist die PV-Anlage (Wp)?

                                  4,5 KW

                                  Übrigens: Wenn um 20:30 Uhr der Überschuss noch >= 50 W ist, bleibt der Heizstab die ganze Nacht eingeschaltet.

                                  Och ne, das geht ja auch nicht. Dann muss ich die Uhrzeit weiter nach hinten schieben.

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

                                    @surfer09 sagte: 4,5 KW

                                    Dann muss man den Heizstab nicht schon bei 2050 W aktivieren.

                                    @surfer09 sagte in Blockly Verzögerung Verständnisfrage *gelöst*:

                                    Dann muss ich die Uhrzeit weiter nach hinten schieben.

                                    ... oder die Prüfung der Uhrzeit beim Ausschalten ganz weglassen.

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

                                    Support us

                                    ioBroker
                                    Community Adapters
                                    Donate

                                    621
                                    Online

                                    32.0k
                                    Users

                                    80.4k
                                    Topics

                                    1.3m
                                    Posts

                                    3
                                    20
                                    570
                                    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