Skip to content

Commit 4e50d52

Browse files
committed
Make filterState optional for filter components
1 parent c945c96 commit 4e50d52

File tree

1 file changed

+10
-4
lines changed
  • drivers/SmartThings/matter-thermostat/src

1 file changed

+10
-4
lines changed

drivers/SmartThings/matter-thermostat/src/init.lua

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -895,14 +895,20 @@ local function match_modular_profile_air_purifer(driver, device)
895895
local ac_filter_eps = embedded_cluster_utils.get_endpoints(device, clusters.ActivatedCarbonFilterMonitoring.ID)
896896

897897
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)
900898
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
901904
end
902905
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)
905906
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
906912
end
907913

908914
-- determine fan capabilities, note that airPurifierFanMode is already mandatory

0 commit comments

Comments
 (0)