@@ -665,5 +665,39 @@ void add_bounds_cb(cluster_t *cluster)
665
665
666
666
} /* thermostat */
667
667
668
+ namespace thermostat_user_interface_configuration {
669
+
670
+ void add_bounds_cb (cluster_t *cluster)
671
+ {
672
+ VerifyOrReturn (cluster != nullptr , ESP_LOGE (TAG, " Cluster is NULL. Add bounds Failed!!" ));
673
+ attribute_t *current_attribute = esp_matter::attribute::get_first (cluster);
674
+ VerifyOrReturn (current_attribute != nullptr , ESP_LOGE (TAG, " Attribute is NULL." ));
675
+ while (current_attribute) {
676
+ switch (esp_matter::attribute::get_id (current_attribute)) {
677
+
678
+ case ThermostatUserInterfaceConfiguration::Attributes::TemperatureDisplayMode::Id: {
679
+ uint8_t min = 0 , max = 1 ;
680
+ esp_matter::attribute::add_bounds (current_attribute, esp_matter_enum8 (min), esp_matter_enum8 (max));
681
+ break ;
682
+ }
683
+ case ThermostatUserInterfaceConfiguration::Attributes::KeypadLockout::Id: {
684
+ uint8_t min = 0 , max = 5 ;
685
+ esp_matter::attribute::add_bounds (current_attribute, esp_matter_enum8 (min), esp_matter_enum8 (max));
686
+ break ;
687
+ }
688
+ case ThermostatUserInterfaceConfiguration::Attributes::ScheduleProgrammingVisibility::Id: {
689
+ uint8_t min = 0 , max = 1 ;
690
+ esp_matter::attribute::add_bounds (current_attribute, esp_matter_enum8 (min), esp_matter_enum8 (max));
691
+ break ;
692
+ }
693
+ default :
694
+ break ;
695
+ }
696
+ current_attribute = esp_matter::attribute::get_next (current_attribute);
697
+ }
698
+ }
699
+
700
+ } /* thermostat_user_interface_configuration */
701
+
668
702
} /* cluster */
669
703
} /* esp_matter */
0 commit comments