@matter/types 0.11.9-alpha.0-20241203-06077d82e → 0.11.9-alpha.0-20241206-22f233334

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 (233) hide show
  1. package/dist/cjs/clusters/access-control.d.ts +4 -4
  2. package/dist/cjs/clusters/administrator-commissioning.d.ts +8 -8
  3. package/dist/cjs/clusters/application-launcher.d.ts +14 -14
  4. package/dist/cjs/clusters/bridged-device-basic-information.d.ts +58 -7
  5. package/dist/cjs/clusters/bridged-device-basic-information.d.ts.map +1 -1
  6. package/dist/cjs/clusters/bridged-device-basic-information.js +19 -2
  7. package/dist/cjs/clusters/bridged-device-basic-information.js.map +1 -1
  8. package/dist/cjs/clusters/channel.d.ts +15 -15
  9. package/dist/cjs/clusters/color-control.d.ts.map +1 -1
  10. package/dist/cjs/clusters/color-control.js +1 -5
  11. package/dist/cjs/clusters/color-control.js.map +1 -1
  12. package/dist/cjs/clusters/content-launcher.d.ts +10 -10
  13. package/dist/cjs/clusters/content-launcher.d.ts.map +1 -1
  14. package/dist/cjs/clusters/content-launcher.js +22 -22
  15. package/dist/cjs/clusters/content-launcher.js.map +2 -2
  16. package/dist/cjs/clusters/device-energy-management-mode.d.ts +411 -25
  17. package/dist/cjs/clusters/device-energy-management-mode.d.ts.map +1 -1
  18. package/dist/cjs/clusters/device-energy-management-mode.js +90 -1
  19. package/dist/cjs/clusters/device-energy-management-mode.js.map +1 -1
  20. package/dist/cjs/clusters/diagnostic-logs.d.ts +2 -2
  21. package/dist/cjs/clusters/dishwasher-alarm.d.ts +1253 -42
  22. package/dist/cjs/clusters/dishwasher-alarm.d.ts.map +1 -1
  23. package/dist/cjs/clusters/dishwasher-alarm.js +72 -9
  24. package/dist/cjs/clusters/dishwasher-alarm.js.map +1 -1
  25. package/dist/cjs/clusters/dishwasher-mode.d.ts +340 -17
  26. package/dist/cjs/clusters/dishwasher-mode.d.ts.map +1 -1
  27. package/dist/cjs/clusters/dishwasher-mode.js +91 -2
  28. package/dist/cjs/clusters/dishwasher-mode.js.map +1 -1
  29. package/dist/cjs/clusters/door-lock.d.ts +1344 -192
  30. package/dist/cjs/clusters/door-lock.d.ts.map +1 -1
  31. package/dist/cjs/clusters/door-lock.js +199 -3
  32. package/dist/cjs/clusters/door-lock.js.map +1 -1
  33. package/dist/cjs/clusters/energy-evse-mode.d.ts +409 -25
  34. package/dist/cjs/clusters/energy-evse-mode.d.ts.map +1 -1
  35. package/dist/cjs/clusters/energy-evse-mode.js +90 -1
  36. package/dist/cjs/clusters/energy-evse-mode.js.map +1 -1
  37. package/dist/cjs/clusters/energy-evse.d.ts +5 -5
  38. package/dist/cjs/clusters/fan-control.d.ts +5 -0
  39. package/dist/cjs/clusters/fan-control.d.ts.map +1 -1
  40. package/dist/cjs/clusters/fan-control.js.map +1 -1
  41. package/dist/cjs/clusters/general-diagnostics.d.ts +26 -26
  42. package/dist/cjs/clusters/group-key-management.d.ts +21 -21
  43. package/dist/cjs/clusters/groups.d.ts +12 -0
  44. package/dist/cjs/clusters/groups.d.ts.map +1 -1
  45. package/dist/cjs/clusters/groups.js +7 -1
  46. package/dist/cjs/clusters/groups.js.map +1 -1
  47. package/dist/cjs/clusters/icd-management.d.ts +15 -15
  48. package/dist/cjs/clusters/laundry-washer-mode.d.ts +340 -17
  49. package/dist/cjs/clusters/laundry-washer-mode.d.ts.map +1 -1
  50. package/dist/cjs/clusters/laundry-washer-mode.js +91 -2
  51. package/dist/cjs/clusters/laundry-washer-mode.js.map +1 -1
  52. package/dist/cjs/clusters/media-playback.d.ts +4 -4
  53. package/dist/cjs/clusters/messages.d.ts +20 -20
  54. package/dist/cjs/clusters/microwave-oven-mode.d.ts +330 -13
  55. package/dist/cjs/clusters/microwave-oven-mode.d.ts.map +1 -1
  56. package/dist/cjs/clusters/microwave-oven-mode.js +90 -2
  57. package/dist/cjs/clusters/microwave-oven-mode.js.map +1 -1
  58. package/dist/cjs/clusters/mode-base.d.ts +68 -68
  59. package/dist/cjs/clusters/mode-base.d.ts.map +1 -1
  60. package/dist/cjs/clusters/mode-base.js +16 -16
  61. package/dist/cjs/clusters/mode-base.js.map +2 -2
  62. package/dist/cjs/clusters/network-commissioning.d.ts +74 -74
  63. package/dist/cjs/clusters/operational-credentials.d.ts +33 -33
  64. package/dist/cjs/clusters/ota-software-update-provider.d.ts +10 -10
  65. package/dist/cjs/clusters/ota-software-update-requestor.d.ts +2 -2
  66. package/dist/cjs/clusters/oven-mode.d.ts +409 -25
  67. package/dist/cjs/clusters/oven-mode.d.ts.map +1 -1
  68. package/dist/cjs/clusters/oven-mode.js +90 -1
  69. package/dist/cjs/clusters/oven-mode.js.map +1 -1
  70. package/dist/cjs/clusters/pump-configuration-and-control.d.ts +15 -0
  71. package/dist/cjs/clusters/pump-configuration-and-control.d.ts.map +1 -1
  72. package/dist/cjs/clusters/pump-configuration-and-control.js +6 -1
  73. package/dist/cjs/clusters/pump-configuration-and-control.js.map +1 -1
  74. package/dist/cjs/clusters/refrigerator-alarm.d.ts +364 -36
  75. package/dist/cjs/clusters/refrigerator-alarm.d.ts.map +1 -1
  76. package/dist/cjs/clusters/refrigerator-alarm.js +46 -8
  77. package/dist/cjs/clusters/refrigerator-alarm.js.map +1 -1
  78. package/dist/cjs/clusters/refrigerator-and-temperature-controlled-cabinet-mode.d.ts +340 -17
  79. package/dist/cjs/clusters/refrigerator-and-temperature-controlled-cabinet-mode.d.ts.map +1 -1
  80. package/dist/cjs/clusters/refrigerator-and-temperature-controlled-cabinet-mode.js +91 -2
  81. package/dist/cjs/clusters/refrigerator-and-temperature-controlled-cabinet-mode.js.map +1 -1
  82. package/dist/cjs/clusters/rvc-clean-mode.d.ts +374 -23
  83. package/dist/cjs/clusters/rvc-clean-mode.d.ts.map +1 -1
  84. package/dist/cjs/clusters/rvc-clean-mode.js +99 -6
  85. package/dist/cjs/clusters/rvc-clean-mode.js.map +2 -2
  86. package/dist/cjs/clusters/rvc-operational-state.d.ts +248 -22
  87. package/dist/cjs/clusters/rvc-operational-state.d.ts.map +1 -1
  88. package/dist/cjs/clusters/rvc-operational-state.js +59 -10
  89. package/dist/cjs/clusters/rvc-operational-state.js.map +1 -1
  90. package/dist/cjs/clusters/rvc-run-mode.d.ts +401 -40
  91. package/dist/cjs/clusters/rvc-run-mode.d.ts.map +1 -1
  92. package/dist/cjs/clusters/rvc-run-mode.js +101 -8
  93. package/dist/cjs/clusters/rvc-run-mode.js.map +2 -2
  94. package/dist/cjs/clusters/software-diagnostics.d.ts +4 -4
  95. package/dist/cjs/clusters/target-navigator.d.ts +2 -2
  96. package/dist/cjs/clusters/thermostat.d.ts +262 -61
  97. package/dist/cjs/clusters/thermostat.d.ts.map +1 -1
  98. package/dist/cjs/clusters/thermostat.js +72 -58
  99. package/dist/cjs/clusters/thermostat.js.map +1 -1
  100. package/dist/cjs/clusters/thread-network-diagnostics.d.ts +6 -6
  101. package/dist/cjs/clusters/wake-on-lan.d.ts +1 -1
  102. package/dist/cjs/clusters/wi-fi-network-diagnostics.d.ts +3 -3
  103. package/dist/cjs/schema/BitmapSchema.d.ts +1 -1
  104. package/dist/cjs/schema/PairingCodeSchema.d.ts +2 -2
  105. package/dist/cjs/tlv/TlvSchema.d.ts +1 -1
  106. package/dist/esm/clusters/access-control.d.ts +4 -4
  107. package/dist/esm/clusters/administrator-commissioning.d.ts +8 -8
  108. package/dist/esm/clusters/application-launcher.d.ts +14 -14
  109. package/dist/esm/clusters/bridged-device-basic-information.d.ts +58 -7
  110. package/dist/esm/clusters/bridged-device-basic-information.d.ts.map +1 -1
  111. package/dist/esm/clusters/bridged-device-basic-information.js +19 -2
  112. package/dist/esm/clusters/bridged-device-basic-information.js.map +1 -1
  113. package/dist/esm/clusters/channel.d.ts +15 -15
  114. package/dist/esm/clusters/color-control.d.ts.map +1 -1
  115. package/dist/esm/clusters/color-control.js +1 -5
  116. package/dist/esm/clusters/color-control.js.map +1 -1
  117. package/dist/esm/clusters/content-launcher.d.ts +10 -10
  118. package/dist/esm/clusters/content-launcher.d.ts.map +1 -1
  119. package/dist/esm/clusters/content-launcher.js +22 -22
  120. package/dist/esm/clusters/content-launcher.js.map +2 -2
  121. package/dist/esm/clusters/device-energy-management-mode.d.ts +411 -25
  122. package/dist/esm/clusters/device-energy-management-mode.d.ts.map +1 -1
  123. package/dist/esm/clusters/device-energy-management-mode.js +91 -2
  124. package/dist/esm/clusters/device-energy-management-mode.js.map +1 -1
  125. package/dist/esm/clusters/diagnostic-logs.d.ts +2 -2
  126. package/dist/esm/clusters/dishwasher-alarm.d.ts +1253 -42
  127. package/dist/esm/clusters/dishwasher-alarm.d.ts.map +1 -1
  128. package/dist/esm/clusters/dishwasher-alarm.js +72 -9
  129. package/dist/esm/clusters/dishwasher-alarm.js.map +1 -1
  130. package/dist/esm/clusters/dishwasher-mode.d.ts +340 -17
  131. package/dist/esm/clusters/dishwasher-mode.d.ts.map +1 -1
  132. package/dist/esm/clusters/dishwasher-mode.js +91 -2
  133. package/dist/esm/clusters/dishwasher-mode.js.map +1 -1
  134. package/dist/esm/clusters/door-lock.d.ts +1344 -192
  135. package/dist/esm/clusters/door-lock.d.ts.map +1 -1
  136. package/dist/esm/clusters/door-lock.js +199 -3
  137. package/dist/esm/clusters/door-lock.js.map +1 -1
  138. package/dist/esm/clusters/energy-evse-mode.d.ts +409 -25
  139. package/dist/esm/clusters/energy-evse-mode.d.ts.map +1 -1
  140. package/dist/esm/clusters/energy-evse-mode.js +91 -2
  141. package/dist/esm/clusters/energy-evse-mode.js.map +1 -1
  142. package/dist/esm/clusters/energy-evse.d.ts +5 -5
  143. package/dist/esm/clusters/fan-control.d.ts +5 -0
  144. package/dist/esm/clusters/fan-control.d.ts.map +1 -1
  145. package/dist/esm/clusters/fan-control.js.map +1 -1
  146. package/dist/esm/clusters/general-diagnostics.d.ts +26 -26
  147. package/dist/esm/clusters/group-key-management.d.ts +21 -21
  148. package/dist/esm/clusters/groups.d.ts +12 -0
  149. package/dist/esm/clusters/groups.d.ts.map +1 -1
  150. package/dist/esm/clusters/groups.js +7 -1
  151. package/dist/esm/clusters/groups.js.map +1 -1
  152. package/dist/esm/clusters/icd-management.d.ts +15 -15
  153. package/dist/esm/clusters/laundry-washer-mode.d.ts +340 -17
  154. package/dist/esm/clusters/laundry-washer-mode.d.ts.map +1 -1
  155. package/dist/esm/clusters/laundry-washer-mode.js +91 -2
  156. package/dist/esm/clusters/laundry-washer-mode.js.map +1 -1
  157. package/dist/esm/clusters/media-playback.d.ts +4 -4
  158. package/dist/esm/clusters/messages.d.ts +20 -20
  159. package/dist/esm/clusters/microwave-oven-mode.d.ts +330 -13
  160. package/dist/esm/clusters/microwave-oven-mode.d.ts.map +1 -1
  161. package/dist/esm/clusters/microwave-oven-mode.js +91 -3
  162. package/dist/esm/clusters/microwave-oven-mode.js.map +1 -1
  163. package/dist/esm/clusters/mode-base.d.ts +68 -68
  164. package/dist/esm/clusters/mode-base.d.ts.map +1 -1
  165. package/dist/esm/clusters/mode-base.js +17 -17
  166. package/dist/esm/clusters/mode-base.js.map +2 -2
  167. package/dist/esm/clusters/network-commissioning.d.ts +74 -74
  168. package/dist/esm/clusters/operational-credentials.d.ts +33 -33
  169. package/dist/esm/clusters/ota-software-update-provider.d.ts +10 -10
  170. package/dist/esm/clusters/ota-software-update-requestor.d.ts +2 -2
  171. package/dist/esm/clusters/oven-mode.d.ts +409 -25
  172. package/dist/esm/clusters/oven-mode.d.ts.map +1 -1
  173. package/dist/esm/clusters/oven-mode.js +91 -2
  174. package/dist/esm/clusters/oven-mode.js.map +1 -1
  175. package/dist/esm/clusters/pump-configuration-and-control.d.ts +15 -0
  176. package/dist/esm/clusters/pump-configuration-and-control.d.ts.map +1 -1
  177. package/dist/esm/clusters/pump-configuration-and-control.js +6 -1
  178. package/dist/esm/clusters/pump-configuration-and-control.js.map +1 -1
  179. package/dist/esm/clusters/refrigerator-alarm.d.ts +364 -36
  180. package/dist/esm/clusters/refrigerator-alarm.d.ts.map +1 -1
  181. package/dist/esm/clusters/refrigerator-alarm.js +46 -8
  182. package/dist/esm/clusters/refrigerator-alarm.js.map +1 -1
  183. package/dist/esm/clusters/refrigerator-and-temperature-controlled-cabinet-mode.d.ts +340 -17
  184. package/dist/esm/clusters/refrigerator-and-temperature-controlled-cabinet-mode.d.ts.map +1 -1
  185. package/dist/esm/clusters/refrigerator-and-temperature-controlled-cabinet-mode.js +91 -2
  186. package/dist/esm/clusters/refrigerator-and-temperature-controlled-cabinet-mode.js.map +1 -1
  187. package/dist/esm/clusters/rvc-clean-mode.d.ts +374 -23
  188. package/dist/esm/clusters/rvc-clean-mode.d.ts.map +1 -1
  189. package/dist/esm/clusters/rvc-clean-mode.js +99 -6
  190. package/dist/esm/clusters/rvc-clean-mode.js.map +2 -2
  191. package/dist/esm/clusters/rvc-operational-state.d.ts +248 -22
  192. package/dist/esm/clusters/rvc-operational-state.d.ts.map +1 -1
  193. package/dist/esm/clusters/rvc-operational-state.js +60 -11
  194. package/dist/esm/clusters/rvc-operational-state.js.map +1 -1
  195. package/dist/esm/clusters/rvc-run-mode.d.ts +401 -40
  196. package/dist/esm/clusters/rvc-run-mode.d.ts.map +1 -1
  197. package/dist/esm/clusters/rvc-run-mode.js +101 -8
  198. package/dist/esm/clusters/rvc-run-mode.js.map +2 -2
  199. package/dist/esm/clusters/software-diagnostics.d.ts +4 -4
  200. package/dist/esm/clusters/target-navigator.d.ts +2 -2
  201. package/dist/esm/clusters/thermostat.d.ts +262 -61
  202. package/dist/esm/clusters/thermostat.d.ts.map +1 -1
  203. package/dist/esm/clusters/thermostat.js +72 -58
  204. package/dist/esm/clusters/thermostat.js.map +1 -1
  205. package/dist/esm/clusters/thread-network-diagnostics.d.ts +6 -6
  206. package/dist/esm/clusters/wake-on-lan.d.ts +1 -1
  207. package/dist/esm/clusters/wi-fi-network-diagnostics.d.ts +3 -3
  208. package/dist/esm/schema/BitmapSchema.d.ts +1 -1
  209. package/dist/esm/schema/PairingCodeSchema.d.ts +2 -2
  210. package/dist/esm/tlv/TlvSchema.d.ts +1 -1
  211. package/package.json +5 -5
  212. package/src/clusters/bridged-device-basic-information.ts +46 -2
  213. package/src/clusters/color-control.ts +1 -5
  214. package/src/clusters/content-launcher.ts +5 -5
  215. package/src/clusters/device-energy-management-mode.ts +184 -3
  216. package/src/clusters/dishwasher-alarm.ts +115 -9
  217. package/src/clusters/dishwasher-mode.ts +188 -3
  218. package/src/clusters/door-lock.ts +247 -3
  219. package/src/clusters/energy-evse-mode.ts +182 -3
  220. package/src/clusters/fan-control.ts +5 -0
  221. package/src/clusters/groups.ts +8 -1
  222. package/src/clusters/laundry-washer-mode.ts +188 -3
  223. package/src/clusters/microwave-oven-mode.ts +182 -4
  224. package/src/clusters/mode-base.ts +77 -77
  225. package/src/clusters/oven-mode.ts +182 -3
  226. package/src/clusters/pump-configuration-and-control.ts +7 -1
  227. package/src/clusters/refrigerator-alarm.ts +76 -8
  228. package/src/clusters/refrigerator-and-temperature-controlled-cabinet-mode.ts +188 -3
  229. package/src/clusters/rvc-clean-mode.ts +227 -10
  230. package/src/clusters/rvc-operational-state.ts +112 -11
  231. package/src/clusters/rvc-run-mode.ts +253 -26
  232. package/src/clusters/thermostat.ts +80 -65
  233. package/src/globals/WildcardPathFlags.ts +1 -1
@@ -16,9 +16,10 @@ import {
16
16
  Event,
17
17
  EventPriority
18
18
  } from "../cluster/Cluster.js";
19
- import { TlvUInt32 } from "../tlv/TlvNumber.js";
20
- import { AlarmBase } from "./alarm-base.js";
21
19
  import { BitFlag } from "../schema/BitmapSchema.js";
20
+ import { TlvUInt32, TlvBitmap } from "../tlv/TlvNumber.js";
21
+ import { TlvField, TlvObject } from "../tlv/TlvObject.js";
22
+ import { TypeFromSchema } from "../tlv/TlvSchema.js";
22
23
  import { Identity } from "#general";
23
24
  import { ClusterRegistry } from "../cluster/ClusterRegistry.js";
24
25
 
@@ -74,6 +75,111 @@ export namespace DishwasherAlarm {
74
75
  waterLevelError: BitFlag(5)
75
76
  };
76
77
 
78
+ /**
79
+ * Input to the DishwasherAlarm reset command
80
+ *
81
+ * @see {@link MatterSpecification.v13.Cluster} § 1.15.7.1
82
+ */
83
+ export const TlvResetRequest = TlvObject({
84
+ /**
85
+ * This field shall indicate a bitmap where each bit set in this field corresponds to an alarm that shall be
86
+ * reset to inactive in the State attribute unless the alarm definition requires manual intervention. If the
87
+ * alarms indicated are successfully reset, the response status code shall be SUCCESS, otherwise, the response
88
+ * status code shall be FAILURE.
89
+ *
90
+ * @see {@link MatterSpecification.v13.Cluster} § 1.15.7.1.1
91
+ */
92
+ alarms: TlvField(0, TlvBitmap(TlvUInt32, Alarm))
93
+ });
94
+
95
+ /**
96
+ * Input to the DishwasherAlarm reset command
97
+ *
98
+ * @see {@link MatterSpecification.v13.Cluster} § 1.15.7.1
99
+ */
100
+ export interface ResetRequest extends TypeFromSchema<typeof TlvResetRequest> {}
101
+
102
+ /**
103
+ * Input to the DishwasherAlarm modifyEnabledAlarms command
104
+ *
105
+ * @see {@link MatterSpecification.v13.Cluster} § 1.15.7.2
106
+ */
107
+ export const TlvModifyEnabledAlarmsRequest = TlvObject({
108
+ /**
109
+ * This field shall indicate a bitmap where each bit set in the this field corresponds to an alarm that SHOULD
110
+ * be enabled or suppressed. A value of 1 shall indicate that the alarm SHOULD be enabled while a value of 0
111
+ * shall indicate that the alarm SHOULD be suppressed.
112
+ *
113
+ * A server that receives this command with a Mask that includes bits that are set for unknown alarms shall
114
+ * respond with a status code of INVALID_COMMAND.
115
+ *
116
+ * A server that receives this command with a Mask that includes bits that are set for alarms which are not
117
+ * supported, as indicated in the Supported attribute, shall respond with a status code of INVALID_COMMAND.
118
+ *
119
+ * A server that is unable to enable a currently suppressed alarm, or is unable to suppress a currently enabled
120
+ * alarm shall respond with a status code of FAILURE; otherwise the server shall respond with a status code of
121
+ * SUCCESS.
122
+ *
123
+ * On a SUCCESS case, the server shall also change the value of the Mask attribute to the value of the
124
+ *
125
+ * Mask field from this command. After that the server shall also update the value of its State attribute to
126
+ * reflect the status of the new alarm set as indicated by the new value of the Mask attribute.
127
+ *
128
+ * @see {@link MatterSpecification.v13.Cluster} § 1.15.7.2.1
129
+ */
130
+ mask: TlvField(0, TlvBitmap(TlvUInt32, Alarm))
131
+ });
132
+
133
+ /**
134
+ * Input to the DishwasherAlarm modifyEnabledAlarms command
135
+ *
136
+ * @see {@link MatterSpecification.v13.Cluster} § 1.15.7.2
137
+ */
138
+ export interface ModifyEnabledAlarmsRequest extends TypeFromSchema<typeof TlvModifyEnabledAlarmsRequest> {}
139
+
140
+ /**
141
+ * Body of the DishwasherAlarm notify event
142
+ *
143
+ * @see {@link MatterSpecification.v13.Cluster} § 1.15.8.1
144
+ */
145
+ export const TlvNotifyEvent = TlvObject({
146
+ /**
147
+ * This field shall indicate those alarms that have become active.
148
+ *
149
+ * @see {@link MatterSpecification.v13.Cluster} § 1.15.8.1.1
150
+ */
151
+ active: TlvField(1, TlvBitmap(TlvUInt32, Alarm)),
152
+
153
+ /**
154
+ * This field shall indicate those alarms that have become inactive.
155
+ *
156
+ * @see {@link MatterSpecification.v13.Cluster} § 1.15.8.1.2
157
+ */
158
+ inactive: TlvField(2, TlvBitmap(TlvUInt32, Alarm)),
159
+
160
+ /**
161
+ * This field shall be a copy of the new State attribute value that resulted in the event being generated. That
162
+ * is, this field shall have all the bits in Active set and shall NOT have any of the bits in Inactive set.
163
+ *
164
+ * @see {@link MatterSpecification.v13.Cluster} § 1.15.8.1.4
165
+ */
166
+ state: TlvField(3, TlvBitmap(TlvUInt32, Alarm)),
167
+
168
+ /**
169
+ * This field shall be a copy of the Mask attribute when this event was generated.
170
+ *
171
+ * @see {@link MatterSpecification.v13.Cluster} § 1.15.8.1.3
172
+ */
173
+ mask: TlvField(4, TlvBitmap(TlvUInt32, Alarm))
174
+ });
175
+
176
+ /**
177
+ * Body of the DishwasherAlarm notify event
178
+ *
179
+ * @see {@link MatterSpecification.v13.Cluster} § 1.15.8.1
180
+ */
181
+ export interface NotifyEvent extends TypeFromSchema<typeof TlvNotifyEvent> {}
182
+
77
183
  /**
78
184
  * A DishwasherAlarmCluster supports these elements if it supports feature Reset.
79
185
  */
@@ -86,7 +192,7 @@ export namespace DishwasherAlarm {
86
192
  *
87
193
  * @see {@link MatterSpecification.v13.Cluster} § 1.15.6.2
88
194
  */
89
- latch: FixedAttribute(0x1, TlvUInt32)
195
+ latch: FixedAttribute(0x1, TlvBitmap(TlvUInt32, Alarm))
90
196
  },
91
197
 
92
198
  commands: {
@@ -96,7 +202,7 @@ export namespace DishwasherAlarm {
96
202
  *
97
203
  * @see {@link MatterSpecification.v13.Cluster} § 1.15.7.1
98
204
  */
99
- reset: Command(0x0, AlarmBase.TlvResetRequest, 0x0, TlvNoResponse)
205
+ reset: Command(0x0, TlvResetRequest, 0x0, TlvNoResponse)
100
206
  }
101
207
  });
102
208
 
@@ -126,7 +232,7 @@ export namespace DishwasherAlarm {
126
232
  *
127
233
  * @see {@link MatterSpecification.v13.Cluster} § 1.15.6.1
128
234
  */
129
- mask: Attribute(0x0, TlvUInt32),
235
+ mask: Attribute(0x0, TlvBitmap(TlvUInt32, Alarm)),
130
236
 
131
237
  /**
132
238
  * Indicates a bitmap where each bit shall represent the state of an alarm. The value of true means the
@@ -134,7 +240,7 @@ export namespace DishwasherAlarm {
134
240
  *
135
241
  * @see {@link MatterSpecification.v13.Cluster} § 1.15.6.3
136
242
  */
137
- state: Attribute(0x2, TlvUInt32),
243
+ state: Attribute(0x2, TlvBitmap(TlvUInt32, Alarm)),
138
244
 
139
245
  /**
140
246
  * Indicates a bitmap where each bit shall represent whether or not an alarm is supported. The value of
@@ -144,7 +250,7 @@ export namespace DishwasherAlarm {
144
250
  *
145
251
  * @see {@link MatterSpecification.v13.Cluster} § 1.15.6.4
146
252
  */
147
- supported: FixedAttribute(0x3, TlvUInt32)
253
+ supported: FixedAttribute(0x3, TlvBitmap(TlvUInt32, Alarm))
148
254
  },
149
255
 
150
256
  commands: {
@@ -153,7 +259,7 @@ export namespace DishwasherAlarm {
153
259
  *
154
260
  * @see {@link MatterSpecification.v13.Cluster} § 1.15.7.2
155
261
  */
156
- modifyEnabledAlarms: OptionalCommand(0x1, AlarmBase.TlvModifyEnabledAlarmsRequest, 0x1, TlvNoResponse)
262
+ modifyEnabledAlarms: OptionalCommand(0x1, TlvModifyEnabledAlarmsRequest, 0x1, TlvNoResponse)
157
263
  },
158
264
 
159
265
  events: {
@@ -162,7 +268,7 @@ export namespace DishwasherAlarm {
162
268
  *
163
269
  * @see {@link MatterSpecification.v13.Cluster} § 1.15.8.1
164
270
  */
165
- notify: Event(0x0, EventPriority.Info, AlarmBase.TlvNotifyEvent)
271
+ notify: Event(0x0, EventPriority.Info, TlvNotifyEvent)
166
272
  },
167
273
 
168
274
  /**
@@ -10,8 +10,12 @@ import { MutableCluster } from "../cluster/mutation/MutableCluster.js";
10
10
  import { BitFlag } from "../schema/BitmapSchema.js";
11
11
  import { FixedAttribute, Attribute, WritableAttribute, Command, TlvNoResponse } from "../cluster/Cluster.js";
12
12
  import { TlvArray } from "../tlv/TlvArray.js";
13
+ import { TlvField, TlvOptionalField, TlvObject } from "../tlv/TlvObject.js";
14
+ import { TlvString } from "../tlv/TlvString.js";
15
+ import { TlvUInt8, TlvEnum } from "../tlv/TlvNumber.js";
16
+ import { TlvVendorId } from "../datatype/VendorId.js";
17
+ import { TypeFromSchema } from "../tlv/TlvSchema.js";
13
18
  import { ModeBase } from "./mode-base.js";
14
- import { TlvUInt8 } from "../tlv/TlvNumber.js";
15
19
  import { Identity } from "#general";
16
20
  import { ClusterRegistry } from "../cluster/ClusterRegistry.js";
17
21
 
@@ -53,9 +57,190 @@ export namespace DishwasherMode {
53
57
  *
54
58
  * @see {@link MatterSpecification.v13.Cluster} § 8.3.6.1.3
55
59
  */
56
- Light = 16386
60
+ Light = 16386,
61
+
62
+ /**
63
+ * The device decides which options, features and setting values to use.
64
+ *
65
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.8
66
+ */
67
+ Auto = 0,
68
+
69
+ /**
70
+ * The mode of the device is optimizing for faster completion.
71
+ *
72
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.8
73
+ */
74
+ Quick = 1,
75
+
76
+ /**
77
+ * The device is silent or barely audible while in this mode.
78
+ *
79
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.8
80
+ */
81
+ Quiet = 2,
82
+
83
+ /**
84
+ * Either the mode is inherently low noise or the device optimizes for that.
85
+ *
86
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.8
87
+ */
88
+ LowNoise = 3,
89
+
90
+ /**
91
+ * The device is optimizing for lower energy usage in this mode. Sometimes called "Eco mode".
92
+ *
93
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.8
94
+ */
95
+ LowEnergy = 4,
96
+
97
+ /**
98
+ * A mode suitable for use during vacations or other extended absences.
99
+ *
100
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.8
101
+ */
102
+ Vacation = 5,
103
+
104
+ /**
105
+ * The mode uses the lowest available setting value.
106
+ *
107
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.8
108
+ */
109
+ Min = 6,
110
+
111
+ /**
112
+ * The mode uses the highest available setting value.
113
+ *
114
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.8
115
+ */
116
+ Max = 7,
117
+
118
+ /**
119
+ * The mode is recommended or suitable for use during night time.
120
+ *
121
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.8
122
+ */
123
+ Night = 8,
124
+
125
+ /**
126
+ * The mode is recommended or suitable for use during day time.
127
+ *
128
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.8
129
+ */
130
+ Day = 9
57
131
  }
58
132
 
133
+ /**
134
+ * A Mode Tag is meant to be interpreted by the client for the purpose the cluster serves.
135
+ *
136
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.5.1
137
+ */
138
+ export const TlvModeTagStruct = TlvObject({
139
+ /**
140
+ * If the MfgCode field exists, the Value field shall be in the manufacturer-specific value range (see Section
141
+ * 1.10.8, “Mode Namespace”).
142
+ *
143
+ * This field shall indicate the manufacturer’s VendorID and it shall determine the meaning of the Value field.
144
+ *
145
+ * The same manufacturer code and mode tag value in separate cluster instances are part of the same namespace
146
+ * and have the same meaning. For example: a manufacturer tag meaning "pinch" can be used both in a cluster
147
+ * whose purpose is to choose the amount of sugar, or in a cluster whose purpose is to choose the amount of
148
+ * salt.
149
+ *
150
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.5.1.1
151
+ */
152
+ mfgCode: TlvOptionalField(0, TlvVendorId),
153
+
154
+ /**
155
+ * This field shall indicate the mode tag within a mode tag namespace which is either manufacturer specific or
156
+ * standard.
157
+ *
158
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.5.1.2
159
+ */
160
+ value: TlvField(1, TlvEnum<ModeTag>())
161
+ });
162
+
163
+ /**
164
+ * A Mode Tag is meant to be interpreted by the client for the purpose the cluster serves.
165
+ *
166
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.5.1
167
+ */
168
+ export interface ModeTagStruct extends TypeFromSchema<typeof TlvModeTagStruct> {}
169
+
170
+ /**
171
+ * The table below lists the changes relative to the Mode Base cluster for the fields of the ModeOptionStruct type.
172
+ * A blank field indicates no change.
173
+ *
174
+ * At least one entry in the SupportedModes attribute shall include the Normal mode tag in the ModeTags field list.
175
+ *
176
+ * @see {@link MatterSpecification.v13.Cluster} § 8.3.4.1
177
+ */
178
+ export const TlvModeOption = TlvObject({
179
+ /**
180
+ * This field shall indicate readable text that describes the mode option, so that a client can provide it to
181
+ * the user to indicate what this option means. This field is meant to be readable and understandable by the
182
+ * user.
183
+ *
184
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.5.2.1
185
+ */
186
+ label: TlvField(0, TlvString.bound({ maxLength: 64 })),
187
+
188
+ /**
189
+ * This field is used to identify the mode option.
190
+ *
191
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.5.2.2
192
+ */
193
+ mode: TlvField(1, TlvUInt8),
194
+
195
+ /**
196
+ * This field shall contain a list of tags that are associated with the mode option. This may be used by
197
+ * clients to determine the full or the partial semantics of a certain mode, depending on which tags they
198
+ * understand, using standard definitions and/or manufacturer specific namespace definitions.
199
+ *
200
+ * The standard mode tags are defined in this cluster specification. For the derived cluster instances, if the
201
+ * specification of the derived cluster defines a namespace, the set of standard mode tags also includes the
202
+ * mode tag values from that namespace.
203
+ *
204
+ * Mode tags can help clients look for options that meet certain criteria, render the user interface, use
205
+ *
206
+ * the mode in an automation, or to craft help text their voice-driven interfaces. A mode tag shall be either a
207
+ * standard tag or a manufacturer specific tag, as defined in each ModeTagStruct list entry.
208
+ *
209
+ * A mode option may have more than one mode tag. A mode option may be associated with a mixture of standard
210
+ * and manufacturer specific mode tags. A mode option shall be associated with at least one standard mode tag.
211
+ *
212
+ * A few examples are provided below.
213
+ *
214
+ * • A mode named "100%" can have both the High (manufacturer specific) and Max (standard) mode tag. Clients
215
+ * seeking the mode for either High or Max will find the same mode in this case.
216
+ *
217
+ * • A mode that includes a LowEnergy tag can be displayed by the client using a widget icon that shows a
218
+ * green leaf.
219
+ *
220
+ * • A mode that includes a LowNoise tag may be used by the client when the user wishes for a lower level of
221
+ * audible sound, less likely to disturb the household’s activities.
222
+ *
223
+ * • A mode that includes a LowEnergy tag (standard, defined in this cluster specification) and also a
224
+ * Delicate tag (standard, defined in the namespace of a Laundry Mode derived cluster).
225
+ *
226
+ * • A mode that includes both a generic Quick tag (defined here), and Vacuum and Mop tags, (defined in the
227
+ * RVC Clean cluster that is a derivation of this cluster).
228
+ *
229
+ * @see {@link MatterSpecification.v13.Cluster} § 1.10.5.2.3
230
+ */
231
+ modeTags: TlvField(2, TlvArray(TlvModeTagStruct, { maxLength: 8 }))
232
+ });
233
+
234
+ /**
235
+ * The table below lists the changes relative to the Mode Base cluster for the fields of the ModeOptionStruct type.
236
+ * A blank field indicates no change.
237
+ *
238
+ * At least one entry in the SupportedModes attribute shall include the Normal mode tag in the ModeTags field list.
239
+ *
240
+ * @see {@link MatterSpecification.v13.Cluster} § 8.3.4.1
241
+ */
242
+ export interface ModeOption extends TypeFromSchema<typeof TlvModeOption> {}
243
+
59
244
  /**
60
245
  * These elements and properties are present in all DishwasherMode clusters.
61
246
  */
@@ -82,7 +267,7 @@ export namespace DishwasherMode {
82
267
  */
83
268
  supportedModes: FixedAttribute(
84
269
  0x0,
85
- TlvArray(ModeBase.TlvModeOption, { minLength: 2, maxLength: 255 }),
270
+ TlvArray(TlvModeOption, { minLength: 2, maxLength: 255 }),
86
271
  { default: [] }
87
272
  ),
88
273
 
@@ -2124,7 +2124,87 @@ export namespace DoorLock {
2124
2124
  pinCodeChanged: BitFlag(1),
2125
2125
  pinAdded: BitFlag(2),
2126
2126
  pinCleared: BitFlag(3),
2127
- pinChanged: BitFlag(4)
2127
+ pinChanged: BitFlag(4),
2128
+
2129
+ /**
2130
+ * State of bit 0
2131
+ */
2132
+ bit0: BitFlag(0),
2133
+
2134
+ /**
2135
+ * State of bit 1
2136
+ */
2137
+ bit1: BitFlag(1),
2138
+
2139
+ /**
2140
+ * State of bit 2
2141
+ */
2142
+ bit2: BitFlag(2),
2143
+
2144
+ /**
2145
+ * State of bit 3
2146
+ */
2147
+ bit3: BitFlag(3),
2148
+
2149
+ /**
2150
+ * State of bit 4
2151
+ */
2152
+ bit4: BitFlag(4),
2153
+
2154
+ /**
2155
+ * State of bit 5
2156
+ */
2157
+ bit5: BitFlag(5),
2158
+
2159
+ /**
2160
+ * State of bit 6
2161
+ */
2162
+ bit6: BitFlag(6),
2163
+
2164
+ /**
2165
+ * State of bit 7
2166
+ */
2167
+ bit7: BitFlag(7),
2168
+
2169
+ /**
2170
+ * State of bit 8
2171
+ */
2172
+ bit8: BitFlag(8),
2173
+
2174
+ /**
2175
+ * State of bit 9
2176
+ */
2177
+ bit9: BitFlag(9),
2178
+
2179
+ /**
2180
+ * State of bit 10
2181
+ */
2182
+ bit10: BitFlag(10),
2183
+
2184
+ /**
2185
+ * State of bit 11
2186
+ */
2187
+ bit11: BitFlag(11),
2188
+
2189
+ /**
2190
+ * State of bit 12
2191
+ */
2192
+ bit12: BitFlag(12),
2193
+
2194
+ /**
2195
+ * State of bit 13
2196
+ */
2197
+ bit13: BitFlag(13),
2198
+
2199
+ /**
2200
+ * State of bit 14
2201
+ */
2202
+ bit14: BitFlag(14),
2203
+
2204
+ /**
2205
+ * State of bit 15
2206
+ */
2207
+ bit15: BitFlag(15)
2128
2208
  };
2129
2209
 
2130
2210
  /**
@@ -2138,7 +2218,87 @@ export namespace DoorLock {
2138
2218
  pinCleared: BitFlag(3),
2139
2219
  pinChanged: BitFlag(4),
2140
2220
  rfidCodeAdded: BitFlag(5),
2141
- rfidCodeCleared: BitFlag(6)
2221
+ rfidCodeCleared: BitFlag(6),
2222
+
2223
+ /**
2224
+ * State of bit 0
2225
+ */
2226
+ bit0: BitFlag(0),
2227
+
2228
+ /**
2229
+ * State of bit 1
2230
+ */
2231
+ bit1: BitFlag(1),
2232
+
2233
+ /**
2234
+ * State of bit 2
2235
+ */
2236
+ bit2: BitFlag(2),
2237
+
2238
+ /**
2239
+ * State of bit 3
2240
+ */
2241
+ bit3: BitFlag(3),
2242
+
2243
+ /**
2244
+ * State of bit 4
2245
+ */
2246
+ bit4: BitFlag(4),
2247
+
2248
+ /**
2249
+ * State of bit 5
2250
+ */
2251
+ bit5: BitFlag(5),
2252
+
2253
+ /**
2254
+ * State of bit 6
2255
+ */
2256
+ bit6: BitFlag(6),
2257
+
2258
+ /**
2259
+ * State of bit 7
2260
+ */
2261
+ bit7: BitFlag(7),
2262
+
2263
+ /**
2264
+ * State of bit 8
2265
+ */
2266
+ bit8: BitFlag(8),
2267
+
2268
+ /**
2269
+ * State of bit 9
2270
+ */
2271
+ bit9: BitFlag(9),
2272
+
2273
+ /**
2274
+ * State of bit 10
2275
+ */
2276
+ bit10: BitFlag(10),
2277
+
2278
+ /**
2279
+ * State of bit 11
2280
+ */
2281
+ bit11: BitFlag(11),
2282
+
2283
+ /**
2284
+ * State of bit 12
2285
+ */
2286
+ bit12: BitFlag(12),
2287
+
2288
+ /**
2289
+ * State of bit 13
2290
+ */
2291
+ bit13: BitFlag(13),
2292
+
2293
+ /**
2294
+ * State of bit 14
2295
+ */
2296
+ bit14: BitFlag(14),
2297
+
2298
+ /**
2299
+ * State of bit 15
2300
+ */
2301
+ bit15: BitFlag(15)
2142
2302
  };
2143
2303
 
2144
2304
  /**
@@ -2146,7 +2306,91 @@ export namespace DoorLock {
2146
2306
  *
2147
2307
  * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.47
2148
2308
  */
2149
- export const RfidProgrammingEventMask = { unknown: BitFlag(0), idAdded: BitFlag(5), idCleared: BitFlag(6) };
2309
+ export const RfidProgrammingEventMask = {
2310
+ unknown: BitFlag(0),
2311
+ idAdded: BitFlag(5),
2312
+ idCleared: BitFlag(6),
2313
+
2314
+ /**
2315
+ * State of bit 0
2316
+ */
2317
+ bit0: BitFlag(0),
2318
+
2319
+ /**
2320
+ * State of bit 1
2321
+ */
2322
+ bit1: BitFlag(1),
2323
+
2324
+ /**
2325
+ * State of bit 2
2326
+ */
2327
+ bit2: BitFlag(2),
2328
+
2329
+ /**
2330
+ * State of bit 3
2331
+ */
2332
+ bit3: BitFlag(3),
2333
+
2334
+ /**
2335
+ * State of bit 4
2336
+ */
2337
+ bit4: BitFlag(4),
2338
+
2339
+ /**
2340
+ * State of bit 5
2341
+ */
2342
+ bit5: BitFlag(5),
2343
+
2344
+ /**
2345
+ * State of bit 6
2346
+ */
2347
+ bit6: BitFlag(6),
2348
+
2349
+ /**
2350
+ * State of bit 7
2351
+ */
2352
+ bit7: BitFlag(7),
2353
+
2354
+ /**
2355
+ * State of bit 8
2356
+ */
2357
+ bit8: BitFlag(8),
2358
+
2359
+ /**
2360
+ * State of bit 9
2361
+ */
2362
+ bit9: BitFlag(9),
2363
+
2364
+ /**
2365
+ * State of bit 10
2366
+ */
2367
+ bit10: BitFlag(10),
2368
+
2369
+ /**
2370
+ * State of bit 11
2371
+ */
2372
+ bit11: BitFlag(11),
2373
+
2374
+ /**
2375
+ * State of bit 12
2376
+ */
2377
+ bit12: BitFlag(12),
2378
+
2379
+ /**
2380
+ * State of bit 13
2381
+ */
2382
+ bit13: BitFlag(13),
2383
+
2384
+ /**
2385
+ * State of bit 14
2386
+ */
2387
+ bit14: BitFlag(14),
2388
+
2389
+ /**
2390
+ * State of bit 15
2391
+ */
2392
+ bit15: BitFlag(15)
2393
+ };
2150
2394
 
2151
2395
  /**
2152
2396
  * Input to the DoorLock setUserStatus command