@@ -19,26 +19,35 @@ limitations under the License.
19
19
20
20
<bitmap name =" Feature" type =" bitmap32" >
21
21
<cluster code =" 0x0081" />
22
- <field name =" TimeSync" mask =" 0x1 " />
23
- <field name =" Level" mask =" 0x2 " />
22
+ <field name =" TimeSync" mask =" 0x01 " />
23
+ <field name =" Level" mask =" 0x02 " />
24
24
</bitmap >
25
25
26
26
<bitmap name =" ValveFaultBitmap" type =" bitmap16" >
27
27
<cluster code =" 0x0081" />
28
- <field name =" GeneralFault" mask =" 0x1" />
29
- <field name =" Blocked" mask =" 0x2" />
30
- <field name =" Leaking" mask =" 0x4" />
28
+ <field name =" GeneralFault" mask =" 0x01" />
29
+ <field name =" Blocked" mask =" 0x02" />
30
+ <field name =" Leaking" mask =" 0x04" />
31
+ <field name =" NotConnected" mask =" 0x08" />
32
+ <field name =" ShortCircuit" mask =" 0x10" />
33
+ <field name =" CurrentExceeded" mask =" 0x20" />
31
34
</bitmap >
32
35
33
36
<enum name =" ValveStateEnum" type =" enum8" >
34
37
<cluster code =" 0x0081" />
35
- <item name =" Open" value =" 0x0" />
36
- <item name =" Closed" value =" 0x1" />
38
+ <item name =" Closed" value =" 0x0" />
39
+ <item name =" Open" value =" 0x1" />
40
+ <item name =" Transitioning" value =" 0x2" />
41
+ </enum >
42
+
43
+ <enum name =" StatusCodeEnum" type =" enum8" >
44
+ <cluster code =" 0x0081" />
45
+ <item name =" FailureDueToFault" value =" 0x02" />
37
46
</enum >
38
47
39
48
<cluster apiMaturity =" provisional" >
40
- <name >Valve Configuration and Control</name >
41
49
<domain >HVAC</domain >
50
+ <name >Valve Configuration and Control</name >
42
51
<code >0x0081</code >
43
52
<define >VALVE_CONFIGURATION_AND_CONTROL_CLUSTER</define >
44
53
<client tick =" false" init =" false" >true</client >
@@ -48,51 +57,37 @@ limitations under the License.
48
57
49
58
<!-- min max definition for attribute size larger than 2 bytes is not allowed by zap codegen https://github.com/project-chip/zap/issues/1187 -->
50
59
<!-- Therefore, this check needs to be done in code. -->
51
- <attribute side =" server" code =" 0x0000" define =" OPEN_DURATION" type =" elapsed_s" isNullable =" true" writable =" true" optional =" false" >
52
- <description >OpenDuration</description >
53
- <access op =" read" privilege =" view" />
54
- <access op =" write" privilege =" manage" />
55
- </attribute >
56
- <attribute side =" server" code =" 0x0001" define =" AUTO_CLOSE_TIME" type =" epoch_us" isNullable =" true" writable =" false" optional =" true" >AutoCloseTime</attribute >
57
- <attribute side =" server" code =" 0x0002" define =" REMAINING_DURATION" type =" elapsed_s" isNullable =" true" writable =" false" optional =" true" >RemainingDuration</attribute >
58
- <attribute side =" server" code =" 0x0003" define =" CURRENT_STATE" type =" ValveStateEnum" isNullable =" true" writable =" false" optional =" false" >CurrentState</attribute >
59
- <attribute side =" server" code =" 0x0004" define =" TARGET_STATE" type =" ValveStateEnum" isNullable =" true" writable =" false" optional =" false" >TargetState</attribute >
60
- <attribute side =" server" code =" 0x0005" define =" START_UP_STATE" type =" ValveStateEnum" isNullable =" false" writable =" true" optional =" true" >
61
- <description >StartUpState</description >
62
- <access op =" read" privilege =" view" />
63
- <access op =" write" privilege =" manage" />
64
- </attribute >
60
+ <attribute side =" server" code =" 0x0000" define =" OPEN_DURATION" type =" elapsed_s" isNullable =" true" writable =" false" optional =" false" >OpenDuration</attribute >
61
+ <!-- min max definition for attribute size larger than 2 bytes is not allowed by zap codegen https://github.com/project-chip/zap/issues/1187 -->
62
+ <!-- Therefore, this check needs to be done in code. -->
63
+ <attribute side =" server" code =" 0x0001" define =" DEFAULT_OPEN_DURATION" type =" elapsed_s" isNullable =" true" writable =" true" optional =" false" >DefaultOpenDuration</attribute >
64
+ <attribute side =" server" code =" 0x0002" define =" AUTO_CLOSE_TIME" type =" epoch_us" isNullable =" true" writable =" false" optional =" true" >AutoCloseTime</attribute >
65
+ <attribute side =" server" code =" 0x0003" define =" REMAINING_DURATION" type =" elapsed_s" isNullable =" true" writable =" false" optional =" false" >RemainingDuration</attribute >
66
+ <attribute side =" server" code =" 0x0004" define =" CURRENT_STATE" type =" ValveStateEnum" isNullable =" true" writable =" false" optional =" false" >CurrentState</attribute >
67
+ <attribute side =" server" code =" 0x0005" define =" TARGET_STATE" type =" ValveStateEnum" isNullable =" true" writable =" false" optional =" false" >TargetState</attribute >
65
68
<attribute side =" server" code =" 0x0006" define =" CURRENT_LEVEL" type =" percent" isNullable =" true" min =" 0" max =" 100" writable =" false" optional =" true" >CurrentLevel</attribute >
66
69
<attribute side =" server" code =" 0x0007" define =" TARGET_LEVEL" type =" percent" isNullable =" true" min =" 0" max =" 100" writable =" false" optional =" true" >TargetLevel</attribute >
67
- <attribute side =" server" code =" 0x0008" define =" OPEN_LEVEL" type =" percent" isNullable =" true" min =" 1" max =" 100" writable =" true" default =" 100" optional =" true" >
68
- <description >OpenLevel</description >
69
- <access op =" read" privilege =" view" />
70
- <access op =" write" privilege =" manage" />
71
- </attribute >
70
+ <attribute side =" server" code =" 0x0008" define =" DEFAULT_OPEN_LEVEL" type =" percent" isNullable =" false" min =" 1" max =" 100" writable =" true" default =" 100" optional =" true" >DefaultOpenLevel</attribute >
72
71
<attribute side =" server" code =" 0x0009" define =" VALVE_FAULT" type =" ValveFaultBitmap" isNullable =" false" writable =" false" optional =" true" >ValveFault</attribute >
73
72
74
73
<command source =" client" code =" 0x00" name =" Open" optional =" false" >
75
- <description >This command is used to set the valve to its fully open position.</description >
76
- <arg name =" OpenDuration" type =" elapsed_s" optional =" true" />
74
+ <description >This command is used to set the valve to its open position.</description >
75
+ <arg name =" OpenDuration" type =" elapsed_s" optional =" true" isNullable =" true" />
76
+ <arg name =" TargetLevel" type =" percent" optional =" true" />
77
77
</command >
78
78
79
79
<command source =" client" code =" 0x01" name =" Close" optional =" false" >
80
- <description >This command is used to set the valve to its fully closed position.</description >
81
- </command >
82
-
83
- <command source =" client" code =" 0x02" name =" SetLevel" optional =" true" >
84
- <description >This command is used to set the valve to a specific level.</description >
85
- <arg name =" Level" type =" percent" />
86
- <arg name =" OpenDuration" type =" elapsed_s" optional =" true" />
80
+ <description >This command is used to set the valve to its closed position.</description >
87
81
</command >
88
82
89
83
<event side =" server" code =" 0x00" priority =" info" name =" ValveStateChanged" optional =" true" >
90
- <description >This event SHALL be generated when the valve changes state, either opens or closes .</description >
84
+ <description >This event SHALL be generated when the valve state changed .</description >
91
85
<field id =" 0" name =" ValveState" type =" ValveStateEnum" />
86
+ <field id =" 1" name =" ValveLevel" type =" percent" optional =" true" />
92
87
</event >
93
88
94
89
<event side =" server" code =" 0x01" priority =" info" name =" ValveFault" optional =" true" >
95
- <description >This event SHALL be generated when the valve registers a fault.</description >
90
+ <description >This event SHALL be generated when the valve registers or clears a fault.</description >
96
91
<field id =" 0" name =" ValveFault" type =" ValveFaultBitmap" />
97
92
</event >
98
93
</cluster >
0 commit comments