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 eleganter machen

    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

    blockly eleganter machen

    This topic has been deleted. Only users with topic management privileges can see it.
    • D
      dos1973 @Ahnungsbefreit last edited by dos1973

      @Ahnungsbefreit ja liebend gerne 🙂
      oha, mit json wollte ich dann auch irgendwann einsteigen, die Textlisten will ich auch loswerden...

      A 1 Reply Last reply Reply Quote 0
      • David G.
        David G. @Ahnungsbefreit last edited by

        @Ahnungsbefreit

        Ist die ParentID dann der Name vom Homematicgerät?

        1.JPG

        A 1 Reply Last reply Reply Quote 0
        • A
          Ahnungsbefreit @David G. last edited by Ahnungsbefreit

          @David-G In meinem Setup, ja und auch bei Dir sollte "Sensor_Garagentor" rauskommen

          1 Reply Last reply Reply Quote 0
          • D
            dos1973 @Ahnungsbefreit last edited by dos1973

            @Ahnungsbefreit

            in dem Teil kann ich dir nicht folgen

            Bildschirmfoto 2021-01-04 um 12.04.23.png

            kannst mal deine Ausgabe posten

            A 1 Reply Last reply Reply Quote 0
            • A
              Ahnungsbefreit @dos1973 last edited by

              @dos1973 So, habe mal statt Text das JSON gebaut. Es wird am Ende in UnreachJSON (das muss als Zeichenkette angelegt werden) geschrieben und das kann man in der VIS verwenden:

              5386f5a6-7a5c-4e50-b0ff-9a2f53fd75d4-image.png


              <xml xmlns="https://developers.google.com/blockly/xml">
              <variables>
              <variable id="e:To7F^NX#}ZFQB@0C@z">id</variable>
              <variable id="Z}boxz9?^jON|pfGA-@">JSONResult</variable>
              <variable id="WjK4C^/1-(^hahMgM|G">i</variable> <variable id="DPRZq(Ca-zxhX,^!Bf}O">ParentID</variable> </variables> <block type="procedures_defcustomreturn" id=".V;sGE(cJ|mFGY}YGD(F" x="-37" y="13"> <mutation statements="false"> <arg name="id" varid="e:To7F^NX#}ZFQB@0C@z"></arg> </mutation> <field name="NAME">GetObjectByID</field> <field name="SCRIPT">cmV0dXJuIGdldE9iamVjdChpZCk7</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="schedule" id="n_o)hpm1EZDO/j3//$:*" x="-37" y="63"> <field name="SCHEDULE">*/4 * * * *</field> <statement name="STATEMENT"> <block type="variables_set" id="L%#e4Yf5R.h8IPul!}cM"> <field name="VAR" id="Z}boxz9?^jO*N|pfGA-@">JSONResult</field> <value name="VALUE"> <block type="text" id="|sq,CW3RlX@H%z8fP1tM"> <field name="TEXT">[</field> </block> </value> <next> <block type="controls_forEach" id="+o1bDpwZ5K_/,j${ekx">
              <field name="VAR" id="WjK4C^/1-(^hahMgM|G">i</field> <value name="LIST"> <block type="selector" id="P!k_vET^lcMtmbC*!q}S"> <field name="TEXT">hm-rpc.1.*.0.UNREACH</field> </block> </value> <statement name="DO"> <block type="variables_set" id="z=xJF=B%%ou4goJJ:WPy"> <field name="VAR" id="DPRZq(Ca-zxhX,^!Bf}O">ParentID</field> <value name="VALUE"> <block type="text_getSubstring" id="~3JND0l}$$KGMup%N7qP" inline="false"> <mutation at1="true" at2="true"></mutation> <field name="WHERE1">FROM_START</field> <field name="WHERE2">FROM_START</field> <value name="STRING"> <block type="variables_get" id="m!.y#jY-vio4K5i-sCKk"> <field name="VAR" id="WjK4C^/1-(^hahMgM|G">i</field>
              </block>
              </value>
              <value name="AT1">
              <block type="math_number" id="^m
              @r~G9M;LMNV7#;S!}">
              <field name="NUM">1</field>
              </block>
              </value>
              <value name="AT2">
              <block type="math_arithmetic" id="1m.?oR^]j3tYf]QptN4" inline="false"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="0t+}.]w{%V)crjiJ@%JG"> <field name="NUM">1</field> </shadow> <block type="text_indexOf" id="LG05Rd#]~*Y~T2ju}-9S"> <field name="END">LAST</field> <value name="VALUE"> <block type="variables_get" id=",@APDqA9${h,}omAL59Y"> <field name="VAR" id="WjK4C^/1-(^hahMgM|G">i</field>
              </block>
              </value>
              <value name="FIND">
              <shadow type="text" id="g8ouC|gtYS4b!gN7zf}">
              <field name="TEXT">.0.UNREACH</field>
              </shadow>
              </value>
              </block>
              </value>
              <value name="B">
              <shadow type="math_number" id="cyf0Vu7oZh!XuqXoL4ME">
              <field name="NUM">1</field>
              </shadow>
              </value>
              </block>
              </value>
              </block>
              </value>
              <next>
              <block type="variables_set" id="T~W~^WDX5STNSMfV.qa^">
              <field name="VAR" id="Z}boxz9?^jO
              N|pfGA-@">JSONResult</field>
              <value name="VALUE">
              <block type="text_join" id="$M$Em4v2K2Tm?}aG;X9"> <mutation items="6"></mutation> <value name="ADD0"> <block type="variables_get" id="ZB:Z#fUg.wu@[Y#(Tf9k"> <field name="VAR" id="Z}boxz9?^jO*N|pfGA-@">JSONResult</field> </block> </value> <value name="ADD1"> <block type="text" id="Uq6RjGKeY_.ja(73q@7x"> <field name="TEXT">{"Name":"</field> </block> </value> <value name="ADD2"> <block type="get_attr" id="j/j$_5s}Y#d129ta(gXY" inline="false"> <value name="PATH"> <shadow type="text" id="*R:?$IZ;iG~7xPO2z;)W"> <field name="TEXT">common.name</field> </shadow> </value> <value name="OBJECT"> <block type="procedures_callcustomreturn" id="@GOqX.uS2Gbgb%3uuTjY"> <mutation name="GetObjectByID"> <arg name="id"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="spdZtTg%lKFR9LO_fo"> <field name="VAR" id="DPRZq(Ca-zxhX,^!Bf}O">ParentID</field> </block> </value> </block> </value> </block> </value> <value name="ADD3"> <block type="text" id="2_hOa-Nk*d5U;^dR{~nN"> <field name="TEXT">","Connected":"</field> </block> </value> <value name="ADD4"> <block type="logic_ternary" id="1r%pcfSp2.CjXrPs]2at" inline="true"> <value name="IF"> <block type="get_value_var" id="e{pl,7A$0QpDUe#W4dN+"> <field name="ATTR">val</field> <value name="OID"> <shadow type="text"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="gXBz!DVWTG?wj0S@gQcv"> <field name="VAR" id="WjK4C^/1-(^hahMgM|G">i</field>
              </block>
              </value>
              </block>
              </value>
              <value name="THEN">
              <block type="text" id="2]di@bg|p-FPTks5u3X*">
              <field name="TEXT">❌</field>
              </block>
              </value>
              <value name="ELSE">
              <block type="text" id="{IzP9OwRcp!j=-tK+%$)">
              <field name="TEXT">✅</field>
              </block>
              </value>
              </block>
              </value>
              <value name="ADD5">
              <block type="text" id="jsxWLE6QoXfnm]EIzrzb">
              <field name="TEXT">"},</field>
              </block>
              </value>
              </block>
              </value>
              </block>
              </next>
              </block>
              </statement>
              <next>
              <block type="variables_set" id="K4q03kkjBJ_Ey9#Mw-S"> <field name="VAR" id="Z}boxz9?^jO*N|pfGA-@">JSONResult</field> <value name="VALUE"> <block type="text_join" id="=.Y@@~W,faYxV^2wOxYl"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text_getSubstring" id="{QWGaIyOYrDhGW,}LJx^" inline="false"> <mutation at1="false" at2="true"></mutation> <field name="WHERE1">FIRST</field> <field name="WHERE2">FROM_START</field> <value name="STRING"> <block type="variables_get" id="tk8thB9{(-1paz4c@Jr">
              <field name="VAR" id="Z}boxz9?^jON|pfGA-@">JSONResult</field>
              </block>
              </value>
              <value name="AT2">
              <block type="math_arithmetic" id="h!iAG;~?#iboXHvW!u1m">
              <field name="OP">MINUS</field>
              <value name="A">
              <shadow type="math_number" id="rtHz|UuI}XGW)y/R_|("> <field name="NUM">1</field> </shadow> <block type="text_length" id="]Sv)4mLL[YAVLkkAx%.C"> <value name="VALUE"> <shadow type="text" id="!WA#5hdfe0vbHiX.%[%/"> <field name="TEXT">abc</field> </shadow> <block type="variables_get" id="A)5#M,3}to-wZKb1vA{W"> <field name="VAR" id="Z}boxz9?^jO*N|pfGA-@">JSONResult</field> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id="8_N@{o8~!p?D3XgtsxG5"> <field name="NUM">1</field> </shadow> </value> </block> </value> </block> </value> <value name="ADD1"> <block type="text" id="H_Gwre47EY~PRzMsv$s4"> <field name="TEXT">]</field> </block> </value> </block> </value> <next> <block type="control" id="AXH=4d=nlRurO%nYSVa">
              <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
              <field name="OID">0_userdata.0.Helpers.UnreachJSON</field>
              <field name="WITH_DELAY">FALSE</field>
              <value name="VALUE">
              <block type="variables_get" id="80,(qLW{hq4i^|QCuY_L">
              <field name="VAR" id="Z}boxz9?^jO
              N|pfGA-@">JSONResult</field>
              </block>
              </value>
              <next>
              <block type="debug" id=";0(!LBLU_1ew@WMCvs[" disabled="true"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="90ai3))n!ZVjqq9M@.9Y"> <field name="TEXT">test</field> </shadow> <block type="variables_get" id=".z[!onqDOeXw)#9%aUv">
              <field name="VAR" id="Z}boxz9?^jON|pfGA-@">JSONResult</field>
              </block>
              </value>
              </block>
              </next>
              </block>
              </next>
              </block>
              </next>
              </block>
              </next>
              </block>
              </statement>
              </block>
              <block type="variables_set" id="RDin]@yUGcqGY(,D/e|l" x="138" y="1753">
              <field name="VAR" id="Z}boxz9?^jO
              N|pfGA-@">JSONResult</field>
              <value name="VALUE">
              <block type="text_join" id="x3:}/s:Up4|FKGy=)=sP">
              <mutation items="2"></mutation>
              <value name="ADD0">
              <block type="variables_get" id="FrU.AT*$)3nX[aCSvA.0">
              <field name="VAR" id="Z}boxz9?^jON|pfGA-@">JSONResult</field>
              </block>
              </value>
              <value name="ADD1">
              <block type="text" id="oUPj8LS]`|{Z~|qItzVp">
              <field name="TEXT">]</field>
              </block>
              </value>
              </block>
              </value>
              <next>
              <block type="control" id="K^G@i,45#X:lS
              RUtIh?">
              <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
              <field name="OID">0_userdata.0.Helpers.ConnectedJSON</field>
              <field name="WITH_DELAY">FALSE</field>
              <value name="VALUE">
              <block type="variables_get" id="dQJ~]Se/e6f5s;v#D^WE">
              <field name="VAR" id="Z}boxz9?^jON|pfGA-@">JSONResult</field>
              </block>
              </value>
              <next>
              <block type="debug" id="qLc:/JIP~0A+~51,wUr_" disabled="true">
              <field name="Severity">log</field>
              <value name="TEXT">
              <shadow type="text">
              <field name="TEXT">test</field>
              </shadow>
              <block type="variables_get" id="+:T%YNT._7G!BO$S,;j@">
              <field name="VAR" id="Z}boxz9?^jO
              N|pfGA-@">JSONResult</field>
              </block>
              </value>
              </block>
              </next>
              </block>
              </next>
              </block>
              </xml>

              D 1 Reply Last reply Reply Quote 0
              • A
                Ahnungsbefreit @dos1973 last edited by Ahnungsbefreit

                @dos1973 In meinem Setup steht der Name des Geräts im "Klartext" (nicht wirklich, ich verwende Kürzel der Form Raum-Gerät, hier BUR(Büro) RAU(Rauchmelder)) und da UNREACH im Channel 0 darunter steht, entferne ich den Teil "0.UNREACH" am Ende. Damit habe ich den Namen des übergeordneten Geräts und über "common.name" dessen Namen:

                59d7618a-3e09-4424-9675-19b0ed7c3d20-image.png

                1 Reply Last reply Reply Quote 0
                • D
                  dos1973 @Ahnungsbefreit last edited by

                  @Ahnungsbefreit
                  das funktioniert beim 1A mit meinen Homematic 😉

                  D 1 Reply Last reply Reply Quote 0
                  • D
                    dos1973 @dos1973 last edited by dos1973

                    @Ahnungsbefreit

                    ich finde dieses "GetObjectbyID" nicht.
                    Die JS Funktion habe ich am Anfang des Blockly eingefügt.

                    Bildschirmfoto 2021-01-04 um 13.23.45.png

                    kannst mir noch ein schubs geben, Danke

                    A 1 Reply Last reply Reply Quote 0
                    • A
                      Ahnungsbefreit @dos1973 last edited by Ahnungsbefreit

                      @dos1973 Das ist eine selbst definierte JavaScript-Funktion wie oben beschrieben:

                      6a64bf93-d834-4f91-a926-84152c259a5a-image.png

                      Bei "etwas tun" kommt "GetObjectbyID" rein, dann auf das Zahnrad klicken und einen Parameter namens "id" definieren ("Variable x" nach rechts auf Parameter ziehen und "x" in "id" umbenennen). Dann auf "..." klicken und statt dem vorgegeben "return" folgenden Text einsetzen:

                      return getObject(id);
                      
                      A 1 Reply Last reply Reply Quote 1
                      • A
                        Ahnungsbefreit @Ahnungsbefreit last edited by

                        @dos1973 Die JavaScript Funktion selbst kann irgendwo im selben Script stehen

                        D 1 Reply Last reply Reply Quote 0
                        • D
                          dos1973 @Ahnungsbefreit last edited by

                          @Ahnungsbefreit
                          ok hab's gefunden

                          A 1 Reply Last reply Reply Quote 0
                          • A
                            Ahnungsbefreit @dos1973 last edited by

                            @dos1973 @David-G berichtet mal bitte, ob das bei Euch so klappt, damit ich das ggf korrigieren kann. Und immer fleissig "upvoten" 🙂

                            @dos1973 Und den Beitrag dann im Betreff um "[Gelöst]" ergänzen. Dazu deinen ursprünglichen ersten Beitrag ganz oben noch mal editieren...

                            D 1 Reply Last reply Reply Quote 0
                            • D
                              dos1973 @Ahnungsbefreit last edited by dos1973

                              @Ahnungsbefreit
                              soweit bin ich noch lange nicht... bei mir läuft noch nix 😉
                              ich hab stunden verbraucht und verstehe es einfach nicht... 😞

                              A 1 Reply Last reply Reply Quote 0
                              • A
                                Ahnungsbefreit @dos1973 last edited by

                                @dos1973 Was versucht Du jetzt zu machen? Für Shelly anpassen? Wenn ja, dann poste doch bitte mal den Namen eines Objektes, das Du abfragen willst hier, damit ich die Struktur sehen kann

                                D 1 Reply Last reply Reply Quote 0
                                • D
                                  dos1973 @Ahnungsbefreit last edited by dos1973

                                  @Ahnungsbefreit
                                  hier mal ein json download

                                  D 1 Reply Last reply Reply Quote 0
                                  • D
                                    dos1973 @dos1973 last edited by dos1973

                                    @Ahnungsbefreit

                                    ich komme mit dem variablen Teil nicht klar. angefangen bei ParentID
                                    bis runter zum common. name

                                    ich weiß nicht was in dem Fall Variablen sind, was feste definition sind, und komm mit dem debug auch nicht wirklich klar ...

                                    A 1 Reply Last reply Reply Quote 0
                                    • A
                                      Ahnungsbefreit @dos1973 last edited by

                                      @dos1973 Hast Du mal mein Script importiert? Dann wird das doch alles automatisch richtig gesetzt. Siehe oben "Spoiler"

                                      D 1 Reply Last reply Reply Quote 0
                                      • D
                                        dos1973 @Ahnungsbefreit last edited by

                                        @Ahnungsbefreit

                                        ja, für Homematik klappt es, aber ich brauche die Shellys und schaffe es nicht es umzubauen/ nachzubauen.

                                        A 1 Reply Last reply Reply Quote 0
                                        • A
                                          Ahnungsbefreit @dos1973 last edited by

                                          @dos1973 Statt des JSON poste doch bitte nur mal den Namen/die ID des Datenpunktes eines Shellys, den Du auf Erreichbarkeit prüfen willst

                                          D 1 Reply Last reply Reply Quote 0
                                          • D
                                            dos1973 @Ahnungsbefreit last edited by

                                            @Ahnungsbefreit

                                            shelly.0.SHSW-25#E563E8#1.online
                                            
                                            A 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            783
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            blockly
                                            5
                                            72
                                            4560
                                            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