Skip to content

Commit 4d53f30

Browse files
authored
Fix Sinope device triggers (#3504)
1 parent 31d4d91 commit 4d53f30

File tree

2 files changed

+23
-8
lines changed

2 files changed

+23
-8
lines changed

tests/test_sinope.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -239,3 +239,18 @@ async def test_sinope_light_switch_reporting(zigpy_device_from_quirk, quirk):
239239

240240
assert len(request_mock.mock_calls) == 1
241241
assert len(bind_mock.mock_calls) == 1
242+
243+
244+
@pytest.mark.parametrize("quirk", (SinopeTechnologieslight,))
245+
async def test_sinope_light_device_triggers_def(zigpy_device_from_quirk, quirk):
246+
"""Test device automation triggers.
247+
248+
Make sure that values are actual ints and not instances of an enum class.
249+
"""
250+
251+
device: Device = zigpy_device_from_quirk(quirk)
252+
253+
for config in device.device_automation_triggers.values():
254+
val = config.get("args", {}).get("value")
255+
if val is not None:
256+
assert type(val) is int, type(val)

zhaquirks/sinope/__init__.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ class ButtonAction(t.enum8):
5252
ATTRIBUTE_ID: 84,
5353
ATTRIBUTE_NAME: ATTRIBUTE_ACTION,
5454
BUTTON: TURN_ON,
55-
VALUE: ButtonAction.Pressed_on,
55+
VALUE: int(ButtonAction.Pressed_on),
5656
},
5757
},
5858
(SHORT_PRESS, TURN_OFF): {
@@ -63,7 +63,7 @@ class ButtonAction(t.enum8):
6363
ATTRIBUTE_ID: 84,
6464
ATTRIBUTE_NAME: ATTRIBUTE_ACTION,
6565
BUTTON: TURN_OFF,
66-
VALUE: ButtonAction.Pressed_off,
66+
VALUE: int(ButtonAction.Pressed_off),
6767
},
6868
},
6969
(SHORT_RELEASE, TURN_ON): {
@@ -74,7 +74,7 @@ class ButtonAction(t.enum8):
7474
ATTRIBUTE_ID: 84,
7575
ATTRIBUTE_NAME: ATTRIBUTE_ACTION,
7676
BUTTON: TURN_ON,
77-
VALUE: ButtonAction.Released_on,
77+
VALUE: int(ButtonAction.Released_on),
7878
},
7979
},
8080
(SHORT_RELEASE, TURN_OFF): {
@@ -85,7 +85,7 @@ class ButtonAction(t.enum8):
8585
ATTRIBUTE_ID: 84,
8686
ATTRIBUTE_NAME: ATTRIBUTE_ACTION,
8787
BUTTON: TURN_OFF,
88-
VALUE: ButtonAction.Released_off,
88+
VALUE: int(ButtonAction.Released_off),
8989
},
9090
},
9191
(DOUBLE_PRESS, TURN_ON): {
@@ -96,7 +96,7 @@ class ButtonAction(t.enum8):
9696
ATTRIBUTE_ID: 84,
9797
ATTRIBUTE_NAME: ATTRIBUTE_ACTION,
9898
BUTTON: TURN_ON,
99-
VALUE: ButtonAction.Double_on,
99+
VALUE: int(ButtonAction.Double_on),
100100
},
101101
},
102102
(DOUBLE_PRESS, TURN_OFF): {
@@ -107,7 +107,7 @@ class ButtonAction(t.enum8):
107107
ATTRIBUTE_ID: 84,
108108
ATTRIBUTE_NAME: ATTRIBUTE_ACTION,
109109
BUTTON: TURN_OFF,
110-
VALUE: ButtonAction.Double_off,
110+
VALUE: int(ButtonAction.Double_off),
111111
},
112112
},
113113
(LONG_PRESS, TURN_ON): {
@@ -118,7 +118,7 @@ class ButtonAction(t.enum8):
118118
ATTRIBUTE_ID: 84,
119119
ATTRIBUTE_NAME: ATTRIBUTE_ACTION,
120120
BUTTON: TURN_ON,
121-
VALUE: ButtonAction.Long_on,
121+
VALUE: int(ButtonAction.Long_on),
122122
},
123123
},
124124
(LONG_PRESS, TURN_OFF): {
@@ -129,7 +129,7 @@ class ButtonAction(t.enum8):
129129
ATTRIBUTE_ID: 84,
130130
ATTRIBUTE_NAME: ATTRIBUTE_ACTION,
131131
BUTTON: TURN_OFF,
132-
VALUE: ButtonAction.Long_off,
132+
VALUE: int(ButtonAction.Long_off),
133133
},
134134
},
135135
}

0 commit comments

Comments
 (0)