Hey @nayelyz !
Sorry it took me a while to test this, I had to circumvent somehow the other problem first (that runEveryXXMinutes() no longer works).
Unfortunately it doesnt work,
doing this:
zigbee.writeAttribute(0x0000, 0xFFF0, DataType.UINT16, DataType.pack("0xaa, 0x80, 0x05, 0xd1, 0x47, 0x07, 0x01, 0x10, 0x01", DataType.STRING_OCTET))
gives the following error:
java.lang.IllegalArgumentException: Currently data type 65 is not supported @line 357 (refresh)
Packing the data doesn’t seem to do the trick, and it still doesnt make sense to me, why would I attempt to write in UINT16, if the expected type is STRING_OCTET? Or am I missing something from the example?
The docs do say that DataType.pack() ONLY supports STRING_CHAR for variable lengths types, so if STRING_OCTET is of variable length (which I guess it is), I don’t understand why engineering would recommend using the pack() method.
If the last comment I made is correct (pack() doesnt support STRING_OCTET), then I guess I have to go back to the original question, on how does “st wattr” expect a STRING_OCTET value? like this?:
st wattr 0x${device.deviceNetworkId} 1 0 0xFFF0 0x41 "0xaa, 0x80, 0x05, 0xd1, 0x47, 0x07, 0x01, 0x10, 0x01"
Thanks!
Edit 1: yup its definitely of variable length, by doing:
zigbee.readAttribute(0x0000, 0xFFF0, [mfgCode: 0x115F])
trace.log "Unknown cluster number ${descMap.cluster} with attribute Id ${descMap.attrId} has been detected with value ${descMap.value}"
I got:
trace Test 1: Unknown cluster number 0000 with attribute Id fff0 has been detected with value 00
warn Unhandled variable length attribute, assuming a single attribute.
So zigbee.writeAttribute() cannot be used, dataType.pack() cannot be used, and probably I’m stuck on using “st wattr”, but it bears the question again on how to properly pass a STRING_OCTET to it, and now with a specific mfgCode (as I haven’t seen/found an example of “st wattr” targeting a manufacturer specific cluster).
Edit 2:
Well, I found a hidden reference in a post of apr’ 2020 on hubitat, which theoretically this should work for the mfgCode, but not yet sure on the STRING_OCTET:
st wattr 0x${device.deviceNetworkId} endpoint cluster attribute datatype {data} mfgCode