MiPower is a focused Home Assistant custom integration that provides a switch platform to send wake/power signals to devices like Mi Box / Android TV boxes. It intentionally focuses on signaling (wake/power), not on long-lived pairing/remote control connections.
- Easy setup using existing
media_player
devices. - Advanced setup for manual configuration (Display name, MAC, device selection).
- Full Options-flow support (options gear visible after setup).
- Per-entry coordinator model (each config entry has its own coordinator and options).
__pycache__
cleanup service available:mipower.cleanup_pycache
.- Diagnostics support and options for tuning debounce and connection behavior.
- Home Assistant: tested with 2025.9.3, but backwards compatibility starts from
2021.12.0
per manifest. - Python dependency:
pexpect
. - Platforms:
switch
. - Integration type: local push / UI config flow.
- Add this repository to HACS (Integrations → Custom repositories → add repo URL).
- Install the integration from HACS.
- Restart Home Assistant.
- Copy the
custom_components/mipower/
folder intoconfig/custom_components/
. - Restart Home Assistant.
- Settings → Devices & Services → Add Integration → MiPower.
- Choose between Easy setup (select a
media_player
device only) or Advanced setup (enter Display name, MAC, select device, and tune advanced options). - After creation, the Options (gear) is available on the integration panel to adjust parameters.
- Entity name format:
MiPower - <media_player name>
. - Entity icon:
mdi:power
. - Unique ID format:
mipower_<MAC_without_colons_uppercase>
(e.g.mipower_E0B655526C00
). - Each config entry has a dedicated coordinator to support multiple devices and options per entry.
- Diagnostics available from the integration panel (entry-level).
- Service
mipower.cleanup_pycache
available under Developer Tools → Services.
- Please file issues on GitHub: Issues.
- Pull requests welcome — keep code modular and test changes against a recent Home Assistant instance.
This project is released under the MIT License. See the LICENSE
file in the repo.