Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. (gelöst) mein erstes Blockly... korrekt?

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    (gelöst) mein erstes Blockly... korrekt?

    This topic has been deleted. Only users with topic management privileges can see it.
    • Homoran
      Homoran Global Moderator Administrators @paul53 last edited by Homoran

      @paul53 sagte in mein erstes Blockly... korrekt?:

      Das sollte man nicht machen, da dann die Variable mit gleichem Namen doppelt vorhanden ist.

      Da hast du recht, ich habe es gerade ausprobiert und gemerkt, dass ich es mit dem WERT für den Timeout verwechselt hatte.
      Aber den kann man dann auch nicht auf diese Art abfragen

      @paul53 sagte in mein erstes Blockly... korrekt?:

      diese in das Editor-Fenster ziehen und anschließend die Timer-Variable auswählen.

      Das hatte ich auch versucht, bekomme diese Timer-Variable aber nicht angeboten

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

        @Homoran sagte:

        mit dem WERT für den Timeout verwechselt hatte. Aber den kann man dann auch nicht auf diese Art abfragen.

        Das ist eine Konstante, die man nicht abfragen kann, außer man verwendet eine selbst erstellte Variable, deren Namen man im Timer eingeben kann, was allerdings nur bei Auswahl von "ms" funktioniert.

        Homoran F 2 Replies Last reply Reply Quote 0
        • paul53
          paul53 @Homoran last edited by

          @Homoran sagte:

          bekomme diese Timer-Variable aber nicht angeboten

          Dann wechsle mal in die Javascript-Ansicht und wieder zurück.

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

            @paul53 Dummy_Variable.png

            @paul53 sagte in mein erstes Blockly... korrekt?:

            Dann wechsle mal in die Javascript-Ansicht und wieder zurück.

            Neee, nich???
            klappt!

            Danke, mal wieder!

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

              @paul53 sagte in mein erstes Blockly... korrekt?:

              außer man verwendet eine selbst erstellte Variable, deren Namen man im Timer eingeben kann,

              Das meinte ich ja (Hatte ich mit dem Namen des Timeouts verwechselt), aber die wird nicht runtergezählt.

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

                @Homoran sagte:

                aber die wird nicht runtergezählt.

                Timer werden nicht runtergezählt. Braucht man so etwas, muss man eine eigene Zähl-Variable in Verbindung mit Intervall verwenden.

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

                  @paul53
                  OK!

                  Aber den (Rest-)Wert des Timeouts bekomme ich nicht angezeigt:
                  Schwachsinn.png

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

                    @Homoran sagte:

                    den (Rest-)Wert des Timeouts bekomme ich nicht angezeigt:

                    @paul53 sagte in mein erstes Blockly... korrekt?:

                    Das, was in die Variable geschrieben wurde - egal, ob Bool, Zahl oder Text - wird ausgegeben, aber keine Timer-Variablen, denn die Timer-Objekte sind zu speziell.

                    @paul53 sagte in mein erstes Blockly... korrekt?:

                    Timer werden nicht runtergezählt.

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

                      @paul53 Musst du das so deutlich wiederholen 😉

                      Dann ist es jetzt auch mir klar!
                      ich hatte gehofft mit einbinden der Variable wäre das möglich.

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

                        @Homoran sagte:

                        Neee, nich???

                        Deshalb gibt es seit einem Jahr dieses Issue.

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

                          @paul53
                          es lässt mir keine Ruhe:

                          @Homoran sagte in mein erstes Blockly... korrekt?:

                          ich hatte gehofft mit einbinden der Variable wäre das möglich.

                          @paul53 sagte in mein erstes Blockly... korrekt?:

                          Timer werden nicht runtergezählt.

                          Selbst wenn sie nicht heruntergezählt werden, sollte da doch etwas anderes in der Variable stehen als [object][object], oder?

                          Habe es jetzt mit einem counter gelöst.
                          ist aber nichts um "mal eben" sich den Wert anzeigen lassen zu können, so wie es @Humidor gerne hätte
                          Schwachsinn02.png

                          der negative Wert für reduzieren stammt noch aus dem Versuch den "erhöhe"-Baustein zu nutzen, was mir nicht gelungen ist

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

                            @Homoran sagte:

                            sollte da doch etwas anderes in der Variable stehen als [object][object], oder?

                            Das Timer-Objekt ist eben zu speziell, als dass es per Log ausgegeben werden kann. Es kann nicht per JSON.stringify() in einen String gewandelt werden.

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

                              Puhh, bis ich da durchsteige was ihr sagt, wir noch Wasser den Bach runter laufen....

                              Ich hätte gerne (wie nennt man eine Block-Verschaltung) mehrer unabhängige Blöcke.
                              Wie macht das Blocky, jeder Block nach einander abarbeiten bis alle fertig sind in zufälliger Reihenfolge, oder werden Blöcke parallel verarbeitet?
                              Eine Variable in einem Block ist für das ganze Projekt (file) sichtbar oder nur für den Block?

                              Also, mehrere unabhängige Sachen. Temperatur, Feuchtigkeit, Licht, Türkontakt usw.
                              Unabhängig von der Änderung eines Wertes jede Stunde ein Telegram mit entsprechender Info.
                              Eine Debugausgabe, um nicht Try&Error über Tage zu machen, sondern zu sehen ob das Script auch funktioniert.

                              Puhhh??

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

                                @Humidor sagte in mein erstes Blockly... korrekt?:

                                jeder Block nach einander abarbeiten bis alle fertig sind in zufälliger Reihenfolge

                                Nacheinander von oben nach unten, wenn sie direkt untereinander angeordnet sind - außer Trigger und Timer: Trigger werden abgearbeitet, wenn das Trigger-Ereignis eintrifft, Timer nach Ablauf der Verzögerungszeit bzw. der Zykluszeit.

                                @Humidor sagte in mein erstes Blockly... korrekt?:

                                Eine Variable in einem Block ist für das ganze Projekt (file) sichtbar oder nur für den Block?

                                Selbst erstellte Variablen und Timer-Variablen gelten im gesamten Skript, lokale Variablen nur innerhalb der Funktion. Lokale Variablen sind die unter "Trigger", Übergabeparameter an Funktionen und die vordefinierten Variablen value und oldValue.

                                Blockly_lokale_Var.JPG

                                @Humidor sagte in mein erstes Blockly... korrekt?:

                                Eine Debugausgabe, um nicht Try&Error über Tage zu machen, sondern zu sehen ob das Script auch funktioniert.

                                Debug-Ausgaben sind gerade für den Anfang sehr zu empfehlen.

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

                                  machen wirs in Schritten bitte, sonst steig ich nicht durch

                                  zuerst wird ein Trigger geschaffen, d.h. eine Abfrage definiert, ob die Feuchtigkeit außerhalb der Norm ist.

                                  passt?
                                  Bild Text

                                  dann gibts unabhängig eine zeitliche Routine die überprüft, ob eine Message gesendet werden soll
                                  Bild Text

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

                                    @Humidor sagte:

                                    dann gibts unabhängig eine zeitliche Routine die überprüft, ob eine Message gesendet werden soll

                                    Es funktioniert prinzipiell so, da die beiden Variablen global (im gesamten Skript gültig) sind.

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

                                      @paul53 sagte in mein erstes Blockly... korrekt?:

                                      @Humidor sagte:

                                      dann gibts unabhängig eine zeitliche Routine die überprüft, ob eine Message gesendet werden soll

                                      Es funktioniert prinzipiell so, da die beiden Variablen global (im gesamten Skript gültig) sind.

                                      d.h. es ist eine legitimer Code !? kann ma so lassen?

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

                                        @Humidor sagte:

                                        kann ma so lassen?

                                        Na ja, den Umweg über den Trigger und die Variablen kann man sich sparen, wenn man die Variablen nicht noch anderweitig verwenden möchte: Die Messwerte können auch im Zeitplan eingelesen werden.

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

                                          @paul53 sagte in mein erstes Blockly... korrekt?:

                                          @Humidor sagte:

                                          kann ma so lassen?

                                          Na ja, den Umweg über den Trigger und die Variablen kann man sich sparen, wenn man die Variablen nicht noch anderweitig verwenden möchte: Die Messwerte können auch im Zeitplan eingelesen werden.

                                          Jain, meine nächste Frage betrifft genau dass, wenn eine Variable gesetzt wird, soll beim 1.x nicht die Zeit verstreichen, sondern gleich eine Message gesendet werden. Also ein einmaliger Trigger, wie macht man diesen? Aber ohne in der standard Abfrage eine Message einzubauen.

                                          paul53 Homoran 2 Replies Last reply Reply Quote 0
                                          • paul53
                                            paul53 @Humidor last edited by

                                            @Humidor sagte:

                                            Also ein einmaliger Trigger, wie macht man diesen?

                                            Was verstehst Du unter "einmaliger Trigger".

                                            @Humidor sagte in mein erstes Blockly... korrekt?:

                                            ohne in der standard Abfrage eine Message einzubauen.

                                            Wie soll das gehen ?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            779
                                            Online

                                            32.0k
                                            Users

                                            80.4k
                                            Topics

                                            1.3m
                                            Posts

                                            blockly
                                            6
                                            59
                                            2165
                                            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