Skip to content

Add RusClimate/Syncleo convector heater support (protocol 3) - #3

Open
agarat wants to merge 1 commit into
samoswall:mainfrom
agarat:rusclimate-syncleo-heater
Open

Add RusClimate/Syncleo convector heater support (protocol 3)#3
agarat wants to merge 1 commit into
samoswall:mainfrom
agarat:rusclimate-syncleo-heater

Conversation

@agarat

@agarat agarat commented Jul 15, 2026

Copy link
Copy Markdown

Summary

Adds support for RusClimate/Syncleo convector heaters (devtype 46 — e.g. Kaltemp Apolo Inverter / Sygonix NCA-1G-INV4.0) over the same local encrypted UDP protocol used by the kettles. All heater behaviour is gated on POLARIS_HEATER_TYPE, so existing kettle support is unaffected.

What's included

  • Protocol 3 support (crypto identical to v2; from_encrypted falls back to UnknownMessage on per-type parse errors).
  • Climate entity (gated): HEAT/OFF, hvac_action, current temp, target temp 5–35 °C; presets Comfort/Eco/Anti-frost; heating intensity Auto/1–10 as fan_mode.
  • Sensors/switches: Current Power (0–10), open-window detection.
  • Entity cleanup for heaters: no kettle water_heater/night-light, no kettle-only Device Hardware sensor; power on/off only via the climate entity.
  • Translations (en/ru), icons, manifest documentation fix + issue_tracker.

Testing

Validated live against a real devtype-46 heater (firmware 1.42) through Home Assistant: HEAT/OFF, target-temp sets, presets, intensity both directions, current-temp and current-power reads.

Notes

  • Domain kept as syncleo_kettle to avoid breaking existing config entries.
  • Line endings of touched files kept matching the existing files (the repo mixes CRLF/LF) so the diff shows only real changes.

🤖 Generated with Claude Code

Extends the integration to support RusClimate/Syncleo convector heaters
(devtype 46, e.g. Kaltemp Apolo Inverter / Sygonix NCA-1G-INV4.0) over the
same local encrypted UDP protocol used by the kettles. All heater behaviour is
gated on POLARIS_HEATER_TYPE so kettle support is unaffected.

- Protocol 3: kettle.py accepts protocol 2 and 3; protocol.py from_encrypted
  falls back to UnknownMessage on a per-type parse error (crypto is identical
  to v2). New outgoing messages for target temperature, mode/preset and
  heating intensity.
- Climate entity (gated): HEAT/OFF, hvac_action, current temp (type 20),
  target temp 5-35 step 1 (type 2); presets Comfort/Eco/Anti-frost via the
  mode command (type 1); heating intensity Auto/1..10 as fan_mode (type 15),
  a fixed level puts the device in manual mode.
- Current Power sensor (0..10, type 66 channel 0) and open-window detection
  switch (type 38) for heaters.
- Entity cleanup for heaters: no kettle water_heater / night light; skip the
  kettle-only Device Hardware sensor; power on/off is exposed only through the
  climate entity (no redundant standalone switch).
- English/Russian translations and icons for the new entities; manifest
  documentation/issue_tracker URLs and zeroconf discovery for _syncleo._udp.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@ananyevgv

Copy link
Copy Markdown
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants