1
1
"""Sonoff SWV - Zigbee smart water valve."""
2
2
3
3
from zigpy .quirks import CustomCluster
4
- from zigpy .quirks .v2 import QuirkBuilder
4
+ from zigpy .quirks .v2 import QuirkBuilder , ReportingConfig
5
5
from zigpy .quirks .v2 .homeassistant .binary_sensor import BinarySensorDeviceClass
6
6
import zigpy .types as t
7
+ from zigpy .zcl import foundation
7
8
from zigpy .zcl .foundation import BaseAttributeDefs , ZCLAttributeDef
8
9
9
10
@@ -20,6 +21,7 @@ class CustomSonoffCluster(CustomCluster):
20
21
"""Custom Sonoff cluster."""
21
22
22
23
cluster_id = 0xFC11
24
+ manufacturer_id_override : t .uint16_t = foundation .ZCLHeader .NO_MANUFACTURER_ID
23
25
24
26
class AttributeDefs (BaseAttributeDefs ):
25
27
"""Attribute definitions."""
@@ -29,10 +31,6 @@ class AttributeDefs(BaseAttributeDefs):
29
31
type = ValveState ,
30
32
)
31
33
32
- @property
33
- def _is_manuf_specific (self ):
34
- return False
35
-
36
34
37
35
(
38
36
QuirkBuilder ("SONOFF" , "SWV" )
@@ -43,6 +41,9 @@ def _is_manuf_specific(self):
43
41
device_class = BinarySensorDeviceClass .PROBLEM ,
44
42
attribute_converter = lambda x : x & ValveState .Water_Leakage ,
45
43
unique_id_suffix = "water_leak_status" ,
44
+ reporting_config = ReportingConfig (
45
+ min_interval = 30 , max_interval = 900 , reportable_change = 1
46
+ ),
46
47
translation_key = "water_leak" ,
47
48
fallback_name = "Water leak" ,
48
49
)
0 commit comments