Skip to content

Settings

Read settings from active or saved area.

  • Active area: Current settings the device is working with.
  • Saved area: Settings saved in non-volatile memory, applied at next startup.

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

Access Level: 🟨 1

Example Response:

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

Write settings to the saved area.

POST /api/settings/saved/set/

Access Level: 🟨 1

Example Request:

{
"key": "value"
}

Response:

Empty JSON upon success.

{}

The following keys can be used with GET and POST requests for settings.

KeyDescriptionAccess Level
timeGmtGMT time offset correction🟨 1
ethernetEthernet interface settings🟨 1
wifiWi-Fi module settings🟨 1
ownSrvConnection to own server🟨 1
wgCloudCloud VPN connection settings🟨 1
wgManualCustom WireGuard VPN parameters🟨 1
cbCloudCloud Modbus connection settings🟨 1
aresetAutomatic reset settings🟨 1
protectDevice protection parameters🟨 1
downloadFile server settings🟨 1
firmwareFirmware management🟨 1
httpdBuilt-in HTTP server parameters🟨 1
languageInterface language🟨 1
serialSerial port settings🟨 1
astroAstronomical settings (sunrise/sunset)🟨 1
ntpNTP time synchronization settings🟨 1
tsModeDaylight saving time mode🟨 1
tsManualManual daylight saving time settings🟨 1
logFlagsLogging flags🟨 1
loraLoRa interface settings🟨 1
lorasensDevicesBound LoraSens devices list🟨 1
rmSrvRemote control server🟨 1
forwardingPort forwarding table🟨 1
tasksLoggingProgrammable logic data logging settings🟨 1
powerSavingPower and resource saving settings🟨 1

Time zone management (GMT offset).

Request Parameters:

ParameterTypeDescription
timeGmtintegerGMT offset in 15-minute intervals (from -96 to +96).

Example Request:

{
"timeGmt": 8
}

Note: 8 means +2 hours offset (8 × 15 minutes).

Ethernet interface settings.

Request Parameters:

ParameterTypeDescription
ethernetobject
dhcpEnablebooleantrue — enable DHCP on Ethernet interface; false — disable.
dhcpKeepAddressEnablebooleantrue — if DHCP is enabled, keep the leased address until the new is acquired; false - forget the address after lease has expired.
dhcpAggressiveRenewEnablebooleantrue — if DHCP is enabled, shorten the address renewal intervals, to keep it leased; false - use normal renewal at 50% lease period.
macManualEnablebooleantrue — use custom MAC address.
dnssGateEnablebooleantrue — use gateway address as primary DNS.
ipstringEthernet interface IP address.
maskstringEthernet interface subnet mask.
gatestringEthernet interface gateway.
ipDnssarrayArray of 2 DNS server IP addresses for Ethernet.
macManualstringCustom MAC address for Ethernet interface.

Example Request:

{
"ethernet": {
"dhcpEnable": true,
"dhcpKeepAddressEnable": true,
"dhcpAggressiveRenewEnable": 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"
}
}

Wi-Fi module settings.

Request Parameters:

ParameterTypeDescription
wifiobject
dhcpEnablebooleantrue — enable DHCP on Wi-Fi interface, false — disable DHCP
apEnablebooleantrue — enable access point mode (SSID starting wtih MC261, administrator password usually on the device label, with DHCP, address of 192.168.4.1 and HTTP server, while Modbus TCP server is unavailable), false - disable (station mode, join the external point, Modbus TCP server can be enabled)
ipstringWi-Fi interface IP address.
maskstringWi-Fi interface subnet mask.
gatestringWi-Fi interface gateway.
ipDnssarrayArray of 2 DNS server IP addresses for Wi-Fi.
dnssGateEnablebooleantrue — use gateway address as primary DNS.
apChannelinteger / nullChannel used in access point mode (from 1 to 13, or null for automatic channel select).
txPowerLimitPercentintegerTransmission signal power limit, 20.5dBm * x (from 0 to 100), 0 - module is disabled.
apSsidstringAccess point name, which the device should connect to in station mode (up to 32 characters).
apPasswordstringAccess point password, which the device should connect to in station mode (up to 24 characters).

Example Request:

{
"wifi": {
"dhcpEnable": true,
"apEnable": false,
"ip": "192.168.1.116",
"mask": "255.255.255.0",
"gate": "192.168.1.1",
"dnssGateEnable": true,
"ipDnss": ["8.8.8.8", "1.1.1.1"],
"apChannel": null,
"txPowerLimitPercent": 100,
"apSsid": "Gateway2.4",
"apPassword": "example-pass"
}
}

Connection to own server.

New values of these parameters take effect immediately after they are written by an API request.

Request Parameters:

ParameterTypeDescription
ownSrvobject
vUidinteger / nullVirtual Modbus device address (1-255), or null to disable.
mbeRointeger / nullModbus exception code for access denied (1-255), or null to disable response.
mbeTointeger / nullModbus exception code for timeout (1-255), or null to disable response.
mbePuinteger / nullModbus exception code for send error (1-255), or null to disable response.
ethListenPortintegerTCP server port on Ethernet interface (1-65535).
delayForKeepaliveSecinteger / nullTCP server keep-alive time (0-36000 sec), or null to disable.
atmListenPortinteger / nullTCP server port on Wi-Fi interface (1-65535), or null to disable.
ethClientsProtocolintegerData protocol for Ethernet TCP server: 1 - RAW, 2 - ModbusTCP.
atmClientsProtocolintegerData protocol for Wi-Fi TCP server: 1 - RAW, 2 - ModbusTCP.

Example Request:

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

Cloud VPN connection settings.

Request Parameters:

ParameterTypeDescription
wgCloudobject
hostnamestringVPN server hostname (max 46 chars).
connPortintegerVPN server TCP port (1-65535).
connModeinteger / nullConnection mode: null (disabled), 1 (Eth pref), 2 (Wi-Fi pref), 3 (Eth only), 4 (Wi-Fi only).
delayForKeepaliveSecintegerVPN server keep-alive time (0-36000 sec).
delayForConnSecintegerDelay between connection attempts (1-30000 sec).

Example Request:

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

Custom WireGuard VPN settings.

Request Parameters:

ParameterTypeDescription
wgManualobject
hostnamestringVPN server hostname (max 46 chars).
connPortintegerVPN server TCP port (1-65535).
connModeinteger / nullConnection mode: null (disabled), 1 (Eth pref), 2 (Wi-Fi pref), 3 (Eth only), 4 (Wi-Fi only).
ipstringDevice IP address in VPN network.
maskstringDevice subnet mask.
deviceKeystringDevice private key (base64).
peerPublicKeystringRemote peer public key (base64).

Example Request:

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

Cloud Modbus connection settings.

Request Parameters:

ParameterTypeDescription
cbCloudobject
hostnamestringServer hostname (max 46 chars).
connPortintegerServer TCP port (1-65535).
connModeinteger / nullConnection mode: null (disabled), 1 (Eth pref), 2 (Wi-Fi pref), 3 (Eth only), 4 (Wi-Fi only).
delayForKeepaliveSecintegerServer keep-alive time (0-36000 sec).
delayForConnSecintegerDelay between connection attempts (1-240 sec).

Example Request:

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

Automatic reset settings.

Request Parameters:

ParameterTypeDescription
aresetobject
delayMinintegerTime before automatic restart (5-7200 min).
modeinteger / nullnull - Disabled; 1 - Reset after delayMin uptime; 2 - Reset after delayMin of no Modbus activity.

Example Request:

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

Device protection parameters.

Request Parameters:

ParameterTypeDescription
protectobject
mbGateWriteEnablebooleanfalse - disable write to connected Modbus devices.
mbGateReadEnablebooleanfalse - disable Modbus read.
wgCloudAdminAuthEnablebooleantrue - grant Admin (🟥 2) access to all Cloud requests.
wgManualAdminAuthEnablebooleantrue - grant Admin (🟥 2) access to all WireGuard VPN requests.
passwordAdminstringDevice administrator password (5-10 ASCII chars, no spaces).
passwordMbGateWritestringPassword for writing to connected Modbus devices (0-10 chars). "" disables check.
passwordMbReadstringPassword for Modbus read (0-10 chars). "" disables check.

Example Request:

{
"protect": {
"mbGateWriteEnable": true,
"mbGateReadEnable": true,
"wgCloudAdminAuthEnable": true,
"wgManualAdminAuthEnable": false,
"passwordAdmin": "11111",
"passwordMbGateWrite": "",
"passwordMbRead": ""
}
}

File server settings.

Request Parameters:

ParameterTypeDescription
downloadobject
connModeinteger / nullConnection mode: null (disabled), 1 (Eth pref), 2 (Wi-Fi pref), 3 (Eth only), 4 (Wi-Fi only).
loadRatiointegerDownload speed limit (1-50 % of max bandwidth).
delayForConnSecintegerDelay between connection attempts (1-30000 sec).

Example Request:

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

Firmware management.

Request Parameters:

ParameterTypeDescription
firmwareobject
checkPeriodSecinteger / nullUpdate check period (1-1000000 sec), or null to disable.
downloadPeriodHrinteger / nullAutomatic download period (0-1439 hours), or null to disable.
updateHourinteger / nullHour of day for automatic update (0-23), or null to disable.
automaticDowngradeEnablebooleanfalse - automatic update only to a newer version.
urlstringUpdate source URL (1-96 ASCII chars, no spaces).

Example Request:

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

Built-in HTTP server parameters.

Request Parameters:

ParameterTypeDescription
httpdobject
portintegerWeb interface port (1-65535).
freeAccessSecintegerOpen access time after button press (5-3600 sec).

Example Request:

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

Interface language code.

Note: If the display does not support the specified code, English will be used.

Request Parameters:

ParameterTypeDescription
languagestringLanguage code: en - English; ua - Ukrainian.

Example Request:

{
"language": "en"
}

Serial interface settings.

New values of these parameters take effect immediately after they are written by an API request.

Request Parameters:

ParameterTypeDescription
serialobject
uidRangestringModbus UID address range (e.g., 112-255).
hdxModeintegerHalf-duplex mode: 0 - slave; 1 - master; 2 - raw mode.
charFormatintegerByte format: 0-5 (see Modbus section).
baudRateintegerBaud rate (75-230400 bps).
frameModeintegerFrame format: 0 - RTU, 1 - ASCII.
delayForRtuQintegerRTU character delay multiplier (2ⁿ): 0-5.
delayForRtuMsintegerRTU response delay (0-60000 ms).
delayForAsciiMsintegerASCII character delay (0-60000 ms).

Example Request:

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

Astronomical settings (sunrise/sunset).

Request Parameters:

ParameterTypeDescription
astroobject
longDegintegerLongitude degrees (0-179).
longMinintegerLongitude minutes (0-59).
longSecintegerLongitude seconds (0-59).
latDegintegerLatitude degrees (0-179).
latMinintegerLatitude minutes (0-59).
latSecintegerLatitude seconds (0-59).
quadrantintegerQuadrant: 0 - N/E; 1 - N/W; 2 - S/E; 3 - S/W.
sunZenithTypeintegerZenith type: 0 - Official; 1 - Civil; 2 - Nautical; 3 - Astronomical.

Example Request:

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

NTP time synchronization settings.

Request Parameters:

ParameterTypeDescription
ntpobject
hostnamesarrayArray of NTP server hostnames (max 20 chars each).
connModeinteger / nullConnection mode: null (disabled), 1 (Eth pref), 2 (Wi-Fi pref), 3 (Eth only), 4 (Wi-Fi only).
syncPeriodHrintegerSynchronization period (0-240 hours).
syncDiffSecintegerSynchronization threshold (0-180 sec).

Example Request:

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

Daylight saving time mode.

Request Parameters:

ParameterTypeDescription
tsModeinteger / nullDST Mode: null (Disabled), 1 (Brazil), 2 (UK), 3 (Germany), 4 (Greece), 5 (Jordan), 6 (Italy), 7 (Namibia), 8 (Poland), 9 (Portugal), 10 (USA), 11 (Turkey), 12 (Ukraine), 13 (Finland), 14 (France), 15 (Manual - see tsManual).

Example Request:

{
"tsMode": 12
}

Manual daylight saving time settings.

Request Parameters:

ParameterTypeDescription
tsManualobject
bwdDowintegerWinter time transition day of week (1-7, Mon-Sun).
bwdHourintegerWinter time transition hour (0-23).
bwdMonthintegerWinter time transition month (1-12).
bwdWeekintegerWinter time transition week (1-5, 6=last).
fwdDowintegerSummer time transition day of week (1-7, Mon-Sun).
fwdHourintegerSummer time transition hour (0-23).
fwdMonthintegerSummer time transition month (1-12).
fwdWeekintegerSummer time transition week (1-5, 6=last).

Example Request:

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

Logging settings.

Request Parameters:

ParameterTypeDescription
logFlagsobject
atmbooleanWi-Fi interface logging into /LOGS/ATM.LOG file (true/false).
systembooleanSystem event logging into /LOGS/SYS.LOG file (true/false).
lwipbooleanLWIP protocol system event logging (true/false).
forwardingbooleanPort forwarding system event logging (true/false).
wireguardbooleanWireGuard system event logging (true/false).
tasksbooleanTasks programmed system event logging (true/false).
apibooleanHTTP REST-API system event logging (true/false).
lorabooleanLoRa interface system event logging (true/false).
restartsbooleanRestart event logging into /LOGS/RESTARTS.LOG file (true/false).

Example Request:

{
"logFlags": {
"atm": true,
"system": true,
"lwip": false,
"forwarding": false,
"wireguard": true,
"tasks": true,
"api": true,
"lora": false,
"restarts": true
}
}

LoRa interface settings.

Request Parameters:

ParameterTypeDescription
loraobject
uplinkFrequencyKhzintegerDevice to МС261 transmit frequency (from 864025 to 869175)
downlinkFrequencyKhzintegerМС261 to device transmit frequency (from 864025 to 869175)
bandwidthDividerintegerBandwidth divider, 1000kHz / x (2, 4, 8, 16, 24, 32, 48, 64, 96 or 128).
spreadingFactorintegerSpreading factor (from 6 to 12).
codingRateDividerintegerCoding rate divider, 4 / x (from 5 to 8).
txPowerLimitPercentintegerTransmit signal power limit, 17dBm * x (from 0 to 100).
pollingPeriodMsintegerPoll period, ms (from 50 to 5000).

Example Request:

{
"lora": {
"uplinkFrequencyKhz": 868175,
"downlinkFrequencyKhz": 868100,
"bandwidthDivider": 16,
"spreadingFactor": 7,
"codingRateDivider": 5,
"txPowerLimitPercent": 100,
"pollingPeriodMs": 500
}
}

Bound LoraSens devices settings.

Request Parameters:

ParameterTypeDescription
lorasensDevicesarrayArray of objects (from 0 to 40 devices)
didstringUnique device identifier (acquired at bind procedure).
titlestringUser device name, up to 16 characters
deviceKindCodeintegerManufacturer’s device identifier (from 1 to 65535; 43 - LTH-1, 44 - LWG-1)
firmwareVersionintegerDevice firmware version (from 1 to 65535)
txPowerLimitPercentintegerMinimal required transmission signal power, 17dBm * x (from 0 to 100).
passwordintegerDevice write password, set at bin procedure (from 0 to 2147483647).
linkPeriodSecintegerLink seance period (from 0 to 2147483647 seconds)

Example Request:

{
"lorasensDevices": [
{
"did": "139572548502",
"title": "Sensor 15",
"deviceKindCode": 46,
"firmwareVersion": 17,
"txPowerLimitPercent": 50,
"password": 197345013,
"linkPeriodSec": 60
},
{
"did": "286593735491",
"title": "Sensor 20",
"deviceKindCode": 46,
"firmwareVersion": 17,
"txPowerLimitPercent": 50,
"password": 1835506362,
"linkPeriodSec": 300
}
]
}

TCP client settings (Remote Servers).

New values of these parameters take effect immediately after they are written by an API request.

Request Parameters:

ParameterTypeDescription
rmSrvarrayArray of 3 server objects.
ipstringServer IP address.
connPortintegerConnection port (1-65535).
delayForRcvMsintegerReceive delay (1-60000 ms).
delayForConnSecintegerDelay between connections (1-30000 sec).
connModeinteger / nullConnection mode: null (disabled), 1 (Eth pref), 2 (Wi-Fi pref), 3 (Eth only), 4 (Wi-Fi only).
gateUidinteger / nullMC261 compatible gateway UID (1-255), or null if unknown.
uidRangestringUID range (e.g., 1-110).
passwordstringPassword for MC261 compatible gateway.
protocolintegerProtocol: 1 - RAW, 2 - ModbusTCP.
virtualUidsbooleanVirtual UIDs (true/false).

Example Request:

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

Port forwarding settings (Ethernet to GSM only).

Request Parameters:

ParameterTypeDescription
fwdarrayArray of 4 forwarding objects.
listenPortinteger / nullLocal listening port (null to disable, or 1-65535).
isUdpbooleantrue for UDP, false for TCP.
serverAddrstringRemote server host address. (If listenPort: 53 & isUdp: true & serverAddr: "", uses DNS settings).
serverPortintegerRemote server port (1-65535).

Example Request:

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

Programmable logic data logging settings.

Note: Logging is only available when an SD card is installed.

Request Parameters:

ParameterTypeDescription
tasksLoggingobject
formatinteger / nullLog file format:
null - logging disabled;
1 - compact binary format .DAT;
2 - text table .CSV with semicolon delimiter;
3 - text table .CSV with comma delimiter;
4 - text table .CSV with tab delimiter;
5 - text table .CSV without headers, semicolon delimiter;
6 - text table .CSV without headers, comma delimiter;
7 - text table .CSV without headers, tab delimiter.
storeIntervalDaysinteger / nullPeriod during which log files are not overwritten (logger mode).
null - disables old data deletion (disables logger mode).
fileSizeLimitKbintegerFile size limit (minus 1 kilobyte, 0 to 65535).

Example Request:

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

Power and resource saving settings.

Request Parameters:

ParameterTypeDescription
powerSavingobject
bodVoltageintegerMinimum supply voltage in mV, below which the SD card will be safely unmounted (from 0 to 24000)
delayForDisplaySavingMinintegerTime till the display saving mode is entered (from 5 to 30).
displaySavingBrightnessintegerBrightness in the display saving mode, in percents. (from 0 to 50).

Example Request:

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

Saves settings to a file in the root folder / of the SD card.

POST /api/cmd/settings/export/

Request Parameters:

FieldTypeDescription
filenamestringFilename in FAT-32 DOS (8.3) format.

Example Request:

{
"filename": "sgs.bin"
}

Loads settings from a file in the root folder / of the SD card.

POST /api/cmd/settings/import/

Request Parameters:

FieldTypeDescription
filenamestringFilename in FAT-32 DOS (8.3) format.

Example Request:

{
"filename": "sgs.bin"
}

Resets all device settings to default values.

POST /api/cmd/settings/reset/

Example Request:

{}