GET /api/state/get/?device&network&relays&leds&protection&recorder&channels&log&ntp&httpd&modbus&wireguard
Отримує одну або кілька груп верхнього рівня з поточним станом роботи.
Авторизація: Bearer.
Параметри запиту
Section titled “Параметри запиту”Кожен ключ запиту є прапорцем, що запитує відповідну групу. Допустимі ключі:
device, network, relays, leds, protection, recorder, channels, log, ntp, httpd, modbus, wireguard
- Потрібен принаймні один ключ.
- Невідомий ключ →
404 ERROR_NOT_FOUND. - Відсутні ключі →
400 ERROR_API_PARSING. - Перевищено обсяг доступної пам’яті →
507 ERROR_NO_MEMORY.
Відповідь 200
Section titled “Відповідь 200”{ "device": { "uptimeSec": 123456, "dateTimeUtc": "2026-04-16T12:21:36Z", "localOffsetMin": 240, "dstActive": true, "deviceNeedReboot": false, "isDiagnosticMode": false, "settingsValid": true, "calibrationValid": true, "rebootAfterSec": null }, "network": { "macAddress": "00:11:22:33:44:55", "isUnique": true, "ipAddress": "192.168.1.50", "subnetMask": "255.255.255.0", "gateway": "192.168.1.1", "dns": ["8.8.8.8", "8.8.4.4"], "dhcp": { "state": "bound", "serverAddress": "192.168.1.1", "leaseSeconds": 86400, "remainingSeconds": 43120 } }, "relays": { "trip": false, "alarm": false, "fan": false, "fault": false, "inTestMode": false }, "leds": { "inTestMode": false }, "protection": { "trip": false, "alarm": false, "fan": false, "fault": false }, "recorder": { "enabled": true, "available": true, "total": 1532, "periodSec": 600, "lastError": 0, "errorCount": 0 }, "channels": [ { "enabled": true, "temperature": "72.4", "minTemperature": "68.1", "maxTemperature": "74.9", "trend": "up", "circuitState": "normal", "trip": false, "alarm": false, "fan": false } ], "log": { "available": true, "total": 250, "lastTimestampUtc": "2026-04-16T12:00:00Z", "pending": 0 }, "ntp": { "enabled": true, "available": true, "lastSyncUtc": "2026-04-16T12:00:05Z", "syncCount": 15, "failCount": 0 }, "httpd": { "enabled": true, "available": true, "activeConnections": 2, "maxConnections": 5, "activeSessions": 1, "maxSessions": 5, "port": 80, "connections": [ { "ip": "192.168.1.10", "port": 50122 } ] }, "modbus": { "enabled": true, "available": true, "activeConnections": 1, "maxConnections": 5, "blockedIps": 0, "port": 502, "rxPackets": 120, "txPackets": 118, "rxErrors": 2, "txErrors": 0, "exceptionResp": 1, "rxBytes": 2048, "txBytes": 4096, "rxPerSec": 3, "txPerSec": 3, "connections": [ { "ip": "192.168.1.10", "port": 50123, "uptimeSec": 120, "unlocked": true, "rxPackets": 120, "txPackets": 118, "rxErrors": 2, "txErrors": 0, "exceptionResp": 1, "rxBytes": 2048, "txBytes": 4096, "rxPerSec": 3, "txPerSec": 3 } ] }, "wireguard": { "enabled": true, "mode": "auto", "status": { "link": "up", "config": "ready", "lastPeerUpUtc": "2026-05-21T10:00:00Z", "lastHandshakeAgeSec": 12, "lastActivityAgeSec": 2, "rxPackets": 1234, "txPackets": 567 }, "endpoint": { "hostname": "wg.example.net", "address": "1.2.3.4", "port": 51820, "keepaliveSec": 25, "peerPublicKey": "base64-public-key", "allowedIps": ["0.0.0.0/0", "10.20.0.0/16"] }, "interface": { "configured": "10.0.0.2/24", "runtime": "10.0.0.2/24", "devicePublicKey": "base64-device-public-key" } }}Повертаються лише явно запитані групи.
Група device
Section titled “Група device”| Поле | Тип | Опис |
|---|---|---|
uptimeSec | число | Час роботи від моменту ввімкнення (секунди) |
dateTimeUtc | рядок | Поточний час пристрою у форматі ISO 8601 UTC |
localOffsetMin | число | Фактичне зміщення місцевого часу у хвилинах, з урахуванням DST |
dstActive | логічний | Чи активний DST |
deviceNeedReboot | логічний | Пристрій потребує перезавантаження |
isDiagnosticMode | логічний | Режим діагностики активовано під час запуску натисканням кнопок «Вгору» + «Вниз» |
settingsValid | логічний | Збережені налаштування коректні |
calibrationValid | логічний | Збережене заводське калібрування коректне |
rebootAfterSec | число|null | Секунд до запланованого перезавантаження (null = не заплановано) |
Група network
Section titled “Група network”| Поле | Тип | Опис |
|---|---|---|
macAddress | рядок | MAC-адреса |
isUnique | логічний | true = унікальна EUI-48, false = резервна |
ipAddress | рядок | IP-адреса |
subnetMask | рядок | Маска підмережі |
gateway | рядок | Шлюз |
dns | масив рядків | DNS-сервери |
dhcp.state | рядок | Стан DHCP: off, configuring, searching, requesting, bound, renewing, rebinding, retrying |
dhcp.serverAddress | рядок | IPv4-адреса DHCP-сервера |
dhcp.leaseSeconds | число | Повна тривалість оренди у секундах |
dhcp.remainingSeconds | число | Залишок тривалості оренди у секундах |
Група relays
Section titled “Група relays”| Поле | Тип | Опис |
|---|---|---|
trip | логічний | Стан реле «Перегрів» |
alarm | логічний | Стан реле «Тривога» |
fan | логічний | Стан реле «Вентиляція» |
fault | логічний | Стан реле «Відмова» |
inTestMode | логічний | Активна службова перевірка реле |
Група leds
Section titled “Група leds”| Поле | Тип | Опис |
|---|---|---|
inTestMode | логічний | Активна службова перевірка світлодіодів |
Група protection
Section titled “Група protection”| Поле | Тип | Опис |
|---|---|---|
trip | логічний | Логічний прапорець захисту «Перегрів» |
alarm | логічний | Логічний прапорець захисту «Тривога» |
fan | логічний | Логічний прапорець захисту «Вентиляція» |
fault | логічний | Логічний прапорець захисту «Відмова» |
Група recorder
Section titled “Група recorder”| Поле | Тип | Опис |
|---|---|---|
enabled | логічний | Реєстратор увімкнено |
available | логічний | Реєстратор доступний |
total | число | Кількість доступних записів |
periodSec | число | Поточний період записування (секунди) |
lastError | число | Код останньої помилки |
errorCount | число | Кількість помилок |
Група channels
Section titled “Група channels”Масив із 4 елементів (CH1..CH4).
| Поле | Тип | Опис |
|---|---|---|
enabled | логічний | Канал увімкнено |
temperature | рядок|null | Поточна температура (десяткове число, 1 цифра після крапки), null якщо значення некоректне |
minTemperature | рядок|null | Мінімальна температура |
maxTemperature | рядок|null | Максимальна температура |
trend | рядок | "up", "down", "stable" |
circuitState | рядок | "normal", "open", "short" |
trip | логічний | Канал у стані «Перегрів» |
alarm | логічний | Канал у стані «Тривога» |
fan | логічний | Канал у стані «Вентиляція» |
Група log
Section titled “Група log”| Поле | Тип | Опис |
|---|---|---|
available | логічний | Журнал доступний |
total | число | Кількість доступних подій |
lastTimestampUtc | рядок|null | Мітка часу UTC останньої події; null якщо журнал порожній |
pending | число | Кількість непідтверджених подій у поточному сеансі живлення |
Група ntp
Section titled “Група ntp”| Поле | Тип | Опис |
|---|---|---|
enabled | логічний | NTP увімкнено в налаштуваннях |
available | логічний | Клієнт NTP готовий у поточному стані роботи |
lastSyncUtc | рядок|null | Час UTC останньої успішної синхронізації; null якщо синхронізації не було |
syncCount | число | Кількість успішних синхронізацій від моменту ввімкнення |
failCount | число | Кількість невдалих спроб від моменту ввімкнення |
Група httpd
Section titled “Група httpd”| Поле | Тип | Опис |
|---|---|---|
enabled | логічний | Web-сервер увімкнено в налаштуваннях |
available | логічний | HTTPD готовий у поточному стані роботи |
activeConnections | число | Активні наразі TCP-з’єднання |
maxConnections | число | Максимальна кількість одночасних з’єднань (константа) |
activeSessions | число | Авторизовані наразі сеанси |
maxSessions | число | Максимальна кількість одночасних сеансів (константа) |
port | число | TCP-порт HTTP-сервера |
connections | масив | Активні TCP-з’єднання |
connections[].ip | рядок | IP-адреса клієнта |
connections[].port | число | TCP-порт клієнта |
Група modbus
Section titled “Група modbus”| Поле | Тип | Опис |
|---|---|---|
enabled | логічний | Modbus TCP увімкнено в налаштуваннях |
available | логічний | Сервер Modbus TCP готовий |
activeConnections | число | Поточна кількість активних TCP-з’єднань |
maxConnections | число | Максимальна кількість одночасних з’єднань |
blockedIps | число | Кількість заблокованих IP-адрес після невдалих спроб введення пароля |
port | число | Modbus Порт TCP |
rxPackets | число | Отримано пакетів через усі з’єднання від моменту запуску |
txPackets | число | Надіслано пакетів через усі з’єднання від моменту запуску |
rxErrors | число | Помилки отримання через усі з’єднання від моменту запуску |
txErrors | число | Помилки передавання через усі з’єднання від моменту запуску |
exceptionResp | число | Відповідей Modbus Exception надіслано від моменту запуску |
rxBytes | число | Отримано байтів через усі з’єднання від моменту запуску |
txBytes | число | Надіслано байтів через усі з’єднання від моменту запуску |
rxPerSec | число | Поточна сумарна швидкість отримання, packets/s |
txPerSec | число | Поточна сумарна швидкість передавання, packets/s |
connections | масив | Активні TCP-з’єднання |
connections[].ip | рядок | IP-адреса клієнта |
connections[].port | число | TCP-порт клієнта |
connections[].uptimeSec | число | Час роботи з’єднання, секунд |
connections[].unlocked | логічний | Захищені операції розблоковано для з’єднання |
connections[].rxPackets | число | Отримано пакетів через з’єднання |
connections[].txPackets | число | Надіслано пакетів через з’єднання |
connections[].rxErrors | число | Помилки отримання через з’єднання |
connections[].txErrors | число | Помилки передавання через з’єднання |
connections[].exceptionResp | число | Відповідей Modbus Exception надіслано через з’єднання |
connections[].rxBytes | число | Отримано байтів через з’єднання |
connections[].txBytes | число | Надіслано байтів через з’єднання |
connections[].rxPerSec | число | Поточна швидкість отримання через з’єднання, packets/s |
connections[].txPerSec | число | Поточна швидкість передавання через з’єднання, packets/s |
Група wireguard
Section titled “Група wireguard”| Поле | Тип | Опис |
|---|---|---|
enabled | логічний | WG увімкнено в налаштуваннях |
mode | рядок | Режим конфігурації: "auto" або "static" |
status | об’єкт | Стислий робочий стан WireGuard |
endpoint | об’єкт | Кінцева точка віддаленого вузла |
interface | об’єкт | Відповідність налаштованого та фактичного інтерфейсів |
wireguard.status
Section titled “wireguard.status”| Поле | Тип | Опис |
|---|---|---|
link | рядок | Стан з’єднання: "disabled", "netif", "configured", "connected", "up" |
config | рядок | Стан конфігурації: "disabled", "staticInvalid", "pause", "serverResolving", "serverConnecting", "discoverWait", "connectWait", "peerResolving", "ready" |
lastPeerUpUtc | рядок|null | Час UTC останньої доступності вузла; null якщо ніколи |
lastHandshakeAgeSec | число|null | Час від останнього handshake/keepalive вузла у секундах; null якщо немає |
lastActivityAgeSec | число|null | Час від останньої активності вузла (handshake/keepalive, RX, або TX) у секундах; null якщо немає |
rxPackets | число | Отримано пакетів через тунель WG |
txPackets | число | Надіслано пакетів через тунель WG |
wireguard.endpoint
Section titled “wireguard.endpoint”| Поле | Тип | Опис |
|---|---|---|
hostname | рядок|null | Ім’я вузла кінцевої точки |
address | рядок|null | Визначена IP-адреса кінцевої точки |
port | число|null | Порт кінцевої точки |
keepaliveSec | число|null | Поточний інтервал keepalive вузла у секундах |
peerPublicKey | рядок|null | Відкритий ключ вузла |
allowedIps | масив | Дозволені мережі вузла у форматі IPv4 CIDR |
wireguard.interface
Section titled “wireguard.interface”| Поле | Тип | Опис |
|---|---|---|
configured | рядок|null | Налаштована адреса інтерфейсу у нотації CIDR |
runtime | рядок|null | Фактична активна адреса інтерфейсу у нотації CIDR |
devicePublicKey | рядок|null | Відкритий ключ пристрою |