Ниже представлена информация о ссылках, которые можно использовать для интерфейса и для работы с системой посредством HTTP-запросов.
/ -- домашняя страница
/admin.php -- панель управления
/menu.html -- меню управления
/menu/<ID>.html -- отдельная ветка (элемент) меню управления
/pages.html -- домашние страницы
/page/<ID>.html -- отдельная домашняя страница
/popup/<NAME>.html -- страница отдельного модуля <NAME>
/popup/scenes.html -- список сцен
/popup/scenes/<ID>.html -- отдельная сцена
/module/<NAME>.html -- страница отдельного модуля <NAME>
/apps.html -- список приложений
/apps/<NAME>.html -- страница отдельного приложения <NAME>
/ajax/<NAME>.html -- ajax-запрос к модулю <NAME> (можно передавать параметры, обработка реализуется самим модулем)
/objects/ -- работа с объектами, сценариями и т.п.
/objects/?op=get&object=<OBJECT>&p=<PROPERTY> -- получить значение свойства объекта
/objects/?op=set&object=<OBJECT>&p=<PROPERTY>&v=<VALUE> -- установить значение свойства объекта
/objects/?op=m&object=<OBJECT>&m=<METHOD> -- вызвать метод объекта
/objects/?op=m&object=<OBJECT>&m=<METHOD>¶m1=value1¶m2=value2 -- вызвать метод объекта с параметрами
/objects/?script=<SCRIPT> -- вызвать сценарий
/objects/?script=<SCRIPT>¶m1=value1¶m2=value2 -- вызвать сценарий с параметрами
/command.php -- история команд
/command.php?qry=<КОМАНДА> -- отправка текстовой команды в систему
/command.php?qry=<КОМАНДА>&terminal=<TERMINAL> -- отправка текстовой команды в систему с указанием терминала
API
GET
/api/data/<OBJECT> -- список всех свойств и значений объекта <OBJECT>
/api/data/<OBJECT>.<PROPERTY> -- значение свойства <OBJECT>.<PROPERTY>
/api/method/<OBJECT>.<METHOD> -- вызов метода <OBJECT>.<METHOD>
/api/method/<OBJECT>.<METHOD>?param1=value1¶m2=value2 -- вызов метода <OBJECT>.<METHOD> с параметрами
/api/script/<SCRIPT> -- вызов сценария <SCRIPT>
/api/script/<SCRIPT>?param1=value1¶m2=value2 -- вызов сценария <SCRIPT> с параметрами
/api/events/<PATH/TO/EVENT>?param1=value1¶m2=value2 -- сохранения события с параметрами
/api/devices -- список (простых) устройств
/api/rooms -- список комнат
/api/rooms/<ID> -- детали комнаты с кодом <ID>
/api/history/<OBJECT>.<PROPERTY>/<PERIOD> -- история значений свойства за указанный период
<PERIOD> может принимать значения: N (число, кол-во часов), day, week, month, year, Ndays, Nweeks, Nmonths, Nyears
например, ссылка /api/history/switch1.status/2days вернёт все значения switch1.status за два дня
/api/history/<OBJECT>.<PROPERTY>/<PERIOD>/max -- максимальное значение за период
/api/history/<OBJECT>.<PROPERTY>/<PERIOD>/min -- минимальное значение за период
/api/history/<OBJECT>.<PROPERTY>/<PERIOD>/avg -- среднее значение за период
/api/history/<OBJECT>.<PROPERTY>/<PERIOD>/sum -- сумма значений за период
/api/history/<OBJECT>.<PROPERTY>/<PERIOD>/count -- количество значений за период
POST
/api/data/ -- получение значений нескольких свойств (по полному названию типа <OBJECT>.<PROPERTY> или только по названию объекта <OBJECT>)
Request:
1 |
{"properties": ["ThisComputer.timeNow","Relay10"]} |
Response:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
{ "data": { "ThisComputer.timeNow": "10:56", "Relay10.isActivity": "0", "Relay10.groupEco": "0", "Relay10.groupSunrise": "0", "Relay10.loadType": "curtains", "Relay10.groupEcoOn": "0", "Relay10.icon": false, "Relay10.groupSunset": false, "Relay10.status": "0", "Relay10.alive": "1", "Relay10.linkedRoom": "Bedroom", "Relay10.updated": "1555607461", "Relay10.updatedText": "20:11", "Relay10.aliveTimeout": "", "Relay10.StatusLowBattery": false } } |
/api/data/<OBJECT>.<PROPERTY> -- установка значения свойства <OBJECT>.<PROPERTY>
/api/rooms/setOrder -- изменение очерёдности комнат
Request
1 2 |
{"id": "7","priority": 0}, {"id": "4","priority": 1} |
Response
1 |
{result: true} |
result - true/false
/api/room -- добавление/редактирование комнаты
Request
1 |
{"id": "2""title": "Название комнаты"} |
(если в request задан id, то происходит)
Response
1 |
{"id": "2","title": "Название комнаты","object": "Room2","priority": 1} |
DELETE
/api/room/{id} -- удаление комнаты
One thought on - HTTP-ссылки для работы с MajorDoMo
Не понял про "/api/rooms/setOrder -- изменение очерёдности комнат". Это в каких случаях полезно?