Add support for ECA split AC (Broadlink RM4 Pro) - #1590
Open
boantara wants to merge 1 commit into
Open
Conversation
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 file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.