Issue a Zigbee cluster command

Use this action to send a command directly to a Zigbee cluster on a single device. This is a low-level tool for triggering device functions that aren’t exposed through the regular entities. You need to know the device’s IEEE address, the endpoint, the cluster, and the command you want to send.

Only users with administrator rights can run this action.

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 issue a cluster command 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. Search for and select Issue Zigbee cluster command.
  6. Fill in the device, endpoint, cluster, command, and any parameters.
  7. Select Save.

Options in the UI

IEEE

The IEEE address of the device.

Endpoint ID

The endpoint on the device that holds the cluster.

Cluster ID

The cluster to send the command to.

Cluster type (Optional)

Whether the cluster is an input (server) or output (client) cluster. Defaults to input.

Command

The ID of the command to send.

Command type

Whether the command is a client or server command.

Params (Optional)

The parameters to pass to the command, as a mapping of names to values.

Manufacturer (Optional)

The manufacturer code to use for the command. Use -1 to force no manufacturer code.

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 zha.issue_zigbee_cluster_command. 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: zha.issue_zigbee_cluster_command
data:
  ieee: "00:0d:6f:00:05:7d:2d:34"
  endpoint_id: 1
  cluster_id: 8
  command: 1
  command_type: server
  params:
    move_mode: 1

Options in YAML

ieee string Required

The IEEE address of the device.

endpoint_id integer Required

The endpoint on the device that holds the cluster.

cluster_id integer Required

The cluster to send the command to.

cluster_type string

Whether the cluster is an input (server) or output (client) cluster, set as in or out. Defaults to in.

command integer Required

The ID of the command to send.

command_type string Required

Whether the command is a client or server command.

params map

The parameters to pass to the command, as a mapping of names to values.

manufacturer integer

The manufacturer code to use for the command. Use -1 to force no manufacturer code.

Good to know

  • You must provide the command parameters through the Params field.
  • Cluster, command, and endpoint IDs are specific to each device. You can look them up on the device’s page under Manage clusters.

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: