Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Beschattungsautomatik - Timeout Problem

    NEWS

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    Beschattungsautomatik - Timeout Problem

    This topic has been deleted. Only users with topic management privileges can see it.
    • E
      enrico.w last edited by

      Hallo zusammen,

      ich habe in Blockly mir ein Skript zur Beschattung zusammen gebaut. Es soll so funktionieren, dass Zwischen 6 und 21Uhr jede Minute der Max_KLux Wert der Wetterstation ausgelesen werden soll und nach einer Fallunterscheidung entschieden wird, ob die Beschattung aktiviert werden soll oder nicht. Danach startet jeweils ein Timeout von 10Min (Beschattung einschalten) oder 30Min (Beschattung ausschalten). Wenn der Lux Wert der Wetterstation über 45KLux übersteigt wird nach 10min geprüft ob der Wert weiterhin die 45KLux übersteigt, falls nicht sollen die Timeouts gestoppt werden und von vorne Anfangen. Das Gleiche halt nun wenn der Wert unter 45KLux ist. Je nach Fall sollten sich die Timeouts eigentlich gegenseitig aufheben, damit die Jalousien auch wirklich erst in den vorgegebenen Zeitfenstern fahren sollen. Nun das funktioniert auch nur Teilweise. Nach einiger Zeit laufen die Timeouts trotzdem wieder auf und die Jalousien fahren dann jede Minute hoch und runter....

      Hier noch einmal ein Screenshot des Skripts:
      Blockly2.png
      Vllt. habe ich noch irgendeine Kleinigkeit übersehen/vergessen? Bzw. gibt es eine Lösung, dass ein Timeout nicht mehrfach im Hintergrund läuft, da der Stop Timeout befehlt wohl nicht alle Timeouts stoppen tut.

      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @enrico.w last edited by

        @enrico-w sagte: jede Minute

        Wenn jede Minute getriggert wird, werden Timeouts > 1 Minute mehrfach gestartet und lassen sich nicht mehr stoppen. Verwende besser einen Zähler, der mit jedem Trigger hochgezählt wird.

        E 1 Reply Last reply Reply Quote 0
        • E
          enrico.w @paul53 last edited by

          @paul53 Ahh, gut hatte ich nicht erwartet. Ich habe gedacht, dass nach jeder Minute der Timeout von der letzten noch mit dem Stop Befehl aufgehoben werden kann. Gut, dann bastle ich mal das Skript auf einen Zähler um und melde mich dann nochmal mit dem Ergebnis. Vielen Dank für den Hinweis! 🙂

          paul53 1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @enrico.w last edited by paul53

            @enrico-w sagte: dann bastle ich mal das Skript auf einen Zähler um

            Verwende besser die Sonneneinstrahlung als Trigger mit folgendem Prinzip:

            Bild_2022-05-20_122140978.png

            Keine weiteren Timer-Stopps und Prüfungen!
            Die Auswertung von "vorheriger Wert" in der gezeigten Art verhindert die Mehrfachauslösung der Timer.

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

            Support us

            ioBroker
            Community Adapters
            Donate

            850
            Online

            32.0k
            Users

            80.5k
            Topics

            1.3m
            Posts

            2
            4
            187
            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