--- title: apcupsd description: Instructions on how to integrate apcupsd status with Home Assistant. logo: apcupsd.png ha_category: - System Monitor - Binary Sensor - Sensor ha_release: 0.13 ha_iot_class: Local Polling ha_domain: apcupsd --- [Apcupsd](http://www.apcupsd.org/) status information can be integrated into Home Assistant when the Network Information Server (NIS) [is configured](http://www.apcupsd.org/manual/manual.html#nis-server-client-configuration-using-the-net-driver) on the APC device. There is currently support for the following device types within Home Assistant: - [Binary Sensor](#binary-sensor) - [Sensor](#sensor) ## Home Assistant add-on installation Install this [unofficial add-on](https://github.com/korylprince/hassio-apcupsd/) to use this integration with Home Assistant. Keep in mind that we can't give you support for this add-on. After installation, follow the instructions on the GitHub page to configure the plugin. Then continue to follow the integration configurations below. ## Configuration To enable this sensor, add the following lines to your `configuration.yaml`: ```yaml # Example configuration.yaml entry apcupsd: ``` {% configuration %} host: description: The hostname/IP address on which the apcupsd NIS is being served. required: false type: string default: localhost port: description: The port on which the apcupsd NIS is listening. required: false type: integer default: 3551 {% endconfiguration %}
If you get `ConnectionRefusedError: Connection refused` errors in the Home Assistant logs, ensure the [Apcupsd](http://www.apcupsd.org/) configuration directives used by its Network Information Server is set to permit connections from all addresses [NISIP 0.0.0.0](http://www.apcupsd.org/manual/manual.html#configuration-directives-used-by-the-network-information-server), else non-local addresses will not connect.
## Binary sensor In addition to the [Apcupsd Sensor](#sensor) devices, you may also create a device which is simply "on" when the UPS status is online and "off" at all other times. ### Configuration To enable this sensor, you first have to set up apcupsd integration (above), and add the following lines to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry binary_sensor: - platform: apcupsd ``` {% configuration %} name: description: Name to use in the frontend. required: false type: string default: UPS Online Status {% endconfiguration %} ## Sensor The `apcupsd` sensor platform allows you to monitor a UPS (battery backup) by using data from the [apcaccess](https://linux.die.net/man/8/apcaccess) command. ### Configuration To use this sensor platform, you first have to set up apcupsd integration (above), and add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry sensor: - platform: apcupsd resources: - bcharge - linev ``` {% configuration %} resources: description: Contains all entries to display. required: true type: list {% endconfiguration %} ### Example Given the following output from `apcaccess`: ```yaml APC : 001,051,1149 DATE : 2016-02-09 17:13:31 +0000 HOSTNAME : localhost VERSION : 3.14.12 (29 March 2014) redhat UPSNAME : netrack CABLE : Custom Cable Smart DRIVER : APC Smart UPS (any) UPSMODE : Stand Alone STARTTIME: 2016-02-09 16:06:47 +0000 MODEL : SMART-UPS 1400 STATUS : TRIM ONLINE LINEV : 247.0 Volts LOADPCT : 13.0 Percent BCHARGE : 100.0 Percent TIMELEFT : 104.0 Minutes MBATTCHG : 5 Percent MINTIMEL : 3 Minutes MAXTIME : 0 Seconds MAXLINEV : 249.6 Volts MINLINEV : 244.4 Volts OUTPUTV : 218.4 Volts [...] ``` Use the values from the left hand column (lower case required). Full Example Configuration: ```yaml sensor: - platform: apcupsd resources: - apc - date - hostname - version - upsname - cable - driver - upsmode - starttime - model - status - linev - loadpct - bcharge - timeleft - mbattchg - mintimel - maxtime - maxlinev - minlinev - outputv ```