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 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
                                      • Homoran
                                        Homoran Global Moderator Administrators @thewhobox last edited by Homoran

                                        @thewhobox
                                        Ich weiß nicht ob das geht:

                                        in der Block-Auswahl eine horizontale Trennlinie?
                                        Oben BASIC
                                        Unten EXPERT

                                        Dann bleiben die Expertenblöcke wenigstens im richtigen Kontext

                                        Wenn möglich mit den Überschriften

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

                                          @padrino

                                          Hier mit dem Intervall, analog dazu funktioniert das mit timeout. Einfach den Namen der Variable in das Feld der Zeit schreiben:

                                          7284f19b-676c-4dc8-a34a-ec07ac9b3953-image.png

                                          ff7bce42-59fe-42e4-848e-76dd9f0576de-image.png

                                          Und hier mit dem Fehler wenn Sekunden oder Minuten verwendet werden:

                                          6f9ae549-07c4-42a0-a01e-7ed0cd1c409b-image.png

                                          Aber wie gesagt: Offiziell wird das nicht mehr unterstützt, so meine Erfahrung aus dem Forum. Solange es geht ist ja aber gut, sollte man nur wissen.

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

                                            @darkiop sagte in Wunschliste Blockly-Elemente:

                                            @padrino

                                            Hier mit dem Intervall, analog dazu funktioniert das mit timeout. Einfach den Namen der Variable in das Feld der Zeit schreiben:

                                            7284f19b-676c-4dc8-a34a-ec07ac9b3953-image.png

                                            Lol, jetzt hab' ich erst verstanden, was Du mit "nicht mehr unterstützt" gemeint hast.
                                            Auf die Idee, statt einer Zahl einfach den Namen einer Variablen zu schreiben, wäre ich nie gekommen, hätte gedacht dass wäre ein reines "number gadget". 😄

                                            Das NaN kommt wohl daher, da es intrervalle bzw. timeouts nur mit Millisekunden gibt. Hat man eine andere Einheit eingestellt, wird auf "ms" umgerechnet und das geht mit einem "string" nunmal nicht so einfach. 😉

                                            2019-05-03_182313.jpg 2019-05-03_182335.jpg!

                                            (bei Schleifen funktioniert der "Trick" z.B. nicht, da eine Ziffer oder ein "Ziffern Gagdet" erwartet wird.
                                            Aber so genau hatt ich mir den Block nicht angesehen. 😳)
                                            2019-05-03_182956.jpg

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.1k
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

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