Device Type Definition
The device type definition (_dp.xml) file contains the device type definition or definitions.
The contents of hue_light_dp.xml are shown here.
<?xml version="1.0"?>
<DeviceDescriptor xmlns="http://IoTProtocol"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://IoTProtocol ../../../Schemas/Soti.IoT.Schema.Definitions/content/device_profiles.xsd">
<Resources>
<Resource id="type">
<Type>string</Type>
<Operations>r</Operations>
</Resource>
<Resource id="name">
<Type>string</Type>
<Operations>rw</Operations>
</Resource>
<Resource id="modelid">
<Type>string</Type>
<Operations>r</Operations>
</Resource>
<Resource id="uniqueid">
<Type>string</Type>
<Operations>r</Operations>
</Resource>
<Resource id="luminaireuniqueid">
<Type>string</Type>
<Operations>r</Operations>
</Resource>
<Resource id="manufacturername">
<Type>string</Type>
<Operations>r</Operations>
</Resource>
<Resource id="swversion">
<Type>string</Type>
<Operations>r</Operations>
</Resource>
<!--State -->
<Resource id="on">
<Type>boolean</Type>
<Operations>rw</Operations>
</Resource>
<Resource id="bri">
<Type>integer</Type>
<Range >
<Minimum >1</Minimum>
<Maximum>254</Maximum>
</Range>
<Operations>rw</Operations>
</Resource>
<Resource id="hue">
<Type>integer</Type>
<Range >
<Minimum >0</Minimum>
<Maximum>65535</Maximum>
</Range>
<Operations>rw</Operations>
</Resource>
<Resource id="sat">
<Type>integer</Type>
<Range >
<Minimum >0</Minimum>
<Maximum>254</Maximum>
</Range>
<Operations>rw</Operations>
</Resource>
<Resource id="x">
<Type>float</Type>
<Operations>rw</Operations>
</Resource>
<Resource id="y">
<Type>float</Type>
<Operations>rw</Operations>
</Resource>
<Resource id="ct">
<Type>integer</Type>
<Operations>rw</Operations>
</Resource>
<Resource id="alert">
<Type>string</Type>
<Operations>rw</Operations>
</Resource>
<Resource id="effect">
<Type>string</Type>
<Operations>rw</Operations>
</Resource>
<Resource id="colormode">
<Type>string</Type>
<Enumeration >
<Value >none</Value>
<Value>colorloop</Value>
</Enumeration>
<Operations>rw</Operations>
</Resource>
<Resource id="reachable">
<Type>boolean</Type>
<Operations>rw</Operations>
</Resource>
<!--Command additions -->
<Resource id="transitiontime">
<Type>integer</Type>
<Range >
<Minimum >0</Minimum>
<Maximum>100</Maximum>
</Range>
<Operations>rw</Operations>
</Resource>
<Resource id="bri_inc">
<Type>integer</Type>
<Operations>rw</Operations>
</Resource>
<Resource id="sat_inc">
<Type>integer</Type>
<Operations>rw</Operations>
</Resource>
<Resource id="hue_inc">
<Type>integer</Type>
<Operations>rw</Operations>
</Resource>
<Resource id="ct_inc">
<Type>integer</Type>
<Operations>rw</Operations>
</Resource>
<!--protocol stack resources -->
<Resource id="connectionURL">
<Type>string</Type>
<Operations>rw</Operations>
</Resource>
<Resource id="serverURL">
<Type>string</Type>
<Operations>rw</Operations>
</Resource>
<Resource id="publicKey">
<Type>bytes</Type>
<Operations>rw</Operations>
</Resource>
<Resource id="privateKey">
<Type>bytes</Type>
<Operations>rw</Operations>
</Resource>
<Resource id="securityMode">
<Type>integer</Type>
<Operations>rw</Operations>
</Resource>
<Resource id="manufacturer">
<Type>string</Type>
<Operations>r</Operations>
</Resource>
<Resource id="UTCtime">
<Type>datetime</Type>
<Operations>r</Operations>
</Resource>
<Resource id="startupTime">
<Type>datetime</Type>
<Operations>r</Operations>
</Resource>
<Resource id="uptime">
<Type>double</Type>
<Operations>r</Operations>
<Units>sec</Units>
</Resource>
<Resource id="version">
<Type>string</Type>
<Operations>r</Operations>
</Resource>
<Resource id="id">
<Type>string</Type>
<Operations>r</Operations>
</Resource>
<Resource id="ipAddress">
<Type>string</Type>
<Operations>r</Operations>
</Resource>
<Resource id="data">
<Type>bytes</Type>
<Operations>r</Operations>
</Resource>
<Resource id="level">
<Type>string</Type>
<Operations>rw</Operations>
</Resource>
<Resource id="size">
<Type>string</Type>
<Operations>rw</Operations>
</Resource>
<Resource id="layout">
<Type>string</Type>
<Operations>rw</Operations>
</Resource>
<Resource id="updateURL">
<Type>string</Type>
<Operations>rw</Operations>
</Resource>
<Resource id="packageName">
<Type>string</Type>
<Operations>rw</Operations>
</Resource>
<Resource id="packageVersion">
<Type>string</Type>
<Operations>rw</Operations>
</Resource>
<Resource id="state">
<!--Description>State (idle, downloading; downloaded)</Description-->
<Type>integer</Type>
<Operations>r</Operations>
</Resource>
<Resource id="initialized">
<Type>boolean</Type>
<Operations>r</Operations>
</Resource>
<Resource id="updateResult">
<!--Description>Update Result (default, success, download interrupted, checksum failure, not supported, invalid url)</Description-->
<Type>integer</Type>
<Operations>r</Operations>
</Resource>
<Resource id="log">
<Type>file</Type>
<Operations>r</Operations>
</Resource>
</Resources>
<Groups>
<Group id="Light">
<Resource id ="id" idref="uniqueid"/>
<Resource id ="type" idref="type"/>
<Resource id ="name" idref="name"/>
<Resource id ="modelid" idref="modelid"/>
<Resource id ="uniqueid" idref="uniqueid"/>
<Resource id ="manufacturername" idref="manufacturername"/>
<Resource id ="swversion" idref="swversion"/>
<Group id="state" idref="State"/>
</Group>
<Group id="State">
<Resource id ="on" idref="on"/>
<Resource id ="bri" idref="bri"/>
<Resource id ="hue" idref="hue"/>
<Resource id ="sat" idref="sat"/>
<Resource id ="x" idref="x"/>
<Resource id ="y" idref="y"/>
<Resource id ="ct" idref="ct"/>
<Resource id ="alert" idref="alert"/>
<Resource id ="effect" idref="effect"/>
<Resource id ="colormode" idref="colormode"/>
<Resource id ="reachable" idref="reachable"/>
</Group>
<Group id="BWLight">
<Resource id ="id" idref="uniqueid"/>
<Resource id ="type" idref="type"/>
<Resource id ="name" idref="name"/>
<Resource id ="modelid" idref="modelid"/>
<Resource id ="uniqueid" idref="uniqueid"/>
<Resource id ="manufacturername" idref="manufacturername"/>
<Resource id ="swversion" idref="swversion"/>
<Group id="state" idref="BWState"/>
</Group>
<Group id="BWState">
<Resource id ="on" idref="on"/>
<Resource id ="bri" idref="bri"/>
<Resource id ="alert" idref="alert"/>
<Resource id ="reachable" idref="reachable"/>
</Group>
<!--Protocol stack groups-->
<Group id="IOTServer">
<Resource id="serverURL" idref="serverURL"/>
<Resource id="publicKey" idref="publicKey"/>
<Resource id="privateKey" idref="privateKey"/>
<Resource id="securityMode" idref="securityMode"/>
<!--no sec, preshared; x509 -->
</Group>
<Group id="PSP">
<Resource id="manufacturer" idref="manufacturer"/>
<Resource id="type" idref="type"/>
<Resource id="version" idref="version"/>
<Resource id="ipAddress" idref="ipAddress"/>
<Resource id="initialized" idref="initialized"/>
<Resource id="uptime" idref="uptime"/>
<!--seconds-->
<Resource id="UTCtime" idref="UTCtime"/>
<!--ISO8601 string-->
<Resource id="startupTime" idref="startupTime"/>
<!--ISO8601 string-->
<!--Resource id="connectionURL" idref="connectionURL"/-->
<!--eventually will become grouplist-->
<!--Group id="IOTServer" idref="IOTServer"/-->
</Group>
<Group id="Device">
<Resource id="id" idref="id"/>
<Resource id="type" idref="type"/>
</Group>
<!--
<Group id="CloudServer">
<Resource id="apikey" idref="apikey"/>
<Resource id="secret" idref="secret"/>
<Resource id="code" idref="code"/>
<Resource id="token" idref="token"/>
<Resource id="refreshToken" idref="refreshToken"/>
</Group>
-->
<Group id="Log">
<Resource id="data" idref="data"/>
<!--Resource id="data" idref="log"/-->
<Resource id="level" idref="level"/>
<Resource id="layout" idref="layout"/>
<Resource id="size" idref="size"/>
</Group>
<!--
<Group id="Update">
<Resource id="updateURL" idref="updateURL"/>
<Resource id="packageName" idref="packageName"/>
<Resource id="packageVersion" idref="packageVersion"/>
<Resource id="update" idref="update"/>
<Resource id="state" idref="state"/>
<Resource id="updateResult" idref="updateResult"/>
</Group>
-->
</Groups>
<DeviceProfiles>
<DeviceProfile id="HueLight">
<Group id="Light" idref="Light"/>
<GroupList id="Lights" idref="Light"/>
</DeviceProfile>
<DeviceProfile id="HueBWLight">
<Group id="Light" idref="BWLight"/>
<GroupList id="Lights" idref="BWLight"/>
</DeviceProfile>
</DeviceProfiles>
<ProtocolProfile>
<Group id="PSP" idref="PSP"/>
<Group id="Log" idref="Log"/>
<GroupList id="Devices" idref="Device"/>
<!--Group id="Update" idref="Update"/-->
</ProtocolProfile>
</DeviceDescriptor>