Hi, ich habe gestern einen Ablaufplan erstellt, der überprüft, ob eine Helligkeitsschwelle für 30min unterschritten war. Falls in den 30min eine 2. Schwelle überschritten wird, dann soll der 30min Timer abgebrochen werden. Das hat auch soweit gut funktioniert, aber im Statusprotokoll tauchen nun minütlich Fehler auf, während die Wartezeit von 30min läuft.
Habt ihr eine Idee woran das liegen kann?
P.S. Was ich zwischenzeitlich noch umgestellt habe ist die Einstellung Mehrmalige Auslösung bei wiederholt erfüllter Bedingung weil dann die 30min jedes mal abgebrochen wurde, wenn die Schwelle unterschritten wurde und sich anschließend die Variable geändert hat. Daher liefen die 30min erst los, als die Helligkeit 0 war und keine weiteren Werte gesendet wurden(das war um 18:55). Dies nur noch als Info, falls das etwas mit den Statusmeldungen zu tun haben sollte.
Das stimmt schon, daher danke fürs Verschieben meines Beitrags an die richtige Stelle. Aber verstehe nicht, was ist mit dieser Fehlermeldung gemeint ist? Ich habe das Modul aber auch erst seit gestern im Einsatz.
Aber ich habe jetzt zumindest eine Ahnung, warum die Meldungen kommen. Vermutlich weil der Ablaufplan für, in dem Fall länger als 5-6min nicht reagiert hat? Die Zeit kann man glaube ich einstellen, bzw. wäre es in dem Fall besser die ID aus der Prüfung rauszunehmen.
@Nall-chan danke für den Denkanstoß! Ich hab die ID jetzt in den Einstellungen des Moduls von der Prüfung ausgeschlossen.
Wenn alle Threads belegt sind, kann keine neue Funktion in IPS ausgeführt werden. Daher wird empfohlen, die Laufzeit von Scripten auf 30s zu begrenzen (siehe auch IPS_Sleep — IP-Symcon :: Automatisierungssoftware).
Du hast aber ja eine Wartezeit vom 30 Minuten eingebaut. Ich sege nicht, wie dein Ablaufplan aufgerufen wird, aus den ausgegeben Meldungen schliesse ich auf ein Timer mit einer Minute …
Längerlaufende Wartezeiten können in einem Script mittels IPS_SetScriptTimer() (siehe IPS_SetScriptTimer — IP-Symcon :: Automatisierungssoftware ) abgebildet werden.
Wenn Du nach diesem Befehl suchst findest Du im Forum sehr viele Beiträge dazu, die Dir ein Kochrezept geben
Mein Ablaufplan wird nur durch Über-/Unterschreiten eines Schwellwertes aufgerufen. Dass die Meldungen alle 60s wiederholt werden, hängt denke ich an dem Parameter Thread-Prüfintervall vom Integrity Modul.
Da ich in dem Fall ja einen Ablaufplan verwende, habe ich keinen Einfluss darauf, ob die Wartezeit mit PS_SetScriptTimer() erzeugt wird. Könnte mir aber gut vorstellen, dass IPS das bei Ablaufplänen mit so langen Wartezeiten in Hintergrund so umsetzt. Aber vielleicht kann @Dr.Niels etwas dazu sagen?
Das ist gut zu wissen! Das war mir so bisher nicht bekannt. Denke zwar, dass ich da noch weit weg bin, behalte das aber zukünftig mal im Hinterkopf.
Ich bei der Thematik der langlaufenden Scripts mal einhaken.
Ich habe einen Ablaufplan und bekomme regelmäßig diese Meldung betr. langlaufender Threads aus dem Modul.
Steckdose einschalten
120Sek. warten
Steckdose ausschalten
Was ich in Erinnerung habe wurde doch genau dieses Thema mit dem Ablaufplan gelöst ?
Meiner Meinung nach nicht, diese Ablaufpläne blockieren ja weiterhin einen Thread-Slot - kann man auch in der normalen Symcon PHP-Info sehen.
Wenn man weis, das das bei einem bestimmten Script passiert und man das tolerieren will, kann man das Script/den Ablaufplan ja aus der Thread-Überwachung herausnehmen. Dafür gibt es ja im Modul eine Konfigurationsmöglichkeit
Hallo,
ich habe einen Ablaufplan von der Prüfung durch den Integrity Check ausgeschlossen, bekomme aber trotzdem dessen Fehlermeldungen der MonitorThreads.
Gerhard
Der Eintrag war unter ‚zu ignorierende Elemente‘. Habe mal das Modul neu installiert und dann den Eintrag auf ‚Threads‘ geändert. Den Punkt hatte ich noch nicht gekannt. Werde also beobachten…
Grüße, Gerhard