All keys can be sent from the server (…/<mac>/config, retained JSON), from the web interface (Configuration tab), or over USB serial as one JSON line. N = slot number. Keys marked reboot make the node restart about 1 second after being applied; otherwise they take effect immediately. How cfg_ver, rejected, and the retained rules work is in Config and reports .
Note
Rules, Modbus sources, profiles, and telemetry groups are not config keys; each has its own topic and version (Basic concepts ).
Key
Type
Default
Notes
mqtt_host
text, max. 63
auto
auto = gateway IP from DHCP. reboot
mqtt_mode
enum
auto
auto, mqtt3, mqtt5, mqtts3, mqtts5 (Network and connection modes ). reboot
mqtt_port
integer 0 … 65535
0
non-TLS port; 0 = the type’s default (11883 / 11884). reboot
mqtts_port
integer 0 … 65535
0
TLS port; 0 = 18883. reboot
mqtt_ca
PEM text, max. 3000
empty
private CA for TLS, replacing the public bundle. Its value is not in the report, only its summary. reboot
ntp_server
text, max. 63
auto
NTP server. Effective list in ntp_server_effective. reboot
workspace, channel
text, max. 64
empty
both filled = direct mode. reboot
mqtt_user, mqtt_pass
text, max. 64 / 128
empty
direct mode: device ID and device key. mqtt_pass is write-only. reboot
label
text, max. 20
empty
location name on the LCD
hw
text, max. 8
A
hardware revision, set during assembly
Key
Type
Default
Range
Notes
payload_format
text
flat2 (new units)
flat, senml, flat2
payload format (Payload formats ). reboot
telemetry_interval_ms
integer
10000
5000 … 3600000
regular send interval
temp_report_delta_c
decimal
0.5
0 … 20
send early if a slot’s temperature changes by this much; 0 = disabled
power_report_delta_w
decimal
10
0 … 5000
send early if power changes by this many watts (absolute); 0 = disabled
hist_kb
integer
2048
0 … 6144
history buffer in PSRAM (KiB), direct mode only with flat2. 0 = disabled. hist_effective_kb in the report = the size actually active. reboot
Telemetry is also sent early when the alarm level changes and when a sensor disappears or returns; the minimum gap between sends is 2 seconds.
Key
Type
Default
Notes
pzem
boolean
true
the PZEM-004T is read and power metrics are sent
sht41
boolean
false
SHT41 installed. reboot
temp_autobind
boolean
true
a new DS18B20 is automatically bound to the lowest empty temperature slot
Key
Type
Default
Range
Notes
tN_en
boolean
true
false turns the slot off
tN_label
text
T1…
max. 12 ASCII
name for humans and the LCD
tN_name
text
empty
[a-z][a-z0-9_], max. 24
metric name; empty = slot ID
tN_rom
text
empty
16 hex starting with 28
the ROM of the bound sensor
tN_offset_c
decimal
0
−10 … 10
calibration
tN_warn_c, tN_alarm_c
decimal
-1
−1 … 125
per-slot limits; -1 = follow default, 0 = disabled
Key
Type
Default
Range
Notes
dN_type
text
off
off, door, ups, water, smoke, generic
dN_active
text
high
high, low
the pin level that means active
dN_name
text
empty
like tN_name
metric name
dN_label
text
D1…
max. 11 ASCII
dN_text_true, dN_text_false
text
empty
max. 8 ASCII
LCD status text
dN_alarm
boolean
false
may trigger an alarm
dN_alarm_on
text
active
active, inactive
dN_alarm_delay_s
integer
-1
−1 … 3600
-1 = follow alarm_delay_s
Key
Type
Default
Notes
oN_en
boolean
false
slot enabled
oN_active
text
low
high / low: the pin level that means ON
oN_label
text
O1…
max. 11 ASCII
oN_name
text
empty
metric name
Key
Type
Default
Range
Notes
temp_warn_c
decimal
30
0 … 125
default temperature warning; must be < temp_alarm_c
temp_alarm_c
decimal
35
0 … 125
default temperature alarm
temp_alarm_hyst_c
decimal
1
0 … 10
temperature hysteresis
alarm_delay_s
integer
30
0 … 3600
delay for all alarms
volt_min_v, volt_max_v
decimal
0
0 … 300
volt_min_v < volt_max_v
current_max_a
decimal
0
0 … 100
power_max_w
decimal
0
0 … 25000
alarm_buzzer
boolean
true
buzzer on alarm
maintenance_until
integer
0
epoch seconds
maintenance mode; needs a synchronized clock
Key
Type
Default
Range
Notes
lcd
boolean
true
LCD installed. reboot
lcd_backlight_s
integer
120
0 … 3600
0 = always on
lcd_idle_s
integer
60
0 … 3600
return to the Summary; 0 = never
tz_offset_min
integer
420
−720 … 840
time zone of the LCD clock and rule schedules
buttons_locked
boolean
false
the Actions item in the LCD menu is disabled
exp_addr
integer
33 (0x21)
32 … 39 or 56 … 63
PCF8574 I2C address. reboot
lcd_addr
integer
0
0 or like exp_addr
0 = automatic; must not equal exp_addr. reboot
Key
Type
Notes
fw_version
text
target version; empty = no target
fw_url
text
.bin address; starting with / = from the gateway
fw_sha256
text
the file’s SHA-256, 64 hex
Details: Firmware and OTA .
Apply to tN_name, dN_name, oN_name, and Modbus source metric names:
lowercase letters, digits, _; starts with a letter; max. 24 characters;
unique across all slots (an empty name counts as the slot ID); swapping the names of two slots in one message is allowed;
must not start with alarm_, rule_, flag_, src_, and must not be a fixed name: voltage, current, power_draw, energy, frequency, power_factor, temp_ambient, humidity, maintenance, uptime, heap_free, state, fw, model, hw, ip, gateway, button;
renaming starts a new data series; moving a name to another slot does not.