Controls
ποΈ Controls in the IoT Server Dashboard are the user-facing cards staff and guests use to operate IoT entities such as lights, locks, HVAC units, covers, switches, sensors, buttons, and scenes. Use this page to create controls, link them to integration entities, place them in areas, and send live commands.
π Accessing Controlsβ
This page is available to authenticated management users. Creating, editing, and deleting controls is typically performed by Admin and Engineer roles; Operator users can still send live commands from the same page.
- Log in to the IoT Server Dashboard with your management credentials.
- Inside Controls & Areas section in the left sidebar.
- Click Controls to open the controls list.

π Viewing Controlsβ
The Controls page supports two layouts. Use the view toggle in the toolbar to switch between List and Cards.
The list view shows one row per control with the following columns:
- Name β The control name. Click the name to open the control details page.
- Type β The control type, such as light, lock, hvac, cover, toggleable, sensor, button, scene, or remote.
- Template β The linked control template name. Click the template name to open it in a new tab.
- Area β The root area where the control lives.
- Sub Area β The nested area path under the root, when applicable.
- Created At β Hidden by default. Enable it from the column settings to display the row creation timestamp.
The card view shows the same controls as tiles. Each card includes the name, type tag, area path, and an action row with the Enabled toggle and quick-edit buttons.

π’ Showing Inline Controls in Card Viewβ
The card view supports embedded live widgets so you can command devices without opening the Control dialog.
- Switch the view toggle to Cards.
- Toggle Show inline controls on above the grid.
- Use the embedded widget on each card to operate the device:
- Light β adjust on/off, brightness, color, and color temperature when available.
- HVAC β set mode, target temperature, and fan speed.
- Cover β open, close, and slide position.
- Lock β lock or unlock the entity.
- Toggleable β flip the power state.
- Button β press to trigger the bound action.
- Scene β activate the scene.
- Toggle Show inline controls off to hide the inline widgets and free space on the cards.
Inline widgets display Live state unavailable when the linked entity is not currently reporting.

π Searching, Filtering, and Paginationβ
- Enter text in the Search field to narrow the list by control name.
- Open the Type filter to limit the list to one or more control types.
- Open the Area filter to limit the list to controls in selected areas. The filter loads candidate areas as you type.
- Click Clear filters to reset all selected filters. Your selections are remembered per browser.
- Use the column sort arrows on Name, Type, Area, or Created At to sort the list.
- Use the pagination controls to move between pages and to change the rows-per-page value (10, 25, 50, or 100).
β Creating a Controlβ
- Click New Control on the list toolbar.
- On the Details tab, fill in the following required fields:
- Base Template β (Optional) Select an existing Control Template to inherit defaults from. Selecting a template auto-fills the Type when it is empty. See Control Templates.
- Control Name β A unique, human-readable name shown in lists and audit trails.
- Select Type β One of light, lock, hvac, cover, toggleable, sensor, button, scene, or remote.
- Category β (Optional) Free-form grouping label that overrides the template category.
- Area β Click Pick Area to open the Select Area tree and choose where the control appears. Click Clear to remove the area assignment.
- Order in Area β (Optional) Numeric position used to sort controls inside the chosen area.
- Localizations β Provide localized Display Name and Description values per language. The English entries become the canonical fallback.
- (Optional) Open the Metadata card and enter valid JSON in the JSON Metadata field.
- (Optional) Open the Type Configuration tab to constrain or tune the chosen type. The available fields depend on the selected Type:
- Light β Min brightness and Max brightness (0β255). Toggle Disable color picking and Disable color temperature when the linked light should not expose those features.
- HVAC β Min temperature, Max temperature, Allowed modes (off, heat, cool, fan, auto, dry), and Allowed fan speeds (auto, low, medium, high).
- Cover β Min position and Max position (0β100). Toggle Flip open/close direction when the physical cover moves opposite to the dashboard slider.
- Lock β Behavior: Switch (lock / unlock) for stateful locks, Momentary unlock for relay-style locks that re-lock automatically.
- Other types (toggleable, sensor, button, scene, remote) currently have no type-specific configuration.
- Click Create Control.
- The new control opens in view mode. Use the Linked Entity card on the right to attach the integration entity that will receive commands (see below).

When several controls share the same display name, description, category, or metadata, create a Control Template first and select it under Base Template. The control then only needs to store its area assignment and any field overrides.
π Linking an Entityβ
A control routes commands to a single linked IoT entity.
- Open the control in view mode.
- In the Linked Entity card on the right, click Link Entity or Replace Entity.

- Pick the entity from the IoT Entity Picker dialog. The picker is pre-filtered to match the control's Type.
- Confirm that the linked entity appears in the card with its name and type.
- To swap the linked entity, click Replace Entity and select a new candidate. The old link is removed and the new one is created.
- To remove the link entirely, click Unlink.
Each control links to one entity. Replacing an entity unlinks the previous one and links the new one in a single step.

ποΈ Commanding a Controlβ
Use the Control dialog to send live commands and observe real-time state.
-
From the list view, click Control on the row, or open the control details page and click Control in the header.
-
Wait for the dialog to report Connecting to live stateβ¦. Once connected, the dialog renders the live command surface for the control's Type.
-
Use the available widgets to operate the device (brightness slider, HVAC mode picker, cover position, lock toggle, scene activator, and so on).
-
Close the dialog to stop the live state subscription.

Each command sent through this dialog is recorded on the Control activity page. See Control Activity.
π·οΈ Managing Tagsβ
- Open the control in view mode or edit mode.
- In the Tags card on the right, type a tag name and select it from the suggestions, or press
Enterto create a new one. - Click the remove icon next to a tag to detach it from the control.
π¦ Enabling and Disablingβ
- Locate the control in the list view or the card view.
- Use the row toggle (list view) or the Enabled toggle on the card (card view) to flip the state.
- Confirm that the toggle reflects the new value.
Disabling a control stops it from accepting commands through the dashboard, the Control dialog, and guest-facing surfaces. Re-enable it to restore command flow without changing any linked entity or template settings.
βοΈ Editing a Controlβ
- Open the control details page and click Edit, or click Edit on the row in the list view.
- Update any fields on the Details tab or the Type Configuration tab.
- Click Save Control.
- Confirm that the success alert appears and the new values are reflected in the view.

ποΈ Deleting a Controlβ
Deleting a control removes it from every dashboard surface, every guest-facing surface, and every area layout. The linked integration entity is preserved and can be linked to a new control.
- Open the control details page or locate the control in the list.
- Click Delete in the header, or click Delete on the row.
- Review the confirmation message.
- Click Delete to confirm.
- Confirm that the control is removed from the list.
π¨ Active Alertsβ
When a control has open runtime alerts, the view mode shows an Active alerts panel on the right with the alert title and type for each unmuted entry.

- warning β non-critical issue that does not block commands.
- error β command path is impaired; investigation recommended.
- critical β the control is effectively unusable until the alert is cleared.
Use the Alerts page to review, mute, and clear these entries.
Related Docsβ
- Control Templates β Reusable defaults that controls inherit through Base Template.
- Devices & Entities β Manage the integration entities that controls link to.
- Integrations β Connect the external platforms that report entities.
- Control Activity β Audit every command sent through controls.
- Activity Logs β Audit dashboard management actions on controls, templates, and links.
- Areas β Organize where controls appear in the dashboard and guest-facing UI.