Skip to content

Add Canadian Solar EP Cube (cloud) to supported inverters #4069

@SkiLtY

Description

@SkiLtY

Hi — I'd like to contribute a new inverter configuration for the
Canadian Solar EP Cube residential battery.

Integration

  • HA integration: https://github.com/SkiLtY/ha-ep-cube
    (HACS-installable via Custom Repository today; hacs/default#8364
    open for inclusion in the default store)
  • Released v1.3.0, MIT-licensed, 223-test suite, en/de/it/nl translations
  • HA min version 2026.3+

apps.yaml template

A ready-to-use template lives at:
https://raw.githubusercontent.com/SkiLtY/ha-ep-cube/main/docs/predbat_apps.yaml.example

Happy to mirror it into templates/ep_cube_cloud.yaml here as a PR
once you confirm the filename convention you'd like.

How the control surface works

The EP Cube has no local Modbus; the only published control interface
is the vendor cloud REST API (monitoring-eu.epcube.com, or US/JP
equivalents). The integration ships a Predbat-shaped service shim that:

  • exposes the standard 7 services (charge_start, charge_stop,
    discharge_start, discharge_stop, charge_freeze,
    discharge_freeze, release)
  • translates rate + window → a TOU-schedule rewrite on the cube
  • is idempotent (no cloud write if requested state already active —
    budgeted at ≤12 writes/day)
  • snapshots the user's normal mode + TOU on first override and
    auto-reverts at the slot end via async_track_point_in_utc_time

Tested in production against Octopus Agile Import since 2026-05-24.

Suggested table entry

Name Integration Template
Canadian Solar EP Cube ha-ep-cube ep_cube.yaml

Per-inverter setup steps: install the integration via HACS, configure
with email + password (handles captcha automatically), drop the
apps.yaml template in, restart Predbat. No additional helpers or
template sensors needed — entity IDs are stable (no per-account devId
substitution).

Happy to open a PR against docs/inverter-setup.md + add the template
file once you give the nod. Thanks!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions