Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Script in Blockly ausführen!

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Script in Blockly ausführen!

    This topic has been deleted. Only users with topic management privileges can see it.
    • liv-in-sky
      liv-in-sky @perry last edited by

      @perry lösung 1 wäre wohl besser.

      bei lösung zwei wird jedes script unter global in alle scripte (intern) kopiert
      da könnte man dann evtl. bei variablen declaration ein problem bekommen - also vorsichtig damit

      P 1 Reply Last reply Reply Quote 0
      • P
        perry @liv-in-sky last edited by

        @liv-in-sky sagte in Script in Blockly ausführen!:

        bei lösung zwei wird jedes script unter global in alle scripte (intern) kopiert

        Hallo liv-in-sky,
        vielen Dank für deine Antwort. Kann ich denn unter GLOBAL auch Blockly-Skripte speichern oder Blockly-Funktionen ? ... und ... Was für eine Rolle spielt in dem Zusammenhange der Ordner COMMON ?
        cu perry

        liv-in-sky 1 Reply Last reply Reply Quote 0
        • liv-in-sky
          liv-in-sky @perry last edited by

          @perry

          @perry

          habe noch nie blockly unter global genutzt - aber auch noch nix gelesen, dass man das nicht machen soll

          soweit ich mich erinnere wird auch die instanz neugestartet bei speicherung eines globalen scriptes - es muss ja für jedes script neu geladen werden

          common ist sowas wie 0_userdata.0 bei den datenpunkten - eine art sammelordner - wüßte nicht, was da besonders dran wäre - ich habe da nur 3,4 uralt scripte drinliegen - nutze eigene ordnerstruktur - evtl hat ein anderer mehr info darüber

          Homoran 1 Reply Last reply Reply Quote 0
          • Homoran
            Homoran Global Moderator Administrators @liv-in-sky last edited by

            @liv-in-sky sagte in Script in Blockly ausführen!:

            evtl hat ein anderer mehr info darüber

            ist korrekt.
            Der Ordner ist als "Kontrast" zu global gedacht.

            Ich bin mir aber nicht sicher, ob @perry vollständig verstanden hat welche Gefahr die Verwendung des global-Verzeichnisses birgt.

            liv-in-sky P 2 Replies Last reply Reply Quote 0
            • liv-in-sky
              liv-in-sky @Homoran last edited by

              @homoran ich auch nicht - nutze das nur mit einer function um bestimmte fehler/log meldungen zu generieren und in jedem script zur verfügung zu haben

              sonst lasse ich eigentlich die finger davon

              1 Reply Last reply Reply Quote 0
              • P
                perry @Homoran last edited by perry

                @liv-in-sky sagte in Script in Blockly ausführen!:

                habe noch nie blockly unter global genutzt - aber auch noch nix gelesen, dass man das nicht machen soll

                @homoran sagte in Script in Blockly ausführen!:

                Ich bin mir aber nicht sicher, ob @perry vollständig verstanden hat welche Gefahr die Verwendung des global-Verzeichnisses birgt.

                Vielen Dank euch Beiden,

                hat er nicht 😇 oder nur zum Teil ... COMMON ist klar ... GLOBAL leider nicht

                Wenn ich im Forum von paul53 lese "... Blockly in GLOBAL funken nicht ...", dann ist die Aussage von ihm aber auch schon älterer Natur. In keinem Thread kommt die Diskussion mE nach am Ende auf den Punkt. Sicherlich ist die Entwicklung ja auch ständig weitergegangen und die aktuellen Probleme haben sicherlich immer Vorrang (herzlichen Danke an alle Entwickler und Mitwirkenden).

                Auch die Vervollständigung des ioBoker-Handbuches hinkt sicherlich der Entwicklung weit hinterher. Dafür ist ja auch das Forum vorhanden, um diese Lücke zu schließen. Es wäre nach mM prima, wenn ein Insider oder Wissender einen Thread mal mit der Überschrift z.B.: GLOBALER ORDNER / GLOBALE FUNKTIONEN / GLOBALE VARIABLE ins Forum stellen würde, um hier zumindest für den jetzigen Entwicklungsstand eine klare Linie vorzugeben.

                Also genug geschwafelt ... wenn ich ein Blockly in den Ordner GLOBAL speichere (sei es Variable oder Skripte) kann ich diese dann in den anderen Skripten (die nicht im Ordner GLOBAL liegen) nutzen ? ... wenn nein schade ... wenn ja bitte wie ?

                cu perry

                Homoran liv-in-sky 2 Replies Last reply Reply Quote 0
                • Homoran
                  Homoran Global Moderator Administrators @perry last edited by

                  @perry sagte in Script in Blockly ausführen!:

                  Blockly in GLOBAL funken nicht ...", dann ist die Aussage von ihm aber auch schon älterer Natur.

                  ich habe es nie probiert.
                  Aber da Blockly für Einsteiger gedacht ist kann es sein, dass die globalen Skripte für Blockly gesperrt sind, es kann aber auch ganz einfach sein, dass sie mit Blockly nicht funktionieren.

                  @perry sagte in Script in Blockly ausführen!:

                  Also genug geschwafelt ... wenn ich ein Blockly in den Ordner GLOBAL speichere (sei es Variable oder Skripte) kann ich diese dann in den anderen Skripten (die nicht im Ordner GLOBAL liegen) nutzen ?

                  Das hat jetzt nichts mit Entwicklungsstand o.ä. zu tun!!

                  Ein globales Skript wird immer vor jedem anderen Skript ausgeführt.

                  Daher ist dieses Verzeichnis nur dann zu verwenden, wenn diese eben genannte Funktion auch gewünscht ist

                  paul53 1 Reply Last reply Reply Quote 0
                  • liv-in-sky
                    liv-in-sky @perry last edited by

                    @perry wie @Homoran sagt

                    wenn du in einem globalen script einen "falschen" trigger hast oder keinen trigger hast, wird das in jedem script ausgeführt - gleichzeitig - - das kann den iobroker schon lahmlegen

                    1 Reply Last reply Reply Quote 0
                    • paul53
                      paul53 @Homoran last edited by

                      @homoran sagte: dass die globalen Skripte für Blockly gesperrt sind, es kann aber auch ganz einfach sein, dass sie mit Blockly nicht funktionieren.

                      Globale Funktionen können auch in Blockly aufgerufen werden, allerdings nur über den Umweg einer Javascript-Funktion, die einen anderen Bezeichner haben muss als die globale Funktion.

                      P 1 Reply Last reply Reply Quote 1
                      • P
                        perry @paul53 last edited by

                        @paul53 sagte in Script in Blockly ausführen!:

                        Globale Funktionen können auch in Blockly aufgerufen werden, allerdings nur über den Umweg einer Javascript-Funktion, die einen anderen Bezeichner haben muss als die globale Funktion.

                        Hallo paul53,
                        wenn ich dich richtig verstanden habe, dann ist folgendes möglich:

                        im ORDNER GLOBAL ...............................Java-Skript (nur Java / kein Blockly)........mit Funktion.....: gfunk_licht
                        im ORDNER EGAL (nicht GLOBAL)......Blockly- oder Java-Skript.............................mit Funktion.....: lfunk_licht UND gfunk_licht

                        das kann doch nicht so schwer sein 🤔 ... oder stehe ich immer noch neben mir 🤦‍♂️
                        perry

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

                          @perry sagte in Script in Blockly ausführen!:

                          oder stehe ich immer noch neben mir

                          du willst wirklich, dass dieses Skript in global jedesmal vor allen deinen anderen Skripten (jetzigen und zukünftigen!!) ausgeführt wird?

                          P 1 Reply Last reply Reply Quote 0
                          • P
                            perry @Homoran last edited by perry

                            @homoran sagte in Script in Blockly ausführen!:

                            du willst wirklich, dass dieses Skript in global jedesmal vor allen deinen anderen Skripten (jetzigen und zukünftigen!!) ausgeführt wird?

                            Hallo Homoran,
                            das kann ich dir noch nicht abschließend versprechen 😁 ich möchte es ersteinmal zu 100 % verstehen, wie der Aufbau gemeint ist ... danke
                            cu perry

                            1 Reply Last reply Reply Quote 0
                            • P
                              perry last edited by

                              @homoran sagte in Script in Blockly ausführen!:

                              du willst wirklich, dass dieses Skript in global jedesmal vor allen deinen anderen Skripten (jetzigen und zukünftigen!!) ausgeführt wird?

                              Hallo homoran ... hallo @paul53

                              Das mit dem Ordner GLOBAL scheint ja ein nicht so geliebtes "Kind" zu sein und es wird/soll mE nach auch nicht weiter publik gemacht werden.

                              Frage: gibt es denn keine Importfunktion im ioBroker ?

                              Wie wäre dann die Idee, wenn nicht alle GLOBALEN-BLOCKLY oder -JAVA-SKRIPTE automatisch in alle anderen vorhandenen und zukünftigen Skripte zwingend kopiert werden müssen sondern, das das der Anwender selber in der Hand hätte. Durch einen IMPORT-Baustein. In diesem Baustein würde/könnte das GLOBLA-Skript oder GLOBALE-JAVA-SKRIPT dann benannt(gekennzeichnet) werden, das dann in das aktuelle Skript importiert/kopiert werden soll. Diese müssten dann immer natürlich am Anfang (-> siehe Java-Regeln) deklariert werden.

                              So könnte man sich im Laufe der Zeit eine Sammlung von Globalen-Funktionen oder Globlen-Variablen anlegen und selber bestimmen, in welche Skripte es kopiert und benutzt werden soll.

                              Frage: Vielleicht gibt es so etwas als Blockly schon und ich habe es bisher leider nocht nicht gefungen ?

                              cu perry

                              paul53 1 Reply Last reply Reply Quote 0
                              • paul53
                                paul53 @perry last edited by paul53

                                @perry sagte der Anwender selber in der Hand hätte. Durch einen IMPORT-Baustein.

                                Man kann eigene Node-Module erstellen und diese per require() einfügen.

                                const myModule = require('../iobroker-data/modules/test.js');
                                

                                Für Blockly gibt es das nicht.

                                P 1 Reply Last reply Reply Quote 0
                                • P
                                  perry @paul53 last edited by

                                  @paul53 sagte in Script in Blockly ausführen!:

                                  Für Blockly gibt es das nicht.

                                  Schade ... DAS ... wäre vielleicht für spätere Weiterentwicklung mM nach eine super Sache ... Schaun wir mal 😊

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

                                    @perry sagte in Script in Blockly ausführen!:

                                    Schade ... DAS ... wäre vielleicht für spätere Weiterentwicklung mM nach eine super Sache

                                    Bitte immer bedenken, dass Blockly für Einsteiger in Javascript gedacht ist/war, auch wenn inzwischen schon eine ganze Menge 'advanced' Blöcke existieren.

                                    Einige Dinge stehen aber genau deswegen nicht für Blockly-User zur Verfügung, damit es nicht wegen fehlenden Verständnisses ungewollt zu massiven Problemen kommt

                                    P 1 Reply Last reply Reply Quote 0
                                    • P
                                      perry @Homoran last edited by

                                      @homoran sagte in Script in Blockly ausführen!:

                                      Bitte immer bedenken, dass Blockly für Einsteiger in Javascript gedacht ist/war

                                      Hallo homoran,
                                      ja, das ist mir schon klar ... aber Blockly ist mE nach genial ... denn es geht ja nicht nur um Einsteiger, sondern auch darum deine/meine eigenen Gedanken ... hmm ... sagen wir in 6 Monaten ... noch mal schnell nachzuvollziehen ... und eine breitere Anzahl von Usern für die Smarthome-Idee mit ioBroker zu begeistern. Nicht jeder ist bereit kryptische Sonderzeichen und eine Programmiersprache zu lernen. Das wird dir mit nur Java (oder Node-Modulen) kaum gelingen.
                                      Darum Blockly weiterzuentwickeln ist mM nach durchaus sinnvoll und zielführend. 👍
                                      cu perry

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

                                        @perry sagte in Script in Blockly ausführen!:

                                        Blockly ist mE nach genial

                                        gar keine Frage!

                                        @perry sagte in Script in Blockly ausführen!:

                                        Nicht jeder ist bereit kryptische Sonderzeichen und eine Programmiersprache zu lernen

                                        Das sollte man schon sein wenn man Expertenfunktionen verwenden will.
                                        (nur bei mir selber ist es nicht der fehlende Wille - ich bekomme es einfach nicht auf die Reihe 😢 )

                                        P 1 Reply Last reply Reply Quote 0
                                        • P
                                          perry @Homoran last edited by perry

                                          @homoran sagte in Script in Blockly ausführen!:

                                          Das sollte man schon sein wenn man Expertenfunktionen verwenden will.

                                          naja ?? ... Expertenfunktionen ?? ... nicht unbedingt, aber da du mich weiter oben im Thread ja schon "angezählt" 😊 hast "... so etwas tut man nicht ..." ist nach einer "schlaflosen" Nacht der Entschluss gereift, so etwas "nicht zu machen".

                                          Daher mein Wunsch GLOBAL zu verstehen und dann zu merken, das du Recht hast mit der Aussage "in alle bestehenden und zukünftigen ..." ... UND ... da wäre es ja prima, wenn ich eine Vielzahl von Schaltungen in Funktionen einbetten könnte, die ich dann ZENTRAL (GLOBAL) abspeichere und dann bestimmen könnte, welche Sammlung von Funktionen oder Variablen ich in welche Skripte "reinkopieren" möchte. Das war oder besser gesagt ist mein Anliegen.

                                          Mal schauen was paul53 so alles noch macht ... vielleicht ... 😁 ... klappt es ja irgendwann.
                                          cu perry

                                          Ps: man könnte das Blockly ja evt nur dann einblenden, wenn man sich als "Experte" ausgibt 😁 😁

                                          Homoran paul53 2 Replies Last reply Reply Quote 0
                                          • Homoran
                                            Homoran Global Moderator Administrators @perry last edited by

                                            @perry sagte in Script in Blockly ausführen!:

                                            Expertenfunktionen ?? ... nicht unbedingt,

                                            oh doch 😉
                                            das Verzeichnis Global siehst du nur in der Expertenansicht!

                                            @perry sagte in Script in Blockly ausführen!:

                                            Ps: man könnte das Blockly ja evt nur dann einblenden, wenn man sich als "Experte" ausgibt

                                            s.o.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            827
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            7
                                            40
                                            4354
                                            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