Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Entwicklung
    4. Wunschliste Blockly-Elemente

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Wunschliste Blockly-Elemente

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

      @dslraser jap. Ersetze einfach die Anführungszeichen " durch ein Hochkomma ' dann sollte es funktionieren.

      1 Reply Last reply Reply Quote 2
      • thewhobox
        thewhobox @Supermicha last edited by

        @Supermicha ich habe leider keine Alexa und kenne deswegen die Datenpunkt davon nicht. Kannst du mal ein Screenshot hochladen, welche datenpunkt du gerne auslesen würdest?
        Dann kann ich dir mal ein Beispiel geben.

        S 1 Reply Last reply Reply Quote 0
        • D
          darkiop Most Active last edited by

          @thewhobox Mir ist gerade aufgefallen, dass das "Datenpunkt erzeugen" Blockly, wenn man keine Argumente übergibt, als Fehler von der Blockly Engine interpretiert wird (==> Blöcke überprüfen). Funktionieren tut es aber auch ohne die Argumente (init value, objects).

          1 Reply Last reply Reply Quote 0
          • siggi85
            siggi85 @dslraser last edited by

            @dslraser sagte in Wunschliste Blockly-Elemente:

            @Supermicha
            @thewhobox

            so wie hier hat es bei mir schon mal funktioniert, aber aktuell bekomme ich mit genau der gleichen Einstellung eine Fehlermeldung.

            Wenn ich mir dann den Baustein in JS ansehe, denke ich das da irgendwie diese hier " " nicht passen...

            Bildschirmfoto 2019-06-05 um 22.32.29.png

            in js sieht es so dann aus ???

            on({id: Array.prototype.slice.apply($("channel[state.id=*.STATE](functions="Fenster")")), change: "ne"}, function (obj) {
            

            Javascript Adapter 4.1.13

            Nach was kann man denn noch damit filtern, außer nach functions? Gibt es dazu was in der Javascript Doku? Wüsste nicht mal wonach ich da suchen soll.

            thewhobox 1 Reply Last reply Reply Quote 0
            • thewhobox
              thewhobox @siggi85 last edited by

              @siggi85 Beim Javascript Adapter gibt es eine kleine Anleitung dazu.
              Gibt auch schon ein paar Beiträge im Forum.

              @darkiop Okay, danke für die Rückmeldung. Ich schaue es mir bei gelegenheit mal an.

              siggi85 1 Reply Last reply Reply Quote 0
              • siggi85
                siggi85 @thewhobox last edited by

                @thewhobox sagte in Wunschliste Blockly-Elemente:

                @siggi85 Beim Javascript Adapter gibt es eine kleine Anleitung dazu.
                Gibt auch schon ein paar Beiträge im Forum.

                Danke, das sollte weiterhelfen. 🙂

                1 Reply Last reply Reply Quote 0
                • S
                  Supermicha @thewhobox last edited by

                  @thewhobox

                  hier mal ein Screenshot von den Datenpunkten wie sie der alexa2-Adapter anlegt...

                  Ich weiß nicht, ob das überhaupt geht.. man würde ja sowohl den Punkt "time" als auch den Punkt "enabled" brauchen...
                  7109c020-46b8-4e9a-9ab5-2e8e3f632fc5-grafik.png

                  1 Reply Last reply Reply Quote 0
                  • iomountain
                    iomountain @iomountain last edited by

                    @iomountain sagte in Wunschliste Blockly-Elemente:

                    Was ich noch brauchen könnte:
                    Eine Kommentar Klammer:
                    5f2b6178-406e-41fd-a908-126e3f019f16-image.png
                    Wäre auch Hilfreich um einen komplette Blöcke zu kopieren.

                    Wollte nur mal anfragen wie die Chance steht so ein Element zu bekommen?
                    Bin gerade dabei für mich hilfreiche Codeschnipsel zu organisieren, da wäre sowas hilfreich.
                    Noch schöner wäre es wenn man den Inhalt auch zusammenfalten kann.

                    P 1 Reply Last reply Reply Quote 1
                    • padrino
                      padrino Most Active last edited by

                      Man könnte (für den Ubergang =)) auch ein deaktiviertes Intervall Element o.Ä. missbrauchen. 😄

                      iomountain 1 Reply Last reply Reply Quote 1
                      • iomountain
                        iomountain @padrino last edited by

                        @padrino sagte in Wunschliste Blockly-Elemente:

                        Man könnte (für den Ubergang =)) auch ein deaktiviertes Intervall Element o.Ä. missbrauchen. 😄

                        Wäre auch OK, aber wenn ich ein Intervall deaktiviere ist der Inhalt auch deaktiviert

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

                          🤦‍♂️ stimmt, hab' ich verpeilt. 😳

                          iomountain 1 Reply Last reply Reply Quote 0
                          • iomountain
                            iomountain @padrino last edited by

                            @padrino sagte in Wunschliste Blockly-Elemente:

                            🤦‍♂️ stimmt, hab' ich verpeilt. 😳

                            Die Idee war aber Richtig: Mit dem "Falls Baustein" hab ich mir jetzt geholfen:
                            06ec1186-6734-41d9-9207-c22afeb3c66a-image.png

                            mit 0 = 0 und 0 = 1 kann ich die Klammer aktivieren und deaktivieren
                            8858894b-7d19-405e-a0f9-583225cb79f2-image.png
                            Ich kann sie zusammen und wieder auseinander -falten.
                            2ed12144-e7a4-4a2b-9d8f-98d3180c0dda-image.png
                            Fürs erste reicht es,
                            Danke für den Schubs in die Richtung.

                            1 Reply Last reply Reply Quote 1
                            • padrino
                              padrino Most Active last edited by padrino

                              Super! Man muss nur kreativ sein. 😉

                              @all
                              Versuche gerade an alle meine Echos (deren Seriennummer mit "G09" beginnt) etwas zu schicken, das gesprochen werden soll.
                              Dachte, dass ich dafür den "id from selector" Block nutzen könnte.
                              Auch wenn ich den nicht (richtig) verstanden habe, scheint er doch in etwa das zu machen, was ich evtl. brauchen kann. 😄
                              Allerdings haut er mir zu viel raus, statt aller ".speak" bekomme ich sowas wie ".speak*" 🤔
                              id_block.jpg

                              16:58:07.572	error	javascript.0 script.js.common.Willkommen: alexa2.0.Echo-Devices.G09XXXXXXXXXXX1.Commands.speak,alexa2.0.Echo-Devices.G09XXXXXXXXXXX1.Commands.speak-volume,alexa2.0.Echo-Devices.G09XXXXXXXXXXX2.Commands.speak,alexa2.0.Echo-Devices.G09XXXXXXXXXXX2.Commands.speak-volume,alexa2.0.Echo-Devices.G09XXXXXXXXXXX3.Commands.speak,alexa2.0.Echo-Devices.G09XXXXXXXXXXX3.Commands.speak-volume,alexa2.0.Echo-Devices.G09XXXXXXXXXXX4.Commands.speak,alexa2.0.Echo-Devices.G09XXXXXXXXXXX4.Commands.speak-volume
                              

                              Kann mir evtl. jemand helfen den Block richtig zu verstehen. 😳

                              Nachtrag: ich hab' jetzt mal so "gefiltert"... 😌
                              ohne_volume.jpg

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

                                Also, irgendwie scheine ich den "ID selector" wirklich nicht zu verstehen. 😞

                                Meins Skript

                                sel_id.jpg

                                var Liste;
                                
                                Liste = Array.prototype.slice.apply($('channel[state.id=Zustaende.0.testgerät.*]'));
                                console.error(Liste);
                                

                                gibt bei folgender Situation

                                ZS0.jpg

                                nur

                                17:19:12.779	error	javascript.0 script.js.common.timer_fortschritt: 
                                

                                aus, sollte es nicht so aussehen?

                                17:19:12.779	error	javascript.0 script.js.common.timer_fortschritt: Zustaende.0.testgerät.an_aus,Zustaende.0.testgerät.helligkeit
                                
                                thewhobox 1 Reply Last reply Reply Quote 0
                                • thewhobox
                                  thewhobox @padrino last edited by

                                  @padrino hast du den Javascript Adapter neugestartet, nachdem du die states angelegt hast?

                                  Schonmal ohne ä probiert?

                                  1 Reply Last reply Reply Quote 1
                                  • padrino
                                    padrino Most Active last edited by

                                    Danke, der fehlende restart war es dann wohl.

                                    Schade, dann kann man die Funktion wohl leider nicht zur Überwachung von Änderungen am "Datenpunkt Baum" nutzen, es wird ja nicht bei jeder Änderung der JS Adapter neu gestartet... 😞

                                    thewhobox 1 Reply Last reply Reply Quote 0
                                    • thewhobox
                                      thewhobox @padrino last edited by

                                      @padrino du könntest den regex Block in 3inem trigger verwenden. Der funktioniert auch ohne Neustart.

                                      padrino Z 2 Replies Last reply Reply Quote 0
                                      • padrino
                                        padrino Most Active @thewhobox last edited by padrino

                                        @thewhobox
                                        Ok, durch Verwendung des Triggers mit RegExp, kann man praktisch das ganze "falls, mache" weglassen... 😌

                                        latest_reminder3.jpg

                                        Hmm, mehr Tipps? 😇
                                        Sowas scheint nicht zu klappen, wird zwar getriggert (sprich, wenn ich eine neue Erinnerung anlege, wird das Skript ausgeführt, aber der neuste Eintrag wird nicht abgearbeitet, sprich ist nicht im "ID selector".

                                        latest_reminder2.jpg

                                        <xml xmlns="http://www.w3.org/1999/xhtml">
                                         <variables>
                                           <variable type="" id=",JfBGRM5^joEWk!YTwm^">Seriennummer</variable>
                                           <variable type="" id="Fq.()cO@+9{n[@q~d}`,">Erinnerung</variable>
                                         </variables>
                                         <block type="on_ext" id="72^[0.HM:[^DU($v/YS]" x="137" y="-187">
                                           <mutation items="1"></mutation>
                                           <field name="CONDITION">ne</field>
                                           <field name="ACK_CONDITION"></field>
                                           <value name="OID0">
                                             <shadow type="field_oid" id="IKo0nNYc4!TvH;gjn^$O">
                                               <field name="oid">default</field>
                                             </shadow>
                                             <block type="regex" id="O[313OE2hJoodR?1Bo2F">
                                               <field name="TEXT">(alexa2.0.Echo-Devices.*.Reminder*)</field>
                                             </block>
                                           </value>
                                           <statement name="STATEMENT">
                                             <block type="variables_set" id="$ID~$99Nsx_,/7g2l(n|">
                                               <field name="VAR" id=",JfBGRM5^joEWk!YTwm^" variabletype="">Seriennummer</field>
                                               <value name="VALUE">
                                                 <block type="get_value" id="R+H*[R2+ckl~XO25XJ7J">
                                                   <field name="ATTR">val</field>
                                                   <field name="OID">alexa2.0.History.serialNumber</field>
                                                 </block>
                                               </value>
                                               <next>
                                                 <block type="variables_set" id="bI6OMv$(~Vh0d~/XEAYZ">
                                                   <field name="VAR" id="Fq.()cO@+9{n[@q~d}`," variabletype="">Erinnerung</field>
                                                   <value name="VALUE">
                                                     <block type="convert_tostring" id="bn8tf(/[P+H?NgNp]xxn">
                                                       <value name="VALUE">
                                                         <block type="selector" id="$aE766B-Ro*PQ??6j`_X">
                                                           <field name="TEXT">channel[state.id=alexa2.0.Echo-Devices.'+Seriennummer+'.Reminder.*.time]</field>
                                                         </block>
                                                       </value>
                                                     </block>
                                                   </value>
                                                   <next>
                                                     <block type="controls_if" id="-U1*t?/XxFlOd=j^vg)`">
                                                       <value name="IF0">
                                                         <block type="logic_compare" id="v0a`OKpo1r+VXXP9|c)v">
                                                           <field name="OP">NEQ</field>
                                                           <value name="A">
                                                             <block type="text_indexOf" id="U;Sy$IB,O@xQQe-4_)?u">
                                                               <field name="END">LAST</field>
                                                               <value name="VALUE">
                                                                 <block type="variables_get" id=",ha9BrDD$${k.[a/Twja">
                                                                   <field name="VAR" id="Fq.()cO@+9{n[@q~d}`," variabletype="">Erinnerung</field>
                                                                 </block>
                                                               </value>
                                                               <value name="FIND">
                                                                 <shadow type="text" id="~5$,=0@EytZs$tQ.!NMK">
                                                                   <field name="TEXT">,</field>
                                                                 </shadow>
                                                               </value>
                                                             </block>
                                                           </value>
                                                           <value name="B">
                                                             <block type="math_number" id="PfS+}/P%e=mLiejT!mbI">
                                                               <field name="NUM">0</field>
                                                             </block>
                                                           </value>
                                                         </block>
                                                       </value>
                                                       <statement name="DO0">
                                                         <block type="variables_set" id="Q5a*T,H~481cJLO3rL#~">
                                                           <field name="VAR" id="Fq.()cO@+9{n[@q~d}`," variabletype="">Erinnerung</field>
                                                           <value name="VALUE">
                                                             <block type="text_getSubstring" id="T}ki@Xr6B@|{LL{{A%V$" 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=",/67[ZHGbgC;S7y8iWJ^">
                                                                   <field name="VAR" id="Fq.()cO@+9{n[@q~d}`," variabletype="">Erinnerung</field>
                                                                 </block>
                                                               </value>
                                                               <value name="AT1">
                                                                 <block type="math_arithmetic" id="S@2/`%]k~[^!7DzU*F(}">
                                                                   <field name="OP">ADD</field>
                                                                   <value name="A">
                                                                     <shadow type="math_number" id="7MlP;LN#vD#uoYtW(Lb8">
                                                                       <field name="NUM">1</field>
                                                                     </shadow>
                                                                     <block type="text_indexOf" id="k}evbIXqe^bKy1{.yu!.">
                                                                       <field name="END">LAST</field>
                                                                       <value name="VALUE">
                                                                         <block type="variables_get" id="x+IjA;?=KLMb1-%5or+R">
                                                                           <field name="VAR" id="Fq.()cO@+9{n[@q~d}`," variabletype="">Erinnerung</field>
                                                                         </block>
                                                                       </value>
                                                                       <value name="FIND">
                                                                         <shadow type="text" id="au15=1G)-/f[MrVY{E6r">
                                                                           <field name="TEXT">,</field>
                                                                         </shadow>
                                                                       </value>
                                                                     </block>
                                                                   </value>
                                                                   <value name="B">
                                                                     <shadow type="math_number" id="=bv$%8)X|1#ir/~ASga[">
                                                                       <field name="NUM">1</field>
                                                                     </shadow>
                                                                   </value>
                                                                 </block>
                                                               </value>
                                                               <value name="AT2">
                                                                 <block type="text_length" id="opv{1EI/a$mh:sK6itI1">
                                                                   <value name="VALUE">
                                                                     <shadow type="text" id="4GVH#[pZ;[aIhl@_Y`11">
                                                                       <field name="TEXT">abc</field>
                                                                     </shadow>
                                                                     <block type="variables_get" id=")xd*8e^XS~?;`p^Lw?@N">
                                                                       <field name="VAR" id="Fq.()cO@+9{n[@q~d}`," variabletype="">Erinnerung</field>
                                                                     </block>
                                                                   </value>
                                                                 </block>
                                                               </value>
                                                             </block>
                                                           </value>
                                                           <next>
                                                             <block type="debug" id="dUBm]}Cwh6;S,0F0--xa">
                                                               <field name="Severity">error</field>
                                                               <value name="TEXT">
                                                                 <shadow type="text" id="XY{h}0.zh9dgSt`@o!GL">
                                                                   <field name="TEXT">test</field>
                                                                 </shadow>
                                                                 <block type="get_value_var" id="C;6~i9F,xIAn5#nqV$Vj">
                                                                   <field name="ATTR">val</field>
                                                                   <value name="OID">
                                                                     <shadow type="text" id="?#6L~22GVrovlrnn@V/5">
                                                                       <field name="TEXT"></field>
                                                                     </shadow>
                                                                     <block type="variables_get" id="Gt=HrltnYzFD0l1RY:a`">
                                                                       <field name="VAR" id="Fq.()cO@+9{n[@q~d}`," variabletype="">Erinnerung</field>
                                                                     </block>
                                                                   </value>
                                                                 </block>
                                                               </value>
                                                             </block>
                                                           </next>
                                                         </block>
                                                       </statement>
                                                     </block>
                                                   </next>
                                                 </block>
                                               </next>
                                             </block>
                                           </statement>
                                         </block>
                                        </xml>
                                        

                                        1 Reply Last reply Reply Quote 0
                                        • Z
                                          zahnheinrich last edited by

                                          Guten Abend,

                                          ich betreibe zwei ioBroker Installationen in identischer Konstellation:

                                          Node v8.16.0
                                          Node.js v8.16.0
                                          NPM 6.4.1
                                          ioBroker.admin 3.6.2
                                          javascript Engine 4.1.12

                                          Eine Version läuft auf einer Synology im Docker Container, die andere auf einem NUC in einer Proxmox VS.

                                          Auf letzterer (NUC) läuft die Installation von https://github.com/thewhobox/ioBroker.javascript sowie auch der anschließende Upload ohne Fehler durch und alle Erweiterungen funktionieren.

                                          Wenn ich bei gleichem Vorgehen (incl. upload usw.) die Installation im Docker mache, bekomme ich nach ebenso fehlerfreier Installation und Upload beim Öffnen der Skripte im ioBroker die Fehlermeldung:

                                          Cannot extract Blockly code!

                                          In der Auflistung im Blockly-Fenster fehlt der oberste TAB "System" und damit auch alle entsprechenden Bausteine. Eine Programmerstellung ist nicht möglich.

                                          Hat jemand einen Tip?

                                          iomountain 1 Reply Last reply Reply Quote 0
                                          • iomountain
                                            iomountain @zahnheinrich last edited by

                                            @zahnheinrich sagte in Wunschliste Blockly-Elemente:

                                            javascript Engine 4.1.12

                                            heißt nicht das die Versionen identisch sein müssen.
                                            hast du beide über die gleiche Methode / URL installiert?
                                            event. mal Uploade im Adapter machen.
                                            mehr Ideen hab ich erst mal nicht.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            353
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            40
                                            268
                                            38391
                                            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