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.
    • padrino
      padrino Most Active @thewhobox last edited by padrino

      @thewhobox

      Geht um den Zusatz ", erste Ausführung sofort".
      Das "Problem" im Moment, will man ein Intervall, das sofort und dann nochmals alle x Einheiten ausgeführt wird, dann muss man den Code aus dem Intervall noch einmal davor packen.
      Zumindest verstehe ich das so. 😉

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

        @padrino Du kannst den Code auch in eine Funktion packen, dann musst nur die funktion davor nochmal triggern.
        Anderst lässt sich das meine ich auf die schnelle auch mit geändertem Blockly Code nicht lösen.

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

          @thewhobox

          ich habe mal eine Frage....
          Ich benutze den Selector als Trigger, das funktioniert auch (siehe Fensterscript). Wenn ich jetzt einen zweiten Trigger, z.B. einen Sensorwert/Temperatur als Trigger dazu nehme kommt eine Fehlermeldung.
          Gehen nicht beide zusammen ?

          So funktioniert es:

          Bildschirmfoto 2019-04-28 um 22.16.04.png

          So kommt eine Fehlermeldung:

          Bildschirmfoto 2019-04-28 um 22.14.12.png

          Bildschirmfoto 2019-04-28 um 22.17.55.png

          Diese Stelle wird angemeckert ?

          on({id: new RegExp(Array\\.prototype\\.slice\\.apply\\($\\('channel\[state\\.id=*\\.STATE]\\(functions="Fenster"\\)'\\)\\) + "|" + 'hm-rpc\\.0\\.XXX\\.1\\.ACTUAL_TEMPERATURE'), change: "ne"}, function (obj) {
          
          thewhobox 1 Reply Last reply Reply Quote 0
          • thewhobox
            thewhobox @dslraser last edited by

            @dslraser Nein das funktioniert nicht. Wie auch im Javascript kannst du ENTWEDER:

            • ID als String
            • Regex
            • ID`s als Array angeben.

            Der Selektor liefert die schon ein Array zurück.
            Du müsstest also vorher iwie dem Array die einzelne Objekt ID hinzufügen.
            Wie das in Blockly geht weiß ich gerade nicht, in Javascript wäre es einfach:

            var selektorArray = Array.prototype.slice.apply($('channel[state.id=*.STATE](functions="Fenster");
            selektorArray.push("Temperatursensor_aussen.ACUTAL_TEMPTERATUR");
            on({id: selektorArray}, functionToDo);
            
            1 Reply Last reply Reply Quote 0
            • padrino
              padrino Most Active @darkiop last edited by

              @darkiop sagte in Wunschliste Blockly-Elemente:

              Noch ein Vorschlag:
              Rechte Maustaste auf ein Steuerungs/Aktualisierungs-Blockly --> Neuer Eintrag: Erzeuge Wert von Objekt, ggf. das selbe auch beim Erstellen DP-Erstellungs-Blockly.

              • Per Doppelklick auf ein Blockly: entfalten/zusammenfalten
              • Doppelklick mit gedrücker STRG: aktivieren/deaktivieren

              Ich vermute mal, solche Ideen müsstest/solltest Du auf github unter dem "original" Adapter posten, da das über "neue Blöcke" hinaus geht und wohl mehr bzw. anderer Programmierarbeit bedarf. 😃

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

                @padrino wie schon weiter oben iwo erwähnt, würde das Änderungen im originalen blockly Code erfordern, was heißt, dass mn die Änderungen bei jedem Update von blockly wieder neu einpflegen muss, oder man schreibt Google die Änderungen ^^

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

                  Da ich es gerade auf Facebook gelesen habe 😇 und es mir so wieder in Erinnerung kam 😄
                  Wäre es vielleicht möglich, dass man Variablen etc. für den Zeitwert in timeout/intervall blocklys verwenden könnte?

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

                    @padrino Offiziell ist das wohl nicht mehr Unterstützt - aber meiner Erfahrung nach funktioniert es wenn der Zeitwerk auf ms steht. Wenn du dir den JS-Code anschaust, sollte kein NaN an dieser stehen.

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

                      Ist das hier

                      https://forum.iobroker.net/topic/22109/gelöst-setstate-wiederholen-falls-nicht-erfolgreich-zigbee-lampe-schalten-ack/4

                      evtl. noch etwas fürs Blockly?

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

                        @darkiop sowas würde ich dann doch lieber in eine Funktion auslagern global, dann kann man sie einfach in jedem Skript verwenden.

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

                          @thewhobox sagte in Wunschliste Blockly-Elemente:

                          @darkiop sowas würde ich dann doch lieber in eine Funktion auslagern global, dann kann man sie einfach in jedem Skript verwenden.

                          Über Blockly kann man aber nicht auf globale Funktionen zugreifen.

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

                            @rantanplan Das wäre dann doch mal ein Vorschlag für einen neues Element.
                            Globale Funktionen aufrufen zu können.

                            Workaround wäre: In Blockly eine JS function erstellen die dann halt das globale Skript aufruft.

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

                              @thewhobox sagte in Wunschliste Blockly-Elemente:

                              @rantanplan Das wäre dann doch mal ein Vorschlag für einen neues Element.
                              Globale Funktionen aufrufen zu können.

                              Workaround wäre: In Blockly eine JS function erstellen die dann halt das globale Skript aufruft.

                              Man sollte das Klientel für Blockly nicht aus den Augen verlieren.
                              Das sind meistens Leute, die noch nie etwas mit Programmen zu tun hatten. Da sollten die Bausteine schon einfach gehalten werden. So etwas bedeutet für einen Baustein-Programmierer natürlich Mehraufwand☺
                              Es ist halt Blockly, gedacht für Leute die keine Programmiererfahrung haben und mal eben ein Script basteln wollen.

                              Homoran 1 Reply Last reply Reply Quote 1
                              • Homoran
                                Homoran Global Moderator Administrators @rantanplan last edited by

                                @rantanplan
                                Daran habe ich bei den ganzen neuen Bausteinen auch gedacht. Da habe ich mir die Frage gestellt:
                                Kann man bei solchen "Expertenbausteinen" nicht ein Icon oder die Farbe schraffiert (übertrieben!) an den Block basteln damit ein Einsteiger diese Blöcke erst einmal meidet?

                                iomountain thewhobox 2 Replies Last reply Reply Quote 2
                                • iomountain
                                  iomountain @Homoran last edited by

                                  @Homoran sagte in Wunschliste Blockly-Elemente:

                                  Kann man bei solchen "Expertenbausteinen" nicht ein Icon oder die Farbe schraffiert (übertrieben!) an den Block basteln damit ein Einsteiger diese Blöcke erst einmal meidet?

                                  Vielleicht als Download, um bei Bedarf die Expertenbausteine nachladen zu können.
                                  Unter Variablen, Funktionen, dann Eigene Bausteine wo solche hinterlegt, bzw. nachgeladen werden können.

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

                                    @iomountain sagte in Wunschliste Blockly-Elemente:

                                    Vielleicht als Download, um bei Bedarf die Expertenbausteine nachladen zu können

                                    Da könntest Du aber eventuell Gefahr laufen, dass ein Experte jemandem bei eine Script hilft, und dieser die verwendeten Bausteine nicht finden kann?!?

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

                                      @BBTown Ja, die Gefahr besteht, ziemlich sicher sogar.

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

                                        @darkiop sagte in Wunschliste Blockly-Elemente:

                                        @padrino Offiziell ist das wohl nicht mehr Unterstützt - aber meiner Erfahrung nach funktioniert es wenn der Zeitwerk auf ms steht. Wenn du dir den JS-Code anschaust, sollte kein NaN an dieser stehen.

                                        Du meinst, das ging mal?

                                        Hab' mal in den Code geschaut, denke Du hast Recht, da ist keine Zauberei drin. 😉
                                        Aus dem

                                        timeout = setTimeout(function () {
                                        }, 1000);
                                        

                                        müsste sich doch gut ein

                                        var zeit, timeout;
                                        
                                        zeit = 5000;
                                        timeout = setTimeout(function () {
                                        }, zeit);
                                        

                                        machen lassen, oder? 🙂
                                        Vielleicht ja auch ein zusätzlicher Block, der fest auf "ms" steht, wegen der fehlenden Umrechnung? 🤔

                                        @thewhobox nicht interessant? 😉

                                        thewhobox D 2 Replies Last reply Reply Quote 1
                                        • thewhobox
                                          thewhobox @Homoran last edited by

                                          @Homoran Die Idee finde ich eig gar nicht mal schlecht. Man könnte aber statt andere Farbe vll einfach eine weiter Gruppe neben "Logik, Mathe" halt noch "Experte" oder so einfügen.

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

                                            @padrino Für die Abwerstkompatibilität müsste man aber das in einen zweiten Baustein machen, oder komplizierter über eine Checkbox (was ich aber nicht wirklich gut finden würde)

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            473
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

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