Skip to main content
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.

Button

A momentary or command button. Sends a device command when pressed.
SettingPurpose
Normal / Pressed textLabel in each state
Button icon · icon size · icon positionOptional icon
Button shape · sizePill, rounded, square; sizing
Device commandThe command sent on press
Animation · hover/active scale · box shadowPress feedback and motion
Pairs with firmware’s command handler — see Binding Data.

Switch

A latching on/off toggle. Sends a command on each toggle.
SettingPurpose
Initial stateON or OFF at load
ON / OFF text · ON / OFF label textState text and labels
Show text labels · show icon · icon sizeVisibility of labels and icon
Status color · label colorState coloring
Container shapePill / rounded / square

Slider

A range input. Sends its value as it moves.
SettingPurpose
Min / Max / Default valueRange and starting value
Custom widthTrack width
Gradient trackColored gradient fill
Haptic feedbackVibration on change (supported devices)
Animate value · icon color/sizeMotion and icon

Text Input

Captures text (and more) and submits it.
SettingPurpose
Input typeText, select, checklist, etc.
Placeholder · default valuePrompt and initial text
Max length · Pattern (Regex)Validation
Select / Checklist optionsOne per line, for choice inputs
Enable QR scanScan a code into the field
Show submit / clear button · submit labelActions

Form

A multi-field input form. Each field has its own ID, label, type, default, and validation.
SettingPurpose
Field ID · Field Label · Field TypePer-field definition
Default value · Max length · Max valuePer-field validation
Focus / Error borderValidation states

Database Form

A form that writes directly to a product database table.
SettingPurpose
Auto-generate fields from table schemaBuild fields from the table
Field label · type · placeholder · options · requiredPer-field config
Submit button labelAction
Reset after submitClear 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.
SettingPurpose
Picker type · orientation · sizeThe picker UI
Output formathex / rgb / hsl, etc.
Allow alpha / opacityTransparency channel
Color presets · swatch size · grid columnsPreset palette
Validate hex format · read-only · disabledBehavior

Joystick

A two-axis joystick — emits X/Y values. Good for movement and direction.
SettingPurpose
Min / Max valueOutput range per axis
Dead zoneIgnore tiny movements near center
SensitivityOutput scaling
Joystick size · custom sizeDimensions
Base / Handle colorAppearance

Countdown Timer

A configurable countdown with completion actions.
SettingPurpose
Initial duration (H/M/S)Starting time
Auto start · show controlsBehavior
Show progress bar · progress color · show millisecondsDisplay
Execute action on completeFire a command at zero
Show notification · title · message · play sound · sound URLCompletion alert

Schedule Manager

Lists and manages device schedules.
SettingPurpose
Device ID (optional)Scope to one device
Max schedules to displayList length
List layout · item spacing/backgroundLayout
Show status / date / last executedColumns
Show action buttonsEdit/run controls

Rule Manager

Lists and manages automation rules.
SettingPurpose
Max rules to displayList length
Show description / statusColumns
Show action buttonsEdit/run controls
List layout · item spacing/backgroundLayout

WebRTC Camera

Publishes a camera stream over WebRTC.
SettingPurpose
Camera ID · Room nameStream identity
Server URLWebRTC signaling server
Preferred cameraFront/back/device
Auto connect · Auto streamStart behavior
Enable audioInclude microphone

Voice to Text

Transcribes speech to text.
SettingPurpose
LanguageRecognition language
Continuous recognitionKeep transcribing
Always listeningHands-free
Auto-send on speech endEmit on pause

Spotify Player

A media player with command bindings.
SettingPurpose
Play / Pause / Next / Previous command IDsCommands sent for each control
Show album artwork · album art URLArtwork
Show playback controlsTransport buttons
Default volume · repeat mode · autoplayPlayback
API credentialsSpotify integration

Payment Widget

Charges a user for an action or unlock. See Payment Widget for the monetization context.
SettingPurpose
Action typeWhat the payment unlocks/does
Amount · currency · currency positionPrice
Button label · button variantCall to action
Command endpointThe action invoked on success
Description · amount/description stylingPresentation
Error icon / title / messageFailure state

Display widgets

The widgets that visualize device data.