@matter/types 0.11.9-alpha.0-20241205-ccf69a00a → 0.11.9-alpha.0-20241207-b604cfa44

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (180) hide show
  1. package/dist/cjs/clusters/bridged-device-basic-information.d.ts +58 -7
  2. package/dist/cjs/clusters/bridged-device-basic-information.d.ts.map +1 -1
  3. package/dist/cjs/clusters/bridged-device-basic-information.js +19 -2
  4. package/dist/cjs/clusters/bridged-device-basic-information.js.map +1 -1
  5. package/dist/cjs/clusters/content-launcher.d.ts +10 -10
  6. package/dist/cjs/clusters/content-launcher.d.ts.map +1 -1
  7. package/dist/cjs/clusters/content-launcher.js +22 -22
  8. package/dist/cjs/clusters/content-launcher.js.map +2 -2
  9. package/dist/cjs/clusters/device-energy-management-mode.d.ts +411 -25
  10. package/dist/cjs/clusters/device-energy-management-mode.d.ts.map +1 -1
  11. package/dist/cjs/clusters/device-energy-management-mode.js +90 -1
  12. package/dist/cjs/clusters/device-energy-management-mode.js.map +1 -1
  13. package/dist/cjs/clusters/dishwasher-alarm.d.ts +1253 -42
  14. package/dist/cjs/clusters/dishwasher-alarm.d.ts.map +1 -1
  15. package/dist/cjs/clusters/dishwasher-alarm.js +72 -9
  16. package/dist/cjs/clusters/dishwasher-alarm.js.map +1 -1
  17. package/dist/cjs/clusters/dishwasher-mode.d.ts +340 -17
  18. package/dist/cjs/clusters/dishwasher-mode.d.ts.map +1 -1
  19. package/dist/cjs/clusters/dishwasher-mode.js +91 -2
  20. package/dist/cjs/clusters/dishwasher-mode.js.map +1 -1
  21. package/dist/cjs/clusters/door-lock.d.ts +1287 -135
  22. package/dist/cjs/clusters/door-lock.d.ts.map +1 -1
  23. package/dist/cjs/clusters/door-lock.js +199 -3
  24. package/dist/cjs/clusters/door-lock.js.map +1 -1
  25. package/dist/cjs/clusters/energy-evse-mode.d.ts +409 -25
  26. package/dist/cjs/clusters/energy-evse-mode.d.ts.map +1 -1
  27. package/dist/cjs/clusters/energy-evse-mode.js +90 -1
  28. package/dist/cjs/clusters/energy-evse-mode.js.map +1 -1
  29. package/dist/cjs/clusters/fan-control.d.ts +5 -0
  30. package/dist/cjs/clusters/fan-control.d.ts.map +1 -1
  31. package/dist/cjs/clusters/fan-control.js.map +1 -1
  32. package/dist/cjs/clusters/groups.d.ts +12 -0
  33. package/dist/cjs/clusters/groups.d.ts.map +1 -1
  34. package/dist/cjs/clusters/groups.js +7 -1
  35. package/dist/cjs/clusters/groups.js.map +1 -1
  36. package/dist/cjs/clusters/laundry-washer-mode.d.ts +340 -17
  37. package/dist/cjs/clusters/laundry-washer-mode.d.ts.map +1 -1
  38. package/dist/cjs/clusters/laundry-washer-mode.js +91 -2
  39. package/dist/cjs/clusters/laundry-washer-mode.js.map +1 -1
  40. package/dist/cjs/clusters/microwave-oven-mode.d.ts +330 -13
  41. package/dist/cjs/clusters/microwave-oven-mode.d.ts.map +1 -1
  42. package/dist/cjs/clusters/microwave-oven-mode.js +90 -2
  43. package/dist/cjs/clusters/microwave-oven-mode.js.map +1 -1
  44. package/dist/cjs/clusters/mode-base.d.ts +68 -68
  45. package/dist/cjs/clusters/mode-base.d.ts.map +1 -1
  46. package/dist/cjs/clusters/mode-base.js +16 -16
  47. package/dist/cjs/clusters/mode-base.js.map +2 -2
  48. package/dist/cjs/clusters/oven-mode.d.ts +409 -25
  49. package/dist/cjs/clusters/oven-mode.d.ts.map +1 -1
  50. package/dist/cjs/clusters/oven-mode.js +90 -1
  51. package/dist/cjs/clusters/oven-mode.js.map +1 -1
  52. package/dist/cjs/clusters/pump-configuration-and-control.d.ts +15 -0
  53. package/dist/cjs/clusters/pump-configuration-and-control.d.ts.map +1 -1
  54. package/dist/cjs/clusters/pump-configuration-and-control.js +6 -1
  55. package/dist/cjs/clusters/pump-configuration-and-control.js.map +1 -1
  56. package/dist/cjs/clusters/refrigerator-alarm.d.ts +364 -36
  57. package/dist/cjs/clusters/refrigerator-alarm.d.ts.map +1 -1
  58. package/dist/cjs/clusters/refrigerator-alarm.js +46 -8
  59. package/dist/cjs/clusters/refrigerator-alarm.js.map +1 -1
  60. package/dist/cjs/clusters/refrigerator-and-temperature-controlled-cabinet-mode.d.ts +340 -17
  61. package/dist/cjs/clusters/refrigerator-and-temperature-controlled-cabinet-mode.d.ts.map +1 -1
  62. package/dist/cjs/clusters/refrigerator-and-temperature-controlled-cabinet-mode.js +91 -2
  63. package/dist/cjs/clusters/refrigerator-and-temperature-controlled-cabinet-mode.js.map +1 -1
  64. package/dist/cjs/clusters/rvc-clean-mode.d.ts +374 -23
  65. package/dist/cjs/clusters/rvc-clean-mode.d.ts.map +1 -1
  66. package/dist/cjs/clusters/rvc-clean-mode.js +99 -6
  67. package/dist/cjs/clusters/rvc-clean-mode.js.map +2 -2
  68. package/dist/cjs/clusters/rvc-operational-state.d.ts +248 -22
  69. package/dist/cjs/clusters/rvc-operational-state.d.ts.map +1 -1
  70. package/dist/cjs/clusters/rvc-operational-state.js +59 -10
  71. package/dist/cjs/clusters/rvc-operational-state.js.map +1 -1
  72. package/dist/cjs/clusters/rvc-run-mode.d.ts +401 -40
  73. package/dist/cjs/clusters/rvc-run-mode.d.ts.map +1 -1
  74. package/dist/cjs/clusters/rvc-run-mode.js +101 -8
  75. package/dist/cjs/clusters/rvc-run-mode.js.map +2 -2
  76. package/dist/cjs/clusters/thermostat.d.ts +262 -61
  77. package/dist/cjs/clusters/thermostat.d.ts.map +1 -1
  78. package/dist/cjs/clusters/thermostat.js +72 -58
  79. package/dist/cjs/clusters/thermostat.js.map +1 -1
  80. package/dist/esm/clusters/bridged-device-basic-information.d.ts +58 -7
  81. package/dist/esm/clusters/bridged-device-basic-information.d.ts.map +1 -1
  82. package/dist/esm/clusters/bridged-device-basic-information.js +19 -2
  83. package/dist/esm/clusters/bridged-device-basic-information.js.map +1 -1
  84. package/dist/esm/clusters/content-launcher.d.ts +10 -10
  85. package/dist/esm/clusters/content-launcher.d.ts.map +1 -1
  86. package/dist/esm/clusters/content-launcher.js +22 -22
  87. package/dist/esm/clusters/content-launcher.js.map +2 -2
  88. package/dist/esm/clusters/device-energy-management-mode.d.ts +411 -25
  89. package/dist/esm/clusters/device-energy-management-mode.d.ts.map +1 -1
  90. package/dist/esm/clusters/device-energy-management-mode.js +91 -2
  91. package/dist/esm/clusters/device-energy-management-mode.js.map +1 -1
  92. package/dist/esm/clusters/dishwasher-alarm.d.ts +1253 -42
  93. package/dist/esm/clusters/dishwasher-alarm.d.ts.map +1 -1
  94. package/dist/esm/clusters/dishwasher-alarm.js +72 -9
  95. package/dist/esm/clusters/dishwasher-alarm.js.map +1 -1
  96. package/dist/esm/clusters/dishwasher-mode.d.ts +340 -17
  97. package/dist/esm/clusters/dishwasher-mode.d.ts.map +1 -1
  98. package/dist/esm/clusters/dishwasher-mode.js +91 -2
  99. package/dist/esm/clusters/dishwasher-mode.js.map +1 -1
  100. package/dist/esm/clusters/door-lock.d.ts +1287 -135
  101. package/dist/esm/clusters/door-lock.d.ts.map +1 -1
  102. package/dist/esm/clusters/door-lock.js +199 -3
  103. package/dist/esm/clusters/door-lock.js.map +1 -1
  104. package/dist/esm/clusters/energy-evse-mode.d.ts +409 -25
  105. package/dist/esm/clusters/energy-evse-mode.d.ts.map +1 -1
  106. package/dist/esm/clusters/energy-evse-mode.js +91 -2
  107. package/dist/esm/clusters/energy-evse-mode.js.map +1 -1
  108. package/dist/esm/clusters/fan-control.d.ts +5 -0
  109. package/dist/esm/clusters/fan-control.d.ts.map +1 -1
  110. package/dist/esm/clusters/fan-control.js.map +1 -1
  111. package/dist/esm/clusters/groups.d.ts +12 -0
  112. package/dist/esm/clusters/groups.d.ts.map +1 -1
  113. package/dist/esm/clusters/groups.js +7 -1
  114. package/dist/esm/clusters/groups.js.map +1 -1
  115. package/dist/esm/clusters/laundry-washer-mode.d.ts +340 -17
  116. package/dist/esm/clusters/laundry-washer-mode.d.ts.map +1 -1
  117. package/dist/esm/clusters/laundry-washer-mode.js +91 -2
  118. package/dist/esm/clusters/laundry-washer-mode.js.map +1 -1
  119. package/dist/esm/clusters/microwave-oven-mode.d.ts +330 -13
  120. package/dist/esm/clusters/microwave-oven-mode.d.ts.map +1 -1
  121. package/dist/esm/clusters/microwave-oven-mode.js +91 -3
  122. package/dist/esm/clusters/microwave-oven-mode.js.map +1 -1
  123. package/dist/esm/clusters/mode-base.d.ts +68 -68
  124. package/dist/esm/clusters/mode-base.d.ts.map +1 -1
  125. package/dist/esm/clusters/mode-base.js +17 -17
  126. package/dist/esm/clusters/mode-base.js.map +2 -2
  127. package/dist/esm/clusters/oven-mode.d.ts +409 -25
  128. package/dist/esm/clusters/oven-mode.d.ts.map +1 -1
  129. package/dist/esm/clusters/oven-mode.js +91 -2
  130. package/dist/esm/clusters/oven-mode.js.map +1 -1
  131. package/dist/esm/clusters/pump-configuration-and-control.d.ts +15 -0
  132. package/dist/esm/clusters/pump-configuration-and-control.d.ts.map +1 -1
  133. package/dist/esm/clusters/pump-configuration-and-control.js +6 -1
  134. package/dist/esm/clusters/pump-configuration-and-control.js.map +1 -1
  135. package/dist/esm/clusters/refrigerator-alarm.d.ts +364 -36
  136. package/dist/esm/clusters/refrigerator-alarm.d.ts.map +1 -1
  137. package/dist/esm/clusters/refrigerator-alarm.js +46 -8
  138. package/dist/esm/clusters/refrigerator-alarm.js.map +1 -1
  139. package/dist/esm/clusters/refrigerator-and-temperature-controlled-cabinet-mode.d.ts +340 -17
  140. package/dist/esm/clusters/refrigerator-and-temperature-controlled-cabinet-mode.d.ts.map +1 -1
  141. package/dist/esm/clusters/refrigerator-and-temperature-controlled-cabinet-mode.js +91 -2
  142. package/dist/esm/clusters/refrigerator-and-temperature-controlled-cabinet-mode.js.map +1 -1
  143. package/dist/esm/clusters/rvc-clean-mode.d.ts +374 -23
  144. package/dist/esm/clusters/rvc-clean-mode.d.ts.map +1 -1
  145. package/dist/esm/clusters/rvc-clean-mode.js +99 -6
  146. package/dist/esm/clusters/rvc-clean-mode.js.map +2 -2
  147. package/dist/esm/clusters/rvc-operational-state.d.ts +248 -22
  148. package/dist/esm/clusters/rvc-operational-state.d.ts.map +1 -1
  149. package/dist/esm/clusters/rvc-operational-state.js +60 -11
  150. package/dist/esm/clusters/rvc-operational-state.js.map +1 -1
  151. package/dist/esm/clusters/rvc-run-mode.d.ts +401 -40
  152. package/dist/esm/clusters/rvc-run-mode.d.ts.map +1 -1
  153. package/dist/esm/clusters/rvc-run-mode.js +101 -8
  154. package/dist/esm/clusters/rvc-run-mode.js.map +2 -2
  155. package/dist/esm/clusters/thermostat.d.ts +262 -61
  156. package/dist/esm/clusters/thermostat.d.ts.map +1 -1
  157. package/dist/esm/clusters/thermostat.js +72 -58
  158. package/dist/esm/clusters/thermostat.js.map +1 -1
  159. package/package.json +5 -5
  160. package/src/clusters/bridged-device-basic-information.ts +46 -2
  161. package/src/clusters/content-launcher.ts +5 -5
  162. package/src/clusters/device-energy-management-mode.ts +184 -3
  163. package/src/clusters/dishwasher-alarm.ts +115 -9
  164. package/src/clusters/dishwasher-mode.ts +188 -3
  165. package/src/clusters/door-lock.ts +247 -3
  166. package/src/clusters/energy-evse-mode.ts +182 -3
  167. package/src/clusters/fan-control.ts +5 -0
  168. package/src/clusters/groups.ts +8 -1
  169. package/src/clusters/laundry-washer-mode.ts +188 -3
  170. package/src/clusters/microwave-oven-mode.ts +182 -4
  171. package/src/clusters/mode-base.ts +77 -77
  172. package/src/clusters/oven-mode.ts +182 -3
  173. package/src/clusters/pump-configuration-and-control.ts +7 -1
  174. package/src/clusters/refrigerator-alarm.ts +76 -8
  175. package/src/clusters/refrigerator-and-temperature-controlled-cabinet-mode.ts +188 -3
  176. package/src/clusters/rvc-clean-mode.ts +227 -10
  177. package/src/clusters/rvc-operational-state.ts +112 -11
  178. package/src/clusters/rvc-run-mode.ts +253 -26
  179. package/src/clusters/thermostat.ts +80 -65
  180. package/src/globals/WildcardPathFlags.ts +1 -1
@@ -7,6 +7,7 @@
7
7
  import { MutableCluster } from "../cluster/mutation/MutableCluster.js";
8
8
  import { WritableAttribute, FixedAttribute, Attribute, OptionalWritableAttribute, Command } from "../cluster/Cluster.js";
9
9
  import { BitFlag } from "../schema/BitmapSchema.js";
10
+ import { TypeFromSchema } from "../tlv/TlvSchema.js";
10
11
  import { Identity } from "#general";
11
12
  export declare namespace DeviceEnergyManagementMode {
12
13
  /**
@@ -51,7 +52,191 @@ export declare namespace DeviceEnergyManagementMode {
51
52
  *
52
53
  * @see {@link MatterSpecification.v13.Cluster} § 9.6.5.1.4
53
54
  */
54
- GridOptimization = 16387
55
+ GridOptimization = 16387,
56
+ /**
57
+ * The device decides which options, features and setting values to use.
58
+ *
59
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.8
60
+ */
61
+ Auto = 0,
62
+ /**
63
+ * The mode of the device is optimizing for faster completion.
64
+ *
65
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.8
66
+ */
67
+ Quick = 1,
68
+ /**
69
+ * The device is silent or barely audible while in this mode.
70
+ *
71
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.8
72
+ */
73
+ Quiet = 2,
74
+ /**
75
+ * Either the mode is inherently low noise or the device optimizes for that.
76
+ *
77
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.8
78
+ */
79
+ LowNoise = 3,
80
+ /**
81
+ * The device is optimizing for lower energy usage in this mode. Sometimes called "Eco mode".
82
+ *
83
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.8
84
+ */
85
+ LowEnergy = 4,
86
+ /**
87
+ * A mode suitable for use during vacations or other extended absences.
88
+ *
89
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.8
90
+ */
91
+ Vacation = 5,
92
+ /**
93
+ * The mode uses the lowest available setting value.
94
+ *
95
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.8
96
+ */
97
+ Min = 6,
98
+ /**
99
+ * The mode uses the highest available setting value.
100
+ *
101
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.8
102
+ */
103
+ Max = 7,
104
+ /**
105
+ * The mode is recommended or suitable for use during night time.
106
+ *
107
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.8
108
+ */
109
+ Night = 8,
110
+ /**
111
+ * The mode is recommended or suitable for use during day time.
112
+ *
113
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.8
114
+ */
115
+ Day = 9
116
+ }
117
+ /**
118
+ * A Mode Tag is meant to be interpreted by the client for the purpose the cluster serves.
119
+ *
120
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.5.1
121
+ */
122
+ const TlvModeTagStruct: import("../tlv/TlvObject.js").ObjectSchema<{
123
+ /**
124
+ * If the MfgCode field exists, the Value field shall be in the manufacturer-specific value range (see Section
125
+ * 1.10.8, “Mode Namespace”).
126
+ *
127
+ * This field shall indicate the manufacturer’s VendorID and it shall determine the meaning of the Value field.
128
+ *
129
+ * The same manufacturer code and mode tag value in separate cluster instances are part of the same namespace
130
+ * and have the same meaning. For example: a manufacturer tag meaning "pinch" can be used both in a cluster
131
+ * whose purpose is to choose the amount of sugar, or in a cluster whose purpose is to choose the amount of
132
+ * salt.
133
+ *
134
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.5.1.1
135
+ */
136
+ mfgCode: import("../tlv/TlvObject.js").OptionalFieldType<import("../datatype/VendorId.js").VendorId>;
137
+ /**
138
+ * This field shall indicate the mode tag within a mode tag namespace which is either manufacturer specific or
139
+ * standard.
140
+ *
141
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.5.1.2
142
+ */
143
+ value: import("../tlv/TlvObject.js").FieldType<ModeTag>;
144
+ }>;
145
+ /**
146
+ * A Mode Tag is meant to be interpreted by the client for the purpose the cluster serves.
147
+ *
148
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.5.1
149
+ */
150
+ interface ModeTagStruct extends TypeFromSchema<typeof TlvModeTagStruct> {
151
+ }
152
+ /**
153
+ * The table below lists the changes relative to the Mode Base cluster for the fields of the ModeOptionStruct type.
154
+ * A blank field indicates no change.
155
+ *
156
+ * @see {@link MatterSpecification.v13.Cluster} § 9.6.4.1
157
+ */
158
+ const TlvModeOption: import("../tlv/TlvObject.js").ObjectSchema<{
159
+ /**
160
+ * This field shall indicate readable text that describes the mode option, so that a client can provide it to
161
+ * the user to indicate what this option means. This field is meant to be readable and understandable by the
162
+ * user.
163
+ *
164
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.5.2.1
165
+ */
166
+ label: import("../tlv/TlvObject.js").FieldType<string>;
167
+ /**
168
+ * This field is used to identify the mode option.
169
+ *
170
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.5.2.2
171
+ */
172
+ mode: import("../tlv/TlvObject.js").FieldType<number>;
173
+ /**
174
+ * This field shall contain a list of tags that are associated with the mode option. This may be used by
175
+ * clients to determine the full or the partial semantics of a certain mode, depending on which tags they
176
+ * understand, using standard definitions and/or manufacturer specific namespace definitions.
177
+ *
178
+ * The standard mode tags are defined in this cluster specification. For the derived cluster instances, if the
179
+ * specification of the derived cluster defines a namespace, the set of standard mode tags also includes the
180
+ * mode tag values from that namespace.
181
+ *
182
+ * Mode tags can help clients look for options that meet certain criteria, render the user interface, use
183
+ *
184
+ * the mode in an automation, or to craft help text their voice-driven interfaces. A mode tag shall be either a
185
+ * standard tag or a manufacturer specific tag, as defined in each ModeTagStruct list entry.
186
+ *
187
+ * A mode option may have more than one mode tag. A mode option may be associated with a mixture of standard
188
+ * and manufacturer specific mode tags. A mode option shall be associated with at least one standard mode tag.
189
+ *
190
+ * A few examples are provided below.
191
+ *
192
+ * • A mode named "100%" can have both the High (manufacturer specific) and Max (standard) mode tag. Clients
193
+ * seeking the mode for either High or Max will find the same mode in this case.
194
+ *
195
+ * • A mode that includes a LowEnergy tag can be displayed by the client using a widget icon that shows a
196
+ * green leaf.
197
+ *
198
+ * • A mode that includes a LowNoise tag may be used by the client when the user wishes for a lower level of
199
+ * audible sound, less likely to disturb the household’s activities.
200
+ *
201
+ * • A mode that includes a LowEnergy tag (standard, defined in this cluster specification) and also a
202
+ * Delicate tag (standard, defined in the namespace of a Laundry Mode derived cluster).
203
+ *
204
+ * • A mode that includes both a generic Quick tag (defined here), and Vacuum and Mop tags, (defined in the
205
+ * RVC Clean cluster that is a derivation of this cluster).
206
+ *
207
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.5.2.3
208
+ */
209
+ modeTags: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
210
+ /**
211
+ * If the MfgCode field exists, the Value field shall be in the manufacturer-specific value range (see Section
212
+ * 1.10.8, “Mode Namespace”).
213
+ *
214
+ * This field shall indicate the manufacturer’s VendorID and it shall determine the meaning of the Value field.
215
+ *
216
+ * The same manufacturer code and mode tag value in separate cluster instances are part of the same namespace
217
+ * and have the same meaning. For example: a manufacturer tag meaning "pinch" can be used both in a cluster
218
+ * whose purpose is to choose the amount of sugar, or in a cluster whose purpose is to choose the amount of
219
+ * salt.
220
+ *
221
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.5.1.1
222
+ */
223
+ mfgCode: import("../tlv/TlvObject.js").OptionalFieldType<import("../datatype/VendorId.js").VendorId>;
224
+ /**
225
+ * This field shall indicate the mode tag within a mode tag namespace which is either manufacturer specific or
226
+ * standard.
227
+ *
228
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.5.1.2
229
+ */
230
+ value: import("../tlv/TlvObject.js").FieldType<ModeTag>;
231
+ }>[]>;
232
+ }>;
233
+ /**
234
+ * The table below lists the changes relative to the Mode Base cluster for the fields of the ModeOptionStruct type.
235
+ * A blank field indicates no change.
236
+ *
237
+ * @see {@link MatterSpecification.v13.Cluster} § 9.6.4.1
238
+ */
239
+ interface ModeOption extends TypeFromSchema<typeof TlvModeOption> {
55
240
  }
56
241
  /**
57
242
  * A DeviceEnergyManagementModeCluster supports these elements if it supports feature OnOff.
@@ -99,12 +284,79 @@ export declare namespace DeviceEnergyManagementMode {
99
284
  *
100
285
  * @see {@link MatterSpecification.v13.Cluster} § 1.10.6.2
101
286
  */
102
- readonly supportedModes: FixedAttribute<import("../index.js").TypeFromFields<{
103
- label: import("../index.js").FieldType<string>;
104
- mode: import("../index.js").FieldType<number>;
105
- modeTags: import("../index.js").FieldType<import("../index.js").TypeFromFields<{
106
- mfgCode: import("../index.js").OptionalFieldType<import("../index.js").VendorId>;
107
- value: import("../index.js").FieldType<number>;
287
+ readonly supportedModes: FixedAttribute<import("../tlv/TlvObject.js").TypeFromFields<{
288
+ /**
289
+ * This field shall indicate readable text that describes the mode option, so that a client can provide it to
290
+ * the user to indicate what this option means. This field is meant to be readable and understandable by the
291
+ * user.
292
+ *
293
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.5.2.1
294
+ */
295
+ label: import("../tlv/TlvObject.js").FieldType<string>;
296
+ /**
297
+ * This field is used to identify the mode option.
298
+ *
299
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.5.2.2
300
+ */
301
+ mode: import("../tlv/TlvObject.js").FieldType<number>;
302
+ /**
303
+ * This field shall contain a list of tags that are associated with the mode option. This may be used by
304
+ * clients to determine the full or the partial semantics of a certain mode, depending on which tags they
305
+ * understand, using standard definitions and/or manufacturer specific namespace definitions.
306
+ *
307
+ * The standard mode tags are defined in this cluster specification. For the derived cluster instances, if the
308
+ * specification of the derived cluster defines a namespace, the set of standard mode tags also includes the
309
+ * mode tag values from that namespace.
310
+ *
311
+ * Mode tags can help clients look for options that meet certain criteria, render the user interface, use
312
+ *
313
+ * the mode in an automation, or to craft help text their voice-driven interfaces. A mode tag shall be either a
314
+ * standard tag or a manufacturer specific tag, as defined in each ModeTagStruct list entry.
315
+ *
316
+ * A mode option may have more than one mode tag. A mode option may be associated with a mixture of standard
317
+ * and manufacturer specific mode tags. A mode option shall be associated with at least one standard mode tag.
318
+ *
319
+ * A few examples are provided below.
320
+ *
321
+ * • A mode named "100%" can have both the High (manufacturer specific) and Max (standard) mode tag. Clients
322
+ * seeking the mode for either High or Max will find the same mode in this case.
323
+ *
324
+ * • A mode that includes a LowEnergy tag can be displayed by the client using a widget icon that shows a
325
+ * green leaf.
326
+ *
327
+ * • A mode that includes a LowNoise tag may be used by the client when the user wishes for a lower level of
328
+ * audible sound, less likely to disturb the household’s activities.
329
+ *
330
+ * • A mode that includes a LowEnergy tag (standard, defined in this cluster specification) and also a
331
+ * Delicate tag (standard, defined in the namespace of a Laundry Mode derived cluster).
332
+ *
333
+ * • A mode that includes both a generic Quick tag (defined here), and Vacuum and Mop tags, (defined in the
334
+ * RVC Clean cluster that is a derivation of this cluster).
335
+ *
336
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.5.2.3
337
+ */
338
+ modeTags: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
339
+ /**
340
+ * If the MfgCode field exists, the Value field shall be in the manufacturer-specific value range (see Section
341
+ * 1.10.8, “Mode Namespace”).
342
+ *
343
+ * This field shall indicate the manufacturer’s VendorID and it shall determine the meaning of the Value field.
344
+ *
345
+ * The same manufacturer code and mode tag value in separate cluster instances are part of the same namespace
346
+ * and have the same meaning. For example: a manufacturer tag meaning "pinch" can be used both in a cluster
347
+ * whose purpose is to choose the amount of sugar, or in a cluster whose purpose is to choose the amount of
348
+ * salt.
349
+ *
350
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.5.1.1
351
+ */
352
+ mfgCode: import("../tlv/TlvObject.js").OptionalFieldType<import("../datatype/VendorId.js").VendorId>;
353
+ /**
354
+ * This field shall indicate the mode tag within a mode tag namespace which is either manufacturer specific or
355
+ * standard.
356
+ *
357
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.5.1.2
358
+ */
359
+ value: import("../tlv/TlvObject.js").FieldType<ModeTag>;
108
360
  }>[]>;
109
361
  }>[], any>;
110
362
  /**
@@ -146,8 +398,8 @@ export declare namespace DeviceEnergyManagementMode {
146
398
  *
147
399
  * @see {@link MatterSpecification.v13.Cluster} § 1.10.7.1
148
400
  */
149
- readonly changeToMode: Command<import("../index.js").TypeFromFields<{
150
- newMode: import("../index.js").FieldType<number>;
401
+ readonly changeToMode: Command<import("../tlv/TlvObject.js").TypeFromFields<{
402
+ newMode: import("../tlv/TlvObject.js").FieldType<number>;
151
403
  }>, void, any>;
152
404
  };
153
405
  /**
@@ -203,12 +455,79 @@ export declare namespace DeviceEnergyManagementMode {
203
455
  *
204
456
  * @see {@link MatterSpecification.v13.Cluster} § 1.10.6.2
205
457
  */
206
- readonly supportedModes: FixedAttribute<import("../index.js").TypeFromFields<{
207
- label: import("../index.js").FieldType<string>;
208
- mode: import("../index.js").FieldType<number>;
209
- modeTags: import("../index.js").FieldType<import("../index.js").TypeFromFields<{
210
- mfgCode: import("../index.js").OptionalFieldType<import("../index.js").VendorId>;
211
- value: import("../index.js").FieldType<number>;
458
+ readonly supportedModes: FixedAttribute<import("../tlv/TlvObject.js").TypeFromFields<{
459
+ /**
460
+ * This field shall indicate readable text that describes the mode option, so that a client can provide it to
461
+ * the user to indicate what this option means. This field is meant to be readable and understandable by the
462
+ * user.
463
+ *
464
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.5.2.1
465
+ */
466
+ label: import("../tlv/TlvObject.js").FieldType<string>;
467
+ /**
468
+ * This field is used to identify the mode option.
469
+ *
470
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.5.2.2
471
+ */
472
+ mode: import("../tlv/TlvObject.js").FieldType<number>;
473
+ /**
474
+ * This field shall contain a list of tags that are associated with the mode option. This may be used by
475
+ * clients to determine the full or the partial semantics of a certain mode, depending on which tags they
476
+ * understand, using standard definitions and/or manufacturer specific namespace definitions.
477
+ *
478
+ * The standard mode tags are defined in this cluster specification. For the derived cluster instances, if the
479
+ * specification of the derived cluster defines a namespace, the set of standard mode tags also includes the
480
+ * mode tag values from that namespace.
481
+ *
482
+ * Mode tags can help clients look for options that meet certain criteria, render the user interface, use
483
+ *
484
+ * the mode in an automation, or to craft help text their voice-driven interfaces. A mode tag shall be either a
485
+ * standard tag or a manufacturer specific tag, as defined in each ModeTagStruct list entry.
486
+ *
487
+ * A mode option may have more than one mode tag. A mode option may be associated with a mixture of standard
488
+ * and manufacturer specific mode tags. A mode option shall be associated with at least one standard mode tag.
489
+ *
490
+ * A few examples are provided below.
491
+ *
492
+ * • A mode named "100%" can have both the High (manufacturer specific) and Max (standard) mode tag. Clients
493
+ * seeking the mode for either High or Max will find the same mode in this case.
494
+ *
495
+ * • A mode that includes a LowEnergy tag can be displayed by the client using a widget icon that shows a
496
+ * green leaf.
497
+ *
498
+ * • A mode that includes a LowNoise tag may be used by the client when the user wishes for a lower level of
499
+ * audible sound, less likely to disturb the household’s activities.
500
+ *
501
+ * • A mode that includes a LowEnergy tag (standard, defined in this cluster specification) and also a
502
+ * Delicate tag (standard, defined in the namespace of a Laundry Mode derived cluster).
503
+ *
504
+ * • A mode that includes both a generic Quick tag (defined here), and Vacuum and Mop tags, (defined in the
505
+ * RVC Clean cluster that is a derivation of this cluster).
506
+ *
507
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.5.2.3
508
+ */
509
+ modeTags: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
510
+ /**
511
+ * If the MfgCode field exists, the Value field shall be in the manufacturer-specific value range (see Section
512
+ * 1.10.8, “Mode Namespace”).
513
+ *
514
+ * This field shall indicate the manufacturer’s VendorID and it shall determine the meaning of the Value field.
515
+ *
516
+ * The same manufacturer code and mode tag value in separate cluster instances are part of the same namespace
517
+ * and have the same meaning. For example: a manufacturer tag meaning "pinch" can be used both in a cluster
518
+ * whose purpose is to choose the amount of sugar, or in a cluster whose purpose is to choose the amount of
519
+ * salt.
520
+ *
521
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.5.1.1
522
+ */
523
+ mfgCode: import("../tlv/TlvObject.js").OptionalFieldType<import("../datatype/VendorId.js").VendorId>;
524
+ /**
525
+ * This field shall indicate the mode tag within a mode tag namespace which is either manufacturer specific or
526
+ * standard.
527
+ *
528
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.5.1.2
529
+ */
530
+ value: import("../tlv/TlvObject.js").FieldType<ModeTag>;
212
531
  }>[]>;
213
532
  }>[], any>;
214
533
  /**
@@ -250,8 +569,8 @@ export declare namespace DeviceEnergyManagementMode {
250
569
  *
251
570
  * @see {@link MatterSpecification.v13.Cluster} § 1.10.7.1
252
571
  */
253
- readonly changeToMode: Command<import("../index.js").TypeFromFields<{
254
- newMode: import("../index.js").FieldType<number>;
572
+ readonly changeToMode: Command<import("../tlv/TlvObject.js").TypeFromFields<{
573
+ newMode: import("../tlv/TlvObject.js").FieldType<number>;
255
574
  }>, void, any>;
256
575
  };
257
576
  /**
@@ -319,12 +638,79 @@ export declare namespace DeviceEnergyManagementMode {
319
638
  onOff: boolean;
320
639
  }];
321
640
  };
322
- readonly supportedModes: FixedAttribute<import("../index.js").TypeFromFields<{
323
- label: import("../index.js").FieldType<string>;
324
- mode: import("../index.js").FieldType<number>;
325
- modeTags: import("../index.js").FieldType<import("../index.js").TypeFromFields<{
326
- mfgCode: import("../index.js").OptionalFieldType<import("../index.js").VendorId>;
327
- value: import("../index.js").FieldType<number>;
641
+ readonly supportedModes: FixedAttribute<import("../tlv/TlvObject.js").TypeFromFields<{
642
+ /**
643
+ * This field shall indicate readable text that describes the mode option, so that a client can provide it to
644
+ * the user to indicate what this option means. This field is meant to be readable and understandable by the
645
+ * user.
646
+ *
647
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.5.2.1
648
+ */
649
+ label: import("../tlv/TlvObject.js").FieldType<string>;
650
+ /**
651
+ * This field is used to identify the mode option.
652
+ *
653
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.5.2.2
654
+ */
655
+ mode: import("../tlv/TlvObject.js").FieldType<number>;
656
+ /**
657
+ * This field shall contain a list of tags that are associated with the mode option. This may be used by
658
+ * clients to determine the full or the partial semantics of a certain mode, depending on which tags they
659
+ * understand, using standard definitions and/or manufacturer specific namespace definitions.
660
+ *
661
+ * The standard mode tags are defined in this cluster specification. For the derived cluster instances, if the
662
+ * specification of the derived cluster defines a namespace, the set of standard mode tags also includes the
663
+ * mode tag values from that namespace.
664
+ *
665
+ * Mode tags can help clients look for options that meet certain criteria, render the user interface, use
666
+ *
667
+ * the mode in an automation, or to craft help text their voice-driven interfaces. A mode tag shall be either a
668
+ * standard tag or a manufacturer specific tag, as defined in each ModeTagStruct list entry.
669
+ *
670
+ * A mode option may have more than one mode tag. A mode option may be associated with a mixture of standard
671
+ * and manufacturer specific mode tags. A mode option shall be associated with at least one standard mode tag.
672
+ *
673
+ * A few examples are provided below.
674
+ *
675
+ * • A mode named "100%" can have both the High (manufacturer specific) and Max (standard) mode tag. Clients
676
+ * seeking the mode for either High or Max will find the same mode in this case.
677
+ *
678
+ * • A mode that includes a LowEnergy tag can be displayed by the client using a widget icon that shows a
679
+ * green leaf.
680
+ *
681
+ * • A mode that includes a LowNoise tag may be used by the client when the user wishes for a lower level of
682
+ * audible sound, less likely to disturb the household’s activities.
683
+ *
684
+ * • A mode that includes a LowEnergy tag (standard, defined in this cluster specification) and also a
685
+ * Delicate tag (standard, defined in the namespace of a Laundry Mode derived cluster).
686
+ *
687
+ * • A mode that includes both a generic Quick tag (defined here), and Vacuum and Mop tags, (defined in the
688
+ * RVC Clean cluster that is a derivation of this cluster).
689
+ *
690
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.5.2.3
691
+ */
692
+ modeTags: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
693
+ /**
694
+ * If the MfgCode field exists, the Value field shall be in the manufacturer-specific value range (see Section
695
+ * 1.10.8, “Mode Namespace”).
696
+ *
697
+ * This field shall indicate the manufacturer’s VendorID and it shall determine the meaning of the Value field.
698
+ *
699
+ * The same manufacturer code and mode tag value in separate cluster instances are part of the same namespace
700
+ * and have the same meaning. For example: a manufacturer tag meaning "pinch" can be used both in a cluster
701
+ * whose purpose is to choose the amount of sugar, or in a cluster whose purpose is to choose the amount of
702
+ * salt.
703
+ *
704
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.5.1.1
705
+ */
706
+ mfgCode: import("../tlv/TlvObject.js").OptionalFieldType<import("../datatype/VendorId.js").VendorId>;
707
+ /**
708
+ * This field shall indicate the mode tag within a mode tag namespace which is either manufacturer specific or
709
+ * standard.
710
+ *
711
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.5.1.2
712
+ */
713
+ value: import("../tlv/TlvObject.js").FieldType<ModeTag>;
328
714
  }>[]>;
329
715
  }>[], any>;
330
716
  readonly currentMode: Attribute<number, any>;
@@ -353,8 +739,8 @@ export declare namespace DeviceEnergyManagementMode {
353
739
  *
354
740
  * @see {@link MatterSpecification.v13.Cluster} § 1.10.7.1
355
741
  */
356
- readonly changeToMode: Command<import("../index.js").TypeFromFields<{
357
- newMode: import("../index.js").FieldType<number>;
742
+ readonly changeToMode: Command<import("../tlv/TlvObject.js").TypeFromFields<{
743
+ newMode: import("../tlv/TlvObject.js").FieldType<number>;
358
744
  }>, void, any>;
359
745
  };
360
746
  }, []>;
@@ -1 +1 @@
1
- {"version":3,"file":"device-energy-management-mode.d.ts","sourceRoot":"","sources":["../../../src/clusters/device-energy-management-mode.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,6CAA6C;AAE7C,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AACvE,OAAO,EACH,iBAAiB,EACjB,cAAc,EACd,SAAS,EACT,yBAAyB,EACzB,OAAO,EAEV,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAGpD,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGpC,yBAAiB,0BAA0B,CAAC;IACxC;;;;OAIG;IACH,KAAY,OAAO;QACf;;;;;;;WAOG;QACH,KAAK,UAAU;KAClB;IAED,KAAY,OAAO;QACf;;;;;;WAMG;QACH,cAAc,QAAQ;QAEtB;;;;WAIG;QACH,kBAAkB,QAAQ;QAE1B;;;;WAIG;QACH,iBAAiB,QAAQ;QAEzB;;;;WAIG;QACH,gBAAgB,QAAQ;KAC3B;IAED;;OAEG;IACI,MAAM,cAAc;;YAEnB;;;;;;;;eAQG;;;KAGT,CAAC;IAEH;;OAEG;IACI,MAAM,IAAI;;;;;YAMT;;;;;;;eAOG;;;;YAKH;;;;;;;;;eASG;;;;;;;;;YAGH;;;;;;;;;;;eAWG;;YAGH;;;;;;;;;;;;;;;eAeG;;;;YAKH;;;;;;eAMG;;;;;QAIP;;;WAGG;;;;;;;oBA7FC;;;;;;;;uBAQG;;;;;KAuFT,CAAC;IAEH;;OAEG;IACI,MAAM,eAAe;;;;;YA9EpB;;;;;;;eAOG;;;;YAKH;;;;;;;;;eASG;;;;;;;;;YAGH;;;;;;;;;;;eAWG;;YAGH;;;;;;;;;;;;;;;eAeG;;;;YAKH;;;;;;eAMG;;;;;QAIP;;;WAGG;;;;;;;oBA7FC;;;;;;;;uBAQG;;;;;UA4FwC,CAAC;IAEpD;;;;;;;;;;OAUG;IACH,UAAiB,OAAQ,SAAQ,QAAQ,CAAC,OAAO,eAAe,CAAC;KAAG;IAE7D,MAAM,OAAO,EAAE,OAAyB,CAAC;IAGhD;;OAEG;IACI,MAAM,gBAAgB;;;;;YAnGrB;;;;;;;eAOG;;;;;;;;;;;;;;;;;;;;;;;;gBAPH;;;;;;;mBAOG;;;;;;;;YAmDH;;;;;;eAMG;;;;;UA6CT,CAAC;IAEH;;;;;OAKG;IACH,UAAiB,QAAS,SAAQ,QAAQ,CAAC,OAAO,gBAAgB,CAAC;KAAG;IAE/D,MAAM,QAAQ,EAAE,QAA2B,CAAC;CACtD;AAED,MAAM,MAAM,iCAAiC,GAAG,0BAA0B,CAAC,OAAO,CAAC;AACnF,eAAO,MAAM,iCAAiC,oCAAqC,CAAC"}
1
+ {"version":3,"file":"device-energy-management-mode.d.ts","sourceRoot":"","sources":["../../../src/clusters/device-energy-management-mode.ts"],"names":[],"mappings":"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"}
@@ -12,10 +12,13 @@ import {
12
12
  Command,
13
13
  TlvNoResponse
14
14
  } from "../cluster/Cluster.js";
15
- import { TlvUInt8 } from "../tlv/TlvNumber.js";
15
+ import { TlvUInt8, TlvEnum } from "../tlv/TlvNumber.js";
16
16
  import { TlvNullable } from "../tlv/TlvNullable.js";
17
17
  import { BitFlag } from "../schema/BitmapSchema.js";
18
18
  import { TlvArray } from "../tlv/TlvArray.js";
19
+ import { TlvField, TlvOptionalField, TlvObject } from "../tlv/TlvObject.js";
20
+ import { TlvString } from "../tlv/TlvString.js";
21
+ import { TlvVendorId } from "../datatype/VendorId.js";
19
22
  import { ModeBase } from "./mode-base.js";
20
23
  import { ClusterRegistry } from "../cluster/ClusterRegistry.js";
21
24
  var DeviceEnergyManagementMode;
@@ -30,7 +33,93 @@ var DeviceEnergyManagementMode;
30
33
  ModeTag2[ModeTag2["DeviceOptimization"] = 16385] = "DeviceOptimization";
31
34
  ModeTag2[ModeTag2["LocalOptimization"] = 16386] = "LocalOptimization";
32
35
  ModeTag2[ModeTag2["GridOptimization"] = 16387] = "GridOptimization";
36
+ ModeTag2[ModeTag2["Auto"] = 0] = "Auto";
37
+ ModeTag2[ModeTag2["Quick"] = 1] = "Quick";
38
+ ModeTag2[ModeTag2["Quiet"] = 2] = "Quiet";
39
+ ModeTag2[ModeTag2["LowNoise"] = 3] = "LowNoise";
40
+ ModeTag2[ModeTag2["LowEnergy"] = 4] = "LowEnergy";
41
+ ModeTag2[ModeTag2["Vacation"] = 5] = "Vacation";
42
+ ModeTag2[ModeTag2["Min"] = 6] = "Min";
43
+ ModeTag2[ModeTag2["Max"] = 7] = "Max";
44
+ ModeTag2[ModeTag2["Night"] = 8] = "Night";
45
+ ModeTag2[ModeTag2["Day"] = 9] = "Day";
33
46
  })(ModeTag = DeviceEnergyManagementMode2.ModeTag || (DeviceEnergyManagementMode2.ModeTag = {}));
47
+ DeviceEnergyManagementMode2.TlvModeTagStruct = TlvObject({
48
+ /**
49
+ * If the MfgCode field exists, the Value field shall be in the manufacturer-specific value range (see Section
50
+ * 1.10.8, “Mode Namespace”).
51
+ *
52
+ * This field shall indicate the manufacturer’s VendorID and it shall determine the meaning of the Value field.
53
+ *
54
+ * The same manufacturer code and mode tag value in separate cluster instances are part of the same namespace
55
+ * and have the same meaning. For example: a manufacturer tag meaning "pinch" can be used both in a cluster
56
+ * whose purpose is to choose the amount of sugar, or in a cluster whose purpose is to choose the amount of
57
+ * salt.
58
+ *
59
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.5.1.1
60
+ */
61
+ mfgCode: TlvOptionalField(0, TlvVendorId),
62
+ /**
63
+ * This field shall indicate the mode tag within a mode tag namespace which is either manufacturer specific or
64
+ * standard.
65
+ *
66
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.5.1.2
67
+ */
68
+ value: TlvField(1, TlvEnum())
69
+ });
70
+ DeviceEnergyManagementMode2.TlvModeOption = TlvObject({
71
+ /**
72
+ * This field shall indicate readable text that describes the mode option, so that a client can provide it to
73
+ * the user to indicate what this option means. This field is meant to be readable and understandable by the
74
+ * user.
75
+ *
76
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.5.2.1
77
+ */
78
+ label: TlvField(0, TlvString.bound({ maxLength: 64 })),
79
+ /**
80
+ * This field is used to identify the mode option.
81
+ *
82
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.5.2.2
83
+ */
84
+ mode: TlvField(1, TlvUInt8),
85
+ /**
86
+ * This field shall contain a list of tags that are associated with the mode option. This may be used by
87
+ * clients to determine the full or the partial semantics of a certain mode, depending on which tags they
88
+ * understand, using standard definitions and/or manufacturer specific namespace definitions.
89
+ *
90
+ * The standard mode tags are defined in this cluster specification. For the derived cluster instances, if the
91
+ * specification of the derived cluster defines a namespace, the set of standard mode tags also includes the
92
+ * mode tag values from that namespace.
93
+ *
94
+ * Mode tags can help clients look for options that meet certain criteria, render the user interface, use
95
+ *
96
+ * the mode in an automation, or to craft help text their voice-driven interfaces. A mode tag shall be either a
97
+ * standard tag or a manufacturer specific tag, as defined in each ModeTagStruct list entry.
98
+ *
99
+ * A mode option may have more than one mode tag. A mode option may be associated with a mixture of standard
100
+ * and manufacturer specific mode tags. A mode option shall be associated with at least one standard mode tag.
101
+ *
102
+ * A few examples are provided below.
103
+ *
104
+ * • A mode named "100%" can have both the High (manufacturer specific) and Max (standard) mode tag. Clients
105
+ * seeking the mode for either High or Max will find the same mode in this case.
106
+ *
107
+ * • A mode that includes a LowEnergy tag can be displayed by the client using a widget icon that shows a
108
+ * green leaf.
109
+ *
110
+ * • A mode that includes a LowNoise tag may be used by the client when the user wishes for a lower level of
111
+ * audible sound, less likely to disturb the household’s activities.
112
+ *
113
+ * • A mode that includes a LowEnergy tag (standard, defined in this cluster specification) and also a
114
+ * Delicate tag (standard, defined in the namespace of a Laundry Mode derived cluster).
115
+ *
116
+ * • A mode that includes both a generic Quick tag (defined here), and Vacuum and Mop tags, (defined in the
117
+ * RVC Clean cluster that is a derivation of this cluster).
118
+ *
119
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.5.2.3
120
+ */
121
+ modeTags: TlvField(2, TlvArray(DeviceEnergyManagementMode2.TlvModeTagStruct, { maxLength: 8 }))
122
+ });
34
123
  DeviceEnergyManagementMode2.OnOffComponent = MutableCluster.Component({
35
124
  attributes: {
36
125
  /**
@@ -71,7 +160,7 @@ var DeviceEnergyManagementMode;
71
160
  *
72
161
  * @see {@link MatterSpecification.v13.Cluster} § 1.10.6.2
73
162
  */
74
- supportedModes: FixedAttribute(0, TlvArray(ModeBase.TlvModeOption, { minLength: 2, maxLength: 255 })),
163
+ supportedModes: FixedAttribute(0, TlvArray(DeviceEnergyManagementMode2.TlvModeOption, { minLength: 2, maxLength: 255 })),
75
164
  /**
76
165
  * Indicates the current mode of the server.
77
166
  *
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/clusters/device-energy-management-mode.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["DeviceEnergyManagementMode", "Feature", "ModeTag"]
6
6
  }