Set a value

Use this action to change any value that Z-Wave recognizes on a device. It is for advanced use cases where you need to change the state of a node and can’t do it through a regular Home Assistant entity.

Correctly using this action requires advanced knowledge of Z-Wave. It performs minimal validation and passes your input straight to the Z-Wave JS API, so trouble usually means an incorrect value somewhere. To change a configuration parameter, use the Set device configuration parameter or Bulk set partial configuration parameters action instead.

You can target the action at one or more entities, devices, or areas. At least one of those must be provided.

Using this action from the user interface

If you prefer building automations and scripts visually, Home Assistant walks you through this action step by step. You pick what to target, tweak a few options, and save. No YAML knowledge required.

To set a value from an automation or a script:

  1. Go to Settings > Automations & scenes.
  2. Open an existing automation or script, or select Create automation > Create new automation.
  3. If you’re setting up a new automation, add a trigger in the When section. Scripts don’t need a trigger. They run when something else calls them.
  4. In the Then do section, select Add action.
  5. From the list of actions, search for and select Set a value.
  6. Select the Z-Wave entities, devices, or areas to target, then set the Command class, Property, and Value.
  7. Select Save.

Options in the UI

Area ID(s) (Optional)

The area, or areas, to target. All Z-Wave devices and entities in the area are targeted.

Device ID(s) (Optional)

The device, or devices, to target.

Entity ID(s) (Optional)

The entity, or entities, to target.

Command class (Required)

The ID of the command class for the value.

Endpoint (Optional)

The endpoint for the value.

Property (Required)

The ID of the property for the value.

Property key (Optional)

The ID of the property key for the value.

Value (Required)

The new value to set.

Options (Optional)

A map of set value options. Refer to the Z-Wave JS documentation for the available options.

Wait for result (Optional)

When on, waits for a response from the node. When not set, the integration decides whether to wait. Waiting can take a while for an asleep battery device.

Using this action in YAML

If you work directly in YAML, or you want to know exactly what Home Assistant does under the hood, this section has the technical reference. It lists the field names you use in YAML, their types, and which ones are required.

In YAML, refer to this action as zwave_js.set_value. A basic example looks like this:

ActionActions are used in several places in Home Assistant. As part of a script or automation, actions define what is going to happen once a trigger is activated. In scripts, an action is called *sequence*. [Learn more]
action: zwave_js.set_value
target:
  entity_id: switch.kitchen
data:
  command_class: 117
  property: local
  value: 2

Options in YAML

area_id string | list

The area ID, or list of area IDs, to target. All Z-Wave devices and entities in the area are targeted. At least one of entity_id, device_id, or area_id is required.

device_id string | list

The device ID, or list of device IDs, to target. At least one of entity_id, device_id, or area_id is required.

entity_id string | list

The entity ID, or list of entity IDs, to target. At least one of entity_id, device_id, or area_id is required.

command_class integer Required

The ID of the command class for the value.

property string | integer Required

The ID of the property for the value.

property_key string | integer

The ID of the property key for the value.

endpoint integer

The endpoint for the value.

value any Required

The new value to set.

options map

A map of set value options. Refer to the Z-Wave JS documentation for the available options.

wait_for_result boolean

When true, waits for a response from the node. When not set, the integration decides whether to wait. Waiting can take a while for an asleep battery device.

Good to know

  • You must target at least one entity, device, or area.
  • This action does minimal validation. If it isn’t working, double-check the command class, property, and value against the Z-Wave JS documentation.

Still stuck?

The Home Assistant community is quick to help: join Discord for real-time chat, post on the community forum with the action you’re calling and what you expected to happen, or share on our subreddit /r/homeassistant.

Tip

AI assistants like ChatGPT or Claude can also explain actions or suggest the right one when you describe what you want in plain language.

Related actions

These actions work well alongside this one: