ich hab in meinen Archiveinträgen mehrfach gleich Einträge und würde die gern über ein Script löschen.
Folgende Konfigutation:
Bei Bewegungserkennung im Flur wird in eine Stringvariable der Zeitstempel eingetragen (hier ein Dank an Marcel). An diesem String ist auch das Logging aktiviert. Was auch bis dahin alles gut funktioniert. Nur jedesmal wenn ich das IPS neustarte (für ein Backup oder PC Neustart) wird, obwohl sich der Wert der Variable nicht ändert, ein neuer Eintrag ins Archiv eingefügt, mit dem gleichen Inhalt.
Hat jemand ein Scriptvorschlag für mich, wie ich die doppelten Einträge am besten aus dem Archiv lösche.
Vielen Dank schon mal.
PS: Und bitte bitte keine Kommentare wie, benutz doch die Suchfunktion oder lese mal die Bedienungsanleitung / Handbuch. Ich hab es halt nicht gefunden.
Du kannst AC_DeleteVariableData nutzen. Damit kannst du Werte für eine Zeitspanne löschen. Die Zeitstempel musst du vorher entsprechend selber raussuchen.
Achso, das wäre aber dann meiner Meinung nach ein Bug der behoben werden sollte. Dann hilft wirklich nur die Werte durchsuchen und manuell wieder rauslöschen.
Ich habe zwei interne Variablen. Eine vom Typ Boolean (nennen wir die mal „Var_Bool“) und eine vom Typ String („Var_String“). Bei Variablenänderung der Var_Bool wird ein Script (Dank an Marcel;)) aufgerufen, welches das aktuelle Datum und Uhrzeit ind die Var_String schreibt.
Bei der Var_String ist das Looging (Alle Variablenänderungen aufzeichnen) aktiv.
Das alles funktioniert auch (sehe alle Änderungen / Zeitstempel im WebFront) sehr gut.
Das „einzige“ Problem hier ist, dass jedesmal wenn ich IPS neustarte (fahre den Dienst für ein Backup runter oder bei einem PC Neustart) bekomme ich einen neuen Eintrag in der Datenbank. Obwohl der Variableninhalt sich, nach dem Neustart von IPS, nicht geändert hat.
Siehe Bild, es gibt da an diesem Tag 4 Einträge an 4 unterschiedlichen Uhrzeiten (Zeitstempel von IPS) obwohl sich der Variablenwert (mein Zeitstempel, Variablenänderung der Bool Variable) nicht geändert hat.
Jetzt bräuchten wir das Script welches bei Änderung (oder etwa bei Aktualisierung?) ausgeführt wird.
Sowie die Konfig von diesem Ereignis.
Vermutung:
Var_bool wird durch IPS Neustart aktualisiert.
Script wird durch Aktualisierung ausgelöst. Var_bool hat sich nicht geändert, also wird der Timestamp der letzten Änderung nochmal in Var_string geschrieben.
Edit: Eventuell auch noch Infos zur HW hinter Var_bool.
Ok. Also wird das Skript nur gestartet, wenn sich die Variable ‚Auswahl‘ ändert. wohl eher unwahrscheinlich, dass das beim Systemstart passiert.
Ändern sich denn beim Systemstart die Zeitstempel der Aus und Ein Variablen? Wenn dem nicht so ist, dann vermute ich eher ein IPS Problem beim Logging von Stringvariablen …
Habe eben mal bei mir stichprobenartig nachgesehen.
Ich vermute mal alle Variablen werden beim starten einmalig in die DB geschrieben.
Habe leider nicht so viele Variablen, mit welchen ich das prüfen kann.
Entweder werden sie bewußt beim neustart von IPS an der HW angefragt und dann natürlich geloggt, oder sie ändern sich eh alle x Minuten von sich aus.
So bei 5 Variablen welche sich nur alle paar Tage oder Wochen ändern, ist immer ein Eintrag in der DB zum Zeitpunkt des Neustarts.
Vermute mal das ist Absicht.
Stört es denn überhaupt ? (Also mich nicht )
Und vielleicht ist es mit IPS 4 eh erledigt.
Mich stört es schon. Möchte damit die Bewegungen vor eine Bewegungsmelder loogen. Da ist es blöd wenn es da Einträge gibt die nicht stimmen.
Daher die Idee, nach einem Neustart von IPS die eine DB zu scannen und neuere Einträge mit dem gleichen Variablenwert zu löschen.
Die Einträge (Werte) stimmen doch.
Der geschrieben String ist ja korrekt, wann die letzte Änderung war.
Wann er geloggt wurde ist ja egal, der geloggte Wert selbst gibt doch die Zeit an, wann die Änderung war (sonst würde ja auch das loggen des String kein Sinn machen.)
So etwas in der Auswertung zu filtern sollte eigentlich kein Problem sein.
Logisch ist es für mich auch nicht. Aber Fakt ist, die letzte Änderung der Variable „Auswahl“ war am 25.09.2015 um 11:05:04 von Zustand Aus nach Ein. Und seitdem nicht mehr. Aber ich habe trotzdem jede Menge einträge im Archiv (und zwar bei jedem Neustart von IPS. Stört euch nicht bei sovielen Neustarts, bin jede Menge Sachen am testen ;)). Z.B. immer um 03:50 Uhr, da mache ich immer ein Backup.