Zeitpunkt bei Auslösung eines Ereignisses protokollieren

Hallo,

wahrscheinlich ein ein einfaches Problem, aber ich bin bisher noch nicht auf eine Lösung gestoßen: Ich habe ein Ereignis angelegt, das bei Grenzwertunterschreitung ein Skript auslöst, das den Wert einer Variablen zu Zeitpunkt der Auslösung protokolliert. Das funktioniert. Ich würde dazu gerne noch den Auslösezeitpunkt festhalten. Wie kann ich das machen und wie kann ich diesen Zeitpunkt im Webfront anzeigen (welchen „Variablentyp“ hat die Uhrzeit?)?

Danke & viele Grüße

Ecoli

Abend Ecoli!

Ich mache das bei meinen Bewegungsmeldern mit einer String Variable, in die ich das aktuelle Datum/Uhrzeit reinschreibe und diese hab ich in das WebFront verlinkt.

<?
// Zeitpunkt der letzten Bewegung in Variable abspeichern
$timestamp = time();
$datum = date("d.m.Y - H:i", $timestamp);
$datum = $datum. " Uhr";
SetValueString(27657 /*[Skripte & Variablen\Bewegungsmelder\Letzte Bewegung]*/, $datum);
?>

Man könnte aber auch direkt einen Timestamp nehmen und der Variable als Profil zuordnen. Viele Wege führen nach Rom und jeder hat so seine Vorstellungen was er möchte :slight_smile:

Edit: String Variablen kann man auch loggen (falls gewünscht).

Grüße,
Chris

Hallo Chris,

wow, rasante Antwort, ich hatte ja kaum das Thema erstellt…
Probiere ich gleich aus.

Vielen Dank & Grüße

Ecoli

Ohne es jetzt getestet zu haben.
Integer Variable anlegen, Profil ~UnixTimestamp
Im Script einfach SetValueInteger(12345,time());
Sollte der einfachste Weg sein.
Michael

Ist ja trivial, ich merke mir auch zu Beginn des Skriptes den aktuellen Zeitpunkt:

// 1. schnell ZeitSTEmpel einfrieren
$ZSte = microtime($get_as_float = true);

Aber das trifft ja nicht das Thema: Zeitpunkt bei Auslösung eines Ereignisses protokollieren

Denn der von PHP gegebene Zeitstempel „time()“ kann ja nur den Zeitpunkt während des Ablaufes des PHP-Skriptes angeben.

Das Ereignis wurde ja (evtl. wesentlich) früher ausgelöst. Nach der Auslösung wirft IPS ja erst mal den PHP-Interpreter an, bindet noch Kompatibilitäts-Skripte ein, usw. was einige ms dauern kann. Meistens ist diese Verzögerung für den weiteren Ablauf unwesentlich, aber manchmal will man es genau wissen (z.B. wg. der Reihenfolge der Ereignisse oder wg. der Länge eines Ereignisses).

Und da stellt sich für mich schon lange die Frage, ob IPS nicht diesen genaueren Zeitpunkt zur Vfg. stellen kann ?

Ähnlich wie

Variable Wenn ein Variablenereignis das Skript gestartet hat

Variable Bedeutung
$_IPS[‚VALUE‘] Wert der auslösenden Variable zum Auslösezeitpunkt
$_IPS[‚OLDVALUE‘] Wert der auslösenden Variable vor Auslösezeitpunkt
$_IPS[‚VARIABLE‘] ID der auslösenden Variable
$_IPS[‚EVENT‘] ID des auslösenden Ereignisses
$_IPS[‚TRIGGER‘] Typ des auslösenden Ereignisses

Viele Grüsse
Harald

Trivial ist doch gut :wink:
Eine Anforderung nach einer genaueren Zeit als 1 Sekunde hatte ich nun nicht gesehen. Glaube auch kaum das der ScriptManaget so lange braucht ein Script zu starten :wink:
Zumal er doch geschrieben hatte dass er ein Script startet per Ereignis.
Michael

Ich hatte meinen Beitrag auch weniger als Beratung verstanden (die war ja bereits erfolgt), sondern als Entwicklungswunsch an die IPS-Entwickler, um darzustellen, dass hier der Bedarf für Zeit-Infos aus der Prozessumgebung besteht.

Harald

Dem Thread-Starter wurde so auf jeden Fall BESTENS geholfen und er kann sich eine der vielen Möglichkeiten aussuchen :slight_smile:

Und auch für Funktionswünsche gibt es eine Anlaufstelle :slight_smile: >> IP-Symcon - Funktionswünsche

Grüße,
Chris

Das war so wirklich nicht zu verstehen (lesen), sorry.

Welche Infos möchtest du denn haben ?
Timestamp der Variable bei Change und Update:
IPS_GetVariable — IP-Symcon :: Automatisierungssoftware
‚VariableChanged‘ bzw. ‚VariableUpdated‘

Timestamp des Ereignisses ?
IPS_GetEvent — IP-Symcon :: Automatisierungssoftware
‚LastRun‘

Ist doch alles da :slight_smile:

Von der ‚Genauigkeit‘ mal abgesehen. Aber dafür habe ich noch kein Verwendung / Anforderung gehabt, das ich nun sagen würde wir brauchen es genauer.
Michael

Eine Anforderung nach einer genaueren Zeit als 1 Sekunde hatte ich nun nicht gesehen. Glaube auch kaum das der ScriptManaget so lange braucht ein Script zu starten ???


Sign up withCertkiller ccna online training ccna for getting incredible online testking courses security+ sy0-401 exam questions and ju.edu