Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Mehrere Datenpunkte vereinen

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Mehrere Datenpunkte vereinen

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      Mika 0 last edited by

      Hallo. Ich habe viele Blocklys zu erstellen und habe mehrfach den gleichen Datenpunkt. Den muss ich mehrfach auswählen nach vervielfältigen.
      Kann man das irgendwie vereinen, damit ich nur einmal diesen Datenpunkt auswählen muss (mit gleicher Farbe im Bild markiert)?

      d6e46ccf-c1dd-4d0a-944c-23c75fa9dd40-image.png

      <block xmlns="https://developers.google.com/blockly/xml" type="controls_if" id="gw+G?G(N}sFf-T0#IcPW" x="384" y="-333">
        <mutation elseif="2"></mutation>
        <value name="IF0">
          <block type="logic_compare" id="4DTf3Agu7SE]]T-qaz?{">
            <field name="OP">GT</field>
            <value name="A">
              <block type="text_indexOf" id="O$T`g~fy28=MG?i]l9p6">
                <field name="END">FIRST</field>
                <value name="VALUE">
                  <block type="on_source" id="g.-BUFS}(m=TQRE/4*3p">
                    <field name="ATTR">state.val</field>
                  </block>
                </value>
                <value name="FIND">
                  <shadow type="text" id="=0=AcZKi+U#e41$c%@jP">
                    <field name="TEXT">Aus</field>
                  </shadow>
                  <block type="text" id="z_A4ozf5z#SuP/56kCx7">
                    <field name="TEXT">Aus</field>
                  </block>
                </value>
              </block>
            </value>
            <value name="B">
              <block type="math_number" id="4{$F{HY]MC_NM-DY_hXp">
                <field name="NUM">0</field>
              </block>
            </value>
          </block>
        </value>
        <statement name="DO0">
          <block type="control" id="kdI6W?9SFVzd^1h$+`s:">
            <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
            <field name="OID">0_userdata.0.Klima_Zeitsteuerung.OG_WZ.Timerbereich_1.Mo.1_Abschnitt.DaikinOnOffMode</field>
            <field name="WITH_DELAY">TRUE</field>
            <field name="DELAY_MS">1</field>
            <field name="UNIT">sec</field>
            <field name="CLEAR_RUNNING">FALSE</field>
            <value name="VALUE">
              <block type="logic_boolean" id="At}sfyq9+?dDoqs3c}]z">
                <field name="BOOL">FALSE</field>
              </block>
            </value>
          </block>
        </statement>
        <value name="IF1">
          <block type="logic_compare" id="ucZz,XLbs{tLi%T9R3rw">
            <field name="OP">GT</field>
            <value name="A">
              <block type="text_indexOf" id="eG+kFVK?A~t(}R@t5.a2">
                <field name="END">FIRST</field>
                <value name="VALUE">
                  <block type="on_source" id="2*bmjRKi^$$c^0,?3AI1">
                    <field name="ATTR">state.val</field>
                  </block>
                </value>
                <value name="FIND">
                  <shadow type="text" id="k=Ocl)jVK=+9B_s+A~W|">
                    <field name="TEXT">Hei</field>
                  </shadow>
                  <block type="text" id="f/Bt^.0vr?auUDK^}^PY">
                    <field name="TEXT">Hei</field>
                  </block>
                </value>
              </block>
            </value>
            <value name="B">
              <block type="math_number" id="i3WEj:0pq.3NXse5Qla/">
                <field name="NUM">0</field>
              </block>
            </value>
          </block>
        </value>
        <statement name="DO1">
          <block type="control" id="|yIu1Kr4-V:J^DWP{Pd`">
            <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
            <field name="OID">0_userdata.0.Klima_Zeitsteuerung.OG_WZ.Timerbereich_1.Mo.1_Abschnitt.DaikinOnOffMode</field>
            <field name="WITH_DELAY">TRUE</field>
            <field name="DELAY_MS">1</field>
            <field name="UNIT">sec</field>
            <field name="CLEAR_RUNNING">FALSE</field>
            <value name="VALUE">
              <block type="logic_boolean" id="eLLeW2=161/YeRS]N1x:">
                <field name="BOOL">TRUE</field>
              </block>
            </value>
            <next>
              <block type="control" id="njeML.K^d/sFJTe`Ts]y">
                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                <field name="OID">0_userdata.0.Klima_Zeitsteuerung.OG_WZ.Timerbereich_1.Mo.1_Abschnitt.DaikinOperationMode</field>
                <field name="WITH_DELAY">TRUE</field>
                <field name="DELAY_MS">1</field>
                <field name="UNIT">sec</field>
                <field name="CLEAR_RUNNING">FALSE</field>
                <value name="VALUE">
                  <block type="convert_tonumber" id="MUGga[$DXFbHyj)doI8q">
                    <value name="VALUE">
                      <block type="math_number" id="}JspGS1kH@u/*d5ZprBT">
                        <field name="NUM">1</field>
                      </block>
                    </value>
                  </block>
                </value>
              </block>
            </next>
          </block>
        </statement>
        <value name="IF2">
          <block type="logic_compare" id="x0xsG~I+^j1-`+3ALu:m">
            <field name="OP">GT</field>
            <value name="A">
              <block type="text_indexOf" id="7KQykR_7sl=}RWMVX_u6">
                <field name="END">FIRST</field>
                <value name="VALUE">
                  <block type="on_source" id="umP@{]RSy{%o3Ltx)s)9">
                    <field name="ATTR">state.val</field>
                  </block>
                </value>
                <value name="FIND">
                  <shadow type="text" id="ep0)gX:h7!+!GY%VZmuW">
                    <field name="TEXT">Kuh</field>
                  </shadow>
                  <block type="text" id="d=g?nwQ~F;v{Hld3%4Xu">
                    <field name="TEXT">Kuh</field>
                  </block>
                </value>
              </block>
            </value>
            <value name="B">
              <block type="math_number" id="z@c-s3*0Q(x#n^;CO-Qa">
                <field name="NUM">0</field>
              </block>
            </value>
          </block>
        </value>
        <statement name="DO2">
          <block type="control" id=";=f%Yb@rMRoz%;xb^/oR">
            <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
            <field name="OID">0_userdata.0.Klima_Zeitsteuerung.OG_WZ.Timerbereich_1.Mo.1_Abschnitt.DaikinOnOffMode</field>
            <field name="WITH_DELAY">TRUE</field>
            <field name="DELAY_MS">1</field>
            <field name="UNIT">sec</field>
            <field name="CLEAR_RUNNING">FALSE</field>
            <value name="VALUE">
              <block type="logic_boolean" id="SLBoB|^#4ucburUh[n@,">
                <field name="BOOL">TRUE</field>
              </block>
            </value>
            <next>
              <block type="control" id="`Uc:-r;Y1e/@^T60(xL,">
                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                <field name="OID">0_userdata.0.Klima_Zeitsteuerung.OG_WZ.Timerbereich_1.Mo.1_Abschnitt.DaikinOperationMode</field>
                <field name="WITH_DELAY">TRUE</field>
                <field name="DELAY_MS">1</field>
                <field name="UNIT">sec</field>
                <field name="CLEAR_RUNNING">FALSE</field>
                <value name="VALUE">
                  <block type="convert_tonumber" id="=Iyxz2GxItS_$=*3Ro(^">
                    <value name="VALUE">
                      <block type="math_number" id="80tC}L(+IV#h9%%A72J5">
                        <field name="NUM">2</field>
                      </block>
                    </value>
                  </block>
                </value>
              </block>
            </next>
          </block>
        </statement>
        <next>
          <block type="control" id="~HG8%`H.JGW$h*Br6!e5">
            <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
            <field name="OID">0_userdata.0.Klima_Zeitsteuerung.OG_WZ.Timerbereich_1.Mo.1_Abschnitt.Wochentag</field>
            <field name="WITH_DELAY">FALSE</field>
            <value name="VALUE">
              <block type="convert_tonumber" id="?4Psq!-7*4^f.y9Bg}~*">
                <value name="VALUE">
                  <block type="text_charAt" id="6[]wPGAjs55Uzpk~Cc$X">
                    <mutation at="true"></mutation>
                    <field name="WHERE">FROM_START</field>
                    <value name="VALUE">
                      <block type="on_source" id="r9%X_GKL9(U@u1j/UfWn">
                        <field name="ATTR">state.val</field>
                      </block>
                    </value>
                    <value name="AT">
                      <block type="math_number" id="ssgh;J)00fbsh.n%{0$z">
                        <field name="NUM">1</field>
                      </block>
                    </value>
                  </block>
                </value>
              </block>
            </value>
          </block>
        </next>
      </block>
      
      paul53 ubecker 2 Replies Last reply Reply Quote 0
      • paul53
        paul53 @Mika 0 last edited by paul53

        @mika-0 sagte: Kann man das irgendwie vereinen, damit ich nur einmal diesen Datenpunkt auswählen muss

        Mittels Variablen. Außerdem verwende den Block "aktualisiere" anstelle von "steuere" für eigene Datenpunkte.

        Blockly_temp.JPG

        M 1 Reply Last reply Reply Quote 0
        • ubecker
          ubecker @Mika 0 last edited by

          @mika-0 gibt viele Möglichkeiten.
          Ich habe etliche Aktoren zu schalten und habe das über eine Funktion gelößt.
          Screenshot 2024-01-02 163331.png

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

            @paul53 Vielen Dank für die Inspiration.
            Leider habe ich dazu aber noch eine Frage. Du hast unten bei falls ein Text genommen.
            00b0dd47-30e5-4d1a-b218-49a3976411f7-image.png
            Ist das richtig ein Textfeld zu nehmen? Wo ist der Vorteil von deiner Vorgehensweise?

            Ich hätte das über ein Objekt Feld gemacht.
            Wo ist der Vorteil von deiner Vorgehensweise?
            2ed4e8b4-d2ae-414c-96cd-bd869099f3d8-image.png

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

              @mika-0 sagte: Ist das richtig ein Textfeld zu nehmen?

              Nein, das habe ich genommen, da ich diesen Datenpunkt nicht habe und es den Block "Wert von dieser DP" noch nicht gab.

              @mika-0 sagte in Mehrere Datenpunkte vereinen:

              Ich hätte das über ein Objekt Feld gemacht.

              Richtig, aber ist "OperationMode" korrekt, wenn die Variable OnOffMode bezeichnet ist?

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

                @paul53 Danke, das ist mir schon aufgefallen.

                M 1 Reply Last reply Reply Quote 0
                • M
                  Mika 0 @Mika 0 last edited by Mika 0

                  @ubecker & @paul53
                  Dein Vorschlag war für mich irgendwie verständlicher. Habe ich umgesetzt. Leider wird nach Skript Neustart nur Käse {"ack":true}zum Daikin Adapter von den Variablen geschickt. Ich schätze, die Variablen müssen jedes mal erst neu geladen werden indem ich händisch diese neu setze, oder es gibt etwas, das die Variablen einfach aktuell hält bzw. selbst sich neu lädt.

                  @ubecker Dein Vorschlag habe ich nicht verstanden, da komplett fremd...

                  So sieht der Trigger und Variablen setzen aus. Gibt es ggf. noch ein Addon, was ich hinzufügen kann?
                  Ich dachte an einen minütliches CRON. Aber das ist ja nicht wirklich zielführend, 99% der Woche das nicht benötigt wird. Nur dann, wenn ich ioBroker neu starte (oder nach dem wöchentlichen Backup setzen.)
                  b7fed068-0588-4595-8ff7-8a0157d06504-image.png

                  <block xmlns="https://developers.google.com/blockly/xml" type="on_ext" id="*3rj(_;Sk.!a``xFqV.Q" x="338" y="464">
                    <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="q1?G#@qu~G.782Qt2i+q">
                        <field name="oid">0_userdata.0.Klima_Zeitsteuerung.OG_WZ.Timerbereich_1.1Mo.1_Abschnitt.Lüftermodus</field>
                      </shadow>
                    </value>
                    <statement name="STATEMENT">
                      <block type="variables_set" id="2ccZ?(jUNk6:b[u4!MA8">
                        <field name="VAR" id="(=K`2C;QK#TBO():q_`#">Var_Lüftermodus</field>
                        <value name="VALUE">
                          <block type="on_source" id="?[]YEHx6D4buHIA:b09p">
                            <field name="ATTR">state.val</field>
                          </block>
                        </value>
                      </block>
                    </statement>
                  </block>
                  
                  paul53 1 Reply Last reply Reply Quote 0
                  • paul53
                    paul53 @Mika 0 last edited by paul53

                    @mika-0 sagte: Leider wird nach Skript Neustart nur Käse {"ack":true}zum Daikin Adapter von den Variablen geschickt.

                    Die Datenpunkte befinden sich unter "0_userdata.0". Wie erfährt der Daikin-Adapter davon?
                    Für Adapter-Datenpunkte muss natürlich "steuere" verwendet werden.

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

                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    489
                    Online

                    32.0k
                    Users

                    80.4k
                    Topics

                    1.3m
                    Posts

                    3
                    8
                    315
                    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