Przejdź do głównej zawartości

GET /api/settings/get/?meta&general&dateTime&display&access&recorder&network&ntp&web&modbus&vpnWireguard&channels&protection

Pobierz jedną albo więcej grup najwyższego poziomu ustawień trwałych.

Uwierzytelnianie: Bearer.

Hasła grupy access są przeznaczone wyłącznie do zapisu i nie są uwzględniane w odpowiedziach na żadnym poziomie dostępu. Klucz prywatny vpnWireguard.privateKey jest zwracany tylko użytkownikowi powerUser; dla użytkownika user pole ma wartość null.


Każdy klucz zapytania jest flagą żądającą odpowiedniej grupy. Prawidłowe klucze:

meta, general, dateTime, display, access, recorder, network, ntp, web, modbus, vpnWireguard, channels, protection

  • 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.

{
"meta": {
"sequence": 1,
"fwVersion": "1.0",
"isDefault": false,
"savedAt": "2026-04-16T15:00:00Z",
"dataLength": 512,
"dataCrc32": "075bcd15",
"headerCrc32": "3ade68b1"
},
"general": {
"language": "en",
"logDebugMask": 0
},
"dateTime": {
"timezoneOffset": 180,
"dst": {
"mode": 0,
"deltaMin": 60,
"startLocal": "2026-03-29T03:00:00",
"endLocal": "2026-10-25T03:00:00"
}
},
"display": {
"contrast": 50,
"activeBacklightPercent": 80,
"idleBacklightEnable": false,
"idleBacklightPercent": 20,
"idleTimeoutSec": 300
},
"access": {
"devPasswordEnable": true,
"webUserPassEnable": true,
"webPwrPassEnable": true,
"modbusPasswordEnable": true
},
"recorder": {
"enabled": false,
"periodSec": 600
},
"network": {
"enabled": true,
"dhcpEnable": true,
"dns": ["8.8.8.8", "8.8.4.4"],
"ipAddress": "192.168.1.50",
"subnetMask": "255.255.255.0",
"gateway": "192.168.1.1"
},
"ntp": {
"enabled": true,
"syncPeriodSec": 3600,
"server1": "pool.ntp.org",
"server2": "time.google.com"
},
"web": {
"enabled": true,
"port": 80,
"vpnTrusted": false,
"vpnAccessLevel": 1
},
"modbus": {
"enabled": false,
"unitId": 1,
"port": 502,
"timeoutSec": 90,
"protectMode": 0,
"vpnAccessLevel": 0
},
"vpnWireguard": {
"enabled": false,
"autoConfigEnable": false,
"autoConfigUrl": "https://overvis.io:4359/api/handshake/",
"privateKey": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
"address": "10.0.0.2/24",
"peerPublicKey": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
"peerHostname": "vpn.example.com",
"peerPort": 51820,
"allowedIps": ["0.0.0.0/0", "0.0.0.0/0"],
"keepaliveSec": 25
},
"channels": {
"filterLevel": 1,
"items": [
{
"enabled": true,
"sensorTypeId": 1,
"userOffset": 0,
"ptcMinikaNominal": 0,
"linked": 0
}
]
},
"protection": {
"trip": {
"delaySec": 1,
"channels": [{ "threshold": 120, "hysteresis": 5 }]
},
"alarm": {
"delaySec": 1,
"channels": [{ "threshold": 100, "hysteresis": 5 }]
},
"fan": {
"mode": 1,
"delaySec": 1,
"channels": [{ "threshold": 80, "hysteresis": 5 }]
},
"fault": {
"delaySec": 1
}
}
}

Zwracane są tylko jawnie żądane grupy.


PoleTypOpis
sequenceliczbaNumer sekwencyjny zapisu ustawień
fwVersionciąg znakówWersja oprogramowania układowego, które utworzyło migawkę
isDefaultwartość logicznaOkreśla, czy są to ustawienia domyślne
savedAtciąg znakówCzas ostatniego zapisu (ISO 8601 UTC)
dataLengthliczbaDługość danych
dataCrc32ciąg znakówSuma CRC32 danych (zapis szesnastkowy, 8 znaków)
headerCrc32ciąg znakówSuma CRC32 nagłówka (zapis szesnastkowy, 8 znaków)
PoleTypOpis
languageciąg znakówJęzyk interfejsu
logDebugMaskliczbaMaska bitowa modułów dziennika debugowania (bit0 = WireGuard)
PoleTypOpis
timezoneOffsetliczbaPrzesunięcie strefy czasowej w minutach
dstobiektUstawienia czasu letniego
dst.modeliczbaTryb czasu letniego
dst.deltaMinliczbaWartość przesunięcia w minutach
dst.startLocalciąg znakówPoczątek czasu letniego (czas lokalny)
dst.endLocalciąg znakówKoniec czasu letniego (czas lokalny)
PoleTypOpis
contrastliczbaKontrast
activeBacklightPercentliczbaJasność aktywnego podświetlenia, %
idleBacklightEnablewartość logicznaOkreśla, czy podświetlenie jest przyciemniane w stanie bezczynności
idleBacklightPercentliczbaJasność podświetlenia w stanie bezczynności, %
idleTimeoutSecliczbaCzas bezczynności przed przyciemnieniem w sekundach
PoleTypOpis
devPasswordEnablewartość logicznaWymaga hasła przy wejściu do menu lokalnego
webUserPassEnablewartość logicznaWymaga hasła dostępu WWW na poziomie user
webPwrPassEnablewartość logicznaWymaga hasła dostępu WWW na poziomie powerUser
modbusPasswordEnablewartość logicznaWymaga hasła do odblokowania chronionych operacji Modbus TCP

Pola devPassword, webUserPass, webPwrPass i modbusPassword są celowo pomijane w odpowiedzi. Interfejs API nie ujawnia ani zapisanych haseł, ani informacji o ustawieniu wartości niestandardowej. Klienci muszą używać wyłącznie flag ...PasswordEnable jako informacji o stanie ochrony. Na poziomie user flagi te są zwracane jako null; ich wartości są dostępne dla powerUser.

PoleTypOpis
enabledwartość logicznaRejestrowanie temperatury jest włączone
periodSecliczbaOkres rejestrowania w sekundach
PoleTypOpis
enabledwartość logicznaEthernet jest włączony
dhcpEnablewartość logicznaDHCP jest włączony
dnsciąg[]Serwery DNS
ipAddressciąg znakówStatyczny adres IP
subnetMaskciąg znakówMaska podsieci
gatewayciąg znakówBrama
PoleTypOpis
enabledwartość logicznaNTP jest włączony
syncPeriodSecliczbaOkres synchronizacji (w sekundach)
server1ciąg znakówGłówny serwer NTP
server2ciąg znakówZapasowy serwer NTP
PoleTypOpis
enabledwartość logicznaSerwer WWW jest włączony
portliczbaPort HTTP
vpnTrustedwartość logicznaZezwala na zaufany dostęp WWW przez VPN
vpnAccessLevelliczbaDostęp przez VPN: 0 = standardowa autoryzacja hasłem, 1 = user, 2 = powerUser
PoleTypOpis
enabledwartość logicznaModbus TCP jest włączony
unitIdliczbaIdentyfikator jednostki
portliczbaPort TCP
timeoutSecliczbaLimit czasu (w sekundach)
protectModeliczbaTryb ochrony: 0 = brak, 1 = ochrona zapisu, 2 = ochrona odczytu i zapisu
vpnAccessLevelliczbaDostęp przez VPN: 0 = wyłączony, 1 = korzysta z ochrony ogólnej, 2 = tylko odczyt, 3 = odczyt i zapis
PoleTypOpis
enabledwartość logicznaWireGuard jest włączony
autoConfigEnablewartość logicznaTryb automatycznej konfiguracji Overvis (parametry są pobierane z chmury przy użyciu tożsamości urządzenia)
autoConfigUrlciąg znakówAdres URL serwera automatycznej konfiguracji
privateKeyciąg znakówStatyczny klucz prywatny WireGuard w formacie base64
addressciąg znakówAdres lokalnego interfejsu w notacji CIDR, na przykład 10.0.0.2/24
peerPublicKeyciąg znakówStatyczny klucz publiczny elementu równorzędnego WireGuard w formacie base64
peerHostnameciąg znakówNazwa hosta partnera
peerPortliczbaPort partnera
allowedIpsciąg[]Dokładnie 2 trasy CIDR partnera
keepaliveSecliczbaStały interwał podtrzymywania połączenia w sekundach
  • Gdy autoConfigEnable = false, używane są wszystkie statyczne pola vpnWireguard, w tym klucze i punkt końcowy.
  • Gdy autoConfigEnable = true, statyczne pola vpnWireguard są ignorowane podczas działania; WireGuard/Overvis pobiera parametry za pośrednictwem interfejsu API tożsamości usługi na potrzeby automatycznej konfiguracji.
PoleTypOpis
filterLevelliczbaPoziom filtrowania
itemstablicaTablica 4 kanałów
PoleTypOpis
enabledwartość logicznaKanał jest włączony
sensorTypeIdliczbaIdentyfikator typu czujnika (patrz /api/reference/sensor-types/)
userOffsetliczbaPrzesunięcie użytkownika
ptcMinikaNominalliczbaWartość nominalna PTC Minika
linkedliczbaPrzynależność do wspólnej grupy progu i histerezy TRIP/ALARM/FAN: 0 = niezależny, 1 = połączony
PoleTypOpis
delaySecliczbaOpóźnienie aktywacji (w sekundach)
channelstablicaWartości zadane poszczególnych kanałów (4 elementy)

protection.trip.channels[] / protection.alarm.channels[]

Dział zatytułowany „protection.trip.channels[] / protection.alarm.channels[]”
PoleTypOpis
thresholdliczbaWartość zadana temperatury
hysteresisliczbaHistereza
PoleTypOpis
modeliczbaTryb pracy
delaySecliczbaOpóźnienie aktywacji (w sekundach)
channelstablicaWartości zadane poszczególnych kanałów (4 elementy)
PoleTypOpis
delaySecliczbaOpóźnienie aktywacji (w sekundach)

Poniższe zakresy odpowiadają ograniczeniom oprogramowania układowego w Application/User/settings.h.

  • general.language: en | pl | ua | ru.
  • general.logDebugMask: 0..65535 (maska bitowa).
  • dateTime.timezoneOffset: -720..840 minut.
  • dateTime.dst.mode: 0..3 (OFF, EU, US, MANUAL).
  • dateTime.dst.deltaMin: 0..180 minut.
  • display.contrast: 0..64.
  • display.activeBacklightPercent: 0..100.
  • display.idleBacklightEnable: true | false.
  • display.idleBacklightPercent: 0..100.
  • display.idleTimeoutSec: 30..3600 sekund.
  • access.devPasswordEnable, access.webUserPassEnable, access.webPwrPassEnable, access.modbusPasswordEnable: true | false.
  • Hasła grupy access nie są zwracane przez ten punkt końcowy; ograniczenia ich zapisu opisano w POST /api/settings/set/.
  • recorder.enabled: true | false.
  • recorder.periodSec: 5..3600 sekund.
  • ntp.syncPeriodSec: 300..86400 sekund.
  • ntp.server1, ntp.server2: maksymalnie 31 znaków każdy.
  • web.port: 1..65535.
  • web.vpnTrusted: true | false.
  • web.vpnAccessLevel: 0..2 (password, user, powerUser); 0 używa standardowej autoryzacji hasłem.
  • modbus.unitId: 0..247; 0 — akceptuje żądania z dowolnym identyfikatorem jednostki.
  • modbus.port: 1..65535.
  • modbus.timeoutSec: 1..3600 sekund.
  • modbus.protectMode: 0..2 (none, write-protect, read-write-protect).
  • modbus.vpnAccessLevel: 0..3 (disabled, password, read-only, read-write).
  • vpnWireguard.peerPort: 1..65535.
  • vpnWireguard.keepaliveSec: 1..300 sekund.
  • channels.filterLevel: 1..10.
  • channels.items[].sensorTypeId: 0..MSR_SENSOR_COUNT-1; prawidłowe wartości są udostępniane przez GET /api/reference/sensor-types/.
  • channels.items[].userOffset: -10.0..10.0 °C.
  • channels.items[].ptcMinikaNominal: 60.0..180.0 °C.
  • channels.items[].linked: 0..1.
  • protection.trip.delaySec, protection.alarm.delaySec, protection.fan.delaySec, protection.fault.delaySec: 0..60 sekund.
  • protection.trip.channels[].threshold, protection.alarm.channels[].threshold, protection.fan.channels[].threshold: -40.0..240.0 °C.
  • protection.trip.channels[].hysteresis, protection.alarm.channels[].hysteresis, protection.fan.channels[].hysteresis: 0.0..100.0 °C.
  • protection.fan.mode: 0..3.