Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Skript funktioniert nicht mehr

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Skript funktioniert nicht mehr

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

      Hallo zusammen!

      Ich weiß ja, daß es sich komisch anhört, aber seit gestern funktioniert eines meiner Skripte nicht mehr. Ich hänge es mal an.
      Eine Idee könnte sein: Erst seit ein paar Tagen fällt die Heizung mehrfach aus, manchmal mehrmals am Tag. Bis vor Kurzem war dies nur einmal pro Monat der Fall. Früher wurde der ioBroker also zwischen den Ausfällen vermutlich immer mal neu gestartet, jetzt eben wegen der Häufigkeit der Probleme mit der Heizung nicht mehr. Vielleicht hängt es damit zusammen?
      Das Nicht-Funktionieren des Skriptes läßt sich reproduzieren: Stromversorgung Heizung per Gosund ausschalten, Stromverbrauch laut Tasmota-Oberfläche 0W, Heizung per Gosund einschalten, Stromverbrauch laut Tasmota-Oberfläche für paar Sekunden über 30W, dann runter auf 2W, aber bei Telegram kommt nix an.
      Das Skript habe ich definitiv nicht geändert.

      Hat jemand Rat?

      EDIT: Gerade den iobroker restartet und schon funktioniert das Skript wieder! Hat es etwas mit der Variable zu tun, die beim Neustarten des iobrokers "resettet" wird, oder so?

      Bildschirmfoto 2021-03-31 um 06.18.34.png

      <xml xmlns="https://developers.google.com/blockly/xml">
        <variables>
          <variable id="EP`a-qu0Mi)#+F^5KaM)">Heizung_aktiv?</variable>
        </variables>
        <block type="variables_set" id="vB%/(%QK-.|VB8olH+F+" x="-62" y="-137">
          <field name="VAR" id="EP`a-qu0Mi)#+F^5KaM)">Heizung_aktiv?</field>
          <value name="VALUE">
            <block type="logic_boolean" id="Zt3N#kbH0XjK+}5)pbJ^">
              <field name="BOOL">TRUE</field>
            </block>
          </value>
          <next>
            <block type="on" id="?*7pS-cANelnRStH5fpi">
              <field name="OID">sonoff.0.Heizung.ENERGY_Power</field>
              <field name="CONDITION">ne</field>
              <field name="ACK_CONDITION"></field>
              <statement name="STATEMENT">
                <block type="controls_if" id="*bOx]47]yxIByA#qqt3J">
                  <value name="IF0">
                    <block type="logic_operation" id="Z=d#73]O`zyDGC~L|Jn/" inline="false">
                      <field name="OP">AND</field>
                      <value name="A">
                        <block type="logic_compare" id=".(cUpb9mFzXnI.u`/RGu">
                          <field name="OP">LT</field>
                          <value name="A">
                            <block type="on_source" id="+L|D9(N^L/_9p**AC4Y#">
                              <field name="ATTR">state.val</field>
                            </block>
                          </value>
                          <value name="B">
                            <block type="math_number" id="IRXiQ:Tf}.:}u-F;(J?|">
                              <field name="NUM">10</field>
                            </block>
                          </value>
                        </block>
                      </value>
                      <value name="B">
                        <block type="logic_compare" id="!+aTX:f8zpg?koPwXqU9">
                          <field name="OP">EQ</field>
                          <value name="A">
                            <block type="variables_get" id="~^+uLCVDphEA1T3csQ;4">
                              <field name="VAR" id="EP`a-qu0Mi)#+F^5KaM)">Heizung_aktiv?</field>
                            </block>
                          </value>
                          <value name="B">
                            <block type="logic_boolean" id="m9)+OzK@16j;{0FErZe_">
                              <field name="BOOL">TRUE</field>
                            </block>
                          </value>
                        </block>
                      </value>
                    </block>
                  </value>
                  <statement name="DO0">
                    <block type="variables_set" id="yj^]v8#=,-=xs,C$1:0m">
                      <field name="VAR" id="EP`a-qu0Mi)#+F^5KaM)">Heizung_aktiv?</field>
                      <value name="VALUE">
                        <block type="logic_boolean" id="c%J}.8a#0L-%7wEqRPVF">
                          <field name="BOOL">FALSE</field>
                        </block>
                      </value>
                      <next>
                        <block type="telegram" id=")43X.^NP$KHLnE,ZJK[m">
                          <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="B`kyTY5/jBuR@[lQA^oW">
                              <field name="TEXT">Heizung ausgefallen</field>
                            </shadow>
                          </value>
                        </block>
                      </next>
                    </block>
                  </statement>
                </block>
              </statement>
            </block>
          </next>
        </block>
      </xml>
      
      1 Reply Last reply Reply Quote 0
      • arteck
        arteck Developer Most Active last edited by arteck

        du setzt due variable

        Heizung_aktiv_ = true;
        

        bei start auf true.. bei ausfall setzt du diese auf false..

        und wann soll die wieder auf true .. das hast du nicht drin.. ergo reagiert dein script richtig...

        du musst nur dafür sorgedn das deine variable Heizung_aktiv_ wieder auf true gesetzt wird wenn die Heizung wieder läuft..

        I 1 Reply Last reply Reply Quote 0
        • I
          invidianer @arteck last edited by invidianer

          @arteck
          Hmm, danke, aber ich meine sogar, daß mir das hier im Forum mal so gesagt wurde, daß es so geht, wie ich es jetzt habe.
          Verstanden habe ich es aber nie wirklich.

          Der „Trigger“ für das Skript ist doch die Änderung des Wertes „Power“, und der ändert sich ja quasi ständig. Soweit richtig?

          Also müßte ich einen zusätzlichen Block einbauen „wenn Power größer 10, dann Variable auf true“?

          arteck 1 Reply Last reply Reply Quote 0
          • arteck
            arteck Developer Most Active @invidianer last edited by

            @invidianer genau

            I 1 Reply Last reply Reply Quote 0
            • I
              invidianer @arteck last edited by

              @arteck
              Ist es so richtig?
              Oder kann ich mir dann die erste Zeile ("setze Heizung_aktiv auf wahr") sparen?

              Bildschirmfoto 2021-03-31 um 07.39.16.png

              <xml xmlns="https://developers.google.com/blockly/xml">
                <variables>
                  <variable id="EP`a-qu0Mi)#+F^5KaM)">Heizung_aktiv?</variable>
                </variables>
                <block type="variables_set" id="vB%/(%QK-.|VB8olH+F+" x="-62" y="-137">
                  <field name="VAR" id="EP`a-qu0Mi)#+F^5KaM)">Heizung_aktiv?</field>
                  <value name="VALUE">
                    <block type="logic_boolean" id="Zt3N#kbH0XjK+}5)pbJ^">
                      <field name="BOOL">TRUE</field>
                    </block>
                  </value>
                  <next>
                    <block type="on" id="?*7pS-cANelnRStH5fpi">
                      <field name="OID">sonoff.0.Heizung.ENERGY_Power</field>
                      <field name="CONDITION">ne</field>
                      <field name="ACK_CONDITION"></field>
                      <statement name="STATEMENT">
                        <block type="controls_if" id="*bOx]47]yxIByA#qqt3J">
                          <value name="IF0">
                            <block type="logic_operation" id="Z=d#73]O`zyDGC~L|Jn/" inline="false">
                              <field name="OP">AND</field>
                              <value name="A">
                                <block type="logic_compare" id=".(cUpb9mFzXnI.u`/RGu">
                                  <field name="OP">LT</field>
                                  <value name="A">
                                    <block type="on_source" id="+L|D9(N^L/_9p**AC4Y#">
                                      <field name="ATTR">state.val</field>
                                    </block>
                                  </value>
                                  <value name="B">
                                    <block type="math_number" id="IRXiQ:Tf}.:}u-F;(J?|">
                                      <field name="NUM">10</field>
                                    </block>
                                  </value>
                                </block>
                              </value>
                              <value name="B">
                                <block type="logic_compare" id="!+aTX:f8zpg?koPwXqU9">
                                  <field name="OP">EQ</field>
                                  <value name="A">
                                    <block type="variables_get" id="~^+uLCVDphEA1T3csQ;4">
                                      <field name="VAR" id="EP`a-qu0Mi)#+F^5KaM)">Heizung_aktiv?</field>
                                    </block>
                                  </value>
                                  <value name="B">
                                    <block type="logic_boolean" id="m9)+OzK@16j;{0FErZe_">
                                      <field name="BOOL">TRUE</field>
                                    </block>
                                  </value>
                                </block>
                              </value>
                            </block>
                          </value>
                          <statement name="DO0">
                            <block type="variables_set" id="yj^]v8#=,-=xs,C$1:0m">
                              <field name="VAR" id="EP`a-qu0Mi)#+F^5KaM)">Heizung_aktiv?</field>
                              <value name="VALUE">
                                <block type="logic_boolean" id="c%J}.8a#0L-%7wEqRPVF">
                                  <field name="BOOL">FALSE</field>
                                </block>
                              </value>
                              <next>
                                <block type="telegram" id=")43X.^NP$KHLnE,ZJK[m">
                                  <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="B`kyTY5/jBuR@[lQA^oW">
                                      <field name="TEXT">Heizung ausgefallen</field>
                                    </shadow>
                                  </value>
                                </block>
                              </next>
                            </block>
                          </statement>
                          <next>
                            <block type="controls_if" id="SMD|6.2sDFq+r%iL#ELz">
                              <value name="IF0">
                                <block type="logic_operation" id="SkJ=EH_8_%Lo*_L@Jie3" inline="false">
                                  <field name="OP">AND</field>
                                  <value name="A">
                                    <block type="logic_compare" id="TGC[$w7%JDjtF5~qK*8D">
                                      <field name="OP">GTE</field>
                                      <value name="A">
                                        <block type="on_source" id="D2*4jWg=76/NX*ea$,XM">
                                          <field name="ATTR">state.val</field>
                                        </block>
                                      </value>
                                      <value name="B">
                                        <block type="math_number" id="#9$-.]Ez)n[x[obSJ}rv">
                                          <field name="NUM">10</field>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                  <value name="B">
                                    <block type="logic_compare" id="$3(WN[syH!|`@*hAE7B#">
                                      <field name="OP">EQ</field>
                                      <value name="A">
                                        <block type="variables_get" id="jOWtY=s_~IY);zxxd4l~">
                                          <field name="VAR" id="EP`a-qu0Mi)#+F^5KaM)">Heizung_aktiv?</field>
                                        </block>
                                      </value>
                                      <value name="B">
                                        <block type="logic_boolean" id="?83TGBJYB(pcs-W5q@`+">
                                          <field name="BOOL">TRUE</field>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                </block>
                              </value>
                              <statement name="DO0">
                                <block type="variables_set" id="3;|GKjBfv^7lThxNLo?=">
                                  <field name="VAR" id="EP`a-qu0Mi)#+F^5KaM)">Heizung_aktiv?</field>
                                  <value name="VALUE">
                                    <block type="logic_boolean" id="~OSPv*3TO#heU?!:u!%`">
                                      <field name="BOOL">FALSE</field>
                                    </block>
                                  </value>
                                </block>
                              </statement>
                            </block>
                          </next>
                        </block>
                      </statement>
                    </block>
                  </next>
                </block>
              </xml>
              
              arteck 1 Reply Last reply Reply Quote 0
              • arteck
                arteck Developer Most Active @invidianer last edited by

                @invidianer nein ist auch verkehrt.. blockly ist nicht so mein ding .. aber eher so

                <xml xmlns="https://developers.google.com/blockly/xml">
                  <variables>
                    <variable id="EP`a-qu0Mi)#+F^5KaM)">Heizung_aktiv?</variable>
                  </variables>
                  <block type="variables_set" id="vB%/(%QK-.|VB8olH+F+" x="-62" y="-137">
                    <field name="VAR" id="EP`a-qu0Mi)#+F^5KaM)">Heizung_aktiv?</field>
                    <value name="VALUE">
                      <block type="logic_boolean" id="Zt3N#kbH0XjK+}5)pbJ^">
                        <field name="BOOL">TRUE</field>
                      </block>
                    </value>
                    <next>
                      <block type="on" id="?*7pS-cANelnRStH5fpi">
                        <field name="OID">sonoff.0.Heizung.ENERGY_Power</field>
                        <field name="CONDITION">ne</field>
                        <field name="ACK_CONDITION"></field>
                        <statement name="STATEMENT">
                          <block type="controls_if" id="*bOx]47]yxIByA#qqt3J">
                            <value name="IF0">
                              <block type="logic_operation" id="Z=d#73]O`zyDGC~L|Jn/" inline="false">
                                <field name="OP">AND</field>
                                <value name="A">
                                  <block type="logic_compare" id=".(cUpb9mFzXnI.u`/RGu">
                                    <field name="OP">LT</field>
                                    <value name="A">
                                      <block type="on_source" id="+L|D9(N^L/_9p**AC4Y#">
                                        <field name="ATTR">state.val</field>
                                      </block>
                                    </value>
                                    <value name="B">
                                      <block type="math_number" id="IRXiQ:Tf}.:}u-F;(J?|">
                                        <field name="NUM">10</field>
                                      </block>
                                    </value>
                                  </block>
                                </value>
                                <value name="B">
                                  <block type="logic_compare" id="!+aTX:f8zpg?koPwXqU9">
                                    <field name="OP">EQ</field>
                                    <value name="A">
                                      <block type="variables_get" id="~^+uLCVDphEA1T3csQ;4">
                                        <field name="VAR" id="EP`a-qu0Mi)#+F^5KaM)">Heizung_aktiv?</field>
                                      </block>
                                    </value>
                                    <value name="B">
                                      <block type="logic_boolean" id="m9)+OzK@16j;{0FErZe_">
                                        <field name="BOOL">TRUE</field>
                                      </block>
                                    </value>
                                  </block>
                                </value>
                              </block>
                            </value>
                            <statement name="DO0">
                              <block type="variables_set" id="yj^]v8#=,-=xs,C$1:0m">
                                <field name="VAR" id="EP`a-qu0Mi)#+F^5KaM)">Heizung_aktiv?</field>
                                <value name="VALUE">
                                  <block type="logic_boolean" id="c%J}.8a#0L-%7wEqRPVF">
                                    <field name="BOOL">FALSE</field>
                                  </block>
                                </value>
                                <next>
                                  <block type="telegram" id=")43X.^NP$KHLnE,ZJK[m">
                                    <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="B`kyTY5/jBuR@[lQA^oW">
                                        <field name="TEXT">Heizung ausgefallen</field>
                                      </shadow>
                                    </value>
                                  </block>
                                </next>
                              </block>
                            </statement>
                            <next>
                              <block type="controls_if" id="SMD|6.2sDFq+r%iL#ELz">
                                <value name="IF0">
                                  <block type="logic_operation" id="SkJ=EH_8_%Lo*_L@Jie3" inline="false">
                                    <field name="OP">AND</field>
                                    <value name="A">
                                      <block type="logic_compare" id="TGC[$w7%JDjtF5~qK*8D">
                                        <field name="OP">GTE</field>
                                        <value name="A">
                                          <block type="on_source" id="D2*4jWg=76/NX*ea$,XM">
                                            <field name="ATTR">state.val</field>
                                          </block>
                                        </value>
                                        <value name="B">
                                          <block type="math_number" id="#9$-.]Ez)n[x[obSJ}rv">
                                            <field name="NUM">10</field>
                                          </block>
                                        </value>
                                      </block>
                                    </value>
                                    <value name="B">
                                      <block type="logic_compare" id="$3(WN[syH!|`@*hAE7B#">
                                        <field name="OP">EQ</field>
                                        <value name="A">
                                          <block type="variables_get" id="jOWtY=s_~IY);zxxd4l~">
                                            <field name="VAR" id="EP`a-qu0Mi)#+F^5KaM)">Heizung_aktiv?</field>
                                          </block>
                                        </value>
                                        <value name="B">
                                          <block type="logic_boolean" id="?83TGBJYB(pcs-W5q@`+">
                                            <field name="BOOL">FALSE</field>
                                          </block>
                                        </value>
                                      </block>
                                    </value>
                                  </block>
                                </value>
                                <statement name="DO0">
                                  <block type="variables_set" id="3;|GKjBfv^7lThxNLo?=">
                                    <field name="VAR" id="EP`a-qu0Mi)#+F^5KaM)">Heizung_aktiv?</field>
                                    <value name="VALUE">
                                      <block type="logic_boolean" id="~OSPv*3TO#heU?!:u!%`">
                                        <field name="BOOL">TRUE</field>
                                      </block>
                                    </value>
                                  </block>
                                </statement>
                              </block>
                            </next>
                          </block>
                        </statement>
                      </block>
                    </next>
                  </block>
                </xml>
                
                I 1 Reply Last reply Reply Quote 1
                • I
                  invidianer @arteck last edited by

                  @arteck
                  Ah, okay, danke!
                  Ist ja exakt, wie meines, nur habe ich am Ende im zweiten "falls"-Zweig "Heizung_aktiv? = wahr" abgefragt, anstatt "Heizung_aktiv? = falsch" und "setze Heizung_aktiv? auf falsch", anstatt "setze Heizung_aktiv? auf wahr", richtig?
                  Sonst hast Du doch nichts geändert?

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

                  Support us

                  ioBroker
                  Community Adapters
                  Donate

                  1.0k
                  Online

                  31.8k
                  Users

                  80.0k
                  Topics

                  1.3m
                  Posts

                  2
                  7
                  222
                  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