Matter: list Window Covering commands in AcceptedCommandList (#25149)

The Shutter and Shutter + Tilt plugins handle UpOrOpen, DownOrClose,
StopMotion and GoToLiftPercentage (and GoToTiltPercentage for tilt) in
invoke_request(), but AcceptedCommandList (0xFFF9) of the Window
Covering cluster was empty. Controllers that build their feature set
from this list, such as Home Assistant, then don't offer setting the
position or tilt.

Override get_accepted_commands() in both plugins to report the
commands they implement.

Fixes #25146
This commit is contained in:
Zhaoqi Xu authored and GitHub committed 2026-10-19 10:31:39 +02:00
1 parent 6389d75c66
commit 81fdbb0bbe
2 files changed
+22

No files matched your search

@@ -308,6 +308,17 @@ class Matter_Plugin_Shutter : Matter_Plugin_Device
end
#############################################################
# get_accepted_commands
#
# Window Covering: UpOrOpen, DownOrClose, StopMotion, GoToLiftPercentage
def get_accepted_commands(cluster)
if cluster == 0x0102
return bytes("00010205")
end
return super(self).get_accepted_commands(cluster)
end
#############################################################
# parse sensor
#
@@ -255,5 +255,16 @@ class Matter_Plugin_ShutterTilt : Matter_Plugin_Shutter
end
#############################################################
# get_accepted_commands
#
# Window Covering: lift commands, plus GoToTiltPercentage
def get_accepted_commands(cluster)
if cluster == 0x0102
return bytes("0001020508")
end
return super(self).get_accepted_commands(cluster)
end
end
matter.Plugin_ShutterTilt = Matter_Plugin_ShutterTilt