Yeh I have this problem that I’ve never managed to resolve, I use a Node-RED process to act as a watchdog that restarts the emonhub service and provide a push notification to my phone via Pushover.
Occasionally the Pi will crash and a reboot through SSH is required.
[{"id":"6aa2920b.c3bf1c","type":"pushover","z":"a04f2145.9774e","name":"Pushover","device":"","title":"Node-RED","priority":0,"sound":"pushover","url":"","url_title":"","x":701.6666259765625,"y":112.72606658935547,"wires":[]},{"id":"6537f6d3.5367a","type":"mqtt in","z":"a04f2145.9774e","name":"Watchdog","topic":"emon/emonpi/TotalGeneration","qos":"2","broker":"a06667e4.71e22","x":161.05929565429688,"y":184.6666717529297,"wires":[["ff9a4262.3eeff8","49eed869.a4cde"]]},{"id":"ff9a4262.3eeff8","type":"trigger","z":"a04f2145.9774e","op1":"","op2":"The Loft EmonPi has stopped updating!","op1type":"nul","op2type":"str","duration":"60","extend":true,"units":"s","reset":"","name":"Wait 60 Secs","x":337.5592803955078,"y":167.66667938232422,"wires":[["34fb4e6a.391dfa","656d6ec9.ca9e68"]]},{"id":"34fb4e6a.391dfa","type":"delay","z":"a04f2145.9774e","name":"5 Sec Delay","pauseType":"delay","timeout":"5","timeoutUnits":"seconds","rate":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":336.30926513671875,"y":209.1666717529297,"wires":[["ff9a4262.3eeff8"]]},{"id":"656d6ec9.ca9e68","type":"delay","z":"a04f2145.9774e","name":"Limit Messages","pauseType":"rate","timeout":"5","timeoutUnits":"seconds","rate":"1","rateUnits":"minute","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":true,"x":520.8449401855469,"y":166.70237731933594,"wires":[["6aa2920b.c3bf1c","41694f41.85cbf"]]},{"id":"204a4fc.3e4a63","type":"comment","z":"a04f2145.9774e","name":"Emoncms Watchdog","info":"","x":280.55926513671875,"y":96.66666412353516,"wires":[]},{"id":"41694f41.85cbf","type":"exec","z":"a04f2145.9774e","command":"sudo service emonhub restart","addpay":true,"append":"","useSpawn":"","name":"Reset emonHub","x":721.8925476074219,"y":171.6072235107422,"wires":[[],[],[]]},{"id":"49eed869.a4cde","type":"trigger","z":"a04f2145.9774e","op1":"","op2":"The Loft EmonPi has crashed!","op1type":"nul","op2type":"str","duration":"5","extend":true,"units":"min","reset":"","name":"Wait 5 Mins","x":515.3450622558594,"y":202.2380828857422,"wires":[["a4c3e255.cceea","6aa2920b.c3bf1c","97b74d10.d3c178"]]},{"id":"a4c3e255.cceea","type":"delay","z":"a04f2145.9774e","name":"5 Sec Delay","pauseType":"delay","timeout":"5","timeoutUnits":"seconds","rate":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":515.0236206054688,"y":237.1310272216797,"wires":[["49eed869.a4cde"]]},{"id":"97b74d10.d3c178","type":"exec","z":"a04f2145.9774e","command":"sudo reboot","addpay":true,"append":"","useSpawn":"","timer":"","name":"Reboot","x":701.475830078125,"y":220.9882049560547,"wires":[[],[],[]]},{"id":"a06667e4.71e22","type":"mqtt-broker","z":"","broker":"127.0.0.1","port":"1883","clientid":"","usetls":false,"compatmode":true,"keepalive":"15","cleansession":true,"willTopic":"","willQos":"0","willPayload":"","birthTopic":"","birthQos":"0","birthPayload":""}]
Regards
Dave