HTTP-команды Miniserver (Web Services): управление и опрос по URL
Любой вход Miniserver можно нажать, а любое значение — прочитать обычным HTTP-запросом. Это самый простой способ связать Loxone с чем угодно: другим контроллером, скриптом, сервисом автоматизации.
Синтаксис
http://пользователь:пароль@IP-Miniserver/dev/sps/io/<имя>/<значение>
- Имя — любой вход или выход Miniserver, настоящий или виртуальный. Для внешних команд обычно создают виртуальный вход в Config и вызывают его по имени.
- Значение не указано — вернётся текущее значение.
- Выходы — только для чтения. Опрос работает для входов и выходов, но не для функциональных блоков.
- Успешный ответ — код 200, тело в XML.
- Текущий Miniserver работает по HTTPS, Gen 1 — только HTTP.
Значения
| Тип входа | Что можно передать |
|---|---|
| Цифровой | On / Off, 1 / 0, Pulse |
| Виртуальный с двумя выходами (вверх/вниз) | парами: PulseUp / PulseDown, PulseOpen / PulseClose, UpOn / UpOff, DownOn / DownOff, OpenOn / OpenOff |
| Аналоговый | число с точкой: 21.5, -5.2 |
| Текстовый | строка в UTF-8 |
Пример — нажать кнопку света в гостиной:
http://miniserver/dev/sps/io/PushbuttonLivingRoomLight/On
Опрос состояния
| Команда | Что возвращает |
|---|---|
/dev/sps/io/<имя>/state |
Значение на входе |
/dev/sps/io/<имя>/astate |
Значение на выходах (одно или ?, если разные) |
/dev/sps/io/<имя>/all |
Число выходов и их значения |
/data/status |
Состояние системы в XML |
/dev/sps/enablestatusupdate |
Включить отправку изменений по WebSocket |
Служебные команды
| Команда | Что делает |
|---|---|
/dev/sps/state |
Состояние программы: 5 — работает, 7 — ошибка, 8 — обновление |
/dev/sps/restart |
Перезапустить программу |
/dev/sys/reboot |
Перезагрузить Miniserver |
/dev/sys/sdtest |
Тест SD-карты и её заполнение |
/dev/sys/cpu, /dev/sys/heap |
Загрузка процессора, память |
/dev/sys/date, /dev/sys/time |
Дата и время; /dev/sys/ntp — синхронизировать |
/dev/cfg/ip, /dev/cfg/mac, /dev/cfg/version |
IP, MAC, версия прошивки |
/dev/fsget/log/def.log |
Лог Miniserver |
/dev/sps/enumdev |
Список Miniserver и расширений |
/stats |
Статистика |
Расширения и устройства
Нужен пользователь с полным доступом. Вместо <serial> — серийный номер без двоеточий или уникальное имя устройства из Config.
| Команда | Что делает |
|---|---|
/dev/sys/wsextension/<serial>/Reboot |
Перезагрузить расширение |
/dev/sys/wsdevice/<serial>/Reboot |
Перезагрузить устройство Tree или Air |
Miniserver может и сам отправить HTTP-запрос другому устройству в сети: /jdev/sys/sendwebservice?json={"address":"192.168.1.70","webservice":"/…"}. Для постоянной интеграции удобнее виртуальные выходы HTTP в Config.
Встраивание во фрейм
По умолчанию Miniserver запрещает показывать себя во <iframe>. Разрешить: /dev/sys/allowhttpiframe/1. Это ослабляет защиту — включайте, только если действительно нужно.
Безопасность
- По HTTP логин и пароль из URL идут открытым текстом. Лучше не вписывать их в адрес — браузер сам спросит.
- Для интеграций заведите отдельного пользователя с минимальными правами, а не admin.
- Команды перезагрузки, выхода всех пользователей, обновления и удаления файлов могут остановить систему — закройте к ним доступ.