<?
// Mehrfachaufruf mit Semaphore verhindern
if (!IPS_SemaphoreEnter($IPS_SELF, 1)) { //Falls Semaphore noch gesetzt 1ms warten dann über return verlassen
IPSLogger_Wrn(file, ‚Zk_SekTimer Semaphore noch nicht abgelaufen‘);
return;
}
SetValue(13177 /[ZK-Heiz\Zk-Ablaufsteuerung\Zk_SekTimer_laeuft]/, True);
Kannst Du den sicherstellen, dass das Script zwischen IPS_SemaphoreEnter und IPS_SemaphoreLeave nicht durch ein Exit oder eventuell einen Fehler verlassen wird - poste doch mal das komplette Script
// Mehrfachaufruf mit Semaphore verhindern
if (!IPS_SemaphoreEnter($IPS_SELF, 1)) { //Falls Semaphore noch gesetzt 1ms warten dann über return verlassen
IPSLogger_Wrn(file, ‚Zk_SekTimer Semaphore noch nicht abgelaufen‘);
return;
}
SetValue(13177 /[ZK-Heiz\Zk-Ablaufsteuerung\Zk_SekTimer_laeuft]/, True);
Das Script wird wie gesagt jede Sekunde aufgerufen, in dem Script wird dann ein Sekundenzähler von 1 bis 60 hochgezählt um dann je nach Zählerstand unterschiedlichste Scripte mit „IPS_RunScriptWait“ oder " IPS_RunScript" aufzurufen.
So eine Art Taktverteiler.
In den diversen Scripten könnten dann natürlich evtl. schon Fehler auftreten, protokolliert werden aber keine weiteren Fehlermeldungen.
Im Verdacht habe ich den Zugrifft auf eine zentrale mySQL-Datenbank, da mir dort nicht genau klar ist wie die Datenbank bei Aufruf aus mehreren Scripten optimal (evtl. resourecenschonend) zu öffnen und zu schließen ist. Z.B. werden in der mySQL-Datenbank auch Einträge des IPS-Loggers protokolliert.