[Nut-upsuser] UPS heartbeat on battery

Jim Klimov jimklimov+nut at gmail.com
Sat Mar 29 20:40:16 GMT 2025


The problem with computers - they do what you tell them to, not what you
might want them to.

Here your heartbeat.dev literally tells the emulation driver to set
ups.status=OL, wait 300s, set it to OB, wait 300s, repeat.

So NUT reporting that the heartbeat UPS became on-battery 5 minutes after
start means these pieces are doing their job correctly and talking to each
other well.

Jim

On Sat, Mar 29, 2025, 20:26 Dan Langille via Nut-upsuser <
nut-upsuser at alioth-lists.debian.net> wrote:

> I'm using nut-2.8.2 on FreeBSD 14.2 with an Eaton 5PX2200RT
>
> Five minutes after starting nut, I get this message within my ssh session:
>
> UPS heartbeat on battery
>
>
> It is not clear to me why it reports that.
>
> Here is the full output of a restart:
>
> [18:12 gw01 dvl ~] % sudo service nut restart
> Stopping nut.
> Waiting for PIDS: 2553.
> Network UPS Tools - UPS driver controller 2.8.2
> fopen /var/db/nut/dummy-ups-heartbeat.pid: No such file or directory
> fopen /var/db/nut/usbhid-ups-ups04.pid: No such file or directory
> Network UPS Tools - UPS driver controller 2.8.2
> Network UPS Tools - Device simulation and repeater driver 0.19 (2.8.2)
> Network UPS Tools - Generic HID driver 0.53 (2.8.2)
> USB communication driver (libusb 1.0) 0.47
>
> Broadcast Message from root at gw01.int.unixathome.org
>
>         (no tty) at 18:12 UTC...
>
>
> Communications with UPS ups04 lost
>
>
>
> Broadcast Message from root at gw01.int.unixathome.org
>
>         (no tty) at 18:12 UTC...
>
>
> Communications with UPS ups04 lost
>
>
>
> Broadcast Message from root at gw01.int.unixathome.org
>
>         (no tty) at 18:12 UTC...
>
>
> Communications with UPS heartbeat lost
>
>
>
> Broadcast Message from root at gw01.int.unixathome.org
>
>         (no tty) at 18:12 UTC...
>
>
> Communications with UPS heartbeat lost
>
>
> Using subdriver: MGE HID 1.46
> Starting nut.
> Network UPS Tools upsd 2.8.2
> fopen /var/db/nut/upsd.pid: No such file or directory
> Could not find PID file '/var/db/nut/upsd.pid' to see if previous upsd
> instance is already running!
> listening on 127.0.0.1 port 3493
> listening on ::1 port 3493
> listening on 10.55.0.1 port 3493
> listening on 2001:DB8::: port 3493
> Connected to UPS [ups04]: usbhid-ups-ups04
> Connected to UPS [heartbeat]: dummy-ups-heartbeat
> Found 2 UPS defined in ups.conf
>
> Broadcast Message from root at gw01.int.unixathome.org
>
>         (no tty) at 18:12 UTC...
>
>
> Communications with UPS ups04 established
>
>
>
> Broadcast Message from root at gw01.int.unixathome.org
>
>         (no tty) at 18:13 UTC...
>
>
> Communications with UPS heartbeat established
>
>
>
> Broadcast Message from root at gw01.int.unixathome.org
>
>         (no tty) at 18:13 UTC...
>
>
> UPS heartbeat on line power
>
>
>
>
> Broadcast Message from root at gw01.int.unixathome.org
>
>         (no tty) at 18:17 UTC...
>
>
> UPS heartbeat on battery
>
>
> [18:25 gw01 dvl ~] %
>
>
> Is it related by my choices here?
>
>
> [18:32 gw01 dvl /usr/local/etc/nut] % cat heartbeat.dev
> # heartbeat.dev -- 10 minute heartbeat
> ups.status: OL
> TIMER 300
> ups.status: OB
> TIMER 300
>
>
> [18:32 gw01 dvl /usr/local/etc/nut] % cat ups.conf
> maxretry = 3
>
> user = nut
>
>
> [heartbeat]
>   driver = dummy-ups
>   port = heartbeat.dev
>   desc = Watch over NUT
>
> [ups04]
>   driver = usbhid-ups
>   port = auto
>   serial = P0foobar
>   desc = Primary UPS
>
>
> Oh wait, I just searched for "nut heartbeat" and found
> https://alioth-lists.debian.net/pipermail/nut-upsuser/2017-April/010590.html
> where it mentions: "Remember that the are no comments in NUT .dev files."
>
> Let me delete that first line from my file and restart. Same process.
>
> Ideas please?
>
> more files, slightly modified:
>
> [18:53 gw01 dvl /usr/local/etc/nut] % sudo cat upsmon.conf
> # Ansible managed
>
> MONITOR ups04 1 local-monitor secrets master
> MONITOR heartbeat 0 upsmaster secrets2 master
> SHUTDOWNCMD "/sbin/shutdown -h +0"
> POWERDOWNFLAG /etc/killpower
> NOTIFYCMD /usr/local/pkg/nut/nut_email.php
> NOTIFYCMD /usr/local/sbin/upssched
> NOTIFYCMD ONLINE   SYSLOG+WALL+EXEC
> NOTIFYCMD ONBATT   SYSLOG+WALL+EXEC
> NOTIFYCMD LOWBATT  SYSLOG+WALL+EXEC
> NOTIFYCMD FSD      SYSLOG+WALL+EXEC
> NOTIFYCMD COMMOK   SYSLOG+WALL+EXEC
> NOTIFYCMD COMMBAD  SYSLOG+WALL+EXEC
> NOTIFYCMD SHUTDOWN SYSLOG+WALL+EXEC
> NOTIFYCMD REPLBATT SYSLOG+WALL+EXEC
> NOTIFYCMD NOCOMM   SYSLOG+WALL+EXEC
> NOTIFYCMD NOPARENT SYSLOG+WALL+EXEC
> DEADTIME 15
> FINALDELAY 60
> HOSTSYNC 15
> MINSUPPLIES 1
> NOCOMMWARNTIME 300
> POLLFREQ 5
> POLLFREQALERT 5
> RBWARNTIME 43200
> RUN_AS_USER nut
>
>
> [18:54 gw01 dvl /usr/local/etc/nut] % sudo cat upssched.conf
> # Ansible managed
>
> # Restart timer which completes only if the dummy-ups heart beat
> # has stopped. See timer values in heartbeat.dev
> # oh wait, that does not exist
> #CMDSCRIPT /usr/local/etc/nut/upssched-cmd
> # Let me try this instead
> CMDSCRIPT /usr/local/bin/upssched-cmd
>
> PIPEFN /var/db/nut/upssched.pipe
> LOCKFN /var/db/nut/upssched.lock
>
> AT ONBATT heartbeat at localhost CANCEL-TIMER heartbeat-failure-timer
> AT ONBATT heartbeat at localhost START-TIMER  heartbeat-failure-timer 660
>
>
>
> --
>   Dan Langille
>   dan at langille.org
>
> _______________________________________________
> Nut-upsuser mailing list
> Nut-upsuser at alioth-lists.debian.net
> https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/nut-upsuser
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/nut-upsuser/attachments/20250329/5643594f/attachment-0001.htm>


More information about the Nut-upsuser mailing list