@@ -895,14 +895,20 @@ local function match_modular_profile_air_purifer(driver, device)
895
895
local ac_filter_eps = embedded_cluster_utils .get_endpoints (device , clusters .ActivatedCarbonFilterMonitoring .ID )
896
896
897
897
if # hepa_filter_eps > 0 then
898
- -- TODO: only one of these is required by spec
899
- table.insert (hepa_filter_component_capabilities , capabilities .filterState .ID )
900
898
table.insert (hepa_filter_component_capabilities , capabilities .filterStatus .ID )
899
+
900
+ local filter_state_eps = embedded_cluster_utils .get_endpoints (device , clusters .HepaFilterMonitoring .ID , {feature_bitmap = clusters .HepaFilterMonitoring .types .Feature .CONDITION })
901
+ if # filter_state_eps > 0 then
902
+ table.insert (hepa_filter_component_capabilities , capabilities .filterState .ID )
903
+ end
901
904
end
902
905
if # ac_filter_eps > 0 then
903
- -- TODO: only one of these is required by spec
904
- table.insert (ac_filter_component_capabilties , capabilities .filterState .ID )
905
906
table.insert (ac_filter_component_capabilties , capabilities .filterStatus .ID )
907
+
908
+ local filter_state_eps = embedded_cluster_utils .get_endpoints (device , clusters .ActivatedCarbonFilterMonitoring .ID , {feature_bitmap = clusters .ActivatedCarbonFilterMonitoring .types .Feature .CONDITION })
909
+ if # filter_state_eps > 0 then
910
+ table.insert (ac_filter_component_capabilties , capabilities .filterState .ID )
911
+ end
906
912
end
907
913
908
914
-- determine fan capabilities, note that airPurifierFanMode is already mandatory
0 commit comments