pyg90alarm 2.1.0__py3-none-any.whl → 2.2.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -19,841 +19,825 @@
19
19
  # SOFTWARE.
20
20
 
21
21
  """
22
- Sensor definitions for G90 devices, required when modifying them since writing
23
- a sensor to the device requires values not present on read.
22
+ Sensor definitions for G90 alarm panel.
24
23
  """
25
- from typing import NamedTuple
26
- from enum import IntEnum
24
+ from __future__ import annotations
25
+ import logging
26
+ from .base import (
27
+ G90PeripheralDefinition,
28
+ G90PeripheralDefinitionsBase,
29
+ G90PeripheralTypes,
30
+ G90PeripheralProtocols,
31
+ G90PeripheralRwModes,
32
+ G90PeripheralMatchModes,
33
+ unique_definitions
34
+ )
27
35
 
28
-
29
- class SensorMatchMode(IntEnum):
30
- """
31
- Defines compare (match) mode for the sensor.
32
- """
33
- ALL = 0
34
- ONLY20BITS = 1
35
- ONLY16BITS = 2
36
+ _LOGGER = logging.getLogger(__name__)
36
37
 
37
38
 
38
- class SensorRwMode(IntEnum):
39
+ @unique_definitions
40
+ class G90SensorDefinitions(G90PeripheralDefinitionsBase):
39
41
  """
40
- Defines read/write mode for the sensor.
42
+ Sensor definitions for G90 devices, required when modifying them since
43
+ writing a sensor to the device requires values not present on read.
41
44
  """
42
- READ = 0
43
- WRITE = 1
44
- READ_WRITE = 2
45
+ SENSOR_DEFINITIONS = [
46
+ G90PeripheralDefinition(
47
+ type=G90PeripheralTypes.CORD_SENSOR,
48
+ subtype=1,
49
+ rx=0,
50
+ tx=0,
51
+ private_data='00',
52
+ rw_mode=G90PeripheralRwModes.READ,
53
+ match_mode=G90PeripheralMatchModes.ONLY20BITS,
54
+ name="Door Sensor: Wired",
55
+ protocol=G90PeripheralProtocols.CORD,
56
+ timeout=0,
57
+ baudrate=1480,
58
+ node_count=1
59
+ ),
60
+ G90PeripheralDefinition(
61
+ type=G90PeripheralTypes.CORD_SENSOR,
62
+ subtype=2,
63
+ rx=0,
64
+ tx=0,
65
+ private_data='00',
66
+ rw_mode=G90PeripheralRwModes.READ,
67
+ match_mode=G90PeripheralMatchModes.ONLY20BITS,
68
+ name="Glass Break Sensor: Wired",
69
+ protocol=G90PeripheralProtocols.CORD,
70
+ timeout=0,
71
+ baudrate=1480,
72
+ node_count=1
73
+ ),
74
+ G90PeripheralDefinition(
75
+ type=G90PeripheralTypes.CORD_SENSOR,
76
+ subtype=3,
77
+ rx=0,
78
+ tx=0,
79
+ private_data='00',
80
+ rw_mode=G90PeripheralRwModes.READ,
81
+ match_mode=G90PeripheralMatchModes.ONLY20BITS,
82
+ name="Gas Sensor: Wired",
83
+ protocol=G90PeripheralProtocols.CORD,
84
+ timeout=0,
85
+ baudrate=1480,
86
+ node_count=1
87
+ ),
88
+ G90PeripheralDefinition(
89
+ type=G90PeripheralTypes.CORD_SENSOR,
90
+ subtype=4,
91
+ rx=0,
92
+ tx=0,
93
+ private_data='00',
94
+ rw_mode=G90PeripheralRwModes.READ,
95
+ match_mode=G90PeripheralMatchModes.ONLY20BITS,
96
+ name="Smoke Sensor: Wired",
97
+ protocol=G90PeripheralProtocols.CORD,
98
+ timeout=0,
99
+ baudrate=1480,
100
+ node_count=1
101
+ ),
102
+ G90PeripheralDefinition(
103
+ type=G90PeripheralTypes.CORD_SENSOR,
104
+ subtype=5,
105
+ rx=0,
106
+ tx=0,
107
+ private_data='00',
108
+ rw_mode=G90PeripheralRwModes.READ,
109
+ match_mode=G90PeripheralMatchModes.ONLY20BITS,
110
+ name="SOS Button: Wired",
111
+ protocol=G90PeripheralProtocols.CORD,
112
+ timeout=0,
113
+ baudrate=1480,
114
+ node_count=1
115
+ ),
116
+ G90PeripheralDefinition(
117
+ type=G90PeripheralTypes.CORD_SENSOR,
118
+ subtype=6,
119
+ rx=0,
120
+ tx=0,
121
+ private_data='00',
122
+ rw_mode=G90PeripheralRwModes.READ,
123
+ match_mode=G90PeripheralMatchModes.ONLY20BITS,
124
+ name="Vibration Sensor: Wired",
125
+ protocol=G90PeripheralProtocols.CORD,
126
+ timeout=0,
127
+ baudrate=1480,
128
+ node_count=1
129
+ ),
130
+ G90PeripheralDefinition(
131
+ type=G90PeripheralTypes.CORD_SENSOR,
132
+ subtype=7,
133
+ rx=0,
134
+ tx=0,
135
+ private_data='00',
136
+ rw_mode=G90PeripheralRwModes.READ,
137
+ match_mode=G90PeripheralMatchModes.ONLY20BITS,
138
+ name="Water Leak Sensor: Wired",
139
+ protocol=G90PeripheralProtocols.CORD,
140
+ timeout=0,
141
+ baudrate=1480,
142
+ node_count=1
143
+ ),
144
+ G90PeripheralDefinition(
145
+ type=G90PeripheralTypes.CORD_SENSOR,
146
+ subtype=9,
147
+ rx=0,
148
+ tx=0,
149
+ private_data='00',
150
+ rw_mode=G90PeripheralRwModes.READ,
151
+ match_mode=G90PeripheralMatchModes.ONLY20BITS,
152
+ name="Beam Sensor: Wired",
153
+ protocol=G90PeripheralProtocols.CORD,
154
+ timeout=0,
155
+ baudrate=1480,
156
+ node_count=1
157
+ ),
158
+ G90PeripheralDefinition(
159
+ type=G90PeripheralTypes.CORD_SENSOR,
160
+ subtype=8,
161
+ rx=0,
162
+ tx=0,
163
+ private_data='00',
164
+ rw_mode=G90PeripheralRwModes.READ,
165
+ match_mode=G90PeripheralMatchModes.ONLY20BITS,
166
+ name="PIR Motion Sensor: Wired",
167
+ protocol=G90PeripheralProtocols.CORD,
168
+ timeout=0,
169
+ baudrate=1480,
170
+ node_count=1
171
+ ),
172
+ G90PeripheralDefinition(
173
+ type=G90PeripheralTypes.CORD_SENSOR,
174
+ subtype=11,
175
+ rx=0,
176
+ tx=0,
177
+ private_data='00',
178
+ rw_mode=G90PeripheralRwModes.READ,
179
+ match_mode=G90PeripheralMatchModes.ONLY20BITS,
180
+ name="RFID: Wired",
181
+ protocol=G90PeripheralProtocols.CORD,
182
+ timeout=0,
183
+ baudrate=1480,
184
+ node_count=1
185
+ ),
186
+ G90PeripheralDefinition(
187
+ type=G90PeripheralTypes.CORD_SENSOR,
188
+ subtype=12,
189
+ rx=0,
190
+ tx=0,
191
+ private_data='00',
192
+ rw_mode=G90PeripheralRwModes.READ,
193
+ match_mode=G90PeripheralMatchModes.ONLY20BITS,
194
+ name="Door Bell: Wired",
195
+ protocol=G90PeripheralProtocols.CORD,
196
+ timeout=0,
197
+ baudrate=1480,
198
+ node_count=1
199
+ ),
200
+ G90PeripheralDefinition(
201
+ type=G90PeripheralTypes.IR_2_4G,
202
+ subtype=0,
203
+ rx=0,
204
+ tx=0,
205
+ private_data='00',
206
+ rw_mode=G90PeripheralRwModes.WRITE,
207
+ match_mode=G90PeripheralMatchModes.ONLY20BITS,
208
+ name="Infrared Transcoder",
209
+ protocol=G90PeripheralProtocols.RF_PRIVATE,
210
+ timeout=0,
211
+ baudrate=800,
212
+ node_count=1
213
+ ),
45
214
 
215
+ G90PeripheralDefinition(
216
+ type=G90PeripheralTypes.TOUCH_SWITCH_2_4G,
217
+ subtype=1,
218
+ rx=0,
219
+ tx=0,
220
+ private_data='00',
221
+ rw_mode=G90PeripheralRwModes.WRITE,
222
+ match_mode=G90PeripheralMatchModes.ONLY20BITS,
223
+ name="Switch: 2.4G Type 1",
224
+ protocol=G90PeripheralProtocols.RF_1527,
225
+ timeout=0,
226
+ baudrate=960,
227
+ node_count=1
228
+ ),
229
+ G90PeripheralDefinition(
230
+ type=G90PeripheralTypes.TOUCH_SWITCH_2_4G,
231
+ subtype=2,
232
+ rx=0,
233
+ tx=0,
234
+ private_data='00',
235
+ rw_mode=G90PeripheralRwModes.WRITE,
236
+ match_mode=G90PeripheralMatchModes.ONLY20BITS,
237
+ name="Switch: 2.4G Type 2",
238
+ protocol=G90PeripheralProtocols.RF_1527,
239
+ timeout=0,
240
+ baudrate=960,
241
+ node_count=2
242
+ ),
243
+ G90PeripheralDefinition(
244
+ type=G90PeripheralTypes.TOUCH_SWITCH_2_4G,
245
+ subtype=3,
246
+ rx=0,
247
+ tx=0,
248
+ private_data='00',
249
+ rw_mode=G90PeripheralRwModes.WRITE,
250
+ match_mode=G90PeripheralMatchModes.ONLY20BITS,
251
+ name="Switch: 2.4G Type 3",
252
+ protocol=G90PeripheralProtocols.RF_1527,
253
+ timeout=0,
254
+ baudrate=960,
255
+ node_count=3
256
+ ),
257
+ G90PeripheralDefinition(
258
+ type=G90PeripheralTypes.TOUCH_SWITCH_2_4G,
259
+ subtype=4,
260
+ rx=0,
261
+ tx=0,
262
+ private_data='00',
263
+ rw_mode=G90PeripheralRwModes.WRITE,
264
+ match_mode=G90PeripheralMatchModes.ONLY20BITS,
265
+ name="Switch: 2.4G Type 4",
266
+ protocol=G90PeripheralProtocols.RF_1527,
267
+ timeout=0,
268
+ baudrate=960,
269
+ node_count=4
270
+ ),
271
+ G90PeripheralDefinition(
272
+ type=G90PeripheralTypes.DOOR,
273
+ subtype=0,
274
+ rx=5,
275
+ tx=0,
276
+ private_data='F100f5017d02f803f90400',
277
+ rw_mode=G90PeripheralRwModes.READ,
278
+ match_mode=G90PeripheralMatchModes.ONLY16BITS,
279
+ name="Door Sensor: WDS07",
280
+ protocol=G90PeripheralProtocols.RF_2262,
281
+ timeout=0,
282
+ baudrate=0,
283
+ node_count=1
284
+ ),
285
+ G90PeripheralDefinition(
286
+ type=G90PeripheralTypes.DOOR,
287
+ subtype=1,
288
+ rx=2,
289
+ tx=0,
290
+ private_data='0001020400',
291
+ rw_mode=G90PeripheralRwModes.READ,
292
+ match_mode=G90PeripheralMatchModes.ONLY20BITS,
293
+ name="Door Sensor: Non-smart",
294
+ protocol=G90PeripheralProtocols.RF_1527,
295
+ timeout=0,
296
+ baudrate=0,
297
+ node_count=1
298
+ ),
299
+ G90PeripheralDefinition(
300
+ type=G90PeripheralTypes.DOOR,
301
+ subtype=3,
302
+ rx=0,
303
+ tx=0,
304
+ private_data='00',
305
+ rw_mode=G90PeripheralRwModes.READ,
306
+ match_mode=G90PeripheralMatchModes.ALL,
307
+ name="Door Sensor: WRDS01",
308
+ protocol=G90PeripheralProtocols.RF_1527,
309
+ timeout=0,
310
+ baudrate=0,
311
+ node_count=1
312
+ ),
313
+ G90PeripheralDefinition(
314
+ type=G90PeripheralTypes.DOOR,
315
+ subtype=2,
316
+ rx=5,
317
+ tx=0,
318
+ private_data='F100f5017d02f803f904',
319
+ rw_mode=G90PeripheralRwModes.READ,
320
+ match_mode=G90PeripheralMatchModes.ONLY16BITS,
321
+ name="Door Sensor: Smart",
322
+ protocol=G90PeripheralProtocols.RF_2262,
323
+ timeout=0,
324
+ baudrate=0,
325
+ node_count=1
326
+ ),
327
+ G90PeripheralDefinition(
328
+ type=G90PeripheralTypes.GLASS,
329
+ subtype=0,
330
+ rx=0,
331
+ tx=0,
332
+ private_data='00',
333
+ rw_mode=G90PeripheralRwModes.READ,
334
+ match_mode=G90PeripheralMatchModes.ALL,
335
+ name="Glass Break Sensor: BLPS",
336
+ protocol=G90PeripheralProtocols.RF_1527,
337
+ timeout=0,
338
+ baudrate=0,
339
+ node_count=1
340
+ ),
341
+ G90PeripheralDefinition(
342
+ type=G90PeripheralTypes.GAS,
343
+ subtype=0,
344
+ rx=0,
345
+ tx=0,
346
+ private_data='00',
347
+ rw_mode=G90PeripheralRwModes.READ,
348
+ match_mode=G90PeripheralMatchModes.ALL,
349
+ name="Gas Sensor: WGD01",
350
+ protocol=G90PeripheralProtocols.RF_1527,
351
+ timeout=0,
352
+ baudrate=0,
353
+ node_count=1
354
+ ),
355
+ G90PeripheralDefinition(
356
+ type=G90PeripheralTypes.SMOKE,
357
+ subtype=0,
358
+ rx=0,
359
+ tx=0,
360
+ private_data='00',
361
+ rw_mode=G90PeripheralRwModes.READ,
362
+ match_mode=G90PeripheralMatchModes.ALL,
363
+ name="Smoke Sensor: WSD02",
364
+ protocol=G90PeripheralProtocols.RF_1527,
365
+ timeout=0,
366
+ baudrate=0,
367
+ node_count=1
368
+ ),
369
+ G90PeripheralDefinition(
370
+ type=G90PeripheralTypes.SMOKE,
371
+ subtype=1,
372
+ rx=0,
373
+ tx=0,
374
+ private_data='00',
375
+ rw_mode=G90PeripheralRwModes.READ,
376
+ match_mode=G90PeripheralMatchModes.ALL,
377
+ name="Smoke Sensor: WSD04",
378
+ protocol=G90PeripheralProtocols.RF_1527,
379
+ timeout=0,
380
+ baudrate=0,
381
+ node_count=1
382
+ ),
383
+ G90PeripheralDefinition(
384
+ type=G90PeripheralTypes.SOS,
385
+ subtype=1,
386
+ rx=0,
387
+ tx=0,
388
+ private_data='00',
389
+ rw_mode=G90PeripheralRwModes.READ,
390
+ match_mode=G90PeripheralMatchModes.ALL,
391
+ name="SOS Button: WEB01",
392
+ protocol=G90PeripheralProtocols.RF_1527,
393
+ timeout=0,
394
+ baudrate=0,
395
+ node_count=1
396
+ ),
397
+ G90PeripheralDefinition(
398
+ type=G90PeripheralTypes.SOS,
399
+ subtype=0,
400
+ rx=0,
401
+ tx=0,
402
+ private_data='00',
403
+ rw_mode=G90PeripheralRwModes.READ,
404
+ match_mode=G90PeripheralMatchModes.ALL,
405
+ name="SOS Button: WEB03",
406
+ protocol=G90PeripheralProtocols.RF_1527,
407
+ timeout=0,
408
+ baudrate=0,
409
+ node_count=1
410
+ ),
411
+ G90PeripheralDefinition(
412
+ type=G90PeripheralTypes.VIB,
413
+ subtype=0,
414
+ rx=0,
415
+ tx=0,
416
+ private_data='00',
417
+ rw_mode=G90PeripheralRwModes.READ,
418
+ match_mode=G90PeripheralMatchModes.ALL,
419
+ name="Vibration Sensor: WSS01",
420
+ protocol=G90PeripheralProtocols.RF_1527,
421
+ timeout=0,
422
+ baudrate=0,
423
+ node_count=1
424
+ ),
425
+ G90PeripheralDefinition(
426
+ type=G90PeripheralTypes.WATER,
427
+ subtype=1,
428
+ rx=0,
429
+ tx=0,
430
+ private_data='',
431
+ rw_mode=G90PeripheralRwModes.READ,
432
+ match_mode=G90PeripheralMatchModes.ALL,
433
+ name="Water Leak Sensor: LSTC02",
434
+ protocol=G90PeripheralProtocols.RF_1527,
435
+ timeout=0,
436
+ baudrate=0,
437
+ node_count=1
438
+ ),
439
+ G90PeripheralDefinition(
440
+ type=G90PeripheralTypes.WATER,
441
+ subtype=0,
442
+ rx=0,
443
+ tx=0,
444
+ private_data='00',
445
+ rw_mode=G90PeripheralRwModes.READ,
446
+ match_mode=G90PeripheralMatchModes.ALL,
447
+ name="Water Leak Sensor: LSTC01",
448
+ protocol=G90PeripheralProtocols.RF_1527,
449
+ timeout=0,
450
+ baudrate=0,
451
+ node_count=1
452
+ ),
453
+ G90PeripheralDefinition(
454
+ type=G90PeripheralTypes.INFRARED,
455
+ subtype=3,
456
+ rx=3,
457
+ tx=0,
458
+ private_data='06000301020200',
459
+ rw_mode=G90PeripheralRwModes.READ,
460
+ match_mode=G90PeripheralMatchModes.ONLY20BITS,
461
+ name="PIR Motion Sensor: WMS08",
462
+ protocol=G90PeripheralProtocols.RF_2262,
463
+ timeout=0,
464
+ baudrate=0,
465
+ node_count=1
466
+ ),
467
+ G90PeripheralDefinition(
468
+ type=G90PeripheralTypes.INFRARED,
469
+ subtype=12,
470
+ rx=3,
471
+ tx=0,
472
+ private_data='060003010202000314',
473
+ rw_mode=G90PeripheralRwModes.READ,
474
+ match_mode=G90PeripheralMatchModes.ONLY20BITS,
475
+ name="PIR Motion Sensor: WMS08B",
476
+ protocol=G90PeripheralProtocols.RF_2262,
477
+ timeout=0,
478
+ baudrate=0,
479
+ node_count=1
480
+ ),
481
+ G90PeripheralDefinition(
482
+ type=G90PeripheralTypes.INFRARED,
483
+ subtype=0,
484
+ rx=0,
485
+ tx=0,
486
+ private_data='00',
487
+ rw_mode=G90PeripheralRwModes.READ,
488
+ match_mode=G90PeripheralMatchModes.ALL,
489
+ name="PIR Motion Sensor: ODPIR",
490
+ protocol=G90PeripheralProtocols.RF_1527,
491
+ timeout=0,
492
+ baudrate=0,
493
+ node_count=1
494
+ ),
495
+ G90PeripheralDefinition(
496
+ type=G90PeripheralTypes.INFRARED,
497
+ subtype=5,
498
+ rx=0,
499
+ tx=0,
500
+ private_data='00',
501
+ rw_mode=G90PeripheralRwModes.READ,
502
+ match_mode=G90PeripheralMatchModes.ALL,
503
+ name="PIR Motion Sensor: N650",
504
+ protocol=G90PeripheralProtocols.RF_1527,
505
+ timeout=0,
506
+ baudrate=0,
507
+ node_count=1
508
+ ),
509
+ G90PeripheralDefinition(
510
+ type=G90PeripheralTypes.INFRARED,
511
+ subtype=6,
512
+ rx=0,
513
+ tx=0,
514
+ private_data='00',
515
+ rw_mode=G90PeripheralRwModes.READ,
516
+ match_mode=G90PeripheralMatchModes.ALL,
517
+ name="PIR Motion Sensor: WPD02",
518
+ protocol=G90PeripheralProtocols.RF_1527,
519
+ timeout=0,
520
+ baudrate=0,
521
+ node_count=1
522
+ ),
523
+ G90PeripheralDefinition(
524
+ type=G90PeripheralTypes.INFRARED,
525
+ subtype=8,
526
+ rx=0,
527
+ tx=0,
528
+ private_data='00',
529
+ rw_mode=G90PeripheralRwModes.READ,
530
+ match_mode=G90PeripheralMatchModes.ALL,
531
+ name="PIR Motion Sensor: WCMS02",
532
+ protocol=G90PeripheralProtocols.RF_1527,
533
+ timeout=0,
534
+ baudrate=0,
535
+ node_count=1
536
+ ),
537
+ G90PeripheralDefinition(
538
+ type=G90PeripheralTypes.INFRARED,
539
+ subtype=9,
540
+ rx=0,
541
+ tx=0,
542
+ private_data='00',
543
+ rw_mode=G90PeripheralRwModes.READ,
544
+ match_mode=G90PeripheralMatchModes.ALL,
545
+ name="PIR Motion Sensor: CWMS01",
546
+ protocol=G90PeripheralProtocols.RF_1527,
547
+ timeout=0,
548
+ baudrate=0,
549
+ node_count=1
550
+ ),
551
+ G90PeripheralDefinition(
552
+ type=G90PeripheralTypes.INFRARED,
553
+ subtype=11,
554
+ rx=0,
555
+ tx=0,
556
+ private_data='00',
557
+ rw_mode=G90PeripheralRwModes.READ,
558
+ match_mode=G90PeripheralMatchModes.ALL,
559
+ name="PIR Motion Sensor: WMS04",
560
+ protocol=G90PeripheralProtocols.RF_1527,
561
+ timeout=0,
562
+ baudrate=0,
563
+ node_count=1
564
+ ),
565
+ G90PeripheralDefinition(
566
+ type=G90PeripheralTypes.INFRARED,
567
+ subtype=2,
568
+ rx=3,
569
+ tx=0,
570
+ private_data='04000801020200',
571
+ rw_mode=G90PeripheralRwModes.READ,
572
+ match_mode=G90PeripheralMatchModes.ONLY20BITS,
573
+ name="PIR Motion Sensor: WMS07",
574
+ protocol=G90PeripheralProtocols.RF_2262,
575
+ timeout=0,
576
+ baudrate=0,
577
+ node_count=1
578
+ ),
579
+ G90PeripheralDefinition(
580
+ type=G90PeripheralTypes.INFRARED,
581
+ subtype=4,
582
+ rx=0,
583
+ tx=0,
584
+ private_data='00',
585
+ rw_mode=G90PeripheralRwModes.READ,
586
+ match_mode=G90PeripheralMatchModes.ALL,
587
+ name="PIR Motion Sensor: ODPIR03",
588
+ protocol=G90PeripheralProtocols.RF_1527,
589
+ timeout=0,
590
+ baudrate=0,
591
+ node_count=1
592
+ ),
593
+ G90PeripheralDefinition(
594
+ type=G90PeripheralTypes.INFRARED,
595
+ subtype=7,
596
+ rx=0,
597
+ tx=0,
598
+ private_data='00',
599
+ rw_mode=G90PeripheralRwModes.READ,
600
+ match_mode=G90PeripheralMatchModes.ALL,
601
+ name="PIR Motion Sensor: WPD01",
602
+ protocol=G90PeripheralProtocols.RF_1527,
603
+ timeout=0,
604
+ baudrate=0,
605
+ node_count=1
606
+ ),
607
+ G90PeripheralDefinition(
608
+ type=G90PeripheralTypes.INFRARED,
609
+ subtype=1,
610
+ rx=0,
611
+ tx=0,
612
+ private_data='00',
613
+ rw_mode=G90PeripheralRwModes.READ,
614
+ match_mode=G90PeripheralMatchModes.ALL,
615
+ name="PIR Motion Sensor: Ceiling",
616
+ protocol=G90PeripheralProtocols.RF_1527,
617
+ timeout=0,
618
+ baudrate=0,
619
+ node_count=1
620
+ ),
621
+ G90PeripheralDefinition(
622
+ type=G90PeripheralTypes.IN_BEAM,
623
+ subtype=0,
624
+ rx=0,
625
+ tx=0,
626
+ private_data='00',
627
+ rw_mode=G90PeripheralRwModes.READ,
628
+ match_mode=G90PeripheralMatchModes.ALL,
629
+ name="Beam Sensor: ABT",
630
+ protocol=G90PeripheralProtocols.RF_1527,
631
+ timeout=0,
632
+ baudrate=0,
633
+ node_count=1
634
+ ),
635
+ G90PeripheralDefinition(
636
+ type=G90PeripheralTypes.IN_BEAM,
637
+ subtype=1,
638
+ rx=0,
639
+ tx=0,
640
+ private_data='00',
641
+ rw_mode=G90PeripheralRwModes.READ,
642
+ match_mode=G90PeripheralMatchModes.ALL,
643
+ name="Beam Sensor: ABE",
644
+ protocol=G90PeripheralProtocols.RF_1527,
645
+ timeout=0,
646
+ baudrate=0,
647
+ node_count=1
648
+ ),
649
+ G90PeripheralDefinition(
650
+ type=G90PeripheralTypes.IN_BEAM,
651
+ subtype=2,
652
+ rx=0,
653
+ tx=0,
654
+ private_data='00',
655
+ rw_mode=G90PeripheralRwModes.READ,
656
+ match_mode=G90PeripheralMatchModes.ALL,
657
+ name="Beam Sensor: ABH",
658
+ protocol=G90PeripheralProtocols.RF_1527,
659
+ timeout=0,
660
+ baudrate=0,
661
+ node_count=1
662
+ ),
663
+ G90PeripheralDefinition(
664
+ type=G90PeripheralTypes.REMOTE,
665
+ subtype=1,
666
+ rx=4,
667
+ tx=0,
668
+ private_data='0d000b010e02070300',
669
+ rw_mode=G90PeripheralRwModes.READ,
670
+ match_mode=G90PeripheralMatchModes.ONLY20BITS,
671
+ name="Remote: RMC08",
672
+ protocol=G90PeripheralProtocols.RF_1527,
673
+ timeout=0,
674
+ baudrate=0,
675
+ node_count=1
676
+ ),
677
+ G90PeripheralDefinition(
678
+ type=G90PeripheralTypes.REMOTE,
679
+ subtype=0,
680
+ rx=4,
681
+ tx=0,
682
+ private_data='cf00fc01f3023f0300',
683
+ rw_mode=G90PeripheralRwModes.READ,
684
+ match_mode=G90PeripheralMatchModes.ONLY16BITS,
685
+ name="Remote: RMC07",
686
+ protocol=G90PeripheralProtocols.RF_2262,
687
+ timeout=0,
688
+ baudrate=0,
689
+ node_count=1
690
+ ),
691
+ G90PeripheralDefinition(
692
+ type=G90PeripheralTypes.REMOTE,
693
+ subtype=4,
694
+ rx=4,
695
+ tx=0,
696
+ private_data='cf00fc01f3023f0300',
697
+ rw_mode=G90PeripheralRwModes.READ,
698
+ match_mode=G90PeripheralMatchModes.ONLY16BITS,
699
+ name="Remote: RMC02",
700
+ protocol=G90PeripheralProtocols.RF_2262,
701
+ timeout=0,
702
+ baudrate=0,
703
+ node_count=1
704
+ ),
705
+ G90PeripheralDefinition(
706
+ type=G90PeripheralTypes.REMOTE,
707
+ subtype=2,
708
+ rx=3,
709
+ tx=0,
710
+ private_data='07000602050300',
711
+ rw_mode=G90PeripheralRwModes.READ,
712
+ match_mode=G90PeripheralMatchModes.ONLY20BITS,
713
+ name="Remote: 3 Button",
714
+ protocol=G90PeripheralProtocols.RF_1527,
715
+ timeout=0,
716
+ baudrate=0,
717
+ node_count=1
718
+ ),
719
+ G90PeripheralDefinition(
720
+ type=G90PeripheralTypes.RFID,
721
+ subtype=1,
722
+ rx=11,
723
+ tx=0,
724
+ private_data='0e0007010d020b03010402050c060a0709080809060a00',
725
+ rw_mode=G90PeripheralRwModes.READ,
726
+ match_mode=G90PeripheralMatchModes.ONLY20BITS,
727
+ name="RFID: K07",
728
+ protocol=G90PeripheralProtocols.RF_1527,
729
+ timeout=0,
730
+ baudrate=0,
731
+ node_count=1
732
+ ),
733
+ G90PeripheralDefinition(
734
+ type=G90PeripheralTypes.DOORBELL,
735
+ subtype=1,
736
+ rx=0,
737
+ tx=0,
738
+ private_data='00',
739
+ rw_mode=G90PeripheralRwModes.READ,
740
+ match_mode=G90PeripheralMatchModes.ALL,
741
+ name="Door Bell: WDB",
742
+ protocol=G90PeripheralProtocols.RF_1527,
743
+ timeout=0,
744
+ baudrate=0,
745
+ node_count=1
746
+ ),
747
+ G90PeripheralDefinition(
748
+ type=G90PeripheralTypes.BUTTONID,
749
+ subtype=1,
750
+ rx=4,
751
+ tx=0,
752
+ private_data='07000e010d020b0300',
753
+ rw_mode=G90PeripheralRwModes.READ,
754
+ match_mode=G90PeripheralMatchModes.ONLY20BITS,
755
+ name="Fingerprint: Sensor",
756
+ protocol=G90PeripheralProtocols.RF_1527,
757
+ timeout=0,
758
+ baudrate=0,
759
+ node_count=1
760
+ ),
761
+ G90PeripheralDefinition(
762
+ type=G90PeripheralTypes.WATCH,
763
+ subtype=0,
764
+ rx=0,
765
+ tx=0,
766
+ private_data='00',
767
+ rw_mode=G90PeripheralRwModes.READ,
768
+ match_mode=G90PeripheralMatchModes.ONLY16BITS,
769
+ name="SOS Button: Watch",
770
+ protocol=G90PeripheralProtocols.RF_2262,
771
+ timeout=0,
772
+ baudrate=0,
773
+ node_count=1
774
+ ),
775
+ G90PeripheralDefinition(
776
+ type=G90PeripheralTypes.FINGER_LOCK,
777
+ subtype=1,
778
+ rx=0,
779
+ tx=2,
780
+ private_data='00',
781
+ rw_mode=G90PeripheralRwModes.READ,
782
+ match_mode=G90PeripheralMatchModes.ONLY16BITS,
783
+ name="Fingerprint: Lock",
784
+ protocol=G90PeripheralProtocols.RF_1527,
785
+ timeout=0,
786
+ baudrate=1480,
787
+ node_count=1
788
+ ),
789
+ G90PeripheralDefinition(
790
+ type=G90PeripheralTypes.SUBHOST,
791
+ subtype=0,
792
+ rx=0,
793
+ tx=0,
794
+ private_data='00',
795
+ rw_mode=G90PeripheralRwModes.READ,
796
+ match_mode=G90PeripheralMatchModes.ALL,
797
+ name="Sub Host: SS08S",
798
+ protocol=G90PeripheralProtocols.RF_1527,
799
+ timeout=0,
800
+ baudrate=1480,
801
+ node_count=1
802
+ ),
803
+ G90PeripheralDefinition(
804
+ type=G90PeripheralTypes.GAS_VALVE,
805
+ subtype=0,
806
+ rx=2,
807
+ tx=1,
808
+ private_data='09000801ff0e0e',
809
+ rw_mode=G90PeripheralRwModes.READ,
810
+ match_mode=G90PeripheralMatchModes.ONLY20BITS,
811
+ name="Gas Valve Sensor: WGD02",
812
+ protocol=G90PeripheralProtocols.RF_1527,
813
+ timeout=0,
814
+ baudrate=1600,
815
+ node_count=1
816
+ ),
817
+ G90PeripheralDefinition(
818
+ type=G90PeripheralTypes.REMOTE_2_4G,
819
+ subtype=4,
820
+ rx=4,
821
+ tx=0,
822
+ private_data='00',
823
+ rw_mode=G90PeripheralRwModes.READ,
824
+ match_mode=G90PeripheralMatchModes.ONLY20BITS,
825
+ name="Remote: RMC2.4G",
826
+ protocol=G90PeripheralProtocols.RF_1527,
827
+ timeout=0,
828
+ baudrate=0,
829
+ node_count=1
830
+ ),
831
+ ]
46
832
 
47
- class SensorDefinition(NamedTuple):
48
- """
49
- Holds sensor definition data.
50
- """
51
- type: int
52
- subtype: int
53
- rx: int
54
- tx: int
55
- private_data: str
56
- rwMode: SensorRwMode
57
- matchMode: SensorMatchMode
58
-
59
- @property
60
- def reserved_data(self) -> int:
61
- """
62
- Sensor's 'reserved_data' field to be written, combined of match
63
- and RW mode values bitwise.
833
+ @classmethod
834
+ def definitions(cls) -> list[G90PeripheralDefinition]:
64
835
  """
65
- return self.matchMode.value << 4 | self.rwMode.value
836
+ Gets all sensor definitions.
66
837
 
67
-
68
- SENSOR_DEFINITIONS = [
69
- # Cord Door Sensor
70
- SensorDefinition(
71
- type=126,
72
- subtype=1,
73
- rx=0,
74
- tx=0,
75
- private_data='00',
76
- rwMode=SensorRwMode.READ,
77
- matchMode=SensorMatchMode.ONLY20BITS
78
- ),
79
- # Cord Glass Sensor
80
- SensorDefinition(
81
- type=126,
82
- subtype=2,
83
- rx=0,
84
- tx=0,
85
- private_data='00',
86
- rwMode=SensorRwMode.READ,
87
- matchMode=SensorMatchMode.ONLY20BITS
88
- ),
89
- # Cord Gas Sensor
90
- SensorDefinition(
91
- type=126,
92
- subtype=3,
93
- rx=0,
94
- tx=0,
95
- private_data='00',
96
- rwMode=SensorRwMode.READ,
97
- matchMode=SensorMatchMode.ONLY20BITS
98
- ),
99
- # Cord Smoke Sensor
100
- SensorDefinition(
101
- type=126,
102
- subtype=4,
103
- rx=0,
104
- tx=0,
105
- private_data='00',
106
- rwMode=SensorRwMode.READ,
107
- matchMode=SensorMatchMode.ONLY20BITS
108
- ),
109
- # Cord SOS Sensor
110
- SensorDefinition(
111
- type=126,
112
- subtype=5,
113
- rx=0,
114
- tx=0,
115
- private_data='00',
116
- rwMode=SensorRwMode.READ,
117
- matchMode=SensorMatchMode.ONLY20BITS
118
- ),
119
- # Cord Vibration Sensor
120
- SensorDefinition(
121
- type=126,
122
- subtype=6,
123
- rx=0,
124
- tx=0,
125
- private_data='00',
126
- rwMode=SensorRwMode.READ,
127
- matchMode=SensorMatchMode.ONLY20BITS
128
- ),
129
- # Cord Water Sensor
130
- SensorDefinition(
131
- type=126,
132
- subtype=7,
133
- rx=0,
134
- tx=0,
135
- private_data='00',
136
- rwMode=SensorRwMode.READ,
137
- matchMode=SensorMatchMode.ONLY20BITS
138
- ),
139
- # Cord Beam Sensor
140
- SensorDefinition(
141
- type=126,
142
- subtype=9,
143
- rx=0,
144
- tx=0,
145
- private_data='00',
146
- rwMode=SensorRwMode.READ,
147
- matchMode=SensorMatchMode.ONLY20BITS
148
- ),
149
- # Cord PIR motion sensor
150
- SensorDefinition(
151
- type=126,
152
- subtype=8,
153
- rx=0,
154
- tx=0,
155
- private_data='00',
156
- rwMode=SensorRwMode.READ,
157
- matchMode=SensorMatchMode.ONLY20BITS
158
- ),
159
- # Cord RFID Sensor
160
- SensorDefinition(
161
- type=126,
162
- subtype=11,
163
- rx=0,
164
- tx=0,
165
- private_data='00',
166
- rwMode=SensorRwMode.READ,
167
- matchMode=SensorMatchMode.ONLY20BITS
168
- ),
169
- # Cord Bell Sensor
170
- SensorDefinition(
171
- type=126,
172
- subtype=12,
173
- rx=0,
174
- tx=0,
175
- private_data='00',
176
- rwMode=SensorRwMode.READ,
177
- matchMode=SensorMatchMode.ONLY20BITS
178
- ),
179
- # Cord Device
180
- SensorDefinition(
181
- type=254,
182
- subtype=0,
183
- rx=0,
184
- tx=0,
185
- private_data='00',
186
- rwMode=SensorRwMode.WRITE,
187
- matchMode=SensorMatchMode.ONLY20BITS
188
- ),
189
- # Socket S07
190
- SensorDefinition(
191
- type=128,
192
- subtype=3,
193
- rx=0,
194
- tx=2,
195
- private_data='060A0600',
196
- rwMode=SensorRwMode.WRITE,
197
- matchMode=SensorMatchMode.ONLY20BITS
198
- ),
199
- # Socket JDQ
200
- SensorDefinition(
201
- type=128,
202
- subtype=0,
203
- rx=0,
204
- tx=2,
205
- private_data='0707070B0B0D0D0E0E00',
206
- rwMode=SensorRwMode.WRITE,
207
- matchMode=SensorMatchMode.ONLY20BITS
208
- ),
209
- # Socket Relay (single channel)
210
- SensorDefinition(
211
- type=128,
212
- subtype=1,
213
- rx=0,
214
- tx=2,
215
- private_data='07070700',
216
- rwMode=SensorRwMode.WRITE,
217
- matchMode=SensorMatchMode.ONLY20BITS
218
- ),
219
- # Socket Switch
220
- SensorDefinition(
221
- type=128,
222
- subtype=4,
223
- rx=0,
224
- tx=2,
225
- private_data='050D0500',
226
- rwMode=SensorRwMode.WRITE,
227
- matchMode=SensorMatchMode.ONLY20BITS
228
- ),
229
- # Socket Switch (3 channel)
230
- SensorDefinition(
231
- type=128,
232
- subtype=5,
233
- rx=0,
234
- tx=2,
235
- private_data='070A0E080D060B00',
236
- rwMode=SensorRwMode.WRITE,
237
- matchMode=SensorMatchMode.ONLY20BITS
238
- ),
239
- # Socket Switch (4 channel)
240
- SensorDefinition(
241
- type=128,
242
- subtype=6,
243
- rx=0,
244
- tx=2,
245
- private_data='0B0D0E0B0C090A070800',
246
- rwMode=SensorRwMode.WRITE,
247
- matchMode=SensorMatchMode.ONLY20BITS
248
- ),
249
- # Rolling curtain
250
- SensorDefinition(
251
- type=130,
252
- subtype=0,
253
- rx=0,
254
- tx=7,
255
- private_data='070B0E0D0C09030100',
256
- rwMode=SensorRwMode.WRITE,
257
- matchMode=SensorMatchMode.ONLY20BITS
258
- ),
259
- # Curtain
260
- SensorDefinition(
261
- type=130,
262
- subtype=1,
263
- rx=0,
264
- tx=7,
265
- private_data='0804010200',
266
- rwMode=SensorRwMode.WRITE,
267
- matchMode=SensorMatchMode.ONLY16BITS
268
- ),
269
- # Sliding window
270
- SensorDefinition(
271
- type=130,
272
- subtype=1,
273
- rx=0,
274
- tx=7,
275
- private_data='0E0B0E0D0C09030100',
276
- rwMode=SensorRwMode.WRITE,
277
- matchMode=SensorMatchMode.ONLY20BITS
278
- ),
279
- # Push Window curtain
280
- SensorDefinition(
281
- type=130,
282
- subtype=2,
283
- rx=0,
284
- tx=7,
285
- private_data='070B0E0D0C09030100',
286
- rwMode=SensorRwMode.WRITE,
287
- matchMode=SensorMatchMode.ONLY20BITS
288
- ),
289
- # Air Conditioner
290
- SensorDefinition(
291
- type=133,
292
- subtype=0,
293
- rx=0,
294
- tx=0,
295
- private_data='00',
296
- rwMode=SensorRwMode.WRITE,
297
- matchMode=SensorMatchMode.ONLY20BITS
298
- ),
299
- # TV
300
- SensorDefinition(
301
- type=135,
302
- subtype=0,
303
- rx=0,
304
- tx=0,
305
- private_data='00',
306
- rwMode=SensorRwMode.WRITE,
307
- matchMode=SensorMatchMode.ONLY20BITS
308
- ),
309
- # Infrared Transcoder
310
- SensorDefinition(
311
- type=145,
312
- subtype=0,
313
- rx=0,
314
- tx=0,
315
- private_data='00',
316
- rwMode=SensorRwMode.WRITE,
317
- matchMode=SensorMatchMode.ONLY20BITS
318
- ),
319
- # Siren SS08
320
- SensorDefinition(
321
- type=129,
322
- subtype=0,
323
- rx=0,
324
- tx=2,
325
- private_data='FEFEF600',
326
- rwMode=SensorRwMode.WRITE,
327
- matchMode=SensorMatchMode.ONLY16BITS
328
- ),
329
- # Siren SS07A
330
- SensorDefinition(
331
- type=129,
332
- subtype=4,
333
- rx=0,
334
- tx=2,
335
- private_data='FEFEF600',
336
- rwMode=SensorRwMode.WRITE,
337
- matchMode=SensorMatchMode.ONLY16BITS
338
- ),
339
- # Siren SS04
340
- SensorDefinition(
341
- type=129,
342
- subtype=5,
343
- rx=0,
344
- tx=2,
345
- private_data='FCFCCF00',
346
- rwMode=SensorRwMode.WRITE,
347
- matchMode=SensorMatchMode.ONLY16BITS
348
- ),
349
- # Siren SS02B
350
- SensorDefinition(
351
- type=129,
352
- subtype=1,
353
- rx=0,
354
- tx=2,
355
- private_data='FCFCCF00',
356
- rwMode=SensorRwMode.WRITE,
357
- matchMode=SensorMatchMode.ONLY16BITS
358
- ),
359
- # Solar-powered siren
360
- SensorDefinition(
361
- type=129,
362
- subtype=2,
363
- rx=0,
364
- tx=2,
365
- private_data='FEFEFD00',
366
- rwMode=SensorRwMode.WRITE,
367
- matchMode=SensorMatchMode.ONLY16BITS
368
- ),
369
- # Night Light
370
- SensorDefinition(
371
- type=138,
372
- subtype=0,
373
- rx=0,
374
- tx=2,
375
- private_data='060A0600',
376
- rwMode=SensorRwMode.WRITE,
377
- matchMode=SensorMatchMode.ONLY20BITS
378
- ),
379
- # Socket_2.4G
380
- SensorDefinition(
381
- type=140,
382
- subtype=1,
383
- rx=0,
384
- tx=0,
385
- private_data='00',
386
- rwMode=SensorRwMode.WRITE,
387
- matchMode=SensorMatchMode.ONLY20BITS
388
- ),
389
- # Siren_2.4G
390
- SensorDefinition(
391
- type=141,
392
- subtype=1,
393
- rx=0,
394
- tx=0,
395
- private_data='00',
396
- rwMode=SensorRwMode.WRITE,
397
- matchMode=SensorMatchMode.ONLY16BITS
398
- ),
399
- # Switch 2.4G Type 2
400
- SensorDefinition(
401
- type=142,
402
- subtype=2,
403
- rx=0,
404
- tx=0,
405
- private_data='00',
406
- rwMode=SensorRwMode.WRITE,
407
- matchMode=SensorMatchMode.ONLY20BITS
408
- ),
409
- # Switch 2.4G Type 1
410
- SensorDefinition(
411
- type=143,
412
- subtype=1,
413
- rx=0,
414
- tx=0,
415
- private_data='00',
416
- rwMode=SensorRwMode.WRITE,
417
- matchMode=SensorMatchMode.ONLY20BITS
418
- ),
419
- # Switch 2.4G Type 2
420
- SensorDefinition(
421
- type=143,
422
- subtype=2,
423
- rx=0,
424
- tx=0,
425
- private_data='00',
426
- rwMode=SensorRwMode.WRITE,
427
- matchMode=SensorMatchMode.ONLY20BITS
428
- ),
429
- # Switch 2.4G Type 3
430
- SensorDefinition(
431
- type=143,
432
- subtype=3,
433
- rx=0,
434
- tx=0,
435
- private_data='00',
436
- rwMode=SensorRwMode.WRITE,
437
- matchMode=SensorMatchMode.ONLY20BITS
438
- ),
439
- # Switch 2.4G Type 4
440
- SensorDefinition(
441
- type=143,
442
- subtype=4,
443
- rx=0,
444
- tx=0,
445
- private_data='00',
446
- rwMode=SensorRwMode.WRITE,
447
- matchMode=SensorMatchMode.ONLY20BITS
448
- ),
449
- # Curtain 2.4G
450
- SensorDefinition(
451
- type=144,
452
- subtype=1,
453
- rx=0,
454
- tx=0,
455
- private_data='00',
456
- rwMode=SensorRwMode.WRITE,
457
- matchMode=SensorMatchMode.ONLY20BITS
458
- ),
459
- # Door Sensor WDS07
460
- SensorDefinition(
461
- type=1,
462
- subtype=0,
463
- rx=5,
464
- tx=0,
465
- private_data='F100f5017d02f803f90400',
466
- rwMode=SensorRwMode.READ,
467
- matchMode=SensorMatchMode.ONLY16BITS
468
- ),
469
- # Door Sensor
470
- SensorDefinition(
471
- type=1,
472
- subtype=1,
473
- rx=2,
474
- tx=0,
475
- private_data='0001020400',
476
- rwMode=SensorRwMode.READ,
477
- matchMode=SensorMatchMode.ONLY20BITS
478
- ),
479
- # Door Sensor WRDS01
480
- SensorDefinition(
481
- type=1,
482
- subtype=3,
483
- rx=0,
484
- tx=0,
485
- private_data='00',
486
- rwMode=SensorRwMode.READ,
487
- matchMode=SensorMatchMode.ALL
488
- ),
489
- # Door Sensor
490
- SensorDefinition(
491
- type=1,
492
- subtype=2,
493
- rx=5,
494
- tx=0,
495
- private_data='F100f5017d02f803f904',
496
- rwMode=SensorRwMode.READ,
497
- matchMode=SensorMatchMode.ONLY16BITS
498
- ),
499
- # Glass Break Sensor BLPS
500
- SensorDefinition(
501
- type=2,
502
- subtype=0,
503
- rx=0,
504
- tx=0,
505
- private_data='00',
506
- rwMode=SensorRwMode.READ,
507
- matchMode=SensorMatchMode.ALL
508
- ),
509
- # Gas Detector WGD01
510
- SensorDefinition(
511
- type=3,
512
- subtype=0,
513
- rx=0,
514
- tx=0,
515
- private_data='00',
516
- rwMode=SensorRwMode.READ,
517
- matchMode=SensorMatchMode.ALL
518
- ),
519
- # Smoke Detector WSD02
520
- SensorDefinition(
521
- type=4,
522
- subtype=0,
523
- rx=0,
524
- tx=0,
525
- private_data='00',
526
- rwMode=SensorRwMode.READ,
527
- matchMode=SensorMatchMode.ALL
528
- ),
529
- # Smoke Detector WSD04
530
- SensorDefinition(
531
- type=4,
532
- subtype=1,
533
- rx=0,
534
- tx=0,
535
- private_data='00',
536
- rwMode=SensorRwMode.READ,
537
- matchMode=SensorMatchMode.ALL
538
- ),
539
- # Panic Button WEB01
540
- SensorDefinition(
541
- type=5,
542
- subtype=1,
543
- rx=0,
544
- tx=0,
545
- private_data='00',
546
- rwMode=SensorRwMode.READ,
547
- matchMode=SensorMatchMode.ALL
548
- ),
549
- # Panic Button WEB03
550
- SensorDefinition(
551
- type=5,
552
- subtype=0,
553
- rx=0,
554
- tx=0,
555
- private_data='00',
556
- rwMode=SensorRwMode.READ,
557
- matchMode=SensorMatchMode.ALL
558
- ),
559
- # Shock Sensor WSS01
560
- SensorDefinition(
561
- type=6,
562
- subtype=0,
563
- rx=0,
564
- tx=0,
565
- private_data='00',
566
- rwMode=SensorRwMode.READ,
567
- matchMode=SensorMatchMode.ALL
568
- ),
569
- # Water Detector LSTC02
570
- SensorDefinition(
571
- type=7,
572
- subtype=1,
573
- rx=0,
574
- tx=0,
575
- private_data='',
576
- rwMode=SensorRwMode.READ,
577
- matchMode=SensorMatchMode.ALL
578
- ),
579
- # Water Detector LSTC01
580
- SensorDefinition(
581
- type=7,
582
- subtype=0,
583
- rx=0,
584
- tx=0,
585
- private_data='00',
586
- rwMode=SensorRwMode.READ,
587
- matchMode=SensorMatchMode.ALL
588
- ),
589
- # PIR motion sensor WMS08
590
- SensorDefinition(
591
- type=8,
592
- subtype=3,
593
- rx=3,
594
- tx=0,
595
- private_data='06000301020200',
596
- rwMode=SensorRwMode.READ,
597
- matchMode=SensorMatchMode.ONLY20BITS
598
- ),
599
- # PIR motion sensor WMS08B
600
- SensorDefinition(
601
- type=8,
602
- subtype=12,
603
- rx=3,
604
- tx=0,
605
- private_data='060003010202000314',
606
- rwMode=SensorRwMode.READ,
607
- matchMode=SensorMatchMode.ONLY20BITS
608
- ),
609
- # PIR motion sensor ODPIR
610
- SensorDefinition(
611
- type=8,
612
- subtype=0,
613
- rx=0,
614
- tx=0,
615
- private_data='00',
616
- rwMode=SensorRwMode.READ,
617
- matchMode=SensorMatchMode.ALL
618
- ),
619
- # PIR motion sensor N650
620
- SensorDefinition(
621
- type=8,
622
- subtype=5,
623
- rx=0,
624
- tx=0,
625
- private_data='00',
626
- rwMode=SensorRwMode.READ,
627
- matchMode=SensorMatchMode.ALL
628
- ),
629
- # PIR motion sensor WPD02
630
- SensorDefinition(
631
- type=8,
632
- subtype=6,
633
- rx=0,
634
- tx=0,
635
- private_data='00',
636
- rwMode=SensorRwMode.READ,
637
- matchMode=SensorMatchMode.ALL
638
- ),
639
- # PIR motion sensor WCMS02
640
- SensorDefinition(
641
- type=8,
642
- subtype=8,
643
- rx=0,
644
- tx=0,
645
- private_data='00',
646
- rwMode=SensorRwMode.READ,
647
- matchMode=SensorMatchMode.ALL
648
- ),
649
- # PIR motion sensor CWMS01
650
- SensorDefinition(
651
- type=8,
652
- subtype=9,
653
- rx=0,
654
- tx=0,
655
- private_data='00',
656
- rwMode=SensorRwMode.READ,
657
- matchMode=SensorMatchMode.ALL
658
- ),
659
- # PIR motion sensor WMS04
660
- SensorDefinition(
661
- type=8,
662
- subtype=11,
663
- rx=0,
664
- tx=0,
665
- private_data='00',
666
- rwMode=SensorRwMode.READ,
667
- matchMode=SensorMatchMode.ALL
668
- ),
669
- # PIR motion sensor WMS07
670
- SensorDefinition(
671
- type=8,
672
- subtype=2,
673
- rx=3,
674
- tx=0,
675
- private_data='04000801020200',
676
- rwMode=SensorRwMode.READ,
677
- matchMode=SensorMatchMode.ONLY20BITS
678
- ),
679
- # PIR motion sensor ODPIR03
680
- SensorDefinition(
681
- type=8,
682
- subtype=4,
683
- rx=0,
684
- tx=0,
685
- private_data='00',
686
- rwMode=SensorRwMode.READ,
687
- matchMode=SensorMatchMode.ALL
688
- ),
689
- # PIR motion sensor WPD01
690
- SensorDefinition(
691
- type=8,
692
- subtype=7,
693
- rx=0,
694
- tx=0,
695
- private_data='00',
696
- rwMode=SensorRwMode.READ,
697
- matchMode=SensorMatchMode.ALL
698
- ),
699
- # PIR motion sensor PIR Ceiling
700
- SensorDefinition(
701
- type=8,
702
- subtype=1,
703
- rx=0,
704
- tx=0,
705
- private_data='00',
706
- rwMode=SensorRwMode.READ,
707
- matchMode=SensorMatchMode.ALL
708
- ),
709
- # Beams ABT
710
- SensorDefinition(
711
- type=9,
712
- subtype=0,
713
- rx=0,
714
- tx=0,
715
- private_data='00',
716
- rwMode=SensorRwMode.READ,
717
- matchMode=SensorMatchMode.ALL
718
- ),
719
- # Beams ABE
720
- SensorDefinition(
721
- type=9,
722
- subtype=1,
723
- rx=0,
724
- tx=0,
725
- private_data='00',
726
- rwMode=SensorRwMode.READ,
727
- matchMode=SensorMatchMode.ALL
728
- ),
729
- # Beams ABH
730
- SensorDefinition(
731
- type=9,
732
- subtype=2,
733
- rx=0,
734
- tx=0,
735
- private_data='00',
736
- rwMode=SensorRwMode.READ,
737
- matchMode=SensorMatchMode.ALL
738
- ),
739
- # Remote RMC08
740
- SensorDefinition(
741
- type=10,
742
- subtype=1,
743
- rx=4,
744
- tx=0,
745
- private_data='0d000b010e02070300',
746
- rwMode=SensorRwMode.READ,
747
- matchMode=SensorMatchMode.ONLY20BITS
748
- ),
749
- # Remote RMC07
750
- SensorDefinition(
751
- type=10,
752
- subtype=0,
753
- rx=4,
754
- tx=0,
755
- private_data='cf00fc01f3023f0300',
756
- rwMode=SensorRwMode.READ,
757
- matchMode=SensorMatchMode.ONLY16BITS
758
- ),
759
- # Remote RMC02
760
- SensorDefinition(
761
- type=10,
762
- subtype=4,
763
- rx=4,
764
- tx=0,
765
- private_data='cf00fc01f3023f0300',
766
- rwMode=SensorRwMode.READ,
767
- matchMode=SensorMatchMode.ONLY16BITS
768
- ),
769
- # Remote
770
- SensorDefinition(
771
- type=10,
772
- subtype=2,
773
- rx=3,
774
- tx=0,
775
- private_data='07000602050300',
776
- rwMode=SensorRwMode.READ,
777
- matchMode=SensorMatchMode.ONLY20BITS
778
- ),
779
- # RFID K07
780
- SensorDefinition(
781
- type=11,
782
- subtype=1,
783
- rx=11,
784
- tx=0,
785
- private_data='0e0007010d020b03010402050c060a0709080809060a00',
786
- rwMode=SensorRwMode.READ,
787
- matchMode=SensorMatchMode.ONLY20BITS
788
- ),
789
- # Door Bell WDB
790
- SensorDefinition(
791
- type=12,
792
- subtype=1,
793
- rx=0,
794
- tx=0,
795
- private_data='00',
796
- rwMode=SensorRwMode.READ,
797
- matchMode=SensorMatchMode.ALL
798
- ),
799
- # TouchID Detector
800
- SensorDefinition(
801
- type=13,
802
- subtype=1,
803
- rx=4,
804
- tx=0,
805
- private_data='07000e010d020b0300',
806
- rwMode=SensorRwMode.READ,
807
- matchMode=SensorMatchMode.ONLY20BITS
808
- ),
809
- # SOS Watch
810
- SensorDefinition(
811
- type=14,
812
- subtype=0,
813
- rx=0,
814
- tx=0,
815
- private_data='00',
816
- rwMode=SensorRwMode.READ,
817
- matchMode=SensorMatchMode.ONLY16BITS
818
- ),
819
- # Fingerprint Lock
820
- SensorDefinition(
821
- type=15,
822
- subtype=1,
823
- rx=0,
824
- tx=2,
825
- private_data='00',
826
- rwMode=SensorRwMode.READ,
827
- matchMode=SensorMatchMode.ONLY16BITS
828
- ),
829
- # Sub Host SS08S
830
- SensorDefinition(
831
- type=16,
832
- subtype=0,
833
- rx=0,
834
- tx=0,
835
- private_data='00',
836
- rwMode=SensorRwMode.READ,
837
- matchMode=SensorMatchMode.ALL
838
- ),
839
- # Gas Valve Detector WGD02
840
- SensorDefinition(
841
- type=18,
842
- subtype=0,
843
- rx=2,
844
- tx=1,
845
- private_data='09000801ff0e0e',
846
- rwMode=SensorRwMode.READ,
847
- matchMode=SensorMatchMode.ONLY20BITS
848
- ),
849
- # Remote 2.4G RMC2.4G
850
- SensorDefinition(
851
- type=17,
852
- subtype=4,
853
- rx=4,
854
- tx=0,
855
- private_data='00',
856
- rwMode=SensorRwMode.READ,
857
- matchMode=SensorMatchMode.ONLY20BITS
858
- ),
859
- ]
838
+ :return: List of sensor definitions.
839
+ """
840
+ _LOGGER.debug(
841
+ "Number of sensor definitions: %d", len(cls.SENSOR_DEFINITIONS)
842
+ )
843
+ return cls.SENSOR_DEFINITIONS