I think the issue is at apcupsd level or lower. To rule-out collectd and statistics, I wrote an apcaccess datalogger script to follow the line Voltage (and variations):
/19:59, new value: 124 ----------------------------------------------------------------------------/21:18, new value: 125 ----------------------------
where "-", "/", or "\" represent the continuity or change for the last period (minute). During this run, it only recorded 1 variation for the ongoing 100minutes or so.
Because the release image for my mt76x8 didn't include USB drivers, I installed it guided by wiki and tutorials. i.e.
root@SVdP2:~# opkg list-installed | grep usb
kmod-usb-core - 5.10.161-1
kmod-usb-hid - 5.10.161-1
kmod-usb-ohci - 5.10.161-1
libusb-1.0-0 - 1.0.24-5
libusb-compat4 - 0.1.7-2
usbutils - 014-1
root@SVdP2:~# opkg list-installed | grep ups
apcupsd - 3.14.14-3
apcupsd-cgi - 3.14.14-3
collectd-mod-apcups - 5.12.0-33
Which as we know stablish the connection:
root@SVdP2:~# ls -l /dev/usb
crw------- 1 root root 180, 96 Mar 31 11:47 hiddev0
root@SVdP2:~# dmesg |grep usb
[ 17.664485] usbcore: registered new interface driver usbfs
[ 17.670153] usbcore: registered new interface driver hub
[ 17.675741] usbcore: registered new device driver usb
[ 18.054068] phy phy-10120000.usbphy.0: remote usb device wakeup disabled
[ 18.060877] phy phy-10120000.usbphy.0: UTMI 16bit 30MHz
[ 18.611262] usb 1-1: new low-speed USB device number 2 using ohci-platform
[ 18.807087] usbcore: registered new interface driver usbhid
[ 18.812754] usbhid: USB HID core driver
[ 19.356641] hid-generic 0003:051D:0002.0001: hiddev96,hidraw0: USB HID v1.10 Device [APC Back-UPS ES 550 FW:843.K1 .D USB FW:K1 ] on usb-101c1000.ohci-1/input0
root@SVdP2:~# lsusb
Bus 001 Device 002: ID 051d:0002 APC Back-UPS ES 550 FW:843.K1 .D USB FW:K1
Bus 001 Device 001: ID 1d6b:0001 Linux 5.10.161 ohci_hcd Generic Platform OHCI controller
root@SVdP2:~# lsusb -t
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ohci-platform/1p, 12M
|__ Port 1: Dev 2, If 0, Class=, Driver=usbhid, 1.5M
root@SVdP2:/# cat /sys/kernel/debug/usb/devices
T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 1
B: Alloc= 13/900 us ( 1%), #Int= 1, #Iso= 0
D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=1d6b ProdID=0001 Rev= 5.10
S: Manufacturer=Linux 5.10.161 ohci_hcd
S: Product=Generic Platform OHCI controller
S: SerialNumber=101c1000.ohci
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 2 Ivl=255ms
T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=1.5 MxCh= 0
D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=051d ProdID=0002 Rev= 1.06
S: Manufacturer=APC
S: Product=Back-UPS ES 550 FW:843.K1 .D USB FW:K1
S: SerialNumber=3B1805X62100
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 2mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=00 Driver=usbhid
E: Ad=81(I) Atr=03(Int.) MxPS= 6 Ivl=10ms
root@SVdP2:~# /etc/init.d/apcupsd stop
root@SVdP2:~# apctest
2023-03-31 21:02:41 apctest 3.14.14 (31 May 2016) unknown
Checking configuration ...
sharenet.type = Network & ShareUPS Disabled
cable.type = USB Cable
mode.type = USB UPS Driver
Setting up the port ...
Doing prep_device() ...
You are using a USB cable type, so I'm entering USB test mode
Hello, this is the apcupsd Cable Test program.
This part of apctest is for testing USB UPSes.
Getting UPS capabilities...SUCCESS
Please select the function you want to perform.
1) Test kill UPS power
2) Perform self-test
3) Read last self-test result
4) View/Change battery date
5) View manufacturing date
6) View/Change alarm behavior
7) View/Change sensitivity
8) View/Change low transfer voltage
9) View/Change high transfer voltage
10) Perform battery calibration
11) Test alarm
12) View/Change self-test interval
Q) Quit
Select function number: q
2023-03-31 21:03:40 End apctest.
root@SVdP2:~# /etc/init.d/apcupsd start
Just in case, I forced the DEVICE to /dev/usb/hiddev0, but it doesn't make difference.
As expected, if I unplug and plug the USB cable, the values are updated, but then seldom changes, unless there is an event, for which the UPS push the update.