Add support for ALTHRSQ800WRF (Salus UG800 / Altech ecosystem)#55
Open
awfvantets wants to merge 3 commits into
Open
Add support for ALTHRSQ800WRF (Salus UG800 / Altech ecosystem)#55awfvantets wants to merge 3 commits into
awfvantets wants to merge 3 commits into
Conversation
Author
|
Added two follow-up fixes found during further testing:
All changes verified on hardware (UG800 + 5× ALTHRSQ800WRF): tiles in Apple Home now correctly show off/idle/cooling states. |
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.
Setup
Altech-branded Salus system (Altech is a Salus Controls affiliate, sold via CEDEO/Van Marcke in FR/BE/NL):
Problem
Reads work fine, but all writes were rejected with
IT600CommandError: iT600 gateway rejected 'write' command. The library treats any non-FC600 model as an sIT600TH thermostat, but this device family only accepts the sTherS/sComm data classes (like the FC600).Verified by direct
_make_encrypted_requesttesting on the device{"sIT600TH": {"SetHeatingSetpoint_x100": ...}}→ rejected{"sIT600TH": {"SetHoldType": 7}}→ rejected{"sTherS": {"SetCoolingSetpoint_x100": 2150}}→ accepted, confirmed on the wall unit (target changed to 21.5){"sTherS": {"SetHeatingSetpoint_x100": 2150}}→ acceptedChanges
ALTHRSQ800WRFlikeFC600in the three model checks (preset / mode / temperature writes).HVAC_MODE_OFFinhvac_modesfor the sTherS branch and derive it fromsComm.HoldType == 7. Without this, HomeKit (via HA's HomeKit Bridge) cannot represent or set the off state.set_climate_device_mode: mapHVAC_MODE_OFF→sComm.SetHoldType 7; when switching on, clear the hold (SetHoldType 2) together withsTherS.SetSystemMode. Also fixes a latent bug where the string constantHVAC_MODE_AUTOwas written as the SystemMode value instead of the Zigbee enum (1).Tested
Full round-trip verified on hardware: temperature set, mode changes (cool/off/on), state correctly reflected in HA and Apple Home, heat pump physically responding.
Note: change 2 also gives FC600 users an explicit OFF hvac_mode (previously only available as preset) — consistent with the existing
hvac_action/preset logic, but flagging it for review.