---
title: "device set · RUAL Documentation"
description: "Sets any capability on any device. The escape hatch for things the specific blocks do not cover."
canonical: https://docs.rual.nl/block-types/globals/homeassist_device_set
language: en
---

[Cluster](https://docs.rual.nl/cluster)

[Blocks](https://docs.rual.nl/block-types)

[Interfaces](https://docs.rual.nl/interfaces)

[Blueprints](https://docs.rual.nl/blueprints)

[Tutorials](https://docs.rual.nl/tutorials)

[Home automation](https://docs.rual.nl/home-automation)

[Examples](https://docs.rual.nl/examples)

[Reference](https://docs.rual.nl/reference)

[Architecture](https://docs.rual.nl/architecture)

[Troubleshooting](https://docs.rual.nl/troubleshooting)

Other

# device set

This block is part of the [`globals`](https://docs.rual.nl/block-types/globals) group and was last modified in core [`v15.0.0`](https://docs.rual.nl/core-versions/150000).

Sets any capability on any device. The escape hatch for things the specific blocks do not cover.

- flow `v15.0.0` `flow`

- device `v15.0.0` `value` Device id, native address, or exact device name. Leave empty to use the device picked on the block.

- capability required `v15.0.0` `value` e.g. power, brightness, position, lock_state, target_temperature. • Suggestions: `power` `brightness` `color_temp` `color_hex` `position` `lock_state` `target_temperature` `hvac_mode` `fan_mode`

- value required `v15.0.0` `value` The value to write. Booleans, numbers and strings are coerced to what the device wants.

- flow `v15.0.0` `flow`

- ok `v15.0.0` `condition` True when the command reached the device.

- device `v15.0.0` `object` The device the command was sent to.

- error `v15.0.0` `value` Empty on success. HOMEASSIST_DEVICE_NOT_FOUND, HOMEASSIST_DEVICE_NOT_ADOPTED, HOMEASSIST_CAPABILITY_UNSUPPORTED or HOMEASSIST_NOT_AVAILABLE.

Writes one capability by name : position for blinds, lock_state for locks, or anything else a device exposes. The capability must be one the device announced, or the block returns HOMEASSIST_CAPABILITY_UNSUPPORTED without sending anything. Use the specific blocks where they exist; this is for the long tail.

| `zigbee` |
| --- |
| `zwave` |
| `matter` |
| `thread` |
| `hue` |
| `smart home` |

A typical wiring for [device set](https://docs.rual.nl/block-types/globals/homeassist_device_set): a [function trigger](https://docs.rual.nl/block-types/globals/trigger_custom_function) starts the flow; the `flow` out pin feeds [debug](https://docs.rual.nl/block-types/state%2520ui/state_debug).

[![Studio canvas example for the device set block: typical wiring for device set.](https://docs.rual.nl/canvas-examples/homeassist_device_set.png)](https://docs.rual.nl/canvas-examples/homeassist_device_set.png?v=3)

## Used in these guides

These documentation pages use or explain this block:

- [Action Reference](https://docs.rual.nl/home-automation/actions)

## Version history

Introduced in [`v15.0.0`](https://docs.rual.nl/core-versions/150000).

- [Back to `globals`](https://docs.rual.nl/block-types/globals): Return to the main group to view all sub-groups

- [Back to `home`](https://docs.rual.nl/block-types/globals?group=home): Return to the group to view all blocks within this group

Was this page helpful? [Tell us what to improve](https://docs.rual.nl/support) · RUAL Docs is an integral component of the [RUAL ecosystem](https://rual.nl)
