- The raspberry pi was not running anymore.
- The Internet connection was down.
For the second problem I don’t have a solution yet. For the not running raspberry pi there might be one:
The internal watchdog of the raspberry pi. It can be activated by loading the module, making sure it gets reloaded after a restart and installing the triggering software.
$ sudo modprobe bcm2708_wdog $ echo "bcm2708_wdog" | sudo tee -a /etc/modules $ sudo apt-get install watchdog
Configuration happens in the file
by uncommenting the following lines:
watchdog-device = /dev/watchdog max-load-1 = 24
This is a very basic configuration and it will restart the raspberry pi in case the load is above 24 for a 1 minute interval.
Activation of the demon can be done like this:
$ sudo service watchdog start
Specific in my case is the additional option to check whether the file, that was not working as mentioned above, is written to on a regular basis. This can be achieved by adding the following lines in the configuration:
file = /data/solar/solar.touch.start change = 300 file = /data/solar/solar.touch.end change = 600
Each “file” entry specifies a file that will be checked by the watchdog whether it’s been touched and the “change” entry specifies the time that the file can stay untouched before the watchdog will not be triggered any more and by that lead to a system reset. The first file is touched at the start of the script, the second one at the end. So in case the script for updating the yield data is not called any more the system will be reset after 5 minutes. If the script is started, but does not finish properly it’ll be reset after 10 minutes.
Time will tell how reliable the watchdog is.