<?xml version="1.0" encoding="UTF-8"?>
<!--
To evaluate conformance of a particular implementation, it is necessary to have a statement of which capabilities and options have been implemented for a given standard. Such a statement is called a protocol implementation conformance statement (PICS).

Scope
This document provides the protocol implementation conformance statement (PICS) proforma for the ZigBee specifications 080006r05 in compliance with the relevant requirements, and in accordance with the relevant guidance, given in ISO/IEC 9646-7.
This document addresses the ZigBee Home Automation Application Profile.

Purpose
The supplier of a protocol implementation claiming to conform to the ZigBee Home Automation Application Profile shall complete the following PICS proforma and accompany it with the information necessary to identify fully both the supplier and the implementation.

The PICS is in the form of answers to a set of questions in the PICS proforma. The questions in a proforma consist of a systematic list of protocol capabilities and options as well as their implementation requirements. The implementation requirement indicates whether implementation of a capability is mandatory, optional, or conditional depending on options selected. When a protocol implementer answers questions in a PICS proforma, they would indicate whether an item is implemented or not, and provide explanations if an item is not implemented.

Instructions for completion
This document provides a template for the Home Automation PICS. The document should be filled out with document content appropriate to each element. Some document elements contain a "mandatory" attribute. Generally each tag that contains a mandatory attribute should also contain document content of "TRUE" indicating that the item described in the document element is supported.

Clusters contain ZigBee attributes and commands. Entering content of "TRUE" for a ZigBee attribute indicates that the device contains that attribute and the attribute can be read from the device. Entering content of "TRUE" for a command indicates that the device can receive that command. If an attribute is mandatory and the source="server" this indicates that the attribute must be supported by all servers of that cluster. If a command is mandatory and the receivedBy="server" it indicates that the command must be supported as a command received by all servers of that cluster.

A completed PICS document need only contain the portion of the PICS that are supported. Any of the zigBeeDeviceTypes, HADeviceTypes or clusters that are not supported can be removed from the completed document.

Example:

<?xml version="1.0"?>
<homeAutomationPICs version="">
  <implementationIdentification>
    <IUTIdentification>
  	  <description>Implemenation Under Test Identification</description>
  	  <UITName    mandatory="true">Acme Device</UITName>
  	  <UITVersion mandatory="true">1.0</UITVersion>
    </IUTIdentification>
    <SUTIdentification>
  	  <description>System Under Test Identification</description>
  	  <SUTName></SUTName>
  	  <SUTSoftwareVersion mandatory="true">1.0</SUTSoftwareVersion>
  	  <SUTHardwareVersion mandatory="true">1.0</SUTHardwareVersion>
  	  <SUTOperatingSystem mandatory="false">1.0</SUTOperatingSystem>
    </SUTIdentification>
    <productSupplier>
  	  <description>Product Supplier</description>
  	  <name>ACME Device Manufacturer</name>
  	  <address>10 Congress Street</address>
  	  <telephoneNumber>617-447-4444</telephoneNumber>
  	  <faxNumber>617-447-4441</faxNumber>
  	  <emailAddress>acme@acme.com</emailAddress>
  	  <additionalInformation></additionalInformation>
    </productSupplier>
    <client>
  	  <description>Client</description>
  	  <name>John Doe</name>
  	  <address>10 Congress Street</address>
  	  <telephoneNumber>617-447-4444</telephoneNumber>
  	  <faxNumber>617-447-4441</faxNumber>
  	  <emailAddress>acme@acme.com</emailAddress>
  	  <additionalInformation></additionalInformation>
    </client>
    <picsContactPerson>
  	  <description>PICS Contact Person</description>
  	  <name>John Doe</name>
  	  <address>10 Congress Street</address>
  	  <telephoneNumber>617-447-4444</telephoneNumber>
  	  <faxNumber>617-447-4441</faxNumber>
  	  <emailAddress>acme@acme.com</emailAddress>
  	  <additionalInformation></additionalInformation>
    </picsContactPerson>
  </implementationIdentification>

  <globalStatementOfConformance>
    <specVersion name="ZigBee Home Automation" version="053520r29" mandatory="true">TRUE</specVersion>
  </globalStatementOfConformance>

  <picsProforma>
    <zigBeeDeviceTypes>
      <type>
        <name>coordinator</name>
        <description>Is this device capable of acting as a ZigBee coordinator?</description>
        <support>TRUE</support>
        <profileItem>
          <name>Join Mode</name>
  	    <description>Does the device support a method for the user to put the device in join mode?</description>
  	    <mandatory>true</mandatory>
  	    <supported>TRUE</supported>
  	  </profileItem>
  	  <profileItem>
  	    <name>Network Form</name>
  	    <description>Does the device support a method for the user to use the device to form a network?</description>
  	    <mandatory>true</mandatory>
  	    <supported>TRUE</supported>
  	  </profileItem>
  	  <profileItem>
  	    <name>Permit Join</name>
  	    <description>Does the device support a method for allowing others to join the network?</description>
  	    <mandatory>true</mandatory>
  	    <supported>TRUE</supported>
  	  </profileItem>
      </type>
    </zigBeeDeviceTypes>

    <stackProfile>
      <profileItem>
        <name>ZigBee Stack Profile</name>
        <mandatory>true</mandatory>
        <description>Is the device built on a ZigBee Compliant Platform certified for ZigBee or ZigBee PRO stack profile 080006r05?</description>
        <mandatory>true</mandatory>
        <supported>TRUE</supported>
      </profileItem>
  	  <profileItem>
          <name>Binding Table Size</name>
          <description>Does the device implement source binding with a binding table whose number of available entries is greater than or equal to the number of supported clusters that may initiate normal operational transactions. It should be noted that operational transactions are not one time transactions or commissioning transactions. Operational transactions are those that are used to perform the device function, such attribute reporting or actuation commands  (e.g. On, Off, Toggle, etc).</description>
          <mandatory>true</mandatory>
          <supported>TRUE</supported>
  	  </profileItem>
  	  <profileItem>
          <name>Polling Rate</name>
          <description>Does the device adhere to the polling rate specifications given in 053520r29</description>
          <mandatory>true</mandatory>
          <supported>TRUE</supported>
  	  </profileItem>
  	  <profileItem>
          <name>Link Keys</name>
          <description>Does the device support Trust Center Link Keys including the Default Trust Center Link Key?</description>
          <mandatory>true</mandatory>
          <supported>TRUE</supported>
  	  </profileItem>
    </stackProfile>

    <HAProfile>
  	  <profileItem>
  	    <name>Reset to Factory Defaults</name>
  	    <description>Does the device support a method for allowing a user to restore factory settings?</description>
  	    <mandatory>true</mandatory>
  	    <supported>TRUE</supported>
  	  </profileItem>
  	  <profileItem>
  	    <name>Reporting generation</name>
  	    <description>Does the device have attributes that are reportable?</description>
  	    <mandatory>false</mandatory>
  	    <supported>TRUE</supported>
  	  </profileItem>
        <profileItem>
  	    <name>Default Reporting Configuration</name>
  	    <description>Does the device have a default reporting configuration for each reportable attribute</description>
  	    <mandatory>TRUE</mandatory>
  	    <supported>TRUE</supported>
  	  </profileItem>
        <profileItem>
  	    <name>Read Reporting Configuration</name>
  	    <description>Does the device support configuring and  reading a report configuration for all reportable attributes?</description>
  	    <mandatory>TRUE</mandatory>
  	    <supported>TRUE</supported>
  	  </profileItem>
    </HAProfile>

    <ZDPCommands>
  	  <command code="0x8000" name="NWK_addr_rsp"                source="either" mandatory="true">TRUE</command>
  	  <command code="0x8001" name="IEEE_addr_rsp"               source="either" mandatory="true">TRUE</command>
  	  <command code="0x8002" name="Node_Desc_rsp"               source="either" mandatory="true">TRUE</command>
  	  <command code="0x8003" name="Power_Desc_rsp"              source="either" mandatory="true">TRUE</command>
  	  <command code="0x8004" name="Simple_Desc_rsp"             source="either" mandatory="true">TRUE</command>
  	  <command code="0x8005" name="Active_EP_rsp"               source="either" mandatory="true">TRUE</command>
  	  <command code="0x8006" name="Match_Desc_rsp"              source="either" mandatory="true">TRUE</command>
  	  <command code="0x8013" name="Device_annce"                source="either" mandatory="true">TRUE</command>
  	  <command code="0x8021" name="Bind_rsp"                    source="either" mandatory="true">TRUE</command>
  	  <command code="0x8022" name="Unbind_rsp"                  source="either" mandatory="true">TRUE</command>
  	  <command code="0x8031" name="Mgmt_Lqi_rsp"                source="either" mandatory="true">TRUE</command>
  	  <command code="0x8033" name="Mgmt_Bind_rsp"               source="either" mandatory="true">TRUE</command>
    </ZDPCommands>

    <ZCLGlobalCommands>
      <command code="0x01" name="ReadAttributesResponse"             source="either" mandatory="true"   >TRUE</command>
      <command code="0x04" name="WriteAttributesResponse"            source="either" mandatory="true"   >TRUE</command>
      <command code="0x07" name="ConfigureReportingResponse"         source="either" mandatory="true"   >TRUE</command>
      <command code="0x09" name="ReadReportingConfigurationResponse" source="either" mandatory="true"   >TRUE</command>
      <command code="0x0B" name="DefaultResponse"                    source="either" mandatory="true"   >TRUE</command>
      <command code="0x0D" name="DiscoverAttributesResponse"         source="either" mandatory="true"   >TRUE</command>
      <command code="0x10" name="WriteAttributesStructuredResponse"  source="either" mandatory="true"   >TRUE</command>
      <command code="0x12" name="DiscoverCommandsReceivedResponse"   source="either" mandatory="false"  >TRUE</command>
      <command code="0x14" name="DiscoverCommandsGeneratedResponse"  source="either" mandatory="false"  >TRUE</command>
      <command code="0x16" name="DiscoverAttributesExtendedResponse" source="either" mandatory="false"  >TRUE</command>
    </ZCLGlobalCommands>

    <HADeviceTypes>
      <deviceType>
        <name>HA-onoff</name>
        <domain>HA</domain>
        <typeName>HA On/Off Switch</typeName>
        <profileId>0x0104</profileId>
        <deviceId>0x0000</deviceId>
        <supported>TRUE</supported>
        <commissioning>
          <type name="ezMode" role="initiator" mandatory="true"  >TRUE</type>
          <type name="ezMode" role="target"    mandatory="false" >TRUE</type>
  	    </commissioning>
        <clusters>
          <include name="Basic"                            source="server" mandatory="true"   >TRUE</include>
          <include name="Identify"                         source="server" mandatory="true"   >TRUE</include>
          <include name="Power Configuration"              source="server" mandatory="false"  >FALSE</include>
          <include name="Device Temperature Configuration" source="server" mandatory="false"  >FALSE</include>
          <include name="Alarms"                           source="server" mandatory="false"  >FALSE</include>
          <include name="Poll Control"                     source="server" mandatory="false"  >FALSE</include>
          <include name="Electrical Measurement"           source="server" mandatory="false"  >FALSE</include>
          <include name="Time"                             source="client" mandatory="false"  >FALSE</include>
          <include name="Over the Air Bootloading Cluster" source="client" mandatory="false"  >FALSE</include>
          <include name="Partition"                        source="client" mandatory="false"  >FALSE</include>
          <include name="Partition"                        source="server" mandatory="false"  >FALSE</include>
          <include name="On/Off"                           source="client" mandatory="true"   >TRUE</include>
          <include name="Identify"                         source="client" mandatory="true"   >TRUE</include>
          <include name="Scenes"                           source="client" mandatory="false"  >FALSE</include>
          <include name="Groups"                           source="client" mandatory="false"  >FALSE</include>
          <include name="On/Off Switch Configuration"      source="server" mandatory="false"  >FALSE</include>
        </clusters>
      </deviceType>
    </HADeviceTypes>

    <HAClusters>
      <cluster>
        <name>Basic</name>
        <code>0x0000</code>
        <define>BASIC_CLUSTER</define>
        <attribute source="server" code="0x0000" define="VERSION"              mandatory="true"   name="ZCL version"            >TRUE</attribute>
        <attribute source="server" code="0x0001" define="APPLICATION_VERSION"  mandatory="false"  name="application version"    >FALSE</attribute>
        <attribute source="server" code="0x0002" define="STACK_VERSION"        mandatory="false"  name="stack version"          >FALSE</attribute>
        <attribute source="server" code="0x0003" define="HW_VERSION"           mandatory="false"  name="hardware version"       >FALSE</attribute>
        <attribute source="server" code="0x0004" define="MANUFACTURER_NAME"    mandatory="false"  name="manufacturer name"      >FALSE</attribute>
        <attribute source="server" code="0x0005" define="MODEL_IDENTIFIER"     mandatory="false"  name="model identifier"       >FALSE</attribute>
        <attribute source="server" code="0x0006" define="DATE_CODE"            mandatory="false"  name="date code"              >FALSE</attribute>
        <attribute source="server" code="0x0007" define="POWER_SOURCE"         mandatory="true"   name="power source"           >TRUE</attribute>
        <attribute source="server" code="0x0010" define="LOCATION_DESCRIPTION" mandatory="false"  name="location description"   >FALSE</attribute>
        <attribute source="server" code="0x0011" define="PHYSICAL_ENVIRONMENT" mandatory="false"  name="physical environment"   >FALSE</attribute>
        <attribute source="server" code="0x0012" define="DEVICE_ENABLED"       mandatory="false"  name="device enabled"         >FALSE</attribute>
        <attribute source="server" code="0x0013" define="ALARM_MASK"           mandatory="false"  name="alarm mask"             >FALSE</attribute>
        <attribute source="server" code="0x0014" define="DISABLE_LOCAL_CONFIG" mandatory="false"  name="disable local config"   >FALSE</attribute>
        <command receivedBy="server" code="0x00" name="ResetToFactoryDefaults" mandatory="false"></command>
      </cluster>

      <cluster>
        <name>Identify</name>
        <code>0x0003</code>
        <define>IDENTIFY_CLUSTER</define>
        <attribute source="server" code="0x0000" define="IDENTIFY_TIME" mandatory="true" name="identify time"                          >TRUE</attribute>
        <command receivedBy="server" code="0x00" name="Identify" mandatory="true"                                                          >TRUE</command>
        <command receivedBy="server" code="0x01" name="IdentifyQuery" mandatory="true"                                                     >TRUE</command>
        <command receivedBy="client" code="0x00" name="IdentifyQueryResponse" mandatory="true"                                             >TRUE</command>
      </cluster>

      <cluster>
        <name>On/off</name>
        <code>0x0006</code>
        <define>ON_OFF_CLUSTER</define>
        <attribute source="server" code="0x0000" define="ON_OFF" mandatory="true" name="on/off" >TRUE</attribute>
        <command receivedBy="server" code="0x00" name="Off" mandatory="true">TRUE</command>
        <command receivedBy="server" code="0x01" name="On" mandatory="true">TRUE</command>
        <command receivedBy="server" code="0x02" name="Toggle" mandatory="true">TRUE</command>
      </cluster>

    </HAClusters>
  </picsProforma>
</homeAutomationPICs>


-->

<homeAutomationPICs version="">
  <implementationIdentification>
    <IUTIdentification>
      <description>Implemenation Under Test Identification</description>
      <UITName mandatory="true">AT Command Set for Combined Interface and Control Indicating Equipment</UITName>
      <UITVersion mandatory="true">EFR32-MGM111</UITVersion>
    </IUTIdentification>
    <SUTIdentification>
      <description>System Under Test Identification</description>
      <SUTName />
      <SUTSoftwareVersion mandatory="true">R312</SUTSoftwareVersion>
      <SUTHardwareVersion mandatory="true">A03</SUTHardwareVersion>
      <SUTOperatingSystem mandatory="false" />
    </SUTIdentification>
    <productSupplier>
      <description>Product Supplier</description>
      <name>Silicon Laboratories (UK) Ltd</name>
      <address>Unit 1, Abbey Barn Business Centre, Abbey Barn Lane, High Wycombe, HP10 9QQ, United Kingdom</address>
      <telephoneNumber>+44 (0)1494 510199</telephoneNumber>
      <faxNumber>+44 (0)5603 436999</faxNumber>
      <emailAddress>shoaib.javed@silabs.com</emailAddress>
      <additionalInformation />
    </productSupplier>
    <client>
      <description>Client</description>
      <name>Silicon Laboratories (UK) Ltd</name>
      <address>Unit 1, Abbey Barn Business Centre, Abbey Barn Lane, High Wycombe, HP10 9QQ, United Kingdom</address>
      <telephoneNumber>+44 (0)1494 510199</telephoneNumber>
      <faxNumber>+44 (0)5603 436999</faxNumber>
      <emailAddress>shoaib.javed@silabs.com</emailAddress>
      <additionalInformation />
    </client>
    <picsContactPerson>
      <description>PICS Contact Person</description>
      <name>Gyanaranjan Jena</name>
      <address>Unit 1, Abbey Barn Business Centre, Abbey Barn Lane, High Wycombe, HP10 9QQ, United Kingdom</address>
      <telephoneNumber>+44 (0)1494 510199</telephoneNumber>
      <faxNumber>+44 (0)5603 436999</faxNumber>
      <emailAddress>Gyanaranjan.Jena@silabs.com</emailAddress>
      <additionalInformation />
    </picsContactPerson>
  </implementationIdentification>

  <globalStatementOfConformance>
    <specVersion name="ZigBee Home Automation" version="075340r15" mandatory="true">TRUE</specVersion>
  </globalStatementOfConformance>

  <picsProforma mandatory="true">
    <zigBeeDeviceTypes>
      <type>
        <name>coordinator</name>
        <description>Is this device capable of acting as a ZigBee coordinator?</description>
        <support>TRUE</support>
        <profileItem>
          <name>Join Mode</name>
          <description>Does the device support a method for the user to put the device in join mode?</description>
          <mandatory>true</mandatory>
          <supported>TRUE</supported>
        </profileItem>
        <profileItem>
          <name>Network Form</name>
          <description>Does the device support a method for the user to use the device to form a network?</description>
          <mandatory>true</mandatory>
          <supported>TRUE</supported>
        </profileItem>
        <profileItem>
          <name>Permit Join</name>
          <description>Does the device support a method for allowing others to join the network?</description>
          <mandatory>true</mandatory>
          <supported>TRUE</supported>
        </profileItem>
      </type>
      <type>
        <name>router</name>
        <description>Is this device capable of acting as a ZigBee router?</description>
        <support>TRUE</support>
        <profileItem>
          <name>Join Mode</name>
          <description>Does the device support a method for the user to put the device in join mode?</description>
          <mandatory>true</mandatory>
          <supported>TRUE</supported>
        </profileItem>
        <profileItem>
          <name>Permit Join</name>
          <description>Does the device support a method for allowing others to join the network?</description>
          <mandatory>true</mandatory>
          <supported>TRUE</supported>
        </profileItem>
      </type>
    </zigBeeDeviceTypes>
    <stackProfile>
      <profileItem>
        <name>ZigBee Stack Profile</name>
        <mandatory>true</mandatory>
        <description>Is the device built on a ZigBee Compliant Platform certified for ZigBee or ZigBee PRO stack profile 080006r05?</description>
        <mandatory>true</mandatory>
        <supported>TRUE</supported>
      </profileItem>
      <profileItem>
        <name>Binding Table Size</name>
        <description>Does the device implement source binding with a binding table whose number of available entries is greater than or equal to the number of supported clusters that may initiate normal operational transactions. It should be noted that operational transactions are not one time transactions or commissioning transactions. Operational transactions are those that are used to perform the device function, such attribute reporting or actuation commands  (e.g. On, Off, Toggle, etc).</description>
        <mandatory>true</mandatory>
        <supported>TRUE</supported>
      </profileItem>
      <profileItem>
        <name>Link Keys</name>
        <description>Does the device support Trust Center Link Keys including the Default Trust Center Link Key?</description>
        <mandatory>true</mandatory>
        <supported>TRUE</supported>
      </profileItem>
      <profileItem>
        <name>APS Layer Multicast (CCB 1773)</name>
        <description>Does the device use only APS layer multicast for multicast messages?</description>
        <mandatory>true</mandatory>
        <supported>TRUE</supported>
      </profileItem>
      <profileItem>
        <name>Network Use Multicast (CCB 1773)</name>
        <description>Does the device have the stack primitive nwkUseMulticast set to FALSE?</description>
        <mandatory>true</mandatory>
        <supported>TRUE</supported>
      </profileItem>
    </stackProfile>
    <HAProfile>
      <profileItem>
        <name>Cluster Library PICs</name>
        <description>Does the device support the ZigBee Cluster Library PICS as defined in 064118r08</description>
        <mandatory>true</mandatory>
        <supported>TRUE</supported>
      </profileItem>
      <profileItem>
        <name>Reset to Factory Defaults</name>
        <description>Does the device support a method for allowing a user to restore factory settings?</description>
        <mandatory>true</mandatory>
        <supported>TRUE</supported>
      </profileItem>
      <profileItem>
        <name>Reporting generation</name>
        <description>Does the device have attributes that are reportable?</description>
        <mandatory>false</mandatory>
        <supported>FALSE</supported>
      </profileItem>
      <profileItem>
        <name>Default Reporting Configuration</name>
        <description>Does the device have a default reporting configuration for each reportable attribute</description>
        <mandatory>false</mandatory>
        <supported>FALSE</supported>
      </profileItem>
      <profileItem>
        <name>Read Reporting Configuration</name>
        <description>Does the device support configuring and  reading a report configuration for all reportable attributes?</description>
        <mandatory>false</mandatory>
        <supported>FASLE</supported>
      </profileItem>
    </HAProfile>
    <ZDPCommands>
      <command code="0x8000" name="NWK_addr_rsp" source="either" mandatory="true">
        <supported>TRUE</supported>
      </command>
      <command code="0x8001" name="IEEE_addr_rsp" source="either" mandatory="true">
        <supported>TRUE</supported>
      </command>
      <command code="0x8002" name="Node_Desc_rsp" source="either" mandatory="true">
        <supported>TRUE</supported>
      </command>
      <command code="0x8003" name="Power_Desc_rsp" source="either" mandatory="true">
        <supported>TRUE</supported>
      </command>
      <command code="0x8004" name="Simple_Desc_rsp" source="either" mandatory="true">
        <supported>TRUE</supported>
      </command>
      <command code="0x8005" name="Active_EP_rsp" source="either" mandatory="true">
        <supported>TRUE</supported>
      </command>
      <command code="0x8006" name="Match_Desc_rsp" source="either" mandatory="true">
        <supported>TRUE</supported>
      </command>
      <command code="0x8013" name="Device_annce" source="either" mandatory="true">
        <supported>TRUE</supported>
      </command>
      <command code="0x8021" name="Bind_rsp" source="either" mandatory="true">
        <supported>TRUE</supported>
      </command>
      <command code="0x8022" name="Unbind_rsp" source="either" mandatory="true">
        <supported>TRUE</supported>
      </command>
      <command code="0x8031" name="Mgmt_Lqi_rsp" source="either" mandatory="true">
        <supported>TRUE</supported>
      </command>
      <command code="0x8033" name="Mgmt_Bind_rsp" source="either">
        <supported>TRUE</supported>
      </command>
    </ZDPCommands>
    <ZCLGlobalCommands>
      <command code="0x01" name="ReadAttributesResponse" source="either" mandatory="true">
        <supported>TRUE</supported>
      </command>
      <command code="0x04" name="WriteAttributesResponse" source="either" mandatory="true">
        <supported>TRUE</supported>
      </command>
      <command code="0x07" name="ConfigureReportingResponse" source="either" mandatory="true">
        <supported>TRUE</supported>
      </command>
      <command code="0x09" name="ReadReportingConfigurationResponse" source="either" mandatory="true">
        <supported>TRUE</supported>
      </command>
      <command code="0x0B" name="DefaultResponse" source="either" mandatory="true">
        <supported>TRUE</supported>
      </command>
      <command code="0x0D" name="DiscoverAttributesResponse" source="either" mandatory="true">
        <supported>TRUE</supported>
      </command>
      <command code="0x10" name="WriteAttributesStructuredResponse" source="either" mandatory="false">
        <supported>FALSE</supported>
      </command>
      <command code="0x12" name="DiscoverCommandsReceivedResponse" source="either" mandatory="false">
        <supported>FALSE</supported>
      </command>
      <command code="0x14" name="DiscoverCommandsGeneratedResponse" source="either" mandatory="false">
        <supported>FALSE</supported>
      </command>
      <command code="0x16" name="DiscoverAttributesExtendedResponse" source="either" mandatory="false">
        <supported>FALSE</supported>
      </command>
    </ZCLGlobalCommands>
    <HADeviceTypes>
      <deviceType>
        <name>HA-combinedinterface</name>
        <domain>HA</domain>
        <typeName>HA Combined Interface</typeName>
        <profileId>0x0104</profileId>
        <deviceId>0x0007</deviceId>
        <supported>TRUE</supported>
        <commissioning>
          <type name="ezMode" role="initiator" mandatory="false">
            <supported>FALSE</supported>
          </type>
          <type name="ezMode" role="target" mandatory="false">
            <supported>FALSE</supported>
          </type>
        </commissioning>
        <clusters>
          <include name="Basic" source="server" mandatory="true">
            <supported>TRUE</supported>
          </include>
          <include name="Identify" source="server" mandatory="true">
            <supported>TRUE</supported>
          </include>
          <include name="Over the Air Bootloading Cluster" source="server" mandatory="false">
            <supported>TRUE</supported>
          </include>
          <include name="Basic" source="client" mandatory="false">
            <supported>TRUE</supported>
          </include>
          <include name="Identify" source="client" mandatory="false">
            <supported>TRUE</supported>
          </include>
          <include name="Temperature Measurement" mandatory="false" source="client">
            <supported>TRUE</supported>
          </include>
          <include name="Level Control" source="client" mandatory="false">
            <supported>TRUE</supported>
          </include>
          <include name="Groups" source="client" mandatory="false">
            <supported>TRUE</supported>
          </include>
          <include name="Scenes" source="client" mandatory="false">
            <supported>TRUE</supported>
          </include>
          <include name="Window Covering" source="client" mandatory="false">
            <supported>TRUE</supported>
          </include>
          <include name="Door Lock" source="client" mandatory="false">
            <supported>TRUE</supported>
          </include>
          <include name="On/Off" source="client" mandatory="false">
            <supported>TRUE</supported>
          </include>
          <include name="Poll Control" source="client" mandatory="false">
            <supported>TRUE</supported>
          </include>
        </clusters>
      </deviceType>
      <deviceType>
        <name>HA-iascie</name>
        <domain>HA</domain>
        <typeName>HA IAS Control and Indication Equipment</typeName>
        <profileId>0x0104</profileId>
        <deviceId>0x0400</deviceId>
        <supported>TRUE</supported>
        <commissioning>
          <type name="ezMode" role="initiator" mandatory="false">
            <supported>FALSE</supported>
          </type>
          <type name="ezMode" role="target" mandatory="false">
            <supported>FALSE</supported>
          </type>
        </commissioning>
        <clusters>
          <include name="Basic" source="server" mandatory="true">
            <supported>TRUE</supported>
          </include>
          <include name="Identify" source="server" mandatory="true">
            <supported>TRUE</supported>
          </include>
          <include name="IAS ACE" source="server" mandatory="true">
            <supported>TRUE</supported>
          </include>
          <include name="IAS WD" source="client" mandatory="true">
            <supported>TRUE</supported>
          </include>
          <include name="Identify" source="client" mandatory="true">
            <supported>TRUE</supported>
          </include>
          <include name="IAS Zones" source="client" mandatory="true">
            <supported>TRUE</supported>
          </include>
        </clusters>
      </deviceType>
    </HADeviceTypes>
    <HAClusters>
      <cluster>
        <name>Basic</name>
        <code>0x0000</code>
        <define>BASIC_CLUSTER</define>
        <attribute source="server" code="0x0000" define="VERSION" mandatory="true" name="ZCL version">
          <supported>TRUE</supported>
        </attribute>
        <attribute source="server" code="0x0001" define="APPLICATION_VERSION" mandatory="false" name="application version">
          <supported>TRUE</supported>
        </attribute>
        <attribute source="server" code="0x0002" define="STACK_VERSION" mandatory="false" name="stack version">
          <supported>TRUE</supported>
        </attribute>
        <attribute source="server" code="0x0003" define="HW_VERSION" mandatory="false" name="hardware version">
          <supported>TRUE</supported>
        </attribute>
        <attribute source="server" code="0x0004" define="MANUFACTURER_NAME" mandatory="false" name="manufacturer name">
          <supported>TRUE</supported>
        </attribute>
        <attribute source="server" code="0x0005" define="MODEL_IDENTIFIER" mandatory="false" name="model identifier">
          <supported>TRUE</supported>
        </attribute>
        <attribute source="server" code="0x0006" define="DATE_CODE" mandatory="false" name="date code">
          <supported>TRUE</supported>
        </attribute>
        <attribute source="server" code="0x0007" define="POWER_SOURCE" mandatory="true" name="power source">
          <supported>TRUE</supported>
        </attribute>
        <attribute source="server" code="0x0010" define="LOCATION_DESCRIPTION" mandatory="false" name="location description">
          <supported>TRUE</supported>
        </attribute>
        <attribute source="server" code="0x0011" define="PHYSICAL_ENVIRONMENT" name="physical environment" mandatory="false">
          <supported>TRUE</supported>
        </attribute>
        <attribute source="server" code="0x0012" define="DEVICE_ENABLED" mandatory="false" name="device enabled">
          <supported>TRUE</supported>
        </attribute>
        <attribute source="server" code="0x0013" define="ALARM_MASK" mandatory="false" name="alarm mask">
          <supported>TRUE</supported>
        </attribute>
        <attribute source="server" code="0x0014" define="DISABLE_LOCAL_CONFIG" mandatory="false" name="disable local config">
          <supported>TRUE</supported>
        </attribute>
        <command receivedBy="server" code="0x00" name="ResetToFactoryDefaults" mandatory="false">
          <supported>FALSE</supported>
        </command>
      </cluster>
      <cluster>
        <name>Identify</name>
        <code>0x0003</code>
        <define>IDENTIFY_CLUSTER</define>
        <attribute source="server" code="0x0000" define="IDENTIFY_TIME" mandatory="true" name="identify time">
          <supported>TRUE</supported>
        </attribute>
        <attribute source="server" code="0x0001" define="COMMISSION_STATE" mandatory="false" name="commission state">
          <supported>FALSE</supported>
        </attribute>
        <command receivedBy="server" code="0x00" name="Identify" mandatory="true">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="server" code="0x01" name="IdentifyQuery" mandatory="true">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="client" code="0x00" name="IdentifyQueryResponse" mandatory="true">
          <supported>TRUE</supported>
        </command>
      </cluster>
      <cluster>
        <name>Groups</name>
        <code>0x0004</code>
        <define>GROUPS_CLUSTER</define>
        <profileItem>
          <name>Groups Table Size</name>
          <description>Does the device support at least 8 entries in the group table?</description>
          <mandatory>true</mandatory>
          <supported>N/A</supported>
        </profileItem>
        <attribute source="server" code="0x0000" define="GROUP_NAME_SUPPORT" mandatory="true" name="name support" />
        <command receivedBy="server" code="0x00" name="AddGroup" mandatory="true">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="server" code="0x01" name="ViewGroup" mandatory="true">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="server" code="0x02" name="GetGroupMembership" mandatory="true">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="server" code="0x03" name="RemoveGroup" mandatory="true">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="server" code="0x04" name="RemoveAllGroups" mandatory="true">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="server" code="0x05" name="AddGroupIfIdentifying" mandatory="true">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="client" code="0x00" name="AddGroupResponse" mandatory="true">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="client" code="0x01" name="ViewGroupResponse" mandatory="true">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="client" code="0x02" name="GetGroupMembershipResponse" mandatory="true">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="client" code="0x03" name="RemoveGroupResponse" mandatory="true">
          <supported>TRUE</supported>
        </command>
      </cluster>
      <cluster>
        <name>Scenes</name>
        <code>0x0005</code>
        <define>SCENES_CLUSTER</define>
        <profileItem>
          <name>Scenes Table Size</name>
          <description>Does the device support at least 16 entries in the scenes table?</description>
          <mandatory>true</mandatory>
          <supported>N/A</supported>
        </profileItem>
        <attribute source="server" code="0x0000" define="SCENE_COUNT" mandatory="true" name="scene count" />
        <attribute source="server" code="0x0001" define="CURRENT_SCENE" mandatory="true" name="current scene" />
        <attribute source="server" code="0x0002" define="CURRENT_GROUP" mandatory="true" name="current group" />
        <attribute source="server" code="0x0003" define="SCENE_VALID" mandatory="true" name="scene valid" />
        <attribute source="server" code="0x0004" define="SCENE_NAME_SUPPORT" mandatory="true" name="name support" />
        <attribute source="server" code="0x0005" define="LAST_CONFIGURED_BY" mandatory="false" name="last configured by" />
        <command receivedBy="server" code="0x00" name="AddScene" mandatory="true">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="server" code="0x01" name="ViewScene" mandatory="true">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="server" code="0x02" name="RemoveScene" mandatory="true">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="server" code="0x03" name="RemoveAllScenes" mandatory="true">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="server" code="0x04" name="StoreScene" mandatory="true">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="server" code="0x05" name="RecallScene" mandatory="true">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="server" code="0x06" name="GetSceneMembership" mandatory="true">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="client" code="0x00" name="AddSceneResponse" mandatory="true">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="client" code="0x01" name="ViewSceneResponse" mandatory="true">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="client" code="0x02" name="RemoveSceneResponse" mandatory="true">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="client" code="0x03" name="RemoveAllScenesResponse" mandatory="true">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="client" code="0x04" name="StoreSceneResponse" mandatory="true">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="client" code="0x06" name="GetSceneMembershipResponse" mandatory="true">
          <supported>TRUE</supported>
        </command>
      </cluster>
      <cluster>
        <name>On/off</name>
        <code>0x0006</code>
        <define>ON_OFF_CLUSTER</define>
        <attribute source="server" code="0x0000" define="ON_OFF" mandatory="true" name="on/off" />
        <command receivedBy="server" code="0x00" name="Off" mandatory="true">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="server" name="On" code="0x01" mandatory="true">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="server" code="0x02" name="Toggle" mandatory="true">
          <supported>TRUE</supported>
        </command>
      </cluster>
      <cluster>
        <name>Level Control</name>
        <code>0x0008</code>
        <define>LEVEL_CONTROL_CLUSTER</define>
        <attribute source="server" code="0x0000" define="CURRENT_LEVEL" mandatory="true" name="current level" />
        <attribute source="server" code="0x0001" define="LEVEL_CONTROL_REMAINING_TIME" mandatory="false" name="remaining time" />
        <attribute source="server" code="0x0010" define="ON_OFF_TRANSITION_TIME" mandatory="false" name="on off transition time" />
        <attribute source="server" code="0x0011" define="ON_LEVEL" mandatory="false" name="on level" />
        <attribute source="server" code="0x0012" define="ON_TRANSITION_TIME" mandatory="false" name="on transition time" />
        <attribute source="server" code="0x0013" define="OFF_TRANSITION_TIME" mandatory="false" name="off transition time" />
        <attribute source="server" code="0x0014" define="DEFAULT_MOVE_RATE" mandatory="false" name="default move rate" />
        <attribute source="server" code="0x0015" define="LEVEL_CONTROL_PHYSICAL_MIN_LEVEL" mandatory="false" name="physical min level" />
        <attribute source="server" code="0x0016" define="LEVEL_CONTROL_PHYSICAL_MAX_LEVEL" mandatory="false" name="physical max level" />
        <attribute source="server" code="0x0017" define="LEVEL_CONTROL_MIN_LEVEL" mandatory="false" name="min level" />
        <attribute source="server" code="0x0018" define="LEVEL_CONTROL_MAX_LEVEL" mandatory="false" name="max level" />
        <command receivedBy="server" code="0x00" name="MoveToLevel" mandatory="true">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="server" code="0x01" name="Move" mandatory="true">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="server" code="0x02" name="Step" mandatory="true">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="server" code="0x03" name="Stop" mandatory="true">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="server" code="0x04" name="MoveToLevelWithOnOff" mandatory="true">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="server" code="0x05" name="MoveWithOnOff" mandatory="true">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="server" code="0x06" name="StepWithOnOff" mandatory="true">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="server" code="0x07" name="StopWithOnOff" mandatory="true">
          <supported>TRUE</supported>
        </command>
      </cluster>
      <cluster>
        <name>Poll Control</name>
        <code>0x0020</code>
        <define>POLL_CONTROL_CLUSTER</define>
        <attribute source="server" code="0x0000" define="CHECK_IN_INTERVAL" mandatory="true" name="check-in interval" />
        <attribute source="server" code="0x0001" define="LONG_POLL_INTERVAL" mandatory="true" name="long poll interval" />
        <attribute source="server" code="0x0002" define="SHORT_POLL_INTERVAL" mandatory="true" name="short poll interval" />
        <attribute source="server" code="0x0003" define="FAST_POLL_TIMEOUT" mandatory="true" name="fast poll timeout" />
        <attribute source="server" code="0x0004" define="CHECK_IN_INTERVAL_MIN" mandatory="false" name="check in interval min" />
        <attribute source="server" code="0x0005" define="LONG_POLL_INTERVAL_MIN" mandatory="false" name="long poll interval min" />
        <attribute source="server" code="0x0006" define="FAST_POLL_TIMEOUT_MAX" mandatory="false" name="fast poll timeout max" />
        <command receivedBy="client" code="0x00" name="CheckIn" mandatory="true">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="server" code="0x00" name="CheckInResponse" mandatory="true">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="server" code="0x01" name="FastPollStop" mandatory="true">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="server" code="0x02" name="SetLongPollInterval" mandatory="false">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="server" code="0x03" name="SetShortPollInterval" mandatory="false">
          <supported>TRUE</supported>
        </command>
      </cluster>
      <cluster>
        <name>Temperature Measurement</name>
        <code>0x0402</code>
        <define>TEMP_MEASUREMENT_CLUSTER</define>
        <attribute source="server" code="0x0000" define="TEMP_MEASURED_VALUE" mandatory="true" name="measured value" />
        <attribute source="server" code="0x0001" define="TEMP_MIN_MEASURED_VALUE" mandatory="true" name="min measured value" />
        <attribute source="server" code="0x0002" define="TEMP_MAX_MEASURED_VALUE" mandatory="true" name="max measured value" />
        <attribute source="server" code="0x0003" define="TEMP_TOLERANCE" mandatory="false" name="tolerance" />
      </cluster>
      <cluster>
        <name>IAS Zone</name>
        <code>0x0500</code>
        <define>IAS_ZONE_CLUSTER</define>
        <attribute source="server" code="0x0000" define="ZONE_STATE" mandatory="true" name="zone state" />
        <attribute source="server" code="0x0001" define="ZONE_TYPE" mandatory="true" name="zone type" />
        <attribute source="server" code="0x0002" define="ZONE_STATUS" mandatory="true" name="zone status" />
        <attribute source="server" code="0x0010" define="IAS_CIE_ADDRESS" mandatory="true" name="IAS CIE address" />
        <attribute source="server" code="0x0011" define="ZONE_ID" mandatory="true" name="Zone ID" />
        <command receivedBy="server" code="0x00" name="ZoneEnrollResponse" mandatory="true">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="client" code="0x00" name="ZoneStatusChangeNotification" mandatory="true">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="client" code="0x01" name="ZoneEnrollRequest" mandatory="true">
          <supported>TRUE</supported>
        </command>
      </cluster>
      <cluster>
        <name>IAS ACE</name>
        <code>0x0501</code>
        <define>IAS_ACE_CLUSTER</define>
        <attribute source="server" code="0x0000" define="PANEL_STATUS" mandatory="true" name="panel status">
          <supported>TRUE</supported>
        </attribute>
        <command receivedBy="server" code="0x00" name="Arm" mandatory="true">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="server" code="0x01" name="Bypass" mandatory="true">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="server" code="0x02" name="Emergency" mandatory="true">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="server" code="0x03" name="Fire" mandatory="true">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="server" code="0x04" name="Panic" mandatory="true">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="server" code="0x05" name="GetZoneIdMap" mandatory="true">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="server" code="0x06" name="GetZoneInformation" mandatory="true">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="server" code="0x07" name="GetPanelStatus" mandatory="true">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="server" code="0x08" name="GetZoneStatus" mandatory="true">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="client" code="0x00" name="ArmResponse" mandatory="true">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="client" code="0x01" name="GetZoneIdMapResponse" mandatory="true">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="client" code="0x02" name="GetZoneInformationResponse" mandatory="true">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="client" code="0x03" name="ZoneStatusChanged" mandatory="true">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="client" code="0x04" name="PanelStatusChanged" mandatory="true">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="client" code="0x05" name="GetPanelStatusResponse" mandatory="true">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="client" code="0x06" name="SetBypassedZoneList" mandatory="true">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="client" code="0x07" name="BypassResponseCommand" mandatory="true">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="client" code="0x08" name="GetBypassedZoneList" mandatory="true">
          <supported>TRUE</supported>
        </command>
      </cluster>
      <cluster>
        <name>IAS WD</name>
        <code>0x0502</code>
        <define>IAS_WD_CLUSTER</define>
        <attribute source="server" code="0x0000" define="MAX_DURATION" mandatory="true" name="max duration" />
        <command receivedBy="server" code="0x00" name="StartWarning" mandatory="true">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="server" code="0x01" name="Squawk" mandatory="true">
          <supported>TRUE</supported>
        </command>
      </cluster>
      <cluster>
        <name>Door Lock</name>
        <code>0x0101</code>
        <define>DOOR_LOCK_CLUSTER</define>
        <attribute source="server" code="0x0000" define="LOCK_STATE" mandatory="true" name="lock state" />
        <attribute source="server" code="0x0001" define="LOCK_TYPE" mandatory="true" name="lock type" />
        <attribute source="server" code="0x0002" define="ACTUATOR_ENABLED" mandatory="true" name="actuator enabled" />
        <attribute source="server" code="0x0003" define="DOOR_STATE" mandatory="false" name="door state" />
        <attribute source="server" code="0x0004" define="DOOR_OPEN_EVENTS" mandatory="false" name="door open events" />
        <attribute source="server" code="0x0005" define="DOOR_CLOSED_EVENTS" mandatory="false" name="door closed events" />
        <attribute source="server" code="0x0006" define="OPEN_PERIOD" mandatory="false" name="open period" />
        <attribute source="server" code="0x0010" define="NUM_LOCK_RECORDS_SUPPORTED" mandatory="false" name="num lock records supported" />
        <attribute source="server" code="0x0011" define="NUM_TOTAL_USERS_SUPPORTED" mandatory="false" name="num total users supported" />
        <attribute source="server" code="0x0012" define="NUM_PIN_USERS_SUPPORTED" mandatory="false" name="num PIN users supported" />
        <attribute source="server" code="0x0013" define="NUM_RFID_USERS_SUPPORTED" mandatory="false" name="num RFID users supported" />
        <attribute source="server" code="0x0014" define="NUM_WEEKDAY_SCHEDULES_SUPPORTED_PER_USER" mandatory="false" name="num weekday schedules supported per user" />
        <attribute source="server" code="0x0015" define="NUM_YEARDAY_SCHEDULES_SUPPORTED_PER_USER" mandatory="false" name="num yearday schedules supported per user" />
        <attribute source="server" code="0x0016" define="NUM_HOLIDAY_SCHEDULES_SUPPORTED_PER_USER" mandatory="false" name="num holiday schedules supported per user" />
        <attribute source="server" code="0x0017" define="MAX_PIN_LENGTH" mandatory="false" name="max pin length" />
        <attribute source="server" code="0x0018" define="MIN_PIN_LENGTH" mandatory="false" name="min pin length" />
        <attribute source="server" code="0x0019" define="MAX_RFID_CODE_LENGTH" mandatory="false" name="max rfid code length" />
        <attribute source="server" code="0x001A" define="MIN_RFID_CODE_LENGTH" mandatory="false" name="min rfid code length" />
        <attribute source="server" code="0x0020" define="ENABLE_LOGGING" mandatory="false" name="enable logging" />
        <attribute source="server" code="0x0021" define="LANGUAGE" mandatory="false" name="language" />
        <attribute source="server" code="0x0022" define="LED_SETTINGS" mandatory="false" name="led settings" />
        <attribute source="server" code="0x0023" define="AUTO_RELOCK_TIME" mandatory="false" name="auto relock time" />
        <attribute source="server" code="0x0024" define="SOUND_VOLUME" mandatory="false" name="sound volume" />
        <attribute source="server" code="0x0025" define="OPERATING_MODE" mandatory="false" name="operating mode" />
        <attribute source="server" code="0x0026" define="SUPPORTED_OPERATING_MODES" mandatory="false" name="supported operating modes" />
        <attribute source="server" code="0x0027" define="DEFAULT_CONFIGURATION_REGISTER" mandatory="false" name="default configuration register" />
        <attribute source="server" code="0x0028" define="ENABLE_LOCAL_PROGRAMMING" mandatory="false" name="enable local programming" />
        <attribute source="server" code="0x0029" define="ENABLE_ONE_TOUCH_LOCKING" mandatory="false" name="enable one touch locking" />
        <attribute source="server" code="0x002A" define="ENABLE_INSIDE_STATUS_LED" mandatory="false" name="enable inside status led" />
        <attribute source="server" code="0x002B" define="ENABLE_PRIVACY_MODE_BUTTON" mandatory="false" name="enable privacy mode button" />
        <attribute source="server" code="0x0030" define="WRONG_CODE_ENTRY_LIMIT" mandatory="false" name="wrong code entry limit" />
        <attribute source="server" code="0x0031" define="USER_CODE_TEMPORARY_DISABLE_TIME" mandatory="false" name="user code temporary disable time" />
        <attribute source="server" code="0x0032" define="SEND_PIN_OVER_THE_AIR" mandatory="false" name="send pin over the air" />
        <attribute source="server" code="0x0033" define="REQUIRE_PIN_FOR_RF_OPERATION" mandatory="false" name="require pin for rf operation" />
        <attribute source="server" code="0x0034" define="ZIGBEE_SECURITY_LEVEL" mandatory="false" name="zigbee security level" />
        <attribute source="server" code="0x0040" define="DOOR_LOCK_ALARM_MASK" mandatory="false" name="alarm mask" />
        <attribute source="server" code="0x0041" define="KEYPAD_OPERATION_EVENT_MASK" mandatory="false" name="keypad operation event mask" />
        <attribute source="server" code="0x0042" define="RF_OPERATION_EVENT_MASK" mandatory="false" name="RF operation event mask" />
        <attribute source="server" code="0x0043" define="MANUAL_OPERATION_EVENT_MASK" mandatory="false" name="manual operation event mask" />
        <attribute source="server" code="0X0044" define="RFID_OPERATION_EVENT_MASK" mandatory="false" name="rfid operation event mask" />
        <attribute source="server" code="0x0045" define="KEYPAD_PROGRAMMING_EVENT_MASK" mandatory="false" name="keypad programming event mask" />
        <attribute source="server" code="0X0046" define="RF_PROGRAMMING_EVENT_MASK" mandatory="false" name="rf programming event mask" />
        <attribute source="server" code="0X0047" define="RFID_PROGRAMMING_EVENT_MASK" mandatory="false" name="rfid programming event mask" />
        <command receivedBy="server" code="0x00" name="LockDoor" mandatory="true">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="server" code="0x01" name="UnlockDoor" mandatory="true">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="client" code="0x00" name="LockDoorResponse" mandatory="true">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="client" code="0x01" name="UnlockDoorResponse" mandatory="true">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="server" code="0x02" name="Toggle" mandatory="false">
          <supported>FALSE</supported>
        </command>
        <command receivedBy="server" code="0x03" name="UnlockWithTimeout" mandatory="false">
          <supported>FALSE</supported>
        </command>
        <command receivedBy="server" code="0x04" name="GetLogRecord" mandatory="false">
          <supported>FALSE</supported>
        </command>
        <command receivedBy="server" code="0x05" name="SetPin" mandatory="false">
          <supported>FALSE</supported>
        </command>
        <command receivedBy="server" code="0x06" name="GetPin" mandatory="false">
          <supported>FALSE</supported>
        </command>
        <command receivedBy="server" code="0x07" name="ClearPin" mandatory="false">
          <supported>FALSE</supported>
        </command>
        <command receivedBy="server" code="0x08" name="ClearAllPins" mandatory="false">
          <supported>FALSE</supported>
        </command>
        <command receivedBy="server" code="0x09" name="SetUserStatus" mandatory="false">
          <supported>FALSE</supported>
        </command>
        <command receivedBy="server" code="0x0A" name="GetUserStatus" mandatory="false">
          <supported>FALSE</supported>
        </command>
        <command receivedBy="server" code="0x0B" name="SetWeekdaySchedule" mandatory="false">
          <supported>FALSE</supported>
        </command>
        <command receivedBy="server" code="0x0C" name="GetWeekdaySchedule" mandatory="false">
          <supported>FALSE</supported>
        </command>
        <command receivedBy="server" code="0x0D" name="ClearWeekdaySchedule" mandatory="false">
          <supported>FALSE</supported>
        </command>
        <command receivedBy="server" code="0x0E" name="SetYeardaySchedule" mandatory="false">
          <supported>FALSE</supported>
        </command>
        <command receivedBy="server" code="0x0F" name="GetYeardaySchedule" mandatory="false">
          <supported>FALSE</supported>
        </command>
        <command receivedBy="server" code="0x10" name="ClearYeardaySchedule" mandatory="false">
          <supported>FALSE</supported>
        </command>
        <command receivedBy="server" code="0x11" name="SetHolidaySchedule" mandatory="false">
          <supported>FALSE</supported>
        </command>
        <command receivedBy="server" code="0x12" name="GetHolidaySchedule" mandatory="false">
          <supported>FALSE</supported>
        </command>
        <command receivedBy="server" code="0x13" name="ClearHolidaySchedule" mandatory="false">
          <supported>FALSE</supported>
        </command>
        <command receivedBy="server" code="0x14" name="SetUserType" mandatory="false">
          <supported>FALSE</supported>
        </command>
        <command receivedBy="server" code="0x15" name="GetUserType" mandatory="false">
          <supported>FALSE</supported>
        </command>
        <command receivedBy="server" code="0x16" name="SetRfid" mandatory="false">
          <supported>FALSE</supported>
        </command>
        <command receivedBy="server" code="0x17" name="GetRfid" mandatory="false">
          <supported>FALSE</supported>
        </command>
        <command receivedBy="server" code="0x18" name="ClearRfid" mandatory="false">
          <supported>FALSE</supported>
        </command>
        <command receivedBy="server" code="0x19" name="ClearAllRfids" mandatory="false">
          <supported>FALSE</supported>
        </command>
        <command receivedBy="client" code="0x02" name="ToggleResponse" mandatory="false">
          <supported>FALSE</supported>
        </command>
        <command receivedBy="client" code="0x03" name="UnlockWithTimeoutResponse" mandatory="false">
          <supported>FALSE</supported>
        </command>
        <command receivedBy="client" code="0x04" name="GetLogRecordResponse" mandatory="false">
          <supported>FALSE</supported>
        </command>
        <command receivedBy="client" code="0x05" name="SetPinResponse" mandatory="false">
          <supported>FALSE</supported>
        </command>
        <command receivedBy="client" code="0x06" name="GetPinResponse" mandatory="false">
          <supported>FALSE</supported>
        </command>
        <command receivedBy="client" code="0x07" name="ClearPinResponse" mandatory="false">
          <supported>FALSE</supported>
        </command>
        <command receivedBy="client" code="0x08" name="ClearAllPinsResponse" mandatory="false">
          <supported>FALSE</supported>
        </command>
        <command receivedBy="client" code="0x09" name="SetUserStatusResponse" mandatory="false">
          <supported>FALSE</supported>
        </command>
        <command receivedBy="client" code="0x0A" name="GetUserStatusResponse" mandatory="false">
          <supported>FALSE</supported>
        </command>
        <command receivedBy="client" code="0x0B" name="SetWeekdayScheduleResponse" mandatory="false">
          <supported>FALSE</supported>
        </command>
        <command receivedBy="client" code="0x0C" name="GetWeekdayScheduleResponse" mandatory="false">
          <supported>FALSE</supported>
        </command>
        <command receivedBy="client" code="0x0D" name="ClearWeekdayScheduleResponse" mandatory="false">
          <supported>FALSE</supported>
        </command>
        <command receivedBy="client" code="0x0E" name="SetYeardayScheduleResponse" mandatory="false">
          <supported>FALSE</supported>
        </command>
        <command receivedBy="client" code="0x0F" name="GetYeardayScheduleResponse" mandatory="false">
          <supported>FALSE</supported>
        </command>
        <command receivedBy="client" code="0x10" name="ClearYeardayScheduleResponse" mandatory="false">
          <supported>FALSE</supported>
        </command>
        <command receivedBy="client" code="0x11" name="SetHolidayScheduleResponse" mandatory="false">
          <supported>FALSE</supported>
        </command>
        <command receivedBy="client" code="0x12" name="GetHolidayScheduleResponse" mandatory="false">
          <supported>FALSE</supported>
        </command>
        <command receivedBy="client" code="0x13" name="ClearHolidayScheduleResponse" mandatory="false">
          <supported>FALSE</supported>
        </command>
        <command receivedBy="client" code="0x14" name="SetUserTypeResponse" mandatory="false">
          <supported>FALSE</supported>
        </command>
        <command receivedBy="client" code="0x15" name="GetUserTypeResponse" mandatory="false">
          <supported>FALSE</supported>
        </command>
        <command receivedBy="client" code="0x16" name="SetRfidResponse" mandatory="false">
          <supported>FALSE</supported>
        </command>
        <command receivedBy="client" code="0x17" name="GetRfidResponse" mandatory="false">
          <supported>FALSE</supported>
        </command>
        <command receivedBy="client" code="0x18" name="ClearRfidResponse" mandatory="false">
          <supported>FALSE</supported>
        </command>
        <command receivedBy="client" code="0x19" name="ClearAllRfidsResponse" mandatory="false">
          <supported>FALSE</supported>
        </command>
        <command receivedBy="client" code="0x20" name="OperationEventNotification" mandatory="false">
          <supported>FALSE</supported>
        </command>
        <command receivedBy="client" code="0x21" name="ProgrammingEventNotification" mandatory="false">
          <supported>FALSE</supported>
        </command>
      </cluster>
      <cluster>
        <name>Window Covering</name>
        <code>0x0102</code>
        <define>WINDOW_COVERING_CLUSTER</define>
        <attribute source="server" code="0x0000" define="COVERING_TYPE" mandatory="true" name="window covering type" />
        <attribute source="server" code="0x0001" define="LIMIT_LIFT" mandatory="false" name="physical closed limit - lift" />
        <attribute source="server" code="0x0002" define="LIMIT_TILT" mandatory="false" name="physical closed limit - tilt" />
        <attribute source="server" code="0x0003" define="CURRENT_LIFT" mandatory="false" name="current position - lift" />
        <attribute source="server" code="0x0004" define="CURRENT_TILT" mandatory="false" name="current position - tilt" />
        <attribute source="server" code="0x0005" define="NUMBER_LIFT" mandatory="false" name="number of actuations - lift" />
        <attribute source="server" code="0x0006" define="NUMBER_TILT" mandatory="false" name="number of actuations - tilt" />
        <attribute source="server" code="0x0007" define="CONFIG_STATUS" mandatory="true" name="config status" />
        <attribute source="server" code="0x0008" define="CURRENT_LIFT_PERCENTAGE" mandatory="false" name="current position lift percentage" />
        <attribute source="server" code="0x0009" define="CURRENT_TILT_PERCENTAGE" mandatory="false" name="current position tilt percentage" />
        <attribute source="server" code="0x0010" define="OPEN_LIMIT_LIFT" mandatory="true" name="installed open limit - lift" />
        <attribute source="server" code="0x0011" define="CLOSED_LIMIT_LIFT" mandatory="true" name="installed closed limit - lift" />
        <attribute source="server" code="0x0012" define="OPEN_LIMIT_TILT" mandatory="true" name="installed open limit - tilt" />
        <attribute source="server" code="0x0013" define="CLOSED_LIMIT_TILT" mandatory="true" name="installed closed limit - tilt" />
        <attribute source="server" code="0x0014" define="VELOCITY_LIFT" mandatory="false" name="velocity - lift" />
        <attribute source="server" code="0x0015" define="ACCELERATION_LIFT" mandatory="false" name="acceleration time - lift" />
        <attribute source="server" code="0x0016" define="DECELERATION_LIFT" mandatory="false" name="deceleration time - lift" />
        <attribute source="server" code="0x0017" define="MODE" mandatory="true" name="mode" />
        <attribute source="server" code="0x0018" define="SETPOINTS_LIFT" mandatory="false" name="intermediate setpoints - lift" />
        <attribute source="server" code="0x0019" define="SETPOINTS_TILT" mandatory="false" name="intermediate setpoints - tilt" />
        <command receivedBy="server" code="0x00" name="WindowCoveringUpOpen" mandatory="true">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="server" code="0x01" name="WindowCoveringDownClose" mandatory="true">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="server" code="0x02" name="WindowCoveringStop" mandatory="true">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="server" code="0x03" name="WindowCoveringGoToLiftSetpoint" mandatory="false">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="server" code="0x04" name="WindowCoveringGoToLiftValue" mandatory="false">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="server" code="0x05" name="WindowCoveringGoToLiftPercentage" mandatory="true" />
        <command receivedBy="server" code="0x06" name="WindowCoveringGoToTiltSetpoint" mandatory="false">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="server" code="0x07" name="WindowCoveringGoToTiltValue" mandatory="false">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="server" code="0x08" name="WindowCoveringGoToTiltPercentage" mandatory="true">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="server" code="0x09" name="WindowCoveringGoToProgramSetpoint" mandatory="false">
          <supported>TRUE</supported>
        </command>
        <command receivedBy="server" code="0x0A" name="ProgramCurrentSetpoint" mandatory="false">
          <supported>TRUE</supported>
        </command>
      </cluster>
      <cluster>
        <name>Over the Air Bootloading</name>
        <code>0x0019</code>
        <define>OTA_BOOTLOAD_CLUSTER</define>
        <attribute side="client" type="IEEE_ADDRESS" code="0x0000" define="UPGRADE_SERVER_ID" name="OTA Upgrade Server ID" />
        <attribute side="client" type="INT32U" code="0x0001" define="FILE_OFFSET" name="Offset (address) into the file" />
        <attribute side="client" type="INT32U" code="0x0002" define="CURRENT_FILE_VERSION" name="OTA Current File Version" />
        <attribute side="client" type="INT16U" code="0x0003" define="CURRENT_ZIGBEE_STACK_VERSION" name="OTA Current ZigBee Stack Version" />
        <attribute side="client" type="INT32U" code="0x0004" define="DOWNLOADED_FILE_VERSION" name="OTA Downloaded File Version" />
        <attribute side="client" type="INT16U" code="0x0005" define="DOWNLOADED_ZIGBEE_STACK_VERSION" name="OTA Downloaded ZigBee Stack Version" />
        <attribute side="client" type="ENUM8" code="0x0006" define="IMAGE_UPGRADE_STATUS" name="OTA Upgrade Status" />
        <attribute side="client" type="INT16U" code="0x0007" define="MANUFACTURER_ID" name="Manufacturer ID" />
        <attribute side="client" type="INT16U" code="0x0008" define="IMAGE_TYPE_ID" name="Image Type ID" />
        <attribute side="client" type="INT16U" code="0x0009" define="MINIMUM_BLOCK_REQUEST_PERIOD" name="Minimum Block Request Period" />
        <command code="0x0" name="ImageNotify" source="server">
          <supported>TRUE</supported>
        </command>
        <command code="0x1" name="QueryNextImageRequest" source="client">
          <supported>TRUE</supported>
        </command>
        <command code="0x2" name="QueryNextImageResponse" source="server">
          <supported>TRUE</supported>
        </command>
        <command code="0x3" name="ImageBlockRequest" source="client">
          <supported>TRUE</supported>
        </command>
        <command code="0x4" name="ImagePageRequest" source="client">
          <supported>FALSE</supported>
        </command>
        <command code="0x5" name="ImageBlockResponse" source="server">
          <supported>TRUE</supported>
        </command>
        <command code="0x6" name="UpgradeEndRequest" source="client">
          <supported>TRUE</supported>
        </command>
        <command code="0x7" name="UpgradeEndResponse" source="server">
          <supported>TRUE</supported>
        </command>
        <command code="0x8" name="QuerySpecificFileRequest" source="client">
          <supported>FALSE</supported>
        </command>
        <command code="0x9" name="QuerySpecificFileResponse" source="server">
          <supported>FALSE</supported>
        </command>
      </cluster>
    </HAClusters>
  </picsProforma>
</homeAutomationPICs>
