A responsive Home Assistant dashboard card for Waveshare UPS battery, health, test, calibration, and control entities. Configuration is available entirely through Home Assistant's visual card editor.
- Open HACS and add
https://github.com/ComputerWhisperers/Waveshare-UPS-Cardas a Dashboard custom repository. - Install Waveshare UPS Card.
- Refresh the browser, then add Custom: Waveshare UPS Card to a dashboard.
- Copy
waveshare-ups-card.jsto/config/www/waveshare-ups-card.js. - Open Settings > Dashboards > Resources in Home Assistant.
- Add
/local/waveshare-ups-card.jsas a JavaScript module. - Refresh the browser, then add Custom: Waveshare UPS Card to a dashboard.
Add the card, open its Configuration tab, and select any entity belonging to the UPS as the Main UPS entity. The card uses Home Assistant's device registry to populate the related sensors and buttons automatically. You can override any discovered value with the individual selectors. If no main entity is selected, all individual selectors continue to work on their own. Unconfigured rows and sections are hidden.
YAML remains supported, but is not required:
type: custom:waveshare-ups-card
title: UPS Power
layout: auto
ups_entity: sensor.waveshare_ups_status
battery_entity: sensor.waveshare_ups_battery_capacity
runtime_entity: sensor.waveshare_ups_runtime
status_entity: sensor.waveshare_ups_status
battery_voltage_entity: sensor.waveshare_ups_battery_voltage
current_entity: sensor.waveshare_ups_current
power_entity: sensor.waveshare_ups_powerThe default auto layout shows the battery, runtime, operating state, electrical metrics, health indicators, and icon controls. compact removes the electrical metric tiles while retaining the same element sizes, indicators, and controls. full adds battery health and test history, while minimal keeps the primary gauge and health indicators. Every layout requests automatic grid height in Home Assistant Sections layouts.
Enum states are displayed in title case, hour-based durations are shown as hours and minutes, and date entities follow Home Assistant's configured date-order preference. Numeric sensor values are limited to two decimal places.
The card keeps a stable DOM while UPS values update and preserves dashboard scroll position during structural configuration changes, including mobile browser views.
| Option | Description |
|---|---|
title |
Card title; defaults to UPS Power |
layout |
auto, full, compact, or minimal |
metric_columns |
One or two telemetry columns |
ups_entity |
Any entity belonging to the UPS device; used for automatic discovery |
battery_entity |
Battery percentage sensor |
runtime_entity |
Estimated runtime sensor |
status_entity |
UPS operating-status sensor |
*_entity |
Additional telemetry and history sensors |
*_button |
UPS control button entities |
show_* |
Visibility controls for optional sections |