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.
    • JB_Sullivan
      JB_Sullivan last edited by

      Schade zu früh gefreut - mitlerweile werden einige Variablen gar nicht mehr aus dem Datenpunkt heraus genommen, obwohl die Bedingungen schon lange nicht mehr zutreffend sind.

      Hier haben wir so ein Beispiel - Pool Status: und Rücklauftemperatur: - beides ist gemäß Blockly Definition nicht mehr zutreffend. In dem erzeugten Datenpunkt, steht der Pool Status aber noch vollständig drin und bei der Rücklauftemperatur wurde nur der Wert entfernt. Der Text ist nach wie vor vorhanden, obwohl dieser in der selben Variable Bedingung stehen, wie der Wert selber.

      caed63cd-08cd-4ab5-9a93-76ea5fa3aa50-image.png

      Hier die Auswertung, wann welches Ergebnis zu einem Texteintrag im Datenpunkt führen soll.

      3d605f89-4c4a-465a-a23a-5a6660281e51-image.png

      So sieht der eigentliche Block aus, der dann aus den ganzen Variablen, je nach Ergebnis einen Text Datenpunkt zusammenfügt.

      a6b4e526-5ff9-4a62-81d3-34cd185b0542-image.png
      .
      .
      .
      .
      d317e592-07e2-415c-a63b-22834a34a901-image.png

      1 Reply Last reply Reply Quote 0
      • 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

                          557
                          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