An open-source MQTT based agent software for EATON UPS. Free your EATON UPS protected clients from proprietary software. Shutdown clients gracefully on power outage before UPS power off.
An open alternative to the Eaton Intelligent Power Protector (IPP).
Successfully tested on:
Download the latest release here. No installation is required.
Supported operating systems:
- Windows
- Linux
- MacOS
Show help using:
eaton-ups-mqtt-agent -h
Supported options:
General options
-h, --help Show this help message and exit.
-v, --version Show product version and exit.
-f, --file file ... Load one or multiple config file(s).
Config files must be in JSON format and can contain all
command line arguments as parameters. If both, files
and command line arguments are given, the command line
arguments take precedence over the file parameters. If
multiple files are specified, the last files take
precedence over the first files. This allows to define
a base config and override individual parameters.
-o, --show Show the resulting config in JSON format and exit.
Network options
These options define the details of the network connection with the UPS.
-i, --ip string IP address or DNS name of the UPS.
-p, --port number Port of the UPS MQTT broker. By default 8883.
TLS options
These options define the details of the TLS authentication with the UPS.
-c, --cert string Client TLS certificate for MQTT.
-k, --key string Client TLS key for MQTT.
-g, --generate Generate a new client TLS certificate for MQTT.
-e, --validity number Validity of the certificate to be generated in years.
-d, --id string Client id presented to the UPS and common name of the
generated TLS certificate.
Protection options
These options define the protection of the agent.
-n, --outlet string Outlet name on the UPS to which the agent
server is connected. Omit to get a list of
available outlet names.
-t, --shutdownDuration number Shutdown duration of the agent server. Omit
to shutdown immediately on alarm.
On Linux, the node can be installed as a systemd service, for example using the following configuration:
[Unit]
Description=EATON UPS MQTT Agent
Wants=network-online.target
After=network-online.target
[Service]
Type=simple
ExecStart=/path/to/eaton-ups-mqtt-agent <...>
Restart=always
[Install]
WantedBy=multi-user.target
This project is not affiliated in any way with Eaton. "Eaton", EATON (LOGO) and/or other Eaton names or products referenced herein are trade names of EATON CORPORATION.