<?xml version="1.0" encoding="UTF-8"?>

<homeAutomationPICs version="">
  <implementationIdentification>
    <IUTIdentification>
      <description>Implemenation Under Test Identification</description>
      <UITName mandatory="true">BEGA 10+2 Remote Control</UITName>
      <UITVersion mandatory="true">R120</UITVersion>
    </IUTIdentification>
    <SUTIdentification>
      <description>System Under Test Identification</description>
      <SUTName />
      <SUTSoftwareVersion mandatory="true">R120</SUTSoftwareVersion>
      <SUTHardwareVersion mandatory="true">01</SUTHardwareVersion>
      <SUTOperatingSystem mandatory="false" />
    </SUTIdentification>
    <productSupplier>
      <description>Product Supplier</description>
      <name>Telegesis (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>nicholas.gomersall@telegesis.com</emailAddress>
      <additionalInformation />
    </productSupplier>
    <client>
      <description>Client</description>
      <name>Telegesis (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>nicholas.gomersall@telegesis.com</emailAddress>
      <additionalInformation />
    </client>
    <picsContactPerson>
      <description>PICS Contact Person</description>
      <name>Marius Munder</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>marius.munder@telegesis.com</emailAddress>
      <additionalInformation />
    </picsContactPerson>
  </implementationIdentification>
  
  <globalStatementOfConformance>
    <specVersion name="ZigBee Home Automation" version="053520r29" mandatory="true"/>
  </globalStatementOfConformance>
  
  <picsProforma>
    <zigBeeDeviceTypes>
      <type>
        <name>coordinator</name>
        <description>Is this device capable of acting as a ZigBee coordinator?</description>
        <support>FALSE</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/>
  	  </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/>
  	  </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/>
  	  </profileItem>
      </type>
      <type>
        <name>router</name>
        <description>Is this device capable of acting as a ZigBee router?</description>
        <support>FALSE</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/>
  	  </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/>
  	  </profileItem>
      </type>
      <type>
        <name>end device</name>
        <description>Is this a ZigBee end device?</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>Polling Rate</name>
          <description>Does the device adhere to the polling rate specifications given in 053520r29</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>FALSE</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"  >FALSE</command>
      <command code="0x14" name="DiscoverCommandsGeneratedResponse"  source="either" mandatory="false"  >FALSE</command>
      <command code="0x16" name="DiscoverAttributesExtendedResponse" source="either" mandatory="false"  >FALSE</command>
    </ZCLGlobalCommands>
    
    <HADeviceTypes>
      <deviceType>
        <name>HA-onofflightswitch</name>
        <domain>HA</domain>
        <typeName>HA On/Off Light Switch</typeName>
        <profileId>0x0104</profileId>
        <deviceId>0x0103</deviceId>
        <supported/>
        <commissioning>
          <type name="ezMode" role="initiator" mandatory="true">TRUE</command>
          <type name="ezMode" role="target" mandatory="false">FALSE</command>
  	  </commissioning>
        <clusters>
          <include name="Basic" source="server" mandatory="true">TRUE</command>
          <include name="Identify" source="server" mandatory="true">TRUE</command>
          <include name="Power Configuration" source="server" mandatory="false">FALSE</command>
          <include name="Device Temperature Configuration" source="server" mandatory="false">FALSE</command>
          <include name="Alarms" source="server" mandatory="false">FALSE</command>
          <include name="Poll Control" source="server" mandatory="false">FALSE</command>
          <include name="Electrical Measurement" source="server" mandatory="false">FALSE</command>
          <include name="Time" source="client" mandatory="false">FALSE</command>
          <include name="Over the Air Bootloading Cluster" source="client" mandatory="false">FALSE</command>
          <include name="Partition" source="client" mandatory="false">FALSE</command>
          <include name="Partition" source="server" mandatory="false">FALSE</command>
          <include name="On/Off" source="client" mandatory="true">TRUE</command>
          <include name="Identify" source="client" mandatory="true">TRUE</command>
          <include name="Scenes" source="client" mandatory="false">FALSE</command>
          <include name="Groups" source="client" mandatory="false">FALSE</command>
          <include name="On/Off Switch Configuration" source="server" mandatory="false">TRUE</command>
        </clusters>
      </deviceType>
      <deviceType>
        <name>HA-switch</name>
        <domain>HA</domain>
        <typeName>HA Dimmer Switch</typeName>
        <profileId>0x0104</profileId>
        <deviceId>0x0104</deviceId>
        <supported/>
        <commissioning>
          <type name="ezMode" role="initiator" mandatory="true">TRUE</command>
          <type name="ezMode" role="target" mandatory="false">FALSE</command>
  	    </commissioning>
        <clusters>
          <include name="Basic" source="server" mandatory="true">TRUE</command>
          <include name="Identify" source="server" mandatory="true">TRUE</command>
          <include name="Power Configuration" source="server" mandatory="false">FALSE</command>
          <include name="Device Temperature Configuration" source="server" mandatory="false">FALSE</command>
          <include name="Alarms" source="server" mandatory="false">FALSE</command>
          <include name="Poll Control" source="server" mandatory="false">FALSE</command>
          <include name="Electrical Measurement" source="server" mandatory="false">FALSE</command>
          <include name="Time" source="client" mandatory="false">FALSE</command>
          <include name="Over the Air Bootloading Cluster" source="client" mandatory="false">FALSE</command>
          <include name="Partition" source="client" mandatory="false">FALSE</command>
          <include name="Partition" source="server" mandatory="false">FALSE</command>
          <include name="On/Off" source="client" mandatory="true">TRUE</command>
          <include name="Level Control" source="client" mandatory="true">TRUE</command>
          <include name="Identify" source="client" mandatory="true">TRUE</command>
          <include name="Scenes" source="client" mandatory="false">TRUE</command>
          <include name="Groups" source="client" mandatory="false">TRUE</command>
          <include name="On/Off Switch Configuration" source="server" mandatory="false">TRUE</command>
        </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" >TRUE</attribute>
        <attribute source="server" code="0x0002" define="STACK_VERSION" mandatory="false" name="stack version" >TRUE</attribute>
        <attribute source="server" code="0x0003" define="HW_VERSION" mandatory="false" name="hardware version" >TRUE</attribute>
        <attribute source="server" code="0x0004" define="MANUFACTURER_NAME" mandatory="false" name="manufacturer name" >TRUE</attribute>
        <attribute source="server" code="0x0005" define="MODEL_IDENTIFIER" mandatory="false" name="model identifier" >TRUE</attribute>
        <attribute source="server" code="0x0006" define="DATE_CODE" mandatory="false" name="date code" >TRUE</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" >TRUE</attribute>
        <attribute source="server" code="0x0011" define="PHYSICAL_ENVIRONMENT" mandatory="false" name="physical environment" >TRUE</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" >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>
        <attribute source="server" code="0x0001" define="COMMISSION_STATE" mandatory="false" name="commission state" >FALSE</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>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 >TRUE</attribute>
        </profileItem>
        <attribute source="server" code="0x0000" define="GROUP_NAME_SUPPORT" mandatory="true" name="name support" />
        <command receivedBy="server" code="0x00" name="AddGroup" mandatory="true" />
        <command receivedBy="server" code="0x01" name="ViewGroup" mandatory="true" />
        <command receivedBy="server" code="0x02" name="GetGroupMembership" mandatory="true" />
        <command receivedBy="server" code="0x03" name="RemoveGroup" mandatory="true" />
        <command receivedBy="server" code="0x04" name="RemoveAllGroups" mandatory="true" />
        <command receivedBy="server" code="0x05" name="AddGroupIfIdentifying" mandatory="true" />
        <command receivedBy="client" code="0x00" name="AddGroupResponse" mandatory="true" >TRUE</command>
        <command receivedBy="client" code="0x01" name="ViewGroupResponse" mandatory="true" >FALSE</command>
        <command receivedBy="client" code="0x02" name="GetGroupMembershipResponse" mandatory="true" >FALSE</command>
        <command receivedBy="client" code="0x03" name="RemoveGroupResponse" mandatory="true" >FALSE</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 >FALSE</attribute>
        </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" />
        <command receivedBy="server" code="0x01" name="ViewScene" mandatory="true" />
        <command receivedBy="server" code="0x02" name="RemoveScene" mandatory="true" />
        <command receivedBy="server" code="0x03" name="RemoveAllScenes" mandatory="true" />
        <command receivedBy="server" code="0x04" name="StoreScene" mandatory="true" />
        <command receivedBy="server" code="0x05" name="RecallScene" mandatory="true" />
        <command receivedBy="server" code="0x06" name="GetSceneMembership" mandatory="true" />
        <command receivedBy="client" code="0x00" name="AddSceneResponse" mandatory="true" >FALSE</command>
        <command receivedBy="client" code="0x01" name="ViewSceneResponse" mandatory="true" >FALSE</command>
        <command receivedBy="client" code="0x02" name="RemoveSceneResponse" mandatory="true" >FALSE</command>
        <command receivedBy="client" code="0x03" name="RemoveAllScenesResponse" mandatory="true" >FALSE</command>
        <command receivedBy="client" code="0x04" name="StoreSceneResponse" mandatory="true" >FALSE</command>
        <command receivedBy="client" code="0x06" name="GetSceneMembershipResponse" mandatory="true" >FALSE</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"/>
        <command receivedBy="server" code="0x01" name="On" mandatory="true"/>
        <command receivedBy="server" code="0x02" name="Toggle" mandatory="true"/>
      </cluster>
      
      <cluster>
        <name>On/off Switch Configuration</name>
        <code>0x0007</code>
        <define>ON_OFF_SWITCH_CONFIG_CLUSTER</define>
        <attribute source="server" code="0x0000" define="SWITCH_TYPE" mandatory="true" name="switch type">TRUE</command>
        <attribute source="server" code="0x0010" define="SWITCH_ACTIONS" mandatory="true" name="switch actions">TRUE</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"/>
        <command receivedBy="server" code="0x01" name="Move" mandatory="true"/>
        <command receivedBy="server" code="0x02" name="Step" mandatory="true"/>
        <command receivedBy="server" code="0x03" name="Stop" mandatory="true"/>
        <command receivedBy="server" code="0x04" name="MoveToLevelWithOnOff" mandatory="true"/>
        <command receivedBy="server" code="0x05" name="MoveWithOnOff" mandatory="true"/>
        <command receivedBy="server" code="0x06" name="StepWithOnOff" mandatory="true"/>
        <command receivedBy="server" code="0x07" name="StopWithOnOff" mandatory="true"/>
      </cluster>
    </HAClusters>
  </picsProforma>
</homeAutomationPICs>