POST /api/settings/set/
Częściowo zaktualizuj zapisane ustawienia (semantyka scalania).
Uwierzytelnianie: Bearer (powerUser).
Żądanie
Dział zatytułowany „Żądanie”{ "access": { "devPasswordEnable": true, "devPassword": "Ab12", "webUserPassEnable": true, "webPwrPassEnable": true, "modbusPasswordEnable": true }, "network": { "dhcpEnable": false, "ipAddress": "192.168.1.77", "subnetMask": "255.255.255.0", "gateway": "192.168.1.1" }, "vpnWireguard": { "enabled": true, "autoConfigEnable": false, "privateKey": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", "address": "10.8.0.2/24", "peerPublicKey": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", "peerHostname": "vpn.example.com", "peerPort": 51820, "allowedIps": ["0.0.0.0/0", "10.20.0.0/16"], "keepaliveSec": 25 }, "recorder": { "enabled": true, "periodSec": 120 }}Pola żądania
Dział zatytułowany „Pola żądania”- Wszystkie grupy najwyższego poziomu są opcjonalne:
general,dateTime,display,access,recorder,network,ntp,web,modbus,vpnWireguard,channels,protection. - Grupa
metajest przeznaczona tylko do odczytu. - Obiekty zagnieżdżone są aktualizowane częściowo (scalane).
- Pominięcie pola hasła oznacza „nie zmieniaj hasła”.
- Tablice są zastępowane w całości:
network.dns,vpnWireguard.allowedIps,channels.items,protection.trip.channels,protection.alarm.channels,protection.fan.channels.
Walidacja
Dział zatytułowany „Walidacja”- Nieznane klucze są niedozwolone →
400 ERROR_INVALID_VALUE. - Typ wartości musi być zgodny ze schematem.
- Tablice kanałów muszą mieć długość
4. sensorTypeIdmusi odpowiadać wartości zGET /api/reference/sensor-types/.- Treść żądania ≤
4096bajtów.
Ograniczenia pól zapisywalnych
Dział zatytułowany „Ograniczenia pól zapisywalnych”Poniższe ograniczenia odpowiadają walidacji oprogramowania układowego w Application/User/settings.h.
general.logDebugMask:0..65535(maska bitowa,bit0= WireGuard).dateTime.timezoneOffset:-720..840minut.dateTime.dst.mode:0..3.dateTime.dst.deltaMin:0..180minut.display.contrast:0..64.display.activeBacklightPercent:0..100.display.idleBacklightEnable:true | false.display.idleBacklightPercent:0..100.display.idleTimeoutSec:30..3600sekund.access.devPasswordEnable,access.webUserPassEnable,access.webPwrPassEnable,access.modbusPasswordEnable:true | false;falsewyłącza weryfikację odpowiedniego hasła bez usuwania zapisanej wartości.access.devPassword: ciąg o długości4..23znaków.access.webUserPass,access.webPwrPass,access.modbusPassword: ciąg o długości8..23znaków.- Dozwolone znaki hasła: cyfry
0–9, litery alfabetu łacińskiegoA–Z,a–zoraz znaki.,-,_,:,/,@. - Hasło
null, pusty ciąg, wartość zbyt krótka lub zbyt długa albo nieprawidłowy znak →400 ERROR_INVALID_VALUE. - Aby pozostawić hasło bez zmian, pomiń to pole. Stan ochrony zmienia się niezależnie za pomocą odpowiedniej flagi
...PasswordEnable. recorder.enabled:true | false.recorder.periodSec:5..3600sekund.ntp.syncPeriodSec:300..86400sekund.ntp.server1,ntp.server2: maksymalnie31znaków każdy.web.port:1..65535.web.vpnTrusted:true | false.web.vpnAccessLevel:0..2(password,user,powerUser);0używa standardowej autoryzacji hasłem.modbus.unitId:0..247;0— akceptuje żądania z dowolnym identyfikatorem jednostki.modbus.port:1..65535.modbus.timeoutSec:1..3600sekund.modbus.protectMode:0..2(none,write-protect,read-write-protect).modbus.vpnAccessLevel:0..3(disabled,password,read-only,read-write).vpnWireguard.autoConfigEnable:true | false.vpnWireguard.autoConfigUrl: adres URL serwera automatycznej konfiguracji.vpnWireguard.privateKey: ciąg base64 WireGuard dla statycznego klucza prywatnego. Pusty ciąg""usuwa klucz.vpnWireguard.address: ciąg IPv4 CIDR, na przykład10.8.0.2/24. Pusty ciąg""usuwa adres.vpnWireguard.peerPublicKey: ciąg base64 WireGuard dla statycznego klucza publicznego partnera. Pusty ciąg""usuwa klucz.vpnWireguard.peerHostname: nazwa hosta partnera.vpnWireguard.peerPort:1..65535.vpnWireguard.allowedIps: tablica2ciągów IPv4 CIDR. Pusty ciąg""usuwa element.vpnWireguard.keepaliveSec:1..300sekund.channels.filterLevel:1..10.channels.items[].userOffset:-10.0..10.0°C.channels.items[].ptcMinikaNominal:60.0..180.0°C.channels.items[].linked:0..1; gdy próg albo histereza TRIP/ALARM/FAN zostaną zapisane dla kanału połączonego, wartość jest automatycznie kopiowana do wszystkich połączonych kanałów.protection.trip.delaySec,protection.alarm.delaySec,protection.fan.delaySec,protection.fault.delaySec:0..60sekund.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.
Odpowiedź 200
Dział zatytułowany „Odpowiedź 200”{}- Gdy
vpnWireguard.autoConfigEnable = false, statyczne parametry WireGuard zvpnWireguardsą zapisywane i używane. - Gdy
vpnWireguard.autoConfigEnable = true, statyczne parametry WireGuard mogą pozostać zapisane w ustawieniach, ale są ignorowane podczas działania; konfiguracja jest pobierana z interfejsu API tożsamości usługi w trybie Overvis.