diff --git a/tests/test_quirks_v2.py b/tests/test_quirks_v2.py index 4af0d0a3b..7c25795c5 100644 --- a/tests/test_quirks_v2.py +++ b/tests/test_quirks_v2.py @@ -626,6 +626,10 @@ async def test_quirks_v2_command_button(device_mock): "on_off_control_foo": OnOff.OnOffControl.Accept_Only_When_On }, ) + .command_button( + OnOff.ServerCommandDefs.on_with_timed_off.name, + OnOff.cluster_id, + ) .add_to_registry() ) @@ -634,7 +638,6 @@ async def test_quirks_v2_command_button(device_mock): assert quirked_device.endpoints[1].in_clusters.get(OnOff.cluster_id) is not None - # pylint: disable=line-too-long button: EntityMetadata = quirked_device.exposes_metadata[ (1, OnOff.cluster_id, ClusterType.Server) ][0] @@ -655,6 +658,13 @@ async def test_quirks_v2_command_button(device_mock): ) assert button != quirked_device + button = quirked_device.exposes_metadata[(1, OnOff.cluster_id, ClusterType.Server)][ + 2 + ] + + assert button.kwargs == {} + assert button.args == () + async def test_quirks_v2_also_applies_to(device_mock): """Test adding the same quirk for multiple manufacturers and models.""" diff --git a/zigpy/quirks/v2/__init__.py b/zigpy/quirks/v2/__init__.py index 5bb2d50ba..126d5f508 100644 --- a/zigpy/quirks/v2/__init__.py +++ b/zigpy/quirks/v2/__init__.py @@ -784,8 +784,8 @@ def command_button( initially_disabled=initially_disabled, translation_key=translation_key, command_name=command_name, - args=command_args, - kwargs=command_kwargs, + args=command_args if command_args is not None else (), + kwargs=command_kwargs if command_kwargs is not None else frozendict(), ) ) return self