<!DOCTYPE html><html><head><title></title><style type="text/css">p.MsoNormal,p.MsoNoSpacing{margin:0}</style></head><body><div>On Mon, Mar 31, 2025, at 8:40 AM, Jim Klimov wrote:<br></div><blockquote type="cite" id="qt" style=""><div dir="ltr"><div>Thinking of it, there was a change to handling of files by dummy-ups around 2.8.0 release: depending on an explicit setting or a file extension:<br></div><div><br></div><div>> Specify mode instead of guessing it from port value (dummy = dummy-loop, dummy-once, repeater) : -x mode=<value><br></div><div><br></div><div>As the man page goes, by default "*.dev"=>"dummy-once" (emulate a device snapshot, so once to the end of file and stop) and "*.seq"=>"dummy-loop" (run a device behavior sequence, so looping).<br></div><div><br></div><div>Jim<br></div></div></blockquote><div><br></div><div>The man page in question: <a href="https://networkupstools.org/docs/man/dummy-ups.html">https://networkupstools.org/docs/man/dummy-ups.html</a><br></div><div><br></div><div>Found there: "and dummy is assigned by default to files with other naming patterns that the driver could not classify."<br></div><div><br></div><div>I changed my configuration to use heartbeat.seq instead. Seems to work fine.<br></div><div><br></div><div>My next goal: testing the time out. That, so far, has been unsuccessful. The on-battery <br></div><div><br></div><div>The upssched has a timer of 120, just so it times out faster. I've tried other values.<br></div><div><br></div><div>/usr/local/bin/upssched-cmd-local should get invoked - it is not. It logs; no logs are seen. Running it from the command line invokes the expected log entries and sends a notification to my phone via Pushover.net<br></div><div><br></div><div>Config:</div><div><br></div><div>[16:07 gw01 dvl /usr/local/etc/nut] % sudo cat upssched.conf<br></div><div>CMDSCRIPT /usr/local/bin/upssched-cmd-local<br style="max-width:100%;height:auto;"></div><div><br style="max-width:100%;height:auto;"></div><div>PIPEFN /var/db/nut/upssched.pipe<br style="max-width:100%;height:auto;"></div><div>LOCKFN /var/db/nut/upssched.lock<br style="max-width:100%;height:auto;"></div><div><br style="max-width:100%;height:auto;"></div><div>AT ONBATT local-heartbeat CANCEL-TIMER heartbeat-failure-timer<br style="max-width:100%;height:auto;"></div><div>AT ONBATT local-heartbeat START-TIMER  heartbeat-failure-timer 120<br></div><div><br></div><div>^ that never invokes the CMDSCRIPT shown above. That is what I am attempting to test now.<br></div><div><br></div><div><br></div><div>The UPS config:<br></div><div><br></div><div>[16:25 gw01 dvl /usr/local/etc/nut] % sudo cat ups.conf<br style="max-width:100%;height:auto;"></div><div>maxretry = 3<br style="max-width:100%;height:auto;"></div><div>user = nut<br></div><div><br></div><div>[heartbeat]<br style="max-width:100%;height:auto;"></div><div>  driver = dummy-ups<br style="max-width:100%;height:auto;"></div><div>  port = heartbeat.seq<br style="max-width:100%;height:auto;"></div><div>  desc = Watch over NUT<br style="max-width:100%;height:auto;"></div><div><br style="max-width:100%;height:auto;"></div><div>[ups04]<br style="max-width:100%;height:auto;"></div><div>  driver = usbhid-ups<br style="max-width:100%;height:auto;"></div><div>  port = auto<br style="max-width:100%;height:auto;"></div><div>  serial = [redacted]<br style="max-width:100%;height:auto;"></div><div>  desc = Primary UPS<br style="max-width:100%;height:auto;"></div><div><br></div><div>Heartbeat config:</div><div><br></div><div>[16:26 gw01 dvl /usr/local/etc/nut] % cat heartbeat.seq <br></div><div>ups.status: OL<br style="max-width:100%;height:auto;"></div><div>TIMER 300<br style="max-width:100%;height:auto;"></div><div>ups.status: OB<br style="max-width:100%;height:auto;"></div><div>TIMER 300<br></div><div><br></div><div>Thank you</div><div><br></div><div id="sig65064480"><div class="signature">--<br></div><div class="signature">  Dan Langille<br></div><div class="signature">  dan@langille.org<br></div><div class="signature"><br></div></div><div><br></div></body></html>