Zha.set_zigbee_cluster_attribute vs ieee

Hello,

I’m looking a creating a blueprint where the action would be using zha.set_zigbee_cluster_attribute to do something like this:

    - action: zha.set_zigbee_cluster_attribute
      data:
        cluster_type: in
        ieee: '{{ thermostats[repeat.index-1] }}'
        endpoint_id: 1
        cluster_id: 65281
        attribute: 16
        value: "{{ (states('sensor.quebec_temperature') | float * 100) | int }}"

This action work correctly if I create a variable “Thermostats” and put the IEEE addresses of each thermostat in it but… that defeat the purpose of creating a blueprint. The goal would be to be able to select devices or entities through the GUI and, based on a condition, have the zha.set_zigbee_cluster_attribute do his work. The issue I have right now is that if I select a few devices, what is recorded is device_id and that’s what is used as the ieee address. This generate an error about the fact that those are not valid value for dictionary value @ data[‘ieee’]. Using entities do the same but it’s sending stuff like climate.thermostat_bureau_thermostat which is still an invalid value for the same variable as you can see below.

HA is able to talk to the zigbee device and has to use ieee to do it. So, I would expect that there is a way to request HA what is the IEEE address related to a specific entity or device. Is there one? If so, what need to be done to get the information from an automation or blueprint?

Thank you.

ehfortin

The device attribute identifiers and/or connections seem to contain the IEEE address.

I’d advise to not use a target selector, they are not easy to work with if you can’t plug its output directly into an action. Much easier to use an entity or device selector.

I just tried it with a device_id and it work:

{{ (device_attr('19970d2a3b4fbd783d81d8ac41815655',"identifiers")|list).0.1}}

This translate to the ieee address as you said. I’ll work around that. Thank you.

ehfortin