Start und Kontrolle von vzlogger

Mir ist von ein paar Tagen an einer remote Side der vzlogger gestorben. Da ich dies erst heute bemerkt habe, fehlen mir die Daten der letzten 4 Tage 🙁 Daher habe ich die Start/Stop Scripte und den Trigger für vzlogger etwas überarbeitet. Mit den neuen Skripten wird in regelmäßigen Abständen geprüft, ob der vzlogger noch läuft und gegebenenfalls nachgestartet.

1. Initial Start nach Power on und Reboot

Wenn ich den Raspberry (re-) starte, werden die Init Skripte der jeweiligen Runlevel durchlaufen. Per Default startet der Raspy in Runlevel 2. Checken kann man das mit dem Programm runlevel (no na ned)

In /etc/init.d habe ich das Initial Skript (vzlogger_init.sh). Im Header des Skripts kann man die Abhängigkeiten beim Start festlegen.

Was mache ich in dem Skript. Als erstes wird das Interface meines USB Lesekopf von Udo auf die jeweiligen Default Werte zurückgesetzt. Dann werden die Werte für meinen Landis&Gyr gesetzt (300,7,1,even). Als letztes starte ich den vzlogger mit meiner Konfig. Nach dem Erstellen des Startskripts muss man noch die Abhängigkeiten des Skripts checken.

Dies legt dann noch den erforderlichen Link unter /etc/rc2.d an.

2. Schnittstelle triggern

Als nächstes muss man dem USB Kopf noch sagen, dass er den Stromzähler dazu bewegen muss, Infos  auszugeben 😉 In meinem Fall durch Senden von “/?!“ Dafür gibt es wiederum ein Skript  (/opt/vzlogger/trigger.sh). Mit pgrep checke ich ob der vzlogger noch läuft, wenn ja wird das Interface nur angeregt. Wenn vzlogger nicht läuft, wird dieser zuerst gestartet und dann das Interface angeregt.

Ich lese den Stromzähler jede Minute aus, dafür gibt es einen Eintrag im Crontab File

Nun sollten keine zeitliche Löcher mehr in der Datenbank vorkommen.