Данное API предназначено для передачи с вебсайта проекта (и приложений использующих REST API) команд управления нагрузкой, а также для удаленного конфигурирования приборов мониторинга.
Передача команд происходит сразу после получения от прибора очередного пакета показаний датчиков в уже открытый сокет, что позволяет управлять приборами с "серыми" IP находящимися за роутерами (т.е. за NAT).
Для протоколов TCP, GET, POST вместо типичного "OK" и при отсутствии ошибок, сервер проекта в ответ на показания передает команды, начиная с символа "#" и разделяя команды через ";" без пробелов в хронологическом порядке во избежание переполнения буфера приема на слабых приборах до 5 за 1 сеанс.
Примеры TCP, GET, POST: gpio12=0 или две команды: gpio12=0;gpio14=1
Пример для JSON: {"devices":[{"mac":"DEVICE_MAC","commands":["gpio12=0","gpio14=1"]}]}
Возможность управления устройствами по протоколу MQTT доступна только для партнеров проекта и коммерческих клиентов!
Для протокола MQTT отправка команды происходит сиюминутно в связи с тем, что прибор всегда поддерживает активным соединение с сервером (брокером MQTT) при помощи PUBLISH с QoS=1, т.е. с ожиданием подтверждения приема команды - PUBACK.
При отправке команд дописывается префикс Username/Device/ (логин владельца и название прибора).
Пример для MQTT: output12=1 или system/restart=1 (для прошивок wifi-iot.com)
Команды на исполнение могут быть помещены в очередь его владельцем в Датчики \ Настройка датчиков \ отправить команду на прибор или же по клику на графическом переключателе для датчиков "вкл / выкл" и активном "Режиме управления" прибором.
Если прибор в течение часа после отправки команды так и не вышло на связь с сервером, то данная команда удаляется из очереди на исполнение.
На момент публикации статьи API управления приборами поддерживается на сайте проекта и в мобильных приложениях для Андроид 2019 и WinPhone/WinMobile.
Полный список поддерживаемых команд следует искать в инструкции к прибору или узнать у его разработчика.