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.
    • T
      TripleX @Asgothian last edited by TripleX

      @asgothian

      a39a78be-71a4-43f7-8bb3-02e99dbb8852-image.png

      e804aa25-0a5b-4418-9c81-61e87d075648-image.png

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

      1 Reply Last reply Reply Quote 0
      • 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

                                  837
                                  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