Przejdź do głównej zawartości

Ustawienia

Odczytaj ustawienia z obszaru aktywnego lub zapisanego.

  • Obszar aktywny: Bieżące ustawienia, z którymi pracuje urządzenie.
  • Obszar zapisany: Ustawienia zapisane w pamięci nieulotnej, zastosowane przy następnym uruchomieniu.

GET /api/settings/active/get/?key1&key2... GET /api/settings/saved/get/?key1&key2...

Poziom dostępu: 🟨 1

Przykładowa odpowiedź:

{
"key1": "value1",
"key2": "value2"
}

Zapisz ustawienia w obszarze zapisanym.

POST /api/settings/saved/set/

Poziom dostępu: 🟨 1

Przykładowe żądanie:

{
"key": "value"
}

Odpowiedź:

Pusty JSON w przypadku sukcesu.

{}

Poniższe klucze mogą być używane z żądaniami GET i POST dla ustawień.

KluczOpisPoziom dostępu
timeGmtKorekta przesunięcia czasu GMT🟨 1
ethernetUstawienia interfejsu Ethernet🟨 1
gsmUstawienia modułu GSM🟨 1
ownSrvPołączenie z własnym serwerem🟨 1
wgCloudUstawienia połączenia VPN w chmurze🟨 1
wgManualNiestandardowe parametry WireGuard VPN🟨 1
cbCloudUstawienia połączenia Modbus w chmurze🟨 1
aresetUstawienia automatycznego resetu🟨 1
protectParametry ochrony urządzenia🟨 1
downloadUstawienia serwera plików🟨 1
firmwareZarządzanie oprogramowaniem sprzętowym🟨 1
httpdParametry wbudowanego serwera HTTP🟨 1
languageJęzyk interfejsu🟨 1
serialUstawienia portu szeregowego🟨 1
astroUstawienia astronomiczne (wschód/zachód słońca)🟨 1
ntpUstawienia synchronizacji czasu NTP🟨 1
tsModeTryb czasu letniego🟨 1
tsManualRęczne ustawienia czasu letniego🟨 1
logFlagsFlagi rejestrowania🟨 1
rmSrvSerwer zdalnego sterowania🟨 1
forwardingTabela przekierowywania portów🟨 1
tasksLoggingUstawienia logowania danych programowalnej logiki🟨 1
powerSavingUstawienia zasilania i oszczędzania zasobów🟨 1

Zarządzanie strefą czasową (przesunięcie GMT).

Parametry żądania:

ParametrTypOpis
timeGmtintegerPrzesunięcie GMT w odstępach 15-minutowych (od -96 do +96).

Przykładowe żądanie:

{
"timeGmt": 8
}

Uwaga: 8 oznacza przesunięcie +2 godziny (8 × 15 minut).

Ustawienia interfejsu Ethernet.

Parametry żądania:

ParametrTypOpis
ethernetobject
dhcpEnablebooleantrue — włącz DHCP na interfejsie Ethernet; false — wyłącz.
macManualEnablebooleantrue — użyj niestandardowego adresu MAC.
dnssGateEnablebooleantrue — użyj adresu bramy jako głównego DNS.
ipstringAdres IP interfejsu Ethernet.
maskstringMaska podsieci interfejsu Ethernet.
gatestringBrama interfejsu Ethernet.
ipDnssarrayTablica adresów IP serwerów DNS dla Ethernet.
macManualstringNiestandardowy adres MAC dla interfejsu Ethernet.

Przykładowe żądanie:

{
"ethernet": {
"dhcpEnable": true,
"macManualEnable": false,
"dnssGateEnable": true,
"ip": "192.168.0.115",
"mask": "255.255.255.0",
"gate": "192.168.0.1",
"ipDnss": ["8.8.8.8", "8.8.4.4"],
"macManual": "01:02:03:04:05:06"
}
}

Ustawienia modułu GSM.

Parametry żądania:

ParametrTypOpis
gsmobject
apnAutodetectEnablebooleantrue — automatycznie skonfiguruj ustawienia APN na podstawie kodu karty SIM.
tcpInRoamingEnablebooleantrue — zezwalaj na transfer danych TCP/UDP w roamingu.
smsInRoamingEnablebooleantrue — zezwalaj na wysyłanie SMS w roamingu. (Odbiór SMS jest zawsze dozwolony).
pinCodeinteger / nullKod PIN (0000-9999) lub null, jeśli nie ustawiony.
apnHoststringNazwa hosta APN dla konfiguracji ręcznej (max 34 znaki).
apnLoginstringLogin APN dla konfiguracji ręcznej (max 40 znaków).
apnPasswordstringHasło APN dla konfiguracji ręcznej (max 24 znaki).
balanceUssdReqstringŻądanie USSD sprawdzenia salda (max 12 znaków, np. *111#).
phonesarrayTablica 4 ciągów numerów telefonów.

Przykładowe żądanie:

{
"gsm": {
"apnAutodetectEnable": true,
"tcpInRoamingEnable": true,
"smsInRoamingEnable": false,
"pinCode": null,
"apnHost": "",
"apnLogin": "",
"apnPassword": "",
"balanceUssdReq": "*111#",
"phones": ["+48123456789", "", "", ""]
}
}

Połączenie z własnym serwerem.

Parametry żądania:

ParametrTypOpis
ownSrvobject
vUidinteger / nullWirtualny adres urządzenia Modbus (1-255) lub null aby wyłączyć.
mbeRointeger / nullKod wyjątku Modbus dla odmowy dostępu (1-255) lub null aby wyłączyć odpowiedź.
mbeTointeger / nullKod wyjątku Modbus dla przekroczenia czasu (1-255) lub null aby wyłączyć odpowiedź.
mbePuinteger / nullKod wyjątku Modbus dla błędu wysyłania (1-255) lub null aby wyłączyć odpowiedź.
ethListenPortintegerPort serwera TCP na interfejsie Ethernet (1-65535).
delayForKeepaliveSecinteger / nullCzas keep-alive serwera TCP (0-36000 sek.) lub null aby wyłączyć.
atmListenPortinteger / nullPort serwera TCP na interfejsie GSM (1-65535) lub null aby wyłączyć.
ethClientsProtocolintegerProtokół danych dla serwera TCP Ethernet: 1 - RAW, 2 - ModbusTCP.
atmClientsProtocolintegerProtokół danych dla serwera TCP GSM: 1 - RAW, 2 - ModbusTCP.

Przykładowe żądanie:

{
"ownSrv": {
"vUid": 111,
"mbeRo": 1,
"mbeTo": 11,
"mbePu": 10,
"ethListenPort": 502,
"delayForKeepaliveSec": 90,
"atmListenPort": null,
"ethClientsProtocol": 2,
"atmClientsProtocol": 2
}
}

Ustawienia połączenia VPN w chmurze.

Parametry żądania:

ParametrTypOpis
wgCloudobject
hostnamestringNazwa hosta serwera VPN (max 46 znaków).
connPortintegerPort TCP serwera VPN (1-65535).
connModeinteger / nullTryb połączenia: null (wyłączony), 1 (pref. Eth), 2 (pref. GSM), 3 (tylko Eth), 4 (tylko GSM).
delayForKeepaliveSecintegerCzas keep-alive serwera VPN (0-36000 sek.).
delayForConnSecintegerOpóźnienie między próbami połączenia (1-30000 sek.).

Przykładowe żądanie:

{
"wgCloud": {
"hostname": "",
"connPort": 34967,
"connMode": 1,
"delayForKeepaliveSec": 20,
"delayForConnSec": 5
}
}

Niestandardowe ustawienia WireGuard VPN.

Parametry żądania:

ParametrTypOpis
wgManualobject
hostnamestringNazwa hosta serwera VPN (max 46 znaków).
connPortintegerPort TCP serwera VPN (1-65535).
connModeinteger / nullTryb połączenia: null (wyłączony), 1 (pref. Eth), 2 (pref. GSM), 3 (tylko Eth), 4 (tylko GSM).
ipstringAdres IP urządzenia w sieci VPN.
maskstringMaska podsieci urządzenia.
deviceKeystringKlucz prywatny urządzenia (base64).
peerPublicKeystringKlucz publiczny zdalnego peer (base64).

Przykładowe żądanie:

{
"wgManual": {
"hostname": "",
"connPort": 34967,
"connMode": 1,
"delayForKeepaliveSec": 20,
"delayForConnSec": 5,
"deviceIp": "10.0.0.111",
"deviceMask": "255.255.255.0",
"deviceKey": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
"peerPublicKey": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="
}
}

Ustawienia połączenia Modbus w chmurze.

Parametry żądania:

ParametrTypOpis
cbCloudobject
hostnamestringNazwa hosta serwera (max 46 znaków).
connPortintegerPort TCP serwera (1-65535).
connModeinteger / nullTryb połączenia: null (wyłączony), 1 (pref. Eth), 2 (pref. GSM), 3 (tylko Eth), 4 (tylko GSM).
delayForKeepaliveSecintegerCzas keep-alive serwera (0-36000 sek.).
delayForConnSecintegerOpóźnienie między próbami połączenia (1-240 sek.).

Przykładowe żądanie:

{
"cbCloud": {
"hostname": "",
"connPort": 8502,
"connMode": 1,
"delayForKeepaliveSec": 120,
"delayForConnSec": 5
}
}

Ustawienia automatycznego resetu.

Parametry żądania:

ParametrTypOpis
aresetobject
delayMinintegerCzas przed automatycznym restartem (5-7200 min).
modeinteger / nullnull - Wyłączony; 1 - Reset po czasie działania delayMin; 2 - Reset po delayMin bez aktywności Modbus.

Przykładowe żądanie:

{
"areset": {
"delayMin": 120,
"mode": 2
}
}

Parametry ochrony urządzenia.

Parametry żądania:

ParametrTypOpis
protectobject
smsWriteEnablebooleanfalse - wyłącz zapis SMS.
smsReadEnablebooleanfalse - wyłącz odczyt SMS.
mbGateWriteEnablebooleanfalse - wyłącz zapis do podłączonych urządzeń Modbus.
mbGateReadEnablebooleanfalse - wyłącz odczyt Modbus.
wgCloudAdminAuthEnablebooleantrue - przyznaj dostęp Admin (🟥 2) do wszystkich żądań Cloud.
wgManualAdminAuthEnablebooleantrue - przyznaj dostęp Admin (🟥 2) do wszystkich żądań WireGuard VPN.
passwordAdminstringHasło administratora urządzenia (5-10 znaków ASCII, bez spacji).
passwordMbGateWritestringHasło do zapisu do podłączonych urządzeń Modbus (0-10 znaków). "" wyłącza sprawdzanie.
passwordMbReadstringHasło do odczytu Modbus (0-10 znaków). "" wyłącza sprawdzanie.
passwordSmsWritestringHasło do zapisu SMS (3-10 znaków).
passwordSmsReadstringHasło do odczytu SMS (3-10 znaków).

Przykładowe żądanie:

{
"protect": {
"smsWriteEnable": true,
"smsReadEnable": true,
"mbGateWriteEnable": true,
"mbGateReadEnable": true,
"wgCloudAdminAuthEnable": true,
"wgManualAdminAuthEnable": false,
"passwordAdmin": "11111",
"passwordMbGateWrite": "",
"passwordMbRead": "",
"passwordSmsWrite": "gap",
"passwordSmsRead": "gap"
}
}

Ustawienia serwera plików.

Parametry żądania:

ParametrTypOpis
downloadobject
connModeinteger / nullTryb połączenia: null (wyłączony), 1 (pref. Eth), 2 (pref. GSM), 3 (tylko Eth), 4 (tylko GSM).
loadRatiointegerLimit prędkości pobierania (1-50 % maksymalnej przepustowości).
delayForConnSecintegerOpóźnienie między próbami połączenia (1-30000 sek.).

Przykładowe żądanie:

{
"download": {
"connMode": 1,
"loadRatio": 15,
"delayForConnSec": 60
}
}

Zarządzanie oprogramowaniem sprzętowym.

Parametry żądania:

ParametrTypOpis
firmwareobject
checkPeriodSecinteger / nullOkres sprawdzania aktualizacji (1-1000000 sek.) lub null aby wyłączyć.
downloadPeriodHrinteger / nullOkres automatycznego pobierania (0-1439 godzin) lub null aby wyłączyć.
updateHourinteger / nullGodzina automatycznej aktualizacji (0-23) lub null aby wyłączyć.
urlstringAdres URL źródła aktualizacji (1-96 znaków ASCII, bez spacji).

Przykładowe żądanie:

{
"firmware": {
"checkPeriodSec": 900,
"downloadPeriodHr": 6,
"updateHour": 3,
"url": "static.mcdownloads.com/firmware/mc252-6-1-current.fus"
}
}

Parametry wbudowanego serwera HTTP.

Parametry żądania:

ParametrTypOpis
httpdobject
portintegerPort interfejsu WWW (1-65535).
freeAccessSecintegerCzas otwartego dostępu po naciśnięciu przycisku (5-3600 sek.).

Przykładowe żądanie:

{
"httpd": {
"port": 80,
"freeAccessSec": 600
}
}

Kod języka interfejsu.

Uwaga: Jeśli wyświetlacz nie obsługuje określonego kodu, zostanie użyty angielski.

Parametry żądania:

ParametrTypOpis
languagestringKod języka: en - angielski; ua - ukraiński.

Przykładowe żądanie:

{
"language": "en"
}

Ustawienia interfejsu szeregowego.

Parametry żądania:

ParametrTypOpis
serialobject
uidRangestringZakres adresów UID Modbus (np. 112-255).
hdxModeintegerTryb półdupleksowy: 0 - slave; 1 - master; 2 - tryb raw.
charFormatintegerFormat bajtu: 0-5 (patrz sekcja Modbus).
baudRateintegerPrędkość transmisji (75-230400 bps).
frameModeintegerFormat ramki: 0 - RTU, 1 - ASCII.
delayForRtuQintegerMnożnik opóźnienia znaku RTU (2ⁿ): 0-5.
delayForRtuMsintegerOpóźnienie odpowiedzi RTU (0-60000 ms).
delayForAsciiMsintegerOpóźnienie znaku ASCII (0-60000 ms).

Przykładowe żądanie:

{
"serial": {
"baudRate": 38400,
"charFormat": 3,
"frameMode": 1,
"delayForRtuMs": 200,
"delayForAsciiMs": 1000,
"hdxMode": 1,
"uidRange": "112-255",
"delayForRtuQ": 1
}
}

Ustawienia astronomiczne (wschód/zachód słońca).

Parametry żądania:

ParametrTypOpis
astroobject
longDegintegerStopnie długości geograficznej (0-179).
longMinintegerMinuty długości geograficznej (0-59).
longSecintegerSekundy długości geograficznej (0-59).
latDegintegerStopnie szerokości geograficznej (0-179).
latMinintegerMinuty szerokości geograficznej (0-59).
latSecintegerSekundy szerokości geograficznej (0-59).
quadrantintegerĆwiartka: 0 - N/E; 1 - N/W; 2 - S/E; 3 - S/W.
sunZenithTypeintegerTyp zenitu: 0 - Oficjalny; 1 - Cywilny; 2 - Nautyczny; 3 - Astronomiczny.

Przykładowe żądanie:

{
"astro": {
"longDeg": 30,
"longMin": 19,
"longSec": 0,
"latDeg": 59,
"latMin": 57,
"latSec": 0,
"quadrant": 0,
"sunZenithType": 2
}
}

Ustawienia synchronizacji czasu NTP.

Parametry żądania:

ParametrTypOpis
ntpobject
hostnamesarrayTablica nazw hostów serwerów NTP (max 20 znaków każda).
connModeinteger / nullTryb połączenia: null (wyłączony), 1 (pref. Eth), 2 (pref. GSM), 3 (tylko Eth), 4 (tylko GSM).
syncPeriodHrintegerOkres synchronizacji (0-240 godzin).
syncDiffSecintegerPróg synchronizacji (0-180 sek.).

Przykładowe żądanie:

{
"ntp": {
"hostnames": ["ntp.time.in.ua", "ntp2.stratum1.ru"],
"connMode": 1,
"syncPeriodHr": 24,
"syncDiffSec": 1
}
}

Tryb czasu letniego.

Parametry żądania:

ParametrTypOpis
tsModeinteger / nullTryb DST: null (Wyłączony), 1 (Brazylia), 2 (UK), 3 (Niemcy), 4 (Grecja), 5 (Jordania), 6 (Włochy), 7 (Namibia), 8 (Polska), 9 (Portugalia), 10 (USA), 11 (Turcja), 12 (Ukraina), 13 (Finlandia), 14 (Francja), 15 (Ręczny - patrz tsManual).

Przykładowe żądanie:

{
"tsMode": 12
}

Ręczne ustawienia czasu letniego.

Parametry żądania:

ParametrTypOpis
tsManualobject
bwdDowintegerDzień tygodnia przejścia na czas zimowy (1-7, Pn-Nd).
bwdHourintegerGodzina przejścia na czas zimowy (0-23).
bwdMonthintegerMiesiąc przejścia na czas zimowy (1-12).
bwdWeekintegerTydzień przejścia na czas zimowy (1-5, 6=ostatni).
fwdDowintegerDzień tygodnia przejścia na czas letni (1-7, Pn-Nd).
fwdHourintegerGodzina przejścia na czas letni (0-23).
fwdMonthintegerMiesiąc przejścia na czas letni (1-12).
fwdWeekintegerTydzień przejścia na czas letni (1-5, 6=ostatni).

Przykładowe żądanie:

{
"tsManual": {
"bwdDow": 7,
"bwdHour": 2,
"bwdMonth": 10,
"bwdWeek": 6,
"fwdDow": 7,
"fwdHour": 2,
"fwdMonth": 3,
"fwdWeek": 6
}
}

Ustawienia rejestrowania.

Parametry żądania:

ParametrTypOpis
logFlagsobject
atmbooleanRejestrowanie interfejsu GSM (true/false).
systembooleanRejestrowanie zdarzeń systemowych (true/false).
lwipbooleanRejestrowanie protokołu LWIP (true/false).
forwardingbooleanRejestrowanie przekierowywania portów (true/false).
wireguardbooleanRejestrowanie WireGuard (true/false).

Przykładowe żądanie:

{
"logFlags": {
"atm": true,
"system": true,
"lwip": false,
"forwarding": false,
"wireguard": true
}
}

Ustawienia klienta TCP (Serwery zdalne).

Parametry żądania:

ParametrTypOpis
rmSrvarrayTablica 3 obiektów serwerów.
ipstringAdres IP serwera.
connPortintegerPort połączenia (1-65535).
delayForRcvMsintegerOpóźnienie odbioru (1-60000 ms).
delayForConnSecintegerOpóźnienie między połączeniami (1-30000 sek.).
connModeinteger / nullTryb połączenia: null (wyłączony), 1 (pref. Eth), 2 (pref. GSM), 3 (tylko Eth), 4 (tylko GSM).
gateUidinteger / nullUID bramki kompatybilnej z MC-251 (1-255) lub null, jeśli nieznany.
uidRangestringZakres UID (np. 1-110).
passwordstringHasło do bramki kompatybilnej z MC-251.
protocolintegerProtokół: 1 - RAW, 2 - ModbusTCP.
virtualUidsbooleanWirtualne UID (true/false).

Przykładowe żądanie:

{
"rmSrv": [
{
"ip": "192.168.0.102",
"connPort": 502,
"delayForRcvMs": 1000,
"delayForConnSec": 20,
"connMode": 3,
"gateUid": 112,
"uidRange": "1-110",
"password": "11111",
"protocol": 2,
"virtualUids": false
},
{
"ip": "192.168.0.113",
"connPort": 502,
"delayForRcvMs": 1000,
"delayForConnSec": 20,
"connMode": null,
"gateUid": null,
"uidRange": "1-255",
"password": "",
"protocol": 2,
"virtualUids": false
},
{
"ip": "192.168.0.114",
"connPort": 502,
"delayForRcvMs": 1000,
"delayForConnSec": 20,
"connMode": null,
"gateUid": null,
"uidRange": "1-255",
"password": "",
"protocol": 2,
"virtualUids": false
}
]
}

Ustawienia przekierowywania portów (tylko Ethernet do GSM).

Parametry żądania:

ParametrTypOpis
fwdarrayTablica 4 obiektów przekierowań.
listenPortinteger / nullLokalny port nasłuchiwania (null aby wyłączyć lub 1-65535).
isUdpbooleantrue dla UDP, false dla TCP.
serverAddrstringAdres hosta serwera zdalnego. (Jeśli listenPort: 53 & isUdp: true & serverAddr: "", używa ustawień DNS).
serverPortintegerPort serwera zdalnego (1-65535).

Przykładowe żądanie:

{
"fwd": [
{
"serverAddr": "www.cameronsworld.net",
"serverPort": 443,
"listenPort": 443,
"isUdp": false
},
{
"serverAddr": "",
"serverPort": 0,
"listenPort": null,
"isUdp": false
},
{
"serverAddr": "",
"serverPort": 0,
"listenPort": 53,
"isUdp": true
},
{
"serverAddr": "time.google.com",
"serverPort": 123,
"listenPort": 123,
"isUdp": true
}
]
}

Ustawienia logowania danych programowalnej logiki.

Uwaga: Rejestrowanie jest dostępne tylko wtedy, gdy zainstalowano kartę SD.

Parametry żądania:

ParametrTypOpis
tasksLoggingobject
formatinteger / nullFormat pliku dziennika:
null - rejestrowanie wyłączone;
1 - kompaktowy format binarny .DAT;
2 - tabela tekstowa .CSV z separatorem średnikowym;
3 - tabela tekstowa .CSV z separatorem przecinkowym;
4 - tabela tekstowa .CSV z separatorem tabulacji;
5 - tabela tekstowa .CSV bez nagłówków, separator średnikowy;
6 - tabela tekstowa .CSV bez nagłówków, separator przecinkowy;
7 - tabela tekstowa .CSV bez nagłówków, separator tabulacji.
storeIntervalDaysinteger / nullOkres, przez który pliki dziennika nie są nadpisywane (tryb loggera).
null - wyłącza usuwanie starych danych (wyłącza tryb loggera).
fileSizeLimitKbintegerLimit rozmiaru pliku (minus 1 kilobajt, 0 do 65535).

Przykładowe żądanie:

{
"tasksLogging": {
"format": 2,
"storeIntervalDays": 184,
"fileSizeLimitKb": 1023
}
}

Ustawienia zasilania i oszczędzania zasobów.

Parametry żądania:

ParametrTypOpis
powerSavingobject
bodVoltageintegerMinimalne napięcie zasilania w mV, poniżej którego karta SD zostanie bezpiecznie odmontowana (od 0 do 24000)
delayForDisplaySavingMinintegerCzas do przejścia w tryb oszczędzania wyświetlacza (od 5 do 30).
displaySavingBrightnessintegerJasność w trybie oszczędzania wyświetlacza, w procentach. (od 0 do 50).

Przykładowe żądanie:

{
"powerSaving": {
"bodVoltage": 9000,
"delayForDisplaySavingMin": 10,
"displaySavingBrightness": 5
}
}

Zapisuje ustawienia do pliku w folderze głównym / karty SD.

POST /api/cmd/settings/export/

Parametry żądania:

PoleTypOpis
filenamestringNazwa pliku w formacie FAT-32 DOS (8.3).

Przykładowe żądanie:

{
"filename": "sgs.bin"
}

Wczytuje ustawienia z pliku w folderze głównym / karty SD.

POST /api/cmd/settings/import/

Parametry żądania:

PoleTypOpis
filenamestringNazwa pliku w formacie FAT-32 DOS (8.3).

Przykładowe żądanie:

{
"filename": "sgs.bin"
}

Resetuje wszystkie ustawienia urządzenia do wartości domyślnych.

POST /api/cmd/settings/reset/

Przykładowe żądanie:

{}