Интеграция в сторонние системы
HTTP API

Для доступа к каналам системы из сторонних систем реализовано API на базе протокола HTTP.

IP адрес устройства можно посмотреть или в приложении - вкладка Информация, или в роутере.

Порт: 8080

Поддержка данного API присутствует не во всех устройствах и прошивках.
В названии прошивки присутствует аббревиатура HTTP.

При разборе ответа паттерн должен включать следующие спец символы:
/r - окончание строки - перевод каретки
/n - перенос строки

На примере HomeBridge шаблон будет выглядеть следующим образом:

"statusPattern": "1\r\n1\r\n"

где первая 1 - номер канала, вторая - его состояние

Функции:

1. Состояние канала.

Для получения информации о значении канала существует 2 типа команды.

Чтение целочисленного значения канала


Запрос: GET <ip адрес>:8080/?command=1&channel=<номер канала>


<номер канала>
<значение канала>

Значение канала передается в целочисленном виде. Температура 25.1 -> 251

Пример:
Запрос состояния 0 канала

http://192.168.1.101:8080/?command=1&channel=0


Чтение действительного значения состояния канала в виде числа с точкой или текстовой строки

(версия прошивки устройства не менее 0.9.6.8 )


Запрос: GET <ip адрес>:8080/?command=1&state=<номер состояния>


Ответ:

<номер состояния>
<значение состояния>

Значение состояния передается в виде числа с точкой или текстовой строки.

Пример:
Запрос состояния температуры 1 - 10000

http://192.168.1.101:8080/?command=1&state=10000


Список доступных кодов состояний


2. Управление каналом.


Запрос: GET <ip адрес>:8080/?command=2&channel=<номер канала>&value=<значение канала>


Ответ:

<номер канала>
<значение канала>

Пример:

Изменение значения состояния 0 канала

http://192.168.1.101:8080/?command=2&channel=0&value=1


3. Включение реле на время(таймер обратного отсчета до 37676 секунд).


Запрос: GET <ip адрес>:8080/?command=2&channel=<номер канала>&value=<значение канала>&delay=<время состояния включено>


Ответ:

<номер канала>
<значение канала>


Отключение таймера обратного отсчета осуществляется по истечении времени или изменении состояния канала.

Пример:

Включение реле на 25 секунд

http://192.168.1.101:8080/?command=2&channel=0&value=1&delay=25

В случае ошибки:

Ответ:

0
<код ошибки>


Коды ошибок:

1 - неверный код команды
2 - неверный id канала/состояния
3 - неверное или отсутствует значение канала/состояния
255 - ошибка в формате запроса