Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Centralite Thermostat - No Options Besides Heat Set Point #1046

Closed
sudoischenny opened this issue Nov 10, 2021 · 3 comments
Closed

Centralite Thermostat - No Options Besides Heat Set Point #1046

sudoischenny opened this issue Nov 10, 2021 · 3 comments
Labels

Comments

@sudoischenny
Copy link

sudoischenny commented Nov 10, 2021

Issue

With the Centralite 3-Series Pearl Thermostat. I can only control the heat setpoint. Nothing else is controllable in homekit: modes (off, heat, cool), cooling setpoint, fan. Weirdly, the options show up in homebridge's accessories tab, although they still result in an error when I adjust them. Despite, those attributes are fully controllable through DeconzGUI.

Perhaps this is an issue with the thermostat as it does not have an auto mode? No need to rush solving this issue. It's the cold months now, no need for cooling :)

Please let me know if more information is needed to get to the bottom of this issue. Or if I blatantly missed something. I really appreciate any help you can provide.

Log Messages

[Hue] Conbee: request 8169: PUT /sensors/17/config {"mode":"off"}
[Hue] Conbee: request 8169: api error 6: parameter, mode, not available
[Hue] Conbee: request 8242: PUT /sensors/17/config {"mode":"auto"}
[Hue] Conbee: request 8242: api error 6: parameter, mode, not available

Debug Files

homebridge-hue.json.gz

Sorry, I am unable to attach a log file as I can't reproduce the options for modes, and the cooling setpoint is not available in homekit, native app, or eve.

@ebaauw
Copy link
Owner

ebaauw commented Nov 13, 2021

Nothing else is controllable in homekit: modes (off, heat, cool), cooling setpoint, fan.

I don't see these exposed by the deCONZ REST API?

{
          "config": {
            "battery": 80,
            "heatsetpoint": 1950,
            "offset": 0,
            "on": true,
            "reachable": true,
            "schedule": {},
            "schedule_on": false
          },
          "ep": 1,
          "etag": "e846ffc944473d5cc012e81da4b0ad4d",
          "lastannounced": "2021-11-09T20:47:59Z",
          "lastseen": "2021-11-09T22:08Z",
          "manufacturername": "Centralite",
          "modelid": "3157100-E",
          "name": "Thermostat 17",
          "state": {
            "lastupdated": "2021-11-09T22:08:04.140",
            "on": false,
            "temperature": 1906
          },
          "type": "ZHAThermostat",
          "uniqueid": "00:0d:6f:00:0a:93:f8:40-01-0201"
        }

Despite, those attributes are fully controllable through DeconzGUI.

The GUI provides direct interaction with the Zigbee device. Homebridge Hue, like Phoscon and other clients, uses the REST API. In other words: we need REST API support before features can be exposed to HomeKit.

[Hue] Conbee: request 8169: api error 6: parameter, mode, not available

I thought all thermostats were supposed to expose mode? HomeKit differentiates between target and current mode (Heating Cooling State in HomeKit lingo), where target can be Off, Heat, Cool, or Auto (automatically switch between heating and cooling), and current Off, Heating or Cooling. I don't think there's a standard way in Zigbee to expose these, and I don't think the REST API plugin normalises these across different models of thermostats. Also HomeKit only has one target temperature and cannot differentiate between heating and cooling setpoints. Currently, cooling set point is not supported by Homebridge Hue (because I haven't seen any thermostat that actually supports it). I suppose Homebridge Hue could use the mode to determine which setpoint to use.

With #1042 you should be able to enable/disable the schedule (from Eve).

@keness521
Copy link

I also just installed this same thermostat a couple of days ago. I'm not sure if I can be of any help because I don't run deCONZ GUI, but if there is anything I can do, please let me know.

Mine is installed to a furnace only, no AC, so in the Pearl's own setup menu system, I set it as a Heating Only system, no 2nd (electric) stage.

The basic function works fine, though it is a little quirky because I think the thermostat itself, or the REST implementation, are doing some odd things. For example, I can also NOT turn it off using the HomeKit/Home app control, I will get the same "mode not available" error. However, if it IS off, and I turn it on to a certain set point, it will turn on, even though I do again get the "mode not available" error.

So when I want to turn it "off" I just set it to a crazy low temperature so it has no chance of coming on.

ebaauw added a commit that referenced this issue Nov 23, 2021
Issue warning for incompatible ZHAThermostat sensors, see #1408, #1046.
@ebaauw
Copy link
Owner

ebaauw commented Nov 23, 2021

A Thermostat service in HomeKit has mandatory characteristics for current vs target temperature and state. Homebridge Hue maps these to the corresponding ZHAThermostat attributes:

Characteristic attribute
Current Temperature state.temperature
Target Temperature config.heatsetpoint
Current Heating Cooling State state.on
Target Heating Cooling State config.mode

Note that the read-only state attributes correspond to the current values, where the read/write config attributes correspond to the target values.

A ZHAThermostat resource without config.mode is simply incompatible with HomeKit. Above commit will issue a warning for these. Other than not exposing the incompatible ZHAThermostat, there's nothing I can do here. The thermostat needs to be exposed properly by deCONZ.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants