ebaauw / homebridge-deconz

Homebridge plugin for deCONZ
Apache License 2.0
135 stars 7 forks source link

ct: api error 201: parameter, ct, is not modifiable #113

Closed ghost closed 1 year ago

ghost commented 1 year ago

https://github.com/dresden-elektronik/deconz-rest-plugin/releases/tag/v2.20.1

homebridge-deconz v0.1.5-0

[deCONZ] ZigbeeGW: warning: request 15597: /lights/3/state/ct: api error 201: parameter, ct, is not modifiable. Device is set to off.

"CC86ECFFFE67D129": {
    "expose": true,
    "manufacturer": "IKEA of Sweden",
    "model": "TRADFRIbulbE14WSglobeopal470lm",
    "name": "KB-H",
    "resources": [
      "/lights/3"
    ],
    "type": "lights",
    "zigbee": true
  }
ebaauw commented 1 year ago

Did you enable adaptive lighting on this light? Or did you try and set colour temperature from HomeKit?

ghost commented 1 year ago

Yes ... and everything works as it should. I haven't gotten the warning message since. I think the warning came after a restart of homebridge-deconz. But I want to add that I got the warning before version 2.20.01 and every time with IKEA lights

ghost commented 1 year ago

By the way... thanks for the work on the homebridge-deconz plugin 🙂

ebaauw commented 1 year ago

Traditionally, Zigbee lights ignore commands to change brightness or colour (temperature) while off. Traditionally, the deCONZ API checks whether a light is on, before sending a Zigbee command for such change, and issues the API error 201 when the light is off.

As I found out recently, the latest ZCL version includes an Execute If Off flag in the (optional?) Options attribute of both the Level Control and Color Control clusters. Note that not all lights support these, but my TRADFRI bulb E27 CWS 806lm does. As of v2.20.x, the deCONZ API will no longer do the check nor issue API error 201, for lights that have the corresponding flag set.

I changed Homebridge deCONZ to update the colour temperature for adaptive lighting even when the light is off. This went wrong initially, see #146, but should work now. Hence my question whether you have adaptive lighting enabled on the light - the message should not be caused by adaptive lighting.
If you simply try and change colour temperature from HomeKit while the light is off, this message is expected, unless the light supports and has enabled Execute If Off. Note that this needs to be included explicitly in the DDF for the light, and proabably hasn't been done for the Trådfri lights. And I don't expect the older Trådfri light to support this anyways.