Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [gelöst] finde meinen Blockly-Fehler nicht

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    [gelöst] finde meinen Blockly-Fehler nicht

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

      Hallo,
      Lüfter.jpeg
      bisher lief alles gut bis ich versucht habe, die Lüfterzeiten mal nachzuvollziehen.
      Ich habe auf meinen Raspberry pi 5 einen Zusatzlüfter installiert, der bei vermeintlich zu hohen Temperaturen der CPU eingeschaltet wird und bei Erreichen einer vorgegebenen unteren Temperatur ausgeschaltet wird.
      Das soll das Blockly-Script machen:
      Blockly1.JPG

      Problem: egal, was ich als Maximalwert und Minimalwert einstelle - im Ergebnis kommen immer glatte Minuten für die Dauer "Lüfter=an" raus in Sekunden: 120, 180, 240 (Variable "dauer").
      Auch mit einer Stoppuhr läßt sich das nachvollziehen.
      Der Lüfter wird für an/aus nur über die Stromzuführung (an/aus) gesteuert.

      Habe ich hier einen Denkfehler eingebaut ?

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

        @dgr sagte in fonde meinen Blockly-Fehler nicht:

        Habe ich hier einen Denkfehler eingebaut ?

        lass dir mal an und aus per debug-Block Anzeigen

        Warum per Cron und nicht auf Änderung der CPU Temp triggern?

        1 Reply Last reply Reply Quote 0
        • Codierknecht
          Codierknecht Developer Most Active @DGR last edited by Codierknecht

          @dgr
          Als Erstes solltest Du den Zeitplan da rauswerfen.
          Stattdessen einen Trigger auf den Temperatur-State.

          Die beiden Temperaturen sollten etwas auseinanderliegen, damit nicht ständig hin und her geschaltet wird (Hysterese). Hast Du ja schon.

          3470c9be-3899-4812-9cf6-923ad122b776-grafik.png

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

            @codierknecht sagte: Trigger auf den Temperatur-State.

            Vorschlag:

            Blockly_temp.JPG

            @dgr sagte in fonde meinen Blockly-Fehler nicht:

            im Ergebnis kommen immer glatte Minuten für die Dauer "Lüfter=an" raus

            Wird der Temperatur-DP der Instanz "rpi2.0" nur jede Minute aktualisiert?

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

              @paul53
              Blockly1.JPG

              kann mich leider erst morgen wieder melden. Besuch kommt.
              Sorry.

              Codierknecht 1 Reply Last reply Reply Quote 0
              • D
                DGR @paul53 last edited by

                @paul53
                Aktualisierung rpi2 (zum testen in history) :
                Screenshot_20250211_085316_Chrome.jpg

                Das scheint wirklich die Ursache zu sein. Kann ich das beeinflussen/ändern?

                Homoran Codierknecht 2 Replies Last reply Reply Quote 0
                • Codierknecht
                  Codierknecht Developer Most Active @DGR last edited by Codierknecht

                  @dgr
                  Du setzt den Wert eines DP und liest den dann direkt wieder aus.
                  Das wird nicht funktionieren.

                  Besser die Ergebnisse von Berechnungen in Variablen zwischenspeichern und dann diese Variablen verwenden.

                  b33fc3fb-e948-4d5f-a12b-f4f8de94416b-image.png

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

                    @dgr sagte in finde meinen Blockly-Fehler nicht:

                    Kann ich das beeinflussen/ändern?

                    Möglich!
                    Wenn du die Temperatur selber per Skript ausliest, könnte es mit kürzeren Intervallen versuchen.
                    Bedingung wäre, dass im Raspi OS der Wert öfter als jede Minute aktualisiert wird

                    Sieht bei mir pro Minute so aus:
                    Screenshot_20250211-090329_Firefox.jpg

                    1 Reply Last reply Reply Quote 0
                    • Codierknecht
                      Codierknecht Developer Most Active @DGR last edited by

                      @dgr sagte in finde meinen Blockly-Fehler nicht:

                      Kann ich das beeinflussen/ändern?

                      Höchstens - soweit der Adapter das vorsieht - durch ein dort einstellbares Aktualisierungsintervall.
                      Aber 1x pro Minute sollte eigentlich ausreichen. Mit einem kürzeren Intervall produzierts Du auch mehr Last.
                      Versuch macht klug 😉

                      1 Reply Last reply Reply Quote 0
                      • D
                        DGR @Codierknecht last edited by

                        @codierknecht
                        Du setzt den Wert eines DP und liest den dann direkt wieder aus.
                        Das wird nicht funktionieren.

                        Ist das ein Zeitproblem? Das würde aus meiner Sicht bedeuten, dass mit der Verarbeitung der Variablen gewartet wird bis sie "gefüllt" sind - im Gegensatz zur Verarbeitung eines Datenpunktes.

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

                          @dgr sagte in finde meinen Blockly-Fehler nicht:

                          Ist das ein Zeitproblem?

                          ja!
                          Das Schreiben eines Wertes in einen Datenpunkt (wegen der Struktur) dauert seine Zeit, eine Variable wird nur innerhalb des Skriptes innerhalb Millisekunden gesetzt

                          1 Reply Last reply Reply Quote 0
                          • Codierknecht
                            Codierknecht Developer Most Active @DGR last edited by Codierknecht

                            @dgr sagte in finde meinen Blockly-Fehler nicht:

                            Ist das ein Zeitproblem?

                            Wie @Homoran schreibt: Ja!
                            Das liegt daran, dass das Ganze asynchron ausgeführt wird.
                            Das Setzen des Wertes wird zwar "angestoßen", ist aber beim Lesen möglicherweise (in der Regel) noch nicht abgeschlossen. Wir reden hier über Milli- oder gar Mikrosekunden.
                            Dann liest Du noch den alten Wert.

                            D 1 Reply Last reply Reply Quote 0
                            • D
                              DGR @Codierknecht last edited by

                              @codierknecht
                              OK. Dann werde ich das auf Variablen umstellen.
                              Abfrageintervall:
                              Screenshot_20250211_090831_Chrome.jpg

                              Da lasse mal lieber die Finger von.

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

                                @dgr ich hab mal mein Blockly alle 10 Sekunden feuern lassen:
                                Screenshot_20250211-094708_Firefox.jpg

                                Dann kommen auch immer unterschiedliche Werte.
                                Die Limitierung auf 1 Minute liegt nicht am RaspberryPi OS

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

                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                888
                                Online

                                31.6k
                                Users

                                79.5k
                                Topics

                                1.3m
                                Posts

                                4
                                14
                                284
                                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