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.
    • 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
                      • Z
                        zahnheinrich @iomountain last edited by

                        @iomountain
                        Ja der Tip mit den Versionen war zielführend!
                        Habe den Verwahrort auf latest umgestellt, dann die Script-Engine 4.1.14 geladen.
                        Damit geht´s.
                        Vielen Dank!

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

                          Hmm, mal eine Frage... 😄

                          Wäre es nicht sinnvoll, wenn bei timeouts bzw. intervallen das "ms" am Ende weggelassen würde (also, wie rechts in meinem "mockup")?
                          Oder muss man das dran lassen um zu zeigen, dass intern doch wieder auf ms umgerechnet wird? 🤔

                          1563467089610-interv.png

                          BBTown 1 Reply Last reply Reply Quote 1
                          • Z
                            zahnheinrich @thewhobox last edited by

                            @thewhobox
                            Es wäre schön, wenn man auch im Blockly Telegrammitteilungen ohne akustische Meldung versenden könnte.

                            Könnte man das in das Telegram-Blockly als Checkbox mit einbauen?

                            sendTo("telegram", "send", {
                                    text: (),
                                    disable_notification: true
                                });
                            
                            dslraser 1 Reply Last reply Reply Quote 0
                            • BBTown
                              BBTown @padrino last edited by

                              @padrino du musst doch schon wissen ob die 1000 ms, sec. oder min. sind
                              Mitunter ist es ja einfacher/übersichtlicher "3 min." anstelle von 180000 ms einzustellen

                              padrino 1 Reply Last reply Reply Quote 0
                              • dslraser
                                dslraser Forum Testing Most Active @zahnheinrich last edited by

                                @zahnheinrich sagte in Wunschliste Blockly-Elemente:

                                @thewhobox
                                Es wäre schön, wenn man auch im Blockly Telegrammitteilungen ohne akustische Meldung versenden könnte.

                                Könnte man das in das Telegram-Blockly als Checkbox mit einbauen?

                                sendTo("telegram", "send", {
                                        text: (),
                                        disable_notification: true
                                    });
                                

                                Ist doch drinn, oder was meinst Du ? (zweite von unten, Haken setzen.)

                                Bildschirmfoto 2019-07-29 um 19.09.35.png

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

                                  @dslraser
                                  Uff,
                                  wer lesen kann... 🤦‍♂️

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

                                    @BBTown
                                    Aber da steht doch immer ms/sek/min im pull down Menü und dann nochmal fest "ms" dahinter. 🤔

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

                                      @padrino jetzt verstehe ich erst was Du meinst, das ist mir tatsächlich bisher noch gar nicht aufgefallen 😎

                                      728eb7fe-9f13-4198-a182-2831800b4c0a-grafik.png

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

                                        @BBTown
                                        Rischtisch 😁
                                        (nächstes Mal versuche ich an Pfeile zu denken 😇 ) (Pfeile ergänzt 😳 )
                                        Wie gesagt, der einzige Grund, den ich sehen könnte, dass es ein (versteckter) Hinweis ist, dass intern immer auf ms umgerechnet wird (sieht man im JS code).
                                        Aber so recht glauben mag ich das nicht. 😉

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

                                          Man kann in einem Cron Trigger bspw. Werktags auswählen. Jedoch ist es schwierig in einem Datenpunkt Trigger zu prüfen, ob gerade Werktags ist.
                                          In dem Menüpunkt "Datum und Zeit" kann man diese Konfiguration nicht durchführen, lediglich Uhrzeiten auswählen.

                                          0cfd7f89-82ce-49e3-a579-a5e89ad3d8fb-grafik.png

                                          Bei der Zustandsänderung eines Datenpunktes möchte ich eine Meldung erhalten; jedoch nur Werktags, wie mache ich das vernünftig?
                                          Einen "Werktagsdatenpunkt" per Cron zu füllen und dann in der Bedingung zu nutzen halte ich für den falschen Weg. Ebenso ein Skript mit dem gewünschten Datenpunkttrigger per Cron nur an Werktagen zu aktivieren.

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

                                            @siggi85 Du kannst dir den aktuellen Wochentag als Nummer geben lassen.
                                            0059cc66-e602-4bba-9c47-d55c29e737cd-grafik.png
                                            Müsste so sein:
                                            1 = Montag
                                            2 = Dienstag
                                            ...
                                            7 = Sonntag

                                            siggi85 1 Reply Last reply Reply Quote 2
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            839
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

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