Для доступа к каналам системы из сторонних систем реализовано 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 - ошибка в формате запроса