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 reagiert nicht

    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 reagiert nicht

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

      @triplex sagte: "IDs vom Selektor" nen Fehler drin habe

      Die ID lautet "enum.functions.fenster" (genau so geschrieben)?

      Die Funktion Multisort enthält nur "return 0".
      Man kann ein Array nicht mit "falls nicht array" prüfen.

      Versuche es mal so, wenn die Aufzählungs-ID passt:

      Blockly_temp.JPG

      <xml xmlns="https://developers.google.com/blockly/xml">
       <variables>
         <variable id="a8Hk_)m.S#v]xOx,|g]B">ids</variable>
         <variable id="gQ^MWH@U]r?C~C(,j:=g">Liste Fenster/Türen</variable>
         <variable id="[UG=(pvWmZmFgE-HPCCD">Liste Fenster/Türen geöffnet</variable>
         <variable id="{TsTs+Y3v~YJRGCRqZfq">Liste Fenster/Türen geschlossen</variable>
         <variable id="NT6-sClXdr;R-{!wI1KN">id</variable>
         <variable id="C=`OxZ]y`1F%z$|n#jE%">Name</variable>
       </variables>
       <block type="variables_set" id="-I]W;sw+U){6!S}7N5;w" x="13" y="113">
         <field name="VAR" id="a8Hk_)m.S#v]xOx,|g]B">ids</field>
         <value name="VALUE">
           <block type="selector" id="5ZggO?]|0Myn@`#_a,JT">
             <field name="TEXT">*.ACTUAL(functions=fenster)</field>
           </block>
         </value>
         <next>
           <block type="on_ext" id="1i+D5}O}MN_U%YvpGsK/">
             <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="+$aUF!#M|_4D65-06JvI">
                 <field name="oid">ID auswählen</field>
               </shadow>
               <block type="variables_get" id="j8z$SV-9Ll]a3WOAJZQf">
                 <field name="VAR" id="a8Hk_)m.S#v]xOx,|g]B">ids</field>
               </block>
             </value>
             <statement name="STATEMENT">
               <block type="variables_set" id=")fNPiG^g9NkonCg`LkVX">
                 <field name="VAR" id="gQ^MWH@U]r?C~C(,j:=g">Liste Fenster/Türen</field>
                 <value name="VALUE">
                   <block type="text" id="*l1l=Gx~@#4n!Yp9LYgt">
                     <field name="TEXT"></field>
                   </block>
                 </value>
                 <next>
                   <block type="variables_set" id="UI#URY^$.(3-Gd]mQ@gJ">
                     <field name="VAR" id="[UG=(pvWmZmFgE-HPCCD">Liste Fenster/Türen geöffnet</field>
                     <value name="VALUE">
                       <block type="lists_create_with" id=",u2Z#s^H%`E2gPIYOvr9">
                         <mutation items="0"></mutation>
                       </block>
                     </value>
                     <next>
                       <block type="variables_set" id="g(?%_t#h~M(|c@`,LQsr">
                         <field name="VAR" id="{TsTs+Y3v~YJRGCRqZfq">Liste Fenster/Türen geschlossen</field>
                         <value name="VALUE">
                           <block type="lists_create_with" id="fY-Q$wlt2WPA;]py{`^k">
                             <mutation items="0"></mutation>
                           </block>
                         </value>
                         <next>
                           <block type="controls_forEach" id="Av3}L/U$V@AW{gaR#Pdi">
                             <field name="VAR" id="NT6-sClXdr;R-{!wI1KN">id</field>
                             <value name="LIST">
                               <block type="variables_get" id=";s6qmEFRhp*@%iWHt*WB">
                                 <field name="VAR" id="a8Hk_)m.S#v]xOx,|g]B">ids</field>
                               </block>
                             </value>
                             <statement name="DO">
                               <block type="variables_set" id="sN+QBgFEpS%iXGfWk[~l">
                                 <field name="VAR" id="C=`OxZ]y`1F%z$|n#jE%">Name</field>
                                 <value name="VALUE">
                                   <block type="get_value_var" id=":=:,v}UiVGR+wti7yBX7">
                                     <field name="ATTR">common.name</field>
                                     <value name="OID">
                                       <shadow type="field_oid" id="wY%b(zjfqDOn,GEHcF$2">
                                         <field name="oid">ID auswählen</field>
                                       </shadow>
                                       <block type="variables_get" id="x*j1CNwhD|ubJa+H4D3[">
                                         <field name="VAR" id="NT6-sClXdr;R-{!wI1KN">id</field>
                                       </block>
                                     </value>
                                   </block>
                                 </value>
                                 <next>
                                   <block type="controls_if" id="sb=P{|#jJbPZx8P,+Eqa">
                                     <mutation else="1"></mutation>
                                     <value name="IF0">
                                       <block type="get_value_var" id="L#w1K.4g%4d7+ewpljh[">
                                         <field name="ATTR">val</field>
                                         <value name="OID">
                                           <shadow type="field_oid" id="u_QzJ.OT}t88X;|Fhe=m">
                                             <field name="oid">ID auswählen</field>
                                           </shadow>
                                           <block type="variables_get" id="_~|#BZ:}*sl:QZyYwI?|">
                                             <field name="VAR" id="NT6-sClXdr;R-{!wI1KN">id</field>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
                                     <statement name="DO0">
                                       <block type="lists_setIndex" id="kgfEw-YUvQ3.!w][j@v5">
                                         <mutation at="false"></mutation>
                                         <field name="MODE">INSERT</field>
                                         <field name="WHERE">FIRST</field>
                                         <value name="LIST">
                                           <block type="variables_get" id="QvjIztl{3C(|HP8Nf.G(">
                                             <field name="VAR" id="[UG=(pvWmZmFgE-HPCCD">Liste Fenster/Türen geöffnet</field>
                                           </block>
                                         </value>
                                         <value name="TO">
                                           <block type="variables_get" id="0WsM!K=N1Dt+x`BSJ]%K">
                                             <field name="VAR" id="C=`OxZ]y`1F%z$|n#jE%">Name</field>
                                           </block>
                                         </value>
                                       </block>
                                     </statement>
                                     <statement name="ELSE">
                                       <block type="lists_setIndex" id="p=1P^`U4X{g:u}hVcj!l">
                                         <mutation at="false"></mutation>
                                         <field name="MODE">INSERT</field>
                                         <field name="WHERE">FIRST</field>
                                         <value name="LIST">
                                           <block type="variables_get" id="(asGC6.iwC@$[YJ%^P)p">
                                             <field name="VAR" id="{TsTs+Y3v~YJRGCRqZfq">Liste Fenster/Türen geschlossen</field>
                                           </block>
                                         </value>
                                         <value name="TO">
                                           <block type="variables_get" id="1pvVX@g~)V[!@,}!m[cZ">
                                             <field name="VAR" id="C=`OxZ]y`1F%z$|n#jE%">Name</field>
                                           </block>
                                         </value>
                                       </block>
                                     </statement>
                                   </block>
                                 </next>
                               </block>
                             </statement>
                             <next>
                               <block type="controls_if" id="fxSN4{r]B?Zwk~Hi/DS(">
                                 <value name="IF0">
                                   <block type="logic_compare" id="dftfAQ)ZUsVV_qcr.*9Y">
                                     <field name="OP">GT</field>
                                     <value name="A">
                                       <block type="lists_length" id="Z=yZQ8LXUS1NfLJyLQkJ">
                                         <value name="VALUE">
                                           <block type="variables_get" id="~[3C`d]l,W7:F;hm4u.X">
                                             <field name="VAR" id="[UG=(pvWmZmFgE-HPCCD">Liste Fenster/Türen geöffnet</field>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
                                     <value name="B">
                                       <block type="math_number" id="q{UaJ%axF|!lO7TAZxFL">
                                         <field name="NUM">0</field>
                                       </block>
                                     </value>
                                   </block>
                                 </value>
                                 <statement name="DO0">
                                   <block type="text_append" id="86@|*}$/b;G*pmq?R0J=">
                                     <field name="VAR" id="gQ^MWH@U]r?C~C(,j:=g">Liste Fenster/Türen</field>
                                     <value name="TEXT">
                                       <shadow type="text" id="O/CPRLBbA-g^P5h`3S#z">
                                         <field name="TEXT"></field>
                                       </shadow>
                                       <block type="text" id="Ml!IJn|Ad`U6o:@]IyUF">
                                         <field name="TEXT">geöffnet: </field>
                                       </block>
                                     </value>
                                     <next>
                                       <block type="text_append" id="2DG7b?IZSe_{6yTS)2P|">
                                         <field name="VAR" id="gQ^MWH@U]r?C~C(,j:=g">Liste Fenster/Türen</field>
                                         <value name="TEXT">
                                           <shadow type="text" id="O/CPRLBbA-g^P5h`3S#z">
                                             <field name="TEXT"></field>
                                           </shadow>
                                           <block type="lists_split" id="[)wI75|#S!Nph27(Etev">
                                             <mutation mode="JOIN"></mutation>
                                             <field name="MODE">JOIN</field>
                                             <value name="INPUT">
                                               <block type="variables_get" id="XiMlyXn`;0xJCmR4.Fc-">
                                                 <field name="VAR" id="[UG=(pvWmZmFgE-HPCCD">Liste Fenster/Türen geöffnet</field>
                                               </block>
                                             </value>
                                             <value name="DELIM">
                                               <shadow type="text" id="^AQysufkHt$q/[gcZ,RM">
                                                 <field name="TEXT">, </field>
                                               </shadow>
                                             </value>
                                           </block>
                                         </value>
                                         <next>
                                           <block type="text_append" id="Oydh*7g,a*}Hmnog^28L">
                                             <field name="VAR" id="gQ^MWH@U]r?C~C(,j:=g">Liste Fenster/Türen</field>
                                             <value name="TEXT">
                                               <shadow type="text" id="XTEwyhBJ|E~LF6q.Pl@{">
                                                 <field name="TEXT"></field>
                                               </shadow>
                                               <block type="text_newline" id="R-ReU7~$F`;EI.hCVDx%">
                                                 <field name="Type">\n</field>
                                               </block>
                                             </value>
                                           </block>
                                         </next>
                                       </block>
                                     </next>
                                   </block>
                                 </statement>
                                 <next>
                                   <block type="controls_if" id="!bygQf,~yYMPOcH@hWaG">
                                     <value name="IF0">
                                       <block type="logic_compare" id="wt)Gfe2nnNZ2m=MamKCB">
                                         <field name="OP">GT</field>
                                         <value name="A">
                                           <block type="lists_length" id="y4^0v.Kf3Ntj_(:h%(:3">
                                             <value name="VALUE">
                                               <block type="variables_get" id="|4JM5Gan]+Hf3_@Y0fCt">
                                                 <field name="VAR" id="{TsTs+Y3v~YJRGCRqZfq">Liste Fenster/Türen geschlossen</field>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                         <value name="B">
                                           <block type="math_number" id="(GV$--x`i#(=eLT$Pq/8">
                                             <field name="NUM">0</field>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
                                     <statement name="DO0">
                                       <block type="text_append" id=",XDO7isJ^)wW%Z%y*eJf">
                                         <field name="VAR" id="gQ^MWH@U]r?C~C(,j:=g">Liste Fenster/Türen</field>
                                         <value name="TEXT">
                                           <shadow type="text" id="4j11$u);3C}:kFPf}DUU">
                                             <field name="TEXT"></field>
                                           </shadow>
                                           <block type="text" id="Of#Ze8?7;iV?_FzuX=lv">
                                             <field name="TEXT">geschlossen: </field>
                                           </block>
                                         </value>
                                         <next>
                                           <block type="text_append" id="OYIU)Kx9mo8B%lt:#9XD">
                                             <field name="VAR" id="gQ^MWH@U]r?C~C(,j:=g">Liste Fenster/Türen</field>
                                             <value name="TEXT">
                                               <shadow type="text" id="4j11$u);3C}:kFPf}DUU">
                                                 <field name="TEXT"></field>
                                               </shadow>
                                               <block type="lists_split" id="}Y|fSSzM;+8b|-htfrcY">
                                                 <mutation mode="JOIN"></mutation>
                                                 <field name="MODE">JOIN</field>
                                                 <value name="INPUT">
                                                   <block type="variables_get" id="[f2yvBE4uRY%2;)wr^DY">
                                                     <field name="VAR" id="{TsTs+Y3v~YJRGCRqZfq">Liste Fenster/Türen geschlossen</field>
                                                   </block>
                                                 </value>
                                                 <value name="DELIM">
                                                   <shadow type="text" id="ukqd`mm:=+T@*2RGPWgQ">
                                                     <field name="TEXT">, </field>
                                                   </shadow>
                                                 </value>
                                               </block>
                                             </value>
                                           </block>
                                         </next>
                                       </block>
                                     </statement>
                                     <next>
                                       <block type="debug" id="^)uyP}2(YxP-)9nwVJOH">
                                         <field name="Severity">info</field>
                                         <value name="TEXT">
                                           <shadow type="text" id="2Ephok)!~5CwF]FTing0">
                                             <field name="TEXT">test</field>
                                           </shadow>
                                           <block type="variables_get" id="Z^3O~(=^AukmtgSmgQoL">
                                             <field name="VAR" id="gQ^MWH@U]r?C~C(,j:=g">Liste Fenster/Türen</field>
                                           </block>
                                         </value>
                                         <next>
                                           <block type="pushover" id="~O9:W)VnePI@cCIIoxVJ" inline="true">
                                             <field name="INSTANCE"></field>
                                             <field name="SOUND"></field>
                                             <field name="PRIORITY">0</field>
                                             <field name="LOG"></field>
                                             <value name="MESSAGE">
                                               <shadow type="text" id="I%i#HC@..nSt|eOojZQB">
                                                 <field name="TEXT">text</field>
                                               </shadow>
                                               <block type="variables_get" id="KVIR2S+7+nkSmFr/$]6~">
                                                 <field name="VAR" id="gQ^MWH@U]r?C~C(,j:=g">Liste Fenster/Türen</field>
                                               </block>
                                             </value>
                                           </block>
                                         </next>
                                       </block>
                                     </next>
                                   </block>
                                 </next>
                               </block>
                             </next>
                           </block>
                         </next>
                       </block>
                     </next>
                   </block>
                 </next>
               </block>
             </statement>
           </block>
         </next>
       </block>
      </xml>
      

      1 Reply Last reply Reply Quote 0
      • Asgothian
        Asgothian Developer last edited by

        @triplex sagte in Blockly reagiert nicht:

        Wie muss ich den "IDs vom Selektor" befüllen?

        Das löst dein Problem nur bedingt.

        ein paar Fragen dazu:

        • warum gehst du jedes mal wenn sich ein Objekt aus der Liste ändert immer alle Objekte durch ? Du hältst doch sowieso 2 interne Listen mit allen Elementen.
        • was macht die Funktion 'multisort' (eine Beschreibung reicht, ich muss nicht den Code sehen)
        • was macht die Funktion 'Name' ? (auch hier reicht eine Beschreibung, der Code muss nicht sein)
        • der folgende Block funktioniert so nicht. Da die Variable Liste Fenster/Türen geschlossen eine Liste ist, ist die Falls abfrage immer falsch.
          Screenshot 2024-12-27 at 14.34.50.png Statt dessen sollte diese Abfrage auf die Länge der Liste gehen.

        Ich würde das ganze aber generell umstellen. Anbei 3 Screenshots für 3 Bereiche. Wichtig: die Funktionen Multisort und Name kannst / musst du an den entsprechenden Stellen einfügen.

        1. Teil: Initialisierung - da werden einmal alle States eingelesen und in den beiden Listen gespeichert, sowie eine Meldung abgegeben wie der Status aktuell ist
          Screenshot 2024-12-27 at 15.06.25.png

        2. Teil: Trigger - da wird nur das Element aus geöffnet in geschlossen (oder umgekehrt) umsortiert welches den Trigger auslöst, und dann wird eine Nachricht erzeugt.
          Screenshot 2024-12-27 at 15.06.59.png

        3. Teil: Pushover / Text Erzeugung
          Screenshot 2024-12-27 at 15.07.30.png

        In diesem 3. Teil kannst du die Sortierung der Namen vornehmen und dann die Pushover Meldung erzeugen. Ich hab nur einen Debug Baustein eingebaut, da ich kein Pushover habe. Auch wenn du verhindern willst das du zu viele Nachrichten bekommst wäre das dann in dieser Funktion.

        Viel spass beim Nachbauen.

        A.

        T 1 Reply Last reply Reply Quote 0
        • T
          TripleX last edited by

          @asgothian Danke für die Rückmeldung.

          Hatte das Programm von "Machs-Smart.de" übernommen...Link siehe 1. Post.
          Hab auch gerade festgestellt, dass ich bei dem "Nicht" einen Block vergessen habe.
          Aber auch wenn ich das ändere, dann läuft das Programm immer noch nicht.

          Werde jetzt dein Variante mal nachbauen und berichten.

          paul53 1 Reply Last reply Reply Quote 0
          • T
            TripleX @Asgothian last edited by TripleX

            @asgothian In dem Block "in der Liste...." kann ich kein "entferne" auswählen.

            720addba-dfc6-4837-b604-13e98a16e3a4-image.png

            Bzw. finde ich den Block so bei mir garnicht.

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

              @triplex
              Meinen Beitrag hast du übersehen?

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

                @paul53 Ist mir durchgegangen...sorry.
                Hab es gerade mal nachgebaut.
                Läuft bei mir auch nicht.
                Es wird anscheinend nicht erkannt, dass sich der Status eines Fensters geändert hat.

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

                  @triplex sagte: nicht erkannt, dass sich der Status eines Fensters geändert hat.

                  Stimmt der Selektor mit (functions=fenster)? Wie lautet die ID der Aufzählung?

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

                    @paul53 Ich weiß jetzt nicht genau ob ich dich richtig verstanden habe.
                    So sieht das unter "Objekte" aus.

                    e5e69d27-2f70-4fc9-bf5d-498e9564dcb6-image.png

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

                      @triplex sagte: ob ich dich richtig verstanden habe.

                      Nein, so sieht man nur den Namen des Gewerkes. Ich meinte unter Kategorien/Gewerke die ID:

                      Gewerke.JPG

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

                        @paul53 Ah...da lag der 1. Fehler...bei mir heißt es "window" und nicht "Fenster"
                        Jetzt bekomme ich zumindest schonmal ne Nachricht.
                        Da steht dann aber nur ACTUAL,ACTUAL,ACTUAL,.....,ACTUAL drin und nicht die Namen der jeweiligen Fenster.
                        Werde mir das morgen nochmal genauer angucken...für heute reicht es.
                        Danke für die Hilfe.

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

                          @triplex sagte: nicht die Namen der jeweiligen Fenster.

                          Dann suche im Forum nach "parentName".

                          Blockly_temp.JPG

                          Inhalt von parentName(id):

                          id = id.substring(0, id.lastIndexOf('.'));
                          if(existsObject(id)) return getObject(id).common.name;
                          
                          T 1 Reply Last reply Reply Quote 0
                          • T
                            TripleX @paul53 last edited by

                            @paul53 said in Blockly reagiert nicht:

                            id = id.substring(0, id.lastIndexOf('.'));
                            if(existsObject(id)) return getObject(id).common.name;

                            Da bekomme ich jetzt Erros im Log.

                            3e322e94-4769-45d3-8df6-62e20ea6c467-image.png

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

                              @triplex sagte: Da bekomme ich jetzt Erros im Log.

                              Ach ja, id wird später nochmal verwendet. Dann ändere den Funktionsinhalt

                              EDIT: Eigentlich sollten lokale Variablen mit dem gleichen Bezeichner nicht auf globale Variablen rückwirken.
                              Wenn ich es unter Javascript teste, passiert es auch nicht. Der Fehler muss wohl woanders liegen?

                              1 Reply Last reply Reply Quote 0
                              • Asgothian
                                Asgothian Developer @TripleX last edited by Asgothian

                                @triplex sagte in Blockly reagiert nicht:

                                @asgothian In dem Block "in der Liste...." kann ich kein "entferne" auswählen.

                                720addba-dfc6-4837-b604-13e98a16e3a4-image.png

                                Bzw. finde ich den Block so bei mir garnicht.

                                Du musst diesen nehmen, und dann das "nimm" in "entferne" ändern!
                                Screenshot 2024-12-27 at 19.21.01.png

                                Sorry für die späte Antwort - war nicht am Rechner.

                                A.

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

                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                705
                                Online

                                31.9k
                                Users

                                80.3k
                                Topics

                                1.3m
                                Posts

                                3
                                17
                                432
                                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