This describes how to connect an APC BackUps ES-500 via the USB port on a Linksys EA3500 router. This includes collecting the data, and displaying graphs. This page is closely related to APC SmartUps SU-700 - Linksys EA3500 - LuCI graphs, which is worth reviewing as well, especially if you run into difficulties.
Note that the collected data will be lost after a reboot of the router. To save the data, you need to put it on an external device, like a USB flash drive. Connecting both the UPS and a flash drive to a USB hub, which is then connected to the router, works fine for me.
opkg update opkg install kmod-usb-hid opkg install apcupsd opkg install collectd-mod-apcups
# ls -la /dev/usb crw------- 1 root root 180, 96 Jul 13 14:34 hiddev0
# cd /etc/apcupsd # vi
## apcupsd.conf v1.1 ## UPSNAME myups UPSCABLE usb UPSTYPE usb DEVICE /dev/usb/hid/hiddev[0-15] LOCKFILE /var/lock ONBATTERYDELAY 6 BATTERYLEVEL 5 MINUTES 3 TIMEOUT 0 ANNOY 300 ANNOYDELAY 60 NOLOGON disable KILLDELAY 0 NETSERVER on NISIP 0.0.0.0 NISPORT 3551 EVENTSFILE /var/log/apcupsd.events # max kilobytes EVENTSFILEMAX 10 UPSCLASS standalone UPSMODE disable # ===== Configuration statements to control apcupsd system logging ======== # Time interval in seconds between writing the STATUS file; 0 disables STATTIME 0 # Location of STATUS file (written to only if STATTIME is non-zero) STATFILE /var/log/apcupsd.status LOGSTATS off # Time interval in seconds between writing the DATA records to # the log file. 0 disables. DATATIME 0
# /etc/init.d apcupsd restart
# apcaccess root@g70outside:~# apcaccess APC : 001,034,0829 DATE : 2017-07-15 12:29:26 -0700 HOSTNAME : myrouter VERSION : 3.14.14 (31 May 2016) unknown UPSNAME : myups CABLE : USB Cable DRIVER : USB UPS Driver UPSMODE : Stand Alone STARTTIME: 2017-07-13 14:34:46 -0700 MODEL : Back-UPS ES 500 STATUS : ONLINE ...
# /etc/init.d/luci_statistics restart
If you don't have APC UPS graphs at this point, here are some things to check:
http://192.168.1.1:88/cgi-bin/luci/admin/statistics/collectd/general
LoadPlugin apcups <Plugin apcups> Host localhost Port "3551" </Plugin>
If it does not, you can regenerate /var/etc/collectd.conf with this command:
/usr/bin/stat-genconfig > /var/etc/collectd.conf