Skip to content

Commit 3d88670

Browse files
authored
WWSTCERT-9857 Add Zooz ZSE50 to zwave-siren (for WWST Cert) (#2681)
* Add Zooz ZSE50 to zwave-siren
1 parent 6f306e3 commit 3d88670

File tree

9 files changed

+1452
-3
lines changed

9 files changed

+1452
-3
lines changed

drivers/SmartThings/zwave-siren/fingerprints.yml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,16 @@
11
zwaveManufacturer:
2-
- id: "Zooz"
2+
- id: "Zooz/ZSE19"
33
deviceLabel: Zooz Multisiren
44
manufacturerId: 0x027A
55
productType: 0x000C
66
productId: 0x0003
77
deviceProfileName: multifunctional-siren
8+
- id: "Zooz/ZSE50"
9+
deviceLabel: Zooz ZSE50 Siren and Chime
10+
manufacturerId: 0x027A
11+
productType: 0x0004
12+
productId: 0x0369
13+
deviceProfileName: zooz-zse50
814
- id: "Everspring"
915
deviceLabel: Everspring Siren
1016
manufacturerId: 0x0060
Lines changed: 309 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,309 @@
1+
# Zooz ZSE50 Siren/Chime
2+
# With deviceConfig - allows setting a tone from routines
3+
name: zooz-zse50
4+
components:
5+
- id: main
6+
capabilities:
7+
- id: alarm
8+
version: 1
9+
- id: chime
10+
version: 1
11+
- id: mode
12+
version: 1
13+
- id: powerSource
14+
version: 1
15+
- id: audioVolume
16+
version: 1
17+
- id: battery
18+
version: 1
19+
- id: firmwareUpdate
20+
version: 1
21+
- id: refresh
22+
version: 1
23+
categories:
24+
- name: Siren
25+
### PREFERENCES ###
26+
preferences:
27+
#param 1
28+
- name: "playbackMode"
29+
title: "Playback Mode"
30+
description: "* = Default; Set siren playback mode: once (0), loop for x seconds (1), loop x times (2), loop until cancel (3), no sound (4)."
31+
required: false
32+
preferenceType: enumeration
33+
definition:
34+
options:
35+
0: "Play once *"
36+
1: "Play in loop for set duration"
37+
2: "Play in loop for set number"
38+
3: "Play in loop until stopped"
39+
4: "No sound, LED only"
40+
default: 0
41+
#param 2
42+
- name: "playbackDuration"
43+
title: "Playback Duration"
44+
description: "Default: 180; Set playback duration for the siren (in seconds) when the siren is in playback mode 1."
45+
required: false
46+
preferenceType: integer
47+
definition:
48+
minimum: 1
49+
maximum: 900
50+
default: 180
51+
#param 3
52+
- name: "playbackLoop"
53+
title: "Playback Loop Count"
54+
description: "Default: 1; Set the number of playback loops for the selected tone when the siren is in playback mode 2."
55+
required: false
56+
preferenceType: integer
57+
definition:
58+
minimum: 1
59+
maximum: 99
60+
default: 1
61+
#param 4
62+
- name: "playbackTone"
63+
title: "Playback Tone"
64+
description: "Set the default tone for the siren playback. Choose the number of the file in the library as value. Check the 'modes' list for the id numbers"
65+
required: false
66+
preferenceType: integer
67+
definition:
68+
minimum: 1
69+
maximum: 50
70+
default: 1
71+
#param 5 - playbackVolume ## Handled with volume command
72+
#param 6
73+
- name: "ledMode"
74+
title: "LED Indicator Mode"
75+
description: "* = Default; Set the LED indicator mode for the siren: off (0), strobe (1), police strobe (2), pulse (3), solid on (4). See documentation for details."
76+
required: false
77+
preferenceType: enumeration
78+
definition:
79+
options:
80+
0: "LED always off"
81+
1: "LED strobe single color *"
82+
2: "LED strobe red and blue"
83+
3: "LED pulse single color"
84+
4: "LED solid on single color"
85+
default: 1
86+
#param 7
87+
- name: "ledColor"
88+
title: "LED Indicator Color"
89+
description: "Default: 0; Set the LED indicator color: red (0), yellow (42), green (85), indigo (127), blue (170), purple (212), or white (255). More colors available through custom values corresponding to the color wheel. See advanced documentation for details."
90+
required: false
91+
preferenceType: integer
92+
definition:
93+
minimum: 0
94+
maximum: 255
95+
default: 0
96+
#param 8
97+
- name: "lowBattery"
98+
title: "Low Battery Report"
99+
description: "Which % level should the device report low battery to the hub."
100+
required: false
101+
preferenceType: enumeration
102+
definition:
103+
options:
104+
10: "10% [DEFAULT]"
105+
15: "15%"
106+
20: "20%"
107+
25: "25%"
108+
30: "30%"
109+
35: "35%"
110+
40: "40%"
111+
default: 10
112+
#param 9
113+
- name: "ledBatteryMode"
114+
title: "LED In Back-Up Battery Mode"
115+
description: "* = Default; Set the LED indicator in back-up battery mode: off (0), regular LED mode (1), pulse white for full battery and red for low battery (2)."
116+
required: false
117+
preferenceType: enumeration
118+
definition:
119+
options:
120+
0: "LED off"
121+
1: "Regular LED mode *"
122+
2: "Pulse white for full, red for low"
123+
default: 1
124+
#param 10
125+
- name: "btnToneSelection"
126+
title: "Button Tone Selection"
127+
description: "Disable tone selection from physical buttons on the siren (0). When disabled, you'll only be able to program tones using the advanced parameters in the Z-Wave UI. Expert users only, see documentation for details."
128+
required: false
129+
preferenceType: enumeration
130+
definition:
131+
options:
132+
0: "Disabled"
133+
1: "Enabled [DEFAULT]"
134+
default: 1
135+
#param 11
136+
- name: "btnVolSelection"
137+
title: "Button Volume Selection"
138+
description: "Disable volume adjustment from physical buttons on the siren (0). When disabled, you'll only be able to adjust volume using the advanced parameters in the Z-Wave UI. Expert users only, see documentation for details."
139+
required: false
140+
preferenceType: enumeration
141+
definition:
142+
options:
143+
0: "Disabled"
144+
1: "Enabled [DEFAULT]"
145+
default: 1
146+
#param 13
147+
- name: "systemVolume"
148+
title: "System Message Volume"
149+
description: "Default: 50; Set system message volume (0-100, 0 – mute)."
150+
required: false
151+
preferenceType: integer
152+
definition:
153+
minimum: 0
154+
maximum: 100
155+
default: 50
156+
#param 14
157+
- name: "ledBrightness"
158+
title: "LED Indicator Brightness"
159+
description: "Default: 5; Choose the LED indicator's brightness level (0 – off, 10 – high brightness)."
160+
required: false
161+
preferenceType: integer
162+
definition:
163+
minimum: 0
164+
maximum: 10
165+
default: 5
166+
#param 15
167+
- name: "batteryFrequency"
168+
title: "Battery Reporting Frequency"
169+
description: "Default: 12; Set the reporting interval for battery (1-84 hours)."
170+
required: false
171+
preferenceType: integer
172+
definition:
173+
minimum: 1
174+
maximum: 84
175+
default: 12
176+
#param 16
177+
- name: "batteryThreshold"
178+
title: "Battery Reporting Threshold"
179+
description: "Default: 0; Set the threshold for battery reporting in % changes. Set to 0 to disable reporting based on threshold."
180+
required: false
181+
preferenceType: integer
182+
definition:
183+
minimum: 0
184+
maximum: 20
185+
default: 0
186+
187+
### DEVICE CONFIG ###
188+
deviceConfig:
189+
dashboard:
190+
states:
191+
- component: main
192+
capability: chime
193+
version: 1
194+
actions:
195+
- component: main
196+
capability: chime
197+
version: 1
198+
basicPlus: [ ]
199+
detailView:
200+
- component: main
201+
capability: alarm
202+
version: 1
203+
values:
204+
- key: alarm.value
205+
enabledValues:
206+
- 'off'
207+
- 'both'
208+
- key: "{{enumCommands}}"
209+
enabledValues:
210+
- 'off'
211+
- 'both'
212+
- component: main
213+
capability: chime
214+
version: 1
215+
- component: main
216+
capability: mode
217+
version: 1
218+
- component: main
219+
capability: powerSource
220+
version: 1
221+
values:
222+
- key: powerSource.value
223+
enabledValues:
224+
- 'battery'
225+
- 'mains'
226+
- component: main
227+
capability: audioVolume
228+
version: 1
229+
- component: main
230+
capability: battery
231+
version: 1
232+
- component: main
233+
capability: refresh
234+
version: 1
235+
automation:
236+
conditions:
237+
- component: main
238+
capability: alarm
239+
version: 1
240+
values:
241+
- key: alarm.value
242+
enabledValues:
243+
- 'off'
244+
- 'both'
245+
- component: main
246+
capability: chime
247+
version: 1
248+
- component: main
249+
capability: mode
250+
version: 1
251+
patch:
252+
- op: replace
253+
path: /0/displayType
254+
value: dynamicList
255+
- op: add
256+
path: /0/dynamicList
257+
value:
258+
value: mode.value
259+
command: setMode
260+
supportedValues:
261+
value: supportedArguments.value
262+
- op: remove
263+
path: /0/list
264+
- component: main
265+
capability: powerSource
266+
version: 1
267+
values:
268+
- key: powerSource.value
269+
enabledValues:
270+
- 'battery'
271+
- 'mains'
272+
step: 1
273+
- component: main
274+
capability: audioVolume
275+
version: 1
276+
- component: main
277+
capability: battery
278+
version: 1
279+
actions:
280+
- component: main
281+
capability: alarm
282+
version: 1
283+
values:
284+
- key: "{{enumCommands}}"
285+
enabledValues:
286+
- 'off'
287+
- 'both'
288+
- component: main
289+
capability: chime
290+
version: 1
291+
- component: main
292+
capability: mode
293+
version: 1
294+
patch:
295+
- op: replace
296+
path: /0/displayType
297+
value: dynamicList
298+
- op: add
299+
path: /0/dynamicList
300+
value:
301+
value: mode.value
302+
command: setMode
303+
supportedValues:
304+
value: supportedArguments.value
305+
- op: remove
306+
path: /0/list
307+
- component: main
308+
capability: audioVolume
309+
version: 1

drivers/SmartThings/zwave-siren/src/init.lua

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,8 @@ local driver_template = {
8080
capabilities.tamperAlert,
8181
capabilities.temperatureMeasurement,
8282
capabilities.relativeHumidityMeasurement,
83-
capabilities.chime
83+
capabilities.chime,
84+
capabilities.powerSource
8485
},
8586
sub_drivers = require("sub_drivers"),
8687
lifecycle_handlers = {

drivers/SmartThings/zwave-siren/src/preferences.lua

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,32 @@ local devices = {
4646
PARAMETERS = {
4747
alarmLength = {parameter_number = 1, size = 2}
4848
}
49-
}
49+
},
50+
ZOOZ_ZSE50_SIREN = {
51+
MATCHING_MATRIX = {
52+
mfrs = 0x027A,
53+
product_types = 0x0004,
54+
product_ids = 0x0369
55+
},
56+
PARAMETERS = {
57+
playbackMode = { parameter_number = 1, size = 1 },
58+
playbackDuration = { parameter_number = 2, size = 2 },
59+
playbackLoop = { parameter_number = 3, size = 1 },
60+
playbackTone = { parameter_number = 4, size = 1 },
61+
playbackVolume = { parameter_number = 5, size = 1 },
62+
ledMode = { parameter_number = 6, size = 1 },
63+
ledColor = { parameter_number = 7, size = 1 },
64+
lowBattery = { parameter_number = 8, size = 1 },
65+
ledBatteryMode = { parameter_number = 9, size = 1 },
66+
btnToneSelection = { parameter_number = 10, size = 1 },
67+
btnVolSelection = { parameter_number = 11, size = 1 },
68+
basicSetGrp2 = { parameter_number = 12, size = 1 }, --Not Used
69+
systemVolume = { parameter_number = 13, size = 1 },
70+
ledBrightness = { parameter_number = 14, size = 1 },
71+
batteryFrequency = { parameter_number = 15, size = 1 },
72+
batteryThreshold = { parameter_number = 16, size = 1 }
73+
}
74+
},
5075
}
5176

5277
local preferences = {}
@@ -70,4 +95,5 @@ preferences.to_numeric_value = function(new_value)
7095
end
7196
return numeric
7297
end
98+
7399
return preferences

drivers/SmartThings/zwave-siren/src/sub_drivers.lua

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
local lazy_load_if_possible = require "lazy_load_subdriver"
55
local sub_drivers = {
66
lazy_load_if_possible("multifunctional-siren"),
7+
lazy_load_if_possible("zooz-zse50"),
78
lazy_load_if_possible("zwave-sound-sensor"),
89
lazy_load_if_possible("ecolink-wireless-siren"),
910
lazy_load_if_possible("philio-sound-siren"),

0 commit comments

Comments
 (0)