node-red-contrib-alarm-ultimate 0.1.0

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.
@@ -0,0 +1,636 @@
1
+ [
2
+ {
3
+ "id": "f1c9d0f3d9b8a001",
4
+ "type": "tab",
5
+ "label": "Alarm Ultimate - Example",
6
+ "disabled": false,
7
+ "info": ""
8
+ },
9
+ {
10
+ "id": "2a7b8c9d0e1f2345",
11
+ "type": "comment",
12
+ "z": "f1c9d0f3d9b8a001",
13
+ "name": "Control (msg.topic = alarm)",
14
+ "info": "Usa questi inject per inviare comandi al nodo AlarmSystemUltimate.",
15
+ "x": 200,
16
+ "y": 60,
17
+ "wires": []
18
+ },
19
+ {
20
+ "id": "a1b2c3d4e5f6a7b8",
21
+ "type": "AlarmSystemUltimate",
22
+ "z": "f1c9d0f3d9b8a001",
23
+ "name": "Home Alarm",
24
+ "controlTopic": "alarm",
25
+ "payloadPropName": "payload",
26
+ "translatorConfig": "",
27
+ "persistState": true,
28
+ "requireCodeForArm": false,
29
+ "requireCodeForDisarm": false,
30
+ "armCode": "",
31
+ "duressCode": "",
32
+ "blockArmOnViolations": true,
33
+ "exitDelaySeconds": 10,
34
+ "entryDelaySeconds": 30,
35
+ "emitOpenZonesDuringArming": false,
36
+ "openZonesArmingIntervalSeconds": 1,
37
+ "openZonesRequestTopic": "alarm/listOpenZones",
38
+ "openZonesRequestIntervalSeconds": 0,
39
+ "sirenDurationSeconds": 180,
40
+ "sirenLatchUntilDisarm": false,
41
+ "sirenTopic": "alarm/siren",
42
+ "sirenOnPayload": true,
43
+ "sirenOnPayloadType": "bool",
44
+ "sirenOffPayload": false,
45
+ "sirenOffPayloadType": "bool",
46
+ "emitRestoreEvents": false,
47
+ "maxLogEntries": 50,
48
+ "zones": "[\n {\n \"id\": \"front_door\",\n \"name\": \"Front door\",\n \"topic\": \"sensor/frontdoor\",\n \"type\": \"perimeter\",\n \"entry\": true,\n \"bypassable\": true,\n \"chime\": true\n },\n {\n \"id\": \"living_pir\",\n \"name\": \"Living PIR\",\n \"topic\": \"sensor/living_pir\",\n \"type\": \"motion\",\n \"entry\": false,\n \"bypassable\": true,\n \"cooldownSeconds\": 10\n }\n]",
49
+ "x": 420,
50
+ "y": 220,
51
+ "wires": [
52
+ [
53
+ "d0c7f3b4a1e2d9c0"
54
+ ],
55
+ [
56
+ "c1b2a3d4e5f60718"
57
+ ],
58
+ [
59
+ "b7c6d5e4f3a2b1c0"
60
+ ],
61
+ [
62
+ "aa11bb22cc33dd44"
63
+ ],
64
+ [
65
+ "ee55ff66aa77bb88"
66
+ ],
67
+ [
68
+ "1122334455667788"
69
+ ],
70
+ [
71
+ "99aabbccddeeff00"
72
+ ],
73
+ [
74
+ "13579bdf2468ace0"
75
+ ],
76
+ [
77
+ "02468ace13579bdf"
78
+ ]
79
+ ]
80
+ },
81
+ {
82
+ "id": "f0e1d2c3b4a59687",
83
+ "type": "inject",
84
+ "z": "f1c9d0f3d9b8a001",
85
+ "name": "Arm",
86
+ "props": [
87
+ {
88
+ "p": "topic",
89
+ "v": "alarm",
90
+ "vt": "str"
91
+ },
92
+ {
93
+ "p": "command",
94
+ "v": "arm",
95
+ "vt": "str"
96
+ }
97
+ ],
98
+ "topic": "alarm",
99
+ "command": "arm",
100
+ "once": false,
101
+ "onceDelay": 0.1,
102
+ "x": 150,
103
+ "y": 100,
104
+ "wires": [
105
+ [
106
+ "a1b2c3d4e5f6a7b8"
107
+ ]
108
+ ]
109
+ },
110
+ {
111
+ "id": "0f1e2d3c4b5a6978",
112
+ "type": "inject",
113
+ "z": "f1c9d0f3d9b8a001",
114
+ "name": "Disarm",
115
+ "props": [
116
+ {
117
+ "p": "topic",
118
+ "v": "alarm",
119
+ "vt": "str"
120
+ },
121
+ {
122
+ "p": "command",
123
+ "v": "disarm",
124
+ "vt": "str"
125
+ }
126
+ ],
127
+ "topic": "alarm",
128
+ "command": "disarm",
129
+ "once": false,
130
+ "onceDelay": 0.1,
131
+ "x": 150,
132
+ "y": 140,
133
+ "wires": [
134
+ [
135
+ "a1b2c3d4e5f6a7b8"
136
+ ]
137
+ ]
138
+ },
139
+ {
140
+ "id": "1234abcd5678ef00",
141
+ "type": "inject",
142
+ "z": "f1c9d0f3d9b8a001",
143
+ "name": "Status",
144
+ "props": [
145
+ {
146
+ "p": "topic",
147
+ "v": "alarm",
148
+ "vt": "str"
149
+ },
150
+ {
151
+ "p": "command",
152
+ "v": "status",
153
+ "vt": "str"
154
+ }
155
+ ],
156
+ "topic": "alarm",
157
+ "command": "status",
158
+ "once": false,
159
+ "onceDelay": 0.1,
160
+ "x": 150,
161
+ "y": 180,
162
+ "wires": [
163
+ [
164
+ "a1b2c3d4e5f6a7b8"
165
+ ]
166
+ ]
167
+ },
168
+ {
169
+ "id": "abcd1234ef005678",
170
+ "type": "inject",
171
+ "z": "f1c9d0f3d9b8a001",
172
+ "name": "List open zones",
173
+ "props": [
174
+ {
175
+ "p": "topic",
176
+ "v": "alarm",
177
+ "vt": "str"
178
+ },
179
+ {
180
+ "p": "command",
181
+ "v": "list_open_zones",
182
+ "vt": "str"
183
+ }
184
+ ],
185
+ "topic": "alarm",
186
+ "command": "list_open_zones",
187
+ "once": false,
188
+ "onceDelay": 0.1,
189
+ "x": 170,
190
+ "y": 220,
191
+ "wires": [
192
+ [
193
+ "a1b2c3d4e5f6a7b8"
194
+ ]
195
+ ]
196
+ },
197
+ {
198
+ "id": "bypassfront000000",
199
+ "type": "inject",
200
+ "z": "f1c9d0f3d9b8a001",
201
+ "name": "Bypass front_door",
202
+ "props": [
203
+ {
204
+ "p": "topic",
205
+ "v": "alarm",
206
+ "vt": "str"
207
+ },
208
+ {
209
+ "p": "command",
210
+ "v": "bypass",
211
+ "vt": "str"
212
+ },
213
+ {
214
+ "p": "zone",
215
+ "v": "front_door",
216
+ "vt": "str"
217
+ }
218
+ ],
219
+ "topic": "alarm",
220
+ "command": "bypass",
221
+ "zone": "front_door",
222
+ "once": false,
223
+ "onceDelay": 0.1,
224
+ "x": 180,
225
+ "y": 260,
226
+ "wires": [
227
+ [
228
+ "a1b2c3d4e5f6a7b8"
229
+ ]
230
+ ]
231
+ },
232
+ {
233
+ "id": "unbypassfront0000",
234
+ "type": "inject",
235
+ "z": "f1c9d0f3d9b8a001",
236
+ "name": "Unbypass front_door",
237
+ "props": [
238
+ {
239
+ "p": "topic",
240
+ "v": "alarm",
241
+ "vt": "str"
242
+ },
243
+ {
244
+ "p": "command",
245
+ "v": "unbypass",
246
+ "vt": "str"
247
+ },
248
+ {
249
+ "p": "zone",
250
+ "v": "front_door",
251
+ "vt": "str"
252
+ }
253
+ ],
254
+ "topic": "alarm",
255
+ "command": "unbypass",
256
+ "zone": "front_door",
257
+ "once": false,
258
+ "onceDelay": 0.1,
259
+ "x": 190,
260
+ "y": 300,
261
+ "wires": [
262
+ [
263
+ "a1b2c3d4e5f6a7b8"
264
+ ]
265
+ ]
266
+ },
267
+ {
268
+ "id": "5e6f7a8b9c0d1e2f",
269
+ "type": "comment",
270
+ "z": "f1c9d0f3d9b8a001",
271
+ "name": "Sensors (msg.topic = sensor/...)",
272
+ "info": "Simula i sensori con payload booleano: true = attivo/aperto, false = ok/chiuso.",
273
+ "x": 230,
274
+ "y": 360,
275
+ "wires": []
276
+ },
277
+ {
278
+ "id": "frontopen00000000",
279
+ "type": "inject",
280
+ "z": "f1c9d0f3d9b8a001",
281
+ "name": "Front door OPEN",
282
+ "props": [
283
+ {
284
+ "p": "topic",
285
+ "v": "sensor/frontdoor",
286
+ "vt": "str"
287
+ },
288
+ {
289
+ "p": "payload",
290
+ "v": true,
291
+ "vt": "bool"
292
+ }
293
+ ],
294
+ "topic": "sensor/frontdoor",
295
+ "payload": true,
296
+ "payloadType": "bool",
297
+ "once": false,
298
+ "onceDelay": 0.1,
299
+ "x": 170,
300
+ "y": 400,
301
+ "wires": [
302
+ [
303
+ "a1b2c3d4e5f6a7b8"
304
+ ]
305
+ ]
306
+ },
307
+ {
308
+ "id": "frontclose0000000",
309
+ "type": "inject",
310
+ "z": "f1c9d0f3d9b8a001",
311
+ "name": "Front door CLOSED",
312
+ "props": [
313
+ {
314
+ "p": "topic",
315
+ "v": "sensor/frontdoor",
316
+ "vt": "str"
317
+ },
318
+ {
319
+ "p": "payload",
320
+ "v": false,
321
+ "vt": "bool"
322
+ }
323
+ ],
324
+ "topic": "sensor/frontdoor",
325
+ "payload": false,
326
+ "payloadType": "bool",
327
+ "once": false,
328
+ "onceDelay": 0.1,
329
+ "x": 180,
330
+ "y": 440,
331
+ "wires": [
332
+ [
333
+ "a1b2c3d4e5f6a7b8"
334
+ ]
335
+ ]
336
+ },
337
+ {
338
+ "id": "piractive00000000",
339
+ "type": "inject",
340
+ "z": "f1c9d0f3d9b8a001",
341
+ "name": "Living PIR ACTIVE",
342
+ "props": [
343
+ {
344
+ "p": "topic",
345
+ "v": "sensor/living_pir",
346
+ "vt": "str"
347
+ },
348
+ {
349
+ "p": "payload",
350
+ "v": true,
351
+ "vt": "bool"
352
+ }
353
+ ],
354
+ "topic": "sensor/living_pir",
355
+ "payload": true,
356
+ "payloadType": "bool",
357
+ "once": false,
358
+ "onceDelay": 0.1,
359
+ "x": 180,
360
+ "y": 480,
361
+ "wires": [
362
+ [
363
+ "a1b2c3d4e5f6a7b8"
364
+ ]
365
+ ]
366
+ },
367
+ {
368
+ "id": "pirclear000000000",
369
+ "type": "inject",
370
+ "z": "f1c9d0f3d9b8a001",
371
+ "name": "Living PIR CLEAR",
372
+ "props": [
373
+ {
374
+ "p": "topic",
375
+ "v": "sensor/living_pir",
376
+ "vt": "str"
377
+ },
378
+ {
379
+ "p": "payload",
380
+ "v": false,
381
+ "vt": "bool"
382
+ }
383
+ ],
384
+ "topic": "sensor/living_pir",
385
+ "payload": false,
386
+ "payloadType": "bool",
387
+ "once": false,
388
+ "onceDelay": 0.1,
389
+ "x": 170,
390
+ "y": 520,
391
+ "wires": [
392
+ [
393
+ "a1b2c3d4e5f6a7b8"
394
+ ]
395
+ ]
396
+ },
397
+ {
398
+ "id": "c0ffee0000000001",
399
+ "type": "comment",
400
+ "z": "f1c9d0f3d9b8a001",
401
+ "name": "Output-only helper nodes",
402
+ "info": "Questi nodi leggono lo stato dall'AlarmSystemUltimate selezionato (alarmId).",
403
+ "x": 250,
404
+ "y": 600,
405
+ "wires": []
406
+ },
407
+ {
408
+ "id": "statehelper000000",
409
+ "type": "AlarmUltimateState",
410
+ "z": "f1c9d0f3d9b8a001",
411
+ "name": "Alarm State",
412
+ "alarmId": "a1b2c3d4e5f6a7b8",
413
+ "topic": "",
414
+ "outputInitialState": true,
415
+ "x": 190,
416
+ "y": 640,
417
+ "wires": [
418
+ [
419
+ "debug_helper_state"
420
+ ]
421
+ ]
422
+ },
423
+ {
424
+ "id": "zonehelper0000000",
425
+ "type": "AlarmUltimateZone",
426
+ "z": "f1c9d0f3d9b8a001",
427
+ "name": "Front door zone",
428
+ "alarmId": "a1b2c3d4e5f6a7b8",
429
+ "zoneId": "front_door",
430
+ "topic": "",
431
+ "outputInitialState": true,
432
+ "x": 200,
433
+ "y": 680,
434
+ "wires": [
435
+ [
436
+ "debug_helper_zone"
437
+ ]
438
+ ]
439
+ },
440
+ {
441
+ "id": "sirenhelper000000",
442
+ "type": "AlarmUltimateSiren",
443
+ "z": "f1c9d0f3d9b8a001",
444
+ "name": "Alarm Siren",
445
+ "alarmId": "a1b2c3d4e5f6a7b8",
446
+ "topic": "",
447
+ "outputInitialState": true,
448
+ "x": 190,
449
+ "y": 720,
450
+ "wires": [
451
+ [
452
+ "debug_helper_siren"
453
+ ]
454
+ ]
455
+ },
456
+ {
457
+ "id": "d0c7f3b4a1e2d9c0",
458
+ "type": "debug",
459
+ "z": "f1c9d0f3d9b8a001",
460
+ "name": "Events (out 1)",
461
+ "active": true,
462
+ "tosidebar": true,
463
+ "console": false,
464
+ "tostatus": false,
465
+ "complete": "true",
466
+ "targetType": "full",
467
+ "x": 720,
468
+ "y": 140,
469
+ "wires": []
470
+ },
471
+ {
472
+ "id": "c1b2a3d4e5f60718",
473
+ "type": "debug",
474
+ "z": "f1c9d0f3d9b8a001",
475
+ "name": "Siren (out 2)",
476
+ "active": true,
477
+ "tosidebar": true,
478
+ "console": false,
479
+ "tostatus": false,
480
+ "complete": "true",
481
+ "targetType": "full",
482
+ "x": 720,
483
+ "y": 180,
484
+ "wires": []
485
+ },
486
+ {
487
+ "id": "b7c6d5e4f3a2b1c0",
488
+ "type": "debug",
489
+ "z": "f1c9d0f3d9b8a001",
490
+ "name": "Alarm Triggered (out 3)",
491
+ "active": true,
492
+ "tosidebar": true,
493
+ "console": false,
494
+ "tostatus": false,
495
+ "complete": "true",
496
+ "targetType": "full",
497
+ "x": 760,
498
+ "y": 220,
499
+ "wires": []
500
+ },
501
+ {
502
+ "id": "aa11bb22cc33dd44",
503
+ "type": "debug",
504
+ "z": "f1c9d0f3d9b8a001",
505
+ "name": "Arm/Disarm (out 4)",
506
+ "active": true,
507
+ "tosidebar": true,
508
+ "console": false,
509
+ "tostatus": false,
510
+ "complete": "true",
511
+ "targetType": "full",
512
+ "x": 740,
513
+ "y": 260,
514
+ "wires": []
515
+ },
516
+ {
517
+ "id": "ee55ff66aa77bb88",
518
+ "type": "debug",
519
+ "z": "f1c9d0f3d9b8a001",
520
+ "name": "Zone Activity (out 5)",
521
+ "active": true,
522
+ "tosidebar": true,
523
+ "console": false,
524
+ "tostatus": false,
525
+ "complete": "true",
526
+ "targetType": "full",
527
+ "x": 740,
528
+ "y": 300,
529
+ "wires": []
530
+ },
531
+ {
532
+ "id": "1122334455667788",
533
+ "type": "debug",
534
+ "z": "f1c9d0f3d9b8a001",
535
+ "name": "Errors/Denied (out 6)",
536
+ "active": true,
537
+ "tosidebar": true,
538
+ "console": false,
539
+ "tostatus": false,
540
+ "complete": "true",
541
+ "targetType": "full",
542
+ "x": 760,
543
+ "y": 340,
544
+ "wires": []
545
+ },
546
+ {
547
+ "id": "99aabbccddeeff00",
548
+ "type": "debug",
549
+ "z": "f1c9d0f3d9b8a001",
550
+ "name": "Any Zone Open (out 7)",
551
+ "active": true,
552
+ "tosidebar": true,
553
+ "console": false,
554
+ "tostatus": false,
555
+ "complete": "true",
556
+ "targetType": "full",
557
+ "x": 760,
558
+ "y": 380,
559
+ "wires": []
560
+ },
561
+ {
562
+ "id": "13579bdf2468ace0",
563
+ "type": "debug",
564
+ "z": "f1c9d0f3d9b8a001",
565
+ "name": "Open Zones (arming) (out 8)",
566
+ "active": true,
567
+ "tosidebar": true,
568
+ "console": false,
569
+ "tostatus": false,
570
+ "complete": "true",
571
+ "targetType": "full",
572
+ "x": 790,
573
+ "y": 420,
574
+ "wires": []
575
+ },
576
+ {
577
+ "id": "02468ace13579bdf",
578
+ "type": "debug",
579
+ "z": "f1c9d0f3d9b8a001",
580
+ "name": "Open Zones (request) (out 9)",
581
+ "active": true,
582
+ "tosidebar": true,
583
+ "console": false,
584
+ "tostatus": false,
585
+ "complete": "true",
586
+ "targetType": "full",
587
+ "x": 790,
588
+ "y": 460,
589
+ "wires": []
590
+ },
591
+ {
592
+ "id": "debug_helper_state",
593
+ "type": "debug",
594
+ "z": "f1c9d0f3d9b8a001",
595
+ "name": "Helper: Alarm State",
596
+ "active": true,
597
+ "tosidebar": true,
598
+ "console": false,
599
+ "tostatus": false,
600
+ "complete": "true",
601
+ "targetType": "full",
602
+ "x": 740,
603
+ "y": 640,
604
+ "wires": []
605
+ },
606
+ {
607
+ "id": "debug_helper_zone",
608
+ "type": "debug",
609
+ "z": "f1c9d0f3d9b8a001",
610
+ "name": "Helper: Front door",
611
+ "active": true,
612
+ "tosidebar": true,
613
+ "console": false,
614
+ "tostatus": false,
615
+ "complete": "true",
616
+ "targetType": "full",
617
+ "x": 740,
618
+ "y": 680,
619
+ "wires": []
620
+ },
621
+ {
622
+ "id": "debug_helper_siren",
623
+ "type": "debug",
624
+ "z": "f1c9d0f3d9b8a001",
625
+ "name": "Helper: Siren",
626
+ "active": true,
627
+ "tosidebar": true,
628
+ "console": false,
629
+ "tostatus": false,
630
+ "complete": "true",
631
+ "targetType": "full",
632
+ "x": 720,
633
+ "y": 720,
634
+ "wires": []
635
+ }
636
+ ]