zigbee
Version:
ZigBee for Node.JS (using the TI CC2530/CC2531)
843 lines (777 loc) • 39.9 kB
text/xml
<!-- Legenda
status:
"u" Work In progress (Undone)
"c" Complete but not tested (Complete)
"t" Under test
"d" Done
the default value for the status attribute is "d"
-->
<clusters>
<!-- General functional domain -->
<cluster id="0x0000" name="Basic" package="general" status="c">
<!-- General Attribute Set -->
<attribute id="0x0000" name="ZCLVersion" type="uint8" default="0x00">
<Range from="0x00" to="0xFF"/>
</attribute>
<attribute id="0x0001" name="ApplicationVersion" type="uint8" default="0x00" mandatory="false">
<Range from="0x00" to="0xFF"/>
</attribute>
<attribute id="0x0002" name="StackVersion" type="uint8" default="0x00" mandatory="false">
<Range from="0x00" to="0xFF"/>
</attribute>
<attribute id="0x0003" name="HWVersion" type="uint8" default="0x00" mandatory="false">
<Range from="0x00" to="0xFF"/>
</attribute>
<attribute id="0x0004" name="ManifacturerName" type="string" default="0x00" mandatory="false">
<Range from="0" to="32"/>
</attribute>
<attribute id="0x0005" name="ModelIdentifier" type="string" mandatory="false">
<Range from="0" to="32"/>
</attribute>
<attribute id="0x0006" name="DateCode" type="string" mandatory="false">
<Range from="0" to="32"/>
</attribute>
<attribute id="0x0007" name="PowerSource" type="enum8" mandatory="false">
<Range from="0x00" to="0xFF"/>
</attribute>
<!-- Basic Device Settings -->
<!-- <attribute id="0x0010" name="LocationDescription" type="string" access="rw" mandatory="false">
<Range from="0" to="16"/>
</attribute> -->
<attribute id="0x0011" name="PhysicalEnvironment" type="enum8" access="rw" default="0x00" mandatory="false">
<Range from="0x00" to="0xFF"/>
</attribute>
<attribute id="0x0012" name="DeviceEnabled" type="boolean" access="rw" default="true" mandatory="false">
<Range from="0x00" to="0xFF"/>
</attribute>
<attribute id="0x0013" name="AlarmMask" type="bitmap8" access="rw" default="0x00" mandatory="false">
<Range from="0x00" to="0x03"/>
</attribute>
</cluster>
<!-- End Basic Cluster -->
<cluster id="0x0001" name="Power Configuration" package="general" status="u" />
<cluster id="0x0002" name="Device Temperature Configuration" package="general" status="c" >
<!-- Device Temperature Information Attribute Set -->
<attribute id="0x0000" name="CurrentTemperature" type="int16" >
<Range from="-200" to="200"/>
</attribute>
<attribute id="0x0001" name="MinTempExperienced" type="int16" mandatory="false">
<Range from="-200" to="200"/>
</attribute>
<attribute id="0x0003" name="MaxTempExperienced" type="int16" mandatory="false">
<Range from="-200" to="200"/>
</attribute>
<attribute id="0x0004" name="OverTempTotalDwell" type="uint16" default="0" mandatory="false">
<Range from="0x0000" to="0xFFFF"/>
</attribute>
<!-- Device Temperature Settings Attribute Set -->
<attribute id="0x0010" name="DeviceTempAlarmMask" type="bitmap8" access="rw" default="0" mandatory="false">
<Range from="0x00" to="0x03"/>
</attribute>
<attribute id="0x0011" name="LowTempThreshold" type="int16" access="rw" mandatory="false">
<Range from="-200" to="200"/>
</attribute>
<attribute id="0x0011" name="HighTempThreshold" type="int16" access="rw" mandatory="false">
<Range from="-200" to="200"/>
</attribute>
<attribute id="0x0011" name="LowTempDwellTripPoint" type="uint24" access="rw" mandatory="false">
<Range from="0x000000" to="0xFFFFFF"/>
</attribute>
<attribute id="0x0011" name="HighTempDwellTripPoint" type="uint24" access="rw" mandatory="false">
<Range from="0x000000" to="0xFFFFFF"/>
</attribute>
</cluster>
<cluster id="0x0003" name="Identify" package="general" status="c">
<server>
<attribute id="0x000" name="IdentifyTime" type="uint16" access="rw" default="0x0000">
<Range from="0x0000" to="0xffff"/>
</attribute>
<command id="0x00" name="Identify">
<payload>
<field name="IdentifyTime" type="uint16"/>
</payload>
</command>
<command id="0x01" name="IdentifyQuery" response_name="IdentifyQueryResponse"/>
</server>
<client>
<command id="0x00" name="IdentifyQueryResponse" response="true">
<payload>
<field name="Timeout" type="uint16"/>
</payload>
</command>
</client>
</cluster>
<cluster id="0x0004" name="Groups" package="general" status="u" />
<cluster id="0x0005" name="Scenes" package="general" status="u" />
<cluster id="0x0006" name="On/Off" package="general" status="c" >
<attribute id="0x0000" name="OnOff" type="boolean" default="0x00">
<Range from="0x00" to="0x01"/>
</attribute>
<command id="0x00" name="Off"/>
<command id="0x01" name="On"/>
<command id="0x02" name="Toggle"/>
</cluster>
<cluster id="0x0007" name="On/Off Switch Configuration" package="general" status="c" >
<attribute id="0x0000" name="SwitchType" type="enum">
<Range from="0x00" to="0x01"/>
</attribute>
<attribute id="0x0010" name="SwitchActions" type="enum8" access="rw" default="0x00">
<Range from="0x00" to="0x02"/>
</attribute>
</cluster>
<!-- Cluster fully Specified -->
<cluster id="0x0008" name="Level Control" package="general" status="c">
<attribute id="0x0000" name="CurrentLevel" type="uint8" default="0x00" >
<Range from="0x00" to="0xff"/>
</attribute>
<attribute id="0x0001" name="RemainingTime" type="uint16" default="0x0000" mandatory="false">
<Range from="0x0000" to="0xffff"/>
</attribute>
<attribute id="0x0010" name="OnOffTransitionTime" type="uint16" default="0x0000" mandatory="false">
<Range from="0x0000" to="0xffff"/>
</attribute>
<attribute id="0x0011" name="OnLevel" type="uint8" default="0x00" mandatory="false">
<Range from="0x00" to="0xff"/>
</attribute>
<command id="0x00" name="Move to Level">
<param name="Level" type="uint8"/>
<param name="TransitionTime" type="uint16"/>
</command>
<command id="0x01" name="Move">
<param name="MoveMode" type="enum8">
<value id="0x00" name="Up"/>
<value id="0x01" name="Down"/>
</param>
<param name="Rate" type="uint8"/>
</command>
<command id="0x02" name="Step">
<param name="StepMode" type="enum8">
<value id="0x00" name="Up"/>
<value id="0x01" name="Down"/>
</param>
<param name="StepSize" type="uint8"/>
<param name="TransitionTime" type="uint16"/>
</command>
<command id="0x03" name="Stop"/>
<command id="0x00" name="Move to Level (with On/Off)">
<param name="Level" type="uint8"/>
<param name="TransitionTime" type="uint16"/>
</command>
<command id="0x01" name="Move (with On/Off)">
<param name="MoveMode" type="enum8">
<value id="0x00" name="Up"/>
<value id="0x01" name="Down"/>
</param>
<param name="Rate" type="uint8"/>
</command>
<command id="0x02" name="Step (with On/Off)">
<param name="StepMode" type="enum8">
<value id="0x00" name="Up" desc="Moves up the Level"/>
<value id="0x01" name="Down" desc="Moves down the Level"/>
</param>
<param name="StepSize" type="uint8"/>
<param name="TransitionTime" type="uint16"/>
</command>
<command id="0x03" name="Stop (with On/Off)"/>
</cluster>
<cluster id="0x0009" name="Alarms" package="general" status="c" >
<server>
<attribute id="0x0000" name="AlarmCount" type="uint16" mandatory="false">
<Range from="0x0000" to="0xffff"/>
</attribute>
<command id="0x00" name="Reset Alarm">
<payload>
<field name="AlarmCode" type="enum8"/>
<field name="ClusterIdentifier" type="uint16"/> <!-- TODO: change to cluster Identifier type -->
</payload>
</command>
<command id="0x01" name="Reset All Alarms"/>
<command id="0x02" name="Get Alarm" />
<command id="0x02" name="Reset Alarm Log" mandatory="false" />
</server>
<client>
<command id="0x00" name="Alarm">
<payload>
<field name="AlarmCode" type="enum8"/>
<field name="ClusterIdentifier" type="uint16"/> <!-- TODO: change to cluster Identifier type -->
</payload>
</command>
<command id="0x01" name="Get Alarm Response" >
<payload>
<field name="Status" type="enum8"/>
<field name="AlarmCode" type="enum8"/>
<field name="ClusterIdentifier" type="uint16"/> <!-- TODO: change to cluster Identifier type -->
<field name="Timestamp" type="uint32"/>
</payload>
</command>
</client>
</cluster>
<cluster id="0x000A" name="Time" package="general" status="c">
<server>
<attribute id="0x0000" name="Time" type="utctime" />
<attribute id="0x0001" name="TimeStatus" type="bitmap8" default="0x00">
<Range from="0x0000" to="0xfff0"/> <!-- range not correct -->
</attribute>
<attribute id="0x0002" name="TimeZone" type="int32" default="0x00000000" mandatory="false">
<Range from="-86400" to="86400"/>
</attribute>
<attribute id="0x0003" name="DstStart" type="uint32" mandatory="false" />
<attribute id="0x0004" name="DstEnd" type="uint32" mandatory="false" />
<attribute id="0x0005" name="DstShift" type="int32" default="0x00000000" mandatory="false">
<Range from="-86400" to="86400"/>
</attribute>
<attribute id="0x0006" name="StandardTime" type="uint32" mandatory="false" />
<attribute id="0x0007" name="LocalTime" type="uint32" mandatory="false" />
</server>
</cluster>
<cluster id="0x000B" name="RSSI Location" package="general" status="u"/>
<cluster id="0x000C" name="Simple Metering 4Noks" package="custom" status="c">
<attribute id="0x0000" name="Power" type="int32" uom="W">
<Range from="0x00000000" to="0xffffffff"/>
</attribute>
<attribute id="0x0001" name="Energy" type="int32" factor="10" uom="Wh">
<Range from="0x00000000" to="0xffffffff"/>
</attribute>
<attribute id="0x0002" name="TimeValue" type="int32" uom="s">
<Range from="0x00000000" to="0xffffffff"/>
</attribute>
</cluster>
<!-- Closures functional domain -->
<cluster id="0100" name="Shade Configuration" package="closures" status="u"/>
<!-- HVAC functional domain -->
<cluster id="0x0200" name="Pump Configuration and Control" package="hvac" status="u"/>
<cluster id="0x0201" name="Thermostat" package="hvac" status="u"/>
<cluster id="0x0202" name="Fan Control" package="hvac" status="u"/>
<cluster id="0x0203" name="Dehumidification Control" package="hvac" status="u"/>
<cluster id="0x0204" name="Thermostat User Interface Configuration" package="hvac" status="u"/>
<!-- Lighting functional domain -->
<cluster id="0x0300" name="Color control" package="lighting" status="u"/>
<cluster id="0x0301" name="Ballast Configuration" package="lighting" status="u"/>
<!-- Measurement and Sensing functional domain -->
<cluster id="0x0400" name="Illuminance measurement" package="measurement" status="u"/>
<cluster id="0x0401" name="Illuminance level sensing" package="measurement" status="u"/>
<cluster id="0x0402" name="Temperature Measurement" package="measurement" status="c">
<!-- Temperature Measurement Information Attribute Set -->
<attribute id="0x0000" name="MeasuredValue" type="int16" default="0" factor="0.01" uom="^C">
</attribute>
<attribute id="0x0001" name="MinMeasuredValue" type="int16" factor="0.1" uom="^C">
<Range from="0x954d" to="0x7ffe"/>
</attribute>
<attribute id="0x0003" name="MaxMeasuredValue" type="int16" factor="0.1" uom="^C">
<Range from="0x954e" to="0x7fff"/>
</attribute>
<attribute id="0x0004" name="Tolerance" type="uint16" mandatory="false">
<Range from="0x0000" to="0x0800"/>
</attribute>
</cluster>
<cluster id="0x0403" name="Pressure measurement" package="measurement" status="u"/>
<cluster id="0x0404" name="Flow measurement" package="measurement" status="u"/>
<cluster id="0x0405" name="Relative humidity measurement" package="measurement" status="u"/>
<cluster id="0x0406" name="Occupancy sensing" package="measurement" status="u"/>
<!-- Security and Sefety functional domain -->
<cluster id="0x0500" name="IAS Zone" package="security" status="u" />
<cluster id="0x0501" name="IAS ACE" package="security" status="u" />
<cluster id="0x0502" name="IAS WD" package="security" status="u"/>
<cluster id="0x0503" name="IAS WD" package="security" status="u"/>
<cluster id="0x0A00" name="Appliance Identification" package="eh" status="c" >
<!-- Basic Appliance Identification Attribute Set -->
<attribute id="0x0000" name="BasicIdentification" type="octets" size="7" >
</attribute>
<!-- Extended Appliance Identification Attribute Set -->
<attribute id="0x010" name="CompanyName" type="string" default="" size="16" mandatory="false">
</attribute>
<attribute id="0x011" name="CompanyId" type="uint16" default="0x0000" mandatory="false">
<Range from="0x0000" to="0xFFFF"/>
</attribute>
<attribute id="0x012" name="BrandName" type="string" default="" size="16" mandatory="false">
</attribute>
<attribute id="0x013" name="BrandId" type="uint16" default="0x0000" mandatory="false">
<Range from="0x0000" to="0xFFFF"/>
</attribute>
<attribute id="0x014" name="Model" type="string" default="" size="16" mandatory="false">
</attribute>
<attribute id="0x015" name="PartNumber" type="string" default="" size="16" mandatory="false">
</attribute>
<attribute id="0x015" name="ProductRevision" type="string" default="" size="16" mandatory="false">
</attribute>
<attribute id="0x015" name="SoftwareRevision" type="string" default="" size="16" mandatory="false">
</attribute>
<attribute id="0x015" name="ProductTypeName" type="string" default="" size="2" mandatory="false">
</attribute>
<attribute id="0x011" name="ProductTypeId" type="uint16" default="0x0000" mandatory="false">
<Range from="0x0000" to="0xFFFF"/>
</attribute>
<attribute id="0x011" name="CECEDSpecificationVersion" type="uint8" default="0x10" mandatory="false">
</attribute>
</cluster>
<cluster id="0x0A01" name="Appliance Control" package="eh" status="c">
<server>
<!-- Appliance Status Attribute Set -->
<attribute id="0x0000" name="ApplianceStatus" type="enum8" default="0x00">
<Range from="0x00" to="0xff"/>
<enum>
<item id="0x01" name="Off" />
<item id="0x02" name="Stand-by" />
<item id="0x03" name="Programmed" />
<item id="0x04" name="Programmed Waiting to Start" />
<item id="0x05" name="Running" />
<item id="0x06" name="Pause" />
<item id="0x07" name="End Programmed" />
<item id="0x08" name="Failure" />
<item id="0x09" name="Programme Interrupted" />
<item id="0x0A" name="Idle" />
<item id="0x0B" name="Rinse Hold" />
<item id="0x0C" name="Service" />
<item id="0x0D" name="Superfreezing" />
<item id="0x0E" name="Supercooling" />
<item id="0x0F" name="Superheating" />
</enum>
</attribute>
<attribute id="0x0001" name="RemoteEnableFlags" type="uint8" default="0x00" >
<Range from="0x00" to="0xff"/>
<enum start="0" end="3" >
<item id="0x0" name="Disabled" />
<item id="0x7" name="Temporarily Locked/Disabled" />
<item id="0xF" name="Enabled Remote Control" />
<item id="0x1" name="Enabled Remote and Energy Control" />
</enum>
<enum start="4" end="7" >
<item id="0x2" name="Iris Symtom Code" />
</enum>
</attribute>
<attribute id="0x0002" name="ApplianceStatus2" type="uint24" default="0x000000" mandatory="false">
<Range from="0x000000" to="0xffffff"/>
<!-- TODO: put items -->
</attribute>
<!-- Appliance Functions Attribute Set -->
<attribute id="0x0100" name="StartTime" type="uint16" default="0x0000" mandatory="false">
<Range from="0x0000" to="0xffff"/>
</attribute>
<attribute id="0x0101" name="FinishTime" type="uint16" default="0x0000" mandatory="false">
<Range from="0x0000" to="0xffff"/>
</attribute>
<attribute id="0x0102" name="Duration" type="uint16" default="0x0000" mandatory="false">
<Range from="0x0000" to="0xffff"/>
</attribute>
<attribute id="0x0103" name="RemainingTime" type="uint16" default="0x0000" mandatory="false">
<Range from="0x0000" to="0xffff"/>
</attribute>
<attribute id="0x0104" name="CycleTarget0" type="uint8" default="0x00" mandatory="false">
<Range from="0x00" to="0xff"/>
</attribute>
<attribute id="0x0105" name="CycleTarget1" type="uint8" default="0x00" mandatory="false">
<Range from="0x00" to="0xff"/>
</attribute>
<attribute id="0x0106" name="TemperatureTarget0" type="int16" default="0x0000" mandatory="false">
<Range from="-50" to="+350"/>
</attribute>
<attribute id="0x0107" name="TemperatureTarget1" type="int16" default="0x0000" mandatory="false">
<Range from="-50" to="+350"/>
</attribute>
<attribute id="0x0108" name="AutomaticDryingSetPoint" type="uint8" default="0x00" mandatory="false">
<Range from="0x000000" to="0xffffff"/>
</attribute>
<attribute id="0x0109" name="TimedDryingSetPoint" type="uint8" default="0x00" mandatory="false">
<Range from="0x00" to="0xff"/>
</attribute>
<attribute id="0x010A" name="Spin" type="uint16" default="0x0000" mandatory="false">
<Range from="0x0000" to="0xFFFF"/>
</attribute>
<attribute id="0x010B" name="SuperCoolMode" type="boolean" default="0x00" mandatory="false">
<Range from="0x00" to="0x01"/>
<values>
<value id="0x00" name="Disabled" />
<value id="0x01" name="Enabled" />
</values>
</attribute>
<attribute id="0x010C" name="SuperFreezeMode" type="boolean" default="0x00" mandatory="false">
<Range from="0x00" to="0x01"/>
<values>
<value id="0x00" name="Disabled" />
<value id="0x01" name="Enabled" />
</values>
</attribute>
<attribute id="0x010D" name="NormalMode" type="boolean" default="0x01" mandatory="false">
<Range from="0x00" to="0x01"/>
<values>
<value id="0x00" name="Disabled" />
<value id="0x01" name="Enabled" />
</values>
</attribute>
<attribute id="0x010E" name="EcoMode" type="boolean" default="0x00" mandatory="false">
<Range from="0x00" to="0x01"/>
</attribute>
<attribute id="0x010F" name="HolidayMode" type="boolean" default="0x00" mandatory="false">
<Range from="0x00" to="0x01"/>
<values>
<value id="0x00" name="Disabled" />
<value id="0x01" name="Enabled" />
</values>
</attribute>
<attribute id="0x0110" name="FabricSetPoint" type="uint8" default="0x00" mandatory="false">
<Range from="0x00" to="0xff"/>
<enum>
<item id="0x00" name="Generic" />
<item id="0x01" name="Cotton" />
<item id="0x02" name="Syntetic" />
<item id="0x03" name="Wool" />
<item id="0x04" name="Silk" />
</enum>
</attribute>
<attribute id="0x0111" name="MacroPhase" type="uint8" default="0x00" mandatory="false">
<Range from="0x00" to="0xff"/>
<enum>
<item id="0x00" name="None" />
<item id="0x01" name="Washing" />
<item id="0x02" name="Rinsing" />
<item id="0x03" name="Spin" />
<item id="0x04" name="Pump out" />
<item id="0x10" name="Preheating" />
<item id="0x11" name="Cooking" />
</enum>
</attribute>
<command id="0x00" name="CommandExecution">
<payload>
<field name="CommandId" type="enum8">
<item id="0x01" name="Start"/>
<item id="0x02" name="Stop"/>
<item id="0x03" name="Pause"/>
<item id="0x04" name="Start Superfreezing"/>
<item id="0x05" name="Stop Superfreezing"/>
<item id="0x06" name="Start Supercooling"/>
<item id="0x07" name="Stop Supercooling"/>
<item id="0x08" name="Disable Gas"/>
<item id="0x09" name="Enable Gas"/>
<item id="0x0A" name="Enable Energy Control"/>
<item id="0x0B" name="Disable Energy Control"/>
</field>
</payload>
</command>
<command id="0x01" name="SignalState">
<responses>
<item name="SignalStateResponse"/>
</responses>
</command>
<command id="0x02" name="WriteFunctions" generate="false"/>
<command id="0x03" name="LoadManagementPause">
<payload>
<field name="Duration" type="uint16"/>
<field name="PowerProfileID" type="uint8" optional="true"/>
<field name="EnergyPhaseID" type="uint8" optional="true"/>
</payload>
<responses>
<item name="LoadManagementAcknowledge"/>
</responses>
</command>
<command id="0x03" name="OverloadPause">
<payload>
<field name="Duration" type="uint16"/>
<field name="PauseStartTime" type="uint16"/>
</payload>
</command>
<response id="0x00" name="SignalStateResponse">
<payload>
<field name="ApplianceStatus" type="enum8" generate="false">
<enum>
<item id="0x01" name="Off" />
<item id="0x02" name="Stand-by" />
<item id="0x03" name="Programmed" />
<item id="0x04" name="Programmed Waiting to Start" />
<item id="0x05" name="Running" />
<item id="0x06" name="Pause" />
<item id="0x07" name="End Programmed" />
<item id="0x08" name="Failure" />
<item id="0x09" name="Programme Interrupted" />
<item id="0x0A" name="Idle" />
<item id="0x0B" name="Rinse Hold" />
<item id="0x0C" name="Service" />
<item id="0x0D" name="Superfreezing" />
<item id="0x0E" name="Supercooling" />
<item id="0x0F" name="Superheating" />
</enum>
</field>
<field name="RemoteEnableFlags" type="uint8">
<enum start="0" end="3" >
<item id="0x0" name="Disabled" />
<item id="0x7" name="Temporarily Locked/Disabled" />
<item id="0xF" name="Enabled Remote Control" />
<item id="0x1" name="Enabled Remote and Energy Control" />
</enum>
<enum start="4" end="7" >
<item id="0x2" name="Iris Symtom Code" />
</enum>
</field>
<field name="ApplianceStatus2" type="uint24">
</field>
</payload>
</response>
<response id="0x02" name="LoadManagementAcknowledge">
<payload>
<field name="LoadManagementAcknowledge" type="enum8">
<enum>
<item id="0x00" name="Pause_Accepted" />
<item id="0x01" name="Parameters_Error" />
<item id="0x02" name="Invalid_Duration" />
<item id="0x03" name="Invalid_Power_Profile_ID" />
<item id="0x04" name="Invalid_Energy_Phase_ID" />
</enum>
</field>
</payload>
</response>
</server>
<client>
<command id= "0x01" name="SignalStateNotification">
<payload>
<field name="ApplianceStatus" type="enum8" generate="false">
<enum>
<item id="0x01" name="Off" />
<item id="0x02" name="Stand-by" />
<item id="0x03" name="Programmed" />
<item id="0x04" name="Programmed Waiting to Start" />
<item id="0x05" name="Running" />
<item id="0x06" name="Pause" />
<item id="0x07" name="End Programmed" />
<item id="0x08" name="Failure" />
<item id="0x09" name="Programme Interrupted" />
<item id="0x0A" name="Idle" />
<item id="0x0B" name="Rinse Hold" />
<item id="0x0C" name="Service" />
<item id="0x0D" name="Superfreezing" />
<item id="0x0E" name="Supercooling" />
<item id="0x0F" name="Superheating" />
</enum>
</field>
<field name="RemoteEnableFlags" type="uint8">
<enum start="0" end="3" >
<item id="0x0" name="Disabled" />
<item id="0x7" name="Temporarily Locked/Disabled" />
<item id="0xF" name="Enabled Remote Control" />
<item id="0x1" name="Enabled Remote and Energy Control" />
</enum>
<enum start="4" end="7" >
<item id="0x2" name="Iris Symtom Code" />
</enum>
</field>
<field name="ApplianceStatus2" type="uint24">
</field>
</payload>
</command>
</client>
</cluster>
<cluster id="0x0A01" name="Appliance Events" package="eh" status="c">
<server>
<!-- Appliance Warnings and Faults Attribute Set -->
<attribute id="0x0000" name="ApplianceEventList" type="array" default="0x0000" generate="false">
<Range from="0x0000" to="0xFFFF"/>
</attribute>
<command id="0x00" name="GetEventsAndAlerts" status="wip"/>
<response id="0x00" name="GetEventsAndAlertsResponse" status="wip"/>
</server>
</cluster>
<cluster id="0x0FF2" name="Indesit Bridge" manifactureCode="0x1111" package="eh" status="c">
<server>
<!-- Digital Basic Frame Transmission -->
<command id="0x93" name="DBFT">
<payload>
<field name="i2c" type="uint8"/>
<field name="header" type="uint8"/>
<field name="type" type="uint8"/>
<field name="data" type="octets"/>
</payload>
<response>
<item name="DBFTR"/>
</response>
</command>
<!-- Digital Extended Frame Transmission -->
<command id="0x95" name="DEFT">
<payload>
<field name="i2c" type="uint8"/>
<field name="header" type="uint8"/>
<field name="type" type="uint8"/>
<field name="data" type="octets"/>
</payload>
<response>
<item name="DEFTR"/>
</response>
</command>
<!-- Digital Extended Frame Transmission Without Answer -->
<command id="0x9d" name="DEFTWA"/>
</server>
<client>
<!-- Digital Basic Frame Transmission Answer -->
<command id="0x93" name="DBFTA">
<payload>
<field name="i2c" type="uint8"/>
<field name="header" type="uint8"/>
<field name="type" type="uint8"/>
<field name="data" type="octets"/>
</payload>
</command>
<!-- Digital Extended Frame Transmission Answer -->
<command id="0x93" name="DEFTA">
<payload>
<field name="i2c" type="uint8"/>
<field name="header" type="uint8"/>
<field name="type" type="uint8"/>
<field name="data" type="octets"/>
</payload>
</command>
</client>
</cluster>
<cluster id="0x0A05" name="Power Profile" package="eh" status="c">
<attribute id="0x0000" name="TotalProfileNum" type="uint8" reportable="false" >
<Range from="0x01" to="0xfe"/>
</attribute>
<attribute id="0x0001" name="CurrentPowerProfile" type="uint8" reportable="false" >
<Range from="0x01" to="0xfe"/>
</attribute>
<attribute id="0x0002" name="CurrentEnergyPhase" type="uint8" reportable="false" >
<Range from="0x01" to="0xfe"/>
</attribute>
<client>
<command id="0x00" name="PowerProfileRequest" dir="ctos" >
<payload>
<field name="PowerProfileID" type="uint8"/>
</payload>
<response>
<item name="PowerProfileResponse"/>
</response>
</command>
<command id="0x01" name="ReadCurrentProfiles" >
<response>
<item name="ReadCurrentPowerProfilesResponse"/>
</response>
</command>
<command id="0x02" name="GetPowerProfilePriceResponse">
<payload>
<field name="PowerProfileID" type="uint8"/>
<field name="Currency" type="uint16"/>
<field name="Price" type="uint32"/>
<field name="PriceTrailingDigit" type="uint8"/>
</payload>
</command>
</client>
<server>
<command id="0x00" name="PowerProfileNotification" >
<payload>
<field name="TotalProfileNum" type="uint8"/>
<field name="PowerProfileID" type="uint8"/>
<field name="NumOfTransferredPhases" type="uint8"/>
<array fieldname="NumOfTransferredPhases">
<field name="EnergyPhaseID" type="uint8"/>
<field name="MacroPhaseID" type="uint8"/>
<field name="ExpectedDuration" type="uint16"/>
<field name="PeakPower" type="uint16"/>
<field name="Energy" type="uint16"/>
<field name="MaxActivationDelay" type="uint16"/>
</array>
</payload>
</command>
<command id="0x01" name="PowerProfileResponse" mandatory="false">
</command>
<command id="0x02" name="ReadCurrentProfilesResponse" >
<payload>
<field name="PowerProfileCount" type="uint8"/>
<array fieldname="PowerProfileCount">
<field name="PowerProfileID" type="uint8"/>
<field name="EnergyPhaseID" type="uint8"/>
<field name="PowerProfileState" type="enum8">
<enum>
<item id="0x00" name="POWER_PROFILE_STARTED" />
<item id="0x01" name="RUNNING" />
<item id="0x02" name="ENERGY_PHASE_ENDED" />
<item id="0x03" name="ENERGY_PHASE_STARTED" />
<item id="0x04" name="WAITING_TO_START" />
<item id="0x05" name="POWER_PROFILE_ENDED" />
</enum>
</field>
</array>
</payload>
</command>
<command id="0x03" name="GetPowerProfilePrice" mandatory="false">
<response>
<item name="GetPowerProfilePriceResponse"/>
</response>
</command>
<command id="0x04" name="PowerProfilesStateNotification">
</command>
</server>
</cluster>
<cluster id="0x0A06" name="SmartInfo Identification" package="eh" status="c">
<attribute id="0x0010" name="CompanyName" type="octets" reportable="false" size="16">
<Range from="0x01" to="0xfe"/>
</attribute>
<attribute id="0x0011" name="Meter Type ID" type="uint16" reportable="false" >
<Range from="0x0000" to="0xffff"/>
<item id="0x0001" name="Utility Production Meter" />
<item id="0x0002" name="Utility Secondary Meter" />
<item id="0x0100" name="Private Primary Meter" />
<item id="0x0101" name="Private Production Meter" />
<item id="0x0102" name="Private Secondary Meters" />
<item id="0x0110" name="Generic Meter" />
</attribute>
<attribute id="0x0014" name="Data Quality ID" type="uint16" reportable="false" >
<Range from="0x0000" to="0xffff"/>
<item id="0x0000" name="All Data Certified" />
<item id="0x0001" name="Only Instantaneous Power not Certified" />
<item id="0x0002" name="Only Cumulated Consumption" />
<item id="0x0003" name="Not Certified data" />
<item id="0x0101" name="Private Production Meter" />
<item id="0x0102" name="Private Secondary Meters" />
<item id="0x0110" name="Generic Meter" />
</attribute>
<attribute id="0x0015" name="Customer Name" type="octets" mandatory="false" reportable="false" size="16">
</attribute>
<attribute id="0x0016" name="Model" type="octets" mandatory="false" reportable="false" size="16">
</attribute>
<attribute id="0x0017" name="PartNumber" type="octets" mandatory="false" reportable="false" size="16">
</attribute>
<attribute id="0x0018" name="ProductRevision" type="octets" mandatory="false" reportable="false" size="16">
</attribute>
<attribute id="0x001A" name="SoftwareRevision" type="octets" mandatory="false" reportable="false" size="16">
</attribute>
</cluster>
<cluster id="0x0700" name="Price" package="eh" status="u">
</cluster>
<cluster id="0x7001" name="Demand Response and Load Control" package="eh" status="u">
</cluster>
<cluster id="0x0702" name="Simple Metering" package="metering" status="u">
<!-- Reading Information Attribute Set -->
<attribute id="0x0000" name="CurrentSummationDelivered" type="uint48" >
<Range from="0x000000000000" to="0xffffffffffff"/>
</attribute>
<attribute id="0x0006" name="PowerFactor" type="int8" default="0x00" mandatory="false">
<Range from="-100" to="100"/>
</attribute>
<!-- Meter Status Attribute Set -->
<attribute id="0x0200" name="Status" type="bitmap8" default="0x00">
<Range from="0x00" to="0xff"/>
</attribute>
<!-- Formatting Attribute Set -->
<attribute id="0x0300" name="UnitOfMeasure" type="enum8" default="0x00">
<Range from="0x00" to="0xff"/>
</attribute>
<attribute id="0x0303" name="SummationFormatting" type="bitmap8" >
<Range from="0x00" to="0xff"/>
</attribute>
<attribute id="0x0304" name="DemandFormatting" type="bitmap8" mandatory="false" >
<Range from="0x00" to="0xff"/>
</attribute>
<attribute id="0x0306" name="MeteringDeviceType" type="bitmap8" >
<Range from="0x00" to="0xff"/>
</attribute>
<!-- Simple Metering Cluster - ESP Historical Consumption Attribute Set -->
<attribute id="0x0400" name="IstantaneousDemand" type="int24" default="0x000000" >
<Range from="0x000000" to="0xffffff"/>
</attribute>
</cluster>
<cluster id="0x7003" name="Message" package="eh" status="u">
</cluster>
<cluster id="0x70ff" name="Prepayment" package="eh" status="u">
</cluster>
<cluster id="0x0A03" name="Applicance Statistics" package="eh" status="u">
</cluster>
<cluster id="0x0A02" name="Appliance Events and Alerts" package="eh" status="u">
</cluster>
</clusters>