I’m wondering the step to handle the IAS Zone device
well, let me show you how i understand this.
1.there are 2 types of devices, the CIE(coordinator), and the IAS Zone device(like motion, fire etc)
2.the CIE sends a ‘enroll’ message to the IAS Zone device
3.confirm success on the response message from the IAS Zone device
4.the CIE sends again a ‘response’ message to the IAS Zone device with ZoneID
5.after that, the CIE can get the alarm data from the IAS Zone device
I think step 4 is not correct.
Could anyone let me know the detail about it?
how to enroll and what is the ‘response’ message for the IAS Zone device, and what is the Zone Id and how to handle the ZoneID?
The IAS Zone device (motion, etc…) actually sends the Zone Enroll Request command to the CIE. The CIE responds with the Zone Enroll Response. What you may have noticed is many of the Device Type Handlers for IAS Zone devices will automatically send a Zone Enroll Response in the configure method even though it didn’t receive a Zone Enroll Request. That’s because the devices made by Centralite (and maybe other manufacturers) need something to trigger it to send a Zone Enroll Request and receiving a Zone Enroll Response is one such trigger.
The other important piece is the CIE needs to write the CIE address (its own EUID) into the IAS_CIE_Address attribute (id 0x0010) in the device. That tells the IAS Zone device where to send the Zone Status Changed Notifications.
If you’re developing a device you need to store the Zone ID send in the Zone Enroll Response and use it in Zone Status Changed Notifications. All the Device Type Handlers I’m aware of use a Zone ID of 0x00.
so summary is,
After the CIE’s response message (with ZoneID 0x00) and writing the CIE address (with 0x0010) are sent for the IAS Zone device automatically, I can get the Zone Status Changed Notifications from the sensor when the sensor is working? is it correct?
btw, I’m making the handler for IAS Zone device by myself, so in my case i can’t expect ‘automatically’.
That’s why I’ve sent Zone Enroll Response Command on Write Attribute Command. like this
data=’\x00’ + ‘\x23’ + ‘\x02’ +‘Identifier’+‘data type’+’\x00\x00’)
(23 is the sequence number, 02 is write attribute command, 00 00 is Enroll response code and Zone ID. This is based on the zcl library 22.214.171.124.1)
Do you believe I should send Write attribute command for Zone Enroll Response Command?
If it is, do you think the command format is correct ?
I’m not sure What Identifier and data type I should use. you know, at the payload format there are 2 data types(8-bit enumeration, Unsigned 8-bit integer).
oh, and as you said, I need to write the CIE address into the IAS_CIE_address attribute(0x0010). is it okay to write this by sending Write Attribute Command with my EUID, after sending Zone Enroll Response Command?
I mean, Zone Enroll Response Command first, writing the CIE address later.
Hello @tpmanley thank you for your explanation it helped me a lot. But I have an issue on enrollment process. I have Centralite door sensor (IAS Zone) during the enrollment process, I need to send Zone Enroll Response, in order to trigger the Zone Enroll Request, as you have mentioned. After that the IAS Zone device sends the Zone Enroll Request. At this point what should be done for a successful enrollment?
I replied the Zone Enroll Request with the CIE Write Addr and receive Write Success Response and the whole process starts again.
You should just have to respond with the Write Attribute of the CIE Address and a Zone Enroll Response. The zigbee.enrollResponse() function send both those commands. Here is an example from the SmartSense Open/Closed Sensor which may be pretty similar to the device you’re working with:
Hi @tpmanley thanks for your detailed explanation!
I’m trying to pair the Centralite Sensor device to the CIE but haven’t been successful in doing so.The sensor device is not issuing a IAS Zone Enroll Request.
After processing the simple descriptor response, I’m sending a Write Attributes request to write the CIE address into the IAS_CIE_address attribute (0x0010). The Write Attributes Response is success after which I’m sending it a Zone Enroll Response to trigger the Zone Enroll Request. But instead of receiving a Zone Enroll Request , I’m getting a IAS Zone : Default Response.
Can you please advise on what could be going wrong in this case. Thanks!
@dk22 which Centralite device are you working with? All the ones I’ve used have worked OK with this mechanism for enrollment. Another thing you can try is “tripping” the device (trigger motion, contact, etc…) to see if that gets it to initiate the enrollment process.