Status von Events abfragen

hast du das wirklich?

Ich bekomme nur eine Warnung Zeile in gelb, aber keinen Error in rot.

Update: Mit Update bekomme ich es dann entsprechend.

QED:

04.02.2022 09:04:53 | 21864 | WARNING | Integrity Check      | MonitorThreads: thread=7, script=Test(48988), sender=Execute, duration=34s
04.02.2022 09:05:53 | 21864 | WARNING | Integrity Check      | MonitorThreads: thread=7, script=Test(48988), sender=Execute, duration=1m34s
04.02.2022 09:20:32 | 21864 | ERROR   | Integrity Check      | MonitorThreads: thread=24, script=Test(48988), sender=Execute, duration=48s

In der neuen Version ist jetzt der Check von Threads realisiert … das bringt mir in der default Konfigurations jede Menge Einträge weil ein Ablaufplan bei mir 4 Minuten läuft (Licht im Keller nach Auslösung durch Bewegungsmelder)…
Sicher kann ich jetzt die Einstellungen ändern, aber macht es nicht Sinn die Ablaufpläne auszuklammern?
…oder sollte ich den Ablaufplan unter ‚zu ignorierende Elemente‘ listen?

Gruß, Michael

@micserver habe es hier hin verschoben weil es
a) nicht mehr mit deinem ursprünglichen Thema zu tun hat.
b) hier im Thema alle anderen Fragen zu dem Modul liegen.
Michael

ah…sorry…war grad verwirrt wieso es verschoben wurde :slight_smile:

Ist eine Frage zum Modul ‚Integrity Check‘ … ist das hier jetzt richtig angesiedelt?

Versuch mal das Modul Treppenhauslichtsteuerung. Das sollte dein Problem lösen. Oder du baust deinen Ablauf um. Bei Auslösung aktivieren ein Ereignis, das z.b. alle 10 Sekunden eine Variable um 10 erhöht. Wenn der Wert größer als 240 Sekunden ist, löse den Ablaufplan wieder mit einem Ereignis aus, und drehe das Licht ab. Das hätte auch noch den Vorteil, dass du den Timer bei erneuter Bewegung zurücksetzen kannst. Bewegung löst den Ablaufplan aus, aktiviert das Ereignis zum Hochzählen, schaltet das Licht ein und setzt den Timer auf 0. Wird wieder eine Bewegung erfaßt, wird der Zähler wieder auf 0 gesetzt und der Timer läuft von vorne. Oder du verwendest das Treppenahausmodul.

…guter Denkanstoß!
Normalerweise mache ich das ja sowieso mit einem PHP Script…wollte aber doch auch mal die hochgelobten Ablaufpläne ausprobieren … :slight_smile:

Die sind nicht schlecht. Für Kleinigkeiten muss man nicht zwingend ein Skript anreißen. Nur ich mag es persönlich nicht, einen Prozess mehrere Minuten lang anzuhalten, ohne jeglichen Einfluss darauf. Das wiederstrebt mir. Das Ding braucht nur hängen zu bleiben und dann hängt und hängt es. Ich verwende auch die Treppenauslichtsteuerung (funktioniert nicht nur fürs Treppenhaus, sondern auch im Carport und im Garten :wink: ). Das Timerding hab ich z.b. beim Absenken der Temperatur der Heizung. Ist ein Fenster länger als eine Minute offen, werden die Heizkörper geschlossen. Auch das funktioniert mit dem Timer sehr gut.

@micserver
unabhängig von allen anderen Fragen / Lösungsmöglichkeiten …
die Thread-Überwachung hatte ich mit aufgenommen, weil es ja hier und da Problem gibt mit „hängende“ Scripten, also mit Skripten, die lange laufen und damit die Anzahl verfügbarer Scripts-Plätze („Threads“) verbrauchen.
Anscheinend gibt es hier ein Konflikt mit den Ablaufplänen.
Damit ich dem nachgehen kann … kannst du mit den Ablaufplan mal konkret schildern?

Hier der Ablaufplan:


Hilft das?

ja und nein.
ja, ich sehe, wie der Ablaufplan ist, ist ja nix besonderes.,

Das Thema des Thread-Monitoring kam ja aus der Ecke, das für PHP-Scripte in IPS nur eine bestimmte Anzahl von Threads zur Verfügung steht und daher Langläufer ein Problem darstellt. Denn wenn alle Threads in Gebrauch sind, kann kein neuer Thread gestartet werden.
Es gibt ja den PHP-Status (als Widget bzw Tab).
Wenn ein solcher Ablaufplan aktiv ist, ist das Script dann bei dir im PHP-Status zu sehen?

Einstweilen kannst du ja die Grenzen in der Instanz höher setzen; die hatte ich doch recht willkürlich gesetzt.

…du meint in ‚PHP Information‘ ?
Da taucht es auf:

ja richtig, PHP-Information…
ich muss morgen mal testen, was passiert, wenn 25 solche Ablaufpläne gleichzeitig laufen (25 ist der Standardwert für die Anzahl der PHP-Threads).

… kann ich den Ablaufplan ausschließen? Ich hab’s mit der ID versucht, aber das klappt nicht.

nein, das ist der Ausschluss von Objekt-ID’s aus der Suche nach fehlenden Objekten.
Aber das hochsetzen der Zeit-Grenze ist doch völlig ok.

Ich sehe in dem Verhalten der Ablaufpläne ein potentielles Problem, wenn die wirklich Threads belegen und jemand viele solcher Pläne hat. Aus diesem Grund wird ja in der Doku gewarnt, IPS_Sleep mit Zeiten > 30s zu benutzen.

Wundert mich auch, hatte gemeint verstanden zu haben, dass ein Warten im Ablaufplan sich eben nicht wie ein Sleep verhält…?
Welche der Zeiteinstellungen wäre denn die relevante?

Hi,
ich würde die Fehlerzeit auf 250 Sekunden stellen. Du bekommst dann immer noch Warnungen aber keine Fehler mehr. An die 30 Sekunden Empfehlung hatte ich auch sofort gedacht als ich das gelesen habe. In Scripten mache ich das immer mit Timer.

Ralf

sehe ich aus so.
eventuell könnte ich bei der Warnung auch einbauen, das das nur beachtet wird, wenn x% der Threads belegt sind

@paresy : kannst du was dazu sagen, ob die Annahme, das bei einem Ablaufplan mit Wartezeit der Thread auch in der Wartezeit belegt ist?

Ich arbeite normalerweise auch mit Scripten und Timern … wollte mal die Ablaufpläne probieren…
So etwas wird wahrscheinlich jeder, der sich nicht mit Scripting beschäftigen möchte/kann in seine Ablaufpläne einbauen.

Aktuell ist dies noch so. Das werden wir aber bald ändern, sodass Wartezeiten keinen Slot belegen.

paresy