Network UPS Tools
Power Devices support
Table of Contents

There are many programs and devices that integrate NUT support.

This page tries to track them. Please note there can be even more references contributed by the NUT user community members at the NUT GitHub wiki.

Graphical desktop clients

KNutClient

KNutClient is a visual client for NUT.

NUT-Monitor

NUT-Monitor is a graphical application to monitor and manage UPSes connected to a NUT server. This application is written in Python and PyGTK, and uses the PyNUT class.

Note NUT-Monitor is part of NUT since NUT v2.4.1. It will further evolve toward the NUT Control Center.

walNUT

A Gnome Shell extension to monitor/manage NUT-controlled devices.

Windows NUT client

Windows NUT client is a partial port of KNutClient to Windows using AUTOIT scripting language.

Note The original "winnutclient" project seems abandoned since 2015; however a "WinNUT-Client" fork (below) picked up the torch.

WinNUT-Client

WinNUT-Client V2 is a replacement for older WinNUT Client (v1.x) which can use its configuration files. It allows a Windows client to monitor UPS state from a NUT data server running elsewhere (Linux servers, NAS appliances, etc.) and initiate safe shutdowns.

WinNUT

WinNUT is a partial port of the client side of Network UPS Tools (NUT) to Windows.

The URL mentioned above seems currently defunct. It was last archived at The Internet Archive in 2016 and that copy refers to Google Code (archive) as the project codebase (still available); not sure if there were further iterations maintained on any other public code hosting.

Tracing the breadcrumbs, seems the project was initially abandoned in 2006 at version 2.0.0b and then re-hosted at Google Code in 2010 and abandoned in 2011.

Curiously, there are recent articles on the name (actually describing WinNUT-Client): https://www.gadgetvictims.com/2022/02/configuring-winnut-2x-on-windows-to.html as a follow-up to earlier post on that site of https://www.gadgetvictims.com/2010/02/battery-backup-solution-for-home.html (describing the original WinNUT). Apparently, both use the NUT standard configuration files, so to an extent one is a replacement for another.

Note WinNUT is currently being replaced by a full port to Windows, part of the official NUT distribution. MSI packages are available too.

WMNut

WMNut is a dockapp program to monitor multiple UPSs statistics through the NUT (Network UPS Tools) framework on Linux and other systems.

Mobile desktop clients

apcupsd-monitor

The "apcupsd-monitor" Android app actually supports several server protocols for monitoring power devices, including apcupsd, NUT, Eaton IPM (XML/HTTP) and commands over SSH.

Pre-built application package is available on Google Play at https://play.google.com/store/apps/details?id=com.nitramite.apcupsdmonitor

Network Management Systems (NMS) integration

Big Sister system and network monitor

The "nut" module monitors uninterruptible power supplies under control of the NUT (Network UPS Tools) free software suite. It sends alerts on power outages, overload and battery problems. The longterm graphing may point you to battery aging problems.

Cacti monitoring tool

There are at least three different scripts that add NUT support to Cacti:

collectd

The collectd system statistics collection daemon features a NUT plugin to collect statistics from UPSes.

MonAMI NUT plugin

A plugin to return UPS status to the MonAMI universal sensor framework.

Nagios plugin

The check_ups plugin returns UPS status to the Nagios monitoring system using NUT.

MQTT

MQTT is an OASIS standard messaging protocol for IoT Messaging. For a quick overview of the protocol and its history, see also Wikipedia article about MQTT.

It is typically used for monitoring and management systems, so projects which provide MQTT data streams with NUT information (and vice versa) do not fall flat into either category and are listed here.

They may also be of interest to developers, being NUT clients written in different programming languages which use different available projects for binding to NUT Networking API.

nut2mqtt

Communication between Network UPS Tools (NUT) and MQTT, uses NUT’s own C++ library (libnutclient).

nut-to-mqtt

Written in Go, nut-to-mqtt is a data converter for exporting information from Network UPS Tools, and streaming to an MQTT broker.

ups-mqtt

Simple python tool for fetching data from NUT server and publishing output to MQTT server. Can be used for UPS connected to Synology NAS with UPS Network Server enabled.

Configuration GUIs

KNutSetting

KNutSetting is a visual KDE tool for configuring NUT - Network UPS Tools.

Other software projects

42ITy™

42ITy™ is a next generation platform for data center service optimization that aims to bridge the gap between the traditional silos of IT and facility management.

42ITy™ promotes an open, community based approach, to ensure broad and vendor agnostic support, while leveraging and giving back to leading open source software components including NUT (Network UPS Tools), 0MQ/Malamute & MariaDB, among others.

Node-RED for NUT

Node-RED node that gets UPS data via NUT (Network UPS Tools)

Network UPS Tools Services for Windows

Network UPS Tools Services for Windows provides tools and services to run an upsd-compatible server to report the status of UPS devices connected to a system or server in primary (aka "master") mode. It allows other systems, e.g. Network UPS Tools secondary (aka "slave") daemons and monitoring clients, access to UPS information using standard Windows programming interfaces for easier setup.

nut-snmpagent

nut-snmpagent is an SNMP wrapper to expose the upsc output into Net-SNMP.

jNut

A Java module to talk to an UPS via NUT (Network UPS Tools) upsd.

This originated in NUT codebase, but was externalized into a sibling project.

UPS::Nut

A Perl module to talk to an UPS via NUT (Network UPS Tools) upsd.

Note (A reference copy of) UPS::Nut is part of NUT since NUT v2.6.1, see https://github.com/networkupstools/nut/tree/master/scripts/perl/

PyNUT

PyNUT is an abstraction class written in Python to access NUT (Network UPS Tools) server and execute commands without needing to know the communication protocol.

Note (A reference copy of) PyNUT is part of NUT since NUT v2.4.1, see https://github.com/networkupstools/nut/tree/master/scripts/python/module/ and is published as PyNUTClient by CI to https://pypi.org/project/PyNUTClient (release snapshots) and https://test.pypi.org/project/PyNUTClient/ (rolling master-branch revisions). Hopefully, pip would find it to help create NUT clients.

RRDtool logging support

This patch adds RRDtool logging support to NUT. (See also [collectd].)

ups_control

A developing Python wrapper to upsc which can generate email and shutdown the machine.

python-nut2

A fork and complete API overhaul of PyNUT, a Python library to allow communication with Network UPS Tools servers.

webNUT

A simple web interface for Network UPS Tools servers.

go.nut

A Golang library for interacting with NUT.

Node-NUT

A NodeJS module that implements a NUT (Network UPS Tools) client.

NUT HTTP API

An API wrapper that outputs the upsc command as a JSON output. This is a small HTTP server written in JavaScript which relays HTTP request parameters to upsc command line arguments, and neatly wraps the result as JSON.

PeaNUT

A tiny dashboard for Network UPS Tools.

Written in NodeJS, can serve as a Docker container or as a Homepage widget, includes Web-UI and a REST API for queries.

NUTService and C# NUTClient

A Windows service to communicate with NUT server and initiate safe shutdown when UPS forced shutdown or low battery happens, depending on your settings.

  • The NUTClient.cs (along with other files) in project sources provides a C# implementation of the NUT protocol for the client side.

Hardware projects involving NUT

This is an incomplete list of the hardware known to embed NUT.

Dell PowerVault NX3500

Dell is using NUT to protect the new PowerVault NX3500 storage devices.

OpenGear

Opengear provides an advanced NUT integration into many models. There is also a video presentation of the NUT integration.

For more information on Opengear’s contributions to NUT, have a look at the acknowledgements information.

Synology

Synology has worked closely with Arnaud Quette to integrate UPS support on all its devices.

Alcatel Lucent IPBX

Alcatel has been working for years with us (Patrick Agrain and Arnaud Quette) to improve NUT integration into some of their IPBX.

Netgear ReadyNAS

The RAIDiator firmware for the ReadyNAS product line includes NUT to either monitor a local USB UPS, or to connect as a slave to a NUT server.

Thecus NAS

Thecus NAS firmware includes NUT for UPS support. The following list of devices is known to be supported.

Buffalo NAS

Buffalo TeraStation NAS (Business-class) include NUT for UPS support.

Eaton - Intelligent Power Controller

Eaton Intelligent Power Controller provides easy infrastructure monitoring solution, using the 42ITy™ Open Source data center monitoring software stack, which relies on NUT for power devices monitoring.

Home Assistant NUT integration

The Home Assistant open source home automation project includes a NUT plugin:

Instructions for rolling your own build of the integration based on NUT git sources were contributed by community and posted at NUT GitHub wiki:

Homebridge NUT integration by vectronic

The Homebridge open source home automation project (for monitoring with HomeKit) includes a NUT plugin.

Instructions are in the project README file.

Network UPS Tools (NUT) Prometheus Exporter

A Prometheus exporter for the Network UPS Tools data server.

This exporter utilizes the go.nut project as a network client of the NUT platform. The exporter is written in such a way as to permit an administrator to scrape one or many UPS devices visible to a NUT client as well as one or all NUT variables. A single instance of this exporter can scrape one or many NUT servers as well.

A sample dashboard for Grafana is also available.

NUTCase

A Network UPS Tools (NUT) and APC daemon exporter to pass data to Prometheus and any JSON compatible applications.

Beside data conversion for other systems, provides a neat dashboard UI of its own.

Implemented as a Python application (with its own NUT client code in nut_server_handler.py), which can run as a server in a Docker container.

Legacy and discontinued projects

GKrellM NUT

Simple UPS monitoring plugin for GKrellM. Uses NUT (Network UPS Tools) for UPS connection.

lcd-nut

A project to display the status of a UPS on computer through one of the many cheap LCD matrix displays available on the market.

Nut-Graph

PHP4 / GD / MySQL / jpgraph package to visualize logged UPS status data.

Eaton - Personal Solution Pac

NUT configuration and monitoring software for Eaton (previously MGE Office Protection Systems) units.

UPS Monitor

Multi-threaded python/GTK2 graphical monitoring application.

Notes

  • Client authors: send updates on your releases to the NUT users mailing list. We will also put a link to you in the news section of the top page when things change.

  • If you know of a project which should be listed, please send in the URL.