[Modul] Symcon Integrity Check

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.


Die Fehlermeldung kommt nicht von Symcon, sondern von diesem Modul, was du installiert hast.
Michael

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.

Mit dem Modul werden unter anderem langlaufende Threads erkannt (in der Meldung wird die Laufzeit ja als duration angegeben).

Threads sind laufender PHP-Code, egal ob Scripts, Ablaufpläne oder ein Modul.

Die Anzahl der Threads ist limitiert (Standdard ist 25, siehe Limitationen — IP-Symcon :: Automatisierungssoftware).

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.

Stimmt, ist ja immer die gleiche Thread-ID.

Nein, meines Wissen nach nicht. Das ist meiner Erinnerung nach schon recht häufig diskutiert worden.

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

1 „Gefällt mir“

Bei nur 2 Minuten könnte man auch überlegen das man die Warn-Zeiten im Modul anpasst wenn es bei mehreren Geräten 120sec sind. So habe ich es gemacht.

Ralf

1 „Gefällt mir“

Hallo,
ich habe einen Ablaufplan von der Prüfung durch den Integrity Check ausgeschlossen, bekomme aber trotzdem dessen Fehlermeldungen der MonitorThreads.
Gerhard

Das ist merkwürdig, das hatte ich vor 4 Tagen (anlässlich meiner Antwort) nochmal getestet.

Wo hast du den angesprochenen Plan eingetragen, im Panel Threads unter zu ignorierende Scripte?

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

Die Fehlermeldung ist nicht mehr aufgetaucht. Der Eintrag bei Threads funktioniert.
Grüße, Gerhard