Skip to content

Plugin API

nimargolis edited this page Mar 7, 2018 · 9 revisions

Сообщения, инициированные плагином

P=>S - Запрос от плагина к серверу

P<=S - Ответ от сервера плагину

1. type:"get"

Запросы от плагина к серверу на получение настроек

1.1 Получение параметров

P=>S { type: "get", tablename: "params"}

P<=S { type: "get", params:{host:"localhost",.., debug:"on" }, response:1 }

В объект params включаются все параметры из массива params манифеста плагина.

Формат <имя параметра>:<значение>

Добавляется параметр "debug", если включен режим отладки

1.2 Получение конфигурации каналов

P=>S { type: "get", tablename: "config"}

P<=S { type: "get", config:[{"id":"DI1", <"desc":"", ..>}], response:1 }

Массив "config" содержит каналы. Свойства каналов зависят от структуры каналов, описанных в манифесте. Обязательным является только "id" канала.

1.3 Получение дополнительных (расширенных) данных

 P=>S { type: "get", tablename: "extra"}

 P<=S { type: "get", extra:[{...}], response:1 }

Массив "extra" содержит расширенные данные (например, сообщения от контроллера для MegaD). Структура данных также описывается в манифесте.

2. type:"channels"

Массив каналов от плагина

 P=>S { type: "channels", data: [{"id":"AI1", <"desc":"AI1", "adr":7878, ...>]}

Каждый элемент массива содержит id канала. Остальные свойства каналов зависят от структуры каналов, описанных в манифесте.
Используется, если плагин сам определяет каналы.

3. type:"data"

Оперативные данные от плагина

 P=>S { type: "data", data: [{"id":"AI1", "value":23.78, <"ext":{volt:220, power:42 }>]}`

Каждый элемент массива содержит id канала, основное значение и/или набор дополнительных свойств. Дополнительные свойства для каналов описываются в манифесте

4. type:"log", type:"debug"

Сообщения от плагина уровня log или debug

 P=>S { type: "log", txt:"Это сообщение от плагина возможно запишется в лог"}

5. type:"sub"

Подписка плагина на события

 P=>S { type: "sub", id:"xx", event:"devices", filter:{..} }}

 P<=S { type: "sub", id:"xx", response:1 }

Используется сервисными плагинами.

Сообщения, инициированные сервером

1. type:"act"

Команды управления устройствами

 S=>P { type: "act", data:[{id:"DO1", command:"on"|"off"|"set" <, value:1>}]}

2. type:"debug"

Включение/ выключение режима debug

 S=>P { type: "debug", mode:"on"}