Goodmorning,
I'm using nRF5_SDK_for_Thread_and_Zigbee_v4.2.0_af27f76
in file /external/zboss/src/zcl/zcl_thermostat_commands.c
at line 246 there is this code:
case ZB_ZCL_ATTR_THERMOSTAT_OCCUPIED_HEATING_SETPOINT_ID:
case ZB_ZCL_ATTR_THERMOSTAT_UNOCCUPIED_HEATING_SETPOINT_ID:
{
/* First check MinHeatSetpointLimit/MaxHeatSetpointLimit, than
* AbsMinHeatSetpointLimit/AbsMaxHeatSetpointLimit, than predefined constants. */
zb_zcl_attr_t *attr_desc_min = zb_zcl_get_attr_desc_a(endpoint,
ZB_ZCL_CLUSTER_ID_THERMOSTAT, ZB_ZCL_CLUSTER_SERVER_ROLE, ZB_ZCL_ATTR_THERMOSTAT_ABS_MIN_HEAT_SETPOINT_LIMIT_ID);
zb_zcl_attr_t *attr_desc_max = zb_zcl_get_attr_desc_a(endpoint,
ZB_ZCL_CLUSTER_ID_THERMOSTAT, ZB_ZCL_CLUSTER_SERVER_ROLE, ZB_ZCL_ATTR_THERMOSTAT_ABS_MAX_HEAT_SETPOINT_LIMIT_ID);
if (attr_desc_min && attr_desc_max)
{
min_val = (zb_int16_t)ZB_ZCL_GET_ATTRIBUTE_VAL_S16(attr_desc_min);
max_val = (zb_int16_t)ZB_ZCL_GET_ATTRIBUTE_VAL_S16(attr_desc_max);
}
else
{
attr_desc_min = zb_zcl_get_attr_desc_a(endpoint,
ZB_ZCL_CLUSTER_ID_THERMOSTAT, ZB_ZCL_CLUSTER_SERVER_ROLE, ZB_ZCL_ATTR_THERMOSTAT_ABS_MIN_HEAT_SETPOINT_LIMIT_ID);
attr_desc_max = zb_zcl_get_attr_desc_a(endpoint,
ZB_ZCL_CLUSTER_ID_THERMOSTAT, ZB_ZCL_CLUSTER_SERVER_ROLE, ZB_ZCL_ATTR_THERMOSTAT_ABS_MAX_HEAT_SETPOINT_LIMIT_ID);
How you can see, there is a mistake in the name of parameters in red.
They should be ZB_ZCL_ATTR_THERMOSTAT_MIN_HEAT_SETPOINT_LIMIT_ID and ZB_ZCL_ATTR_THERMOSTAT_MAX_HEAT_SETPOINT_LIMIT_ID