Archivdaten werden nicht mehr gelöscht

Hallo ich hofe mir kann wehr weiterhelfen seit kurzen werden meine Daten im Archiv nicht mehr automatisch gelöscht:

 <?
/*****
*
* Archive Handler Cleanen
*
* Dieses Skript hält die Datenbank sauber. Hier werden die Daten in der Datenbank auf
* den jeweiligen Tageszeitraum beschänkt. Sodass die Datenbank nicht zugemüllt wird mit Daten die
* eh nicht lange geloggt werden sollen.
* Es wird bis zu einem Jahr zurückgegangen zum löschen!
*
*
*
*       Bitte diesem Skript ein Ereignis zuweisen. 1 mal am Tag!
*****/

// ID des Archivhandlers eingeben
$archiveID = 43615 /*[Archiv]*/ ;
$zeitraum = GetValueString(57874 /*[skribt\Auto Logdaten Löschen\UHR\Zeitraum]*/ );

// $GV=GeloggteVariable; [x][0] = ID der geloggten Variable; [x][1]= Dauer verbleibenden Daten in Tagen
$GV[0][0]= 52801 /*[Adressen\Heizung nicht sichtbar\Bad Heizen Status\Bad Heizen Status]*/ ; $GV[0][1]= $zeitraum;
$GV[1][0]= 56461 /*[Adressen\Heizung nicht sichtbar\Bad Ist Temperatur\Bad Temperatur IST]*/ ; $GV[1][1]= $zeitraum;
$GV[2][0]= 15312 /*[Adressen\Heizung nicht sichtbar\Kind Heizen Status\Kind Heizen Status]*/ ; $GV[2][1]= $zeitraum;
$GV[3][0]= 46621 /*[Adressen\Heizung nicht sichtbar\Kind Ist Temperatur\Kind Temperatur IST]*/ ; $GV[3][1]= $zeitraum;
$GV[4][0]= 16581 /*[Adressen\Heizung nicht sichtbar\Küche Heizen Status\Küche heizen Status]*/ ; $GV[4][1]= $zeitraum;
$GV[5][0]= 29633 /*[Adressen\Heizung nicht sichtbar\Küche Ist Temperatur\Küche Temperatur IST]*/ ; $GV[5][1]= $zeitraum;
$GV[6][0]= 17913 /*[Adressen\Heizung nicht sichtbar\Schlafen Heizen Status\Schlafen heizen Status]*/ ; $GV[6][1]= $zeitraum;
$GV[7][0]= 57543 /*[Adressen\Heizung nicht sichtbar\Schlafen Ist Temperatur\Schlafen Temperatur IST]*/ ; $GV[7][1]= $zeitraum;
$GV[8][0]= 58559 /*[Adressen\Heizung nicht sichtbar\Vorraum Heizen Status\Vorraum Heizen Status]*/ ; $GV[8][1]= $zeitraum;
$GV[9][0]= 52466 /*[Adressen\Heizung nicht sichtbar\Vorraum Ist Temperatur\Vorraum Temperatur IST]*/ ; $GV[9][1]= $zeitraum;
$GV[10][0]= 52081 /*[Adressen\Heizung nicht sichtbar\Wohnen Heizen Status\Wohnen heizen Status]*/ ; $GV[10][1]= $zeitraum;
$GV[11][0]= 55031 /*[Adressen\Heizung nicht sichtbar\Wohnen Ist Temperatur\Wohnen Temperatur IST]*/ ; $GV[11][1]= $zeitraum;
$GV[12][0]= 11535 /*[Stromzähler\Leistung gesamt\Leistung gesamt]*/ ; $GV[12][1]= $zeitraum
// usw...



If (GetValueBoolean(22970 /*[skribt\Auto Logdaten Löschen\Auto Löschen Ja/nein]*/ ) == true)
{
    for ($i = 0; $i < count($GV); $i++)
    {
       // Zeitraum ab dem gelöscht wird! Von heute bis zum 1 Jahr zurück an wird gelöscht.
       $starttime_del = time()-(365*24*60*60);

        // Gespeicherte Werte, die älter sind als zur Bewertung relevant (bis 21 Tage zurück) aus DB löschen
       $endtime_del = time()-($GV[$i][1]*24*60*60);

AC_DeleteVariableData($archiveID, $GV[$i][0], $starttime_del, $endtime_del);
        $Datum = GetValueString(42343 /*[skribt\Auto Logdaten Löschen\UHR\current_time_datum]*/ );
        $Uhrzeit = GetValueString(42902 /*[skribt\Auto Logdaten Löschen\UHR\current_time_uhrzeit]*/ );
        SetValueString(33636 /*[skribt\Auto Logdaten Löschen\letzte Ausführung]*/  , $Datum." ".$Uhrzeit);
    }
}

?>

Parse error: syntax error, unexpected ‚If‘ (T_IF) in [skribt\Auto Logdaten Löschen\Auto logdaten löschen] on line 38
PHP-Error-Parsing Error: syntax error, unexpected ‚If‘ (T_IF)
Error in Script C:\IP-Symcon\scripts\14688.ips.php on Line 38Abort Processing during Fatal-Error: syntax error, unexpected ‚If‘ (T_IF)
Error in Script C:\IP-Symcon\scripts\14688.ips.php on Line 38

Danke im voraus
lg Stefan

Ist das das originale Script, so wie du es einsetzt?

Dann fehlt hinter…
$GV[12][0]= 11535 /[Stromzähler\Leistung gesamt\Leistung gesamt]/ ; $GV[12][1]= $zeitraum
das Semikolon…
$GV[12][0]= 11535 /[Stromzähler\Leistung gesamt\Leistung gesamt]/ ; $GV[12][1]= $zeitraum;

Danke das war das Broblem das ich das nicht selbst gesehn hab :eek:
oft sieht man den Wald vor lauter Bäumen nicht :wink:

Danke lg Stefan

Danke für’s Rückmelden.

Ich verschiebe das Thema dann mal nach Skripte…

@somm: Magst du mir ein kleines Beispiel machen, das das Problem zeigt? Also welcher Zeitraum ist Problematisch?

paresy

PS: Deinen Doppelpost habe ich gelöscht :wink:

Ich führe das Skript aus es kommt keine Fehlermeldung aber wie mann am Foto sieht werden keine Daten gelöscht solten aber bis auf die letzten 30 Tage gelöscht werden.

Sind die Daten denn wirklich da, oder ist vielleicht nur die Anzeige „erster Datenwert“ falsch?

paresy

Die Daten sind leider wirklich noch bis zum 01.01.2016 vorhanden.
Aufgefallen ist mir noch das wenn ich im Archiv manuel was lösche werden die Daten wirklich entfernt und nur das Datum vom ersten Wert stimmt nicht mehr aber Automatisch per skript geht nicht

Gibt es zufällig schon was neues betreff meines Problems bzw. hat wer das selbe?

Stefan

Kann ich bestätigen. Löschen größerer Zeiträume funktioniert nicht. Mach mal einen offiziellen Bug-Report unter 4.0 dazu auf.
Gruß,
Peter

Wert ich gleich mal machen aber gut zu wissen das nicht nur ich das Problem hab.

@somm

Triggerst du das Script mit jeder Aktualisierung der geloggten Werte?
Das ist Bedingung für eine kontinuierliche Löschung.
AC_DeleteVariableData löscht nur die Werte im Zeitraum der vorgegebenen Daten (Unix-Timestamp).
Wenn zwischendurch nichts war, bzw. das Script mal längere Pause hatte dann kann das sein, das Daten stehen bleiben, die nicht einbegriffen waren beim Restart.
Dann bleibt tatsächlich nur manuelle Anpassung / Löschung.

weis gerade nicht genau was du meinst :confused: bin leider nicht gearde ein Experte
mein Skript wird jeden Tag um 24Uhr automatisch ausgeführt mit IPS 3.4 ging das auch imer sehr gut erst seit 4.0 nicht mehr

Dann ist das eine Änderung zur V4… ich denke das Thema war schon mal, aber mir war nicht bewusst, dass du die V4 schon im Einsatz hast.
Ich sehe gerade, dass alle Themen von V3 im Forum zu V4 gewandelt sind… Mahlzeit, dann bin ich erstmal raus :eek::mad:

Das ist bestimmt ein Fehler. Werde mich darum kümmern.

paresy