Skip to content

Repository files navigation

Smatch Solar — Home Assistant integration

hacs_badge

Smatch Solar

Home Assistant custom integration for CATCH Power Monocle — the Australian solar export/diversion + battery + EV-charger control platform (catchpower.com.au).

⚠️ Unofficial integration. This project is not affiliated with, endorsed by, or connected to CATCH Power in any way. It is a community-built integration that talks to CATCH Power's servers using the same API the mobile app uses.

Installation (HACS)

  1. In Home Assistant, go to HACS → Integrations → ⋮ → Custom repositories
  2. Paste https://github.com/simonsays11/ha-smatch-solar and select Integration
  3. Click Add, then search for Smatch Solar and click Download
  4. Restart Home Assistant
  5. Go to Settings → Devices & Services → Add Integration → Smatch Solar
  6. Enter your CATCH Power username and password

Note: this integration talks to CATCH Power's servers. Your credentials are only sent to CATCH Power, never anywhere else.

Features

Power sensors — updated every ~3 seconds

Entity Unit Notes
Mains Power W Positive = importing, negative = exporting
Solar Power W Total solar generation
House Power W Total house consumption
Battery Power W Positive = charging, negative = discharging
Import Limit W Grid import cap from Catch (DNSP)
Export Limit W Grid export cap from Catch (DNSP)

Battery

Entity Unit Notes
State of Charge % Integer, 1% steps from the live event

Device state sensors

Every controllable device on your site gets a State sensor on its own sub-device in HA's device registry — e.g. "EV Charger CarCharger → State: CHARGING".

The state is a free-form string from Catch (e.g. CHARGING, DISCHARGING, IDLE, ON, OFF). Different hardware brands may report different strings — see Help us improve below.

Per-device power

Each controllable device (battery, EV charger, hot water relay, etc.) gets a Power sensor on its own sub-device. Devices appear nested under the main "Smatch Solar" device in HA's device registry, with model name and serial number.

Energy dashboard — daily meters (kWh)

Five energy sensors are provided, compatible with HA's built-in Energy dashboard. They update every ~60 seconds from the Catch datakwh endpoint.

Entity HA Energy role
Solar Yield Solar production
Grid Import Energy Grid consumption
Grid Export Energy Return to grid
House Consumption Energy — (total house load)
Consumed Solar Energy — (self-consumed solar)

Grid Import and Grid Export are separate meters, so you can configure both the "Grid consumption" and "Return to grid" slots in HA's Energy dashboard without any template sensors or helpers.

The sensors use state_class=total_increasing and device_class=energy. The raw values are in Wh from Catch; the integration converts to kWh for HA's expected energy unit.

Diagnostic sensors

Static metadata about your site — hidden from default dashboards (entity_category=diagnostic):

  • Address — site address from Catch
  • Latitude / Longitude — 4 decimal places
  • Timezone — e.g. Australia/Sydney
  • Device ratings — e.g. hot water element rating (W), solar inverter label, EVSE max current (A) — whatever your hardware reports to Catch

Diagnostics download

Settings → Devices & Services → Smatch Solar → ⋮ → Download diagnostics produces a JSON snapshot of all cached API responses, connection state, and recent Socket.IO events — useful for debugging without enabling debug logging. No personal data is included (see .ai-docs/IDEA-PII.md in the development repo for the anonymisation mapping).

Energy dashboard setup

After installing, configure HA's Energy dashboard:

  1. Settings → Dashboards → Energy → Configuration
  2. Solar production: sensor.smatch_solar_solar_yield_energy
  3. Grid consumption: sensor.smatch_solar_grid_import_energy
  4. Return to grid: sensor.smatch_solar_grid_export_energy
  5. Optionally add sensor.smatch_solar_battery_soc as a battery source

Import and export are separate sensors — no need for positive/negative splitting tricks.

Install via HACS

  1. Add this repository as a custom repository in HACS
  2. Search for "Smatch Solar" and install
  3. Restart Home Assistant
  4. Settings → Devices & Services → Add Integration → Smatch Solar

Configure

Field Value
Username Your CATCH Power login (email)
Password Your CATCH Power password
Host https://monocle0.edde.world (default)

Requirements

  • Home Assistant ≥ 2024.1.0
  • python-socketio[asyncio_client]≥5.0,<6.0 (auto-installed by HA)

Help us improve — we need your diagnostics!

This integration was reverse-engineered from a single site. Every additional site helps us fix bugs, add hardware support, and build controls.

No personal data is included — addresses are redacted, coordinates rounded. The diagnostics file contains only device types, power readings, and cached API responses from the Catch platform.

Especially needed: Hot Water relay sites

If your Catch system controls a hot water cylinder via the SR relay (with or without a battery or EVSE), your diagnostics are gold. Hot water setups vary more than any other device type — different element sizes, channel layouts, and relay configurations. Every one we see makes the integration smarter for everyone.

Also needed: a proper logo & icon

If you're a designer and can spare 30 minutes — our logo is a placeholder. We need a 192×192 icon.png and a matching logo.png (any size, kept to 192px height on export). The brand is Smatch Solar / Smatch Power Solar. Get in touch via the email or issue link below.

How to send yours

Option 1 — GitHub (preferred, others can learn from it):

  1. Go to Settings → Devices & Services → Smatch Solar → ⋮ → Download diagnostics
  2. Attach the JSON file to a GitHub issue with a one-line description of your hardware (e.g. "Fronius inverter + WattPilot + hot water")

Option 2 — Email (100% private):

Email the file to catchmebot@proton.me with a one-line hardware description. We only extract device types, power readings, and control schemas — your data is never shared, never published. Discretion guaranteed.

What you get in return

Every diagnostics file brings us closer to device controls — select/number/button entities for:

  • EV charger: ON / OFF / Auto / Solar-follow / Fixed-power modes
  • Hot water: ON / OFF / Auto boost
  • Battery: charge/discharge limits and mode selection

The more sites we see, the more confident we can be that the control schemas work across hardware. Your file directly unlocks features for your own install.

What we learn from each file

Data Why it matters
ha_entity_mappings Shows where every sensor and rating landed — catches placement bugs
cached_responses.devices Device types, serials, and ratings (element size, inverter, EVSE max current)
cached_responses.actors Which controllable devices exist on your site
last_event Live power flow, device states, and override schemas
Device state strings Free-form values like CHARGING / DISCHARGING / IDLE — we use these to build proper enum sensors

Developers

Source code, issues, and contributions: github.com/simonsays11/solar-control

About

hacs distribution of solar relay extension

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages