Skip to main content

Configuration (config)

Device settings are read and written with the config command over the developer shell. See Firmware Setup for setting up the firmware and opening the console.

Firmware v1.4.0

The config command and most parameters on this page apply to STICKER firmware v1.4.0. Key updates in v1.4.0 include:

  • Radio-Silent Factory Default: The radio is disabled by default (radio-mode off) to save power until activated via NFC using HARDWARIO Manager or shell.
  • Encrypted NFC Access: AES-CCM encrypted local command channel (hio.stck:cmd / hio.stck:rsp) with anti-replay nonce protection.
  • Write-Once Claim Token: Immutable provisioning token (config claim-token) for secure cloud onboarding.
  • Link Supervision: LoRaWAN link checks (lrw-link-check-interval, lrw-link-check-fail-rejoin).
  • Sensor History: Buffer and replay capabilities (see Sensor History).
Field vs. Developer Configuration

While this page documents interactive shell commands (config) accessed via an RTT debug connection, standard field configuration and commissioning are performed wirelessly over NFC using HARDWARIO Manager.


Command Syntax

config <subcommand> [value]
  • Called without a value, the subcommand reads and prints the current setting.
  • Called with a value, it writes the new setting.

Print every current value at once:

config show
Saving changes

A config write updates the setting in RAM and takes effect immediately, but it is not persisted until you run settings save, which writes the configuration to flash and reboots the device (see Maintenance). A change that is not saved is lost on the next power cycle. Alarm rules set with the alarm command (see Alarm Rules) persist immediately and do not reboot.


Sampling and Reporting Intervals

CommandArgumentDescription
config interval-sample0, or 5-3600 (seconds)How often sensors are sampled. 0 means sample once, immediately before each report.
config interval-report60-86400 (seconds)How often an uplink report is sent. Default 900 (15 minutes).

Example - report every 10 minutes:

config interval-report 600
settings save

LoRaWAN & Radio Settings

CommandArgumentDescription
config radio-modeon / offEnable or disable the LoRaWAN radio. Default in v1.4.0+ is off (Radio-Silent mode).
config lrw-regioneu868 / us915 / au915Frequency region.
config lrw-sub-band0-8US915/AU915 sub-band. 0 = all channels. Default 2.
config lrw-networkpublic / privateNetwork type.
config lrw-activationotaa / abpActivation method.
config lrw-adrtrue / falseAdaptive Data Rate (ADR).
config lrw-deveui16 hex digitsDevice EUI.
config lrw-joineui16 hex digitsJoin EUI (AppEUI).
config lrw-nwkkey32 hex digitsNetwork Key (OTAA).
config lrw-appkey32 hex digitsApplication Key (OTAA).
config lrw-devaddr8 hex digitsDevice Address (ABP).
config lrw-nwkskey32 hex digitsNetwork Session Key (ABP).
config lrw-appskey32 hex digitsApplication Session Key (ABP).
config lrw-link-check-interval0-255Request a LinkCheckReq every Nth uplink. 0 = disabled. Default 5.
config lrw-link-check-fail-rejoin1-255Link-check failures before an OTAA rejoin is attempted. Default 5.

Example - EU868 with OTAA and enabling radio transmission:

config lrw-region eu868
config lrw-activation otaa
config lrw-deveui 0102030405060708
config lrw-joineui 0807060504030201
config lrw-appkey 0102030405060708090A0B0C0D0E0F10
config radio-mode on
settings save

Sensors and Capabilities

Capability flags tell the firmware which hardware is present on a given variant. They are normally set during factory provisioning and should not be changed in the field.

CommandArgumentDescription
config cap-barometertrue / falseBarometric pressure sensor present.
config cap-pir-detectortrue / falsePIR motion detector present.
config cap-light-sensortrue / falseAmbient light sensor present.
config cap-accelerometertrue / falseAccelerometer present (orientation, motion, free-fall).
config cap-w1-sensorstrue / false1-Wire bus enabled; attached sensors are auto-detected on scan.
config cap-hall-lefttrue / falseHall left sensor present.
config cap-hall-righttrue / falseHall right sensor present.
config cap-input-atrue / falseExternal input A present.
config cap-input-btrue / falseExternal input B present.

Sensor Settings:

CommandArgumentDescription
config accel-motion-sensitivityoff / low / medium / highAccelerometer motion-detection sensitivity. Default off, which powers the accelerometer down.
config sensor1-rom ... config sensor4-rom16 hex digitsBind a 1-Wire sensor to slot 1-4 by its ROM serial. All-zero = empty slot.

Pulse Counters

CommandArgumentDescription
config hall-left-countertrue / falseCount pulses on the left hall switch.
config hall-right-countertrue / falseCount pulses on the right hall switch.
config input-a-countertrue / falseCount pulses on external input A.
config input-b-countertrue / falseCount pulses on external input B.

For wiring details (DIP switches, 1-Wire, dry contact, analog), see STICKER Input Wiring.


Device Identity & NFC Security Architecture

These parameters manage device identity, NFC access control, and claim provisioning. They are set during factory provisioning and should not be altered in standard operation.

CommandArgumentDescription
config serial-number10 decimal digitsDevice serial number.
config secret-key32 hex digitsDevice secret key used to secure the local NFC channel via AES-CCM. Readable/writable over shell only.
config nonce-counterIntegerAnti-replay nonce counter enforced on the encrypted NFC and LoRaWAN command channels.
config claim-token32 hex digits128-bit write-once device claim token. Once set during commissioning, it becomes immutable to lock unit ownership to a backend.
config calibrationtrue / falseEnable calibration mode (factory use).

Encrypted NFC Local Access Channel

From firmware v1.4.0 onwards, NFC local read/write transactions are secured against eavesdropping and unauthorized reconfiguration:

  • AES-CCM Security: Smartphone communication via HARDWARIO Manager uses an encrypted AES-CCM channel operating over NDEF records (hio.stck:cmd for requests and hio.stck:rsp for responses).
  • Anti-Replay Mechanism: Each transaction evaluates and increments the nonce-counter to prevent replay attacks from captured NFC sessions.
  • Claim Token Provisioning: The 128-bit claim-token allows a physical unit to be bound to a customer's cloud instance before or during deployment, without requiring an immediate LoRaWAN Join session.