Hallo,
ich benutze die log/fhem.save um damit den Hardware-Watchdog meines Systems zu triggern und so fhem zu überwachen. Dazu wird alle zwei Stunden von perl aus der Befehl fhem('save') aufgerufen. Ist die fhem.save - Datei älter als 2 h, weiß das System, das etwas mit fhem nicht mehr stimmt und das ganze System wird neu gebootet. Das funktioniert jetzt seit mehr als 2 Jahren fehlerfrei.
Seit mehreren Tagen bootet nun aber das System alle 2 Stunden neu. Im log des watchdog steht auch drin, das die Datei älter als 2 h ist.
Folgendes habe ich herausgefunden:
1. Wenn ich in die Kommandozeile "save" eingebe, so ändert sich der Zeitstempel der fhem.save - Datei.
2. Wenn ich in die Kommandozeile, so wie es auch von perl aufgerufen wird, "{fhem('save')}" eingebe, so ändert sich der Zeitstempel seit einigen Tagen nicht mehr, so als würde die Datei nicht geschrieben werden.
Wurde da in der fhem.pl in den letzten Tagen etwas umgestellt?
Elektrolurch
Setze mal:
attr global autosave 1
Rudi hatte da letztens was mit CommandSave verändert.
Gruß
Dan
Hallo Dan,
attr global autosave 1
wars wohl, denn
{fhem('save')}
gibt jetzt auch wieder auf dem Screen Wrote configuration to fhem.cfg
aus und das Datum der Datei hat sich geändert.
Danke.
Elektrolurch
Müsste Rudi dann bloß noch in der commandref gerade ziehen.
Default scheint ja nun 0 zu sein.
Gruß
Dan
default scheint 0 zu sein. Setzt man autosave auf 1, so ist es nach einem Neustart wider auf 0!!"!!
Außerdem verstehe ich die Funktion von autosave nicht:
Warum geht das Kommando 'save' nicht mehr aus einem perl-Skript heraus, wenn autosave auf 0 steht?
Wäre erklärungswürdig.
Na ja, habe einen work-around im perl-Skript gebastelt, damit die fhem-Überwachung weiterhin funktioniert:
fhem('attr global autosave 1');
fhem('save');
...
Elektrolurch