Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
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

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

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

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

Timeouts beenden sich trotz "stop" nicht

Geplant Angeheftet Gesperrt Verschoben Blockly
2 Beiträge 2 Kommentatoren 234 Aufrufe 1 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • J Offline
    J Offline
    Jrlohni
    schrieb am zuletzt editiert von
    #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 Antwort Letzte Antwort
    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
      schrieb am zuletzt editiert von
      #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 Antwort Letzte Antwort
      0
      Antworten
      • In einem neuen Thema antworten
      Anmelden zum Antworten
      • Älteste zuerst
      • Neuste zuerst
      • Meiste Stimmen


      Support us

      ioBroker
      Community Adapters
      Donate

      386

      Online

      32.4k

      Benutzer

      81.5k

      Themen

      1.3m

      Beiträge
      Community
      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
      ioBroker Community 2014-2025
      logo
      • Anmelden

      • Du hast noch kein Konto? Registrieren

      • Anmelden oder registrieren, um zu suchen
      • Erster Beitrag
        Letzter Beitrag
      0
      • Home
      • Aktuell
      • Tags
      • Ungelesen 0
      • Kategorien
      • Unreplied
      • Beliebt
      • GitHub
      • Docu
      • Hilfe