@@ -4157,6 +4157,27 @@ void dotdot_create_unify_humidity_control_wrapper(const dotdot_unid_t unid, cons
41574157
41584158}
41594159
4160+ void dotdot_create_application_status_wrapper (const dotdot_unid_t unid, const dotdot_endpoint_id_t endpoint_id){
4161+ // Create and set a default value if undefined.
4162+ dotdot_create_application_status_busy_status (unid,endpoint_id);
4163+ if (false == dotdot_application_status_busy_status_is_reported_defined (unid,endpoint_id)){
4164+ dotdot_set_application_status_busy_status (unid,endpoint_id,REPORTED_ATTRIBUTE, static_cast <uint8_t >(0 ));
4165+ }
4166+
4167+ // Create and set a default value if undefined.
4168+ dotdot_create_application_status_wait_time (unid,endpoint_id);
4169+ if (false == dotdot_application_status_wait_time_is_reported_defined (unid,endpoint_id)){
4170+ dotdot_set_application_status_wait_time (unid,endpoint_id,REPORTED_ATTRIBUTE, static_cast <uint8_t >(0 ));
4171+ }
4172+
4173+ // Create and set a default value if undefined.
4174+ dotdot_create_application_status_reject_status (unid,endpoint_id);
4175+ if (false == dotdot_application_status_reject_status_is_reported_defined (unid,endpoint_id)){
4176+ dotdot_set_application_status_reject_status (unid,endpoint_id,REPORTED_ATTRIBUTE, static_cast <bool >(0 ));
4177+ }
4178+
4179+ }
4180+
41604181
41614182void dotdot_unretain_basic_wrapper (const dotdot_unid_t unid, const dotdot_endpoint_id_t endpoint_id){
41624183 char base_topic[256 ];
@@ -6633,6 +6654,25 @@ void dotdot_unretain_unify_humidity_control_wrapper(const dotdot_unid_t unid, co
66336654 uic_mqtt_dotdot_unify_humidity_control_publish_empty_supported_commands (unid, endpoint_id);
66346655}
66356656
6657+ void dotdot_unretain_application_status_wrapper (const dotdot_unid_t unid, const dotdot_endpoint_id_t endpoint_id){
6658+ char base_topic[256 ];
6659+ snprintf (base_topic, sizeof (base_topic), " ucl/by-unid/%s/ep%d" , unid, endpoint_id);
6660+ attribute_store::attribute ep_node = eed_attribute_store_get_endpoint_node (unid, endpoint_id);
6661+
6662+ uic_mqtt_dotdot_application_status_busy_status_unretain (base_topic,UCL_MQTT_PUBLISH_TYPE_ALL);
6663+ ep_node.child_by_type (DOTDOT_ATTRIBUTE_ID_APPLICATION_STATUS_BUSY_STATUS).delete_node ();
6664+
6665+ uic_mqtt_dotdot_application_status_wait_time_unretain (base_topic,UCL_MQTT_PUBLISH_TYPE_ALL);
6666+ ep_node.child_by_type (DOTDOT_ATTRIBUTE_ID_APPLICATION_STATUS_WAIT_TIME).delete_node ();
6667+
6668+ uic_mqtt_dotdot_application_status_reject_status_unretain (base_topic,UCL_MQTT_PUBLISH_TYPE_ALL);
6669+ ep_node.child_by_type (DOTDOT_ATTRIBUTE_ID_APPLICATION_STATUS_REJECT_STATUS).delete_node ();
6670+
6671+
6672+ uic_mqtt_dotdot_application_status_unretain_cluster_revision (base_topic);
6673+ uic_mqtt_dotdot_application_status_publish_empty_supported_commands (unid, endpoint_id);
6674+ }
6675+
66366676
66376677 void eed_dotdot_create_clusters (const dotdot_unid_t unid, const dotdot_endpoint_id_t endpoint_id) {
66386678 for (auto & pair : CreateClusterMap) {
@@ -6711,6 +6751,7 @@ std::map<std::string, eed_cluster_attribute_wrapper> CreateClusterMap = {
67116751{ " UnifyFanControl" , dotdot_create_unify_fan_control_wrapper },
67126752{ " UnifyThermostat" , dotdot_create_unify_thermostat_wrapper },
67136753{ " UnifyHumidityControl" , dotdot_create_unify_humidity_control_wrapper },
6754+ { " ApplicationStatus" , dotdot_create_application_status_wrapper },
67146755};
67156756
67166757std::map<std::string, eed_cluster_attribute_wrapper> CreateUnretainMap = {
@@ -6762,4 +6803,5 @@ std::map<std::string, eed_cluster_attribute_wrapper> CreateUnretainMap = {
67626803{ " UnifyFanControl" , dotdot_unretain_unify_fan_control_wrapper },
67636804{ " UnifyThermostat" , dotdot_unretain_unify_thermostat_wrapper },
67646805{ " UnifyHumidityControl" , dotdot_unretain_unify_humidity_control_wrapper },
6806+ { " ApplicationStatus" , dotdot_unretain_application_status_wrapper },
67656807};
0 commit comments