Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. [gelöst] finde meinen Blockly-Fehler nicht

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.8k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.2k

[gelöst] finde meinen Blockly-Fehler nicht

Scheduled Pinned Locked Moved Skripten / Logik
14 Posts 4 Posters 752 Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • D Online
    D Online
    DGR
    wrote on last edited by DGR
    #1

    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 ?

    HomoranH CodierknechtC 2 Replies Last reply
    0
    • D 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 ?

      HomoranH Do not disturb
      HomoranH Do not disturb
      Homoran
      Global Moderator Administrators
      wrote on last edited by
      #2

      @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?

      kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

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

        CodierknechtC Offline
        CodierknechtC Offline
        Codierknecht
        Developer Most Active
        wrote on last edited by Codierknecht
        #3

        @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

        "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

        Proxmox 9.1.1 LXC|8 GB|Core i7-6700
        HmIP|ZigBee|Tasmota|Unifi
        Zabbix Certified Specialist
        Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

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

          paul53P Offline
          paul53P Offline
          paul53
          wrote on last edited by paul53
          #4

          @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?

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          D 2 Replies Last reply
          0
          • paul53P 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 Online
            D Online
            DGR
            wrote on last edited by
            #5

            @paul53
            Blockly1.JPG

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

            CodierknechtC 1 Reply Last reply
            0
            • paul53P 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 Online
              D Online
              DGR
              wrote on last edited by
              #6

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

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

              HomoranH CodierknechtC 2 Replies Last reply
              0
              • D DGR

                @paul53
                Blockly1.JPG

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

                CodierknechtC Offline
                CodierknechtC Offline
                Codierknecht
                Developer Most Active
                wrote on last edited by Codierknecht
                #7

                @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

                "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                HmIP|ZigBee|Tasmota|Unifi
                Zabbix Certified Specialist
                Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                D 1 Reply Last reply
                0
                • D DGR

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

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

                  HomoranH Do not disturb
                  HomoranH Do not disturb
                  Homoran
                  Global Moderator Administrators
                  wrote on last edited by Homoran
                  #8

                  @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

                  kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                  der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                  1 Reply Last reply
                  0
                  • D DGR

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

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

                    CodierknechtC Offline
                    CodierknechtC Offline
                    Codierknecht
                    Developer Most Active
                    wrote on last edited by
                    #9

                    @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 ;-)

                    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                    Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                    HmIP|ZigBee|Tasmota|Unifi
                    Zabbix Certified Specialist
                    Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                    1 Reply Last reply
                    0
                    • CodierknechtC 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 Online
                      D Online
                      DGR
                      wrote on last edited by
                      #10

                      @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.

                      HomoranH CodierknechtC 2 Replies Last reply
                      0
                      • D DGR

                        @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.

                        HomoranH Do not disturb
                        HomoranH Do not disturb
                        Homoran
                        Global Moderator Administrators
                        wrote on last edited by Homoran
                        #11

                        @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

                        kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                        1 Reply Last reply
                        0
                        • D DGR

                          @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.

                          CodierknechtC Offline
                          CodierknechtC Offline
                          Codierknecht
                          Developer Most Active
                          wrote on last edited by Codierknecht
                          #12

                          @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.

                          "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                          Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                          HmIP|ZigBee|Tasmota|Unifi
                          Zabbix Certified Specialist
                          Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                          D 1 Reply Last reply
                          0
                          • CodierknechtC 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 Online
                            D Online
                            DGR
                            wrote on last edited by
                            #13

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

                            Da lasse mal lieber die Finger von.

                            HomoranH 1 Reply Last reply
                            0
                            • D DGR

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

                              Da lasse mal lieber die Finger von.

                              HomoranH Do not disturb
                              HomoranH Do not disturb
                              Homoran
                              Global Moderator Administrators
                              wrote on last edited by
                              #14

                              @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

                              kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                              der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                              1 Reply Last reply
                              0
                              Reply
                              • Reply as topic
                              Log in to reply
                              • Oldest to Newest
                              • Newest to Oldest
                              • Most Votes


                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              663

                              Online

                              32.4k

                              Users

                              81.5k

                              Topics

                              1.3m

                              Posts
                              Community
                              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                              ioBroker Community 2014-2025
                              logo
                              • Login

                              • Don't have an account? Register

                              • Login or register to search.
                              • First post
                                Last post
                              0
                              • Home
                              • Recent
                              • Tags
                              • Unread 0
                              • Categories
                              • Unreplied
                              • Popular
                              • GitHub
                              • Docu
                              • Hilfe