iobroker.rest-api 2.0.2 → 3.0.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.
Files changed (51) hide show
  1. package/README.md +49 -8
  2. package/admin/i18n/{de/translations.json → de.json} +22 -22
  3. package/admin/i18n/{en/translations.json → en.json} +22 -23
  4. package/admin/i18n/{es/translations.json → es.json} +22 -23
  5. package/admin/i18n/{fr/translations.json → fr.json} +22 -23
  6. package/admin/i18n/{it/translations.json → it.json} +22 -23
  7. package/admin/i18n/{nl/translations.json → nl.json} +22 -23
  8. package/admin/i18n/{pl/translations.json → pl.json} +22 -23
  9. package/admin/i18n/{pt/translations.json → pt.json} +22 -23
  10. package/admin/i18n/{ru/translations.json → ru.json} +22 -23
  11. package/admin/i18n/uk.json +32 -0
  12. package/admin/i18n/{zh-cn/translations.json → zh-cn.json} +22 -23
  13. package/admin/jsonConfig.json +178 -180
  14. package/admin/rest-api.svg +8 -0
  15. package/dist/lib/api/controllers/common.js +129 -0
  16. package/dist/lib/api/controllers/common.js.map +1 -0
  17. package/dist/lib/api/controllers/enum.js +58 -0
  18. package/dist/lib/api/controllers/enum.js.map +1 -0
  19. package/dist/lib/api/controllers/file.js +104 -0
  20. package/dist/lib/api/controllers/file.js.map +1 -0
  21. package/dist/lib/api/controllers/history.js +262 -0
  22. package/dist/lib/api/controllers/history.js.map +1 -0
  23. package/dist/lib/api/controllers/object.js +346 -0
  24. package/dist/lib/api/controllers/object.js.map +1 -0
  25. package/dist/lib/api/controllers/sendTo.js +118 -0
  26. package/dist/lib/api/controllers/sendTo.js.map +1 -0
  27. package/dist/lib/api/controllers/state.js +545 -0
  28. package/dist/lib/api/controllers/state.js.map +1 -0
  29. package/dist/lib/api/swagger/swagger.yaml +2551 -0
  30. package/{lib → dist/lib}/common.js +8 -10
  31. package/dist/lib/common.js.map +1 -0
  32. package/dist/lib/rest-api.js +1216 -0
  33. package/dist/lib/rest-api.js.map +1 -0
  34. package/dist/main.js +159 -0
  35. package/dist/main.js.map +1 -0
  36. package/examples/demoBrowserClient.html +95 -82
  37. package/examples/demoNodeClient.js +8 -7
  38. package/examples/longPolling.js +46 -45
  39. package/io-package.json +43 -34
  40. package/package.json +36 -24
  41. package/lib/api/controllers/common.js +0 -150
  42. package/lib/api/controllers/enum.js +0 -44
  43. package/lib/api/controllers/file.js +0 -74
  44. package/lib/api/controllers/history.js +0 -239
  45. package/lib/api/controllers/object.js +0 -273
  46. package/lib/api/controllers/sendTo.js +0 -123
  47. package/lib/api/controllers/state.js +0 -565
  48. package/lib/api/swagger/swagger.yaml +0 -2624
  49. package/lib/rest-api.js +0 -1123
  50. package/main.js +0 -173
  51. /package/{lib → dist/lib}/config/default.yaml +0 -0
@@ -1,2624 +0,0 @@
1
- # Use for editing http://editor.swagger.io/
2
- swagger: "2.0"
3
- info:
4
- description: "This is a REST server for ioBroker."
5
- version: "2.0.2"
6
- title: "ioBroker Swagger UI"
7
- contact:
8
- email: "admin@iobroker.net"
9
- license:
10
- name: "Apache 2.0"
11
- url: "http://www.apache.org/licenses/LICENSE-2.0.html"
12
- basePath: "/v1"
13
- #schemes:
14
- # - http
15
- # - https
16
- tags:
17
- - name: "state"
18
- description: "Read, write the states"
19
- - name: "binary"
20
- description: "Read, write the binary states"
21
- - name: "object"
22
- description: "Read the objects"
23
- - name: "history"
24
- description: "Read the history"
25
- - name: "enum"
26
- description: "Read the categories"
27
- - name: "commands"
28
- description: "Socket commands"
29
- - name: "sendTo"
30
- description: "Send message to instance"
31
- - name: "file"
32
- description: "Read/Write files and directories"
33
- securityDefinitions:
34
- basicAuth:
35
- type: basic
36
- security:
37
- - basicAuth: []
38
- paths:
39
- /state/{stateId}:
40
- x-swagger-router-controller: state
41
- get:
42
- tags:
43
- - "state"
44
- summary: "Read value and all attributes of the state"
45
- description: "This path could be used for controlling of the state too. If you provide the value in request, so it will be handled as write request. For back compatibility with simple-api"
46
- operationId: "readState"
47
- produces:
48
- - "application/json"
49
- parameters:
50
- - name: "stateId"
51
- in: "path"
52
- description: "ID of the state to return"
53
- required: true
54
- type: "string"
55
- - name: "withInfo"
56
- in: "query"
57
- description: "If with object information"
58
- type: "boolean"
59
- - in: "query"
60
- name: "timeout"
61
- description: "Wait till the value written in ms"
62
- required: false
63
- type: "integer"
64
- format: "int64"
65
- - in: "query"
66
- name: "value"
67
- description: "Value to write into state"
68
- type: "string"
69
-
70
- responses:
71
- 200:
72
- description: "successful operation"
73
- schema:
74
- $ref: "#/definitions/State"
75
- 404:
76
- description: "State not found"
77
- 400:
78
- description: "Invalid state ID supplied"
79
- patch:
80
- tags:
81
- - "state"
82
- summary: "Update the value of the state"
83
- description: ""
84
- operationId: "updateState"
85
- consumes:
86
- - "application/octet-stream"
87
- produces:
88
- - "application/json"
89
- parameters:
90
- - in: "path"
91
- name: "stateId"
92
- description: "ID of the state to write"
93
- required: true
94
- type: "string"
95
- - in: "query"
96
- name: "timeout"
97
- description: "Wait till the value written in ms"
98
- required: false
99
- type: "integer"
100
- format: "int64"
101
- - in: "body"
102
- required: true
103
- name: "data"
104
- description: "State object to write"
105
- schema:
106
- $ref: "#/definitions/WriteState"
107
- responses:
108
- 200:
109
- description: "successful operation"
110
- schema:
111
- $ref: "#/definitions/State"
112
- 400:
113
- description: "Invalid state ID supplied"
114
- 404:
115
- description: "State not found"
116
- 405:
117
- description: "Invalid value"
118
-
119
- /state/{stateId}/toggle:
120
- x-swagger-router-controller: state
121
- get:
122
- tags:
123
- - "state"
124
- summary: "Toggle value of the state"
125
- operationId: "toggleState"
126
- parameters:
127
- - name: "stateId"
128
- in: "path"
129
- description: "ID of the state to toggle"
130
- required: true
131
- type: "string"
132
- - name: "timeout"
133
- in: "query"
134
- description: "Timeout in ms for the state will be updated again, e.g. for ack=true"
135
- type: "number"
136
- responses:
137
- 200:
138
- description: "successful operation"
139
- schema:
140
- $ref: "#/definitions/State"
141
- 404:
142
- description: "State not found"
143
- 400:
144
- description: "Invalid state ID supplied"
145
- /state/{stateId}/plain:
146
- x-swagger-router-controller: state
147
- get:
148
- tags:
149
- - "state"
150
- summary: "Get only value of the state."
151
- operationId: "plainState"
152
- produces:
153
- - "text/plain;charset=UTF-8"
154
- parameters:
155
- - name: "stateId"
156
- in: "path"
157
- description: "ID of the state to read"
158
- required: true
159
- type: "string"
160
- - name: "extraPlain"
161
- in: "query"
162
- description: "If value.toString() should be returned. Without this flag JSON.stringify(value) will be returned"
163
- type: "boolean"
164
- responses:
165
- 200:
166
- description: "successful operation"
167
- schema:
168
- $ref: "#/definitions/State"
169
- 404:
170
- description: "State not found"
171
- 400:
172
- description: "Invalid state ID supplied"
173
- /state/{stateId}/subscribe:
174
- x-swagger-router-controller: state
175
- get:
176
- tags:
177
- - "state"
178
- summary: "Subscribe on state changes"
179
- description: "Subscribe on state changes"
180
- operationId: "subscribeStateGet"
181
- produces:
182
- - "application/json"
183
- parameters:
184
- - name: "stateId"
185
- in: "path"
186
- description: "ID of the state to toggle"
187
- required: true
188
- type: "string"
189
- - name: "method"
190
- in: "query"
191
- required: true
192
- description: "method=polling forces subscribe via long polling"
193
- enum: [ polling, POST, GET, PUT, PATCH ]
194
- type: "string"
195
- - name: "onchange"
196
- type: "boolean"
197
- description: "If the updates must be delivered if the value changed"
198
- in: "query"
199
- - name: "delta"
200
- type: "number"
201
- description: "Minimal delta to trigger the event"
202
- in: "query"
203
- responses:
204
- 200:
205
- description: "successful operation"
206
- schema:
207
- $ref: "#/definitions/State"
208
- 404:
209
- description: "State not found"
210
- 400:
211
- description: "Invalid state ID supplied"
212
- post:
213
- tags:
214
- - "state"
215
- summary: "Subscribe on state changes"
216
- description: "Subscribe on state changes"
217
- operationId: "subscribeState"
218
- consumes:
219
- - "application/json"
220
- produces:
221
- - "application/json"
222
- parameters:
223
- - name: "stateId"
224
- in: "path"
225
- description: "ID of the state to toggle"
226
- required: true
227
- type: "string"
228
- - name: "subscribe"
229
- in: "body"
230
- description: "Subscribe request"
231
- required: false
232
- schema:
233
- $ref: "#/definitions/UrlHook"
234
- - name: "method"
235
- in: "query"
236
- description: "method=polling forces subscribe via long polling"
237
- type: "string"
238
- responses:
239
- 200:
240
- description: "successful operation"
241
- schema:
242
- $ref: "#/definitions/State"
243
- 404:
244
- description: "State not found"
245
- 400:
246
- description: "Invalid state ID supplied"
247
- delete:
248
- tags:
249
- - "state"
250
- summary: "Unsubscribe from state changes"
251
- description: "Unsubscribe on state changes"
252
- operationId: "unsubscribeState"
253
- consumes:
254
- - "application/json"
255
- produces:
256
- - "application/json"
257
- parameters:
258
- - name: "stateId"
259
- in: "path"
260
- description: "ID of the state to unsubscribe"
261
- required: true
262
- type: "string"
263
- - name: "subscribe"
264
- in: "body"
265
- description: "Subscribe request"
266
- required: false
267
- schema:
268
- $ref: "#/definitions/UrlHook"
269
- responses:
270
- 200:
271
- description: "successful operation"
272
- 404:
273
- description: "State not found"
274
- 400:
275
- description: "Invalid state ID supplied"
276
- /binary/{stateId}:
277
- x-swagger-router-controller: state
278
- get:
279
- tags:
280
- - "binary"
281
- summary: "Read value of the binary state as stream"
282
- operationId: "readBinaryState"
283
- produces:
284
- - "application/octet-stream"
285
- parameters:
286
- - name: "stateId"
287
- in: "path"
288
- description: "ID of the state to return"
289
- required: true
290
- type: "string"
291
-
292
- responses:
293
- 200:
294
- description: "successful operation"
295
- 404:
296
- description: "State not found"
297
- 400:
298
- description: "Invalid state ID supplied"
299
- patch:
300
- tags:
301
- - "binary"
302
- summary: "Update the value of the state"
303
- description: ""
304
- operationId: "writeBinaryState"
305
- consumes:
306
- - "application/octet-stream"
307
- produces:
308
- - "application/json"
309
- parameters:
310
- - in: "path"
311
- name: "stateId"
312
- description: "ID of the state to write"
313
- required: true
314
- type: "string"
315
- - in: "body"
316
- required: true
317
- name: "data"
318
- description: "Binary data to write"
319
- schema:
320
- type: string
321
- format: binary
322
- responses:
323
- 200:
324
- description: "successful operation"
325
- schema:
326
- $ref: "#/definitions/State"
327
- 400:
328
- description: "Invalid state ID supplied"
329
- 404:
330
- description: "State not found"
331
- 405:
332
- description: "Invalid value"
333
- /states:
334
- x-swagger-router-controller: state
335
- get:
336
- tags:
337
- - "state"
338
- summary: "Get list of states"
339
- operationId: "listStates"
340
- produces:
341
- - "application/json"
342
- parameters:
343
- - name: "filter"
344
- in: "query"
345
- description: "Filter, like modbus.0.*"
346
- required: true
347
- type: "string"
348
- responses:
349
- 200:
350
- description: "successful operation"
351
- schema:
352
- type: "object"
353
- additionalProperties:
354
- $ref: "#/definitions/State"
355
- 400:
356
- description: "Invalid filter supplied"
357
- /states/subscribe:
358
- x-swagger-router-controller: state
359
- get:
360
- tags:
361
- - "state"
362
- summary: "Read current subscribes"
363
- operationId: "getStatesSubscribes"
364
- produces:
365
- - "application/json"
366
- parameters:
367
- - name: "method"
368
- in: "query"
369
- required: true
370
- description: "The same method as by subscription"
371
- enum: [ polling, POST, GET, PUT, PATCH ]
372
- type: "string"
373
- - name: "url"
374
- description: "The same URL as by subscription. By polling it must be omitted"
375
- in: "query"
376
- type: "string"
377
- - name: "sid"
378
- in: "query"
379
- type: "string"
380
- description: "Only if method=polling: session ID"
381
- responses:
382
- 200:
383
- description: "successful operation"
384
- 404:
385
- description: "URL or session not found"
386
- 422:
387
- description: "Invalid parameters supplied"
388
- post:
389
- tags:
390
- - "state"
391
- summary: "Subscribe for state updates"
392
- operationId: "subscribeStates"
393
- consumes:
394
- - "application/json"
395
- produces:
396
- - "application/json"
397
- parameters:
398
- - name: "Subscribe"
399
- in: "body"
400
- description: "URL of web hook and the subscribe pattern"
401
- required: true
402
- schema:
403
- $ref: "#/definitions/UrlHookWithPattern"
404
- responses:
405
- 200:
406
- description: "successful operation"
407
- 400:
408
- description: "Invalid filter supplied"
409
- delete:
410
- tags:
411
- - "state"
412
- summary: "Unsubscribe from state updates."
413
- description: "If no filter provided, all subscribes will be cleared for this web hook"
414
- operationId: "unsubscribeStates"
415
- consumes:
416
- - "application/json"
417
- produces:
418
- - "application/json"
419
- parameters:
420
- - name: "UnSubscribe"
421
- in: "body"
422
- description: "URL of web hook and the unsubscribe pattern"
423
- required: true
424
- schema:
425
- $ref: "#/definitions/UrlHook"
426
- responses:
427
- 200:
428
- description: "successful operation"
429
- 400:
430
- description: "Invalid filter supplied"
431
- /object/{objectId}:
432
- x-swagger-router-controller: object
433
- get:
434
- tags:
435
- - "object"
436
- summary: "Read object"
437
- description: ""
438
- operationId: "readObject"
439
- produces:
440
- - "application/json"
441
- parameters:
442
- - name: "objectId"
443
- in: "path"
444
- description: "ID of the object to return"
445
- required: true
446
- type: "string"
447
- responses:
448
- 200:
449
- description: "successful operation"
450
- schema:
451
- $ref: "#/definitions/Object"
452
- 404:
453
- description: "Object not found"
454
- 400:
455
- description: "Invalid object ID supplied"
456
- post:
457
- tags:
458
- - "object"
459
- summary: "Create the object"
460
- description: "Create new object. If object already exists, the error will be returned"
461
- operationId: "createObject"
462
- consumes:
463
- - "application/json"
464
- produces:
465
- - "application/json"
466
- parameters:
467
- - in: "path"
468
- name: "objectId"
469
- description: "ID of the object to write"
470
- required: true
471
- type: "string"
472
- - in: "body"
473
- name: "value"
474
- description: "Object"
475
- required: true
476
- schema:
477
- $ref: "#/definitions/Object"
478
- responses:
479
- 200:
480
- description: "successful operation"
481
- schema:
482
- $ref: "#/definitions/Object"
483
- 400:
484
- description: "Invalid object ID supplied"
485
- 409:
486
- description: "Object already exists"
487
- 405:
488
- description: "Invalid object structure"
489
- put:
490
- tags:
491
- - "object"
492
- summary: "Update the object"
493
- description: "To delete the parts of the object, set the value to 'null', like {\"common\": {\"desc\": null} to delete the \"common.desc\". If object does not exist it will be created"
494
- operationId: "updateObject"
495
- consumes:
496
- - "application/json"
497
- produces:
498
- - "application/json"
499
- parameters:
500
- - in: "path"
501
- name: "objectId"
502
- description: "ID of the object to write"
503
- required: true
504
- type: "string"
505
- - in: "body"
506
- name: "value"
507
- description: "Object"
508
- required: true
509
- schema:
510
- $ref: "#/definitions/Object"
511
- responses:
512
- 200:
513
- description: "successful operation"
514
- schema:
515
- $ref: "#/definitions/Object"
516
- 400:
517
- description: "Invalid object ID supplied"
518
- 404:
519
- description: "Object not found"
520
- 405:
521
- description: "Invalid object structure"
522
- delete:
523
- tags:
524
- - "object"
525
- summary: "Delete object"
526
- description: ""
527
- operationId: "deleteObject"
528
- produces:
529
- - "application/json"
530
- parameters:
531
- - name: "objectId"
532
- in: "path"
533
- description: "ID of the object to be deleted"
534
- required: true
535
- type: "string"
536
- responses:
537
- 200:
538
- description: "successful operation"
539
- 404:
540
- description: "Object not found"
541
- 400:
542
- description: "Invalid object ID supplied"
543
- /object/{objectId}/subscribe:
544
- x-swagger-router-controller: object
545
- post:
546
- tags:
547
- - "object"
548
- summary: "Subscribe on object changes"
549
- description: "Subscribe on object changes"
550
- operationId: "subscribeObject"
551
- consumes:
552
- - "application/json"
553
- produces:
554
- - "application/json"
555
- parameters:
556
- - name: "objectId"
557
- in: "path"
558
- description: "ID of the state to subscribe"
559
- required: true
560
- type: "string"
561
- - name: "url"
562
- in: "body"
563
- description: "URL of web hook"
564
- required: true
565
- schema:
566
- $ref: "#/definitions/UrlHook"
567
- responses:
568
- 200:
569
- description: "successful operation"
570
- schema:
571
- $ref: "#/definitions/Object"
572
- 404:
573
- description: "Object not found"
574
- 400:
575
- description: "Invalid object ID supplied"
576
- delete:
577
- tags:
578
- - "object"
579
- summary: "Unsubscribe from object changes"
580
- description: "Unsubscribe on object changes"
581
- operationId: "unsubscribeObject"
582
- consumes:
583
- - "application/json"
584
- produces:
585
- - "application/json"
586
- parameters:
587
- - name: "objectId"
588
- in: "path"
589
- description: "ID of the object to unsubscribe"
590
- required: true
591
- type: "string"
592
- - name: "subscribe"
593
- in: "body"
594
- description: "Subscribe request"
595
- required: true
596
- schema:
597
- $ref: "#/definitions/UrlHook"
598
- responses:
599
- 200:
600
- description: "successful operation"
601
- 404:
602
- description: "Object not found"
603
- 400:
604
- description: "Invalid object ID supplied"
605
- /objects:
606
- x-swagger-router-controller: object
607
- get:
608
- tags:
609
- - "object"
610
- summary: "Get list of objects"
611
- operationId: "listObjects"
612
- produces:
613
- - "application/json"
614
- parameters:
615
- - name: "filter"
616
- in: "query"
617
- description: "Filter, like modbus.0.*"
618
- required: true
619
- type: "string"
620
- - name: "type"
621
- in: "query"
622
- description: "Type of objects"
623
- required: false
624
- type: "string"
625
- enum: [state, channel, device, enum, instance, adapter, host, chart, script, folder]
626
- responses:
627
- 200:
628
- description: "successful operation"
629
- schema:
630
- $ref: "#/definitions/ObjectArray"
631
- 404:
632
- description: "URL or session not found"
633
- 422:
634
- description: "Invalid parameters supplied"
635
- /objects/subscribe:
636
- x-swagger-router-controller: object
637
- get:
638
- tags:
639
- - "state"
640
- summary: "Read current subscribes"
641
- operationId: "getObjectsSubscribes"
642
- produces:
643
- - "application/json"
644
- parameters:
645
- - name: "method"
646
- in: "query"
647
- required: true
648
- description: "method=polling forces subscribe via long polling"
649
- enum: [ polling, POST, GET, PUT, PATCH ]
650
- type: "string"
651
- - name: "url"
652
- description: "The same URL as by subscription. By polling it must be omitted"
653
- in: "query"
654
- type: "string"
655
- - name: "sid"
656
- in: "query"
657
- type: "string"
658
- description: "Only if method=polling: session ID"
659
- responses:
660
- 200:
661
- description: "successful operation"
662
- 404:
663
- description: "URL or session not found"
664
- 422:
665
- description: "Invalid parameters supplied"
666
- post:
667
- tags:
668
- - "object"
669
- summary: "Subscribe for objects updates"
670
- operationId: "subscribeObjects"
671
- consumes:
672
- - "application/json"
673
- produces:
674
- - "application/json"
675
- parameters:
676
- - name: "Subscribe"
677
- in: "body"
678
- description: "URL of web hook and the subscribe pattern"
679
- required: true
680
- schema:
681
- $ref: "#/definitions/UrlHookWithPattern"
682
- responses:
683
- 200:
684
- description: "successful operation"
685
- 400:
686
- description: "Invalid filter supplied"
687
- delete:
688
- tags:
689
- - "object"
690
- summary: "Unsubscribe from object updates"
691
- description: "If no filter provided, all the object subscribes will be cleared for this web hook"
692
- operationId: "unsubscribeObjects"
693
- consumes:
694
- - "application/json"
695
- produces:
696
- - "application/json"
697
- parameters:
698
- - name: "Unsubscribe"
699
- in: "body"
700
- description: "URL of web hook and the unsubscribe pattern"
701
- required: true
702
- schema:
703
- $ref: "#/definitions/UrlHook"
704
- responses:
705
- 200:
706
- description: "successful operation"
707
- 400:
708
- description: "Invalid filter supplied"
709
- /getHistory:
710
- x-swagger-router-controller: history
711
- post:
712
- tags:
713
- - "history"
714
- summary: "Reads history"
715
- operationId: "postHistory"
716
- consumes:
717
- - "application/json"
718
- produces:
719
- - "application/json"
720
- parameters:
721
- - name: "Options"
722
- in: "body"
723
- description: "Options for history"
724
- required: true
725
- schema:
726
- $ref: "#/definitions/HistoryRequest"
727
- responses:
728
- 200:
729
- description: "successful operation"
730
- schema:
731
- $ref: "#/definitions/HistoryResponse"
732
- 422:
733
- description: "Invalid options supplied"
734
- /getHistory/{stateId}:
735
- x-swagger-router-controller: history
736
- get:
737
- tags:
738
- - "history"
739
- summary: "Reads history"
740
- operationId: "getHistory"
741
- produces:
742
- - "application/json"
743
- parameters:
744
- - name: "stateId"
745
- in: "path"
746
- description: "State ID"
747
- type: "string"
748
- required: true
749
- - name: start
750
- in: "query"
751
- type: "number"
752
- description: "Start time in ms"
753
- - name: end
754
- in: "query"
755
- type: "number"
756
- description: "End time in ms"
757
- - name: count
758
- in: "query"
759
- type: "number"
760
- description: "number of values if aggregate is 'onchange' or number of intervals if other aggregate method. Count will be ignored if step is set, else default is 500 if not set"
761
- - name: from
762
- in: "query"
763
- type: "boolean"
764
- description: "if FROM field should be included in answer"
765
- - name: ack
766
- in: "query"
767
- type: "boolean"
768
- description: "if ACK field should be included in answer"
769
- - name: q
770
- in: "query"
771
- type: "boolean"
772
- description: "if Q field should be included in answer"
773
- - name: addId
774
- in: "query"
775
- type: "boolean"
776
- description: "if ID field should be included in answer"
777
- - name: limit
778
- in: "query"
779
- type: "number"
780
- description: "do not return more entries than limit"
781
- - name: ignoreNull
782
- in: "query"
783
- type: "boolean"
784
- description: "if null values should be included (false), replaced by last not null value (true) or replaced with 0 (0)"
785
- - name: removeBorderValues
786
- in: "query"
787
- type: "boolean"
788
- description: "By default additional border values are returned to optimize charting. Set this option to true if this is not wanted (e.g. for script data processing)"
789
- - name: returnNewestEntries
790
- in: "query"
791
- type: "boolean"
792
- description: "The returned data are always sorted by timestamp ascending. When using aggregate none and also providing count or limit this means that normally the oldest entries are returned (unless no start data is provided). Set this option to true to get the newest entries instead."
793
- - name: aggregate
794
- in: "query"
795
- type: "string"
796
- description: "Aggregation method"
797
- enum: [minmax, max, min, average, total, count, percentile, quantile, integral, none]
798
- - name: percentile
799
- in: "query"
800
- type: "number"
801
- description: "(optional) when using aggregate method percentile defines the percentile level (0..100)(defaults to 50)"
802
- - name: quantile
803
- in: "query"
804
- type: "number"
805
- description: "(optional) when using aggregate method quantile defines the quantile level (0..1)(defaults to 0.5)"
806
- - name: integralUnit
807
- in: "query"
808
- type: "string"
809
- description: "(optional) when using aggregate method integral defines the unit in seconds (defaults to 60s). e.g. to get integral in hours for Wh or such, set to 3600."
810
- - name: integralInterpolation
811
- in: "query"
812
- type: "string"
813
- description: "(optional) when using aggregate method integral defines the interpolation method (defaults to none)."
814
- enum: [linear, none]
815
- responses:
816
- 200:
817
- description: "successful operation"
818
- schema:
819
- $ref: "#/definitions/HistoryResponse"
820
- 422:
821
- description: "Invalid options supplied"
822
- /addHistory:
823
- x-swagger-router-controller: history
824
- post:
825
- tags:
826
- - "history"
827
- summary: "Add entry to history"
828
- operationId: "addHistoryByPost"
829
- consumes:
830
- - "application/json"
831
- produces:
832
- - "application/json"
833
- parameters:
834
- - name: "Options"
835
- in: "body"
836
- description: "Options for add history"
837
- required: true
838
- schema:
839
- $ref: "#/definitions/HistoryAddRequest"
840
- responses:
841
- 200:
842
- description: "successful operation"
843
- schema:
844
- $ref: "#/definitions/HistoryAddResponse"
845
- 422:
846
- description: "Invalid options supplied"
847
- /addHistory/{stateId}:
848
- x-swagger-router-controller: history
849
- get:
850
- tags:
851
- - "history"
852
- summary: "Add entry to history"
853
- operationId: "addHistoryByGet"
854
- produces:
855
- - "application/json"
856
- parameters:
857
- - name: "stateId"
858
- in: "path"
859
- description: "State ID"
860
- type: "string"
861
- required: true
862
- - name: val
863
- in: "query"
864
- type: "number"
865
- description: "Value"
866
- required: true
867
- - name: ts
868
- in: "query"
869
- type: "number"
870
- description: "Timestamp in ms. If empty current time is used"
871
- - name: ack
872
- in: "query"
873
- type: "number"
874
- description: "Acknowledge flag"
875
- - name: q
876
- in: "query"
877
- type: "number"
878
- description: "Quality flag"
879
- - name: from
880
- in: "query"
881
- type: "number"
882
- description: "From which instance"
883
- responses:
884
- 200:
885
- description: "successful operation"
886
- schema:
887
- $ref: "#/definitions/HistoryAddResponse"
888
- 422:
889
- description: "Invalid options supplied"
890
- /enum:
891
- x-swagger-router-controller: enum
892
- get:
893
- tags:
894
- - "enum"
895
- summary: "Reads categories of enums"
896
- operationId: "readMainEnums"
897
- produces:
898
- - "application/json"
899
- responses:
900
- 200:
901
- description: "successful operation"
902
- /enum/{enumId}:
903
- x-swagger-router-controller: enum
904
- get:
905
- tags:
906
- - "enum"
907
- summary: "Reads enums of specific type"
908
- operationId: "readEnums"
909
- produces:
910
- - "application/json"
911
- parameters:
912
- - name: "enumId"
913
- in: "path"
914
- description: "Enum ID in form \"functions\" or \"room\" without \"enum.\""
915
- type: "string"
916
- required: true
917
- responses:
918
- 200:
919
- description: "successful operation"
920
- schema:
921
- $ref: "#/definitions/EnumResponse"
922
- 404:
923
- description: "Category not found"
924
- /sendto/{instance}:
925
- x-swagger-router-controller: sendTo
926
- get:
927
- tags:
928
- - "sendTo"
929
- summary: "Send message to instance"
930
- description: "You can send message to instance that supports it"
931
- operationId: "sendTo"
932
- produces:
933
- - "application/json"
934
- parameters:
935
- - name: "instance"
936
- in: "path"
937
- description: "Instance, like javascript.0"
938
- required: true
939
- type: "string"
940
- - name: "message"
941
- in: "query"
942
- description: "Command name, like toScript"
943
- type: "string"
944
- required: true
945
- - in: "query"
946
- name: "data"
947
- description: "Data to be sent to instance. JSON or string"
948
- required: false
949
- type: "string"
950
- - in: "query"
951
- name: "noResponse"
952
- description: "Do not wait for answer or no answer"
953
- required: false
954
- type: "boolean"
955
- - in: "query"
956
- name: "timeout"
957
- description: "Timeout for answer"
958
- required: false
959
- type: "number"
960
- responses:
961
- 200:
962
- description: "Answer from instance if received"
963
- 408:
964
- description: "Timeout"
965
- 422:
966
- description: "Invalid state ID supplied"
967
- 500:
968
- description: "instance is offline"
969
- post:
970
- tags:
971
- - "sendTo"
972
- summary: "Send message to instance as POST"
973
- description: "You can send message to instance that supports it"
974
- operationId: "sendToPost"
975
- consumes:
976
- - "application/json"
977
- produces:
978
- - "application/json"
979
- parameters:
980
- - name: "instance"
981
- in: "path"
982
- description: "Instance, like javascript.0"
983
- required: true
984
- type: "string"
985
- - name: "data"
986
- in: "body"
987
- description: "Data and message"
988
- required: true
989
- schema:
990
- $ref: "#/definitions/SendToData"
991
- responses:
992
- 200:
993
- description: "Answer from instance if received"
994
- 408:
995
- description: "Timeout"
996
- 422:
997
- description: "Invalid state ID supplied"
998
- 500:
999
- description: "instance is offline"
1000
- /file/{objectId}/{fileName}:
1001
- x-swagger-router-controller: file
1002
- get:
1003
- tags:
1004
- - "file"
1005
- summary: "Reads file"
1006
- operationId: "readFile"
1007
- produces:
1008
- - "application/octet-stream"
1009
- parameters:
1010
- - name: "objectId"
1011
- in: "path"
1012
- description: "Object ID, like vis.0"
1013
- type: "string"
1014
- required: true
1015
- - name: "fileName"
1016
- in: "path"
1017
- description: "File name, like main/vis-views.json"
1018
- type: "string"
1019
- required: true
1020
- responses:
1021
- 200:
1022
- description: "successful operation"
1023
- 404:
1024
- description: "File not found"
1025
- post:
1026
- tags:
1027
- - "file"
1028
- summary: "Writes file"
1029
- operationId: "writeFile"
1030
- produces:
1031
- - "application/json"
1032
- consumes:
1033
- - "multipart/form-data"
1034
- parameters:
1035
- - name: "objectId"
1036
- in: "path"
1037
- description: "Object ID, like vis.0"
1038
- type: "string"
1039
- required: true
1040
- - name: "fileName"
1041
- in: "path"
1042
- description: "File name, like main/vis-views.json"
1043
- type: "string"
1044
- required: true
1045
- - name: "file"
1046
- in: "formData"
1047
- description: "File content"
1048
- required: true
1049
- type: "file"
1050
- responses:
1051
- 200:
1052
- description: "successful operation"
1053
- 404:
1054
- description: "File not found"
1055
- delete:
1056
- tags:
1057
- - "file"
1058
- summary: "deletes file"
1059
- operationId: "deleteFile"
1060
- produces:
1061
- - "application/json"
1062
- parameters:
1063
- - name: "objectId"
1064
- in: "path"
1065
- description: "Object ID, like vis.0"
1066
- type: "string"
1067
- required: true
1068
- - name: "fileName"
1069
- in: "path"
1070
- description: "File name, like main/vis-views.json"
1071
- type: "string"
1072
- required: true
1073
- responses:
1074
- 200:
1075
- description: "successful operation"
1076
- 404:
1077
- description: "File not found"
1078
- /dir/{objectId}/{dirName}:
1079
- x-swagger-router-controller: file
1080
- get:
1081
- tags:
1082
- - "file"
1083
- summary: "List directory"
1084
- operationId: "readDir"
1085
- produces:
1086
- - "application/json"
1087
- parameters:
1088
- - name: "objectId"
1089
- in: "path"
1090
- description: "Object ID, like vis.0"
1091
- type: "string"
1092
- required: true
1093
- - name: "dirName"
1094
- in: "path"
1095
- description: "File name, like main/vis-views.json"
1096
- type: "string"
1097
- required: true
1098
- responses:
1099
- 200:
1100
- description: "successful operation"
1101
- schema:
1102
- $ref: "#/definitions/DirResponse"
1103
- 404:
1104
- description: "File not found"
1105
- /dir/{objectId}:
1106
- x-swagger-router-controller: file
1107
- get:
1108
- tags:
1109
- - "file"
1110
- summary: "List directory"
1111
- operationId: "readDir"
1112
- produces:
1113
- - "application/json"
1114
- parameters:
1115
- - name: "objectId"
1116
- in: "path"
1117
- description: "Object ID, like vis.0"
1118
- type: "string"
1119
- required: true
1120
- responses:
1121
- 200:
1122
- description: "successful operation"
1123
- schema:
1124
- $ref: "#/definitions/DirResponse"
1125
- 404:
1126
- description: "File not found"
1127
-
1128
-
1129
- # commands start
1130
- /command/getStates:
1131
- get:
1132
- tags:
1133
- - "commands"
1134
- summary: "get the list of states for pattern (e.g. for system.adapter.admin.0.*). GUI can have problems by visualization of answer."
1135
- produces:
1136
- - "application/json"
1137
- parameters:
1138
-
1139
- - name: "pattern"
1140
- in: "query"
1141
- description: ""
1142
- type: "string"
1143
- required: true
1144
- responses:
1145
- 200:
1146
- description: "successful operation"
1147
- /command/getForeignStates:
1148
- get:
1149
- tags:
1150
- - "commands"
1151
- summary: "same as getStates"
1152
- produces:
1153
- - "application/json"
1154
- parameters:
1155
-
1156
- - name: "pattern"
1157
- in: "query"
1158
- description: ""
1159
- type: "string"
1160
- required: true
1161
- responses:
1162
- 200:
1163
- description: "successful operation"
1164
- /command/getState:
1165
- get:
1166
- tags:
1167
- - "commands"
1168
- summary: "get state value by ID"
1169
- produces:
1170
- - "application/json"
1171
- parameters:
1172
-
1173
- - name: "id"
1174
- in: "query"
1175
- description: ""
1176
- type: "string"
1177
- required: true
1178
- responses:
1179
- 200:
1180
- description: "successful operation"
1181
- /command/setState:
1182
- get:
1183
- tags:
1184
- - "commands"
1185
- summary: "set state value with JSON object (e.g. {\"val\": 1, \"ack\": true})"
1186
- produces:
1187
- - "application/json"
1188
- parameters:
1189
-
1190
- - name: "id"
1191
- in: "query"
1192
- description: ""
1193
- type: "string"
1194
- required: true
1195
-
1196
- - name: "state"
1197
- in: "query"
1198
- description: ""
1199
- type: "string"
1200
- required: true
1201
- responses:
1202
- 200:
1203
- description: "successful operation"
1204
- /command/getBinaryState:
1205
- get:
1206
- tags:
1207
- - "commands"
1208
- summary: "get binary state by ID"
1209
- produces:
1210
- - "application/json"
1211
- parameters:
1212
-
1213
- - name: "id"
1214
- in: "query"
1215
- description: ""
1216
- type: "string"
1217
- required: true
1218
- responses:
1219
- 200:
1220
- description: "successful operation"
1221
- /command/setBinaryState:
1222
- get:
1223
- tags:
1224
- - "commands"
1225
- summary: "set binary state by ID"
1226
- produces:
1227
- - "application/json"
1228
- parameters:
1229
-
1230
- - name: "id"
1231
- in: "query"
1232
- description: ""
1233
- type: "string"
1234
- required: true
1235
-
1236
- - name: "base64"
1237
- in: "query"
1238
- description: ""
1239
- type: "string"
1240
- required: true
1241
- responses:
1242
- 200:
1243
- description: "successful operation"
1244
- /command/getObject:
1245
- get:
1246
- tags:
1247
- - "commands"
1248
- summary: "get object by ID"
1249
- produces:
1250
- - "application/json"
1251
- parameters:
1252
-
1253
- - name: "id"
1254
- in: "query"
1255
- description: ""
1256
- type: "string"
1257
- required: true
1258
- responses:
1259
- 200:
1260
- description: "successful operation"
1261
- /command/getObjects:
1262
- get:
1263
- tags:
1264
- - "commands"
1265
- summary: "get all states and rooms. GUI can have problems by visualization of answer."
1266
- produces:
1267
- - "application/json"
1268
- parameters:
1269
-
1270
- - name: "list"
1271
- in: "query"
1272
- description: ""
1273
- type: "string"
1274
- required: true
1275
- responses:
1276
- 200:
1277
- description: "successful operation"
1278
- /command/getObjectView:
1279
- get:
1280
- tags:
1281
- - "commands"
1282
- summary: "get specific objects, e.g. design=system, search=state, params={\"startkey\": \"system.adapter.admin.\", \"endkey\": \"system.adapter.admin.\u9999\"}"
1283
- produces:
1284
- - "application/json"
1285
- parameters:
1286
-
1287
- - name: "design"
1288
- in: "query"
1289
- description: ""
1290
- type: "string"
1291
- required: true
1292
-
1293
- - name: "search"
1294
- in: "query"
1295
- description: ""
1296
- type: "string"
1297
- required: true
1298
-
1299
- - name: "params"
1300
- in: "query"
1301
- description: "JSON object"
1302
- type: "string"
1303
- required: true
1304
- responses:
1305
- 200:
1306
- description: "successful operation"
1307
- /command/setObject:
1308
- get:
1309
- tags:
1310
- - "commands"
1311
- summary: "set object with JSON object (e.g. {\"common\": {\"type\": \"boolean\"}, \"native\": {}, \"type\": \"state\"})"
1312
- produces:
1313
- - "application/json"
1314
- parameters:
1315
-
1316
- - name: "id"
1317
- in: "query"
1318
- description: ""
1319
- type: "string"
1320
- required: true
1321
-
1322
- - name: "obj"
1323
- in: "query"
1324
- description: "JSON object"
1325
- type: "string"
1326
- required: true
1327
- responses:
1328
- 200:
1329
- description: "successful operation"
1330
- /command/delObject:
1331
- get:
1332
- tags:
1333
- - "commands"
1334
- summary: "delete object by ID"
1335
- produces:
1336
- - "application/json"
1337
- parameters:
1338
-
1339
- - name: "id"
1340
- in: "query"
1341
- description: ""
1342
- type: "string"
1343
- required: true
1344
-
1345
- - name: "options"
1346
- in: "query"
1347
- description: "JSON object"
1348
- type: "string"
1349
- required: false
1350
- responses:
1351
- 200:
1352
- description: "successful operation"
1353
- /command/readFile:
1354
- get:
1355
- tags:
1356
- - "commands"
1357
- summary: "read file, e.g. adapter=vis.0, fileName=main/vis-views.json. Additionally, you can set option in query binary=true to get answer as file and not as json"
1358
- produces:
1359
- - "application/json"
1360
- parameters:
1361
-
1362
- - name: "adapter"
1363
- in: "query"
1364
- description: ""
1365
- type: "string"
1366
- required: true
1367
-
1368
- - name: "fileName"
1369
- in: "query"
1370
- description: ""
1371
- type: "string"
1372
- required: true
1373
- responses:
1374
- 200:
1375
- description: "successful operation"
1376
- /command/readFile64:
1377
- get:
1378
- tags:
1379
- - "commands"
1380
- summary: "read file as base64 string, e.g. adapter=vis.0, fileName=main/vis-views.json. Additionally, you can set option in query binary=true to get answer as file and not as json"
1381
- produces:
1382
- - "application/json"
1383
- parameters:
1384
-
1385
- - name: "adapter"
1386
- in: "query"
1387
- description: ""
1388
- type: "string"
1389
- required: true
1390
-
1391
- - name: "fileName"
1392
- in: "query"
1393
- description: ""
1394
- type: "string"
1395
- required: true
1396
- responses:
1397
- 200:
1398
- description: "successful operation"
1399
- /command/writeFile64:
1400
- get:
1401
- tags:
1402
- - "commands"
1403
- summary: "write file, e.g. adapter=vis.0, fileName=main/vis-test.json, data64=eyJhIjogMX0="
1404
- produces:
1405
- - "application/json"
1406
- parameters:
1407
-
1408
- - name: "adapter"
1409
- in: "query"
1410
- description: ""
1411
- type: "string"
1412
- required: true
1413
-
1414
- - name: "fileName"
1415
- in: "query"
1416
- description: ""
1417
- type: "string"
1418
- required: true
1419
-
1420
- - name: "data64"
1421
- in: "query"
1422
- description: ""
1423
- type: "string"
1424
- required: true
1425
-
1426
- - name: "options"
1427
- in: "query"
1428
- description: "JSON object"
1429
- type: "string"
1430
- required: false
1431
- responses:
1432
- 200:
1433
- description: "successful operation"
1434
- /command/unlink:
1435
- get:
1436
- tags:
1437
- - "commands"
1438
- summary: "delete file or folder"
1439
- produces:
1440
- - "application/json"
1441
- parameters:
1442
-
1443
- - name: "adapter"
1444
- in: "query"
1445
- description: ""
1446
- type: "string"
1447
- required: true
1448
-
1449
- - name: "name"
1450
- in: "query"
1451
- description: ""
1452
- type: "string"
1453
- required: true
1454
- responses:
1455
- 200:
1456
- description: "successful operation"
1457
- /command/deleteFile:
1458
- get:
1459
- tags:
1460
- - "commands"
1461
- summary: "delete file"
1462
- produces:
1463
- - "application/json"
1464
- parameters:
1465
-
1466
- - name: "adapter"
1467
- in: "query"
1468
- description: ""
1469
- type: "string"
1470
- required: true
1471
-
1472
- - name: "name"
1473
- in: "query"
1474
- description: ""
1475
- type: "string"
1476
- required: true
1477
- responses:
1478
- 200:
1479
- description: "successful operation"
1480
- /command/deleteFolder:
1481
- get:
1482
- tags:
1483
- - "commands"
1484
- summary: "delete folder"
1485
- produces:
1486
- - "application/json"
1487
- parameters:
1488
-
1489
- - name: "adapter"
1490
- in: "query"
1491
- description: ""
1492
- type: "string"
1493
- required: true
1494
-
1495
- - name: "name"
1496
- in: "query"
1497
- description: ""
1498
- type: "string"
1499
- required: true
1500
- responses:
1501
- 200:
1502
- description: "successful operation"
1503
- /command/renameFile:
1504
- get:
1505
- tags:
1506
- - "commands"
1507
- summary: "rename file"
1508
- produces:
1509
- - "application/json"
1510
- parameters:
1511
-
1512
- - name: "adapter"
1513
- in: "query"
1514
- description: ""
1515
- type: "string"
1516
- required: true
1517
-
1518
- - name: "oldName"
1519
- in: "query"
1520
- description: ""
1521
- type: "string"
1522
- required: true
1523
-
1524
- - name: "newName"
1525
- in: "query"
1526
- description: ""
1527
- type: "string"
1528
- required: true
1529
- responses:
1530
- 200:
1531
- description: "successful operation"
1532
- /command/rename:
1533
- get:
1534
- tags:
1535
- - "commands"
1536
- summary: "rename file or folder"
1537
- produces:
1538
- - "application/json"
1539
- parameters:
1540
-
1541
- - name: "adapter"
1542
- in: "query"
1543
- description: ""
1544
- type: "string"
1545
- required: true
1546
-
1547
- - name: "oldName"
1548
- in: "query"
1549
- description: ""
1550
- type: "string"
1551
- required: true
1552
-
1553
- - name: "newName"
1554
- in: "query"
1555
- description: ""
1556
- type: "string"
1557
- required: true
1558
- responses:
1559
- 200:
1560
- description: "successful operation"
1561
- /command/mkdir:
1562
- get:
1563
- tags:
1564
- - "commands"
1565
- summary: "create folder"
1566
- produces:
1567
- - "application/json"
1568
- parameters:
1569
-
1570
- - name: "adapter"
1571
- in: "query"
1572
- description: ""
1573
- type: "string"
1574
- required: true
1575
-
1576
- - name: "dirName"
1577
- in: "query"
1578
- description: ""
1579
- type: "string"
1580
- required: true
1581
- responses:
1582
- 200:
1583
- description: "successful operation"
1584
- /command/readDir:
1585
- get:
1586
- tags:
1587
- - "commands"
1588
- summary: "read content of folder"
1589
- produces:
1590
- - "application/json"
1591
- parameters:
1592
-
1593
- - name: "adapter"
1594
- in: "query"
1595
- description: ""
1596
- type: "string"
1597
- required: true
1598
-
1599
- - name: "dirName"
1600
- in: "query"
1601
- description: ""
1602
- type: "string"
1603
- required: true
1604
-
1605
- - name: "options"
1606
- in: "query"
1607
- description: "JSON object"
1608
- type: "string"
1609
- required: false
1610
- responses:
1611
- 200:
1612
- description: "successful operation"
1613
- /command/chmodFile:
1614
- get:
1615
- tags:
1616
- - "commands"
1617
- summary: "change file mode. E.g. adapter=vis.0, fileName=main/*, options = {\"mode\": 0x644}"
1618
- produces:
1619
- - "application/json"
1620
- parameters:
1621
-
1622
- - name: "adapter"
1623
- in: "query"
1624
- description: ""
1625
- type: "string"
1626
- required: true
1627
-
1628
- - name: "fileName"
1629
- in: "query"
1630
- description: ""
1631
- type: "string"
1632
- required: true
1633
-
1634
- - name: "options"
1635
- in: "query"
1636
- description: "JSON object"
1637
- type: "string"
1638
- required: true
1639
- responses:
1640
- 200:
1641
- description: "successful operation"
1642
- /command/chownFile:
1643
- get:
1644
- tags:
1645
- - "commands"
1646
- summary: "change file owner. E.g. adapter=vis.0, fileName=main/*, options = {\"owner\": \"newOwner\", \"ownerGroup\": \"newgroup\"}"
1647
- produces:
1648
- - "application/json"
1649
- parameters:
1650
-
1651
- - name: "adapter"
1652
- in: "query"
1653
- description: ""
1654
- type: "string"
1655
- required: true
1656
-
1657
- - name: "fileName"
1658
- in: "query"
1659
- description: ""
1660
- type: "string"
1661
- required: true
1662
-
1663
- - name: "options"
1664
- in: "query"
1665
- description: "JSON object"
1666
- type: "string"
1667
- required: true
1668
- responses:
1669
- 200:
1670
- description: "successful operation"
1671
- /command/fileExists:
1672
- get:
1673
- tags:
1674
- - "commands"
1675
- summary: "check if file exists"
1676
- produces:
1677
- - "application/json"
1678
- parameters:
1679
-
1680
- - name: "adapter"
1681
- in: "query"
1682
- description: ""
1683
- type: "string"
1684
- required: true
1685
-
1686
- - name: "fileName"
1687
- in: "query"
1688
- description: ""
1689
- type: "string"
1690
- required: true
1691
- responses:
1692
- 200:
1693
- description: "successful operation"
1694
- # admin commands start
1695
- /command/getHostByIp:
1696
- get:
1697
- tags:
1698
- - "commands"
1699
- summary: "read host information by IP. e.g. by localhost"
1700
- produces:
1701
- - "application/json"
1702
- parameters:
1703
-
1704
- - name: "ip"
1705
- in: "query"
1706
- description: ""
1707
- type: "string"
1708
- required: true
1709
- responses:
1710
- 200:
1711
- description: "successful operation"
1712
- /command/readLogs:
1713
- get:
1714
- tags:
1715
- - "commands"
1716
- summary: "read file name and size of log files. You can read them with http://ipaddress:8093/<fileName>"
1717
- produces:
1718
- - "application/json"
1719
- parameters:
1720
-
1721
- - name: "host"
1722
- in: "query"
1723
- description: ""
1724
- type: "string"
1725
- required: true
1726
- responses:
1727
- 200:
1728
- description: "successful operation"
1729
- /command/delState:
1730
- get:
1731
- tags:
1732
- - "commands"
1733
- summary: "delete state and object. Same as delObject"
1734
- produces:
1735
- - "application/json"
1736
- parameters:
1737
-
1738
- - name: "id"
1739
- in: "query"
1740
- description: ""
1741
- type: "string"
1742
- required: true
1743
- responses:
1744
- 200:
1745
- description: "successful operation"
1746
- /command/getRatings:
1747
- get:
1748
- tags:
1749
- - "commands"
1750
- summary: "read adapter ratings (as in admin)"
1751
- produces:
1752
- - "application/json"
1753
- parameters:
1754
-
1755
- - name: "update"
1756
- in: "query"
1757
- description: ""
1758
- type: "boolean"
1759
- required: false
1760
- responses:
1761
- 200:
1762
- description: "successful operation"
1763
- /command/getCurrentInstance:
1764
- get:
1765
- tags:
1766
- - "commands"
1767
- summary: "read adapter namespace (always rest-api.0)"
1768
- produces:
1769
- - "application/json"
1770
- responses:
1771
- 200:
1772
- description: "successful operation"
1773
- /command/decrypt:
1774
- get:
1775
- tags:
1776
- - "commands"
1777
- summary: "decrypt string with system secret"
1778
- produces:
1779
- - "application/json"
1780
- parameters:
1781
-
1782
- - name: "encryptedText"
1783
- in: "query"
1784
- description: ""
1785
- type: "string"
1786
- required: true
1787
- responses:
1788
- 200:
1789
- description: "successful operation"
1790
- /command/encrypt:
1791
- get:
1792
- tags:
1793
- - "commands"
1794
- summary: "encrypt string with system secret"
1795
- produces:
1796
- - "application/json"
1797
- parameters:
1798
-
1799
- - name: "plainText"
1800
- in: "query"
1801
- description: ""
1802
- type: "string"
1803
- required: true
1804
- responses:
1805
- 200:
1806
- description: "successful operation"
1807
- /command/getAdapters:
1808
- get:
1809
- tags:
1810
- - "commands"
1811
- summary: "get objects of type \"adapter\". You can define optionally adapterName"
1812
- produces:
1813
- - "application/json"
1814
- parameters:
1815
-
1816
- - name: "adapterName"
1817
- in: "query"
1818
- description: ""
1819
- type: "string"
1820
- required: false
1821
- responses:
1822
- 200:
1823
- description: "successful operation"
1824
- /command/updateLicenses:
1825
- get:
1826
- tags:
1827
- - "commands"
1828
- summary: "read licenses from ioBroker.net portal"
1829
- produces:
1830
- - "application/json"
1831
- parameters:
1832
-
1833
- - name: "login"
1834
- in: "query"
1835
- description: ""
1836
- type: "string"
1837
- required: true
1838
-
1839
- - name: "password"
1840
- in: "query"
1841
- description: ""
1842
- type: "string"
1843
- required: true
1844
- responses:
1845
- 200:
1846
- description: "successful operation"
1847
- /command/getCompactInstances:
1848
- get:
1849
- tags:
1850
- - "commands"
1851
- summary: "read list of instances with short information"
1852
- produces:
1853
- - "application/json"
1854
- responses:
1855
- 200:
1856
- description: "successful operation"
1857
- /command/getCompactAdapters:
1858
- get:
1859
- tags:
1860
- - "commands"
1861
- summary: "read list of installed adapters with short information"
1862
- produces:
1863
- - "application/json"
1864
- responses:
1865
- 200:
1866
- description: "successful operation"
1867
- /command/getCompactInstalled:
1868
- get:
1869
- tags:
1870
- - "commands"
1871
- summary: "read short information about installed adapters"
1872
- produces:
1873
- - "application/json"
1874
- parameters:
1875
-
1876
- - name: "host"
1877
- in: "query"
1878
- description: ""
1879
- type: "string"
1880
- required: true
1881
- responses:
1882
- 200:
1883
- description: "successful operation"
1884
- /command/getCompactSystemConfig:
1885
- get:
1886
- tags:
1887
- - "commands"
1888
- summary: "read short system config"
1889
- produces:
1890
- - "application/json"
1891
- responses:
1892
- 200:
1893
- description: "successful operation"
1894
- /command/getCompactSystemRepositories:
1895
- get:
1896
- tags:
1897
- - "commands"
1898
- summary: ""
1899
- produces:
1900
- - "application/json"
1901
- responses:
1902
- 200:
1903
- description: "successful operation"
1904
- /command/getCompactRepository:
1905
- get:
1906
- tags:
1907
- - "commands"
1908
- summary: "read short repository"
1909
- produces:
1910
- - "application/json"
1911
- parameters:
1912
-
1913
- - name: "host"
1914
- in: "query"
1915
- description: ""
1916
- type: "string"
1917
- required: true
1918
- responses:
1919
- 200:
1920
- description: "successful operation"
1921
- /command/getCompactHosts:
1922
- get:
1923
- tags:
1924
- - "commands"
1925
- summary: "get short information about hosts"
1926
- produces:
1927
- - "application/json"
1928
- responses:
1929
- 200:
1930
- description: "successful operation"
1931
- /command/addUser:
1932
- get:
1933
- tags:
1934
- - "commands"
1935
- summary: "add new user"
1936
- produces:
1937
- - "application/json"
1938
- parameters:
1939
-
1940
- - name: "user"
1941
- in: "query"
1942
- description: ""
1943
- type: "string"
1944
- required: true
1945
-
1946
- - name: "pass"
1947
- in: "query"
1948
- description: ""
1949
- type: "string"
1950
- required: true
1951
- responses:
1952
- 200:
1953
- description: "successful operation"
1954
- /command/delUser:
1955
- get:
1956
- tags:
1957
- - "commands"
1958
- summary: "delete user"
1959
- produces:
1960
- - "application/json"
1961
- parameters:
1962
-
1963
- - name: "user"
1964
- in: "query"
1965
- description: ""
1966
- type: "string"
1967
- required: true
1968
- responses:
1969
- 200:
1970
- description: "successful operation"
1971
- /command/addGroup:
1972
- get:
1973
- tags:
1974
- - "commands"
1975
- summary: "create new group"
1976
- produces:
1977
- - "application/json"
1978
- parameters:
1979
-
1980
- - name: "group"
1981
- in: "query"
1982
- description: ""
1983
- type: "string"
1984
- required: true
1985
-
1986
- - name: "desc"
1987
- in: "query"
1988
- description: ""
1989
- type: "string"
1990
- required: true
1991
-
1992
- - name: "acl"
1993
- in: "query"
1994
- description: ""
1995
- type: "string"
1996
- required: true
1997
- responses:
1998
- 200:
1999
- description: "successful operation"
2000
- /command/delGroup:
2001
- get:
2002
- tags:
2003
- - "commands"
2004
- summary: "delete group"
2005
- produces:
2006
- - "application/json"
2007
- parameters:
2008
-
2009
- - name: "group"
2010
- in: "query"
2011
- description: ""
2012
- type: "string"
2013
- required: true
2014
- responses:
2015
- 200:
2016
- description: "successful operation"
2017
- /command/changePassword:
2018
- get:
2019
- tags:
2020
- - "commands"
2021
- summary: "change user password"
2022
- produces:
2023
- - "application/json"
2024
- parameters:
2025
-
2026
- - name: "user"
2027
- in: "query"
2028
- description: ""
2029
- type: "string"
2030
- required: true
2031
-
2032
- - name: "pass"
2033
- in: "query"
2034
- description: ""
2035
- type: "string"
2036
- required: true
2037
- responses:
2038
- 200:
2039
- description: "successful operation"
2040
- /command/getAllObjects:
2041
- get:
2042
- tags:
2043
- - "commands"
2044
- summary: "read all objects as list. GUI can have problems by visualization of answer."
2045
- produces:
2046
- - "application/json"
2047
- responses:
2048
- 200:
2049
- description: "successful operation"
2050
- /command/extendObject:
2051
- get:
2052
- tags:
2053
- - "commands"
2054
- summary: "modify object by ID with JSON. (.e.g. {\"common\":{\"enabled\": true}}) "
2055
- produces:
2056
- - "application/json"
2057
- parameters:
2058
-
2059
- - name: "id"
2060
- in: "query"
2061
- description: ""
2062
- type: "string"
2063
- required: true
2064
-
2065
- - name: "obj"
2066
- in: "query"
2067
- description: "JSON object"
2068
- type: "string"
2069
- required: true
2070
- responses:
2071
- 200:
2072
- description: "successful operation"
2073
- /command/getForeignObjects:
2074
- get:
2075
- tags:
2076
- - "commands"
2077
- summary: "same as getObjects"
2078
- produces:
2079
- - "application/json"
2080
- parameters:
2081
-
2082
- - name: "pattern"
2083
- in: "query"
2084
- description: ""
2085
- type: "string"
2086
- required: true
2087
-
2088
- - name: "type"
2089
- in: "query"
2090
- description: ""
2091
- type: "string"
2092
- required: true
2093
- responses:
2094
- 200:
2095
- description: "successful operation"
2096
- /command/delObjects:
2097
- get:
2098
- tags:
2099
- - "commands"
2100
- summary: "delete objects by pattern"
2101
- produces:
2102
- - "application/json"
2103
- parameters:
2104
-
2105
- - name: "id"
2106
- in: "query"
2107
- description: ""
2108
- type: "string"
2109
- required: true
2110
-
2111
- - name: "options"
2112
- in: "query"
2113
- description: "JSON object"
2114
- type: "string"
2115
- required: false
2116
- responses:
2117
- 200:
2118
- description: "successful operation"
2119
- # admin commands end
2120
- /command/log:
2121
- get:
2122
- tags:
2123
- - "commands"
2124
- summary: "add log entry to ioBroker log"
2125
- produces:
2126
- - "application/json"
2127
- parameters:
2128
-
2129
- - name: "text"
2130
- in: "query"
2131
- description: ""
2132
- type: "string"
2133
- required: true
2134
-
2135
- - name: "level"
2136
- in: "query"
2137
- description: ""
2138
- type: "string"
2139
- required: false
2140
- responses:
2141
- 200:
2142
- description: "successful operation"
2143
- /command/checkFeatureSupported:
2144
- get:
2145
- tags:
2146
- - "commands"
2147
- summary: "check if feature is supported by js-controller."
2148
- produces:
2149
- - "application/json"
2150
- parameters:
2151
-
2152
- - name: "feature"
2153
- in: "query"
2154
- description: ""
2155
- type: "string"
2156
- required: true
2157
- enum: [ALIAS, ALIAS_SEPARATE_READ_WRITE_ID, ADAPTER_GETPORT_BIND, ADAPTER_DEL_OBJECT_RECURSIVE, ADAPTER_SET_OBJECT_SETS_DEFAULT_VALUE, ADAPTER_AUTO_DECRYPT_NATIVE, PLUGINS, CONTROLLER_NPM_AUTO_REBUILD, CONTROLLER_READWRITE_BASE_SETTINGS, CONTROLLER_MULTI_REPO, CONTROLLER_LICENSE_MANAGER, DEL_INSTANCE_CUSTOM]
2158
- responses:
2159
- 200:
2160
- description: "successful operation"
2161
- /command/getHistory:
2162
- get:
2163
- tags:
2164
- - "commands"
2165
- summary: "read history. See for options: https://github.com/ioBroker/ioBroker.history/blob/master/docs/en/README.md#access-values-from-javascript-adapter"
2166
- produces:
2167
- - "application/json"
2168
- parameters:
2169
-
2170
- - name: "id"
2171
- in: "query"
2172
- description: ""
2173
- type: "string"
2174
- required: true
2175
-
2176
- - name: "options"
2177
- in: "query"
2178
- description: "JSON object"
2179
- type: "string"
2180
- required: false
2181
- responses:
2182
- 200:
2183
- description: "successful operation"
2184
- /command/httpGet:
2185
- get:
2186
- tags:
2187
- - "commands"
2188
- summary: "read URL from server. You can set binary=true to get answer as file"
2189
- produces:
2190
- - "application/json"
2191
- parameters:
2192
-
2193
- - name: "url"
2194
- in: "query"
2195
- description: ""
2196
- type: "string"
2197
- required: true
2198
- responses:
2199
- 200:
2200
- description: "successful operation"
2201
- /command/sendTo:
2202
- get:
2203
- tags:
2204
- - "commands"
2205
- summary: "send command to instance. E.g. adapterInstance=history.0, command=getHistory, message={\"id\": \"system.adapter.admin.0.memRss\",\"options\": {\"aggregate\": \"onchange\", \"addId\": true}}"
2206
- produces:
2207
- - "application/json"
2208
- parameters:
2209
-
2210
- - name: "adapterInstance"
2211
- in: "query"
2212
- description: ""
2213
- type: "string"
2214
- required: true
2215
-
2216
- - name: "command"
2217
- in: "query"
2218
- description: ""
2219
- type: "string"
2220
- required: true
2221
-
2222
- - name: "message"
2223
- in: "query"
2224
- description: "JSON object"
2225
- type: "string"
2226
- required: true
2227
- responses:
2228
- 200:
2229
- description: "successful operation"
2230
- /command/listPermissions:
2231
- get:
2232
- tags:
2233
- - "commands"
2234
- summary: "read static information with function permissions"
2235
- produces:
2236
- - "application/json"
2237
- responses:
2238
- 200:
2239
- description: "successful operation"
2240
- /command/getUserPermissions:
2241
- get:
2242
- tags:
2243
- - "commands"
2244
- summary: "read object with user permissions"
2245
- produces:
2246
- - "application/json"
2247
- responses:
2248
- 200:
2249
- description: "successful operation"
2250
- /command/getVersion:
2251
- get:
2252
- tags:
2253
- - "commands"
2254
- summary: "read adapter name and version"
2255
- produces:
2256
- - "application/json"
2257
- responses:
2258
- 200:
2259
- description: "successful operation"
2260
- /command/getAdapterName:
2261
- get:
2262
- tags:
2263
- - "commands"
2264
- summary: "read adapter name (always rest-api)"
2265
- produces:
2266
- - "application/json"
2267
- responses:
2268
- 200:
2269
- description: "successful operation"
2270
- /command/clientSubscribe:
2271
- get:
2272
- tags:
2273
- - "commands"
2274
- summary: ""
2275
- produces:
2276
- - "application/json"
2277
- parameters:
2278
-
2279
- - name: "targetInstance"
2280
- in: "query"
2281
- description: ""
2282
- type: "string"
2283
- required: true
2284
-
2285
- - name: "messageType"
2286
- in: "query"
2287
- description: ""
2288
- type: "string"
2289
- required: true
2290
-
2291
- - name: "data"
2292
- in: "query"
2293
- description: ""
2294
- type: "string"
2295
- required: true
2296
- responses:
2297
- 200:
2298
- description: "successful operation"
2299
- /command/getAdapterInstances:
2300
- get:
2301
- tags:
2302
- - "commands"
2303
- summary: "get objects of type \"instance\". You can define optionally adapterName"
2304
- produces:
2305
- - "application/json"
2306
- parameters:
2307
-
2308
- - name: "adapterName"
2309
- in: "query"
2310
- description: ""
2311
- type: "string"
2312
- required: false
2313
- responses:
2314
- 200:
2315
- description: "successful operation"
2316
- # commands stop
2317
- definitions:
2318
- State:
2319
- type: "object"
2320
- properties:
2321
- id:
2322
- type: "string"
2323
- description: "ID of the state"
2324
- val:
2325
- description: "Actual value"
2326
- q:
2327
- type: "integer"
2328
- format: "int32"
2329
- description: "Quality"
2330
- ts:
2331
- type: "integer"
2332
- format: "int64"
2333
- description: "Timestamp in ms from epoch of last update"
2334
- lc:
2335
- type: "integer"
2336
- format: "int64"
2337
- description: "Timestamp in ms from epoch of last value change"
2338
- ack:
2339
- type: "boolean"
2340
- description: "Is acknowledged. true = update, false = command"
2341
- from:
2342
- type: "string"
2343
- description: "Instance, that wrote this value"
2344
- expire:
2345
- type: "integer"
2346
- description: "Expire in seconds"
2347
- type:
2348
- type: "string"
2349
- description: "Always = state"
2350
- common:
2351
- type: "object"
2352
- description: "Common state description"
2353
- native:
2354
- type: "object"
2355
- description: "Native state description"
2356
- WriteState:
2357
- type: "object"
2358
- properties:
2359
- val:
2360
- description: "Actual value"
2361
- q:
2362
- type: "integer"
2363
- format: "int32"
2364
- description: "Quality"
2365
- ts:
2366
- type: "integer"
2367
- format: "int64"
2368
- description: "Timestamp in ms from epoch of last update"
2369
- lc:
2370
- type: "integer"
2371
- format: "int64"
2372
- description: "Timestamp in ms from epoch of last value change"
2373
- ack:
2374
- type: "boolean"
2375
- description: "Is acknowledged. true = update, false = command"
2376
- expire:
2377
- type: "integer"
2378
- description: "Expire in seconds"
2379
- #Type:
2380
- # type: "string"
2381
- # enum: [state, channel, device, enum, instance, adapter, host, chart, script, folder]
2382
- Object:
2383
- type: "object"
2384
- properties:
2385
- _id:
2386
- type: "string"
2387
- description: "ID of the state"
2388
- type:
2389
- type: "string"
2390
- description: "Type of this object"
2391
- enum: [state, channel, device, enum, instance, adapter, host, chart, script, folder]
2392
- common:
2393
- type: "object"
2394
- description: "Common state description"
2395
- native:
2396
- type: "object"
2397
- description: "Native state description"
2398
- ObjectArray:
2399
- type: "object"
2400
- additionalProperties:
2401
- $ref: "#/definitions/Object"
2402
- UrlHook:
2403
- type: "object"
2404
- properties:
2405
- url:
2406
- type: "string"
2407
- description: "URL"
2408
- method:
2409
- type: "string"
2410
- description: "HTTP Method"
2411
- enum: [ polling, POST, GET, PUT, PATCH ]
2412
- UrlHookWithPattern:
2413
- type: "object"
2414
- required: [pattern]
2415
- properties:
2416
- url:
2417
- type: "string"
2418
- description: "URL"
2419
- onchange:
2420
- type: "boolean"
2421
- description: "If the updates must be delivered if the value changed"
2422
- pattern:
2423
- type: "string"
2424
- description: "Subscribe pattern like: \"system.adapter.admin.0.*\""
2425
- method:
2426
- type: "string"
2427
- description: "HTTP Method"
2428
- enum: [ polling, POST, GET, PUT, PATCH ]
2429
- HistoryOptions:
2430
- type: "object"
2431
- #required: [pattern]
2432
- properties:
2433
- start:
2434
- type: "number"
2435
- description: "Start time in ms"
2436
- end:
2437
- type: "number"
2438
- description: "End time in ms"
2439
- count:
2440
- type: "number"
2441
- description: "number of values if aggregate is 'onchange' or number of intervals if other aggregate method. Count will be ignored if step is set, else default is 500 if not set"
2442
- from:
2443
- type: "boolean"
2444
- description: "if FROM field should be included in answer"
2445
- ack:
2446
- type: "boolean"
2447
- description: "if ACK field should be included in answer"
2448
- q:
2449
- type: "boolean"
2450
- description: "if Q field should be included in answer"
2451
- addId:
2452
- type: "boolean"
2453
- description: "if ID field should be included in answer"
2454
- limit:
2455
- type: "number"
2456
- description: "do not return more entries than limit"
2457
- ignoreNull:
2458
- type: "boolean"
2459
- description: "if null values should be included (false), replaced by last not null value (true) or replaced with 0 (0)"
2460
- removeBorderValues:
2461
- type: "boolean"
2462
- description: "By default additional border values are returned to optimize charting. Set this option to true if this is not wanted (e.g. for script data processing)"
2463
- returnNewestEntries:
2464
- type: "boolean"
2465
- description: "The returned data are always sorted by timestamp ascending. When using aggregate none and also providing count or limit this means that normally the oldest entries are returned (unless no start data is provided). Set this option to true to get the newest entries instead."
2466
- aggregate:
2467
- type: "string"
2468
- description: "Aggregation method"
2469
- enum: [minmax, max, min, average, total, count, percentile, quantile, integral, none]
2470
- percentile:
2471
- type: "number"
2472
- description: "(optional) when using aggregate method percentile defines the percentile level (0..100)(defaults to 50)"
2473
- quantile:
2474
- type: "number"
2475
- description: "(optional) when using aggregate method quantile defines the quantile level (0..1)(defaults to 0.5)"
2476
- integralUnit:
2477
- type: "string"
2478
- description: "(optional) when using aggregate method integral defines the unit in seconds (defaults to 60s). e.g. to get integral in hours for Wh or such, set to 3600."
2479
- integralInterpolation:
2480
- type: "string"
2481
- description: "(optional) when using aggregate method integral defines the interpolation method (defaults to none)."
2482
- enum: [linear, none]
2483
- HistoryRequest:
2484
- type: "object"
2485
- required: [id]
2486
- properties:
2487
- id:
2488
- type: "string"
2489
- description: "State ID"
2490
- options:
2491
- $ref: "#/definitions/HistoryOptions"
2492
- HistoryEntry:
2493
- type: "object"
2494
- properties:
2495
- val:
2496
- description: "Value"
2497
- ts:
2498
- type: "number"
2499
- description: "Timestamp in ms"
2500
- ack:
2501
- type: "boolean"
2502
- description: "Acknowledge flag. Will be returned only if ACK set true in request options"
2503
- from:
2504
- type: "boolean"
2505
- description: "Acknowledge flag. Will be returned only if FROM set true in request options"
2506
- q:
2507
- type: "boolean"
2508
- description: "Acknowledge flag. Will be returned only if Q set true in request options"
2509
- id:
2510
- type: "string"
2511
- description: "State ID. Will be returned only if addId set true in request options"
2512
- HistoryResponse:
2513
- type: "array"
2514
- items:
2515
- $ref: "#/definitions/HistoryEntry"
2516
- HistoryAddEntry:
2517
- type: "object"
2518
- properties:
2519
- val:
2520
- description: "Value"
2521
- ts:
2522
- type: "number"
2523
- description: "Timestamp in ms"
2524
- ack:
2525
- type: "boolean"
2526
- description: "Acknowledge flag. Will be returned only if ACK set true in request options"
2527
- from:
2528
- type: "boolean"
2529
- description: "Acknowledge flag. Will be returned only if FROM set true in request options"
2530
- q:
2531
- type: "boolean"
2532
- description: "Acknowledge flag. Will be returned only if Q set true in request options"
2533
- HistoryAddRequest:
2534
- properties:
2535
- id:
2536
- type: "string"
2537
- description: "State ID"
2538
- state:
2539
- $ref: "#/definitions/HistoryAddEntry"
2540
- HistoryAddResponse:
2541
- properties:
2542
- success:
2543
- type: "boolean"
2544
- description: "true"
2545
- error:
2546
- type: "string"
2547
- description: "Error description"
2548
- EnumCommon:
2549
- type: "object"
2550
- properties:
2551
- name:
2552
- type: "string"
2553
- description: "Name can be string or object"
2554
- icon:
2555
- type: "string"
2556
- description: "Icon for category (optional)"
2557
- desc:
2558
- type: "string"
2559
- description: "Description can be string or object"
2560
- members:
2561
- type: "array"
2562
- items:
2563
- type: "string"
2564
- EnumEntry:
2565
- type: "object"
2566
- properties:
2567
- _id:
2568
- type: "string"
2569
- description: "Enum ID"
2570
- common:
2571
- $ref: "#/definitions/EnumCommon"
2572
- type:
2573
- type: "string"
2574
- description: "Always enum"
2575
- EnumResponse:
2576
- type: "array"
2577
- items:
2578
- $ref: "#/definitions/EnumEntry"
2579
- FileEntry:
2580
- type: "object"
2581
- properties:
2582
- file:
2583
- type: "string"
2584
- description: "File name"
2585
- stats:
2586
- type: "object"
2587
- description: "File size"
2588
- properties:
2589
- size:
2590
- type: "number"
2591
- description: "File size in bytes"
2592
- isDir:
2593
- type: "boolean"
2594
- description: "Is directory"
2595
- modifiedAt:
2596
- type: "number"
2597
- description: "Modification time in ms"
2598
- createdAt:
2599
- type: "number"
2600
- description: "Creation time in ms"
2601
- DirResponse:
2602
- type: "array"
2603
- items:
2604
- $ref: "#/definitions/FileEntry"
2605
-
2606
- SendToData:
2607
- type: "object"
2608
- properties:
2609
- message:
2610
- type: "string"
2611
- description: "Message or command, like toScript"
2612
- data:
2613
- type: "object"
2614
- description: "String or JSON Object that will be sent"
2615
- noAnswer:
2616
- type: "boolean"
2617
- description: "If wait for answer"
2618
- timeout:
2619
- type: "number"
2620
- description: "Timeout for answer"
2621
-
2622
- externalDocs:
2623
- description: "Find out more about ioBroker"
2624
- url: "https://www.iobroker.net"