REST API v1.0
Спецификация управленческого протокола REST API
Внимание! Не подключайте контроллер в публичную сеть Интернет! Вместо этого используйте локальную сеть, или выделенную подсеть для безопасного администрирования контроллера и прокси сервера (Nginx, Apache как обратный прокси).
Формат данных ответа
Каждый ответ от контроллера формируется в виде JSON строки и имеет вид
{
"success": true,
"data": {...}
}
Свойство data имеет внутри состояние запрашиваемого функционала.
Список методов
Получение списка возможностей котроллера
GET /api/systeminfo
Ответ
{
"success": true,
"data": {
"hostname": "umni-838a74",
"capabilities": [
"ethernet",
"sdcard",
"webserver",
"mqtt",
"opentherm",
"rf433",
"onewire",
"alarm",
"ntc1",
"ntc2",
"ai1",
"ai2",
"opencollectors",
"oc1",
"oc2",
"buzzer",
"inputs",
"inp1",
"inp2",
"inp3",
"inp4",
"inp5",
"inp6",
"outputs",
"out1",
"out2",
"out3",
"out4",
"out5",
"out6",
"out7",
"out8"
],
"networks": [
{
"name": "ethernet",
"ip": "192.168.88.122",
"mask": "255.255.252.0",
"gw": "192.168.88.9",
"active": true
}
],
"heap": {
"total": 380928,
"free": 190464,
"min": 166876
}
}
}
Пояснения
| hostname | имя устройства | строка |
| capabilities | список доступных возможностей контроллера | массив строк |
| networks | список сетевых подключений | объект |
| heap | список общей и доступной оперативной памяти | объект |
Возможности контроллера (capabilities)
| ethernet | устройство использует проводное подключение |
| wifi | устройство использует wifi |
| sdcard | устройство использует microSD карту памяти |
| webserver | устройство использует веб-сервер |
| mqtt | устройство использует клиента mqtt |
| opentherm | устройство использует opentherm (для газовых котлов) |
| rf433 | устройство использует беспроводной канал 433 мГц |
| onewire | устройство использует onewire |
| alarm | у устройства есть вывод по датчики наличия 12в |
| ntc1 | у устройства есть NTC термистор №1 (резистор 10К) |
| ntc2 | у устройства есть NTC термистор №2 (резистор 10К) |
| ai1 | у устройства имеется аналоговый вход №1 |
| ai2 | у устройства имеется аналоговый вход №2 |
| opencollectors | устройство имеет выходы "открытый коллектор" |
| oc1 | устройство имеет выход открытого коллектора №1 |
| oc2 | устройство имеет выход открытого коллектора №2 |
| buzzer | устройство имеет на своем борту бипер (buzzer) |
| inputs | устройство имеет цифровые входы |
| inp1 | устройство имеет цифровой вход №1 |
| inp2 | устройство имеет цифровой вход №2 |
| inp3 | устройство имеет цифровой вход №3 |
| inp4 | устройство имеет цифровой вход №4 |
| inp5 | устройство имеет цифровой вход №5 |
| inp6 | устройство имеет цифровой вход №6 |
| outputs | устройство имеет цифровые выходы (релейные выходы) |
| out1 | устройство имеет выход №1 |
| out2 | устройство имеет выход №2 |
| out3 | устройство имеет выход №3 |
| out4 | устройство имеет выход №4 |
| out5 | устройство имеет выход №5 |
| out6 | устройство имеет выход №6 |
| out7 | устройство имеет выход №7 |
| out8 | устройство имеет выход №8 |
Получение конфигурации
Возвращает JSON объект конфигурации для указанной секции
GET /api/conf?section={string}
Список ответов конфигурационных секций
adc
{
"success": true,
"data": {
"channels": [
{
"id": 0,
"label": "ADC Input 1",
"active": true
},
{
"id": 1,
"label": "ADC Input 2",
"active": true
}
]
}
}
ntc
{
"success": true,
"data": {
"channels": [
{
"id": 0,
"label": "NTC Sensor 1",
"active": true
},
{
"id": 1,
"label": "NTC Sensor 2",
"active": true
}
]
}
}
dio
{
"success": true,
"data": {
"inputs": [
{
"config_index": 1,
"port_index": 1,
"label": "Input 1 (port 1)",
"active": true
},
...
],
"outputs": [
{
"config_index": 1,
"port_index": 0,
"label": "Output 1 (port 0)",
"active": true,
"default_state": 0
},
...
]
}
}
onewire
{
"success": true,
"data": {
"sensors": [
{
"sn": "F7062454B2EE5528",
"label": "Sensor F7062454B2EE5528",
"active": true
}
]
}
}
rf433
{
"success": true,
"data": {
"devices": []
}
}
Сохранение конфигурации