Automatische Scriptausführung klappt nicht

Das Langzeitarchiv für HomeMatic

Moderator: Co-Administratoren

Antworten
BitMac
Beiträge: 186
Registriert: 27.11.2015, 09:51
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 1 Mal
Danksagung erhalten: 8 Mal

Automatische Scriptausführung klappt nicht

Beitrag von BitMac » 29.08.2023, 21:55

Da ich den Dutycyle nur für eventuelle Fehlerfälle mitlogge, möchte ich gerne alle Werte älter als 30Tage löschen.
Jede Nacht sollen alle Werte gelöscht werden, die älter sind.
Ich habe mir folgendes Script für die config zurecht gebastelt, so wie ich es verstanden habe.
Aber irgendetwas habe ich falsch verstanden.
Jedenfalls kann ich den Historian überhaupt nicht mehr aufrufen, wenn folgendes Script in der config ist:

Code: Alles auswählen

// Dutycyle nur die letzten 30 Tage aufbewahren
database.tasks.cut_dutycyle.enable=true
database.tasks.cut_dutycyle.cron="0 1 * * *"
database.tasks.cut_dutycyle.script={
def daysToKeep = 30
def dpID= 546
def deleteDate=new Date()-daysToKeep
def dp=database.getDataPoint(dpID)
def cnt
cnt=database.deleteTimeSeries(dp, null, deleteDate)
}
Wo steckt der Fehler ?
In der Scriptumgebung als TestRun funktioniert es.

Gruß
Andreas

Mathias
Beiträge: 1796
Registriert: 03.11.2010, 10:25
System: CCU
Wohnort: Aachen
Hat sich bedankt: 58 Mal
Danksagung erhalten: 262 Mal
Kontaktdaten:

Re: Automatische Scriptausführung klappt nicht

Beitrag von Mathias » 30.08.2023, 07:36

Der Cron-Ausdruck stimmt nicht (siehe Handbuch oder die ausführliche Beschreibung).

Folgendes müsste funktionieren, wenn um 01:00 Uhr die Bereinigung ausgeführt werden soll:

Code: Alles auswählen

database.tasks.cut_dutycyle.cron="0 0 1 * * ?"


BitMac
Beiträge: 186
Registriert: 27.11.2015, 09:51
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 1 Mal
Danksagung erhalten: 8 Mal

Re: Automatische Scriptausführung klappt nicht

Beitrag von BitMac » 01.09.2023, 07:51

Mathias hat geschrieben:
30.08.2023, 07:36
Der Cron-Ausdruck stimmt nicht (siehe Handbuch oder die ausführliche Beschreibung).

Folgendes müsste funktionieren, wenn um 01:00 Uhr die Bereinigung ausgeführt werden soll:

Code: Alles auswählen

database.tasks.cut_dutycyle.cron="0 0 1 * * ?"
Danke, das war's.
Es gibt auch Online-Cron-Generatoren die spucken kein Fragezeichen aus.
Das war aber nötig.
Nach der Änderung in der Config mußte ich trotzdem im Terminal "monit restart ccu-historian" ausführen,
Sonst war die Seite des Historian nicht mehr erreichbar.
Gehört das so ?

Gruß
Andreas

Mathias
Beiträge: 1796
Registriert: 03.11.2010, 10:25
System: CCU
Wohnort: Aachen
Hat sich bedankt: 58 Mal
Danksagung erhalten: 262 Mal
Kontaktdaten:

Re: Automatische Scriptausführung klappt nicht

Beitrag von Mathias » 01.09.2023, 12:24

Wenn ein Fehler in der Konfigurationsdatei existiert, startet der CCU-Historian alle 30 Sekunden neu, bis der Fehler behoben worden ist.

Antworten

Zurück zu „CCU-Historian“