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. Blockly
  5. Timeouts beenden sich trotz "stop" nicht

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    16
    1
    283

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    4.7k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.3k

Timeouts beenden sich trotz "stop" nicht

Scheduled Pinned Locked Moved Blockly
2 Posts 2 Posters 268 Views 1 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.
  • J Offline
    J Offline
    Jrlohni
    wrote on last edited by
    #1

    Moin zusammen,

    ich habe jetzt seit einiger Zeit ein Skript laufen und (vermutlich) seit der Umstellung von einem Trigger auf 1 Sekunde von 15 Sekunden arge Probleme mit den Timeouts.

    Das sich Timeouts mehrfach starten können, ist mir klar. Daher habe ich neben einem Timeout das nächste Timeout wieder gestoppt. Bei 15 Sekunden Ausführungszeit hat das augenscheinlich auch gut geklappt (vielleicht ist es mir aber auch einfach nicht aufgefallen). Bei einer Sekunde schafft er es aber jetzt nicht, die Timeouts, welche laufen zu beenden und führt die dann mitten drin mal wieder aus.
    Ausschnitt meines Blocklys:
    23973c19-40aa-4617-9289-e7811bca5ca2-image.png

    Zur Erklärung:
    Wenn der Wert von "PowerAC" gleich oder größer als "LadenStart" ist und die PV nicht Manuell ausgeschaltet ist ("PV_Aus"), soll für 2 Minuten gewartet werden, bis das Laden erlaubt wird, der Status "Aktiv" auf wahr gesetzt wird und die "PV_Stufe" je nach Benutzereingabe auf 3 oder 4 gesetzt wird. Sollte innerhalb dieser 2 Minuten der Wert von "PowerAC" kurzzeitig geringer als der "LadenStart" Wert sein, soll die Zeit neu beginnen.

    Sollte das alles nicht wahr sein, soll nach 4 Minuten die PV auf Stufe 1 gestellt werden und anschließend, 1 Minute später, soll der Rest "zurückgestellt" werden.
    Die anderen "Stops" welche NICHT "PV-Laden_Start" oder "PV-Laden_Stop" und "PV-Laden_Stop2" heißen, könnt ihr erstmal ignorieren. Das Problem ist bei denen das gleiche, würde dann aber zu umfangreich werden...

    Wenn nun der Pfad mit dem Debug: "PV_Start1" kommt, zwischenzeitig aber die 1. Bedingung nicht mehr "TRUE" ist, kommt nach 4 Minuten die Debug Meldung: "PV_Stop1"... Dabei wird der timeout (meiner Meinung nach) durch das "stop PV-Laden_Stop" beendet. Sollte zumindest...
    Das ganze zieht sich dann mit dem Debug: "PV_Stop2" ebenso durch...

    In dem restlichen Skript habe ich maximal noch mal ein Timeout "Stop" genutzt, aber nirgends das Timeout noch einmal gestartet (wenn sowas überhaupt geht).

    Hat jemand eine Idee woran das liegen kann? Ich habe schon viel gelesen zu Timeouts... Viele Videos geschaut. Aber noch keins hat mir die Lösung erbracht, welche ich benötige... Ich komme eher aus der SPS Programmierung. Da setzt sich ein Timer normalerweise immer zurück, wenn der Eingang FALSE wird...

    Grüße Johannes

    paul53P 1 Reply Last reply
    0
    • J Jrlohni

      Moin zusammen,

      ich habe jetzt seit einiger Zeit ein Skript laufen und (vermutlich) seit der Umstellung von einem Trigger auf 1 Sekunde von 15 Sekunden arge Probleme mit den Timeouts.

      Das sich Timeouts mehrfach starten können, ist mir klar. Daher habe ich neben einem Timeout das nächste Timeout wieder gestoppt. Bei 15 Sekunden Ausführungszeit hat das augenscheinlich auch gut geklappt (vielleicht ist es mir aber auch einfach nicht aufgefallen). Bei einer Sekunde schafft er es aber jetzt nicht, die Timeouts, welche laufen zu beenden und führt die dann mitten drin mal wieder aus.
      Ausschnitt meines Blocklys:
      23973c19-40aa-4617-9289-e7811bca5ca2-image.png

      Zur Erklärung:
      Wenn der Wert von "PowerAC" gleich oder größer als "LadenStart" ist und die PV nicht Manuell ausgeschaltet ist ("PV_Aus"), soll für 2 Minuten gewartet werden, bis das Laden erlaubt wird, der Status "Aktiv" auf wahr gesetzt wird und die "PV_Stufe" je nach Benutzereingabe auf 3 oder 4 gesetzt wird. Sollte innerhalb dieser 2 Minuten der Wert von "PowerAC" kurzzeitig geringer als der "LadenStart" Wert sein, soll die Zeit neu beginnen.

      Sollte das alles nicht wahr sein, soll nach 4 Minuten die PV auf Stufe 1 gestellt werden und anschließend, 1 Minute später, soll der Rest "zurückgestellt" werden.
      Die anderen "Stops" welche NICHT "PV-Laden_Start" oder "PV-Laden_Stop" und "PV-Laden_Stop2" heißen, könnt ihr erstmal ignorieren. Das Problem ist bei denen das gleiche, würde dann aber zu umfangreich werden...

      Wenn nun der Pfad mit dem Debug: "PV_Start1" kommt, zwischenzeitig aber die 1. Bedingung nicht mehr "TRUE" ist, kommt nach 4 Minuten die Debug Meldung: "PV_Stop1"... Dabei wird der timeout (meiner Meinung nach) durch das "stop PV-Laden_Stop" beendet. Sollte zumindest...
      Das ganze zieht sich dann mit dem Debug: "PV_Stop2" ebenso durch...

      In dem restlichen Skript habe ich maximal noch mal ein Timeout "Stop" genutzt, aber nirgends das Timeout noch einmal gestartet (wenn sowas überhaupt geht).

      Hat jemand eine Idee woran das liegen kann? Ich habe schon viel gelesen zu Timeouts... Viele Videos geschaut. Aber noch keins hat mir die Lösung erbracht, welche ich benötige... Ich komme eher aus der SPS Programmierung. Da setzt sich ein Timer normalerweise immer zurück, wenn der Eingang FALSE wird...

      Grüße Johannes

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

      @jrlohni
      Mehrfaches Starten von Timern verhindert man, indem man die Timer-Variable als Sperre verwendet. Beispiel:

      Blockly_temp.JPG

      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

      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

      563

      Online

      32.7k

      Users

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