Closed sudoischenny closed 2 years ago
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).
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.
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.
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
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.