Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Was kann Nodered was Blockly nicht kann?

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Was kann Nodered was Blockly nicht kann?

    This topic has been deleted. Only users with topic management privileges can see it.
    • J
      Jan1 @Hamudulu last edited by

      @Hamudulu
      Mit aktualisieren wird es definitiv nicht laufen, da das quasi nur den DP ohne "Enter" schreibt, also den Wert nicht abschickt.
      Dann läuft der Cron im Minuten Takt, würde ich durch ein Trigger der auf Änderung der zwei Nod-Red DPs reagiert ersetzten. So wird das nur ausgeführt, wenn sich einer der Werte auch tatsächlich ändert.
      Ansonsten muss das so funktionieren.

      H 1 Reply Last reply Reply Quote 0
      • H
        Hamudulu @Jan1 last edited by

        @Jan1 Der Trick war den Trigger nicht auf egal stehen zu lassen. Er muss auf update stehen damit der Befehl ausgeführt wird. Den Rest hab ich umgesetzt wie von dir vorgeschlagen. Funktioniert soweit.
        Danke schön.

        J 1 Reply Last reply Reply Quote 0
        • J
          Jan1 @Hamudulu last edited by

          @Hamudulu
          Ich hab nicht ein Script bei dem ich den Trigger nicht auf egal stehen habe. Wobei mir die Funktion auch nicht 100% klar ist. Daran dürfte es nicht gelegen haben.

          H 1 Reply Last reply Reply Quote 0
          • H
            Hamudulu @Jan1 last edited by

            @Jan1 bei mir ist es jedenfalls der Trick dass es funktioniert...komisch, ist aber so...wenn s hilft dann soll das eben so sein

            J 1 Reply Last reply Reply Quote 0
            • J
              Jan1 @Hamudulu last edited by

              @Hamudulu
              Wenn es auf update steht ist nur Update relevant, bei egal eben alles. Heißt es kann nicht sein dass es mit egal nicht funktioniert aber mit Updat. Egal beinhaltet update und ich würde das auch wieder auf egal umstellen.

              H 1 Reply Last reply Reply Quote 0
              • H
                Hamudulu @Jan1 last edited by

                @Jan1 ja, vermutlich hast du recht, ich bin noch recht neu in blockly. Ich optimiere grad nochmal die Regelung und hab es wieder auf egal.
                Mal sehen ob es klappt.
                Sollte so aber klappen, oder?
                Bildschirmfoto 2019-11-19 um 19.23.06.png

                1 Reply Last reply Reply Quote 0
                • R
                  RappiRN Most Active last edited by

                  So wird es nicht klappen, du setzt zum Scriptstart beide Variablen und bei Änderungen der Ausgangswerte vergleichst du die beim Scriptstart gesetzten Variablen nicht die aktuellen Werte.

                  Enrico

                  H 1 Reply Last reply Reply Quote 0
                  • H
                    Hamudulu @RappiRN last edited by

                    @RappiRN Versteh ich nicht. Ich definiere die Variable mit der ich arbeiten will. Warum sollte das nicht klappen?
                    Ich könnte die Variablen ja auch weglassen, und direkt mit dem Wert aus arbeiten, ist aber das gleiche oder?

                    R 1 Reply Last reply Reply Quote 0
                    • R
                      RappiRN Most Active @Hamudulu last edited by RappiRN

                      @Hamudulu... genau, aber du stellst die Variable genau einmal, nämlich zum Scriptstart, auf den Wert deiner Objekte.
                      Vergleichen tust du aber die zum Scriptstart erstellten Variablen, die da auch genau einmal den Wert der Objekte bekommen, nach Veränderung der Objekte.
                      Oder startest du das Script jede Minute? Das wäre auch nicht ratsam.

                      Mal ein Beispiel mit Werten:

                      Zum Scriptstart sind die Werte für Feuchtigkeit und Fenster(?)Position auf 60 bzw 90, dann werden die beiden Variablen auf genau diese Werte gesetzt.
                      Das Script läuft dann und nach Änderung, von mir aus, beider Werte auf 68 und 97 läuft das Script durch und vergleicht die Werte 60 und 90 und schaltet aus.

                      Es fehlt also ein Bindeblock, der die Variablen und Objekte verbindet, anders gesagt, wird dann die Variable bei jeder Änderung des Objektes angepasst.

                      Enrico

                      1 Reply Last reply Reply Quote 0
                      • H
                        Hamudulu last edited by

                        137BB426-00B7-4584-8BDF-8FB0BCA3DD0C.jpeg

                        So sollte es aber klappen , oder?

                        R dslraser 2 Replies Last reply Reply Quote 0
                        • R
                          RappiRN Most Active @Hamudulu last edited by

                          @Hamudulu ja 🙂

                          1 Reply Last reply Reply Quote 0
                          • dslraser
                            dslraser Forum Testing Most Active @Hamudulu last edited by dslraser

                            @Hamudulu sagte in Was kann Nodered was Blockly nicht kann?:

                            137BB426-00B7-4584-8BDF-8FB0BCA3DD0C.jpeg

                            So sollte es aber klappen , oder?

                            Entweder so, oder Du setzt die beiden setze Werte mit in den Trigger, über das falls, also nur einmal da reinziehen, das sollte auch funktionieren.
                            Oder beide kopieren und einmal da rein ziehen. Dann werden die Variablen beim Scriptstart einmalig gesetzt und im Betrieb bei Änderung.

                            20191120_142500.png

                            1 Reply Last reply Reply Quote 1
                            • H
                              Hamudulu last edited by

                              13D0D974-031B-4F38-88B6-D0940AA6861A.jpeg
                              So, das ist es im Endeffekt geworden. Funktioniert soweit.

                              
                              <xml xmlns="http://www.w3.org/1999/xhtml">
                                <variables>
                                  <variable type="" id="(B*.i$?=:Z/@zm9h(ab)">luftfeuchtigkeit</variable>
                                  <variable type="" id="[8FVGmlBF@N?v$xwfL#r">temperatur</variable>
                                  <variable type="" id="Lv/#?]#gfWreC?fS%m4d">taupunkt</variable>
                                </variables>
                                <block type="comment" id="M!ZZ@pn}RJs+$wHk2il#" x="-513" y="-538">
                                  <field name="COMMENT">Luftfeuchtigkeit Keller</field>
                                  <next>
                                    <block type="on_ext" id="A8^ai?hR%4U$=ufQ`+GF">
                                      <mutation items="1"></mutation>
                                      <field name="CONDITION">ne</field>
                                      <field name="ACK_CONDITION"></field>
                                      <value name="OID0">
                                        <shadow type="field_oid" id="}DYy],8@=uM=H^721oyU">
                                          <field name="oid">homee.0.TemperatureAndHumiditySensor-172.RelativeHumidity-1014</field>
                                        </shadow>
                                      </value>
                                      <statement name="STATEMENT">
                                        <block type="controls_if" id="poY540!PU2/+Qx.iZG}B">
                                          <mutation else="1"></mutation>
                                          <value name="IF0">
                                            <block type="logic_compare" id="oi0Fnc(eqg?=-Hv7T)L,">
                                              <field name="OP">GT</field>
                                              <value name="A">
                                                <block type="get_value" id="i+z/|hTW*(cP5C-79j=D">
                                                  <field name="ATTR">val</field>
                                                  <field name="OID">homee.0.TemperatureAndHumiditySensor-172.RelativeHumidity-1014</field>
                                                </block>
                                              </value>
                                              <value name="B">
                                                <block type="math_number" id="})wwr[d#h;;btdk|m@Rj">
                                                  <field name="NUM">65</field>
                                                </block>
                                              </value>
                                            </block>
                                          </value>
                                          <statement name="DO0">
                                            <block type="variables_set" id="[5^lL}G0P4*3zzlf@Ux4">
                                              <field name="VAR" id="(B*.i$?=:Z/@zm9h(ab)" variabletype="">luftfeuchtigkeit</field>
                                              <value name="VALUE">
                                                <block type="logic_boolean" id="vNO^YS)A(^}Rvz4#!%z`">
                                                  <field name="BOOL">TRUE</field>
                                                </block>
                                              </value>
                                            </block>
                                          </statement>
                                          <statement name="ELSE">
                                            <block type="variables_set" id=")!]hRgT$.C$:O(1Ey!tN">
                                              <field name="VAR" id="(B*.i$?=:Z/@zm9h(ab)" variabletype="">luftfeuchtigkeit</field>
                                              <value name="VALUE">
                                                <block type="logic_boolean" id="Q.97jV*%v?0Z(]+OQ5Lt">
                                                  <field name="BOOL">FALSE</field>
                                                </block>
                                              </value>
                                            </block>
                                          </statement>
                                          <next>
                                            <block type="procedures_callnoreturn" id="KEw@)QuVJv^~CF/@}Zmh">
                                              <mutation name="lüftung"></mutation>
                                            </block>
                                          </next>
                                        </block>
                                      </statement>
                                    </block>
                                  </next>
                                </block>
                                <block type="procedures_defnoreturn" id="~b)D{PD27_%[RUAYQr(-" x="87" y="-538">
                                  <field name="NAME">lüftung</field>
                                  <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                                  <statement name="STACK">
                                    <block type="controls_if" id=":@5|m#mR~#xLK-%.#6ks">
                                      <mutation else="1"></mutation>
                                      <value name="IF0">
                                        <block type="variables_get" id="t!rnBt%.Ts#dr;a1c_pr">
                                          <field name="VAR" id="(B*.i$?=:Z/@zm9h(ab)" variabletype="">luftfeuchtigkeit</field>
                                        </block>
                                      </value>
                                      <statement name="DO0">
                                        <block type="controls_if" id="N1RvCNQ9x(8l(|a,1jTP">
                                          <mutation elseif="1"></mutation>
                                          <value name="IF0">
                                            <block type="logic_operation" id="i_BbMnEvbW$[V5/i`7r]">
                                              <field name="OP">AND</field>
                                              <value name="A">
                                                <block type="variables_get" id="=XFnTl/dY!FrwAPj4KPw">
                                                  <field name="VAR" id="[8FVGmlBF@N?v$xwfL#r" variabletype="">temperatur</field>
                                                </block>
                                              </value>
                                              <value name="B">
                                                <block type="variables_get" id="xQR(vGj{r.Bj~)Xz63RP">
                                                  <field name="VAR" id="Lv/#?]#gfWreC?fS%m4d" variabletype="">taupunkt</field>
                                                </block>
                                              </value>
                                            </block>
                                          </value>
                                          <statement name="DO0">
                                            <block type="control" id="(_krL4B:;^4-n=dG`!(m">
                                              <mutation delay_input="false"></mutation>
                                              <field name="OID">homee.0.ElectricMotorMeteringSwitch-61.Position-508</field>
                                              <field name="WITH_DELAY">FALSE</field>
                                              <value name="VALUE">
                                                <block type="math_number" id="aI+2~+n[7+4+~3]J7T.}">
                                                  <field name="NUM">20</field>
                                                </block>
                                              </value>
                                            </block>
                                          </statement>
                                          <value name="IF1">
                                            <block type="logic_compare" id="{1;vG=tu7*LbgxRJ)8-h">
                                              <field name="OP">EQ</field>
                                              <value name="A">
                                                <block type="variables_get" id="8sU!#cO(4CHE~g{qJC_g">
                                                  <field name="VAR" id="(B*.i$?=:Z/@zm9h(ab)" variabletype="">luftfeuchtigkeit</field>
                                                </block>
                                              </value>
                                              <value name="B">
                                                <block type="logic_boolean" id="f#Dai2xZM(aB=QFj0)xv">
                                                  <field name="BOOL">TRUE</field>
                                                </block>
                                              </value>
                                            </block>
                                          </value>
                                          <statement name="DO1">
                                            <block type="control" id="mM$KO6bDgtr5:)Id$ofs">
                                              <mutation delay_input="false"></mutation>
                                              <field name="OID">homee.0.DoubleOnOffSwitch-174.OnOff-1018</field>
                                              <field name="WITH_DELAY">FALSE</field>
                                              <value name="VALUE">
                                                <block type="math_number" id="{P{Dv+DV*`ZzCWt%t@)w">
                                                  <field name="NUM">1</field>
                                                </block>
                                              </value>
                                            </block>
                                          </statement>
                                        </block>
                                      </statement>
                                      <statement name="ELSE">
                                        <block type="control" id="JTtu7Pew.+g*uAsP69Sb">
                                          <mutation delay_input="false"></mutation>
                                          <field name="OID">homee.0.DoubleOnOffSwitch-174.OnOff-1018</field>
                                          <field name="WITH_DELAY">FALSE</field>
                                          <value name="VALUE">
                                            <block type="math_number" id="uIK5SmlYfl0YHDLS7ef`">
                                              <field name="NUM">0</field>
                                            </block>
                                          </value>
                                          <next>
                                            <block type="control" id="eH3G8~=$p{R-6Y5P7Msx">
                                              <mutation delay_input="false"></mutation>
                                              <field name="OID">homee.0.ElectricMotorMeteringSwitch-61.Position-508</field>
                                              <field name="WITH_DELAY">FALSE</field>
                                              <value name="VALUE">
                                                <block type="math_number" id="@ZhVcqO$H3JFWV?ny3!I">
                                                  <field name="NUM">97</field>
                                                </block>
                                              </value>
                                            </block>
                                          </next>
                                        </block>
                                      </statement>
                                    </block>
                                  </statement>
                                </block>
                                <block type="comment" id=":l`H$GprV;f|TQumI.N(" x="-512" y="-237">
                                  <field name="COMMENT">Aussentemperatur</field>
                                  <next>
                                    <block type="on_ext" id="(57P08c=o{Hy:yk%{@)t">
                                      <mutation items="1"></mutation>
                                      <field name="CONDITION">ne</field>
                                      <field name="ACK_CONDITION"></field>
                                      <value name="OID0">
                                        <shadow type="field_oid" id="U_=FtFd:|*5FXLzSk}BG">
                                          <field name="oid">homee.0.TemperatureAndHumiditySensor-168.Temperature-1002</field>
                                        </shadow>
                                      </value>
                                      <statement name="STATEMENT">
                                        <block type="controls_if" id="t+UdDouks(mnH/,|5z[S">
                                          <mutation else="1"></mutation>
                                          <value name="IF0">
                                            <block type="logic_operation" id="Ft=v6i;W.]RZ807sCI2o" inline="false">
                                              <field name="OP">AND</field>
                                              <value name="A">
                                                <block type="logic_compare" id="CEc3+VQFHR]o}z/MN4qD">
                                                  <field name="OP">GT</field>
                                                  <value name="A">
                                                    <block type="get_value" id="~+oWSHFLmBI]k(ba;Y^M">
                                                      <field name="ATTR">val</field>
                                                      <field name="OID">homee.0.TemperatureAndHumiditySensor-168.Temperature-1002</field>
                                                    </block>
                                                  </value>
                                                  <value name="B">
                                                    <block type="math_number" id="dF5N8C{#s]lcG(r~R+)e">
                                                      <field name="NUM">12</field>
                                                    </block>
                                                  </value>
                                                </block>
                                              </value>
                                              <value name="B">
                                                <block type="logic_compare" id="|;yz1kp|syCZd^A^6/ta">
                                                  <field name="OP">LT</field>
                                                  <value name="A">
                                                    <block type="get_value" id="=iwOS@jWD9D0Mwk;K[J3">
                                                      <field name="ATTR">val</field>
                                                      <field name="OID">homee.0.TemperatureAndHumiditySensor-168.Temperature-1002</field>
                                                    </block>
                                                  </value>
                                                  <value name="B">
                                                    <block type="math_number" id="6z:AdEYB0m]3cy(YImY^">
                                                      <field name="NUM">25</field>
                                                    </block>
                                                  </value>
                                                </block>
                                              </value>
                                            </block>
                                          </value>
                                          <statement name="DO0">
                                            <block type="variables_set" id=".l;d;vt0y91=gJ[?.Gta">
                                              <field name="VAR" id="[8FVGmlBF@N?v$xwfL#r" variabletype="">temperatur</field>
                                              <value name="VALUE">
                                                <block type="logic_boolean" id="5RSo{T5:Zl.yfk^0M8W@">
                                                  <field name="BOOL">TRUE</field>
                                                </block>
                                              </value>
                                            </block>
                                          </statement>
                                          <statement name="ELSE">
                                            <block type="variables_set" id=":)5nCSp9cnVzWKTEugU2">
                                              <field name="VAR" id="[8FVGmlBF@N?v$xwfL#r" variabletype="">temperatur</field>
                                              <value name="VALUE">
                                                <block type="logic_boolean" id="QDMfIC@3sWG{,!P(Ai,)">
                                                  <field name="BOOL">FALSE</field>
                                                </block>
                                              </value>
                                            </block>
                                          </statement>
                                          <next>
                                            <block type="procedures_callnoreturn" id="Vxv2pctYKes~^8:m_Sdi">
                                              <mutation name="lüftung"></mutation>
                                            </block>
                                          </next>
                                        </block>
                                      </statement>
                                    </block>
                                  </next>
                                </block>
                                <block type="comment" id="LBytHUC~DS?m{XN]=OZz" x="-513" y="113">
                                  <field name="COMMENT">Taupunkt</field>
                                  <next>
                                    <block type="on_ext" id="e+(}P3_FLe)@P^u`?V~S">
                                      <mutation items="2"></mutation>
                                      <field name="CONDITION">ne</field>
                                      <field name="ACK_CONDITION"></field>
                                      <value name="OID0">
                                        <shadow type="field_oid" id="wL8VpU!_$`VA31N@}Zfm">
                                          <field name="oid">node-red.0.Taupunkt_aussen</field>
                                        </shadow>
                                      </value>
                                      <value name="OID1">
                                        <shadow type="field_oid" id="iL[:a!%:9CWimwL$tEeh">
                                          <field name="oid">node-red.0.Taupunkt_innen</field>
                                        </shadow>
                                      </value>
                                      <statement name="STATEMENT">
                                        <block type="controls_if" id=",]X8n{]$%iE(X/|!rY*+">
                                          <mutation else="1"></mutation>
                                          <value name="IF0">
                                            <block type="logic_compare" id="!tqV^qhccI@@ly:}dK`d">
                                              <field name="OP">GT</field>
                                              <value name="A">
                                                <block type="get_value" id="djy)lb~PFy17,6uDl_@z">
                                                  <field name="ATTR">val</field>
                                                  <field name="OID">node-red.0.Taupunkt_innen</field>
                                                </block>
                                              </value>
                                              <value name="B">
                                                <block type="get_value" id="L+dV$Nm`BFJg)r2KPZdT">
                                                  <field name="ATTR">val</field>
                                                  <field name="OID">node-red.0.Taupunkt_aussen</field>
                                                </block>
                                              </value>
                                            </block>
                                          </value>
                                          <statement name="DO0">
                                            <block type="variables_set" id="NKpt*u+9jUHKrhGj|;)#">
                                              <field name="VAR" id="Lv/#?]#gfWreC?fS%m4d" variabletype="">taupunkt</field>
                                              <value name="VALUE">
                                                <block type="logic_boolean" id="0?u[vHgys+/YB([K~}E^">
                                                  <field name="BOOL">TRUE</field>
                                                </block>
                                              </value>
                                            </block>
                                          </statement>
                                          <statement name="ELSE">
                                            <block type="variables_set" id="H%Op*=zYsC0:b!Glc$%,">
                                              <field name="VAR" id="Lv/#?]#gfWreC?fS%m4d" variabletype="">taupunkt</field>
                                              <value name="VALUE">
                                                <block type="logic_boolean" id="JN}=GE.;3v+ZO!)VOkxZ">
                                                  <field name="BOOL">FALSE</field>
                                                </block>
                                              </value>
                                            </block>
                                          </statement>
                                          <next>
                                            <block type="procedures_callnoreturn" id="K1S|d!2Lp:g[%.t4g:Pu">
                                              <mutation name="lüftung"></mutation>
                                            </block>
                                          </next>
                                        </block>
                                      </statement>
                                    </block>
                                  </next>
                                </block>
                              </xml>
                              
                              
                              J 1 Reply Last reply Reply Quote 0
                              • J
                                Jan1 @Hamudulu last edited by

                                @Hamudulu
                                Sieht doch ganz gut aus, auch die Funktion sinnvoll verwendet.
                                Dann noch der standard Hinweis, bei falls ist =wahr nicht nötig, da Grundfunktion des Block.

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

                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                882
                                Online

                                31.7k
                                Users

                                79.8k
                                Topics

                                1.3m
                                Posts

                                6
                                19
                                1564
                                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