From 1f29b7275bbbde4e1522532a4489d02b15aa9624 Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Sun, 4 Feb 2024 13:53:18 -0500 Subject: [PATCH] Swap `Direction` enum (#2965) * Invert use of `Server_to_Client` and `Client_to_Server` * Bump minimum zigpy version --- pyproject.toml | 2 +- tests/test_tuya_clusters.py | 6 +++--- zhaquirks/adeo/color_controller.py | 2 +- zhaquirks/inovelli/__init__.py | 10 +++++----- zhaquirks/legrand/cable_outlet.py | 2 +- zhaquirks/philips/rdm001.py | 2 +- zhaquirks/sengled/e1e_g7f.py | 2 +- zhaquirks/siglis/zigfred.py | 2 +- zhaquirks/tuya/__init__.py | 2 +- 9 files changed, 15 insertions(+), 15 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 0c694c2cf1..e9bf091b56 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -14,7 +14,7 @@ readme = "README.md" license = {text = "Apache License Version 2.0"} requires-python = ">=3.8" dependencies = [ - "zigpy>=0.60.3", + "zigpy>=0.62.0", ] [tool.setuptools.packages.find] diff --git a/tests/test_tuya_clusters.py b/tests/test_tuya_clusters.py index 9846757785..2dd809a66d 100644 --- a/tests/test_tuya_clusters.py +++ b/tests/test_tuya_clusters.py @@ -251,7 +251,7 @@ def test_tuya_cluster_request( ): """Test cluster specific request.""" - hdr = zcl_f.ZCLHeader.general(1, cmd_id, direction=zcl_f.Direction.Client_to_Server) + hdr = zcl_f.ZCLHeader.general(1, cmd_id, direction=zcl_f.Direction.Server_to_Client) hdr.frame_control.disable_default_response = False with mock.patch.object(TuyaCluster, handler_name) as handler: @@ -266,7 +266,7 @@ def test_tuya_cluster_request( def test_tuya_cluster_request_unk_command(default_rsp_mock, TuyaCluster): """Test cluster specific request handler -- no handler.""" - hdr = zcl_f.ZCLHeader.general(1, 0xFE, direction=zcl_f.Direction.Client_to_Server) + hdr = zcl_f.ZCLHeader.general(1, 0xFE, direction=zcl_f.Direction.Server_to_Client) hdr.frame_control.disable_default_response = False TuyaCluster.handle_cluster_request(hdr, (mock.sentinel.args,)) @@ -278,7 +278,7 @@ def test_tuya_cluster_request_unk_command(default_rsp_mock, TuyaCluster): def test_tuya_cluster_request_no_handler(default_rsp_mock, TuyaCluster): """Test cluster specific request handler -- no handler.""" - hdr = zcl_f.ZCLHeader.general(1, 0xFE, direction=zcl_f.Direction.Client_to_Server) + hdr = zcl_f.ZCLHeader.general(1, 0xFE, direction=zcl_f.Direction.Server_to_Client) hdr.frame_control.disable_default_response = False new_client_commands = TuyaCluster.client_commands.copy() diff --git a/zhaquirks/adeo/color_controller.py b/zhaquirks/adeo/color_controller.py index b8745769ea..5d32024ea4 100644 --- a/zhaquirks/adeo/color_controller.py +++ b/zhaquirks/adeo/color_controller.py @@ -71,7 +71,7 @@ class AdeoManufacturerCluster(EventableCluster): 0x00: foundation.ZCLCommandDef( "preset", {"param1": t.uint8_t, "param2": t.uint8_t}, - direction=foundation.Direction.Server_to_Client, + direction=foundation.Direction.Client_to_Server, is_manufacturer_specific=True, ) } diff --git a/zhaquirks/inovelli/__init__.py b/zhaquirks/inovelli/__init__.py index 10692604b1..3ac4ece24a 100644 --- a/zhaquirks/inovelli/__init__.py +++ b/zhaquirks/inovelli/__init__.py @@ -163,7 +163,7 @@ class Inovelli_VZM31SN_Cluster(CustomCluster): 0x00: foundation.ZCLCommandDef( "button_event", {"button_pressed": t.uint8_t, "press_type": t.uint8_t}, - direction=foundation.Direction.Server_to_Client, + direction=foundation.Direction.Client_to_Server, is_manufacturer_specific=True, ), 0x01: foundation.ZCLCommandDef( @@ -174,13 +174,13 @@ class Inovelli_VZM31SN_Cluster(CustomCluster): "led_level": t.uint8_t, "led_duration": t.uint8_t, }, - direction=foundation.Direction.Server_to_Client, + direction=foundation.Direction.Client_to_Server, is_manufacturer_specific=True, ), 0x02: foundation.ZCLCommandDef( "reset_energy_meter", {}, - direction=foundation.Direction.Server_to_Client, + direction=foundation.Direction.Client_to_Server, is_manufacturer_specific=True, ), 0x03: foundation.ZCLCommandDef( @@ -192,7 +192,7 @@ class Inovelli_VZM31SN_Cluster(CustomCluster): "led_level": t.uint8_t, "led_duration": t.uint8_t, }, - direction=foundation.Direction.Server_to_Client, + direction=foundation.Direction.Client_to_Server, is_manufacturer_specific=True, ), 0x24: foundation.ZCLCommandDef( @@ -200,7 +200,7 @@ class Inovelli_VZM31SN_Cluster(CustomCluster): { "notification_type": t.uint8_t, }, - direction=foundation.Direction.Server_to_Client, + direction=foundation.Direction.Client_to_Server, is_manufacturer_specific=True, ), } diff --git a/zhaquirks/legrand/cable_outlet.py b/zhaquirks/legrand/cable_outlet.py index 963f4484e1..2f18979696 100644 --- a/zhaquirks/legrand/cable_outlet.py +++ b/zhaquirks/legrand/cable_outlet.py @@ -84,7 +84,7 @@ class ServerCommandDefs(BaseCommandDefs): set_pilot_wire_mode = ZCLCommandDef( id=0x00, schema={"mode": PilotWireMode}, - direction=Direction.Server_to_Client, + direction=Direction.Client_to_Server, is_manufacturer_specific=True, ) diff --git a/zhaquirks/philips/rdm001.py b/zhaquirks/philips/rdm001.py index 764e317487..69fad2bf1e 100644 --- a/zhaquirks/philips/rdm001.py +++ b/zhaquirks/philips/rdm001.py @@ -84,7 +84,7 @@ class PhilipsRemoteCluster(CustomCluster): "param6": t.uint8_t, }, is_manufacturer_specific=True, - direction=foundation.Direction.Server_to_Client, + direction=foundation.Direction.Client_to_Server, ) } BUTTONS = { diff --git a/zhaquirks/sengled/e1e_g7f.py b/zhaquirks/sengled/e1e_g7f.py index ba3808ca3a..0c80a76df0 100644 --- a/zhaquirks/sengled/e1e_g7f.py +++ b/zhaquirks/sengled/e1e_g7f.py @@ -77,7 +77,7 @@ class SengledE1EG7FManufacturerSpecificCluster(CustomCluster): "param3": t.uint8_t, "param4": t.uint8_t, }, - direction=foundation.Direction.Server_to_Client, + direction=foundation.Direction.Client_to_Server, is_manufacturer_specific=True, ) } diff --git a/zhaquirks/siglis/zigfred.py b/zhaquirks/siglis/zigfred.py index ecf6420deb..a2756ef72b 100644 --- a/zhaquirks/siglis/zigfred.py +++ b/zhaquirks/siglis/zigfred.py @@ -60,7 +60,7 @@ class ZigfredCluster(CustomCluster): ZIGFRED_CLUSTER_COMMAND_BUTTON_EVENT: foundation.ZCLCommandDef( "button_event", {"param1": t.uint32_t}, - direction=foundation.Direction.Server_to_Client, + direction=foundation.Direction.Client_to_Server, is_manufacturer_specific=True, ), } diff --git a/zhaquirks/tuya/__init__.py b/zhaquirks/tuya/__init__.py index 9c1ece1c67..b940f9b09d 100644 --- a/zhaquirks/tuya/__init__.py +++ b/zhaquirks/tuya/__init__.py @@ -1572,7 +1572,7 @@ def handle_cluster_request( """Handle cluster specific request.""" try: - if hdr.direction == foundation.Direction.Client_to_Server: + if hdr.direction == foundation.Direction.Server_to_Client: # server_cluster -> client_cluster cluster specific command handler_name = f"handle_{self.client_commands[hdr.command_id].name}" else: