thermostat systemMode (CON-1367)
I am adding a thermostat to a bridge.
endpoint::thermostat::config_t thermostat_conf; err = endpoint::thermostat::add(ep, &thermostat_conf);
I have two questions:
- How do I create a thermostat that has only heating or only cooling?
- How can I limit the commands accepted by system mode (for example only 3(cool) and 6(precooling))
Matter thermostats have feature bits, section 4.3.3 of the Cluster manual. HEAT and COOL are separate features.
As to commands, first note in the conformance column that many of the commands are controlled by feature bits. If the feature is not turned on, the command is invalid. Next note in the Access column that many of the commands are optional.
Finally if there are still required commands that you don't want to implement, just stub them out and make them do nothing. In general you shouldn't do that because the remaining required command will be the minimal set needed to implement the function.
- How do I create a thermostat that has only heating or only cooling?
By default, we have created a thermostat with heat and cool features check this. You can remove any one of them as required.
- How can I limit the commands accepted by system mode (for example only 3(cool) and 6(precooling))
This is a known issue, and there is no way to limit SystemMode values. We will try to figure out something to support it.