Разработчикам / REST API для BOOCO Meteor (v 1.x)
REST API для BOOCO Meteor (v 1.x)
◼ Написание драйверов устройств
В большинстве случаев для добавления новых драйверов не нужно писать скрипты. Достаточно создать конфигурационный yml-файл.
При необходимости можно создавать собственные драйверы с использованием внутренних или внешних скриптов. При добавлении устройств со скриптовым драйвером BOOCO будет запускать соответствующий скрипт, передавая ему параметры устройства.
Скрипт должен:
- самостоятельно получать и обрабатывать информацию от устройства;
- устанавливать соответствующие обратные связи;
- подписаться на вызовы команд и исполнять их, отправляя необходимые данные на устройство.
Для скриптовых драйверов (как для любых конфигурируемых драйверов) необходимо создать конфигурационный файл. Пример конфигурационного файла:
MyScriptDevice:
driver-type: script # тип драйвера
script: my-script-device.js # имя скрипта-обработчика
# Настраиваемые параметры — задаются произвольно
ping-timeout: 10sec
host:
port: 5000
# Описание обратных связей
feedbacks:
- status: [disconnected, connected]
value: disconnected
- power: [off, on]
value: off
- volume: number
value: 0
# Описание команд
channels:
- togglePower: [off, on]
- setVolume: number
В данном примере ping-timeout
, host
и port
— параметры устройства, которые можно устанавливать и изменять при добавлении конкретных устройств.
Для установки обратной связи в скрипте необходимо вызвать метод API setFeedback
. Например: /api/v1/equipment/setFeedback/device1/volume/99 — установить значение обратной связи volume
в значение 99
для устройства device1
.
Для обработки команд нужно подписаться на equipment/channels/subscribe. При каждом вызове той или иной команды будет отправляться уведомление в скрипт, который должен будет обработать команду и отправить данные на устройство.