Random low battery alarm and apparent Cerbo GX reboot

Hi,

I have a MultiPlus II (48/10000/140-100/100) with Cerbo GX and a Fogstar 32kWh battery running an ESS system.

It’s been running for 2 weeks today without issue.

I noticed when I opened the dashboard this morning that there was an alarm - a “Low battery voltage” alarm from last night.

I can’t work out why though.

SoC was 62% at the time, there was no heavy load (there was an ~80A load for 10 mins a bit before - but that was turned off 20 mins prior to the alarm time).

I actually did a test last week where I drained the battery all the way down to 10% SoC to test what would happen and it worked fine with no voltage alarms or anything.

It shows the alarm cleared after 9s, so it wasn’t a persistent thing and it seems to have continued on as normal after that.

Looking at my data in Home Assistant, I can see the battery voltage looks fine and was over 52v. However, there is a gap in the data from 22:47 to 22:51 (the alarm time shows as 22:50).

It looks like the Cerbo GX rebooted? -

Screenshot 2026-06-17 at 08.44.51

The Cerbo power is connected to the DC bus with the Multiplus and battery via a Lynx Distributor.

Is there any more logging to find out the sequence of events or why that might have happened or reason for a restart?

Is it possible the low battery voltage alarm is erroneous and just a side effect of the cerbo being rebooted and not actually a battery voltage issue at all?

As an aside, something else odd is why I wasn’t notified of the alarm. I have “automatic alarm monitoring” set to warnings and alarms and then I have notification settings for my user and when I click test notification I get a push notification on my iPhone and an e-mail - but I got nothing last night. Is that another side effect of the Cerbo rebooting? - as it was seemingly down for a few minutes it couldn’t send the notification and then when it came back the alarm cleared so there was no notification?

Thanks,

Ian

After posting this, I enabled SSH access and looked in the logs…

Jun 16 21:44:57 einstein daemon.err watchdog[431]: loadavg 10 8 7 is higher than the given threshold 0 10 6!
Jun 16 21:44:57 einstein daemon.err watchdog[431]: repair binary /usr/sbin/store_watchdog_error.sh returned 253 = 'load average too high'
Jun 16 21:44:57 einstein daemon.alert watchdog[431]: shutting down the system because of error 253 = 'load average too high'
Jun 16 21:44:57 einstein daemon.err watchdog[9116]: /usr/sbin/sendmail does not exist or is not executable (errno = 2)
Jun 16 21:44:59 einstein syslog.info syslogd exiting
Jun 16 21:49:20 einstein syslog.info syslogd started: BusyBox v1.36.1
Jun 16 21:49:20 einstein kern.notice kernel: klogd started: BusyBox v1.36.1 ()
Jun 16 21:49:20 einstein kern.info kernel: [    0.000000] Booting Linux on physical CPU 0x0
Jun 16 21:49:20 einstein kern.notice kernel: [    0.000000] Linux version 6.12.23-venus-9 (oe-user@oe-host) (arm-ve-linux-gnueabi-gcc (GCC) 13.4.0, GNU ld (GNU Binutils) 2.42.0.20240723) #1 SMP Mon Mar 16 13:41:47 UTC 2026

So it seems the Cerbo rebooted due to high load!

(and I assume the low battery alarm was indeed not real and just some quick sensor oddity as it booted back up?)

The question is - why was the load high?

I’m not doing anything non-standard - I didn’t even have SSH enabled until now, i’m not running NodeRed or anything.

I do have the Home Assistant (“Victron GX”) integration, but that’s using MQTT and the metrics are presumably already being published so that shouldn’t cause any load.

Nothing that I know of was happening at that time.

10 8 7 is presumably the standard 1m/5m/15m load averages and that is pretty high - but right now it’s:

load average: 4.40, 4.71, 3.32

which is high for a 2 core system which shouldn’t be doing much… is that normal?

Any idea what would have caused my high load last night?

Thanks,

Ian

Ah, just spotted this! -

root@einstein:/var/log# ls -la watchdog_processlist.txt
-rw-r--r--    1 root     root         23947 Jun 16 21:44 watchdog_processlist.txt

That’s handy!

Unfortunately it doesn’t really reveal much:

Mem: 597144K used, 431840K free, 17672K shrd, 70400K buff, 196472K cached
CPU:  48% usr  24% sys   0% nic  21% idle   0% io   3% irq   3% sirq
Load average: 10.01 8.47 7.00 2/328 9115
  PID  PPID USER     STAT   VSZ %VSZ %CPU COMMAND
20933   770 root     S     215m  21%  30% /opt/victronenergy/gui-v2/venus-gui-v2
 1687  1685 flashmq  S    48396   5%   3% /usr/bin/flashmq
  769   755 root     S    46800   5%   3% {vrmlogger.py} /usr/bin/python3 -u /opt/victronenergy/vrmlogger/vrmlogger.py
 1721  1719 root     S    34084   3%   3% {vesmart_server.} /usr/bin/python3 -u /opt/victronenergy/vesmart-server/vesmart_server.py -i hci0
  821   818 root     S    29460   3%   3% {dbus_systemcalc} /usr/bin/python3 -u /opt/victronenergy/dbus-systemcalc-py/dbus_systemcalc.py
  809   802 root     S    20700   2%   3% /opt/victronenergy/hub4control/hub4control
 1559  1557 root     R     7932   1%   3% /opt/victronenergy/vecan-dbus/vecan-dbus -c socketcan:vecan0 --banner --log-before 25 --log-after 25 -vv
  544   543 messageb S     3448   0%   3% dbus-daemon --system --nofork
 9115  9114 root     R     2700   0%   3% top -b -n1
  843   830 root     S    88844   9%   0% {dbus-modbus-cli} /usr/bin/python3 -u /opt/victronenergy/dbus-modbus-client/dbus-modbus-client.py

So venus-gui-v2 was using the majority of the CPU.

But if I look at top now, I see similar (higher in fact) CPU usage and the load average isn’t as high as last night:

Mem: 490588K used, 538396K free, 16208K shrd, 10932K buff, 168028K cached
CPU:  42% usr  17% sys   0% nic  33% idle   0% io   3% irq   2% sirq
Load average: 4.74 4.48 3.59 3/288 5981
  PID  PPID USER     STAT   VSZ %VSZ %CPU COMMAND
  817   809 root     S     219m  22%  37% /opt/victronenergy/gui-v2/venus-gui-v2
  877   857 root     S    29320   3%   4% {dbus_systemcalc} /usr/bin/python3 -u /opt/victronenergy/dbus-systemcalc-py/dbus_systemcalc.py
  801   794 root     S    45220   4%   2% {vrmlogger.py} /usr/bin/python3 -u /opt/victronenergy/vrmlogger/vrmlogger.py
  557   555 messageb S     3320   0%   2% dbus-daemon --system --nofork
 2048  1936 flashmq  S    58220   6%   2% /usr/bin/flashmq
 1715  1694 root     S    27832   3%   2% /opt/victronenergy/dbus-cgwacs/dbus-cgwacs /dev/ttyUSB0
 1990  1982 root     S    34056   3%   1% {vesmart_server.} /usr/bin/python3 -u /opt/victronenergy/vesmart-server/vesmart_server.py -i hci0
  845   840 root     S    20696   2%   1% /opt/victronenergy/hub4control/hub4control
  807   796 root     S    37592   4%   1% /opt/victronenergy/venus-platform/venus-platform
 1818   854 www-data S     8932   1%   1% nginx: worker process
  887   883 root     S    22392   2%   1% /opt/victronenergy/dbus-fronius/dbus-fronius
 1685  1591 root     S     3280   0%   1% /opt/victronenergy/mk2-dbus/mk2-dbus --log-before 25 --log-after 25 --banner -w -s /dev/ttyS4 -i -t mk3 --settings /data/var/lib/mk2-dbus/mkxport-ttyS4.settings

…and as I say, this is stock and shouldn’t be doing anything funky so it shouldn’t be getting to the point of high load and rebooting itself in normal operation?

I cant help with the cause for the reboot or high load, but i get these alarms too on some, but not all, reboots. So at least that part seems to be normal.

I think its related to the SOC rather than voltage. The SOC is sent to the VE.Bus system from the GX, so i think on certain boots it first sends a 0% SOC to the VE.Bus before actually having read the Canbus battery. Or something similar.

Thanks! - that’s good to know.

I was worried at first that it was a battery/cabling issue and then when I saw the Cerbo had rebooted that seemed bad, as if something had happened on the DC side, but alas it does seem to be a monitoring side effect rather than an actual issue.

You can change /etc/watchdog.conf