Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Limit von Variablen pro Blockly?

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Limit von Variablen pro Blockly?

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

      @jb_sullivan sagte: das ganze sieht dann so aus.

      Zwei gleiche Trigger? Das kann nicht funktionieren, da man nicht wissen kann, welcher zuerst auslöst. Man nimmt nur einen Trigger, setzt zuerst die Variablen und wertet sie anschließend aus.

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

        @paul53 Meinst du mit Trigger "Matrix Standard = wahr"?

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

          @jb_sullivan sagte: Meinst du mit Trigger "Matrix Standard = wahr"?

          Du hast im Bild nebeneinander zwei Trigger mit den gleichen 15 Trigger-Datenpunkten. Die triggern quasi gleichzeitig, aber einer von beiden triggert zuerst, wobei man nicht voraussagen kann, welcher von beiden. Wenn der linke Trigger zuerst triggert, werden veraltete Werte in die Matrix geschrieben.

          EDIT: Mit folgendem Prinzip sollte es funktionieren:

          Bild_2022-06-29_190525147.png

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

            @paul53 Ich denke so ist das jetzt besser - oder?

            Das mit der Uhrzeit und dem Versatz von ~ 4 Minuten habe ich auch raus gefunden. Das VIS Widget "Timeandweather - simple Clock" zeigt die Uhrzeit des PC an, auf dem die VIS gerade ausgeführt wird, währenddessen die Uhrzeit des "Aktuelle Zeit" Blockly die Uhrzeit von dem Rechner nimmt, auf dem ioBroker läuft.

            Einmal Netzwerk Zeit synchronisiert und schon passt das auch 🙂

            f3bbd74b-03ac-4c45-ad94-2b571b2efc53-image.png

            ae14583b-de9a-46cb-ab5e-e5296f3c4534-image.png

            SORRY - hatte meinen Blockly "Umbau" schon fertig, bevor dein Beispiel da war. War in der Zwischenzeit nur was essen. Aber ich gucke mal ob es mit deinem Beispiel vielleicht noch einfacher wird - Vielen Dank schonmal dafür.

            paul53 Homoran Thomas Braun 3 Replies Last reply Reply Quote 0
            • paul53
              paul53 @JB_Sullivan last edited by

              @jb_sullivan sagte: jetzt besser - oder?

              Der gesamte Block "Auswertung DP" muss in den Trigger vor den Block "aktualisiere Matrix".

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

                @jb_sullivan sagte in Limit von Variablen pro Blockly?:

                Das VIS Widget "Timeandweather - simple Clock" zeigt die Uhrzeit des PC an, auf dem die VIS gerade ausgeführt wird, währenddessen die Uhrzeit des "Aktuelle Zeit" Blockly die Uhrzeit von dem Rechner nimmt, auf dem ioBroker läuft.

                selbstverständlich!

                1 Reply Last reply Reply Quote 0
                • Thomas Braun
                  Thomas Braun Most Active @JB_Sullivan last edited by Thomas Braun

                  @jb_sullivan sagte in Limit von Variablen pro Blockly?:

                  Einmal Netzwerk Zeit synchronisiert und schon passt das auch

                  Praxis-Tip: Lass den ntp-Service dauerhaft laufen. Die exakte Uhrzeit auf den Rechnern ist kein optisches Problem, es gibt einige Netzwerkdienste, die z. B. Plausibilitätstest machen und Pakete aus der Zukunft verwerfen.

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

                    Sorry wenn ich nochmal nerve - ich habe das Blockly ja nun nach @paul53 seinem Beispiel umgebaut.

                    Leider habe ich einen ganz Sack voll Datenpunkte, die sich immer nur sporadisch ändern (also in der Ergebnis Ausgabe), obwohl sie genauso abgefragt werden, wie Datenpunkte die sich kontinuierlich ändern. Obwohl die Bedingung schon längst "Geschichte" ist, wir der Text und der Wert immer noch angezeigt - teilweise über Stunden.

                    Stoppe ich das Skript und starte es neu - stimmen alles Ausgaben sofort wieder....... bis zum nächsten mal.

                    Ich komme ums verrecken nicht dahinter, warum ca. 3-4 Werte IMMER korrekt aktualisiert werden und die restlichen Werte sehr häufig auf einem alten Stand eingefroren werden.

                    dca1014b-df7e-4ecc-8c09-52710aeb707f-image.png

                    Nun kam mir die Idee, das es ggf. zu viele Datenpunkte sind, auf die getriggert wird. Gibt es im ioBroker System irgend einen Datenpunkt, der kontinuierlich seinen Zustand wechselt, sodaß man nur auf diesen einen DP triggern könnte? Also so eine Art Taktgeber um de Lese/Schreibprozess des Blockly anzustoßen.

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

                      @jb_sullivan sagte: Text und der Wert immer noch angezeigt - teilweise über Stunden.

                      Das hast Du so programmiert, dass jeder Wert ständig angezeigt wird, auch wenn er über Stunden konstant bleibt.
                      Was wolltest Du erreichen?

                      Wenn nur die Werte angezeigt werden sollen, bei denen die Prüfbedingung stimmt, muss vor den Prüfungen jeder Variable ein Leerstring zugewiesen werden.

                      EDIT: Einfacher geht es jedoch ganz ohne Variablen:

                      Bild_2022-06-30_191551874.png

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

                        @paul53 sagte in Limit von Variablen pro Blockly?:

                        Das hast Du so programmiert, dass jeder Wert ständig angezeigt wird, auch wenn er über Stunden konstant bleibt.
                        Was wolltest Du erreichen?

                        OK - habe ich das? Dann habe ich die Logik dahinter missverstanden 😞 Ich dachte wenn der Wert nicht mit der Vorgabe überein stimmt, wird der DP auch nicht zur Anzeige frei gegeben - was ja auch sehr häufig "funktioniert" hat - aber auch sehr häufig nicht 🙂

                        Ich habe nun alle Variablen verworfen und das Blockly so aufgebaut wie in deinem letzten Beispiel. LÄUFT PERFEKT !!! Nun ist es genau so wie ich es mir ursprünglich erdacht hatte - Vielen Dank nochmal dafür. Ich sehe schon, ich muss noch viel lernen ......

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        521
                        Online

                        32.0k
                        Users

                        80.5k
                        Topics

                        1.3m
                        Posts

                        blockly
                        4
                        15
                        827
                        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