Skip to content

Releases: Ghawken/CyberPowerUPS_Indigoplugin

1.1.4 Fix for missing states

Choose a tag to compare

@Ghawken Ghawken released this 25 Jul 21:47

1.1.4

Fix for devices missing system states

Update to Power Panel Business. Couple more end points/data

Choose a tag to compare

@Ghawken Ghawken released this 22 Jul 20:23

CyberPower UPS Panel

Cyberpower UPS Panel — Indigo Plugin

Plugin Icon

Monitor a CyberPower UPS from Indigo home automation via the Power Panel Business local REST API. UPS status, battery health, runtime, input/output power, hardware specs, and system warnings are all exposed as Indigo device states and update automatically.

Developed by GlennNZ


Contents

  1. What is Power Panel Business?
  2. Installing Power Panel Business
  3. Configuring Power Panel Business
  4. Plugin Requirements
  5. Plugin Installation
  6. Plugin Configuration
  7. Creating a UPS Device
  8. Device States
  9. Dynamic State Discovery
  10. Actions
  11. Menu Items
  12. Automation Examples
  13. Troubleshooting

1. What is Power Panel Business?

CyberPower Power Panel Business is software published by CyberPower Systems that runs on a computer connected to a CyberPower UPS via USB. It provides:

  • Real-time UPS monitoring (input voltage, output load, battery capacity, runtime)
  • Automatic safe shutdown of the connected computer during a power outage
  • A local web interface accessible from any browser on your network
  • A REST API — which this plugin uses to pull live data into Indigo

Power Panel Business runs as a background service on macOS, Windows, or Linux. It does not require a CyberPower cloud account; everything operates entirely on your local network.

Supported UPS models: Most CyberPower Smart App UPS models with a USB port (CP series, PR series, OR series). Check the CyberPower website for the full compatibility list.


2. Installing Power Panel Business

Download

Download Power Panel Business from the CyberPower website:

CyberPower Systems → Support → Software → Power Panel Business

Choose the installer for your operating system (macOS, Windows, or Linux). Version 1.4.x and later include the REST API used by this plugin.

macOS Installation

  1. Open the downloaded .dmg and run the installer package.
  2. Follow the prompts — the installer places a background service (ppbe) and the web interface.
  3. Connect your UPS to the Mac via USB.
  4. Power Panel starts automatically and detects the UPS within a few seconds.

Linux / NAS Installation

Power Panel Business also runs on Linux, making it suitable for always-on devices like a Synology NAS, Raspberry Pi, or Ubuntu server:

# Debian/Ubuntu — install the .deb package
sudo dpkg -i powerpanel-xxx.deb

# Start the service
sudo systemctl start pwrstatd

1.1.2 Cyberpower UPS PowerPanel Plugin

Choose a tag to compare

@Ghawken Ghawken released this 31 May 03:52

CyberPower UPS Panel

Cyberpower UPS Panel — Indigo Plugin

Plugin Icon

Monitor a CyberPower UPS from Indigo home automation via the Power Panel Personal local REST API. UPS status, battery health, runtime, input/output power, hardware specs, and system warnings are all exposed as Indigo device states and update automatically.

Developed by GlennNZ


Contents

  1. What is Power Panel Personal?
  2. Installing Power Panel Personal
  3. Configuring Power Panel Personal
  4. Plugin Requirements
  5. Plugin Installation
  6. Plugin Configuration
  7. Creating a UPS Device
  8. Device States
  9. Dynamic State Discovery
  10. Actions
  11. Menu Items
  12. Automation Examples
  13. Troubleshooting

1. What is Power Panel Personal?

CyberPower Power Panel Personal is free software published by CyberPower Systems that runs on a computer connected to a CyberPower UPS via USB. It provides:

  • Real-time UPS monitoring (input voltage, output load, battery capacity, runtime)
  • Automatic safe shutdown of the connected computer during a power outage
  • A local web interface accessible from any browser on your network
  • A REST API — which this plugin uses to pull live data into Indigo

Power Panel Personal runs as a background service on macOS, Windows, or Linux. It does not require a CyberPower cloud account; everything operates entirely on your local network.

Supported UPS models: Most CyberPower Smart App UPS models with a USB port (CP series, PR series, OR series). Check the CyberPower website for the full compatibility list.


2. Installing Power Panel Personal

Download

Download Power Panel Personal from the CyberPower website:

CyberPower Systems → Support → Software → Power Panel Personal

Choose the installer for your operating system (macOS, Windows, or Linux). Version 1.4.x and later include the REST API used by this plugin.

macOS Installation

  1. Open the downloaded .dmg and run the installer package.
  2. Follow the prompts — the installer places a background service (ppbe) and the web interface.
  3. Connect your UPS to the Mac via USB.
  4. Power Panel starts automatically and detects the UPS within a few seconds.

Linux / NAS Installation

Power Panel Personal also runs on Linux, making it suitable for always-on devices like a Synology NAS, Raspberry Pi, or Ubuntu server:

# Debian/Ubuntu — install the .deb package
sudo dpkg -i powerpanel-xxx.deb

# Start the service
sudo systemctl start pwrstatd
sudo systemctl enable pwrstatd

The web interface listens on port 3052 by default.

Verifying the Installation

Open a browser and navigate to:

http://<host-ip>:3052

You should see the Power Panel Personal web UI showing your UPS model, battery status, and input/output readings. If the page loads, the REST API is available.

Tip: If the UPS is connected to a Mac that also runs Indigo, the host IP is typically 127.0.0.1 or the Mac's LAN IP. If Power Panel runs on a separate device (NAS, Raspberry Pi), use that device's LAN IP.


3. Configuring Power Panel Personal

Setting a Password

By default Power Panel ships with a default username and password. You should change these before exposing the web UI on your network:

  1. Log in to the Power Panel web UI at http://<host>:3052
  2. Navigate to Settings → Account (or Administration → Account)
  3. Set a strong password and note it — you will enter it in the Indigo device config

Finding the REST API Port

The default REST API port is 3052. You can confirm it in Power Panel under Settings → System or by checking the URL in your browser when logged in.

Firewall / Network Access

Ensure the Mac running Indigo can reach the Power Panel host on port 3052:

# Quick test from the Indigo Mac terminal
curl -s http://<host-ip>:3052/local/rest/v1/ups/status
# Should return JSON (a 401 is expected before login — that confirms connectivity)

If this hangs or is refused, check:

  • The firewall on the Power Panel host allows inbound TCP 3052
  • Both devices are on the same VLAN/subnet, or routing is in place

Power Panel on the Same Mac as Indigo

If Power Panel runs on the same Mac as Indigo Server, use 127.0.0.1 as the host. No firewall changes are needed.


4. Plugin Requirements

Requirement Detail
Indigo version 2025.1 or later (ServerApiVersion 3.0)
Python 3.10+ (included with Indigo 2023.2+)
Power Panel Personal 1.4.x or later, running locally
Network Indigo Mac must reach Power Panel host on port 3052
UPS connection USB cable from UPS to the Power Panel host

5. Plugin Installation

Double click the downloaded plugin Bundle to install


6. Plugin Configuration

Open Plugins → Cyberpower UPS Panel → Configure… to set global options.

Field Default Description
Poll Interval 60 Seconds between status polls across all UPS devices. Minimum 10.
Show Debug Logging off Logs raw API responses and all state values. Enable only when diagnosing issues.

Credentials (host, port, username, password) are configured per device, not here. This allows the plugin to monitor multiple UPS units on different hosts.


7. Creating a UPS Device

  1. In Indigo, open Devices → New Device
  2. Set Type to Cyberpower UPS Panel
  3. Set Model to CyberPower UPS
  4. Give it a descriptive name, e.g. Office UPS or Server Room UPS
  5. Click Edit Device Settings… and fill in:
Field Example Notes
Host Address 192.168.1.209 IP of the Power Panel host
Port 3052 Default Power Panel REST port
Username admin As set in Power Panel Account settings
Password yourpassword Plain text — sent directly to the API
  1. Click Save — the plugin connects immediately, authenticates, and populates all states on the first poll

The device icon turns green when the system state is Normal, and amber if any system fault is reported.

Multiple UPS Units

Create one Indigo device per UPS. Each device has its own host/port/credentials and maintains an independent authentication token. The global poll interval applies to all devices.


8. Device States

States appear in the Indigo device detail panel and are available for triggers, conditions, and control pages. States are dynamically discovered — see section 9 for details.

Each poll cycle queries three API endpoints in sequence: /ups/status, /ups/spec, and /ups/summary.

Always-Present States (defined in Devices.xml)

State Type Description
communicationStatus Boolean true = UPS communication available
systemStateText String Overall system status, e.g. Normal
lastUpdate String Timestamp of last successful poll

Input (mains power in)

State Type Example
inputAvailable Boolean true
inputState Number 0 = Normal
inputStateText String Normal
inputVoltage Number 243.5 (V)
inputFrequency Number 50.00 (Hz)
inputCurrent Number Current draw (A) — appears when reported
inputPowerFactor Number Appears when reported

Output (power delivered to equipment)

State Type Example
outputAvailable Boolean true
outputState Number 0 = Normal
outputStateText String Normal
outputVoltage Number 230.0 (V)
outputCurrent Number 4.3 (A)
outputFrequency Number 50.00 (Hz)
outputLoadPercent Number 34 (%)
outputWatts Number 790 (W)
outputVA Number 1025 (VA)
outputNcl1StateText String On — outlet bank 1 state
outputActivePower Number Appears when reported
outputReactivePower Number Appears when reported

Battery

State Type Example
batteryAvailable Boolean true
batteryState Number 0 = Normal
batteryStateText String Normal, Fully Charged
batteryVoltage Number 82.2 (V)
batteryCapacityPercent Number 100 (%)
batteryRemainingRunTimeSecs Number 900
batteryRemainingRunTimeFormatted String 0hr. 15min.
batteryRuntimeInsufficient Boolean false
batteryHealthIndex Number 94 — BHI 0–100
batteryModularRuntimeZero Boolean false
batteryChargeTimeSecs Number Appears while charging
batteryChargeTimeFormatted String Appears while charging
batteryTemperatureCelsius Number Appears on models with temp sensor
batteryHighVoltage Number Appears when threshold configured
batteryLowVoltage Number Appears when threshold configured

Bypass

State Type Example
bypassAvailable Boolean false on most models
bypassState Number Appears when bypass active
bypassStateText String Appears when bypass active
bypassVoltage Number Appears when bypass active
`bypassFr...
Read more