losant_rest 1.8.9 → 1.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (41) hide show
  1. checksums.yaml +5 -5
  2. data/docs/_schemas.md +26390 -4889
  3. data/docs/device.md +1 -1
  4. data/docs/devices.md +44 -4
  5. data/lib/losant_rest/client.rb +2 -2
  6. data/lib/losant_rest/device.rb +1 -1
  7. data/lib/losant_rest/devices.rb +52 -4
  8. data/lib/losant_rest/version.rb +1 -1
  9. data/schemas/application.json +25 -0
  10. data/schemas/applicationApiTokenPost.json +1 -0
  11. data/schemas/applicationPatch.json +25 -0
  12. data/schemas/applicationPost.json +25 -0
  13. data/schemas/applications.json +25 -0
  14. data/schemas/authedDevice.json +2 -1
  15. data/schemas/dashboard.json +34 -11
  16. data/schemas/dashboardPatch.json +34 -11
  17. data/schemas/dashboardPost.json +34 -11
  18. data/schemas/dashboards.json +34 -11
  19. data/schemas/device.json +110 -1
  20. data/schemas/deviceClassFilter.json +31 -0
  21. data/schemas/devicePatch.json +110 -1
  22. data/schemas/devicePost.json +110 -1
  23. data/schemas/deviceRecipe.json +110 -1
  24. data/schemas/deviceRecipePatch.json +110 -1
  25. data/schemas/deviceRecipePost.json +110 -1
  26. data/schemas/deviceRecipes.json +110 -1
  27. data/schemas/devices.json +123 -2
  28. data/schemas/devicesPatch.json +209 -0
  29. data/schemas/flow.json +1491 -54
  30. data/schemas/flowPatch.json +1491 -54
  31. data/schemas/flowPost.json +1491 -54
  32. data/schemas/flowVersion.json +3319 -445
  33. data/schemas/flowVersionPost.json +1491 -54
  34. data/schemas/flowVersions.json +3319 -445
  35. data/schemas/flows.json +1491 -54
  36. data/schemas/flowsImportPost.json +3313 -439
  37. data/schemas/flowsImportResult.json +5129 -818
  38. data/schemas/githubLogin.json +1 -0
  39. data/schemas/userCredentials.json +1 -0
  40. data/schemas/userPost.json +1 -0
  41. metadata +5 -3
@@ -44,604 +44,3478 @@
44
44
  "triggers": {
45
45
  "type": "array",
46
46
  "items": {
47
- "type": "object",
48
- "properties": {
49
- "key": {
50
- "type": "string",
51
- "maxLength": 1024
52
- },
53
- "type": {
54
- "type": "string",
55
- "enum": [
56
- "customNodeStart",
57
- "dataTable",
58
- "deviceCommand",
59
- "deviceId",
60
- "deviceIdConnect",
61
- "deviceIdDisconnect",
62
- "deviceIdInactivity",
63
- "deviceTag",
64
- "deviceTagConnect",
65
- "deviceTagDisconnect",
66
- "deviceTagInactivity",
67
- "endpoint",
68
- "event",
69
- "fileTail",
70
- "fileWatch",
71
- "integration",
72
- "mqttTopic",
73
- "notebook",
74
- "onBoot",
75
- "onConnect",
76
- "onDisconnect",
77
- "opcua",
78
- "redis",
79
- "request",
80
- "serial",
81
- "timer",
82
- "udp",
83
- "virtualButton",
84
- "webhook"
85
- ]
86
- },
87
- "config": {
88
- "type": "object"
89
- },
90
- "meta": {
91
- "type": "object"
92
- },
93
- "outputIds": {
94
- "type": "array",
95
- "items": {
96
- "type": "array",
97
- "items": {
47
+ "oneOf": [
48
+ {
49
+ "type": "object",
50
+ "properties": {
51
+ "key": {
98
52
  "type": "string",
99
- "maxLength": 255
53
+ "maxLength": 1024
100
54
  },
101
- "maxItems": 100
55
+ "type": {
56
+ "type": "string",
57
+ "enum": [
58
+ "customNodeStart",
59
+ "deviceCommand",
60
+ "deviceIdConnect",
61
+ "deviceTagConnect",
62
+ "deviceIdDisconnect",
63
+ "deviceTagDisconnect",
64
+ "integration",
65
+ "mqttTopic",
66
+ "notebook",
67
+ "onBoot",
68
+ "onConnect",
69
+ "onDisconnect",
70
+ "request",
71
+ "udp",
72
+ "webhook"
73
+ ]
74
+ },
75
+ "config": {
76
+ "type": "object",
77
+ "additionalProperties": false
78
+ },
79
+ "meta": {
80
+ "type": "object",
81
+ "properties": {
82
+ "category": {
83
+ "type": "string",
84
+ "enum": [
85
+ "trigger"
86
+ ]
87
+ },
88
+ "name": {
89
+ "type": "string",
90
+ "enum": [
91
+ "customNodeStart",
92
+ "deviceCommand",
93
+ "deviceIdsTagsConnect",
94
+ "deviceIdsTagsDisconnect",
95
+ "googlePubSub",
96
+ "meridian",
97
+ "mqtt",
98
+ "notebook",
99
+ "onBoot",
100
+ "onConnect",
101
+ "onDisconnect",
102
+ "particle",
103
+ "request",
104
+ "udp",
105
+ "webhook"
106
+ ]
107
+ },
108
+ "label": {
109
+ "type": "string",
110
+ "minLength": 1,
111
+ "maxLength": 255
112
+ },
113
+ "x": {
114
+ "type": "number"
115
+ },
116
+ "y": {
117
+ "type": "number"
118
+ },
119
+ "uiId": {
120
+ "type": "string",
121
+ "maxLength": 48
122
+ },
123
+ "description": {
124
+ "type": "string",
125
+ "maxLength": 32767
126
+ },
127
+ "icon": {
128
+ "type": "string",
129
+ "maxLength": 1024
130
+ },
131
+ "color": {
132
+ "type": "string",
133
+ "maxLength": 1024
134
+ },
135
+ "inputCount": {
136
+ "type": "number"
137
+ },
138
+ "outputCount": {
139
+ "type": "number"
140
+ },
141
+ "triggerId": {
142
+ "type": "string",
143
+ "maxLength": 48
144
+ },
145
+ "id": {
146
+ "type": "string",
147
+ "maxLength": 48
148
+ }
149
+ },
150
+ "additionalProperties": false
151
+ },
152
+ "outputIds": {
153
+ "type": "array",
154
+ "items": {
155
+ "type": "array",
156
+ "items": {
157
+ "type": "string",
158
+ "maxLength": 255
159
+ },
160
+ "maxItems": 100
161
+ },
162
+ "maxItems": 100
163
+ }
102
164
  },
103
- "maxItems": 100
104
- }
105
- },
106
- "additionalProperties": false,
107
- "required": [
108
- "type"
109
- ]
110
- }
111
- },
112
- "nodes": {
113
- "type": "array",
114
- "items": {
115
- "type": "object",
116
- "properties": {
117
- "id": {
118
- "type": "string",
119
- "maxLength": 1024
120
- },
121
- "type": {
122
- "type": "string",
123
- "minLength": 1,
124
- "maxLength": 1024
125
- },
126
- "config": {
127
- "type": "object"
165
+ "required": [
166
+ "type"
167
+ ],
168
+ "additionalProperties": false
128
169
  },
129
- "meta": {
130
- "type": "object"
170
+ {
171
+ "type": "object",
172
+ "properties": {
173
+ "key": {
174
+ "type": "string",
175
+ "maxLength": 1024
176
+ },
177
+ "type": {
178
+ "type": "string",
179
+ "enum": [
180
+ "dataTable"
181
+ ]
182
+ },
183
+ "config": {
184
+ "type": "object",
185
+ "properties": {
186
+ "bulkInsert": {
187
+ "type": "boolean"
188
+ },
189
+ "delete": {
190
+ "type": "boolean"
191
+ },
192
+ "insert": {
193
+ "type": "boolean"
194
+ },
195
+ "update": {
196
+ "type": "boolean"
197
+ }
198
+ },
199
+ "additionalProperties": false
200
+ },
201
+ "meta": {
202
+ "type": "object",
203
+ "properties": {
204
+ "category": {
205
+ "type": "string",
206
+ "enum": [
207
+ "trigger"
208
+ ]
209
+ },
210
+ "name": {
211
+ "type": "string",
212
+ "enum": [
213
+ "dataTable"
214
+ ]
215
+ },
216
+ "label": {
217
+ "type": "string",
218
+ "minLength": 1,
219
+ "maxLength": 255
220
+ },
221
+ "x": {
222
+ "type": "number"
223
+ },
224
+ "y": {
225
+ "type": "number"
226
+ },
227
+ "uiId": {
228
+ "type": "string",
229
+ "maxLength": 48
230
+ },
231
+ "description": {
232
+ "type": "string",
233
+ "maxLength": 32767
234
+ },
235
+ "icon": {
236
+ "type": "string",
237
+ "maxLength": 1024
238
+ },
239
+ "color": {
240
+ "type": "string",
241
+ "maxLength": 1024
242
+ },
243
+ "inputCount": {
244
+ "type": "number"
245
+ },
246
+ "outputCount": {
247
+ "type": "number"
248
+ },
249
+ "id": {
250
+ "type": "string",
251
+ "maxLength": 48
252
+ }
253
+ },
254
+ "additionalProperties": false
255
+ },
256
+ "outputIds": {
257
+ "type": "array",
258
+ "items": {
259
+ "type": "array",
260
+ "items": {
261
+ "type": "string",
262
+ "maxLength": 255
263
+ },
264
+ "maxItems": 100
265
+ },
266
+ "maxItems": 100
267
+ }
268
+ },
269
+ "required": [
270
+ "type"
271
+ ],
272
+ "additionalProperties": false
131
273
  },
132
- "outputIds": {
133
- "type": "array",
134
- "items": {
135
- "type": "array",
136
- "items": {
274
+ {
275
+ "type": "object",
276
+ "properties": {
277
+ "key": {
137
278
  "type": "string",
138
- "maxLength": 255
279
+ "maxLength": 1024
139
280
  },
140
- "maxItems": 100
281
+ "type": {
282
+ "type": "string",
283
+ "enum": [
284
+ "deviceId",
285
+ "deviceTag"
286
+ ]
287
+ },
288
+ "config": {
289
+ "type": "object",
290
+ "properties": {
291
+ "attributeBlacklist": {
292
+ "type": "array",
293
+ "maxItems": 100,
294
+ "items": {
295
+ "type": "string",
296
+ "pattern": "^[0-9a-zA-Z_-]{1,255}$"
297
+ }
298
+ },
299
+ "attributeWhitelist": {
300
+ "type": "array",
301
+ "maxItems": 100,
302
+ "items": {
303
+ "type": "string",
304
+ "pattern": "^[0-9a-zA-Z_-]{1,255}$"
305
+ }
306
+ },
307
+ "maxAge": {
308
+ "type": "number"
309
+ }
310
+ },
311
+ "additionalProperties": false
312
+ },
313
+ "meta": {
314
+ "type": "object",
315
+ "properties": {
316
+ "category": {
317
+ "type": "string",
318
+ "enum": [
319
+ "trigger"
320
+ ]
321
+ },
322
+ "name": {
323
+ "type": "string",
324
+ "enum": [
325
+ "deviceIdsTags",
326
+ "device",
327
+ "deviceTag"
328
+ ]
329
+ },
330
+ "label": {
331
+ "type": "string",
332
+ "minLength": 1,
333
+ "maxLength": 255
334
+ },
335
+ "x": {
336
+ "type": "number"
337
+ },
338
+ "y": {
339
+ "type": "number"
340
+ },
341
+ "uiId": {
342
+ "type": "string",
343
+ "maxLength": 48
344
+ },
345
+ "description": {
346
+ "type": "string",
347
+ "maxLength": 32767
348
+ },
349
+ "icon": {
350
+ "type": "string",
351
+ "maxLength": 1024
352
+ },
353
+ "color": {
354
+ "type": "string",
355
+ "maxLength": 1024
356
+ },
357
+ "inputCount": {
358
+ "type": "number"
359
+ },
360
+ "outputCount": {
361
+ "type": "number"
362
+ },
363
+ "id": {
364
+ "type": "string",
365
+ "maxLength": 48
366
+ },
367
+ "timeUnit": {
368
+ "type": "string",
369
+ "maxLength": 48
370
+ },
371
+ "maxAgeToggle": {
372
+ "type": "boolean"
373
+ },
374
+ "allowedAttributeType": {
375
+ "type": "string",
376
+ "enum": [
377
+ "attributeWhitelist",
378
+ "any",
379
+ "attributeBlacklist"
380
+ ]
381
+ }
382
+ },
383
+ "additionalProperties": false
384
+ },
385
+ "outputIds": {
386
+ "type": "array",
387
+ "items": {
388
+ "type": "array",
389
+ "items": {
390
+ "type": "string",
391
+ "maxLength": 255
392
+ },
393
+ "maxItems": 100
394
+ },
395
+ "maxItems": 100
396
+ }
141
397
  },
142
- "maxItems": 100
143
- }
144
- },
145
- "additionalProperties": false,
146
- "required": [
147
- "type"
148
- ]
149
- }
150
- },
151
- "globals": {
152
- "type": "array",
153
- "maxItems": 100,
154
- "items": {
155
- "type": "object",
156
- "properties": {
157
- "key": {
158
- "type": "string",
159
- "pattern": "^[0-9a-zA-Z_-]{1,255}$"
398
+ "required": [
399
+ "type"
400
+ ],
401
+ "additionalProperties": false
402
+ },
403
+ {
404
+ "type": "object",
405
+ "properties": {
406
+ "key": {
407
+ "type": "string",
408
+ "maxLength": 1024
409
+ },
410
+ "type": {
411
+ "type": "string",
412
+ "enum": [
413
+ "deviceIdInactivity",
414
+ "deviceTagInactivity"
415
+ ]
416
+ },
417
+ "config": {
418
+ "type": "object",
419
+ "properties": {
420
+ "seconds": {
421
+ "type": "number"
422
+ }
423
+ },
424
+ "additionalProperties": false
425
+ },
426
+ "meta": {
427
+ "type": "object",
428
+ "properties": {
429
+ "category": {
430
+ "type": "string",
431
+ "enum": [
432
+ "trigger"
433
+ ]
434
+ },
435
+ "name": {
436
+ "type": "string",
437
+ "enum": [
438
+ "deviceIdsTagsInactivity"
439
+ ]
440
+ },
441
+ "label": {
442
+ "type": "string",
443
+ "minLength": 1,
444
+ "maxLength": 255
445
+ },
446
+ "x": {
447
+ "type": "number"
448
+ },
449
+ "y": {
450
+ "type": "number"
451
+ },
452
+ "uiId": {
453
+ "type": "string",
454
+ "maxLength": 48
455
+ },
456
+ "description": {
457
+ "type": "string",
458
+ "maxLength": 32767
459
+ },
460
+ "icon": {
461
+ "type": "string",
462
+ "maxLength": 1024
463
+ },
464
+ "color": {
465
+ "type": "string",
466
+ "maxLength": 1024
467
+ },
468
+ "inputCount": {
469
+ "type": "number"
470
+ },
471
+ "outputCount": {
472
+ "type": "number"
473
+ },
474
+ "id": {
475
+ "type": "string",
476
+ "maxLength": 48
477
+ }
478
+ },
479
+ "additionalProperties": false
480
+ },
481
+ "outputIds": {
482
+ "type": "array",
483
+ "items": {
484
+ "type": "array",
485
+ "items": {
486
+ "type": "string",
487
+ "maxLength": 255
488
+ },
489
+ "maxItems": 100
490
+ },
491
+ "maxItems": 100
492
+ }
493
+ },
494
+ "required": [
495
+ "type"
496
+ ],
497
+ "additionalProperties": false
498
+ },
499
+ {
500
+ "type": "object",
501
+ "properties": {
502
+ "key": {
503
+ "type": "string",
504
+ "maxLength": 1024
505
+ },
506
+ "type": {
507
+ "type": "string",
508
+ "enum": [
509
+ "endpoint"
510
+ ]
511
+ },
512
+ "config": {
513
+ "type": "object",
514
+ "properties": {
515
+ "experienceVersion": {
516
+ "type": "string",
517
+ "minLength": 1,
518
+ "maxLength": 255
519
+ }
520
+ },
521
+ "additionalProperties": false
522
+ },
523
+ "meta": {
524
+ "type": "object",
525
+ "properties": {
526
+ "category": {
527
+ "type": "string",
528
+ "enum": [
529
+ "trigger"
530
+ ]
531
+ },
532
+ "name": {
533
+ "type": "string",
534
+ "enum": [
535
+ "endpoint"
536
+ ]
537
+ },
538
+ "label": {
539
+ "type": "string",
540
+ "minLength": 1,
541
+ "maxLength": 255
542
+ },
543
+ "x": {
544
+ "type": "number"
545
+ },
546
+ "y": {
547
+ "type": "number"
548
+ },
549
+ "uiId": {
550
+ "type": "string",
551
+ "maxLength": 48
552
+ },
553
+ "description": {
554
+ "type": "string",
555
+ "maxLength": 32767
556
+ },
557
+ "icon": {
558
+ "type": "string",
559
+ "maxLength": 1024
560
+ },
561
+ "color": {
562
+ "type": "string",
563
+ "maxLength": 1024
564
+ },
565
+ "inputCount": {
566
+ "type": "number"
567
+ },
568
+ "outputCount": {
569
+ "type": "number"
570
+ },
571
+ "id": {
572
+ "type": "string",
573
+ "maxLength": 48
574
+ }
575
+ },
576
+ "additionalProperties": false
577
+ },
578
+ "outputIds": {
579
+ "type": "array",
580
+ "items": {
581
+ "type": "array",
582
+ "items": {
583
+ "type": "string",
584
+ "maxLength": 255
585
+ },
586
+ "maxItems": 100
587
+ },
588
+ "maxItems": 100
589
+ }
590
+ },
591
+ "required": [
592
+ "type"
593
+ ],
594
+ "additionalProperties": false
595
+ },
596
+ {
597
+ "type": "object",
598
+ "properties": {
599
+ "key": {
600
+ "type": "string",
601
+ "maxLength": 1024
602
+ },
603
+ "type": {
604
+ "type": "string",
605
+ "enum": [
606
+ "event"
607
+ ]
608
+ },
609
+ "config": {
610
+ "type": "object",
611
+ "properties": {
612
+ "subject": {
613
+ "type": "string",
614
+ "maxLength": 255
615
+ },
616
+ "new": {
617
+ "type": "boolean"
618
+ },
619
+ "acknowledged": {
620
+ "type": "boolean"
621
+ },
622
+ "resolved": {
623
+ "type": "boolean"
624
+ }
625
+ },
626
+ "additionalProperties": false
627
+ },
628
+ "meta": {
629
+ "type": "object",
630
+ "properties": {
631
+ "category": {
632
+ "type": "string",
633
+ "enum": [
634
+ "trigger"
635
+ ]
636
+ },
637
+ "name": {
638
+ "type": "string",
639
+ "enum": [
640
+ "event"
641
+ ]
642
+ },
643
+ "label": {
644
+ "type": "string",
645
+ "minLength": 1,
646
+ "maxLength": 255
647
+ },
648
+ "x": {
649
+ "type": "number"
650
+ },
651
+ "y": {
652
+ "type": "number"
653
+ },
654
+ "uiId": {
655
+ "type": "string",
656
+ "maxLength": 48
657
+ },
658
+ "description": {
659
+ "type": "string",
660
+ "maxLength": 32767
661
+ },
662
+ "icon": {
663
+ "type": "string",
664
+ "maxLength": 1024
665
+ },
666
+ "color": {
667
+ "type": "string",
668
+ "maxLength": 1024
669
+ },
670
+ "inputCount": {
671
+ "type": "number"
672
+ },
673
+ "outputCount": {
674
+ "type": "number"
675
+ },
676
+ "id": {
677
+ "type": "string",
678
+ "maxLength": 48
679
+ }
680
+ },
681
+ "additionalProperties": false
682
+ },
683
+ "outputIds": {
684
+ "type": "array",
685
+ "items": {
686
+ "type": "array",
687
+ "items": {
688
+ "type": "string",
689
+ "maxLength": 255
690
+ },
691
+ "maxItems": 100
692
+ },
693
+ "maxItems": 100
694
+ }
695
+ },
696
+ "required": [
697
+ "type"
698
+ ],
699
+ "additionalProperties": false
700
+ },
701
+ {
702
+ "type": "object",
703
+ "properties": {
704
+ "key": {
705
+ "type": "string",
706
+ "maxLength": 1024
707
+ },
708
+ "type": {
709
+ "type": "string",
710
+ "enum": [
711
+ "fileTail"
712
+ ]
713
+ },
714
+ "config": {
715
+ "type": "object",
716
+ "properties": {
717
+ "path": {
718
+ "type": "string",
719
+ "maxLength": 1024
720
+ },
721
+ "encoding": {
722
+ "type": "string",
723
+ "maxLength": 48
724
+ },
725
+ "byteLength": {
726
+ "type": "string",
727
+ "maxLength": 48
728
+ },
729
+ "delimiter": {
730
+ "type": "string",
731
+ "maxLength": 48
732
+ }
733
+ },
734
+ "additionalProperties": false
735
+ },
736
+ "meta": {
737
+ "type": "object",
738
+ "properties": {
739
+ "category": {
740
+ "type": "string",
741
+ "enum": [
742
+ "trigger"
743
+ ]
744
+ },
745
+ "name": {
746
+ "type": "string",
747
+ "enum": [
748
+ "fileTail"
749
+ ]
750
+ },
751
+ "label": {
752
+ "type": "string",
753
+ "minLength": 1,
754
+ "maxLength": 255
755
+ },
756
+ "x": {
757
+ "type": "number"
758
+ },
759
+ "y": {
760
+ "type": "number"
761
+ },
762
+ "uiId": {
763
+ "type": "string",
764
+ "maxLength": 48
765
+ },
766
+ "description": {
767
+ "type": "string",
768
+ "maxLength": 32767
769
+ },
770
+ "icon": {
771
+ "type": "string",
772
+ "maxLength": 1024
773
+ },
774
+ "color": {
775
+ "type": "string",
776
+ "maxLength": 1024
777
+ },
778
+ "inputCount": {
779
+ "type": "number"
780
+ },
781
+ "outputCount": {
782
+ "type": "number"
783
+ },
784
+ "id": {
785
+ "type": "string",
786
+ "maxLength": 48
787
+ }
788
+ },
789
+ "additionalProperties": false
790
+ },
791
+ "outputIds": {
792
+ "type": "array",
793
+ "items": {
794
+ "type": "array",
795
+ "items": {
796
+ "type": "string",
797
+ "maxLength": 255
798
+ },
799
+ "maxItems": 100
800
+ },
801
+ "maxItems": 100
802
+ }
803
+ },
804
+ "required": [
805
+ "type"
806
+ ],
807
+ "additionalProperties": false
808
+ },
809
+ {
810
+ "type": "object",
811
+ "properties": {
812
+ "key": {
813
+ "type": "string",
814
+ "maxLength": 1024
815
+ },
816
+ "type": {
817
+ "type": "string",
818
+ "enum": [
819
+ "fileWatch"
820
+ ]
821
+ },
822
+ "config": {
823
+ "type": "object",
824
+ "properties": {
825
+ "path": {
826
+ "type": "string",
827
+ "maxLength": 1024
828
+ },
829
+ "fileAdded": {
830
+ "type": "boolean"
831
+ },
832
+ "fileChanged": {
833
+ "type": "boolean"
834
+ },
835
+ "fileRemoved": {
836
+ "type": "boolean"
837
+ },
838
+ "directoryAdded": {
839
+ "type": "boolean"
840
+ },
841
+ "directoryRemoved": {
842
+ "type": "boolean"
843
+ }
844
+ },
845
+ "additionalProperties": false
846
+ },
847
+ "meta": {
848
+ "type": "object",
849
+ "properties": {
850
+ "category": {
851
+ "type": "string",
852
+ "enum": [
853
+ "trigger"
854
+ ]
855
+ },
856
+ "name": {
857
+ "type": "string",
858
+ "enum": [
859
+ "fileWatch"
860
+ ]
861
+ },
862
+ "label": {
863
+ "type": "string",
864
+ "minLength": 1,
865
+ "maxLength": 255
866
+ },
867
+ "x": {
868
+ "type": "number"
869
+ },
870
+ "y": {
871
+ "type": "number"
872
+ },
873
+ "uiId": {
874
+ "type": "string",
875
+ "maxLength": 48
876
+ },
877
+ "description": {
878
+ "type": "string",
879
+ "maxLength": 32767
880
+ },
881
+ "icon": {
882
+ "type": "string",
883
+ "maxLength": 1024
884
+ },
885
+ "color": {
886
+ "type": "string",
887
+ "maxLength": 1024
888
+ },
889
+ "inputCount": {
890
+ "type": "number"
891
+ },
892
+ "outputCount": {
893
+ "type": "number"
894
+ },
895
+ "id": {
896
+ "type": "string",
897
+ "maxLength": 48
898
+ }
899
+ },
900
+ "additionalProperties": false
901
+ },
902
+ "outputIds": {
903
+ "type": "array",
904
+ "items": {
905
+ "type": "array",
906
+ "items": {
907
+ "type": "string",
908
+ "maxLength": 255
909
+ },
910
+ "maxItems": 100
911
+ },
912
+ "maxItems": 100
913
+ }
914
+ },
915
+ "required": [
916
+ "type"
917
+ ],
918
+ "additionalProperties": false
919
+ },
920
+ {
921
+ "type": "object",
922
+ "properties": {
923
+ "key": {
924
+ "type": "string",
925
+ "maxLength": 1024
926
+ },
927
+ "type": {
928
+ "type": "string",
929
+ "enum": [
930
+ "opcua"
931
+ ]
932
+ },
933
+ "config": {
934
+ "type": "object",
935
+ "properties": {
936
+ "uri": {
937
+ "type": "string",
938
+ "maxLength": 1024
939
+ },
940
+ "securityPolicy": {
941
+ "type": "string",
942
+ "maxLength": 255
943
+ },
944
+ "securityMode": {
945
+ "type": "string",
946
+ "maxLength": 255
947
+ },
948
+ "username": {
949
+ "type": "string",
950
+ "maxLength": 1024
951
+ },
952
+ "password": {
953
+ "type": "string",
954
+ "maxLength": 1024
955
+ },
956
+ "cert": {
957
+ "type": "string",
958
+ "maxLength": 32767
959
+ },
960
+ "privateKey": {
961
+ "type": "string",
962
+ "maxLength": 32767
963
+ },
964
+ "nameSpace": {
965
+ "type": "string",
966
+ "maxLength": 255
967
+ },
968
+ "identifier": {
969
+ "type": "string",
970
+ "maxLength": 255
971
+ },
972
+ "samplingInterval": {
973
+ "type": "string",
974
+ "maxLength": 255
975
+ },
976
+ "eventFilter": {
977
+ "type": "array",
978
+ "maxItems": 100,
979
+ "items": {
980
+ "type": "string",
981
+ "maxLength": 255
982
+ }
983
+ }
984
+ },
985
+ "additionalProperties": false
986
+ },
987
+ "meta": {
988
+ "type": "object",
989
+ "properties": {
990
+ "category": {
991
+ "type": "string",
992
+ "enum": [
993
+ "trigger"
994
+ ]
995
+ },
996
+ "name": {
997
+ "type": "string",
998
+ "enum": [
999
+ "opcua"
1000
+ ]
1001
+ },
1002
+ "label": {
1003
+ "type": "string",
1004
+ "minLength": 1,
1005
+ "maxLength": 255
1006
+ },
1007
+ "x": {
1008
+ "type": "number"
1009
+ },
1010
+ "y": {
1011
+ "type": "number"
1012
+ },
1013
+ "uiId": {
1014
+ "type": "string",
1015
+ "maxLength": 48
1016
+ },
1017
+ "description": {
1018
+ "type": "string",
1019
+ "maxLength": 32767
1020
+ },
1021
+ "icon": {
1022
+ "type": "string",
1023
+ "maxLength": 1024
1024
+ },
1025
+ "color": {
1026
+ "type": "string",
1027
+ "maxLength": 1024
1028
+ },
1029
+ "inputCount": {
1030
+ "type": "number"
1031
+ },
1032
+ "outputCount": {
1033
+ "type": "number"
1034
+ },
1035
+ "id": {
1036
+ "type": "string",
1037
+ "maxLength": 48
1038
+ }
1039
+ },
1040
+ "additionalProperties": false
1041
+ },
1042
+ "outputIds": {
1043
+ "type": "array",
1044
+ "items": {
1045
+ "type": "array",
1046
+ "items": {
1047
+ "type": "string",
1048
+ "maxLength": 255
1049
+ },
1050
+ "maxItems": 100
1051
+ },
1052
+ "maxItems": 100
1053
+ }
1054
+ },
1055
+ "required": [
1056
+ "type"
1057
+ ],
1058
+ "additionalProperties": false
1059
+ },
1060
+ {
1061
+ "type": "object",
1062
+ "properties": {
1063
+ "key": {
1064
+ "type": "string",
1065
+ "maxLength": 1024
1066
+ },
1067
+ "type": {
1068
+ "type": "string",
1069
+ "enum": [
1070
+ "redis"
1071
+ ]
1072
+ },
1073
+ "config": {
1074
+ "type": "object",
1075
+ "properties": {
1076
+ "host": {
1077
+ "type": "string",
1078
+ "maxLength": 1024
1079
+ },
1080
+ "port": {
1081
+ "type": "string",
1082
+ "maxLength": 16
1083
+ },
1084
+ "password": {
1085
+ "type": "string",
1086
+ "maxLength": 1024
1087
+ },
1088
+ "topic": {
1089
+ "type": "string",
1090
+ "maxLength": 1024
1091
+ },
1092
+ "fileAdded": {
1093
+ "type": "boolean"
1094
+ },
1095
+ "fileChanged": {
1096
+ "type": "boolean"
1097
+ },
1098
+ "fileRemoved": {
1099
+ "type": "boolean"
1100
+ },
1101
+ "directoryAdded": {
1102
+ "type": "boolean"
1103
+ },
1104
+ "directoryRemoved": {
1105
+ "type": "boolean"
1106
+ }
1107
+ },
1108
+ "additionalProperties": false
1109
+ },
1110
+ "meta": {
1111
+ "type": "object",
1112
+ "properties": {
1113
+ "category": {
1114
+ "type": "string",
1115
+ "enum": [
1116
+ "trigger"
1117
+ ]
1118
+ },
1119
+ "name": {
1120
+ "type": "string",
1121
+ "enum": [
1122
+ "redisTrigger"
1123
+ ]
1124
+ },
1125
+ "label": {
1126
+ "type": "string",
1127
+ "minLength": 1,
1128
+ "maxLength": 255
1129
+ },
1130
+ "x": {
1131
+ "type": "number"
1132
+ },
1133
+ "y": {
1134
+ "type": "number"
1135
+ },
1136
+ "uiId": {
1137
+ "type": "string",
1138
+ "maxLength": 48
1139
+ },
1140
+ "description": {
1141
+ "type": "string",
1142
+ "maxLength": 32767
1143
+ },
1144
+ "icon": {
1145
+ "type": "string",
1146
+ "maxLength": 1024
1147
+ },
1148
+ "color": {
1149
+ "type": "string",
1150
+ "maxLength": 1024
1151
+ },
1152
+ "inputCount": {
1153
+ "type": "number"
1154
+ },
1155
+ "outputCount": {
1156
+ "type": "number"
1157
+ },
1158
+ "id": {
1159
+ "type": "string",
1160
+ "maxLength": 48
1161
+ }
1162
+ },
1163
+ "additionalProperties": false
1164
+ },
1165
+ "outputIds": {
1166
+ "type": "array",
1167
+ "items": {
1168
+ "type": "array",
1169
+ "items": {
1170
+ "type": "string",
1171
+ "maxLength": 255
1172
+ },
1173
+ "maxItems": 100
1174
+ },
1175
+ "maxItems": 100
1176
+ }
1177
+ },
1178
+ "required": [
1179
+ "type"
1180
+ ],
1181
+ "additionalProperties": false
1182
+ },
1183
+ {
1184
+ "type": "object",
1185
+ "properties": {
1186
+ "key": {
1187
+ "type": "string",
1188
+ "maxLength": 1024
1189
+ },
1190
+ "type": {
1191
+ "type": "string",
1192
+ "enum": [
1193
+ "serial"
1194
+ ]
1195
+ },
1196
+ "config": {
1197
+ "type": "object",
1198
+ "properties": {
1199
+ "path": {
1200
+ "type": "string",
1201
+ "maxLength": 1024
1202
+ },
1203
+ "baudRate": {
1204
+ "type": "number"
1205
+ },
1206
+ "encoding": {
1207
+ "type": "string",
1208
+ "maxLength": 48
1209
+ },
1210
+ "writeOnOpen": {
1211
+ "type": "string",
1212
+ "maxLength": 1024
1213
+ },
1214
+ "byteLength": {
1215
+ "type": "string",
1216
+ "maxLength": 48
1217
+ },
1218
+ "delimiter": {
1219
+ "type": "string",
1220
+ "maxLength": 48
1221
+ }
1222
+ },
1223
+ "additionalProperties": false
1224
+ },
1225
+ "meta": {
1226
+ "type": "object",
1227
+ "properties": {
1228
+ "category": {
1229
+ "type": "string",
1230
+ "enum": [
1231
+ "trigger"
1232
+ ]
1233
+ },
1234
+ "name": {
1235
+ "type": "string",
1236
+ "enum": [
1237
+ "serial"
1238
+ ]
1239
+ },
1240
+ "label": {
1241
+ "type": "string",
1242
+ "minLength": 1,
1243
+ "maxLength": 255
1244
+ },
1245
+ "x": {
1246
+ "type": "number"
1247
+ },
1248
+ "y": {
1249
+ "type": "number"
1250
+ },
1251
+ "uiId": {
1252
+ "type": "string",
1253
+ "maxLength": 48
1254
+ },
1255
+ "description": {
1256
+ "type": "string",
1257
+ "maxLength": 32767
1258
+ },
1259
+ "icon": {
1260
+ "type": "string",
1261
+ "maxLength": 1024
1262
+ },
1263
+ "color": {
1264
+ "type": "string",
1265
+ "maxLength": 1024
1266
+ },
1267
+ "inputCount": {
1268
+ "type": "number"
1269
+ },
1270
+ "outputCount": {
1271
+ "type": "number"
1272
+ },
1273
+ "id": {
1274
+ "type": "string",
1275
+ "maxLength": 48
1276
+ },
1277
+ "parseBy": {
1278
+ "type": "string",
1279
+ "enum": [
1280
+ "byteLength",
1281
+ "delimiter"
1282
+ ]
1283
+ }
1284
+ },
1285
+ "additionalProperties": false
1286
+ },
1287
+ "outputIds": {
1288
+ "type": "array",
1289
+ "items": {
1290
+ "type": "array",
1291
+ "items": {
1292
+ "type": "string",
1293
+ "maxLength": 255
1294
+ },
1295
+ "maxItems": 100
1296
+ },
1297
+ "maxItems": 100
1298
+ }
1299
+ },
1300
+ "required": [
1301
+ "type"
1302
+ ],
1303
+ "additionalProperties": false
1304
+ },
1305
+ {
1306
+ "type": "object",
1307
+ "properties": {
1308
+ "key": {
1309
+ "type": "string",
1310
+ "maxLength": 1024
1311
+ },
1312
+ "type": {
1313
+ "type": "string",
1314
+ "enum": [
1315
+ "timer"
1316
+ ]
1317
+ },
1318
+ "config": {
1319
+ "type": "object",
1320
+ "properties": {
1321
+ "seconds": {
1322
+ "type": "number"
1323
+ },
1324
+ "cron": {
1325
+ "type": "string",
1326
+ "maxLength": 255
1327
+ },
1328
+ "tz": {
1329
+ "type": "string",
1330
+ "maxLength": 255
1331
+ }
1332
+ },
1333
+ "additionalProperties": false
1334
+ },
1335
+ "meta": {
1336
+ "type": "object",
1337
+ "properties": {
1338
+ "category": {
1339
+ "type": "string",
1340
+ "enum": [
1341
+ "trigger"
1342
+ ]
1343
+ },
1344
+ "name": {
1345
+ "type": "string",
1346
+ "enum": [
1347
+ "timer"
1348
+ ]
1349
+ },
1350
+ "label": {
1351
+ "type": "string",
1352
+ "minLength": 1,
1353
+ "maxLength": 255
1354
+ },
1355
+ "x": {
1356
+ "type": "number"
1357
+ },
1358
+ "y": {
1359
+ "type": "number"
1360
+ },
1361
+ "uiId": {
1362
+ "type": "string",
1363
+ "maxLength": 48
1364
+ },
1365
+ "description": {
1366
+ "type": "string",
1367
+ "maxLength": 32767
1368
+ },
1369
+ "icon": {
1370
+ "type": "string",
1371
+ "maxLength": 1024
1372
+ },
1373
+ "color": {
1374
+ "type": "string",
1375
+ "maxLength": 1024
1376
+ },
1377
+ "inputCount": {
1378
+ "type": "number"
1379
+ },
1380
+ "outputCount": {
1381
+ "type": "number"
1382
+ },
1383
+ "id": {
1384
+ "type": "string",
1385
+ "maxLength": 48
1386
+ },
1387
+ "timerTypeSelect": {
1388
+ "type": "string",
1389
+ "enum": [
1390
+ "cronWeekly",
1391
+ "seconds",
1392
+ "cron"
1393
+ ]
1394
+ },
1395
+ "timeAt": {
1396
+ "type": "string",
1397
+ "maxLength": 255
1398
+ },
1399
+ "timezone": {
1400
+ "type": "string",
1401
+ "maxLength": 255
1402
+ },
1403
+ "weekdays": {
1404
+ "type": "array",
1405
+ "maxItems": 7,
1406
+ "items": {
1407
+ "type": "number"
1408
+ }
1409
+ }
1410
+ },
1411
+ "additionalProperties": false
1412
+ },
1413
+ "outputIds": {
1414
+ "type": "array",
1415
+ "items": {
1416
+ "type": "array",
1417
+ "items": {
1418
+ "type": "string",
1419
+ "maxLength": 255
1420
+ },
1421
+ "maxItems": 100
1422
+ },
1423
+ "maxItems": 100
1424
+ }
1425
+ },
1426
+ "required": [
1427
+ "type"
1428
+ ],
1429
+ "additionalProperties": false
1430
+ },
1431
+ {
1432
+ "type": "object",
1433
+ "properties": {
1434
+ "key": {
1435
+ "type": "string",
1436
+ "maxLength": 1024
1437
+ },
1438
+ "type": {
1439
+ "type": "string",
1440
+ "enum": [
1441
+ "virtualButton"
1442
+ ]
1443
+ },
1444
+ "config": {
1445
+ "type": "object",
1446
+ "additionalProperties": false
1447
+ },
1448
+ "meta": {
1449
+ "type": "object",
1450
+ "properties": {
1451
+ "category": {
1452
+ "type": "string",
1453
+ "enum": [
1454
+ "trigger"
1455
+ ]
1456
+ },
1457
+ "name": {
1458
+ "type": "string",
1459
+ "enum": [
1460
+ "virtualButton"
1461
+ ]
1462
+ },
1463
+ "label": {
1464
+ "type": "string",
1465
+ "minLength": 1,
1466
+ "maxLength": 255
1467
+ },
1468
+ "x": {
1469
+ "type": "number"
1470
+ },
1471
+ "y": {
1472
+ "type": "number"
1473
+ },
1474
+ "uiId": {
1475
+ "type": "string",
1476
+ "maxLength": 48
1477
+ },
1478
+ "groupId": {
1479
+ "type": "string",
1480
+ "maxLength": 48
1481
+ },
1482
+ "description": {
1483
+ "type": "string",
1484
+ "maxLength": 32767
1485
+ },
1486
+ "icon": {
1487
+ "type": "string",
1488
+ "maxLength": 1024
1489
+ },
1490
+ "color": {
1491
+ "type": "string",
1492
+ "maxLength": 1024
1493
+ },
1494
+ "inputCount": {
1495
+ "type": "number"
1496
+ },
1497
+ "outputCount": {
1498
+ "type": "number"
1499
+ },
1500
+ "id": {
1501
+ "type": "string",
1502
+ "maxLength": 48
1503
+ },
1504
+ "payload": {
1505
+ "type": "string",
1506
+ "maxLength": 262144
1507
+ },
1508
+ "deviceId": {
1509
+ "oneOf": [
1510
+ {
1511
+ "type": "string",
1512
+ "pattern": "^[A-Fa-f\\d]{24}$"
1513
+ },
1514
+ {
1515
+ "type": "string",
1516
+ "enum": [
1517
+ ""
1518
+ ]
1519
+ },
1520
+ {
1521
+ "type": "null"
1522
+ }
1523
+ ]
1524
+ }
1525
+ },
1526
+ "additionalProperties": false
1527
+ },
1528
+ "outputIds": {
1529
+ "type": "array",
1530
+ "items": {
1531
+ "type": "array",
1532
+ "items": {
1533
+ "type": "string",
1534
+ "maxLength": 255
1535
+ },
1536
+ "maxItems": 100
1537
+ },
1538
+ "maxItems": 100
1539
+ }
1540
+ },
1541
+ "required": [
1542
+ "type"
1543
+ ],
1544
+ "additionalProperties": false
1545
+ }
1546
+ ]
1547
+ }
1548
+ },
1549
+ "nodes": {
1550
+ "type": "array",
1551
+ "items": {
1552
+ "type": "object",
1553
+ "properties": {
1554
+ "id": {
1555
+ "type": "string",
1556
+ "maxLength": 1024
1557
+ },
1558
+ "type": {
1559
+ "type": "string",
1560
+ "minLength": 1,
1561
+ "maxLength": 1024
1562
+ },
1563
+ "config": {
1564
+ "type": "object"
1565
+ },
1566
+ "meta": {
1567
+ "type": "object"
1568
+ },
1569
+ "outputIds": {
1570
+ "type": "array",
1571
+ "items": {
1572
+ "type": "array",
1573
+ "items": {
1574
+ "type": "string",
1575
+ "maxLength": 255
1576
+ },
1577
+ "maxItems": 100
1578
+ },
1579
+ "maxItems": 100
1580
+ }
1581
+ },
1582
+ "additionalProperties": false,
1583
+ "required": [
1584
+ "type"
1585
+ ]
1586
+ }
1587
+ },
1588
+ "globals": {
1589
+ "type": "array",
1590
+ "maxItems": 100,
1591
+ "items": {
1592
+ "type": "object",
1593
+ "properties": {
1594
+ "key": {
1595
+ "type": "string",
1596
+ "pattern": "^[0-9a-zA-Z_-]{1,255}$"
160
1597
  },
161
1598
  "json": {
162
1599
  "type": "string",
163
1600
  "minLength": 1,
164
1601
  "maxLength": 32767
165
1602
  }
166
- },
167
- "additionalProperties": false,
168
- "required": [
169
- "key",
170
- "json"
171
- ]
172
- }
173
- },
174
- "minimumAgentVersion": {
175
- "type": "string",
176
- "pattern": "^(0|([1-9]\\d*))\\.(0|([1-9]\\d*))\\.(0|([1-9]\\d*))$"
1603
+ },
1604
+ "additionalProperties": false,
1605
+ "required": [
1606
+ "key",
1607
+ "json"
1608
+ ]
1609
+ }
1610
+ },
1611
+ "minimumAgentVersion": {
1612
+ "type": "string",
1613
+ "pattern": "^(0|([1-9]\\d*))\\.(0|([1-9]\\d*))\\.(0|([1-9]\\d*))$"
1614
+ },
1615
+ "customNodeConfig": {
1616
+ "type": "object",
1617
+ "properties": {
1618
+ "outputCount": {
1619
+ "type": "number",
1620
+ "enum": [
1621
+ 1,
1622
+ 2
1623
+ ]
1624
+ },
1625
+ "resultMode": {
1626
+ "type": "string",
1627
+ "enum": [
1628
+ "optional",
1629
+ "required",
1630
+ "none"
1631
+ ]
1632
+ },
1633
+ "resultDescription": {
1634
+ "type": "string",
1635
+ "maxLength": 32767
1636
+ },
1637
+ "fields": {
1638
+ "type": "array",
1639
+ "maxItems": 100,
1640
+ "items": {
1641
+ "oneOf": [
1642
+ {
1643
+ "type": "object",
1644
+ "properties": {
1645
+ "type": {
1646
+ "type": "string",
1647
+ "enum": [
1648
+ "checkbox"
1649
+ ]
1650
+ },
1651
+ "label": {
1652
+ "type": "string",
1653
+ "minLength": 1,
1654
+ "maxLength": 1024
1655
+ },
1656
+ "id": {
1657
+ "type": "string",
1658
+ "minLength": 1,
1659
+ "maxLength": 1024
1660
+ },
1661
+ "description": {
1662
+ "type": "string",
1663
+ "maxLength": 32767
1664
+ },
1665
+ "defaultValue": {
1666
+ "type": "boolean"
1667
+ }
1668
+ },
1669
+ "additionalProperties": false,
1670
+ "required": [
1671
+ "type",
1672
+ "label"
1673
+ ]
1674
+ },
1675
+ {
1676
+ "type": "object",
1677
+ "properties": {
1678
+ "type": {
1679
+ "type": "string",
1680
+ "enum": [
1681
+ "select"
1682
+ ]
1683
+ },
1684
+ "label": {
1685
+ "type": "string",
1686
+ "minLength": 1,
1687
+ "maxLength": 1024
1688
+ },
1689
+ "id": {
1690
+ "type": "string",
1691
+ "minLength": 1,
1692
+ "maxLength": 1024
1693
+ },
1694
+ "description": {
1695
+ "type": "string",
1696
+ "maxLength": 32767
1697
+ },
1698
+ "defaultValue": {
1699
+ "type": "string",
1700
+ "minLength": 1,
1701
+ "maxLength": 1024
1702
+ },
1703
+ "options": {
1704
+ "type": "array",
1705
+ "minItems": 1,
1706
+ "maxItems": 100,
1707
+ "items": {
1708
+ "type": "object",
1709
+ "properties": {
1710
+ "label": {
1711
+ "type": "string",
1712
+ "maxLength": 1024
1713
+ },
1714
+ "value": {
1715
+ "type": "string",
1716
+ "minLength": 1,
1717
+ "maxLength": 1024
1718
+ }
1719
+ },
1720
+ "additionalProperties": false,
1721
+ "required": [
1722
+ "value"
1723
+ ]
1724
+ }
1725
+ }
1726
+ },
1727
+ "additionalProperties": false,
1728
+ "required": [
1729
+ "type",
1730
+ "label",
1731
+ "defaultValue",
1732
+ "options"
1733
+ ]
1734
+ },
1735
+ {
1736
+ "type": "object",
1737
+ "properties": {
1738
+ "type": {
1739
+ "type": "string",
1740
+ "enum": [
1741
+ "stringTemplate"
1742
+ ]
1743
+ },
1744
+ "label": {
1745
+ "type": "string",
1746
+ "minLength": 1,
1747
+ "maxLength": 1024
1748
+ },
1749
+ "id": {
1750
+ "type": "string",
1751
+ "minLength": 1,
1752
+ "maxLength": 1024
1753
+ },
1754
+ "description": {
1755
+ "type": "string",
1756
+ "maxLength": 32767
1757
+ },
1758
+ "defaultValue": {
1759
+ "type": "string",
1760
+ "maxLength": 1024
1761
+ },
1762
+ "required": {
1763
+ "type": "boolean"
1764
+ },
1765
+ "validRegExp": {
1766
+ "type": "string",
1767
+ "maxLength": 1024
1768
+ }
1769
+ },
1770
+ "additionalProperties": false,
1771
+ "required": [
1772
+ "type",
1773
+ "label"
1774
+ ]
1775
+ },
1776
+ {
1777
+ "type": "object",
1778
+ "properties": {
1779
+ "type": {
1780
+ "type": "string",
1781
+ "enum": [
1782
+ "numberTemplate"
1783
+ ]
1784
+ },
1785
+ "label": {
1786
+ "type": "string",
1787
+ "minLength": 1,
1788
+ "maxLength": 1024
1789
+ },
1790
+ "id": {
1791
+ "type": "string",
1792
+ "minLength": 1,
1793
+ "maxLength": 1024
1794
+ },
1795
+ "description": {
1796
+ "type": "string",
1797
+ "maxLength": 32767
1798
+ },
1799
+ "defaultValue": {
1800
+ "type": "number"
1801
+ },
1802
+ "required": {
1803
+ "type": "boolean"
1804
+ },
1805
+ "validMin": {
1806
+ "type": "number"
1807
+ },
1808
+ "validMax": {
1809
+ "type": "number"
1810
+ }
1811
+ },
1812
+ "additionalProperties": false,
1813
+ "required": [
1814
+ "type",
1815
+ "label"
1816
+ ]
1817
+ },
1818
+ {
1819
+ "type": "object",
1820
+ "properties": {
1821
+ "type": {
1822
+ "type": "string",
1823
+ "enum": [
1824
+ "jsonTemplate"
1825
+ ]
1826
+ },
1827
+ "label": {
1828
+ "type": "string",
1829
+ "minLength": 1,
1830
+ "maxLength": 1024
1831
+ },
1832
+ "id": {
1833
+ "type": "string",
1834
+ "minLength": 1,
1835
+ "maxLength": 1024
1836
+ },
1837
+ "description": {
1838
+ "type": "string",
1839
+ "maxLength": 32767
1840
+ },
1841
+ "defaultValue": {
1842
+ "type": "string",
1843
+ "maxLength": 32767
1844
+ },
1845
+ "required": {
1846
+ "type": "boolean"
1847
+ }
1848
+ },
1849
+ "additionalProperties": false,
1850
+ "required": [
1851
+ "type",
1852
+ "label"
1853
+ ]
1854
+ },
1855
+ {
1856
+ "type": "object",
1857
+ "properties": {
1858
+ "type": {
1859
+ "type": "string",
1860
+ "enum": [
1861
+ "payloadPath"
1862
+ ]
1863
+ },
1864
+ "label": {
1865
+ "type": "string",
1866
+ "minLength": 1,
1867
+ "maxLength": 1024
1868
+ },
1869
+ "id": {
1870
+ "type": "string",
1871
+ "minLength": 1,
1872
+ "maxLength": 1024
1873
+ },
1874
+ "description": {
1875
+ "type": "string",
1876
+ "maxLength": 32767
1877
+ },
1878
+ "required": {
1879
+ "type": "boolean"
1880
+ }
1881
+ },
1882
+ "additionalProperties": false,
1883
+ "required": [
1884
+ "type",
1885
+ "label"
1886
+ ]
1887
+ },
1888
+ {
1889
+ "type": "object",
1890
+ "properties": {
1891
+ "type": {
1892
+ "type": "string",
1893
+ "enum": [
1894
+ "section"
1895
+ ]
1896
+ },
1897
+ "label": {
1898
+ "type": "string",
1899
+ "minLength": 1,
1900
+ "maxLength": 1024
1901
+ },
1902
+ "id": {
1903
+ "type": "string",
1904
+ "minLength": 1,
1905
+ "maxLength": 1024
1906
+ },
1907
+ "description": {
1908
+ "type": "string",
1909
+ "maxLength": 32767
1910
+ }
1911
+ },
1912
+ "additionalProperties": false,
1913
+ "required": [
1914
+ "type",
1915
+ "label"
1916
+ ]
1917
+ }
1918
+ ]
1919
+ }
1920
+ }
1921
+ },
1922
+ "additionalProperties": false,
1923
+ "required": [
1924
+ "outputCount",
1925
+ "resultMode",
1926
+ "fields"
1927
+ ]
177
1928
  },
178
- "customNodeConfig": {
1929
+ "stats": {
179
1930
  "type": "object",
180
1931
  "properties": {
181
- "outputCount": {
182
- "type": "number",
183
- "enum": [
184
- 1,
185
- 2
186
- ]
187
- },
188
- "resultMode": {
189
- "type": "string",
190
- "enum": [
191
- "optional",
192
- "required",
193
- "none"
194
- ]
1932
+ "runCount": {
1933
+ "type": "number"
195
1934
  },
196
- "resultDescription": {
197
- "type": "string",
198
- "maxLength": 32767
1935
+ "errorCount": {
1936
+ "type": "number"
199
1937
  },
200
- "fields": {
201
- "type": "array",
202
- "maxItems": 100,
203
- "items": {
204
- "oneOf": [
205
- {
1938
+ "byVersion": {
1939
+ "type": "object",
1940
+ "patternProperties": {
1941
+ ".*": {
1942
+ "type": "object",
1943
+ "properties": {
1944
+ "runCount": {
1945
+ "type": "number"
1946
+ },
1947
+ "errorCount": {
1948
+ "type": "number"
1949
+ }
1950
+ }
1951
+ }
1952
+ }
1953
+ }
1954
+ }
1955
+ }
1956
+ }
1957
+ },
1958
+ {
1959
+ "description": "Schema for a single Experience Workflow Version",
1960
+ "type": "object",
1961
+ "properties": {
1962
+ "id": {
1963
+ "type": "string",
1964
+ "pattern": "^[A-Fa-f\\d]{24}$"
1965
+ },
1966
+ "flowVersionId": {
1967
+ "type": "string",
1968
+ "pattern": "^[A-Fa-f\\d]{24}$"
1969
+ },
1970
+ "flowId": {
1971
+ "type": "string",
1972
+ "pattern": "^[A-Fa-f\\d]{24}$"
1973
+ },
1974
+ "applicationId": {
1975
+ "type": "string",
1976
+ "pattern": "^[A-Fa-f\\d]{24}$"
1977
+ },
1978
+ "creationDate": {
1979
+ "type": "string",
1980
+ "format": "date-time"
1981
+ },
1982
+ "lastUpdated": {
1983
+ "type": "string",
1984
+ "format": "date-time"
1985
+ },
1986
+ "name": {
1987
+ "type": "string",
1988
+ "minLength": 1,
1989
+ "maxLength": 255
1990
+ },
1991
+ "description": {
1992
+ "type": "string",
1993
+ "maxLength": 32767
1994
+ },
1995
+ "iconData": {
1996
+ "type": "string",
1997
+ "maxLength": 32767,
1998
+ "pattern": "^data:image/(jpg|jpeg|png|svg\\+xml);base64,[0-9a-zA-Z+/=]*$"
1999
+ },
2000
+ "flowClass": {
2001
+ "type": "string",
2002
+ "enum": [
2003
+ "experience"
2004
+ ]
2005
+ },
2006
+ "versions": {
2007
+ "type": "array",
2008
+ "items": {
2009
+ "type": "string",
2010
+ "minLength": 1,
2011
+ "maxLength": 255
2012
+ }
2013
+ },
2014
+ "enabled": {
2015
+ "type": "boolean"
2016
+ },
2017
+ "triggers": {
2018
+ "type": "array",
2019
+ "items": {
2020
+ "oneOf": [
2021
+ {
2022
+ "type": "object",
2023
+ "properties": {
2024
+ "key": {
2025
+ "type": "string",
2026
+ "maxLength": 1024
2027
+ },
2028
+ "type": {
2029
+ "type": "string",
2030
+ "enum": [
2031
+ "customNodeStart",
2032
+ "deviceCommand",
2033
+ "deviceIdConnect",
2034
+ "deviceTagConnect",
2035
+ "deviceIdDisconnect",
2036
+ "deviceTagDisconnect",
2037
+ "integration",
2038
+ "mqttTopic",
2039
+ "notebook",
2040
+ "onBoot",
2041
+ "onConnect",
2042
+ "onDisconnect",
2043
+ "request",
2044
+ "udp",
2045
+ "webhook"
2046
+ ]
2047
+ },
2048
+ "config": {
2049
+ "type": "object",
2050
+ "additionalProperties": false
2051
+ },
2052
+ "meta": {
2053
+ "type": "object",
2054
+ "properties": {
2055
+ "category": {
2056
+ "type": "string",
2057
+ "enum": [
2058
+ "trigger"
2059
+ ]
2060
+ },
2061
+ "name": {
2062
+ "type": "string",
2063
+ "enum": [
2064
+ "customNodeStart",
2065
+ "deviceCommand",
2066
+ "deviceIdsTagsConnect",
2067
+ "deviceIdsTagsDisconnect",
2068
+ "googlePubSub",
2069
+ "meridian",
2070
+ "mqtt",
2071
+ "notebook",
2072
+ "onBoot",
2073
+ "onConnect",
2074
+ "onDisconnect",
2075
+ "particle",
2076
+ "request",
2077
+ "udp",
2078
+ "webhook"
2079
+ ]
2080
+ },
2081
+ "label": {
2082
+ "type": "string",
2083
+ "minLength": 1,
2084
+ "maxLength": 255
2085
+ },
2086
+ "x": {
2087
+ "type": "number"
2088
+ },
2089
+ "y": {
2090
+ "type": "number"
2091
+ },
2092
+ "uiId": {
2093
+ "type": "string",
2094
+ "maxLength": 48
2095
+ },
2096
+ "description": {
2097
+ "type": "string",
2098
+ "maxLength": 32767
2099
+ },
2100
+ "icon": {
2101
+ "type": "string",
2102
+ "maxLength": 1024
2103
+ },
2104
+ "color": {
2105
+ "type": "string",
2106
+ "maxLength": 1024
2107
+ },
2108
+ "inputCount": {
2109
+ "type": "number"
2110
+ },
2111
+ "outputCount": {
2112
+ "type": "number"
2113
+ },
2114
+ "triggerId": {
2115
+ "type": "string",
2116
+ "maxLength": 48
2117
+ },
2118
+ "id": {
2119
+ "type": "string",
2120
+ "maxLength": 48
2121
+ }
2122
+ },
2123
+ "additionalProperties": false
2124
+ },
2125
+ "outputIds": {
2126
+ "type": "array",
2127
+ "items": {
2128
+ "type": "array",
2129
+ "items": {
2130
+ "type": "string",
2131
+ "maxLength": 255
2132
+ },
2133
+ "maxItems": 100
2134
+ },
2135
+ "maxItems": 100
2136
+ }
2137
+ },
2138
+ "required": [
2139
+ "type"
2140
+ ],
2141
+ "additionalProperties": false
2142
+ },
2143
+ {
2144
+ "type": "object",
2145
+ "properties": {
2146
+ "key": {
2147
+ "type": "string",
2148
+ "maxLength": 1024
2149
+ },
2150
+ "type": {
2151
+ "type": "string",
2152
+ "enum": [
2153
+ "dataTable"
2154
+ ]
2155
+ },
2156
+ "config": {
2157
+ "type": "object",
2158
+ "properties": {
2159
+ "bulkInsert": {
2160
+ "type": "boolean"
2161
+ },
2162
+ "delete": {
2163
+ "type": "boolean"
2164
+ },
2165
+ "insert": {
2166
+ "type": "boolean"
2167
+ },
2168
+ "update": {
2169
+ "type": "boolean"
2170
+ }
2171
+ },
2172
+ "additionalProperties": false
2173
+ },
2174
+ "meta": {
2175
+ "type": "object",
2176
+ "properties": {
2177
+ "category": {
2178
+ "type": "string",
2179
+ "enum": [
2180
+ "trigger"
2181
+ ]
2182
+ },
2183
+ "name": {
2184
+ "type": "string",
2185
+ "enum": [
2186
+ "dataTable"
2187
+ ]
2188
+ },
2189
+ "label": {
2190
+ "type": "string",
2191
+ "minLength": 1,
2192
+ "maxLength": 255
2193
+ },
2194
+ "x": {
2195
+ "type": "number"
2196
+ },
2197
+ "y": {
2198
+ "type": "number"
2199
+ },
2200
+ "uiId": {
2201
+ "type": "string",
2202
+ "maxLength": 48
2203
+ },
2204
+ "description": {
2205
+ "type": "string",
2206
+ "maxLength": 32767
2207
+ },
2208
+ "icon": {
2209
+ "type": "string",
2210
+ "maxLength": 1024
2211
+ },
2212
+ "color": {
2213
+ "type": "string",
2214
+ "maxLength": 1024
2215
+ },
2216
+ "inputCount": {
2217
+ "type": "number"
2218
+ },
2219
+ "outputCount": {
2220
+ "type": "number"
2221
+ },
2222
+ "id": {
2223
+ "type": "string",
2224
+ "maxLength": 48
2225
+ }
2226
+ },
2227
+ "additionalProperties": false
2228
+ },
2229
+ "outputIds": {
2230
+ "type": "array",
2231
+ "items": {
2232
+ "type": "array",
2233
+ "items": {
2234
+ "type": "string",
2235
+ "maxLength": 255
2236
+ },
2237
+ "maxItems": 100
2238
+ },
2239
+ "maxItems": 100
2240
+ }
2241
+ },
2242
+ "required": [
2243
+ "type"
2244
+ ],
2245
+ "additionalProperties": false
2246
+ },
2247
+ {
2248
+ "type": "object",
2249
+ "properties": {
2250
+ "key": {
2251
+ "type": "string",
2252
+ "maxLength": 1024
2253
+ },
2254
+ "type": {
2255
+ "type": "string",
2256
+ "enum": [
2257
+ "deviceId",
2258
+ "deviceTag"
2259
+ ]
2260
+ },
2261
+ "config": {
2262
+ "type": "object",
2263
+ "properties": {
2264
+ "attributeBlacklist": {
2265
+ "type": "array",
2266
+ "maxItems": 100,
2267
+ "items": {
2268
+ "type": "string",
2269
+ "pattern": "^[0-9a-zA-Z_-]{1,255}$"
2270
+ }
2271
+ },
2272
+ "attributeWhitelist": {
2273
+ "type": "array",
2274
+ "maxItems": 100,
2275
+ "items": {
2276
+ "type": "string",
2277
+ "pattern": "^[0-9a-zA-Z_-]{1,255}$"
2278
+ }
2279
+ },
2280
+ "maxAge": {
2281
+ "type": "number"
2282
+ }
2283
+ },
2284
+ "additionalProperties": false
2285
+ },
2286
+ "meta": {
2287
+ "type": "object",
2288
+ "properties": {
2289
+ "category": {
2290
+ "type": "string",
2291
+ "enum": [
2292
+ "trigger"
2293
+ ]
2294
+ },
2295
+ "name": {
2296
+ "type": "string",
2297
+ "enum": [
2298
+ "deviceIdsTags",
2299
+ "device",
2300
+ "deviceTag"
2301
+ ]
2302
+ },
2303
+ "label": {
2304
+ "type": "string",
2305
+ "minLength": 1,
2306
+ "maxLength": 255
2307
+ },
2308
+ "x": {
2309
+ "type": "number"
2310
+ },
2311
+ "y": {
2312
+ "type": "number"
2313
+ },
2314
+ "uiId": {
2315
+ "type": "string",
2316
+ "maxLength": 48
2317
+ },
2318
+ "description": {
2319
+ "type": "string",
2320
+ "maxLength": 32767
2321
+ },
2322
+ "icon": {
2323
+ "type": "string",
2324
+ "maxLength": 1024
2325
+ },
2326
+ "color": {
2327
+ "type": "string",
2328
+ "maxLength": 1024
2329
+ },
2330
+ "inputCount": {
2331
+ "type": "number"
2332
+ },
2333
+ "outputCount": {
2334
+ "type": "number"
2335
+ },
2336
+ "id": {
2337
+ "type": "string",
2338
+ "maxLength": 48
2339
+ },
2340
+ "timeUnit": {
2341
+ "type": "string",
2342
+ "maxLength": 48
2343
+ },
2344
+ "maxAgeToggle": {
2345
+ "type": "boolean"
2346
+ },
2347
+ "allowedAttributeType": {
2348
+ "type": "string",
2349
+ "enum": [
2350
+ "attributeWhitelist",
2351
+ "any",
2352
+ "attributeBlacklist"
2353
+ ]
2354
+ }
2355
+ },
2356
+ "additionalProperties": false
2357
+ },
2358
+ "outputIds": {
2359
+ "type": "array",
2360
+ "items": {
2361
+ "type": "array",
2362
+ "items": {
2363
+ "type": "string",
2364
+ "maxLength": 255
2365
+ },
2366
+ "maxItems": 100
2367
+ },
2368
+ "maxItems": 100
2369
+ }
2370
+ },
2371
+ "required": [
2372
+ "type"
2373
+ ],
2374
+ "additionalProperties": false
2375
+ },
2376
+ {
2377
+ "type": "object",
2378
+ "properties": {
2379
+ "key": {
2380
+ "type": "string",
2381
+ "maxLength": 1024
2382
+ },
2383
+ "type": {
2384
+ "type": "string",
2385
+ "enum": [
2386
+ "deviceIdInactivity",
2387
+ "deviceTagInactivity"
2388
+ ]
2389
+ },
2390
+ "config": {
2391
+ "type": "object",
2392
+ "properties": {
2393
+ "seconds": {
2394
+ "type": "number"
2395
+ }
2396
+ },
2397
+ "additionalProperties": false
2398
+ },
2399
+ "meta": {
2400
+ "type": "object",
2401
+ "properties": {
2402
+ "category": {
2403
+ "type": "string",
2404
+ "enum": [
2405
+ "trigger"
2406
+ ]
2407
+ },
2408
+ "name": {
2409
+ "type": "string",
2410
+ "enum": [
2411
+ "deviceIdsTagsInactivity"
2412
+ ]
2413
+ },
2414
+ "label": {
2415
+ "type": "string",
2416
+ "minLength": 1,
2417
+ "maxLength": 255
2418
+ },
2419
+ "x": {
2420
+ "type": "number"
2421
+ },
2422
+ "y": {
2423
+ "type": "number"
2424
+ },
2425
+ "uiId": {
2426
+ "type": "string",
2427
+ "maxLength": 48
2428
+ },
2429
+ "description": {
2430
+ "type": "string",
2431
+ "maxLength": 32767
2432
+ },
2433
+ "icon": {
2434
+ "type": "string",
2435
+ "maxLength": 1024
2436
+ },
2437
+ "color": {
2438
+ "type": "string",
2439
+ "maxLength": 1024
2440
+ },
2441
+ "inputCount": {
2442
+ "type": "number"
2443
+ },
2444
+ "outputCount": {
2445
+ "type": "number"
2446
+ },
2447
+ "id": {
2448
+ "type": "string",
2449
+ "maxLength": 48
2450
+ }
2451
+ },
2452
+ "additionalProperties": false
2453
+ },
2454
+ "outputIds": {
2455
+ "type": "array",
2456
+ "items": {
2457
+ "type": "array",
2458
+ "items": {
2459
+ "type": "string",
2460
+ "maxLength": 255
2461
+ },
2462
+ "maxItems": 100
2463
+ },
2464
+ "maxItems": 100
2465
+ }
2466
+ },
2467
+ "required": [
2468
+ "type"
2469
+ ],
2470
+ "additionalProperties": false
2471
+ },
2472
+ {
2473
+ "type": "object",
2474
+ "properties": {
2475
+ "key": {
2476
+ "type": "string",
2477
+ "maxLength": 1024
2478
+ },
2479
+ "type": {
2480
+ "type": "string",
2481
+ "enum": [
2482
+ "endpoint"
2483
+ ]
2484
+ },
2485
+ "config": {
2486
+ "type": "object",
2487
+ "properties": {
2488
+ "experienceVersion": {
2489
+ "type": "string",
2490
+ "minLength": 1,
2491
+ "maxLength": 255
2492
+ }
2493
+ },
2494
+ "additionalProperties": false
2495
+ },
2496
+ "meta": {
2497
+ "type": "object",
2498
+ "properties": {
2499
+ "category": {
2500
+ "type": "string",
2501
+ "enum": [
2502
+ "trigger"
2503
+ ]
2504
+ },
2505
+ "name": {
2506
+ "type": "string",
2507
+ "enum": [
2508
+ "endpoint"
2509
+ ]
2510
+ },
2511
+ "label": {
2512
+ "type": "string",
2513
+ "minLength": 1,
2514
+ "maxLength": 255
2515
+ },
2516
+ "x": {
2517
+ "type": "number"
2518
+ },
2519
+ "y": {
2520
+ "type": "number"
2521
+ },
2522
+ "uiId": {
2523
+ "type": "string",
2524
+ "maxLength": 48
2525
+ },
2526
+ "description": {
2527
+ "type": "string",
2528
+ "maxLength": 32767
2529
+ },
2530
+ "icon": {
2531
+ "type": "string",
2532
+ "maxLength": 1024
2533
+ },
2534
+ "color": {
2535
+ "type": "string",
2536
+ "maxLength": 1024
2537
+ },
2538
+ "inputCount": {
2539
+ "type": "number"
2540
+ },
2541
+ "outputCount": {
2542
+ "type": "number"
2543
+ },
2544
+ "id": {
2545
+ "type": "string",
2546
+ "maxLength": 48
2547
+ }
2548
+ },
2549
+ "additionalProperties": false
2550
+ },
2551
+ "outputIds": {
2552
+ "type": "array",
2553
+ "items": {
2554
+ "type": "array",
2555
+ "items": {
2556
+ "type": "string",
2557
+ "maxLength": 255
2558
+ },
2559
+ "maxItems": 100
2560
+ },
2561
+ "maxItems": 100
2562
+ }
2563
+ },
2564
+ "required": [
2565
+ "type"
2566
+ ],
2567
+ "additionalProperties": false
2568
+ },
2569
+ {
2570
+ "type": "object",
2571
+ "properties": {
2572
+ "key": {
2573
+ "type": "string",
2574
+ "maxLength": 1024
2575
+ },
2576
+ "type": {
2577
+ "type": "string",
2578
+ "enum": [
2579
+ "event"
2580
+ ]
2581
+ },
2582
+ "config": {
2583
+ "type": "object",
2584
+ "properties": {
2585
+ "subject": {
2586
+ "type": "string",
2587
+ "maxLength": 255
2588
+ },
2589
+ "new": {
2590
+ "type": "boolean"
2591
+ },
2592
+ "acknowledged": {
2593
+ "type": "boolean"
2594
+ },
2595
+ "resolved": {
2596
+ "type": "boolean"
2597
+ }
2598
+ },
2599
+ "additionalProperties": false
2600
+ },
2601
+ "meta": {
2602
+ "type": "object",
2603
+ "properties": {
2604
+ "category": {
2605
+ "type": "string",
2606
+ "enum": [
2607
+ "trigger"
2608
+ ]
2609
+ },
2610
+ "name": {
2611
+ "type": "string",
2612
+ "enum": [
2613
+ "event"
2614
+ ]
2615
+ },
2616
+ "label": {
2617
+ "type": "string",
2618
+ "minLength": 1,
2619
+ "maxLength": 255
2620
+ },
2621
+ "x": {
2622
+ "type": "number"
2623
+ },
2624
+ "y": {
2625
+ "type": "number"
2626
+ },
2627
+ "uiId": {
2628
+ "type": "string",
2629
+ "maxLength": 48
2630
+ },
2631
+ "description": {
2632
+ "type": "string",
2633
+ "maxLength": 32767
2634
+ },
2635
+ "icon": {
2636
+ "type": "string",
2637
+ "maxLength": 1024
2638
+ },
2639
+ "color": {
2640
+ "type": "string",
2641
+ "maxLength": 1024
2642
+ },
2643
+ "inputCount": {
2644
+ "type": "number"
2645
+ },
2646
+ "outputCount": {
2647
+ "type": "number"
2648
+ },
2649
+ "id": {
2650
+ "type": "string",
2651
+ "maxLength": 48
2652
+ }
2653
+ },
2654
+ "additionalProperties": false
2655
+ },
2656
+ "outputIds": {
2657
+ "type": "array",
2658
+ "items": {
2659
+ "type": "array",
2660
+ "items": {
2661
+ "type": "string",
2662
+ "maxLength": 255
2663
+ },
2664
+ "maxItems": 100
2665
+ },
2666
+ "maxItems": 100
2667
+ }
2668
+ },
2669
+ "required": [
2670
+ "type"
2671
+ ],
2672
+ "additionalProperties": false
2673
+ },
2674
+ {
2675
+ "type": "object",
2676
+ "properties": {
2677
+ "key": {
2678
+ "type": "string",
2679
+ "maxLength": 1024
2680
+ },
2681
+ "type": {
2682
+ "type": "string",
2683
+ "enum": [
2684
+ "fileTail"
2685
+ ]
2686
+ },
2687
+ "config": {
2688
+ "type": "object",
2689
+ "properties": {
2690
+ "path": {
2691
+ "type": "string",
2692
+ "maxLength": 1024
2693
+ },
2694
+ "encoding": {
2695
+ "type": "string",
2696
+ "maxLength": 48
2697
+ },
2698
+ "byteLength": {
2699
+ "type": "string",
2700
+ "maxLength": 48
2701
+ },
2702
+ "delimiter": {
2703
+ "type": "string",
2704
+ "maxLength": 48
2705
+ }
2706
+ },
2707
+ "additionalProperties": false
2708
+ },
2709
+ "meta": {
2710
+ "type": "object",
2711
+ "properties": {
2712
+ "category": {
2713
+ "type": "string",
2714
+ "enum": [
2715
+ "trigger"
2716
+ ]
2717
+ },
2718
+ "name": {
2719
+ "type": "string",
2720
+ "enum": [
2721
+ "fileTail"
2722
+ ]
2723
+ },
2724
+ "label": {
2725
+ "type": "string",
2726
+ "minLength": 1,
2727
+ "maxLength": 255
2728
+ },
2729
+ "x": {
2730
+ "type": "number"
2731
+ },
2732
+ "y": {
2733
+ "type": "number"
2734
+ },
2735
+ "uiId": {
2736
+ "type": "string",
2737
+ "maxLength": 48
2738
+ },
2739
+ "description": {
2740
+ "type": "string",
2741
+ "maxLength": 32767
2742
+ },
2743
+ "icon": {
2744
+ "type": "string",
2745
+ "maxLength": 1024
2746
+ },
2747
+ "color": {
2748
+ "type": "string",
2749
+ "maxLength": 1024
2750
+ },
2751
+ "inputCount": {
2752
+ "type": "number"
2753
+ },
2754
+ "outputCount": {
2755
+ "type": "number"
2756
+ },
2757
+ "id": {
2758
+ "type": "string",
2759
+ "maxLength": 48
2760
+ }
2761
+ },
2762
+ "additionalProperties": false
2763
+ },
2764
+ "outputIds": {
2765
+ "type": "array",
2766
+ "items": {
2767
+ "type": "array",
2768
+ "items": {
2769
+ "type": "string",
2770
+ "maxLength": 255
2771
+ },
2772
+ "maxItems": 100
2773
+ },
2774
+ "maxItems": 100
2775
+ }
2776
+ },
2777
+ "required": [
2778
+ "type"
2779
+ ],
2780
+ "additionalProperties": false
2781
+ },
2782
+ {
2783
+ "type": "object",
2784
+ "properties": {
2785
+ "key": {
2786
+ "type": "string",
2787
+ "maxLength": 1024
2788
+ },
2789
+ "type": {
2790
+ "type": "string",
2791
+ "enum": [
2792
+ "fileWatch"
2793
+ ]
2794
+ },
2795
+ "config": {
2796
+ "type": "object",
2797
+ "properties": {
2798
+ "path": {
2799
+ "type": "string",
2800
+ "maxLength": 1024
2801
+ },
2802
+ "fileAdded": {
2803
+ "type": "boolean"
2804
+ },
2805
+ "fileChanged": {
2806
+ "type": "boolean"
2807
+ },
2808
+ "fileRemoved": {
2809
+ "type": "boolean"
2810
+ },
2811
+ "directoryAdded": {
2812
+ "type": "boolean"
2813
+ },
2814
+ "directoryRemoved": {
2815
+ "type": "boolean"
2816
+ }
2817
+ },
2818
+ "additionalProperties": false
2819
+ },
2820
+ "meta": {
2821
+ "type": "object",
2822
+ "properties": {
2823
+ "category": {
2824
+ "type": "string",
2825
+ "enum": [
2826
+ "trigger"
2827
+ ]
2828
+ },
2829
+ "name": {
2830
+ "type": "string",
2831
+ "enum": [
2832
+ "fileWatch"
2833
+ ]
2834
+ },
2835
+ "label": {
2836
+ "type": "string",
2837
+ "minLength": 1,
2838
+ "maxLength": 255
2839
+ },
2840
+ "x": {
2841
+ "type": "number"
2842
+ },
2843
+ "y": {
2844
+ "type": "number"
2845
+ },
2846
+ "uiId": {
2847
+ "type": "string",
2848
+ "maxLength": 48
2849
+ },
2850
+ "description": {
2851
+ "type": "string",
2852
+ "maxLength": 32767
2853
+ },
2854
+ "icon": {
2855
+ "type": "string",
2856
+ "maxLength": 1024
2857
+ },
2858
+ "color": {
2859
+ "type": "string",
2860
+ "maxLength": 1024
2861
+ },
2862
+ "inputCount": {
2863
+ "type": "number"
2864
+ },
2865
+ "outputCount": {
2866
+ "type": "number"
2867
+ },
2868
+ "id": {
2869
+ "type": "string",
2870
+ "maxLength": 48
2871
+ }
2872
+ },
2873
+ "additionalProperties": false
2874
+ },
2875
+ "outputIds": {
2876
+ "type": "array",
2877
+ "items": {
2878
+ "type": "array",
2879
+ "items": {
2880
+ "type": "string",
2881
+ "maxLength": 255
2882
+ },
2883
+ "maxItems": 100
2884
+ },
2885
+ "maxItems": 100
2886
+ }
2887
+ },
2888
+ "required": [
2889
+ "type"
2890
+ ],
2891
+ "additionalProperties": false
2892
+ },
2893
+ {
2894
+ "type": "object",
2895
+ "properties": {
2896
+ "key": {
2897
+ "type": "string",
2898
+ "maxLength": 1024
2899
+ },
2900
+ "type": {
2901
+ "type": "string",
2902
+ "enum": [
2903
+ "opcua"
2904
+ ]
2905
+ },
2906
+ "config": {
206
2907
  "type": "object",
207
2908
  "properties": {
208
- "type": {
2909
+ "uri": {
2910
+ "type": "string",
2911
+ "maxLength": 1024
2912
+ },
2913
+ "securityPolicy": {
2914
+ "type": "string",
2915
+ "maxLength": 255
2916
+ },
2917
+ "securityMode": {
2918
+ "type": "string",
2919
+ "maxLength": 255
2920
+ },
2921
+ "username": {
2922
+ "type": "string",
2923
+ "maxLength": 1024
2924
+ },
2925
+ "password": {
2926
+ "type": "string",
2927
+ "maxLength": 1024
2928
+ },
2929
+ "cert": {
2930
+ "type": "string",
2931
+ "maxLength": 32767
2932
+ },
2933
+ "privateKey": {
2934
+ "type": "string",
2935
+ "maxLength": 32767
2936
+ },
2937
+ "nameSpace": {
2938
+ "type": "string",
2939
+ "maxLength": 255
2940
+ },
2941
+ "identifier": {
2942
+ "type": "string",
2943
+ "maxLength": 255
2944
+ },
2945
+ "samplingInterval": {
2946
+ "type": "string",
2947
+ "maxLength": 255
2948
+ },
2949
+ "eventFilter": {
2950
+ "type": "array",
2951
+ "maxItems": 100,
2952
+ "items": {
2953
+ "type": "string",
2954
+ "maxLength": 255
2955
+ }
2956
+ }
2957
+ },
2958
+ "additionalProperties": false
2959
+ },
2960
+ "meta": {
2961
+ "type": "object",
2962
+ "properties": {
2963
+ "category": {
209
2964
  "type": "string",
210
2965
  "enum": [
211
- "checkbox"
2966
+ "trigger"
2967
+ ]
2968
+ },
2969
+ "name": {
2970
+ "type": "string",
2971
+ "enum": [
2972
+ "opcua"
212
2973
  ]
213
2974
  },
214
2975
  "label": {
215
2976
  "type": "string",
216
2977
  "minLength": 1,
2978
+ "maxLength": 255
2979
+ },
2980
+ "x": {
2981
+ "type": "number"
2982
+ },
2983
+ "y": {
2984
+ "type": "number"
2985
+ },
2986
+ "uiId": {
2987
+ "type": "string",
2988
+ "maxLength": 48
2989
+ },
2990
+ "description": {
2991
+ "type": "string",
2992
+ "maxLength": 32767
2993
+ },
2994
+ "icon": {
2995
+ "type": "string",
2996
+ "maxLength": 1024
2997
+ },
2998
+ "color": {
2999
+ "type": "string",
217
3000
  "maxLength": 1024
218
3001
  },
3002
+ "inputCount": {
3003
+ "type": "number"
3004
+ },
3005
+ "outputCount": {
3006
+ "type": "number"
3007
+ },
219
3008
  "id": {
220
3009
  "type": "string",
221
- "minLength": 1,
3010
+ "maxLength": 48
3011
+ }
3012
+ },
3013
+ "additionalProperties": false
3014
+ },
3015
+ "outputIds": {
3016
+ "type": "array",
3017
+ "items": {
3018
+ "type": "array",
3019
+ "items": {
3020
+ "type": "string",
3021
+ "maxLength": 255
3022
+ },
3023
+ "maxItems": 100
3024
+ },
3025
+ "maxItems": 100
3026
+ }
3027
+ },
3028
+ "required": [
3029
+ "type"
3030
+ ],
3031
+ "additionalProperties": false
3032
+ },
3033
+ {
3034
+ "type": "object",
3035
+ "properties": {
3036
+ "key": {
3037
+ "type": "string",
3038
+ "maxLength": 1024
3039
+ },
3040
+ "type": {
3041
+ "type": "string",
3042
+ "enum": [
3043
+ "redis"
3044
+ ]
3045
+ },
3046
+ "config": {
3047
+ "type": "object",
3048
+ "properties": {
3049
+ "host": {
3050
+ "type": "string",
222
3051
  "maxLength": 1024
223
3052
  },
224
- "description": {
3053
+ "port": {
225
3054
  "type": "string",
226
- "maxLength": 32767
3055
+ "maxLength": 16
227
3056
  },
228
- "defaultValue": {
3057
+ "password": {
3058
+ "type": "string",
3059
+ "maxLength": 1024
3060
+ },
3061
+ "topic": {
3062
+ "type": "string",
3063
+ "maxLength": 1024
3064
+ },
3065
+ "fileAdded": {
3066
+ "type": "boolean"
3067
+ },
3068
+ "fileChanged": {
3069
+ "type": "boolean"
3070
+ },
3071
+ "fileRemoved": {
3072
+ "type": "boolean"
3073
+ },
3074
+ "directoryAdded": {
3075
+ "type": "boolean"
3076
+ },
3077
+ "directoryRemoved": {
229
3078
  "type": "boolean"
230
3079
  }
231
3080
  },
232
- "additionalProperties": false,
233
- "required": [
234
- "type",
235
- "label"
236
- ]
3081
+ "additionalProperties": false
237
3082
  },
238
- {
3083
+ "meta": {
239
3084
  "type": "object",
240
3085
  "properties": {
241
- "type": {
3086
+ "category": {
242
3087
  "type": "string",
243
3088
  "enum": [
244
- "select"
3089
+ "trigger"
3090
+ ]
3091
+ },
3092
+ "name": {
3093
+ "type": "string",
3094
+ "enum": [
3095
+ "redisTrigger"
245
3096
  ]
246
3097
  },
247
3098
  "label": {
248
3099
  "type": "string",
249
3100
  "minLength": 1,
250
- "maxLength": 1024
3101
+ "maxLength": 255
251
3102
  },
252
- "id": {
3103
+ "x": {
3104
+ "type": "number"
3105
+ },
3106
+ "y": {
3107
+ "type": "number"
3108
+ },
3109
+ "uiId": {
253
3110
  "type": "string",
254
- "minLength": 1,
255
- "maxLength": 1024
3111
+ "maxLength": 48
256
3112
  },
257
3113
  "description": {
258
3114
  "type": "string",
259
3115
  "maxLength": 32767
260
3116
  },
261
- "defaultValue": {
3117
+ "icon": {
262
3118
  "type": "string",
263
- "minLength": 1,
264
3119
  "maxLength": 1024
265
3120
  },
266
- "options": {
267
- "type": "array",
268
- "minItems": 1,
269
- "maxItems": 100,
270
- "items": {
271
- "type": "object",
272
- "properties": {
273
- "label": {
274
- "type": "string",
275
- "maxLength": 1024
276
- },
277
- "value": {
278
- "type": "string",
279
- "minLength": 1,
280
- "maxLength": 1024
281
- }
282
- },
283
- "additionalProperties": false,
284
- "required": [
285
- "value"
286
- ]
287
- }
3121
+ "color": {
3122
+ "type": "string",
3123
+ "maxLength": 1024
3124
+ },
3125
+ "inputCount": {
3126
+ "type": "number"
3127
+ },
3128
+ "outputCount": {
3129
+ "type": "number"
3130
+ },
3131
+ "id": {
3132
+ "type": "string",
3133
+ "maxLength": 48
288
3134
  }
289
3135
  },
290
- "additionalProperties": false,
291
- "required": [
292
- "type",
293
- "label",
294
- "defaultValue",
295
- "options"
3136
+ "additionalProperties": false
3137
+ },
3138
+ "outputIds": {
3139
+ "type": "array",
3140
+ "items": {
3141
+ "type": "array",
3142
+ "items": {
3143
+ "type": "string",
3144
+ "maxLength": 255
3145
+ },
3146
+ "maxItems": 100
3147
+ },
3148
+ "maxItems": 100
3149
+ }
3150
+ },
3151
+ "required": [
3152
+ "type"
3153
+ ],
3154
+ "additionalProperties": false
3155
+ },
3156
+ {
3157
+ "type": "object",
3158
+ "properties": {
3159
+ "key": {
3160
+ "type": "string",
3161
+ "maxLength": 1024
3162
+ },
3163
+ "type": {
3164
+ "type": "string",
3165
+ "enum": [
3166
+ "serial"
296
3167
  ]
297
3168
  },
298
- {
3169
+ "config": {
299
3170
  "type": "object",
300
3171
  "properties": {
301
- "type": {
3172
+ "path": {
3173
+ "type": "string",
3174
+ "maxLength": 1024
3175
+ },
3176
+ "baudRate": {
3177
+ "type": "number"
3178
+ },
3179
+ "encoding": {
3180
+ "type": "string",
3181
+ "maxLength": 48
3182
+ },
3183
+ "writeOnOpen": {
3184
+ "type": "string",
3185
+ "maxLength": 1024
3186
+ },
3187
+ "byteLength": {
3188
+ "type": "string",
3189
+ "maxLength": 48
3190
+ },
3191
+ "delimiter": {
3192
+ "type": "string",
3193
+ "maxLength": 48
3194
+ }
3195
+ },
3196
+ "additionalProperties": false
3197
+ },
3198
+ "meta": {
3199
+ "type": "object",
3200
+ "properties": {
3201
+ "category": {
302
3202
  "type": "string",
303
3203
  "enum": [
304
- "stringTemplate"
3204
+ "trigger"
3205
+ ]
3206
+ },
3207
+ "name": {
3208
+ "type": "string",
3209
+ "enum": [
3210
+ "serial"
305
3211
  ]
306
3212
  },
307
3213
  "label": {
308
3214
  "type": "string",
309
3215
  "minLength": 1,
310
- "maxLength": 1024
3216
+ "maxLength": 255
311
3217
  },
312
- "id": {
3218
+ "x": {
3219
+ "type": "number"
3220
+ },
3221
+ "y": {
3222
+ "type": "number"
3223
+ },
3224
+ "uiId": {
313
3225
  "type": "string",
314
- "minLength": 1,
315
- "maxLength": 1024
3226
+ "maxLength": 48
316
3227
  },
317
3228
  "description": {
318
3229
  "type": "string",
319
3230
  "maxLength": 32767
320
3231
  },
321
- "defaultValue": {
3232
+ "icon": {
322
3233
  "type": "string",
323
3234
  "maxLength": 1024
324
3235
  },
325
- "required": {
326
- "type": "boolean"
327
- },
328
- "validRegExp": {
3236
+ "color": {
329
3237
  "type": "string",
330
3238
  "maxLength": 1024
3239
+ },
3240
+ "inputCount": {
3241
+ "type": "number"
3242
+ },
3243
+ "outputCount": {
3244
+ "type": "number"
3245
+ },
3246
+ "id": {
3247
+ "type": "string",
3248
+ "maxLength": 48
3249
+ },
3250
+ "parseBy": {
3251
+ "type": "string",
3252
+ "enum": [
3253
+ "byteLength",
3254
+ "delimiter"
3255
+ ]
331
3256
  }
332
3257
  },
333
- "additionalProperties": false,
334
- "required": [
335
- "type",
336
- "label"
3258
+ "additionalProperties": false
3259
+ },
3260
+ "outputIds": {
3261
+ "type": "array",
3262
+ "items": {
3263
+ "type": "array",
3264
+ "items": {
3265
+ "type": "string",
3266
+ "maxLength": 255
3267
+ },
3268
+ "maxItems": 100
3269
+ },
3270
+ "maxItems": 100
3271
+ }
3272
+ },
3273
+ "required": [
3274
+ "type"
3275
+ ],
3276
+ "additionalProperties": false
3277
+ },
3278
+ {
3279
+ "type": "object",
3280
+ "properties": {
3281
+ "key": {
3282
+ "type": "string",
3283
+ "maxLength": 1024
3284
+ },
3285
+ "type": {
3286
+ "type": "string",
3287
+ "enum": [
3288
+ "timer"
337
3289
  ]
338
3290
  },
339
- {
3291
+ "config": {
340
3292
  "type": "object",
341
3293
  "properties": {
342
- "type": {
3294
+ "seconds": {
3295
+ "type": "number"
3296
+ },
3297
+ "cron": {
3298
+ "type": "string",
3299
+ "maxLength": 255
3300
+ },
3301
+ "tz": {
3302
+ "type": "string",
3303
+ "maxLength": 255
3304
+ }
3305
+ },
3306
+ "additionalProperties": false
3307
+ },
3308
+ "meta": {
3309
+ "type": "object",
3310
+ "properties": {
3311
+ "category": {
343
3312
  "type": "string",
344
3313
  "enum": [
345
- "numberTemplate"
3314
+ "trigger"
3315
+ ]
3316
+ },
3317
+ "name": {
3318
+ "type": "string",
3319
+ "enum": [
3320
+ "timer"
346
3321
  ]
347
3322
  },
348
3323
  "label": {
349
3324
  "type": "string",
350
3325
  "minLength": 1,
351
- "maxLength": 1024
3326
+ "maxLength": 255
352
3327
  },
353
- "id": {
3328
+ "x": {
3329
+ "type": "number"
3330
+ },
3331
+ "y": {
3332
+ "type": "number"
3333
+ },
3334
+ "uiId": {
354
3335
  "type": "string",
355
- "minLength": 1,
356
- "maxLength": 1024
3336
+ "maxLength": 48
357
3337
  },
358
3338
  "description": {
359
3339
  "type": "string",
360
3340
  "maxLength": 32767
361
3341
  },
362
- "defaultValue": {
363
- "type": "number"
3342
+ "icon": {
3343
+ "type": "string",
3344
+ "maxLength": 1024
364
3345
  },
365
- "required": {
366
- "type": "boolean"
3346
+ "color": {
3347
+ "type": "string",
3348
+ "maxLength": 1024
367
3349
  },
368
- "validMin": {
3350
+ "inputCount": {
369
3351
  "type": "number"
370
3352
  },
371
- "validMax": {
3353
+ "outputCount": {
372
3354
  "type": "number"
373
- }
374
- },
375
- "additionalProperties": false,
376
- "required": [
377
- "type",
378
- "label"
379
- ]
380
- },
381
- {
382
- "type": "object",
383
- "properties": {
384
- "type": {
385
- "type": "string",
386
- "enum": [
387
- "jsonTemplate"
388
- ]
389
3355
  },
390
- "label": {
3356
+ "id": {
391
3357
  "type": "string",
392
- "minLength": 1,
393
- "maxLength": 1024
3358
+ "maxLength": 48
394
3359
  },
395
- "id": {
3360
+ "timerTypeSelect": {
396
3361
  "type": "string",
397
- "minLength": 1,
398
- "maxLength": 1024
3362
+ "enum": [
3363
+ "cronWeekly",
3364
+ "seconds",
3365
+ "cron"
3366
+ ]
399
3367
  },
400
- "description": {
3368
+ "timeAt": {
401
3369
  "type": "string",
402
- "maxLength": 32767
3370
+ "maxLength": 255
403
3371
  },
404
- "defaultValue": {
3372
+ "timezone": {
405
3373
  "type": "string",
406
- "maxLength": 32767
3374
+ "maxLength": 255
407
3375
  },
408
- "required": {
409
- "type": "boolean"
3376
+ "weekdays": {
3377
+ "type": "array",
3378
+ "maxItems": 7,
3379
+ "items": {
3380
+ "type": "number"
3381
+ }
410
3382
  }
411
3383
  },
412
- "additionalProperties": false,
413
- "required": [
414
- "type",
415
- "label"
3384
+ "additionalProperties": false
3385
+ },
3386
+ "outputIds": {
3387
+ "type": "array",
3388
+ "items": {
3389
+ "type": "array",
3390
+ "items": {
3391
+ "type": "string",
3392
+ "maxLength": 255
3393
+ },
3394
+ "maxItems": 100
3395
+ },
3396
+ "maxItems": 100
3397
+ }
3398
+ },
3399
+ "required": [
3400
+ "type"
3401
+ ],
3402
+ "additionalProperties": false
3403
+ },
3404
+ {
3405
+ "type": "object",
3406
+ "properties": {
3407
+ "key": {
3408
+ "type": "string",
3409
+ "maxLength": 1024
3410
+ },
3411
+ "type": {
3412
+ "type": "string",
3413
+ "enum": [
3414
+ "virtualButton"
416
3415
  ]
417
3416
  },
418
- {
3417
+ "config": {
3418
+ "type": "object",
3419
+ "additionalProperties": false
3420
+ },
3421
+ "meta": {
419
3422
  "type": "object",
420
3423
  "properties": {
421
- "type": {
3424
+ "category": {
422
3425
  "type": "string",
423
3426
  "enum": [
424
- "payloadPath"
3427
+ "trigger"
3428
+ ]
3429
+ },
3430
+ "name": {
3431
+ "type": "string",
3432
+ "enum": [
3433
+ "virtualButton"
425
3434
  ]
426
3435
  },
427
3436
  "label": {
428
3437
  "type": "string",
429
3438
  "minLength": 1,
430
- "maxLength": 1024
3439
+ "maxLength": 255
431
3440
  },
432
- "id": {
3441
+ "x": {
3442
+ "type": "number"
3443
+ },
3444
+ "y": {
3445
+ "type": "number"
3446
+ },
3447
+ "uiId": {
433
3448
  "type": "string",
434
- "minLength": 1,
435
- "maxLength": 1024
3449
+ "maxLength": 48
3450
+ },
3451
+ "groupId": {
3452
+ "type": "string",
3453
+ "maxLength": 48
436
3454
  },
437
3455
  "description": {
438
3456
  "type": "string",
439
3457
  "maxLength": 32767
440
3458
  },
441
- "required": {
442
- "type": "boolean"
443
- }
444
- },
445
- "additionalProperties": false,
446
- "required": [
447
- "type",
448
- "label"
449
- ]
450
- },
451
- {
452
- "type": "object",
453
- "properties": {
454
- "type": {
3459
+ "icon": {
455
3460
  "type": "string",
456
- "enum": [
457
- "section"
458
- ]
3461
+ "maxLength": 1024
459
3462
  },
460
- "label": {
3463
+ "color": {
461
3464
  "type": "string",
462
- "minLength": 1,
463
3465
  "maxLength": 1024
464
3466
  },
3467
+ "inputCount": {
3468
+ "type": "number"
3469
+ },
3470
+ "outputCount": {
3471
+ "type": "number"
3472
+ },
465
3473
  "id": {
466
3474
  "type": "string",
467
- "minLength": 1,
468
- "maxLength": 1024
3475
+ "maxLength": 48
469
3476
  },
470
- "description": {
3477
+ "payload": {
471
3478
  "type": "string",
472
- "maxLength": 32767
3479
+ "maxLength": 262144
3480
+ },
3481
+ "deviceId": {
3482
+ "oneOf": [
3483
+ {
3484
+ "type": "string",
3485
+ "pattern": "^[A-Fa-f\\d]{24}$"
3486
+ },
3487
+ {
3488
+ "type": "string",
3489
+ "enum": [
3490
+ ""
3491
+ ]
3492
+ },
3493
+ {
3494
+ "type": "null"
3495
+ }
3496
+ ]
473
3497
  }
474
3498
  },
475
- "additionalProperties": false,
476
- "required": [
477
- "type",
478
- "label"
479
- ]
480
- }
481
- ]
482
- }
483
- }
484
- },
485
- "additionalProperties": false,
486
- "required": [
487
- "outputCount",
488
- "resultMode",
489
- "fields"
490
- ]
491
- },
492
- "stats": {
493
- "type": "object",
494
- "properties": {
495
- "runCount": {
496
- "type": "number"
497
- },
498
- "errorCount": {
499
- "type": "number"
500
- },
501
- "byVersion": {
502
- "type": "object",
503
- "patternProperties": {
504
- ".*": {
505
- "type": "object",
506
- "properties": {
507
- "runCount": {
508
- "type": "number"
3499
+ "additionalProperties": false
3500
+ },
3501
+ "outputIds": {
3502
+ "type": "array",
3503
+ "items": {
3504
+ "type": "array",
3505
+ "items": {
3506
+ "type": "string",
3507
+ "maxLength": 255
3508
+ },
3509
+ "maxItems": 100
509
3510
  },
510
- "errorCount": {
511
- "type": "number"
512
- }
3511
+ "maxItems": 100
513
3512
  }
514
- }
515
- }
516
- }
517
- }
518
- }
519
- }
520
- },
521
- {
522
- "description": "Schema for a single Experience Workflow Version",
523
- "type": "object",
524
- "properties": {
525
- "id": {
526
- "type": "string",
527
- "pattern": "^[A-Fa-f\\d]{24}$"
528
- },
529
- "flowVersionId": {
530
- "type": "string",
531
- "pattern": "^[A-Fa-f\\d]{24}$"
532
- },
533
- "flowId": {
534
- "type": "string",
535
- "pattern": "^[A-Fa-f\\d]{24}$"
536
- },
537
- "applicationId": {
538
- "type": "string",
539
- "pattern": "^[A-Fa-f\\d]{24}$"
540
- },
541
- "creationDate": {
542
- "type": "string",
543
- "format": "date-time"
544
- },
545
- "lastUpdated": {
546
- "type": "string",
547
- "format": "date-time"
548
- },
549
- "name": {
550
- "type": "string",
551
- "minLength": 1,
552
- "maxLength": 255
553
- },
554
- "description": {
555
- "type": "string",
556
- "maxLength": 32767
557
- },
558
- "iconData": {
559
- "type": "string",
560
- "maxLength": 32767,
561
- "pattern": "^data:image/(jpg|jpeg|png|svg\\+xml);base64,[0-9a-zA-Z+/=]*$"
562
- },
563
- "flowClass": {
564
- "type": "string",
565
- "enum": [
566
- "experience"
567
- ]
568
- },
569
- "versions": {
570
- "type": "array",
571
- "items": {
572
- "type": "string",
573
- "minLength": 1,
574
- "maxLength": 255
575
- }
576
- },
577
- "enabled": {
578
- "type": "boolean"
579
- },
580
- "triggers": {
581
- "type": "array",
582
- "items": {
583
- "type": "object",
584
- "properties": {
585
- "key": {
586
- "type": "string",
587
- "maxLength": 1024
588
- },
589
- "type": {
590
- "type": "string",
591
- "enum": [
592
- "customNodeStart",
593
- "dataTable",
594
- "deviceCommand",
595
- "deviceId",
596
- "deviceIdConnect",
597
- "deviceIdDisconnect",
598
- "deviceIdInactivity",
599
- "deviceTag",
600
- "deviceTagConnect",
601
- "deviceTagDisconnect",
602
- "deviceTagInactivity",
603
- "endpoint",
604
- "event",
605
- "fileTail",
606
- "fileWatch",
607
- "integration",
608
- "mqttTopic",
609
- "notebook",
610
- "onBoot",
611
- "onConnect",
612
- "onDisconnect",
613
- "opcua",
614
- "redis",
615
- "request",
616
- "serial",
617
- "timer",
618
- "udp",
619
- "virtualButton",
620
- "webhook"
621
- ]
622
- },
623
- "config": {
624
- "type": "object"
625
- },
626
- "meta": {
627
- "type": "object"
628
- },
629
- "outputIds": {
630
- "type": "array",
631
- "items": {
632
- "type": "array",
633
- "items": {
634
- "type": "string",
635
- "maxLength": 255
636
- },
637
- "maxItems": 100
638
3513
  },
639
- "maxItems": 100
3514
+ "required": [
3515
+ "type"
3516
+ ],
3517
+ "additionalProperties": false
640
3518
  }
641
- },
642
- "additionalProperties": false,
643
- "required": [
644
- "type"
645
3519
  ]
646
3520
  }
647
3521
  },