APC BackUps ES-500 - Linksys EA3500 - LuCI graphs

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.

  • Plug in UPS, and connect the cable from the UPS to the router USB port. This is a custom cable that comes with the UPS.
  • in the router command line or LuCI web pages, install packages: apcupsd, collectd-mod-apcups and kmod-usb-hid
  • for command line, the commands are:
    opkg update
    opkg install kmod-usb-hid
    opkg install apcupsd
    opkg install collectd-mod-apcups
  • On the router command line, verify that the USB HID driver is installed and working with command and response:
    # ls -la /dev/usb
    crw-------    1 root     root      180,  96 Jul 13 14:34 hiddev0
  • If you don't see a line for hiddev#, then something is wrong with the install of kmod-usb-hid.
  • Resolve this, before proceeding.
  • The next step is to customize the apcupsd config file.
  • Details of the options can be found at http://www.apcupsd.org/manual/manual.html, in the section “Configuration Directive Reference”.
  • On the router command line, go to the /etc/apcupsd directory, and edit it
    # cd /etc/apcupsd
    # vi
  • use the dd command to delete all the lines in the file
  • use the i command to set the VI editor into “insert” mode.
  • Copy and paste this text into the editor:
    ## apcupsd.conf v1.1 ##
    UPSNAME myups
    UPSCABLE usb
    UPSTYPE usb
    DEVICE /dev/usb/hid/hiddev[0-15]
    LOCKFILE /var/lock
    ANNOY 300
    NOLOGON disable
    NISPORT 3551
    EVENTSFILE /var/log/apcupsd.events
    # max kilobytes
    UPSCLASS standalone
    UPSMODE disable
    # ===== Configuration statements to control apcupsd system logging ========
    # Time interval in seconds between writing the STATUS file; 0 disables
    # 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.
  • type :wq into the editor, to write the new apcupsd.conf, and quit the edit session
  • restart the apcupsd deamon process:
    # /etc/init.d apcupsd restart
  • Enter the apcaccess command into the command line, and you should get output like this:
    # 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 
  • Note the STATUS : ONLINE
  • If you don't have “ONLINE”, then something is wrong
  • Restart the LuCI statistics data collection:
    # /etc/init.d/luci_statistics restart
  • In the router web interface, go to Statistics, Graphs, APC UPS
  • You should see the graphs, with data starting on the right side.
  • If not, wait a minute, refresh your browser and you should start to see data being written.

If you don't have APC UPS graphs at this point, here are some things to check:

  • There should be a tab for APC UPS on the General Plugins page at:
  • /var/etc/collectd.conf should have a section for apcups:
    LoadPlugin apcups
     <Plugin apcups>
      Host localhost
      Port "3551"

    If it does not, you can regenerate /var/etc/collectd.conf with this command:

    /usr/bin/stat-genconfig > /var/etc/collectd.conf
  • If you still don't have APC UPS graphs, you may not have the patches that added luci-statistics support for the apcups plugin: https://github.com/openwrt/luci/pull/1227. The best fix for this is to upgrade to a version that does.
This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies
  • Last modified: 2020/09/20 20:19
  • by vgaetera