Тестировался на терморегуляторах серии ax.
Управление возможно в 2-х режимах - через облако или через локальную сеть.
Режим управления через облако
Поле API_KEY необходимо оставить пустым.
После сохранения произойдет обращение к личному кабинету и все доступные терморегуляторы будут добавлены в список. В поле API_KEY будет автоматически добавлен Token для подключения. Если вместо токена указано "Error", значит подключение произошло с ошибкой. Необходимо перепроверить логин и пароль, и очистить поле API_KEY. Новый токен будет получен только, если поле API_KEY пустое.
Можно указать желаемый период опроса в секундах.
Внимание: ввиду различий в API между облачным режимом и локальным, набор доступных параметров отличается.
Необходимо иметь ввиду, что при смене режима управления (облачного или локального), специфические параметры из другого режима удаляться не будут. Они останутся в списке, но работать не будут. Если мешают - можно удалить вручную.
Доступны следующие параметры:
- (R/W) Режим (0 - по расписанию, 1 - ручной)
- (R/W) Защита от детей (0 - вкл, 1 - выкл.)
- (R/W) Выключение (0 - вкл, 1 - выкл.)
- (R/W) Установленная температура °С
- (R/O) Текущая температура °С
- (R/O) Установленная температура достигнута
- (R/O) MAX лимит температуры °С
- (R/O) MIN лимит температуры °С
- (R/O) Статус перегрева
- (R/O) Онлайн
- (R/O) Статус подключения
- (R/O) Минут offline
- (R/O) Время последнего подключения
Если версия прошивки ваших термостатов ниже, то предварительно необходимо ее обновить. Это можно сделать через приложение Terneo или через сайт https://my.terneo.ru.
Так как по локальной сети шифрования обмена не осуществляется, то в версии 2.3 возможность управления по локальной сети по умолчанию заблокирована в целях безопасности. Для разблокировки необходимо:
- на 2-х кнопочных устройствах удерживать кнопку меню до надписи bLc, отпустить и выбрать oFF
- на 3-х и более кнопочных кратковремено нажимать на среднюю кнопку до надписи bLc, после этого кнопками выбора изменить на oFF
Найденные термостаты будут добавлены в список, а параметры существующих обновлены.
Внимание: ввиду различий в API между облачным режимом и локальным, набор доступных параметров отличается.
Необходимо иметь ввиду, что при смене режима управления (облачного или локального), специфические параметры из другого режима удаляться не будут. Они останутся в списке, но работать не будут. Если мешают - можно удалить вручную.
Доступны следующие параметры:
- (R/W) Режим (0 - по расписанию, 1 - ручной)
- (R/W) Выключение (0 - вкл, 1 - выкл.)
- (R/W) Защита от детей (0 - вкл, 1 - выкл.)
- (R/W) MAX лимит температуры °С
- (R/W) MIN лимит температуры °С
- (R/W) Режим контроля
- (R/W) Гистерезис °С
- (R/W) Уровень яркости экрана (0-9)
- (R/W) Текушая уставка в ручном режиме °С
- (R/O) Текушая уставка °С
- (R/O) Текущая температура пола °С
- (R/O) Установленная температура достигнута
- (R/O) Состояние нагрузки
- (R/O) Статус перегрева
- (R/O) Сила сигнала Wi-Fi в dBm
- (R/O) Тип управления
- (R/O) Тип блокировки управления
- (R/O) Причина последней перезагрузки
- (R/O) Обрыв термодатчика пола
- (R/O) Короткое замыкание термодатчика пола
Известные проблемы:
После нажатия кнопки "Сканировать" термостаты в списке не появились
Необходимо убедиться, что порт UDP 23500 не заблокирован межсетевым экраном. Термостаты несколько раз в минуту направляют широковещательные UDP пакеты на этот порт
Термостаты в списке есть, но данные не получают/не принимают
Необходимо убедиться, что версия прошивки термостатов не ниже 2.3. После обновления желательно перезагрузить термостат (через физическое отключение питания). У меня на практике было, что 2 термостата обновились нормально (поступило сообщение в приложении terneo об обновлении), а третий вроде тоже обновился (в приложении у него была указана тоже версия 2.3), но работать не хотел. И только после жесткой перезагрузки пришло подтверждение, что он обновился и все заработало.
Проверить, доступно ли локальное API можно перейдя по адресу http://IP_вашего_термостата/api.html и в поле ввода ввести {"cmd":1}
Если в ответ придут значения параметров, то все ОК.
Если с с другого компьютера все ОК, а на сервере умного дома API не работает, необходимо проверить, не блокирует ли межсетевой экран.
Исходный код доступен по адресу https://github.com/Krinopotam/majordomo ... hermostats.