Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Ordner common und global ? Und weiteres

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Ordner common und global ? Und weiteres

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

      Hallo zusammen,
      ich arbeite an einem neuen Video. Das soll mal ein Grundkurs für Blockly-Anfänger (wie ich es bin) werden.

      Nun sind mir schon zu Anfang einige Dinge unklar mit denen ich mich bisher nicht beschäftigt habe und weitere recherche (google und co) mir nicht weiterhilft, darum hätte ich hier mal ein paar Fragen an euch.

      Wozu dient der Ordner "common" ? Blocklys werden ja im Root Verzeichnis abgelegt. Lege ich sie in den Common Ordner sind sie im Bedienfeld verschwunden?

      Auch zum "global" Ordner hab ich ein paar Fragen. Wenn ich den Expertenmodus aktiviere sehe ich diesen ja und ich kann dort Blocklys reinlegen. Laut verschiedener Quellen sollen diese dann übergreifend über alle anderen Blocklys wirken. Das setzt mir aber drei weitere große Fragezeichen auf die Stirn.
      Kann ich hier Blocklys mit Variablen bzw Datenpunkte erstellen und auf diese mit allen anderen Blocklys dann zugreifen?
      Wieso sehe ich ich auch hier wieder nicht das Blockly Skript welches ich erstelle, bzw dort hinein verschiebe? Es verschwindet einfach, wie beim Ordner "common".

      Ok. Eins nach dem anderen, das reicht erstmal. Wäre echt nett wenn mir das jemand erklären könnte.

      Viele Grüße
      Chris

      FredF paul53 2 Replies Last reply Reply Quote 0
      • FredF
        FredF Most Active Forum Testing @nurChris last edited by FredF

        @nurChris sagte in Ordner common und global ? Und weiteres:

        "global" Ordner

        Keine Blocklys in globale Ordner, nur javascript! Und da muss man wissen was man tut, also eher nichts für Anfänger.

        Expertenmodus

        Würde ich gerade bei Anfängern zwar erwähnen aber nicht empfehlen ihn zu nutzen

        Blocklys werden ja im Root Verzeichnis abgelegt.

        Nein, du kannst die Verzeichnisse auswählen.

        Wozu dient der Ordner "common" ?

        Das ist einfach ein vorinstallierter Ordner. Du kannst über "Neuen Ordner erstellen" beliebig Ordner erstellen und auch in Ordnern Ordner erstellen

        Lege ich sie in den Common Ordner sind sie im Bedienfeld verschwunden?

        Bei der Erstellung des Skipts wirst du doch unter Mappe gefragt wo das Blockly gespeichert werden soll. Du hast gesehen das neben dem Ordner z.B. common ein Pfeil nach unten den Ordner öffnet?

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

          @nurChris sagte:

          Kann ich hier Blocklys mit Variablen bzw Datenpunkte erstellen und auf diese mit allen anderen Blocklys dann zugreifen?

          Nein, mit Blockly kann man nur Funktionen aufrufen, die im selben Skript erstellt wurden. Somit kann man globale Funktionen nur über den Umweg des Blockes "JS-Funktion mit Ergebnis" aufrufen.

          Blockly_temp.JPG

          myGlobalFunction() ist die globale Funktion.

          Blockly_globale_Funktion.JPG

          1 Reply Last reply Reply Quote 1
          • nurChris
            nurChris last edited by

            Okay, danke für eure Antworten.
            @FredF

            Expertenmodus

            Würde ich gerade bei Anfängern zwar erwähnen aber nicht empfehlen ihn zu nutzen

            Stimmt, darum geht es mir. Der wird keine große Rolle spielen, möchte aber für das Verständnis natürlich gerne die Funktionen erläutern. Wird der denn noch für weitere Zwecke genutzt, abgesehen von der erwähnten Thematik?

            common Ordner

            Bei der Erstellung des Skipts wirst du doch unter Mappe gefragt wo das Blockly gespeichert werden soll. Du hast gesehen das neben dem Ordner z.B. common ein Pfeil nach unten den Ordner öffnet?

            Seltsam. Ich habe gestern Skripte dort hinein verschoben und die sind einfach verschwunden. Ich konnte den Ordner auch nicht öffnen, da war kein Pfeil, selbst über den Doppelpfeil unten der alle Ordner öffnet war nichts zu sehen.
            Heute habe ich ein Skript direkt darin platziert beim erstellen und siehe da, es ist dort. Doch meine beiden Skripte von gestern sind weiterhin verschwunden.

            Das hatte mich so irritiert.

            Also spielt es keine Rolle ob ich meine eigene Ordnerstruktur im root Verzeichnis oder im common Verzeichnis anlege?

            @paul53

            Nein, mit Blockly kann man nur Funktionen aufrufen, die im selben Skript erstellt wurden.

            Okay. Danke fürs klarstellen. Also greife ich weiterhin auf eigene Objekt Datenpunkte zurück.

            Die angezeigte JS-Funktion ist schon etwas sehr advanced für meinen Anfängerkurs.

            Noch eine ganz andere Frage. Die Blöcke für Farben sind sehr interessant, allerdings geben sie den Farbton in HTML bzw Hex aus und ich bräuchte zur Steuerung die RGB werte. Kann man das innerhalb von Blockly irgendwie umrechnen bzw am besten direkt anders ausgeben?

            Viele Grüße
            Chris

            paul53 FredF 2 Replies Last reply Reply Quote 0
            • paul53
              paul53 @nurChris last edited by

              @nurChris sagte:

              Die angezeigte JS-Funktion ist schon etwas sehr advanced für meinen Anfängerkurs.

              Sie war auch für Dein Verständnis gedacht, nicht für die Anleitung.

              nurChris 1 Reply Last reply Reply Quote 1
              • FredF
                FredF Most Active Forum Testing @nurChris last edited by

                @nurChris sagte in Ordner common und global ? Und weiteres:

                Also spielt es keine Rolle ob ich meine eigene Ordnerstruktur im root Verzeichnis oder im common Verzeichnis anlege?

                Soweit ich weis spielt es keine Rolle

                1 Reply Last reply Reply Quote 1
                • nurChris
                  nurChris @paul53 last edited by

                  @paul53 sagte in Ordner common und global ? Und weiteres:

                  @nurChris sagte:

                  Die angezeigte JS-Funktion ist schon etwas sehr advanced für meinen Anfängerkurs.

                  Sie war auch für Dein Verständnis gedacht, nicht für die Anleitung.

                  Nehme ich dankend an! Ich verstehe bloß den Zusammenhang nicht, konnte bisher aber auch noch nicht ins System um mir den Block anzuschauen, damit mir da vielleicht was einleuchtet 🙂

                  Das sieht so aus als greifst du eine variable ab mit dem Namen "globale Funktion".
                  Mit dem von dir gezeigten Javascript (welches wohl in den global Ordner kommt?) könnte man jetzt hier weitere Variablen bzw skripte anlegen die sich dann über den genannten Block in blockly aufrufen lassen. Ist das so korrekt?

                  Viele Grüße
                  Chris

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

                    @nurChris sagte:

                    Das sieht so aus als greifst du eine variable ab mit dem Namen "globale Funktion".

                    Nein, ich habe ein (lokale) Funktion mit dem Bezeichner globale_Funktion erstellt.

                    @nurChris sagte:

                    Mit dem von dir gezeigten Javascript (welches wohl in den global Ordner kommt?)

                    Nein, das ist der Inhalt des Blocks "JS-Funktion mit Ergebnis" globale_Funktion. In dieser wird die globale Funktion myGlobalFunction() aufgerufen und die Funktionsparameter (a, b) durchgereicht. Mit return wird das Ergebnis der globalen Funktion an den Aufruf der Blockly-Funktion zurück gegeben.

                    @nurChris sagte in Ordner common und global ? Und weiteres:

                    könnte man jetzt hier weitere Variablen bzw skripte anlegen die sich dann über den genannten Block in blockly aufrufen lassen.

                    Man könnte weitere Funktionen in einem oder mehreren globalen Skript(en) anlegen, die durch jeweils angepasste Blöcke "JS-Funktion mit Ergebnis" aufgerufen werden können.

                    So ist vielleicht verständlicher ?
                    Blockly_globale_Funktion.JPG
                    Inhalt:

                    /**
                     * Berechnet Wert aus 3 Variablen
                     */
                    function Aufruf_gobale_Funktion1(par1, par2, par3) {
                        return globaleFunktion1(par1, par2, par3);
                    }
                    
                    1 Reply Last reply Reply Quote 0
                    • nurChris
                      nurChris last edited by

                      Aha! Okay. Ich denke jetzt hab ich das Prinzip verstanden wie der Block funktioniert.

                      Wenn auch noch nicht so wirklich den Hintergrund was die Funktionen selbst und insbesondere die Funktionsparameter angeht.

                      Jedenfalls weckt das Lust auf mehr. Ich habe mich bisher noch überhaupt nicht so richtig mit JS befasst, sieht aber schon garnicht mehr so kompliziert aus wie auf den ersten Blick angenommen.

                      Sehe gerade beim Antworten deinen Edit. Das macht es noch deutlicher!

                      Okay. Zur Funktion. Ich lasse jetzt also den Wert aus diesen 3 Variablen berechnen. Wie hier gerechnet wird kann ich nicht nachvollziehen. Angenommen par1 (warum par, und nicht var?) wäre 100. par2 ist 50 und par3 ist 10.

                      Was berechnet das Skript da wenn im Prinzip dort steht function Aufruf_gobale_Funktion1(100, 50, 10)

                      Oder denke ich hier zu weit und das dient nur der Veranschaulichung.

                      Ich merk schon, ein weg um die JS Basics führt so oder so nicht herum. 🙂

                      Besten Dank und viele Grüße

                      Chris

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

                        @nurChris sagte:

                        das dient nur der Veranschaulichung.

                        Ja.

                        Was berechnet das Skript da wenn im Prinzip dort steht function Aufruf_gobale_Funktion1(100, 50, 10)

                        Das, wie die 3 Funktionsparameter (deshalb par) verarbeitet werden, bestimmt die globale Funktion globaleFunktion1(). Die globale Funktion könnte z.B. so aussehen:

                        function globaleFunktion1(a, b, c) {
                           return a + b * c;
                        }
                        

                        Dann würde an das Blockly-Skript mit Deinem Beispiel der Wert 600 (100 + 50 * 10) zurück gegeben.

                        nurChris 1 Reply Last reply Reply Quote 1
                        • nurChris
                          nurChris @paul53 last edited by

                          @paul53 Aha! Erneut hat es "klick" gemacht 🙂 Damit werd ich später mal ein wenig rumspielen um mir das zu verdeutlichen.

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

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          574
                          Online

                          31.9k
                          Users

                          80.3k
                          Topics

                          1.3m
                          Posts

                          3
                          11
                          1964
                          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