<?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.

-->

<homeAutomationPICs version="">
  <picsProforma>
    <HAClusters>
    <cluster>
        <name>Device Temperature Configuration</name>
        <code>0x0002</code>
        <define>DEVICE_TEMP_CLUSTER</define>
        <attribute source="server" code="0x0000" define="CURRENT_TEMPERATURE" mandatory="true" name="current temperature"/>TRUE</attribute>
        <attribute source="server" code="0x0001" define="MIN_TEMP_EXPERIENCED" mandatory="false" name="min temp experienced"/>FALSE</attribute>
        <attribute source="server" code="0x0002" define="MAX_TEMP_EXPERIENCED" mandatory="false" name="max temp experienced"/>FALSE</attribute>
        <attribute source="server" code="0x0003" define="OVER_TEMP_TOTAL_DWELL" mandatory="false" name="over temp total dwell"/>FALSE</attribute>
        <attribute source="server" code="0x0010" define="DEVICE_TEMP_ALARM_MASK" mandatory="false" name="device temp alarm mask"/>FALSE</attribute>
        <attribute source="server" code="0x0011" define="LOW_TEMP_THRESHOLD" mandatory="false" name="low temp threshold"/>FALSE</attribute>
        <attribute source="server" code="0x0012" define="HIGH_TEMP_THRESHOLD" mandatory="false" name="high temp threshold"/>FALSE</attribute>
        <attribute source="server" code="0x0013" define="LOW_TEMP_DWELL_TRIP_POINT" mandatory="false" name="low temp dwell trip point"/>FALSE</attribute>
        <attribute source="server" code="0x0014" define="HIGH_TEMP_DWELL_TRIP_POINT" mandatory="false" name="high temp dwell trip point"/>FALSE</attribute>
    </cluster>
    <cluster>
        <name>Alarms</name>
        <domain>General</domain>
        <description>Attributes and commands for sending notifications and configuring alarm functionality.</description>
        <code>0x0009</code>
        <define>ALARM_CLUSTER</define>
        <attribute source="server" code="0x0000" define="ALARM_COUNT" mandatory="false">TRUE</attribute>
        <command receivedBy="server" code="0x00" name="ResetAlarm" mandatory="true"/>TRUE</command>
        <command receivedBy="server" code="0x01" name="ResetAllAlarms" mandatory="true"/>TRUE</command>
        <command receivedBy="server" code="0x02" name="GetAlarm" mandatory="false"/>TRUE</command>
        <command receivedBy="server" code="0x03" name="ResetAlarmLog" mandatory="false"/>TRUE</command>
        <command receivedBy="client" code="0x00" name="Alarm" mandatory="true"/>FALSE</command>
        <command receivedBy="client" code="0x01" name="GetAlarmResponse" mandatory="false"/>FALSE</command>
        <!-- Alarms code 0x02 used by SE extension, so we skipped to 0x03 to avoid a conflict -->
        <command receivedBy="client" code="0x03" name="ClearAlarm" mandatory="false"/>FALSE</command>
    </cluster>
	<cluster>
        <name>Time</name>
        <domain>General</domain>
        <code>0x000A</code>
        <define>TIME_CLUSTER</define>
        <attribute source="server" code="0x0000" define="TIME" mandatory="false" name="time"/>FALSE</attribute>
        <attribute source="server" code="0x0001" define="TIME_STATUS" mandatory="false" name="time status"/>FALSE</attribute>
        <attribute source="server" code="0x0002" define="TIME_ZONE" mandatory="false" name="time zone"/>FALSE</attribute>
        <attribute source="server" code="0x0003" define="DST_START" mandatory="false" name="dst start"/>FALSE</attribute>
        <attribute source="server" code="0x0004" define="DST_END" mandatory="false" name="dst end"/>FALSE</attribute>
        <attribute source="server" code="0x0005" define="DST_SHIFT" mandatory="false" name="dst shift"/>FALSE</attribute>
        <attribute source="server" code="0x0006" define="STANDARD_TIME" mandatory="false" name="standard time"/>FALSE</attribute>
        <attribute source="server" code="0x0007" define="LOCAL_TIME" mandatory="false" name="local time"/>FALSE</attribute>
        <attribute source="server" code="0x0008" define="LAST_SET_TIME" mandatory="false" name="last set time"/>FALSE</attribute>
        <attribute source="server" code="0x0009" define="VALID_UNTIL_TIME" mandatory="false" name="valid until time"/>FALSE</attribute>
    </cluster>
    </HAClusters>
  </picsProforma>
</homeAutomationPICs>