Control widgets are the interactive half of a dashboard: they send commands to
devices or capture user input. Every widget shares the four-tab properties model
(General / Style / Triggers / Data ) and the common Style
controls below; each section here focuses on a widget’s distinctive settings.
Common Style controls (on most widgets): background, border (color / width /
radius / style), font (family / size / weight), padding/margin, container
visibility, and box shadow. They behave the same everywhere, so they’re not
repeated per widget below.
A momentary or command button. Sends a device command when pressed.
Setting Purpose Normal / Pressed text Label in each state Button icon · icon size · icon position Optional icon Button shape · size Pill, rounded, square; sizing Device command The command sent on press Animation · hover/active scale · box shadow Press feedback and motion
Pairs with firmware’s command handler — see Binding Data .
Switch
A latching on/off toggle. Sends a command on each toggle.
Setting Purpose Initial state ON or OFF at load ON / OFF text · ON / OFF label text State text and labels Show text labels · show icon · icon size Visibility of labels and icon Status color · label color State coloring Container shape Pill / rounded / square
Slider
A range input. Sends its value as it moves.
Setting Purpose Min / Max / Default value Range and starting value Custom width Track width Gradient track Colored gradient fill Haptic feedback Vibration on change (supported devices) Animate value · icon color/size Motion and icon
Text Input
Captures text (and more) and submits it.
Setting Purpose Input type Text, select, checklist, etc. Placeholder · default value Prompt and initial text Max length · Pattern (Regex) Validation Select / Checklist options One per line, for choice inputs Enable QR scan Scan a code into the field Show submit / clear button · submit label Actions
A multi-field input form. Each field has its own ID, label, type, default, and
validation.
Setting Purpose Field ID · Field Label · Field Type Per-field definition Default value · Max length · Max value Per-field validation Focus / Error border Validation states
A form that writes directly to a product database table.
Setting Purpose Auto-generate fields from table schema Build fields from the table Field label · type · placeholder · options · required Per-field config Submit button label Action Reset after submit Clear on success
Writes to the product database — see db for the
programmatic equivalent.
Color Picker
Pick a color and emit it in a chosen format.
Setting Purpose Picker type · orientation · size The picker UI Output format hex / rgb / hsl, etc. Allow alpha / opacity Transparency channel Color presets · swatch size · grid columns Preset palette Validate hex format · read-only · disabled Behavior
Joystick
A two-axis joystick — emits X/Y values. Good for movement and direction.
Setting Purpose Min / Max value Output range per axis Dead zone Ignore tiny movements near center Sensitivity Output scaling Joystick size · custom size Dimensions Base / Handle color Appearance
Countdown Timer
A configurable countdown with completion actions.
Setting Purpose Initial duration (H/M/S) Starting time Auto start · show controls Behavior Show progress bar · progress color · show milliseconds Display Execute action on complete Fire a command at zero Show notification · title · message · play sound · sound URL Completion alert
Schedule Manager
Lists and manages device schedules.
Setting Purpose Device ID (optional) Scope to one device Max schedules to display List length List layout · item spacing/background Layout Show status / date / last executed Columns Show action buttons Edit/run controls
Rule Manager
Lists and manages automation rules.
Setting Purpose Max rules to display List length Show description / status Columns Show action buttons Edit/run controls List layout · item spacing/background Layout
WebRTC Camera
Publishes a camera stream over WebRTC.
Setting Purpose Camera ID · Room name Stream identity Server URL WebRTC signaling server Preferred camera Front/back/device Auto connect · Auto stream Start behavior Enable audio Include microphone
Voice to Text
Transcribes speech to text.
Setting Purpose Language Recognition language Continuous recognition Keep transcribing Always listening Hands-free Auto-send on speech end Emit on pause
Spotify Player
A media player with command bindings.
Setting Purpose Play / Pause / Next / Previous command IDs Commands sent for each control Show album artwork · album art URL Artwork Show playback controls Transport buttons Default volume · repeat mode · autoplay Playback API credentials Spotify integration
Charges a user for an action or unlock. See
Payment Widget for the monetization context.
Setting Purpose Action type What the payment unlocks/does Amount · currency · currency position Price Button label · button variant Call to action Command endpoint The action invoked on success Description · amount/description styling Presentation Error icon / title / message Failure state
Display widgets The widgets that visualize device data.