@mirta/globals 0.0.6 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/types/wb-rules.d.ts +195 -148
package/package.json
CHANGED
package/types/wb-rules.d.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* @example
|
|
5
5
|
* ```ts
|
|
6
6
|
* interface A { value: number }
|
|
7
|
-
* interface B {
|
|
7
|
+
* interface B { isReadonly: boolean }
|
|
8
8
|
*
|
|
9
9
|
* type C = A & B
|
|
10
10
|
* // A & B
|
|
@@ -12,9 +12,10 @@
|
|
|
12
12
|
* type D = Expand<A & B>
|
|
13
13
|
* // {
|
|
14
14
|
* // value: number;
|
|
15
|
-
* //
|
|
15
|
+
* // isReadonly: boolean;
|
|
16
16
|
* // }
|
|
17
17
|
* ```
|
|
18
|
+
* @since 0.0.4
|
|
18
19
|
**/
|
|
19
20
|
declare type Expand<T> = { [K in keyof T]: T[K] } & {}
|
|
20
21
|
|
|
@@ -76,12 +77,7 @@ declare namespace WbRules {
|
|
|
76
77
|
/** Тип значения топика MQTT. */
|
|
77
78
|
type MqttValue = string | number | boolean
|
|
78
79
|
|
|
79
|
-
type
|
|
80
|
-
|
|
81
|
-
type Dev = Expand<
|
|
82
|
-
Record<`${string}/${string}`, MqttValue>
|
|
83
|
-
& Record<string, DevControl>
|
|
84
|
-
>
|
|
80
|
+
type Dev = Record<string, MqttValue | Record<string, MqttValue>>
|
|
85
81
|
|
|
86
82
|
interface MqttMessage {
|
|
87
83
|
topic: string
|
|
@@ -120,7 +116,11 @@ declare namespace WbRules {
|
|
|
120
116
|
): void
|
|
121
117
|
}
|
|
122
118
|
|
|
123
|
-
|
|
119
|
+
/**
|
|
120
|
+
* Соответствие типа контрола его типу значения.
|
|
121
|
+
* @since 0.0.4
|
|
122
|
+
*
|
|
123
|
+
**/
|
|
124
124
|
interface TypeMappings {
|
|
125
125
|
/** A control that displays a value as text. */
|
|
126
126
|
'text': string
|
|
@@ -140,16 +140,6 @@ declare namespace WbRules {
|
|
|
140
140
|
|
|
141
141
|
type ControlType = Expand<keyof TypeMappings>
|
|
142
142
|
|
|
143
|
-
// enum ControlType {
|
|
144
|
-
// SWITCH = 'switch',
|
|
145
|
-
// ALARM = 'alarm',
|
|
146
|
-
// PUSHBUTTON = 'pushbutton',
|
|
147
|
-
// RANGE = 'range',
|
|
148
|
-
// RGB = 'rgb',
|
|
149
|
-
// TEXT = 'text',
|
|
150
|
-
// VALUE = 'value'
|
|
151
|
-
// }
|
|
152
|
-
|
|
153
143
|
/**
|
|
154
144
|
* Объект настроек передаваемого в контрол значения.
|
|
155
145
|
*/
|
|
@@ -231,112 +221,144 @@ declare namespace WbRules {
|
|
|
231
221
|
getValue(): string | number | boolean
|
|
232
222
|
}
|
|
233
223
|
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
= TControl extends 'text'
|
|
241
|
-
? { enum?: Record<string, TitleLocalized> }
|
|
242
|
-
: never
|
|
243
|
-
|
|
244
|
-
type TypeDef<TControl, TValue> = {
|
|
224
|
+
/**
|
|
225
|
+
* Базовые определения контрола.
|
|
226
|
+
* @since 0.1.0
|
|
227
|
+
*
|
|
228
|
+
**/
|
|
229
|
+
interface BaseControlType<TControl, TValue> {
|
|
245
230
|
/** Тип контрола, публикуемый в MQTT-топике. */
|
|
246
231
|
type: TControl
|
|
247
232
|
/** Значение по умолчанию. */
|
|
248
233
|
value?: TValue
|
|
249
|
-
}
|
|
234
|
+
}
|
|
250
235
|
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
236
|
+
/**
|
|
237
|
+
* Расширяет тип Text дополнительными свойствами.
|
|
238
|
+
* @since 0.1.0
|
|
239
|
+
*
|
|
240
|
+
**/
|
|
241
|
+
interface __TextControlTypeExtension {
|
|
255
242
|
|
|
256
|
-
|
|
243
|
+
/**
|
|
244
|
+
* Задаёт подписи к значениям.
|
|
245
|
+
*
|
|
246
|
+
* Используется, когда количество значений
|
|
247
|
+
* ограничено - например, при перечислении дней недели.
|
|
248
|
+
*
|
|
249
|
+
**/
|
|
250
|
+
enum?: Record<string, Title>
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
/**
|
|
254
|
+
* Расширяет тип Value дополнительными свойствами.
|
|
255
|
+
* @since 0.1.0
|
|
256
|
+
*
|
|
257
|
+
**/
|
|
258
|
+
interface __ValueControlTypeExtension {
|
|
257
259
|
|
|
258
|
-
type ControlOptions = Expand<MappedTypes & {
|
|
259
260
|
/**
|
|
260
|
-
*
|
|
261
|
-
|
|
261
|
+
* Задаёт подписи к значениям.
|
|
262
|
+
*
|
|
263
|
+
* Используется, когда количество значений
|
|
264
|
+
* ограничено - например, при перечислении дней недели.
|
|
265
|
+
*
|
|
266
|
+
**/
|
|
267
|
+
enum?: Record<number, WbRules.Title>
|
|
268
|
+
|
|
269
|
+
/** Задаёт минимально допустимое значение. */
|
|
270
|
+
min?: number
|
|
271
|
+
|
|
272
|
+
/** Задаёт максимально допустимое значение. */
|
|
273
|
+
max?: number
|
|
274
|
+
|
|
275
|
+
/** Определяет количество знаков после запятой. */
|
|
276
|
+
precision?: number
|
|
277
|
+
|
|
278
|
+
units?: string
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
/**
|
|
282
|
+
* Расширяет тип Range дополнительными свойствами.
|
|
283
|
+
* @since 0.1.0
|
|
284
|
+
*
|
|
285
|
+
**/
|
|
286
|
+
interface __RangeControlTypeExtension {
|
|
287
|
+
|
|
288
|
+
/** Задаёт минимально допустимое значение. */
|
|
289
|
+
min?: number
|
|
290
|
+
|
|
291
|
+
/** Задаёт максимально допустимое значение. */
|
|
292
|
+
max?: number
|
|
293
|
+
|
|
294
|
+
/** Определяет количество знаков после запятой. */
|
|
295
|
+
precision?: number
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
/**
|
|
299
|
+
* Добавляет расширенные свойства, соответственно типу контрола.
|
|
300
|
+
* @since 0.1.0
|
|
301
|
+
*
|
|
302
|
+
**/
|
|
303
|
+
type ControlTypeExtension<TControl>
|
|
304
|
+
= TControl extends 'text'
|
|
305
|
+
? __TextControlTypeExtension
|
|
306
|
+
: TControl extends 'value'
|
|
307
|
+
? __ValueControlTypeExtension
|
|
308
|
+
: TControl extends 'range'
|
|
309
|
+
? __RangeControlTypeExtension
|
|
310
|
+
: {}
|
|
311
|
+
|
|
312
|
+
type __MappedControlTypes<
|
|
313
|
+
K extends keyof TypeMappings = keyof TypeMappings
|
|
314
|
+
>
|
|
315
|
+
= K extends infer TControl
|
|
316
|
+
? BaseControlType<TControl, TypeMappings[K]> & ControlTypeExtension<TControl>
|
|
317
|
+
: never
|
|
318
|
+
|
|
319
|
+
/**
|
|
320
|
+
* Параметры контрола.
|
|
321
|
+
*
|
|
322
|
+
**/
|
|
323
|
+
type ControlOptions = Expand<__MappedControlTypes & {
|
|
324
|
+
|
|
325
|
+
/**
|
|
326
|
+
* Заголовок, публикуемый в MQTT-топике (meta/title)
|
|
327
|
+
*
|
|
328
|
+
**/
|
|
262
329
|
title?: Title
|
|
330
|
+
|
|
263
331
|
/**
|
|
264
|
-
*
|
|
332
|
+
* Когда задано истинное значение, при запуске контроллера параметр всегда устанавливается в значение по умолчанию.
|
|
265
333
|
* Иначе он будет установлен в последнее сохранённое значение.
|
|
266
|
-
|
|
334
|
+
*
|
|
335
|
+
**/
|
|
267
336
|
forceDefault?: boolean
|
|
337
|
+
|
|
268
338
|
/**
|
|
269
|
-
*
|
|
270
|
-
|
|
339
|
+
* Когда задано истинное значение, параметр становится доступным только для чтения.
|
|
340
|
+
*
|
|
341
|
+
**/
|
|
271
342
|
readonly?: boolean
|
|
272
|
-
|
|
343
|
+
|
|
273
344
|
/**
|
|
274
|
-
*
|
|
275
|
-
* не будет до тех пор, пока этому контролу не будет присвоено
|
|
276
|
-
*
|
|
277
|
-
|
|
345
|
+
* Когда задано истинное значение, при описании контрола в коде фактическое создание его в MQTT происходить
|
|
346
|
+
* не будет до тех пор, пока этому контролу не будет присвоено какое-либо значение.
|
|
347
|
+
*
|
|
348
|
+
* @example
|
|
349
|
+
* ```ts
|
|
350
|
+
* dev[deviceID][controlID] = "string"
|
|
351
|
+
* ```
|
|
352
|
+
**/
|
|
278
353
|
lazyInit?: boolean
|
|
354
|
+
|
|
279
355
|
/**
|
|
280
|
-
* Порядок следования
|
|
281
|
-
|
|
356
|
+
* Порядок следования полей.
|
|
357
|
+
*
|
|
358
|
+
**/
|
|
282
359
|
order?: number
|
|
283
|
-
/**
|
|
284
|
-
* для параметра типа range может задавать его максимально допустимое значение
|
|
285
|
-
*/
|
|
286
|
-
max?: number
|
|
287
|
-
/**
|
|
288
|
-
* для параметра типа range может задавать его минимально допустимое значение
|
|
289
|
-
*/
|
|
290
|
-
min?: number
|
|
291
360
|
}>
|
|
292
361
|
|
|
293
|
-
// /**
|
|
294
|
-
// * Конфигурация контрола.
|
|
295
|
-
// */
|
|
296
|
-
// interface ControlOptions<TControlType, TValueType> {
|
|
297
|
-
// /**
|
|
298
|
-
// * имя, публикуемое в MQTT-топике
|
|
299
|
-
// */
|
|
300
|
-
// title?: Title
|
|
301
|
-
// /**
|
|
302
|
-
// * тип, публикуемый в MQTT-топике
|
|
303
|
-
// * @see ControlType
|
|
304
|
-
// */
|
|
305
|
-
// type: TControlType
|
|
306
|
-
// /**
|
|
307
|
-
// * значение параметра по умолчанию
|
|
308
|
-
// */
|
|
309
|
-
// value?: TValueType
|
|
310
|
-
// /**
|
|
311
|
-
// * когда задано истинное значение, при запуске контроллера параметр всегда устанавливается в значение по умолчанию.
|
|
312
|
-
// * Иначе он будет установлен в последнее сохранённое значение.
|
|
313
|
-
// */
|
|
314
|
-
// forceDefault?: boolean
|
|
315
|
-
// /**
|
|
316
|
-
// * когда задано истинное значение, параметр объявляется read-only
|
|
317
|
-
// */
|
|
318
|
-
// readonly?: boolean
|
|
319
|
-
// precision?: number
|
|
320
|
-
// /**
|
|
321
|
-
// * когда задано истинное значение, при описании контрола в коде фактическое создание его в mqtt происходить
|
|
322
|
-
// * не будет до тех пор, пока этому контролу не будет присвоено какое-то значение
|
|
323
|
-
// * (например dev[deviceID][controlID] = "string")
|
|
324
|
-
// */
|
|
325
|
-
// lazyInit?: boolean
|
|
326
|
-
// /**
|
|
327
|
-
// * Порядок следования полей
|
|
328
|
-
// */
|
|
329
|
-
// order?: number
|
|
330
|
-
// /**
|
|
331
|
-
// * для параметра типа range может задавать его максимально допустимое значение
|
|
332
|
-
// */
|
|
333
|
-
// max?: number
|
|
334
|
-
// /**
|
|
335
|
-
// * для параметра типа range может задавать его минимально допустимое значение
|
|
336
|
-
// */
|
|
337
|
-
// min?: number
|
|
338
|
-
// }
|
|
339
|
-
|
|
340
362
|
/**
|
|
341
363
|
* Интерфейс устройства
|
|
342
364
|
*/
|
|
@@ -366,11 +388,12 @@ declare namespace WbRules {
|
|
|
366
388
|
}
|
|
367
389
|
|
|
368
390
|
/**
|
|
369
|
-
* Функция, вызываемая при завершении
|
|
391
|
+
* Функция, вызываемая при завершении процесса.
|
|
370
392
|
* @param exitCode код возврата процесса
|
|
371
|
-
* @param capturedOutput захваченный stdout процесса в виде строки в случае, когда задана опция captureOutput
|
|
372
|
-
* @param capturedErrorOutput захваченный stderr процесса в виде строки в случае, когда задана опция captureErrorOutput
|
|
373
|
-
|
|
393
|
+
* @param capturedOutput захваченный stdout процесса в виде строки в случае, когда задана опция {@link SpawnOptions.captureOutput}
|
|
394
|
+
* @param capturedErrorOutput захваченный stderr процесса в виде строки в случае, когда задана опция {@link SpawnOptions.captureErrorOutput}
|
|
395
|
+
*
|
|
396
|
+
**/
|
|
374
397
|
type ExitCallback = (
|
|
375
398
|
exitCode: number,
|
|
376
399
|
capturedOutput?: string,
|
|
@@ -378,23 +401,30 @@ declare namespace WbRules {
|
|
|
378
401
|
) => void
|
|
379
402
|
|
|
380
403
|
interface SpawnOptions {
|
|
404
|
+
|
|
381
405
|
/**
|
|
382
|
-
* Если true, захватить stdout процесса и передать его в виде строки в exitCallback
|
|
383
|
-
|
|
406
|
+
* Если true, захватить stdout процесса и передать его в виде строки в {@link exitCallback}
|
|
407
|
+
*
|
|
408
|
+
**/
|
|
384
409
|
captureOutput?: boolean
|
|
410
|
+
|
|
385
411
|
/**
|
|
386
|
-
* Если true, захватить stderr процесса и передать его в виде строки в exitCallback.
|
|
412
|
+
* Если true, захватить stderr процесса и передать его в виде строки в {@link exitCallback}.
|
|
387
413
|
* Если данный параметр не задан, то stderr дочернего процесса направляется в stderr процесса wb-rules
|
|
388
|
-
|
|
414
|
+
*
|
|
415
|
+
**/
|
|
389
416
|
captureErrorOutput?: boolean
|
|
417
|
+
|
|
390
418
|
/**
|
|
391
|
-
* Строка, которую следует использовать в качестве содержимого stdin
|
|
392
|
-
|
|
419
|
+
* Строка, которую следует использовать в качестве содержимого stdin процесса.
|
|
420
|
+
*
|
|
421
|
+
**/
|
|
393
422
|
input?: string
|
|
394
423
|
|
|
395
424
|
/**
|
|
396
|
-
* Функция, вызываемая при завершении
|
|
397
|
-
|
|
425
|
+
* Функция, вызываемая при завершении процесса.
|
|
426
|
+
*
|
|
427
|
+
**/
|
|
398
428
|
exitCallback?: ExitCallback
|
|
399
429
|
}
|
|
400
430
|
|
|
@@ -409,42 +439,48 @@ declare namespace WbRules {
|
|
|
409
439
|
|
|
410
440
|
declare namespace NodeJS {
|
|
411
441
|
interface Module {
|
|
412
|
-
/**
|
|
413
|
-
* Хранит данные, общие для всех экземпляров данного модуля.
|
|
414
|
-
*/
|
|
442
|
+
/** Хранит данные, общие для всех экземпляров данного модуля. */
|
|
415
443
|
static: WbRules.ModuleStatic
|
|
416
444
|
}
|
|
417
445
|
}
|
|
418
446
|
|
|
447
|
+
/**
|
|
448
|
+
* Путь к текущему сценарию wb-rules (точке входа), даже в модулях.
|
|
449
|
+
* Пример строки: `/etc/wb-rules/my-script.js`
|
|
450
|
+
*
|
|
451
|
+
**/
|
|
452
|
+
declare var __filename: string
|
|
453
|
+
|
|
454
|
+
/** Используется для вывода сообщений в журнал контроллера и отладочную консоль. */
|
|
419
455
|
declare var log: WbRules.Log
|
|
420
456
|
|
|
421
|
-
/**
|
|
422
|
-
* Объект доступа к MQTT-топикам устройства
|
|
423
|
-
*/
|
|
457
|
+
/** Объект доступа к MQTT-топикам устройства. */
|
|
424
458
|
declare var dev: WbRules.Dev
|
|
425
459
|
|
|
426
|
-
/**
|
|
427
|
-
* Объект доступа к именованным таймерам
|
|
428
|
-
*/
|
|
460
|
+
/** Объект доступа к именованным таймера. */
|
|
429
461
|
declare var timers: WbRules.TimerCollection
|
|
430
462
|
|
|
431
463
|
/**
|
|
432
464
|
* Создаёт правило обработки.
|
|
433
465
|
* @param ruleName Название правила.
|
|
434
466
|
* @param options Конфигурация правила.
|
|
435
|
-
|
|
467
|
+
*
|
|
468
|
+
**/
|
|
436
469
|
declare function defineRule(name: string, options: WbRules.RuleOptions): void
|
|
470
|
+
|
|
437
471
|
/**
|
|
438
472
|
* Создаёт анонимное правило обработки.
|
|
439
473
|
* @param options Конфигурация правила.
|
|
440
|
-
|
|
474
|
+
*
|
|
475
|
+
**/
|
|
441
476
|
declare function defineRule(options: WbRules.RuleOptions): void
|
|
442
477
|
|
|
443
478
|
/**
|
|
444
479
|
* Создаёт виртуальное устройство.
|
|
445
480
|
* @param deviceId Идентификатор устройства.
|
|
446
481
|
* @param options Конфигурация устройства.
|
|
447
|
-
|
|
482
|
+
*
|
|
483
|
+
**/
|
|
448
484
|
declare function defineVirtualDevice(
|
|
449
485
|
deviceId: string,
|
|
450
486
|
options: WbRules.DeviceOptions
|
|
@@ -453,23 +489,25 @@ declare function defineVirtualDevice(
|
|
|
453
489
|
/**
|
|
454
490
|
* Позволяет получить объект для работы с указанным устройством.
|
|
455
491
|
* @param deviceId Идентификатор устройства.
|
|
456
|
-
|
|
492
|
+
*
|
|
493
|
+
**/
|
|
457
494
|
declare function getDevice(deviceId: string): WbRules.Device | undefined
|
|
458
495
|
|
|
459
496
|
/**
|
|
460
497
|
* Позволяет получить объект для работы с указанным контролом устройства.
|
|
461
498
|
* @param controlPath Строка в формате "deviceId/controlId"
|
|
462
|
-
|
|
499
|
+
*
|
|
500
|
+
**/
|
|
463
501
|
declare function getControl(controlPath: string): WbRules.Control | undefined
|
|
464
502
|
|
|
465
503
|
/**
|
|
466
504
|
* Запускает периодический таймер с указанным интервалом.
|
|
505
|
+
* К таймеру можно обратиться через `timers.<name>` внутри when при работе с {@link defineRule}.
|
|
467
506
|
*
|
|
468
|
-
*
|
|
469
|
-
*
|
|
470
|
-
* @param name Идентификатор таймера в глобальном наборе `timers`.
|
|
507
|
+
* @param name Идентификатор таймера в глобальном наборе {@link timers}.
|
|
471
508
|
* @param delay Интервал срабатывания, в миллисекундах
|
|
472
|
-
|
|
509
|
+
*
|
|
510
|
+
**/
|
|
473
511
|
declare function startTicker(name: string, interval: number): void
|
|
474
512
|
|
|
475
513
|
/**
|
|
@@ -478,7 +516,7 @@ declare function startTicker(name: string, interval: number): void
|
|
|
478
516
|
*
|
|
479
517
|
* см. [руководство по однократным таймерам](https://github.com/wirenboard/wb-rules?tab=readme-ov-file#однократные)
|
|
480
518
|
*
|
|
481
|
-
* @param name Идентификатор таймера в глобальном наборе
|
|
519
|
+
* @param name Идентификатор таймера в глобальном наборе {@link timers}.
|
|
482
520
|
* @param delay
|
|
483
521
|
*
|
|
484
522
|
* Используется при работе с определениями правил:
|
|
@@ -502,16 +540,16 @@ declare function startTicker(name: string, interval: number): void
|
|
|
502
540
|
* })
|
|
503
541
|
*
|
|
504
542
|
* ```
|
|
505
|
-
*
|
|
506
543
|
*/
|
|
507
544
|
declare function startTimer(name: string, delay: number): void
|
|
508
545
|
|
|
509
546
|
/**
|
|
510
|
-
* Запуск внешних
|
|
547
|
+
* Запуск внешних процессов.
|
|
511
548
|
* @param cmd
|
|
512
549
|
* @param args
|
|
513
550
|
* @param options
|
|
514
|
-
|
|
551
|
+
*
|
|
552
|
+
**/
|
|
515
553
|
declare function spawn(
|
|
516
554
|
cmd: string,
|
|
517
555
|
args: string[],
|
|
@@ -540,17 +578,25 @@ declare function readConfig(
|
|
|
540
578
|
*/
|
|
541
579
|
declare function defineAlias(alias: string, controlPath: string): void
|
|
542
580
|
|
|
543
|
-
/**
|
|
544
|
-
* Следует учесть, что функция format и xformat съедают одинарные квадратные скобки!
|
|
545
|
-
* Поэтому, если необходимо их вывести, то нужно дублировать.
|
|
546
|
-
*/
|
|
547
581
|
interface String {
|
|
582
|
+
/**
|
|
583
|
+
* Осуществляет последовательную замену подстрок `{}` в указанной строке
|
|
584
|
+
* на строковые представления своих аргументов и возвращает результирующую строку.
|
|
585
|
+
* @param args
|
|
586
|
+
*/
|
|
548
587
|
format(...args: (string | number | boolean)[]): string
|
|
588
|
+
|
|
589
|
+
/**
|
|
590
|
+
* Осуществляет последовательную замену подстрок `{}` в указанной строке
|
|
591
|
+
* на строковые представления своих аргументов и возвращает результирующую строку.
|
|
592
|
+
*
|
|
593
|
+
* @warning В отличие от {@link format}, выполняет код внутри строки! Не использовать для обработки значений, вводимых пользователем.
|
|
594
|
+
*/
|
|
549
595
|
xformat(...args: (string | number | boolean)[]): string
|
|
550
596
|
}
|
|
551
597
|
|
|
552
598
|
/**
|
|
553
|
-
*
|
|
599
|
+
* Подписывает на прослушивание топика MQTT (допустимы символы # и +).
|
|
554
600
|
* @param topic
|
|
555
601
|
* @param callback
|
|
556
602
|
*/
|
|
@@ -560,17 +606,18 @@ declare function trackMqtt(
|
|
|
560
606
|
): void
|
|
561
607
|
|
|
562
608
|
/**
|
|
563
|
-
* Публикация сообщений в MQTT
|
|
564
|
-
*
|
|
609
|
+
* Публикация сообщений в MQTT.
|
|
610
|
+
*
|
|
611
|
+
* Внимание! Не используйте `publish()` для изменения значения параметров устройств.
|
|
565
612
|
* @param topic
|
|
566
613
|
* @param payload
|
|
567
|
-
* @param
|
|
614
|
+
* @param qos
|
|
568
615
|
* @param retain
|
|
569
616
|
*/
|
|
570
617
|
declare function publish(
|
|
571
618
|
topic: string,
|
|
572
619
|
value: WbRules.MqttValue,
|
|
573
|
-
|
|
620
|
+
qos?: number,
|
|
574
621
|
retain?: boolean
|
|
575
622
|
): void
|
|
576
623
|
|