Skip to content

FW 0.12.11 – complete keywords

Every top-level section and nested keyword processed by Controller config in firmware 0.12.11.

These tables are generated from the parser contract. additionalProperties: false marks typos and firmware-ignored fields as warnings; only invalid JSON or a non-object top-level value blocks a write.

controller, wifi, rtc, pwm, ports, io, segments, canvases, temperature, script, scripts, plugins, sensors, ble, console, serial, espnow, ethernet

KeywordType / allowed valuesStatus
namestring /^[A-Za-z0-9_]{1,5}$/supported
brightnessinteger [0..255]supported
powerinteger [0..255]supported
fpsinteger [0..100]supported
upsinteger [10..100]supported
updateablebooleansupported
autosaveboolean or integer [1000..∞]supported
debugboolean or integer [0..5]supported
wifibooleansupported
websocketbooleansupported
btn-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39supported
!btn+-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39supported
_btn-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39supported
led-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33supported
!led+-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33supported
_led-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33supported
button-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39deprecated
KeywordType / allowed valuesStatus
channelinteger [1..13]supported
KeywordType / allowed valuesStatus
type"SYSTEM" | "DS1307" | "PCF8563"supported
sda-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33supported
scl-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33supported
KeywordType / allowed valuesStatus
frequencyinteger [1..∞]supported
KeywordType / allowed valuesStatus
tagstring /^[A-Za-z0-9_]?$/supported
type"WS2805" | "WS2811" | "WS2812" | "WS2812B" | "WS2812D" | "WS2813" | "WS2814" | "WS2815" | "SK6812" | "GS8208" | "APA106"supported
pin-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39supported
tx-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39supported
txinvertedbooleansupported
rx-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39supported
rxinvertedbooleansupported
mappingarray<integer>supported
orderstring (one or two 1–4 character RGBW orders separated by a vertical bar)supported
variantstringsupported
t1integer [0..∞]supported
t2integer [0..∞]supported
t3integer [0..∞]supported
sizeinteger [1..2048]supported
reversedbooleansupported
KeywordType / allowed valuesStatus
<LABEL>string /^[A-Za-z0-9_]{1,5}$/supported
typestringsupported
tagstring /^(?:$|[A-Za-z0-9_].*)$/supported
labelstring /^[A-Za-z0-9_]{1,5}$/supported
namestringsupported
KeywordType / allowed valuesStatus
idinteger [0..255]supported
iostring /^[A-Za-z0-9_]{1,5}$/supported
sizeinteger [1..2048]supported
frominteger [1..2048]supported
tointeger [1..2048]supported
stepinteger [1..2048]supported
KeywordType / allowed valuesStatus
<LABEL>array<string /^[A-Za-z0-9_]{1,5}$/>reserved
KeywordType / allowed valuesStatus
type"NTC"reserved
pin-1 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39reserved
resistanceinteger [1..∞]reserved

This section is a scalar value or collection; see the JSON Schema for its exact shape.

This section is a scalar value or collection; see the JSON Schema for its exact shape.

KeywordType / allowed valuesStatus
type"PowerManage"supported
holdtimeinteger [1..65535]supported
alive-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33deprecated
en-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33supported
!en+-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33supported
_en-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33supported
btn-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39supported
!btn+-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39supported
_btn-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39supported
pin-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39deprecated
!pin+-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39deprecated
_pin-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39supported
button-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39deprecated
KeywordType / allowed valuesStatus
type"PowerManage"supported
holdtimeinteger [1..65535]supported
alive-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33deprecated
en-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33supported
!en+-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33supported
_en-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33supported
btn-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39supported
!btn+-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39supported
_btn-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39supported
pin-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39deprecated
!pin+-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39deprecated
_pin-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39supported
button-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39deprecated
KeywordType / allowed valuesStatus
powerinteger [-128..127]supported
disablebooleansupported
enablebooleansupported
advertisebooleansupported
timeoutinteger [0..∞]supported
KeywordType / allowed valuesStatus
debugboolean or integer [0..5]supported
tx-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39supported
rx-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39supported
baudrateinteger [1..5000000]supported
KeywordType / allowed valuesStatus
baudrateinteger [1..5000000]supported
debugbooleansupported
tx-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39supported
rx-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39supported
enablebooleansupported
KeywordType / allowed valuesStatus
datarate"250K" | "500K" | "1M" | "2M" | "2M_S" | "11M" | "11M_S" | "48M" | "24M" | "12M" | "6M" | "54M" | "36M" | "18M" | "9M"supported
channelinteger [1..11]supported
powerinteger [-128..127]supported
repetitionsinteger [1..24]supported
floorinteger [-128..127]supported
tresholdinteger [-128..127]supported
rebroadcastsinteger [0..24]supported
disablebooleansupported
enablebooleansupported
isolatebooleansupported
timeoutinteger [0..∞]supported
advertisebooleansupported
KeywordType / allowed valuesStatus
variant"LAN8720" | "OLIMEXPOE2" | "OLIMEXPOE"supported
type"IP101" | "RTL8201" | "LAN8720" | "DP83848" | "KSZ8041" | "KSZ8081"supported
ipstring /^(?:25[0-5]|2[0-4][0-9]|1?[0-9]?[0-9])(?:\.(?:25[0-5]|2[0-4][0-9]|1?[0-9]?[0-9])){3}$/supported
gatewaystring /^(?:25[0-5]|2[0-4][0-9]|1?[0-9]?[0-9])(?:\.(?:25[0-5]|2[0-4][0-9]|1?[0-9]?[0-9])){3}$/supported
maskstring /^(?:25[0-5]|2[0-4][0-9]|1?[0-9]?[0-9])(?:\.(?:25[0-5]|2[0-4][0-9]|1?[0-9]?[0-9])){3}$/supported
dnsstring /^(?:25[0-5]|2[0-4][0-9]|1?[0-9]?[0-9])(?:\.(?:25[0-5]|2[0-4][0-9]|1?[0-9]?[0-9])){3}$/supported
hostnamestringsupported
phydetintegersupported
phymdcintegersupported
phymdiointegersupported
phyenintegersupported
phyrstintegersupported
rmiipinintegersupported
rmiimodeintegersupported
timeoutintegersupported
enablebooleansupported
  • io.*.fade — Use fadetime; fade is not a firmware 0.12.11 keyword.
  • segments.*.brightness — Segment brightness is not supported. Set brightness on the referenced io.<label> object instead.
  • controller.!button — Decorated button is invalid. Use !btn; only bare button remains as a deprecated alias.
  • controller.button! — Decorated button is invalid. Use btn!; only bare button remains as a deprecated alias.
  • controller.!button+ — Decorated button is invalid. Use !btn+; only bare button remains as a deprecated alias.
  • controller.button- — Decorated button is invalid. Use btn-; only bare button remains as a deprecated alias.
  • controller._button — Decorated button is invalid. Use _btn; only bare button remains as a deprecated alias.
  • plugins.*.!button — Decorated button is invalid. Use !btn; only bare button remains as a deprecated alias.
  • plugins.*.button! — Decorated button is invalid. Use btn!; only bare button remains as a deprecated alias.
  • plugins.*.!button+ — Decorated button is invalid. Use !btn+; only bare button remains as a deprecated alias.
  • plugins.*.button- — Decorated button is invalid. Use btn-; only bare button remains as a deprecated alias.
  • plugins.*._button — Decorated button is invalid. Use _btn; only bare button remains as a deprecated alias.
  • sensors.*.!button — Decorated button is invalid. Use !btn; only bare button remains as a deprecated alias.
  • sensors.*.button! — Decorated button is invalid. Use btn!; only bare button remains as a deprecated alias.
  • sensors.*.!button+ — Decorated button is invalid. Use !btn+; only bare button remains as a deprecated alias.
  • sensors.*.button- — Decorated button is invalid. Use btn-; only bare button remains as a deprecated alias.
  • sensors.*._button — Decorated button is invalid. Use _btn; only bare button remains as a deprecated alias.
  • I/O and segment labels contain 1..5 characters from A-Z, a-z, 0-9 or underscore.
  • A longer segment-map key is truncated to its first five characters by firmware. Studio warns but keeps the config writable so multiple definitions can intentionally share one five-character segment identifier.
  • Only one I2C I/O entry can be active.
  • DALI maxcolortemp must be greater than or equal to mincolortemp.
  • The I/O referenced by this segment is not defined in this Controller config.
  • Segment size is shorthand for from=1,to=size.
  • Segment brightness is unsupported; brightness belongs on the referenced I/O object.
  • Pin value -1 means not connected for every GPIO pin schema.
  • A leading underscore disables a decorated GPIO member while preserving its pin and electrical decorators in JSON. It must be the first character; use type NC to disable a complete I/O because an underscore in an I/O label is an ordinary label character.
  • DAC order W requires exactly one GPIO 25/26 or -1; RB or an omitted order requires two values from -1, 25 and 26, and connected GPIOs must be unique.
  • ADC inputs are limited to ADC1 GPIOs 32..39 or -1; RTC I2C pins must be output-capable or -1.
  • controller.btn wins over deprecated bare controller.button when both are present. Decorated button aliases are invalid for authoring and must use the btn base; firmware 0.12.11 still tolerates deployed occurrences with a warning.
  • A disabled controller._btn member does not override a separate deprecated controller.button member; remove or rename the legacy member when disabling the button.
  • plugins PowerManage btn wins over deprecated bare button and pin aliases. Decorated button aliases are invalid for authoring and must use the btn base; firmware 0.12.11 still tolerates deployed occurrences with a warning.

Generated from the versioned Spectoda/firmware contract for FW 0.12.11. Do not maintain these tables separately from the firmware contract.