GET /api/state/get/?device&network&relays&leds&protection&recorder&channels&log&ntp&httpd&modbus&wireguard
Pobierz jedną albo więcej grup najwyższego poziomu stanu roboczego.
Uwierzytelnianie: Bearer.
Parametry zapytania
Dział zatytułowany „Parametry zapytania”Każdy klucz zapytania jest flagą żądającą odpowiedniej grupy. Prawidłowe klucze:
device, network, relays, leds, protection, recorder, channels, log, ntp, httpd, modbus, wireguard
- Wymagany jest co najmniej jeden klucz.
- Nieznany klucz →
404 ERROR_NOT_FOUND. - Brak kluczy →
400 ERROR_API_PARSING. - Przekroczenie limitu pamięci →
507 ERROR_NO_MEMORY.
Odpowiedź 200
Dział zatytułowany „Odpowiedź 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" } }}Zwracane są wyłącznie jawnie żądane grupy.
Grupa device
Dział zatytułowany „Grupa device”| Pole | Typ | Opis |
|---|---|---|
uptimeSec | liczba | Czas pracy od włączenia zasilania (w sekundach) |
dateTimeUtc | ciąg znaków | Bieżący czas urządzenia w formacie ISO 8601 UTC |
localOffsetMin | liczba | Rzeczywiste przesunięcie czasu lokalnego w minutach, z uwzględnieniem czasu letniego |
dstActive | wartość logiczna | Określa, czy obowiązuje czas letni |
deviceNeedReboot | wartość logiczna | Określa, czy urządzenie wymaga ponownego uruchomienia |
isDiagnosticMode | wartość logiczna | Określa, czy podczas uruchamiania włączono tryb diagnostyczny przez naciśnięcie przycisków Up + Down |
settingsValid | wartość logiczna | Określa, czy zapisane ustawienia są prawidłowe |
calibrationValid | wartość logiczna | Określa, czy zapisana kalibracja fabryczna jest prawidłowa |
rebootAfterSec | liczba|null | Liczba sekund do zaplanowanego ponownego uruchomienia (null = nie zaplanowano) |
Grupa network
Dział zatytułowany „Grupa network”| Pole | Typ | Opis |
|---|---|---|
macAddress | ciąg znaków | Adres MAC |
isUnique | wartość logiczna | true = unikatowy EUI-48, false = adres zastępczy |
ipAddress | ciąg znaków | Adres IP |
subnetMask | ciąg znaków | Maska podsieci |
gateway | ciąg znaków | Brama |
dns | ciąg[] | Serwery DNS |
dhcp.state | ciąg znaków | Stan DHCP: off, configuring, searching, requesting, bound, renewing, rebinding, retrying |
dhcp.serverAddress | ciąg znaków | Adres IPv4 serwera DHCP |
dhcp.leaseSeconds | liczba | Pełny czas dzierżawy w sekundach |
dhcp.remainingSeconds | liczba | Pozostały czas dzierżawy w sekundach |
Grupa relays
Dział zatytułowany „Grupa relays”| Pole | Typ | Opis |
|---|---|---|
trip | wartość logiczna | Stan przekaźnika wyłączenia awaryjnego |
alarm | wartość logiczna | Stan przekaźnika alarmu |
fan | wartość logiczna | Stan przekaźnika wentylatora |
fault | wartość logiczna | Stan przekaźnika usterki |
inTestMode | wartość logiczna | Określa, czy aktywny jest test serwisowy przekaźników |
Grupa leds
Dział zatytułowany „Grupa leds”| Pole | Typ | Opis |
|---|---|---|
inTestMode | wartość logiczna | Określa, czy aktywny jest test serwisowy diod LED |
Grupa protection
Dział zatytułowany „Grupa protection”| Pole | Typ | Opis |
|---|---|---|
trip | wartość logiczna | Logiczna flaga zabezpieczenia wyłączenia awaryjnego |
alarm | wartość logiczna | Logiczna flaga zabezpieczenia alarmowego |
fan | wartość logiczna | Logiczna flaga zabezpieczenia wentylatora |
fault | wartość logiczna | Logiczna flaga zabezpieczenia przed usterką |
Grupa recorder
Dział zatytułowany „Grupa recorder”| Pole | Typ | Opis |
|---|---|---|
enabled | wartość logiczna | Rejestrator jest włączony |
available | wartość logiczna | Rejestrator jest dostępny |
total | liczba | Liczba dostępnych rekordów |
periodSec | liczba | Bieżący okres rejestrowania (w sekundach) |
lastError | liczba | Kod ostatniego błędu |
errorCount | liczba | Liczba błędów |
Grupa channels
Dział zatytułowany „Grupa channels”Tablica 4 elementów (CH1..CH4).
| Pole | Typ | Opis |
|---|---|---|
enabled | wartość logiczna | Kanał jest włączony |
temperature | ciąg|null | Bieżąca temperatura (liczba dziesiętna z 1 cyfrą po przecinku), null, jeśli wartość jest nieprawidłowa |
minTemperature | ciąg|null | Temperatura minimalna |
maxTemperature | ciąg|null | Maksymalna temperatura |
trend | ciąg znaków | "up", "down", "stable" |
circuitState | ciąg znaków | "normal", "open", "short" |
trip | wartość logiczna | Kanał znajduje się w stanie wyłączenia awaryjnego |
alarm | wartość logiczna | Kanał znajduje się w stanie alarmu |
fan | wartość logiczna | Kanał znajduje się w stanie wentylatora |
Grupa log
Dział zatytułowany „Grupa log”| Pole | Typ | Opis |
|---|---|---|
available | wartość logiczna | Dziennik jest dostępny |
total | liczba | Liczba dostępnych zdarzeń |
lastTimestampUtc | ciąg|null | Znacznik czasu UTC ostatniego zdarzenia; null, jeśli dziennik jest pusty |
pending | liczba | Liczba niepotwierdzonych zdarzeń w bieżącej sesji zasilania |
Grupa ntp
Dział zatytułowany „Grupa ntp”| Pole | Typ | Opis |
|---|---|---|
enabled | wartość logiczna | NTP jest włączony w ustawieniach |
available | wartość logiczna | Klient NTP jest gotowy w bieżącym stanie roboczym |
lastSyncUtc | ciąg|null | Czas UTC ostatniej udanej synchronizacji; null, jeśli synchronizacja jeszcze nie nastąpiła |
syncCount | liczba | Liczba udanych synchronizacji od włączenia zasilania |
failCount | liczba | Liczba nieudanych prób od włączenia zasilania |
Grupa httpd
Dział zatytułowany „Grupa httpd”| Pole | Typ | Opis |
|---|---|---|
enabled | wartość logiczna | Serwer WWW jest włączony w ustawieniach |
available | wartość logiczna | Serwer HTTPD jest gotowy w bieżącym stanie roboczym |
activeConnections | liczba | Aktualnie aktywne połączenia TCP |
maxConnections | liczba | Maksymalna liczba jednoczesnych połączeń (stała) |
activeSessions | liczba | Aktualnie autoryzowane sesje |
maxSessions | liczba | Maksymalna liczba jednoczesnych sesji (stała) |
port | liczba | Port TCP serwera HTTP |
connections | tablica | Aktywne połączenia TCP |
connections[].ip | ciąg znaków | Adres IP klienta |
connections[].port | liczba | Port TCP klienta |
Grupa modbus
Dział zatytułowany „Grupa modbus”| Pole | Typ | Opis |
|---|---|---|
enabled | wartość logiczna | Modbus TCP jest włączony w ustawieniach |
available | wartość logiczna | Serwer Modbus TCP jest gotowy |
activeConnections | liczba | Bieżąca liczba aktywnych połączeń TCP |
maxConnections | liczba | Maksymalna liczba jednoczesnych połączeń |
blockedIps | liczba | Liczba adresów IP zablokowanych po nieudanych próbach podania hasła |
port | liczba | Port Modbus TCP |
rxPackets | liczba | Pakiety odebrane we wszystkich połączeniach od uruchomienia |
txPackets | liczba | Pakiety wysłane we wszystkich połączeniach od uruchomienia |
rxErrors | liczba | Błędy odbioru we wszystkich połączeniach od uruchomienia |
txErrors | liczba | Błędy transmisji we wszystkich połączeniach od uruchomienia |
exceptionResp | liczba | Odpowiedzi wyjątków Modbus wysłane od uruchomienia |
rxBytes | liczba | Bajty odebrane we wszystkich połączeniach od uruchomienia |
txBytes | liczba | Bajty wysłane we wszystkich połączeniach od uruchomienia |
rxPerSec | liczba | Bieżąca łączna szybkość odbioru w pakietach/s |
txPerSec | liczba | Bieżąca łączna szybkość transmisji w pakietach/s |
connections | tablica | Aktywne połączenia TCP |
connections[].ip | ciąg znaków | Adres IP klienta |
connections[].port | liczba | Port TCP klienta |
connections[].uptimeSec | liczba | Czas trwania połączenia w sekundach |
connections[].unlocked | wartość logiczna | Określa, czy chronione operacje są odblokowane dla połączenia |
connections[].rxPackets | liczba | Pakiety odebrane w ramach połączenia |
connections[].txPackets | liczba | Pakiety wysłane w ramach połączenia |
connections[].rxErrors | liczba | Błędy odbioru w ramach połączenia |
connections[].txErrors | liczba | Błędy transmisji w ramach połączenia |
connections[].exceptionResp | liczba | Odpowiedzi wyjątków Modbus wysłane w ramach połączenia |
connections[].rxBytes | liczba | Bajty odebrane w ramach połączenia |
connections[].txBytes | liczba | Bajty wysłane w ramach połączenia |
connections[].rxPerSec | liczba | Bieżąca szybkość odbioru dla połączenia w pakietach/s |
connections[].txPerSec | liczba | Bieżąca szybkość transmisji dla połączenia w pakietach/s |
Grupa wireguard
Dział zatytułowany „Grupa wireguard”| Pole | Typ | Opis |
|---|---|---|
enabled | wartość logiczna | WG jest włączony w ustawieniach |
mode | ciąg znaków | Tryb konfiguracji: "auto" albo "static" |
status | obiekt | Skrócony stan działania WireGuard |
endpoint | obiekt | Punkt końcowy zdalnego partnera |
interface | obiekt | Odwzorowanie skonfigurowanego i roboczego interfejsu |
wireguard.status
Dział zatytułowany „wireguard.status”| Pole | Typ | Opis |
|---|---|---|
link | ciąg znaków | Stan łącza: "disabled", "netif", "configured", "connected", "up" |
config | ciąg znaków | Stan konfiguracji: "disabled", "staticInvalid", "pause", "serverResolving", "serverConnecting", "discoverWait", "connectWait", "peerResolving", "ready" |
lastPeerUpUtc | ciąg|null | Czas UTC, gdy partner był ostatnio aktywny; null, jeśli nigdy nie był aktywny |
lastHandshakeAgeSec | liczba|null | Czas od ostatniego uzgodnienia lub pakietu podtrzymującego partnera w sekundach; null, jeśli brak |
lastActivityAgeSec | liczba|null | Czas od ostatniej aktywności partnera (handshake/keepalive, RX albo TX) w sekundach; null, jeśli brak |
rxPackets | liczba | Pakiety odebrane przez tunel WG |
txPackets | liczba | Pakiety wysłane przez tunel WG |
wireguard.endpoint
Dział zatytułowany „wireguard.endpoint”| Pole | Typ | Opis |
|---|---|---|
hostname | ciąg|null | Nazwa hosta punktu końcowego |
address | ciąg|null | Rozpoznany adres IP punktu końcowego |
port | liczba|null | Port punktu końcowego |
keepaliveSec | liczba|null | Bieżący interwał podtrzymywania połączenia z partnerem w sekundach |
peerPublicKey | ciąg|null | Klucz publiczny partnera |
allowedIps | tablica | Dozwolone sieci partnera w formacie IPv4 CIDR |
wireguard.interface
Dział zatytułowany „wireguard.interface”| Pole | Typ | Opis |
|---|---|---|
configured | ciąg|null | Skonfigurowany adres interfejsu w notacji CIDR |
runtime | ciąg|null | Rzeczywisty aktywny adres interfejsu w notacji CIDR |
devicePublicKey | ciąg|null | Klucz publiczny urządzenia |