Skip to content

GET /api/state/get/?device&network&relays&leds&protection&recorder&channels&log&ntp&httpd&modbus&wireguard

Retrieve one or more top-level runtime-state groups.

Auth: Bearer.


Each query key is a flag requesting the corresponding group. Valid keys:

device, network, relays, leds, protection, recorder, channels, log, ntp, httpd, modbus, wireguard

  • At least one key is required.
  • Unknown key → 404 ERROR_NOT_FOUND.
  • No keys → 400 ERROR_API_PARSING.
  • Memory budget exceeded → 507 ERROR_NO_MEMORY.

{
"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"
}
}
}

Only explicitly requested groups are returned.


FieldTypeDescription
uptimeSecnumberUptime since power-on (seconds)
dateTimeUtcstringCurrent device time in ISO 8601 UTC
localOffsetMinnumberEffective local offset in minutes, including DST
dstActivebooleanWhether DST is active
deviceNeedRebootbooleanThe device requires a reboot
isDiagnosticModebooleanDiagnostic mode was activated at startup by pressing Up + Down
settingsValidbooleanThe saved settings are valid
calibrationValidbooleanThe saved factory calibration is valid
rebootAfterSecnumber|nullSeconds until the scheduled reboot (null = not scheduled)
FieldTypeDescription
macAddressstringMAC address
isUniquebooleantrue = unique EUI-48, false = fallback
ipAddressstringIP address
subnetMaskstringSubnet mask
gatewaystringGateway
dnsstring[]DNS servers
dhcp.statestringDHCP state: off, configuring, searching, requesting, bound, renewing, rebinding, retrying
dhcp.serverAddressstringDHCP server IPv4 address
dhcp.leaseSecondsnumberFull lease duration in seconds
dhcp.remainingSecondsnumberRemaining lease duration in seconds
FieldTypeDescription
tripbooleanTrip relay state
alarmbooleanAlarm relay state
fanbooleanFan relay state
faultbooleanFault relay state
inTestModebooleanService relay test is active
FieldTypeDescription
inTestModebooleanService LED test is active
FieldTypeDescription
tripbooleanLogical trip protection flag
alarmbooleanLogical alarm protection flag
fanbooleanLogical fan protection flag
faultbooleanLogical fault protection flag
FieldTypeDescription
enabledbooleanRecorder is enabled
availablebooleanRecorder is available
totalnumberNumber of available records
periodSecnumberCurrent recording period (seconds)
lastErrornumberMost recent error code
errorCountnumberError count

Array of 4 elements (CH1..CH4).

FieldTypeDescription
enabledbooleanChannel is enabled
temperaturestring|nullCurrent temperature (decimal, 1 digit after the decimal point), null if invalid
minTemperaturestring|nullMinimum temperature
maxTemperaturestring|nullMaximum temperature
trendstring"up", "down", "stable"
circuitStatestring"normal", "open", "short"
tripbooleanChannel is in the trip state
alarmbooleanChannel is in the alarm state
fanbooleanChannel is in the fan state
FieldTypeDescription
availablebooleanLog is available
totalnumberNumber of available events
lastTimestampUtcstring|nullUTC timestamp of the most recent event; null if empty
pendingnumberNumber of unacknowledged events in the current power session
FieldTypeDescription
enabledbooleanNTP is enabled in settings
availablebooleanThe NTP client is ready in the current runtime state
lastSyncUtcstring|nullUTC time of the most recent successful synchronization; null if none has occurred
syncCountnumberNumber of successful synchronizations since power-on
failCountnumberNumber of failed attempts since power-on
FieldTypeDescription
enabledbooleanThe web server is enabled in settings
availablebooleanHTTPD is ready in the current runtime state
activeConnectionsnumberCurrently active TCP connections
maxConnectionsnumberMaximum concurrent connections (constant)
activeSessionsnumberCurrently authorized sessions
maxSessionsnumberMaximum concurrent sessions (constant)
portnumberHTTP server TCP port
connectionsarrayActive TCP connections
connections[].ipstringClient IP address
connections[].portnumberClient TCP port
FieldTypeDescription
enabledbooleanModbus TCP is enabled in settings
availablebooleanThe Modbus TCP server is ready
activeConnectionsnumberCurrent number of active TCP connections
maxConnectionsnumberMaximum concurrent connections
blockedIpsnumberNumber of IP addresses blocked after failed password attempts
portnumberModbus TCP port
rxPacketsnumberPackets received across all connections since startup
txPacketsnumberPackets sent across all connections since startup
rxErrorsnumberReceive errors across all connections since startup
txErrorsnumberTransmit errors across all connections since startup
exceptionRespnumberModbus Exception responses sent since startup
rxBytesnumberBytes received across all connections since startup
txBytesnumberBytes sent across all connections since startup
rxPerSecnumberCurrent aggregate receive rate, packets/s
txPerSecnumberCurrent aggregate transmit rate, packets/s
connectionsarrayActive TCP connections
connections[].ipstringClient IP address
connections[].portnumberClient TCP port
connections[].uptimeSecnumberConnection uptime, seconds
connections[].unlockedbooleanProtected operations are unlocked for the connection
connections[].rxPacketsnumberPackets received on the connection
connections[].txPacketsnumberPackets sent on the connection
connections[].rxErrorsnumberReceive errors on the connection
connections[].txErrorsnumberTransmit errors on the connection
connections[].exceptionRespnumberModbus Exception responses sent on the connection
connections[].rxBytesnumberBytes received on the connection
connections[].txBytesnumberBytes sent on the connection
connections[].rxPerSecnumberCurrent connection receive rate, packets/s
connections[].txPerSecnumberCurrent connection transmit rate, packets/s
FieldTypeDescription
enabledbooleanWG is enabled in settings
modestringConfiguration mode: "auto" or "static"
statusobjectBrief WireGuard operational state
endpointobjectRemote peer endpoint
interfaceobjectConfigured/runtime interface mapping
FieldTypeDescription
linkstringLink state: "disabled", "netif", "configured", "connected", "up"
configstringConfiguration state: "disabled", "staticInvalid", "pause", "serverResolving", "serverConnecting", "discoverWait", "connectWait", "peerResolving", "ready"
lastPeerUpUtcstring|nullUTC time when the peer was last up; null if never
lastHandshakeAgeSecnumber|nullAge of the peer’s latest handshake/keepalive in seconds; null if none
lastActivityAgeSecnumber|nullAge of the peer’s latest activity (handshake/keepalive, RX, or TX) in seconds; null if none
rxPacketsnumberPackets received through the WG tunnel
txPacketsnumberPackets sent through the WG tunnel
FieldTypeDescription
hostnamestring|nullEndpoint hostname
addressstring|nullResolved endpoint IP address
portnumber|nullEndpoint port
keepaliveSecnumber|nullCurrent peer keepalive interval in seconds
peerPublicKeystring|nullPeer public key
allowedIpsarrayPeer networks allowed in IPv4 CIDR format
FieldTypeDescription
configuredstring|nullConfigured interface address in CIDR notation
runtimestring|nullActual active interface address in CIDR notation
devicePublicKeystring|nullDevice public key