AP Systems EasyPower – Cloud API Integration
TL;DR: I reverse-engineered the AP EasyPower Android app to build a Home Assistant integration that uses the official cloud API — no local API, no WiFi range issues, just your app login credentials.
GitHub / HACS: GitHub - Meyblaubaer/apsystems-easypower-ha: Home Assistant custom integration for APsystems EZ1 micro-inverters via cloud API · GitHub
Why this exists
The existing APsystems integrations all rely on the local API — which requires enabling a hidden developer mode in the app, being on the same WiFi, and stops working when the inverter goes to sleep. I wanted something that works the same way the app does: via the cloud.
How the authentication works
After decompiling the APK with jadx, I found that login uses:
- A random 32-byte hex AES-256 key and 16-digit IV
- Both encrypted with the app’s RSA public key (PKCS1v15)
- Username and password AES-CBC encrypted, output as hex (not base64 — this tripped me up for a while)
app_idandapp_secretsent in the POST body alongside the encrypted credentials
After login, all data endpoints use a standard Bearer token over HTTPS.
Sensors exposed
| Sensor | Unit | Source |
|---|---|---|
| Current Power | W | Real-time |
| Power Channel 1 / 2 | W | Real-time |
| Energy Today | kWh | Real-time |
| Energy This Month | kWh | Statistics |
| Energy Lifetime | kWh | Statistics |
| Last Reported Power | W | Statistics |
Offline handling: When the inverter shuts down at night (API returns code 1001), power sensors correctly show unavailable while energy sensors (lifetime, monthly) retain their last known values.
Installation
Via HACS (recommended):
- HACS → Custom repositories →
Meyblaubaer/apsystems-easypower-ha→ Integration - Restart HA
- Settings → Integrations → Add → “AP Systems EasyPower”
- Enter your AP EasyPower app username (account name, not email) and password
Tested with: EZ1-M-EU (600W)
Should work with: Any inverter accessible via the AP EasyPower app — please open an issue if yours doesn’t work, I’d love to expand support.
Feedback, bug reports and PRs are very welcome!