Skip to content

Add support for ECA split AC (Broadlink RM4 Pro) - #1590

Open
boantara wants to merge 1 commit into
smartHomeHub:masterfrom
boantara:boantara-patch-1
Open

Add support for ECA split AC (Broadlink RM4 Pro)#1590
boantara wants to merge 1 commit into
smartHomeHub:masterfrom
boantara:boantara-patch-1

Conversation

@boantara

@boantara boantara commented Aug 9, 2026

Copy link
Copy Markdown

This adds a new climate device code for ECA brand split air conditioners, controlled via Broadlink RM4 Pro.

Details
Manufacturer: ECA
Controller: Broadlink (RM4 Pro)
Modes: cool, heat, dry, fan_only
Fan speeds: low, medium, high (silent also available, see note below) Swing: off, half_up, half_down, full
Temperature range: 16-31°C, 1°C precision
How the codes were generated

All commands were captured directly from the OEM remote via Broadlink learning, then reverse-engineered to identify the underlying protocol structure (14-byte state frame, sent twice per transmission, with a simple checksum). Once the bit-level encoding for mode, fan speed, swing, and temperature was confirmed against ~11 independently captured real IR codes, the remaining combinations (full 16-31°C range across every mode/fan/swing combination) were generated programmatically and verified byte-for-byte against the real captures.

Every mode, fan speed, and swing position has been tested on the physical unit and confirmed working, including the temperature range endpoints (16°C and 31°C).

Notes
The off command is state-independent — the AC only checks the power bit and ignores the rest of the frame, so a single off code works regardless of current mode/fan/swing. Dry mode only supports a single fixed fan speed on this unit (hardware limitation), so its commands are duplicated across all fan-mode keys to ensure the command fires regardless of which fan speed happens to be selected when switching to dry.

This adds a new climate device code for ECA brand split air conditioners, controlled via Broadlink RM4 Pro.

Details
Manufacturer: ECA
Controller: Broadlink (RM4 Pro)
Modes: cool, heat, dry, fan_only
Fan speeds: low, medium, high (silent also available, see note below)
Swing: off, half_up, half_down, full
Temperature range: 16-31°C, 1°C precision
How the codes were generated

All commands were captured directly from the OEM remote via Broadlink learning, then reverse-engineered to identify the underlying protocol structure (14-byte state frame, sent twice per transmission, with a simple checksum). Once the bit-level encoding for mode, fan speed, swing, and temperature was confirmed against ~11 independently captured real IR codes, the remaining combinations (full 16-31°C range across every mode/fan/swing combination) were generated programmatically and verified byte-for-byte against the real captures.

Every mode, fan speed, and swing position has been tested on the physical unit and confirmed working, including the temperature range endpoints (16°C and 31°C).

Notes
The off command is state-independent — the AC only checks the power bit and ignores the rest of the frame, so a single off code works regardless of current mode/fan/swing.
Dry mode only supports a single fixed fan speed on this unit (hardware limitation), so its commands are duplicated across all fan-mode keys to ensure the command fires regardless of which fan speed happens to be selected when switching to dry.
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.

1 participant