Skip to content

Commit 2163c8c

Browse files
committed
GH-33: Custom Cluster for Fan Control
Forwarded: #33 Bug-SiliconLabs: UIC-3061 Bug-Github: #33
1 parent 3b43b68 commit 2163c8c

File tree

3 files changed

+77
-2
lines changed

3 files changed

+77
-2
lines changed
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
<?xml version="1.0"?>
2+
<!--
3+
Custom Fan Cluster for Unify to support ZWave Fan Control
4+
May be extended in the future to support other fan control protocols
5+
-->
6+
<zcl:cluster xmlns:zcl="http://zigbee.org/zcl/clusters"
7+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
8+
xmlns:type="http://zigbee.org/zcl/types"
9+
xmlns:xi="http://www.w3.org/2001/XInclude"
10+
xsi:schemaLocation="http://zigbee.org/zcl/clusters cluster.xsd http://zigbee.org/zcl/types type.xsd"
11+
id="FD14" revision="1" name="UnifyFanControl">
12+
<classification role="application" picsCode="FAN" primaryTransaction="1" />
13+
14+
<type:type short="ZWaveFanModeEnum" name="ZWaveFanModeEnum" id="1000" inheritsFrom="enum8">
15+
<restriction>
16+
<type:enumeration value="00" name="Auto" />
17+
<type:enumeration value="01" name="Low" />
18+
<type:enumeration value="02" name="AutoHigh" />
19+
<type:enumeration value="03" name="High" />
20+
<type:enumeration value="04" name="AutoMedium" />
21+
<type:enumeration value="05" name="Medium" />
22+
<type:enumeration value="06" name="Circulation" />
23+
<type:enumeration value="07" name="HumidityCirculation" />
24+
<type:enumeration value="08" name="LeftRight" />
25+
<type:enumeration value="09" name="UpDown" />
26+
<type:enumeration value="0A" name="Quiet" />
27+
<type:enumeration value="0B" name="ExternalCirculation"/>
28+
</restriction>
29+
</type:type>
30+
<type:type short="ZWaveFanStateEnum" name="ZWaveFanStateEnum" id="1001" inheritsFrom="enum8">
31+
<restriction>
32+
<type:enumeration value="00" name="Idle" />
33+
<type:enumeration value="01" name="Running" />
34+
<type:enumeration value="02" name="RunningHigh" />
35+
<type:enumeration value="03" name="RunningMedium" />
36+
<type:enumeration value="04" name="Circulation" />
37+
<type:enumeration value="05" name="HumidityCirculation" />
38+
<type:enumeration value="06" name="RightLeftCirculation" />
39+
<type:enumeration value="07" name="UpDownCirculation" />
40+
<type:enumeration value="08" name="QuietCirculation" />
41+
</restriction>
42+
</type:type>
43+
<server>
44+
<attributes>
45+
<attribute id="0001" name="ZWaveFanMode" type="ZWaveFanModeEnum" writable="true" required="false" default="0"/>
46+
<attribute id="0002" name="ZWaveSupportedFanMode" type="map16" default="0">
47+
<bitmap>
48+
<element name="Auto" type="bool" mask="01" />
49+
<element name="Low" type="bool" mask="02" shiftRight="1" />
50+
<element name="AutoHigh" type="bool" mask="04" shiftRight="2" />
51+
<element name="High" type="bool" mask="08" shiftRight="3" />
52+
<element name="AutoMedium" type="bool" mask="10" shiftRight="4" />
53+
<element name="Medium" type="bool" mask="20" shiftRight="5" />
54+
<element name="Circulation" type="bool" mask="40" shiftRight="6" />
55+
<element name="HumidityCirculation" type="bool" mask="80" shiftRight="7" />
56+
<element name="LeftRight" type="bool" mask="100" shiftRight="8" />
57+
<element name="UpDown" type="bool" mask="200" shiftRight="9"/>
58+
<element name="Quiet" type="bool" mask="400" shiftRight="10"/>
59+
<element name="ExternalCirculation" type="bool" mask="800" shiftRight="11"/>
60+
</bitmap>
61+
</attribute>
62+
<attribute id="0003" name="ZWaveFanState" type="ZWaveFanStateEnum" default="0"/>
63+
</attributes>
64+
<commands>
65+
<command id="00" name="SetFanMode">
66+
<fields>
67+
<field name="FanMode" type="ZWaveFanModeEnum"/>
68+
</fields>
69+
</command>
70+
<command id="01" name="TurnOff"/>
71+
</commands>
72+
</server>
73+
</zcl:cluster>

components/uic_dotdot/dotdot-xml/library.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -490,5 +490,5 @@ applicable to this document can be found in the LICENSE.md file.
490490
<xi:include href="Unify_SystemMetrics.xml" parse="xml"/>
491491
<xi:include href="Unify_ApplicationMonitoring.xml" parse="xml"/>
492492
<xi:include href="Unify_Descriptor.xml" parse="xml"/>
493-
494-
</zcl:library>
493+
<xi:include href="Unify_FanControl.xml" parse="xml"/>
494+
</zcl:library>

components/uic_dotdot/zap/addon-base-helper.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,8 @@ zcl_type_map = (function() {
100100
CredentialTypeEnum: 'enum8',
101101
DataOperationTypeEnum: 'enum8',
102102
CredentialRuleEnum: 'enum8',
103+
ZWaveFanModeEnum: 'enum8',
104+
ZWaveFanStateEnum: 'enum8',
103105
// zclType: 'uint8',
104106

105107
BarrierControlSafetyStatus: 'map16',

0 commit comments

Comments
 (0)