@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 OvenMode {
12
13
  /**
@@ -81,7 +82,189 @@ export declare namespace OvenMode {
81
82
  /**
82
83
  * @see {@link MatterSpecification.v13.Cluster} § 8.11.4.1
83
84
  */
84
- Steam = 16393
85
+ Steam = 16393,
86
+ /**
87
+ * The device decides which options, features and setting values to use.
88
+ *
89
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.8
90
+ */
91
+ Auto = 0,
92
+ /**
93
+ * The mode of the device is optimizing for faster completion.
94
+ *
95
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.8
96
+ */
97
+ Quick = 1,
98
+ /**
99
+ * The device is silent or barely audible while in this mode.
100
+ *
101
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.8
102
+ */
103
+ Quiet = 2,
104
+ /**
105
+ * Either the mode is inherently low noise or the device optimizes for that.
106
+ *
107
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.8
108
+ */
109
+ LowNoise = 3,
110
+ /**
111
+ * The device is optimizing for lower energy usage in this mode. Sometimes called "Eco mode".
112
+ *
113
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.8
114
+ */
115
+ LowEnergy = 4,
116
+ /**
117
+ * A mode suitable for use during vacations or other extended absences.
118
+ *
119
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.8
120
+ */
121
+ Vacation = 5,
122
+ /**
123
+ * The mode uses the lowest available setting value.
124
+ *
125
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.8
126
+ */
127
+ Min = 6,
128
+ /**
129
+ * The mode uses the highest available setting value.
130
+ *
131
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.8
132
+ */
133
+ Max = 7,
134
+ /**
135
+ * The mode is recommended or suitable for use during night time.
136
+ *
137
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.8
138
+ */
139
+ Night = 8,
140
+ /**
141
+ * The mode is recommended or suitable for use during day time.
142
+ *
143
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.8
144
+ */
145
+ Day = 9
146
+ }
147
+ /**
148
+ * A Mode Tag is meant to be interpreted by the client for the purpose the cluster serves.
149
+ *
150
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.5.1
151
+ */
152
+ const TlvModeTagStruct: import("../tlv/TlvObject.js").ObjectSchema<{
153
+ /**
154
+ * If the MfgCode field exists, the Value field shall be in the manufacturer-specific value range (see Section
155
+ * 1.10.8, “Mode Namespace”).
156
+ *
157
+ * This field shall indicate the manufacturer’s VendorID and it shall determine the meaning of the Value field.
158
+ *
159
+ * The same manufacturer code and mode tag value in separate cluster instances are part of the same namespace
160
+ * and have the same meaning. For example: a manufacturer tag meaning "pinch" can be used both in a cluster
161
+ * whose purpose is to choose the amount of sugar, or in a cluster whose purpose is to choose the amount of
162
+ * salt.
163
+ *
164
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.5.1.1
165
+ */
166
+ mfgCode: import("../tlv/TlvObject.js").OptionalFieldType<import("../datatype/VendorId.js").VendorId>;
167
+ /**
168
+ * This field shall indicate the mode tag within a mode tag namespace which is either manufacturer specific or
169
+ * standard.
170
+ *
171
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.5.1.2
172
+ */
173
+ value: import("../tlv/TlvObject.js").FieldType<ModeTag>;
174
+ }>;
175
+ /**
176
+ * A Mode Tag is meant to be interpreted by the client for the purpose the cluster serves.
177
+ *
178
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.5.1
179
+ */
180
+ interface ModeTagStruct extends TypeFromSchema<typeof TlvModeTagStruct> {
181
+ }
182
+ /**
183
+ * This is a struct representing a possible mode of the server.
184
+ *
185
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.5.2
186
+ */
187
+ const TlvModeOption: import("../tlv/TlvObject.js").ObjectSchema<{
188
+ /**
189
+ * This field shall indicate readable text that describes the mode option, so that a client can provide it to
190
+ * the user to indicate what this option means. This field is meant to be readable and understandable by the
191
+ * user.
192
+ *
193
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.5.2.1
194
+ */
195
+ label: import("../tlv/TlvObject.js").FieldType<string>;
196
+ /**
197
+ * This field is used to identify the mode option.
198
+ *
199
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.5.2.2
200
+ */
201
+ mode: import("../tlv/TlvObject.js").FieldType<number>;
202
+ /**
203
+ * This field shall contain a list of tags that are associated with the mode option. This may be used by
204
+ * clients to determine the full or the partial semantics of a certain mode, depending on which tags they
205
+ * understand, using standard definitions and/or manufacturer specific namespace definitions.
206
+ *
207
+ * The standard mode tags are defined in this cluster specification. For the derived cluster instances, if the
208
+ * specification of the derived cluster defines a namespace, the set of standard mode tags also includes the
209
+ * mode tag values from that namespace.
210
+ *
211
+ * Mode tags can help clients look for options that meet certain criteria, render the user interface, use
212
+ *
213
+ * the mode in an automation, or to craft help text their voice-driven interfaces. A mode tag shall be either a
214
+ * standard tag or a manufacturer specific tag, as defined in each ModeTagStruct list entry.
215
+ *
216
+ * A mode option may have more than one mode tag. A mode option may be associated with a mixture of standard
217
+ * and manufacturer specific mode tags. A mode option shall be associated with at least one standard mode tag.
218
+ *
219
+ * A few examples are provided below.
220
+ *
221
+ * • A mode named "100%" can have both the High (manufacturer specific) and Max (standard) mode tag. Clients
222
+ * seeking the mode for either High or Max will find the same mode in this case.
223
+ *
224
+ * • A mode that includes a LowEnergy tag can be displayed by the client using a widget icon that shows a
225
+ * green leaf.
226
+ *
227
+ * • A mode that includes a LowNoise tag may be used by the client when the user wishes for a lower level of
228
+ * audible sound, less likely to disturb the household’s activities.
229
+ *
230
+ * • A mode that includes a LowEnergy tag (standard, defined in this cluster specification) and also a
231
+ * Delicate tag (standard, defined in the namespace of a Laundry Mode derived cluster).
232
+ *
233
+ * • A mode that includes both a generic Quick tag (defined here), and Vacuum and Mop tags, (defined in the
234
+ * RVC Clean cluster that is a derivation of this cluster).
235
+ *
236
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.5.2.3
237
+ */
238
+ modeTags: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
239
+ /**
240
+ * If the MfgCode field exists, the Value field shall be in the manufacturer-specific value range (see Section
241
+ * 1.10.8, “Mode Namespace”).
242
+ *
243
+ * This field shall indicate the manufacturer’s VendorID and it shall determine the meaning of the Value field.
244
+ *
245
+ * The same manufacturer code and mode tag value in separate cluster instances are part of the same namespace
246
+ * and have the same meaning. For example: a manufacturer tag meaning "pinch" can be used both in a cluster
247
+ * whose purpose is to choose the amount of sugar, or in a cluster whose purpose is to choose the amount of
248
+ * salt.
249
+ *
250
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.5.1.1
251
+ */
252
+ mfgCode: import("../tlv/TlvObject.js").OptionalFieldType<import("../datatype/VendorId.js").VendorId>;
253
+ /**
254
+ * This field shall indicate the mode tag within a mode tag namespace which is either manufacturer specific or
255
+ * standard.
256
+ *
257
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.5.1.2
258
+ */
259
+ value: import("../tlv/TlvObject.js").FieldType<ModeTag>;
260
+ }>[]>;
261
+ }>;
262
+ /**
263
+ * This is a struct representing a possible mode of the server.
264
+ *
265
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.5.2
266
+ */
267
+ interface ModeOption extends TypeFromSchema<typeof TlvModeOption> {
85
268
  }
86
269
  /**
87
270
  * A OvenModeCluster supports these elements if it supports feature OnOff.
@@ -129,12 +312,79 @@ export declare namespace OvenMode {
129
312
  *
130
313
  * @see {@link MatterSpecification.v13.Cluster} § 1.10.6.2
131
314
  */
132
- readonly supportedModes: FixedAttribute<import("../index.js").TypeFromFields<{
133
- label: import("../index.js").FieldType<string>;
134
- mode: import("../index.js").FieldType<number>;
135
- modeTags: import("../index.js").FieldType<import("../index.js").TypeFromFields<{
136
- mfgCode: import("../index.js").OptionalFieldType<import("../index.js").VendorId>;
137
- value: import("../index.js").FieldType<number>;
315
+ readonly supportedModes: FixedAttribute<import("../tlv/TlvObject.js").TypeFromFields<{
316
+ /**
317
+ * This field shall indicate readable text that describes the mode option, so that a client can provide it to
318
+ * the user to indicate what this option means. This field is meant to be readable and understandable by the
319
+ * user.
320
+ *
321
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.5.2.1
322
+ */
323
+ label: import("../tlv/TlvObject.js").FieldType<string>;
324
+ /**
325
+ * This field is used to identify the mode option.
326
+ *
327
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.5.2.2
328
+ */
329
+ mode: import("../tlv/TlvObject.js").FieldType<number>;
330
+ /**
331
+ * This field shall contain a list of tags that are associated with the mode option. This may be used by
332
+ * clients to determine the full or the partial semantics of a certain mode, depending on which tags they
333
+ * understand, using standard definitions and/or manufacturer specific namespace definitions.
334
+ *
335
+ * The standard mode tags are defined in this cluster specification. For the derived cluster instances, if the
336
+ * specification of the derived cluster defines a namespace, the set of standard mode tags also includes the
337
+ * mode tag values from that namespace.
338
+ *
339
+ * Mode tags can help clients look for options that meet certain criteria, render the user interface, use
340
+ *
341
+ * the mode in an automation, or to craft help text their voice-driven interfaces. A mode tag shall be either a
342
+ * standard tag or a manufacturer specific tag, as defined in each ModeTagStruct list entry.
343
+ *
344
+ * A mode option may have more than one mode tag. A mode option may be associated with a mixture of standard
345
+ * and manufacturer specific mode tags. A mode option shall be associated with at least one standard mode tag.
346
+ *
347
+ * A few examples are provided below.
348
+ *
349
+ * • A mode named "100%" can have both the High (manufacturer specific) and Max (standard) mode tag. Clients
350
+ * seeking the mode for either High or Max will find the same mode in this case.
351
+ *
352
+ * • A mode that includes a LowEnergy tag can be displayed by the client using a widget icon that shows a
353
+ * green leaf.
354
+ *
355
+ * • A mode that includes a LowNoise tag may be used by the client when the user wishes for a lower level of
356
+ * audible sound, less likely to disturb the household’s activities.
357
+ *
358
+ * • A mode that includes a LowEnergy tag (standard, defined in this cluster specification) and also a
359
+ * Delicate tag (standard, defined in the namespace of a Laundry Mode derived cluster).
360
+ *
361
+ * • A mode that includes both a generic Quick tag (defined here), and Vacuum and Mop tags, (defined in the
362
+ * RVC Clean cluster that is a derivation of this cluster).
363
+ *
364
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.5.2.3
365
+ */
366
+ modeTags: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
367
+ /**
368
+ * If the MfgCode field exists, the Value field shall be in the manufacturer-specific value range (see Section
369
+ * 1.10.8, “Mode Namespace”).
370
+ *
371
+ * This field shall indicate the manufacturer’s VendorID and it shall determine the meaning of the Value field.
372
+ *
373
+ * The same manufacturer code and mode tag value in separate cluster instances are part of the same namespace
374
+ * and have the same meaning. For example: a manufacturer tag meaning "pinch" can be used both in a cluster
375
+ * whose purpose is to choose the amount of sugar, or in a cluster whose purpose is to choose the amount of
376
+ * salt.
377
+ *
378
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.5.1.1
379
+ */
380
+ mfgCode: import("../tlv/TlvObject.js").OptionalFieldType<import("../datatype/VendorId.js").VendorId>;
381
+ /**
382
+ * This field shall indicate the mode tag within a mode tag namespace which is either manufacturer specific or
383
+ * standard.
384
+ *
385
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.5.1.2
386
+ */
387
+ value: import("../tlv/TlvObject.js").FieldType<ModeTag>;
138
388
  }>[]>;
139
389
  }>[], any>;
140
390
  /**
@@ -176,8 +426,8 @@ export declare namespace OvenMode {
176
426
  *
177
427
  * @see {@link MatterSpecification.v13.Cluster} § 1.10.7.1
178
428
  */
179
- readonly changeToMode: Command<import("../index.js").TypeFromFields<{
180
- newMode: import("../index.js").FieldType<number>;
429
+ readonly changeToMode: Command<import("../tlv/TlvObject.js").TypeFromFields<{
430
+ newMode: import("../tlv/TlvObject.js").FieldType<number>;
181
431
  }>, void, any>;
182
432
  };
183
433
  /**
@@ -232,12 +482,79 @@ export declare namespace OvenMode {
232
482
  *
233
483
  * @see {@link MatterSpecification.v13.Cluster} § 1.10.6.2
234
484
  */
235
- readonly supportedModes: FixedAttribute<import("../index.js").TypeFromFields<{
236
- label: import("../index.js").FieldType<string>;
237
- mode: import("../index.js").FieldType<number>;
238
- modeTags: import("../index.js").FieldType<import("../index.js").TypeFromFields<{
239
- mfgCode: import("../index.js").OptionalFieldType<import("../index.js").VendorId>;
240
- value: import("../index.js").FieldType<number>;
485
+ readonly supportedModes: FixedAttribute<import("../tlv/TlvObject.js").TypeFromFields<{
486
+ /**
487
+ * This field shall indicate readable text that describes the mode option, so that a client can provide it to
488
+ * the user to indicate what this option means. This field is meant to be readable and understandable by the
489
+ * user.
490
+ *
491
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.5.2.1
492
+ */
493
+ label: import("../tlv/TlvObject.js").FieldType<string>;
494
+ /**
495
+ * This field is used to identify the mode option.
496
+ *
497
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.5.2.2
498
+ */
499
+ mode: import("../tlv/TlvObject.js").FieldType<number>;
500
+ /**
501
+ * This field shall contain a list of tags that are associated with the mode option. This may be used by
502
+ * clients to determine the full or the partial semantics of a certain mode, depending on which tags they
503
+ * understand, using standard definitions and/or manufacturer specific namespace definitions.
504
+ *
505
+ * The standard mode tags are defined in this cluster specification. For the derived cluster instances, if the
506
+ * specification of the derived cluster defines a namespace, the set of standard mode tags also includes the
507
+ * mode tag values from that namespace.
508
+ *
509
+ * Mode tags can help clients look for options that meet certain criteria, render the user interface, use
510
+ *
511
+ * the mode in an automation, or to craft help text their voice-driven interfaces. A mode tag shall be either a
512
+ * standard tag or a manufacturer specific tag, as defined in each ModeTagStruct list entry.
513
+ *
514
+ * A mode option may have more than one mode tag. A mode option may be associated with a mixture of standard
515
+ * and manufacturer specific mode tags. A mode option shall be associated with at least one standard mode tag.
516
+ *
517
+ * A few examples are provided below.
518
+ *
519
+ * • A mode named "100%" can have both the High (manufacturer specific) and Max (standard) mode tag. Clients
520
+ * seeking the mode for either High or Max will find the same mode in this case.
521
+ *
522
+ * • A mode that includes a LowEnergy tag can be displayed by the client using a widget icon that shows a
523
+ * green leaf.
524
+ *
525
+ * • A mode that includes a LowNoise tag may be used by the client when the user wishes for a lower level of
526
+ * audible sound, less likely to disturb the household’s activities.
527
+ *
528
+ * • A mode that includes a LowEnergy tag (standard, defined in this cluster specification) and also a
529
+ * Delicate tag (standard, defined in the namespace of a Laundry Mode derived cluster).
530
+ *
531
+ * • A mode that includes both a generic Quick tag (defined here), and Vacuum and Mop tags, (defined in the
532
+ * RVC Clean cluster that is a derivation of this cluster).
533
+ *
534
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.5.2.3
535
+ */
536
+ modeTags: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
537
+ /**
538
+ * If the MfgCode field exists, the Value field shall be in the manufacturer-specific value range (see Section
539
+ * 1.10.8, “Mode Namespace”).
540
+ *
541
+ * This field shall indicate the manufacturer’s VendorID and it shall determine the meaning of the Value field.
542
+ *
543
+ * The same manufacturer code and mode tag value in separate cluster instances are part of the same namespace
544
+ * and have the same meaning. For example: a manufacturer tag meaning "pinch" can be used both in a cluster
545
+ * whose purpose is to choose the amount of sugar, or in a cluster whose purpose is to choose the amount of
546
+ * salt.
547
+ *
548
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.5.1.1
549
+ */
550
+ mfgCode: import("../tlv/TlvObject.js").OptionalFieldType<import("../datatype/VendorId.js").VendorId>;
551
+ /**
552
+ * This field shall indicate the mode tag within a mode tag namespace which is either manufacturer specific or
553
+ * standard.
554
+ *
555
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.5.1.2
556
+ */
557
+ value: import("../tlv/TlvObject.js").FieldType<ModeTag>;
241
558
  }>[]>;
242
559
  }>[], any>;
243
560
  /**
@@ -279,8 +596,8 @@ export declare namespace OvenMode {
279
596
  *
280
597
  * @see {@link MatterSpecification.v13.Cluster} § 1.10.7.1
281
598
  */
282
- readonly changeToMode: Command<import("../index.js").TypeFromFields<{
283
- newMode: import("../index.js").FieldType<number>;
599
+ readonly changeToMode: Command<import("../tlv/TlvObject.js").TypeFromFields<{
600
+ newMode: import("../tlv/TlvObject.js").FieldType<number>;
284
601
  }>, void, any>;
285
602
  };
286
603
  /**
@@ -344,12 +661,79 @@ export declare namespace OvenMode {
344
661
  onOff: boolean;
345
662
  }];
346
663
  };
347
- readonly supportedModes: FixedAttribute<import("../index.js").TypeFromFields<{
348
- label: import("../index.js").FieldType<string>;
349
- mode: import("../index.js").FieldType<number>;
350
- modeTags: import("../index.js").FieldType<import("../index.js").TypeFromFields<{
351
- mfgCode: import("../index.js").OptionalFieldType<import("../index.js").VendorId>;
352
- value: import("../index.js").FieldType<number>;
664
+ readonly supportedModes: FixedAttribute<import("../tlv/TlvObject.js").TypeFromFields<{
665
+ /**
666
+ * This field shall indicate readable text that describes the mode option, so that a client can provide it to
667
+ * the user to indicate what this option means. This field is meant to be readable and understandable by the
668
+ * user.
669
+ *
670
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.5.2.1
671
+ */
672
+ label: import("../tlv/TlvObject.js").FieldType<string>;
673
+ /**
674
+ * This field is used to identify the mode option.
675
+ *
676
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.5.2.2
677
+ */
678
+ mode: import("../tlv/TlvObject.js").FieldType<number>;
679
+ /**
680
+ * This field shall contain a list of tags that are associated with the mode option. This may be used by
681
+ * clients to determine the full or the partial semantics of a certain mode, depending on which tags they
682
+ * understand, using standard definitions and/or manufacturer specific namespace definitions.
683
+ *
684
+ * The standard mode tags are defined in this cluster specification. For the derived cluster instances, if the
685
+ * specification of the derived cluster defines a namespace, the set of standard mode tags also includes the
686
+ * mode tag values from that namespace.
687
+ *
688
+ * Mode tags can help clients look for options that meet certain criteria, render the user interface, use
689
+ *
690
+ * the mode in an automation, or to craft help text their voice-driven interfaces. A mode tag shall be either a
691
+ * standard tag or a manufacturer specific tag, as defined in each ModeTagStruct list entry.
692
+ *
693
+ * A mode option may have more than one mode tag. A mode option may be associated with a mixture of standard
694
+ * and manufacturer specific mode tags. A mode option shall be associated with at least one standard mode tag.
695
+ *
696
+ * A few examples are provided below.
697
+ *
698
+ * • A mode named "100%" can have both the High (manufacturer specific) and Max (standard) mode tag. Clients
699
+ * seeking the mode for either High or Max will find the same mode in this case.
700
+ *
701
+ * • A mode that includes a LowEnergy tag can be displayed by the client using a widget icon that shows a
702
+ * green leaf.
703
+ *
704
+ * • A mode that includes a LowNoise tag may be used by the client when the user wishes for a lower level of
705
+ * audible sound, less likely to disturb the household’s activities.
706
+ *
707
+ * • A mode that includes a LowEnergy tag (standard, defined in this cluster specification) and also a
708
+ * Delicate tag (standard, defined in the namespace of a Laundry Mode derived cluster).
709
+ *
710
+ * • A mode that includes both a generic Quick tag (defined here), and Vacuum and Mop tags, (defined in the
711
+ * RVC Clean cluster that is a derivation of this cluster).
712
+ *
713
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.5.2.3
714
+ */
715
+ modeTags: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
716
+ /**
717
+ * If the MfgCode field exists, the Value field shall be in the manufacturer-specific value range (see Section
718
+ * 1.10.8, “Mode Namespace”).
719
+ *
720
+ * This field shall indicate the manufacturer’s VendorID and it shall determine the meaning of the Value field.
721
+ *
722
+ * The same manufacturer code and mode tag value in separate cluster instances are part of the same namespace
723
+ * and have the same meaning. For example: a manufacturer tag meaning "pinch" can be used both in a cluster
724
+ * whose purpose is to choose the amount of sugar, or in a cluster whose purpose is to choose the amount of
725
+ * salt.
726
+ *
727
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.5.1.1
728
+ */
729
+ mfgCode: import("../tlv/TlvObject.js").OptionalFieldType<import("../datatype/VendorId.js").VendorId>;
730
+ /**
731
+ * This field shall indicate the mode tag within a mode tag namespace which is either manufacturer specific or
732
+ * standard.
733
+ *
734
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.5.1.2
735
+ */
736
+ value: import("../tlv/TlvObject.js").FieldType<ModeTag>;
353
737
  }>[]>;
354
738
  }>[], any>;
355
739
  readonly currentMode: Attribute<number, any>;
@@ -378,8 +762,8 @@ export declare namespace OvenMode {
378
762
  *
379
763
  * @see {@link MatterSpecification.v13.Cluster} § 1.10.7.1
380
764
  */
381
- readonly changeToMode: Command<import("../index.js").TypeFromFields<{
382
- newMode: import("../index.js").FieldType<number>;
765
+ readonly changeToMode: Command<import("../tlv/TlvObject.js").TypeFromFields<{
766
+ newMode: import("../tlv/TlvObject.js").FieldType<number>;
383
767
  }>, void, any>;
384
768
  };
385
769
  }, []>;
@@ -1 +1 @@
1
- {"version":3,"file":"oven-mode.d.ts","sourceRoot":"","sources":["../../../src/clusters/oven-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,QAAQ,CAAC;IACtB;;;;OAIG;IACH,KAAY,OAAO;QACf;;;;;;;WAOG;QACH,KAAK,UAAU;KAClB;IAED,KAAY,OAAO;QACf;;;;WAIG;QACH,IAAI,QAAQ;QAEZ;;;;;WAKG;QACH,UAAU,QAAQ;QAElB;;;;;WAKG;QACH,KAAK,QAAQ;QAEb;;;;WAIG;QACH,KAAK,QAAQ;QAEb;;;;WAIG;QACH,KAAK,QAAQ;QAEb;;WAEG;QACH,cAAc,QAAQ;QAEtB;;WAEG;QACH,eAAe,QAAQ;QAEvB;;;;WAIG;QACH,OAAO,QAAQ;QAEf;;;;WAIG;QACH,QAAQ,QAAQ;QAEhB;;WAEG;QACH,KAAK,QAAQ;KAChB;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;;WAEG;;;;;;;oBA5FC;;;;;;;;uBAQG;;;;;KAsFT,CAAC;IAEH;;OAEG;IACI,MAAM,eAAe;;;;;YA7EpB;;;;;;;eAOG;;;;YAKH;;;;;;;;;eASG;;;;;;;;;YAGH;;;;;;;;;;;eAWG;;YAGH;;;;;;;;;;;;;;;eAeG;;;;YAKH;;;;;;eAMG;;;;;QAIP;;WAEG;;;;;;;oBA5FC;;;;;;;;uBAQG;;;;;UA2FwC,CAAC;IAEpD;;;;;;;OAOG;IACH,UAAiB,OAAQ,SAAQ,QAAQ,CAAC,OAAO,eAAe,CAAC;KAAG;IAE7D,MAAM,OAAO,EAAE,OAAyB,CAAC;IAGhD;;OAEG;IACI,MAAM,gBAAgB;;;;;YA/FrB;;;;;;;eAOG;;;;;;;;;;;;;;;;;;;;;;;;gBAPH;;;;;;;mBAOG;;;;;;;;YAmDH;;;;;;eAMG;;;;;UAyCT,CAAC;IAEH;;;;;OAKG;IACH,UAAiB,QAAS,SAAQ,QAAQ,CAAC,OAAO,gBAAgB,CAAC;KAAG;IAE/D,MAAM,QAAQ,EAAE,QAA2B,CAAC;CACtD;AAED,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC;AAC/C,eAAO,MAAM,eAAe,kBAAmB,CAAC"}
1
+ {"version":3,"file":"oven-mode.d.ts","sourceRoot":"","sources":["../../../src/clusters/oven-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;AAKpD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGpC,yBAAiB,QAAQ,CAAC;IACtB;;;;OAIG;IACH,KAAY,OAAO;QACf;;;;;;;WAOG;QACH,KAAK,UAAU;KAClB;IAED,KAAY,OAAO;QACf;;;;WAIG;QACH,IAAI,QAAQ;QAEZ;;;;;WAKG;QACH,UAAU,QAAQ;QAElB;;;;;WAKG;QACH,KAAK,QAAQ;QAEb;;;;WAIG;QACH,KAAK,QAAQ;QAEb;;;;WAIG;QACH,KAAK,QAAQ;QAEb;;WAEG;QACH,cAAc,QAAQ;QAEtB;;WAEG;QACH,eAAe,QAAQ;QAEvB;;;;WAIG;QACH,OAAO,QAAQ;QAEf;;;;WAIG;QACH,QAAQ,QAAQ;QAEhB;;WAEG;QACH,KAAK,QAAQ;QAEb;;;;WAIG;QACH,IAAI,IAAI;QAER;;;;WAIG;QACH,KAAK,IAAI;QAET;;;;WAIG;QACH,KAAK,IAAI;QAET;;;;WAIG;QACH,QAAQ,IAAI;QAEZ;;;;WAIG;QACH,SAAS,IAAI;QAEb;;;;WAIG;QACH,QAAQ,IAAI;QAEZ;;;;WAIG;QACH,GAAG,IAAI;QAEP;;;;WAIG;QACH,GAAG,IAAI;QAEP;;;;WAIG;QACH,KAAK,IAAI;QAET;;;;WAIG;QACH,GAAG,IAAI;KACV;IAED;;;;OAIG;IACI,MAAM,gBAAgB;QACzB;;;;;;;;;;;;WAYG;;QAGH;;;;;WAKG;;MAEL,CAAC;IAEH;;;;OAIG;IACH,UAAiB,aAAc,SAAQ,cAAc,CAAC,OAAO,gBAAgB,CAAC;KAAG;IAEjF;;;;OAIG;IACI,MAAM,aAAa;QACtB;;;;;;WAMG;;QAGH;;;;WAIG;;QAGH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAmCG;;YAxFH;;;;;;;;;;;;eAYG;;YAGH;;;;;eAKG;;;MAsEL,CAAC;IAEH;;;;OAIG;IACH,UAAiB,UAAW,SAAQ,cAAc,CAAC,OAAO,aAAa,CAAC;KAAG;IAE3E;;OAEG;IACI,MAAM,cAAc;;YAEnB;;;;;;;;eAQG;;;KAGT,CAAC;IAEH;;OAEG;IACI,MAAM,IAAI;;;;;YAMT;;;;;;;eAOG;;;;YAKH;;;;;;;;;eASG;;gBA9GP;;;;;;mBAMG;;gBAGH;;;;mBAIG;;gBAGH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAmCG;;oBAxFH;;;;;;;;;;;;uBAYG;;oBAGH;;;;;uBAKG;;;;YAkIC;;;;;;;;;;;eAWG;;YAGH;;;;;;;;;;;;;;;eAeG;;;;YAKH;;;;;;eAMG;;;;;QAIP;;WAEG;;;;;;;oBA5FC;;;;;;;;uBAQG;;;;;KAsFT,CAAC;IAEH;;OAEG;IACI,MAAM,eAAe;;;;;YA7EpB;;;;;;;eAOG;;;;YAKH;;;;;;;;;eASG;;gBA9GP;;;;;;mBAMG;;gBAGH;;;;mBAIG;;gBAGH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAmCG;;oBAxFH;;;;;;;;;;;;uBAYG;;oBAGH;;;;;uBAKG;;;;YAkIC;;;;;;;;;;;eAWG;;YAGH;;;;;;;;;;;;;;;eAeG;;;;YAKH;;;;;;eAMG;;;;;QAIP;;WAEG;;;;;;;oBA5FC;;;;;;;;uBAQG;;;;;UA2FwC,CAAC;IAEpD;;;;;;;OAOG;IACH,UAAiB,OAAQ,SAAQ,QAAQ,CAAC,OAAO,eAAe,CAAC;KAAG;IAE7D,MAAM,OAAO,EAAE,OAAyB,CAAC;IAGhD;;OAEG;IACI,MAAM,gBAAgB;;;;;YA/FrB;;;;;;;eAOG;;;;;;;;;;;;;gBAhGP;;;;;;mBAMG;;gBAGH;;;;mBAIG;;gBAGH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAmCG;;oBAxFH;;;;;;;;;;;;uBAYG;;oBAGH;;;;;uBAKG;;;;;;;;gBA0GC;;;;;;;mBAOG;;;;;;;;YAmDH;;;;;;eAMG;;;;;UAyCT,CAAC;IAEH;;;;;OAKG;IACH,UAAiB,QAAS,SAAQ,QAAQ,CAAC,OAAO,gBAAgB,CAAC;KAAG;IAE/D,MAAM,QAAQ,EAAE,QAA2B,CAAC;CACtD;AAED,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC;AAC/C,eAAO,MAAM,eAAe,kBAAmB,CAAC"}
@@ -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 OvenMode;
@@ -36,7 +39,93 @@ var OvenMode;
36
39
  ModeTag2[ModeTag2["Warming"] = 16391] = "Warming";
37
40
  ModeTag2[ModeTag2["Proofing"] = 16392] = "Proofing";
38
41
  ModeTag2[ModeTag2["Steam"] = 16393] = "Steam";
42
+ ModeTag2[ModeTag2["Auto"] = 0] = "Auto";
43
+ ModeTag2[ModeTag2["Quick"] = 1] = "Quick";
44
+ ModeTag2[ModeTag2["Quiet"] = 2] = "Quiet";
45
+ ModeTag2[ModeTag2["LowNoise"] = 3] = "LowNoise";
46
+ ModeTag2[ModeTag2["LowEnergy"] = 4] = "LowEnergy";
47
+ ModeTag2[ModeTag2["Vacation"] = 5] = "Vacation";
48
+ ModeTag2[ModeTag2["Min"] = 6] = "Min";
49
+ ModeTag2[ModeTag2["Max"] = 7] = "Max";
50
+ ModeTag2[ModeTag2["Night"] = 8] = "Night";
51
+ ModeTag2[ModeTag2["Day"] = 9] = "Day";
39
52
  })(ModeTag = OvenMode2.ModeTag || (OvenMode2.ModeTag = {}));
53
+ OvenMode2.TlvModeTagStruct = TlvObject({
54
+ /**
55
+ * If the MfgCode field exists, the Value field shall be in the manufacturer-specific value range (see Section
56
+ * 1.10.8, “Mode Namespace”).
57
+ *
58
+ * This field shall indicate the manufacturer’s VendorID and it shall determine the meaning of the Value field.
59
+ *
60
+ * The same manufacturer code and mode tag value in separate cluster instances are part of the same namespace
61
+ * and have the same meaning. For example: a manufacturer tag meaning "pinch" can be used both in a cluster
62
+ * whose purpose is to choose the amount of sugar, or in a cluster whose purpose is to choose the amount of
63
+ * salt.
64
+ *
65
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.5.1.1
66
+ */
67
+ mfgCode: TlvOptionalField(0, TlvVendorId),
68
+ /**
69
+ * This field shall indicate the mode tag within a mode tag namespace which is either manufacturer specific or
70
+ * standard.
71
+ *
72
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.5.1.2
73
+ */
74
+ value: TlvField(1, TlvEnum())
75
+ });
76
+ OvenMode2.TlvModeOption = TlvObject({
77
+ /**
78
+ * This field shall indicate readable text that describes the mode option, so that a client can provide it to
79
+ * the user to indicate what this option means. This field is meant to be readable and understandable by the
80
+ * user.
81
+ *
82
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.5.2.1
83
+ */
84
+ label: TlvField(0, TlvString.bound({ maxLength: 64 })),
85
+ /**
86
+ * This field is used to identify the mode option.
87
+ *
88
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.5.2.2
89
+ */
90
+ mode: TlvField(1, TlvUInt8),
91
+ /**
92
+ * This field shall contain a list of tags that are associated with the mode option. This may be used by
93
+ * clients to determine the full or the partial semantics of a certain mode, depending on which tags they
94
+ * understand, using standard definitions and/or manufacturer specific namespace definitions.
95
+ *
96
+ * The standard mode tags are defined in this cluster specification. For the derived cluster instances, if the
97
+ * specification of the derived cluster defines a namespace, the set of standard mode tags also includes the
98
+ * mode tag values from that namespace.
99
+ *
100
+ * Mode tags can help clients look for options that meet certain criteria, render the user interface, use
101
+ *
102
+ * the mode in an automation, or to craft help text their voice-driven interfaces. A mode tag shall be either a
103
+ * standard tag or a manufacturer specific tag, as defined in each ModeTagStruct list entry.
104
+ *
105
+ * A mode option may have more than one mode tag. A mode option may be associated with a mixture of standard
106
+ * and manufacturer specific mode tags. A mode option shall be associated with at least one standard mode tag.
107
+ *
108
+ * A few examples are provided below.
109
+ *
110
+ * • A mode named "100%" can have both the High (manufacturer specific) and Max (standard) mode tag. Clients
111
+ * seeking the mode for either High or Max will find the same mode in this case.
112
+ *
113
+ * • A mode that includes a LowEnergy tag can be displayed by the client using a widget icon that shows a
114
+ * green leaf.
115
+ *
116
+ * • A mode that includes a LowNoise tag may be used by the client when the user wishes for a lower level of
117
+ * audible sound, less likely to disturb the household’s activities.
118
+ *
119
+ * • A mode that includes a LowEnergy tag (standard, defined in this cluster specification) and also a
120
+ * Delicate tag (standard, defined in the namespace of a Laundry Mode derived cluster).
121
+ *
122
+ * • A mode that includes both a generic Quick tag (defined here), and Vacuum and Mop tags, (defined in the
123
+ * RVC Clean cluster that is a derivation of this cluster).
124
+ *
125
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.5.2.3
126
+ */
127
+ modeTags: TlvField(2, TlvArray(OvenMode2.TlvModeTagStruct, { maxLength: 8 }))
128
+ });
40
129
  OvenMode2.OnOffComponent = MutableCluster.Component({
41
130
  attributes: {
42
131
  /**
@@ -77,7 +166,7 @@ var OvenMode;
77
166
  *
78
167
  * @see {@link MatterSpecification.v13.Cluster} § 1.10.6.2
79
168
  */
80
- supportedModes: FixedAttribute(0, TlvArray(ModeBase.TlvModeOption, { minLength: 2, maxLength: 255 })),
169
+ supportedModes: FixedAttribute(0, TlvArray(OvenMode2.TlvModeOption, { minLength: 2, maxLength: 255 })),
81
170
  /**
82
171
  * Indicates the current mode of the server.
83
172
  *
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/clusters/oven-mode.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["OvenMode", "Feature", "ModeTag"]
6
6
  }