---
layout: page
title: NUT Sensor
description: "Instructions on how to set up NUT sensors within Home Assistant."
date: 2016-11-23
sidebar: true
comments: false
sharing: true
footer: true
logo: nut.png
ha_category: System Monitor
ha_iot_class: "Local Polling"
ha_release: 0.34
---

The `nut` sensor platform allows you to monitor a UPS (battery backup) by using data from a [NUT](http://networkupstools.org/) (Network UPS Tools) server.

To use this sensor platform, you need to add the following to your `configuration.yaml` file:

```yaml
# Example configuration.yaml entry
sensor:
  - platform: nut
    resources:
      - ups.load
      - ups.realpower.nominal
      - input.voltage
      - battery.runtime
```

{% configuration %}
  name:
    description: Name prefix for defined sensors.
    required: false
    default: 'NUT UPS'
    type: string
  host:
    description: The host name or IP address of the device that is running NUT.
    required: false
    default: localhost
    type: string
  port:
    description: The port number.
    required: false
    default: 3493
    type: integer
  alias:
    description: Name of the ups on the NUT server.
    required: false
    default: Will default to the first UPS name listed.
    type: string
  username:
    description: Username to login to the NUT server.
    required: false
    default: none
    type: string
  password:
    description: Password to login to the NUT server.
    required: false
    default: none
    type: string
  resources:
    description: Contains all entries to display.
    required: true
    type: list
{% endconfiguration %}

### {% linkable_title Example %}

Given the following example output from NUT (your variables may differ):

```yaml
$ upsc ups_name@192.168.11.5
ups.timer.reboot: 0
battery.voltage: 27.0
ups.firmware.aux: L3 -P
ups.mfr: American Power Conversion
battery.runtime.low: 120
ups.delay.shutdown: 20
ups.load: 19
ups.realpower.nominal: 600
battery.charge.warning: 50
battery.charge.low: 10
ups.vendorid: 051d
ups.timer.shutdown: -1
ups.test.result: No test initiated
ups.firmware: 868.L3 -P.D
battery.mfr.date: 2015/05/08
ups.serial: 3B1519X19994
ups.productid: 0002
battery.runtime: 2552
battery.date: 2001/09/25
battery.voltage.nominal: 24.0
battery.type: PbAc
ups.mfr.date: 2015/05/08
ups.status: OL
ups.model: Back-UPS RS1000G
ups.beeper.status: disabled
battery.charge: 100
input.sensitivity: medium
input.transfer.low: 88
input.transfer.high: 147
input.voltage: 121.0
input.voltage.nominal: 120
input.transfer.reason: input voltage out of range
output.current: 1.10
output.frequency: 60.20
output.voltage: 121.50
output.voltage.nominal: 120
```

Use the values from the left hand column. Support is included for most values with 'ups', 'battery', 'input' and 'output' prefixes.

```yaml
sensor:
  - platform: nut
    name: UPS Name
    host: 192.168.11.5
    port: 3493
    alias: ups_name
    username: user
    password: pass
    resources:
      - ups.load
      - ups.realpower.nominal
      - input.voltage
      - battery.runtime
```

### {% linkable_title UPS Status - human-readable version %}

An additional virtual sensor type `ups.status.display` is available translating the UPS status value retrieved from `ups.status` into a human-readable version.

```yaml
sensor:
  - platform: nut
    resources:
      - ups.status.display
```
