@matter/model 0.16.0-alpha.0-20251102-faee7ab25 → 0.16.0-alpha.0-20251104-8c3166ea3

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 (266) hide show
  1. package/dist/cjs/aspects/Conformance.d.ts +6 -2
  2. package/dist/cjs/aspects/Conformance.d.ts.map +1 -1
  3. package/dist/cjs/aspects/Conformance.js +4 -6
  4. package/dist/cjs/aspects/Conformance.js.map +1 -1
  5. package/dist/cjs/elements/RequirementElement.d.ts +2 -1
  6. package/dist/cjs/elements/RequirementElement.d.ts.map +1 -1
  7. package/dist/cjs/elements/RequirementElement.js +1 -0
  8. package/dist/cjs/elements/RequirementElement.js.map +1 -1
  9. package/dist/cjs/logic/ClusterModifier.d.ts +3 -3
  10. package/dist/cjs/logic/ClusterModifier.d.ts.map +1 -1
  11. package/dist/cjs/logic/ClusterModifier.js +3 -3
  12. package/dist/cjs/logic/ClusterModifier.js.map +1 -1
  13. package/dist/cjs/logic/Scope.d.ts +10 -2
  14. package/dist/cjs/logic/Scope.d.ts.map +1 -1
  15. package/dist/cjs/logic/Scope.js +32 -25
  16. package/dist/cjs/logic/Scope.js.map +2 -2
  17. package/dist/cjs/logic/definition-validation/RequirementValidator.js +2 -2
  18. package/dist/cjs/logic/definition-validation/RequirementValidator.js.map +1 -1
  19. package/dist/cjs/logic/definition-validation/ValueValidator.js +1 -1
  20. package/dist/cjs/logic/definition-validation/ValueValidator.js.map +1 -1
  21. package/dist/cjs/models/ClusterModel.d.ts +3 -2
  22. package/dist/cjs/models/ClusterModel.d.ts.map +1 -1
  23. package/dist/cjs/models/ClusterModel.js +1 -1
  24. package/dist/cjs/models/ClusterModel.js.map +1 -1
  25. package/dist/cjs/models/Model.d.ts +7 -3
  26. package/dist/cjs/models/Model.d.ts.map +1 -1
  27. package/dist/cjs/models/Model.js +12 -2
  28. package/dist/cjs/models/Model.js.map +1 -1
  29. package/dist/cjs/models/Schema.d.ts +10 -2
  30. package/dist/cjs/models/Schema.d.ts.map +1 -1
  31. package/dist/cjs/models/Schema.js +1 -0
  32. package/dist/cjs/models/Schema.js.map +1 -1
  33. package/dist/cjs/standard/elements/air-purifier.element.d.ts.map +1 -1
  34. package/dist/cjs/standard/elements/air-purifier.element.js +5 -1
  35. package/dist/cjs/standard/elements/air-purifier.element.js.map +1 -1
  36. package/dist/cjs/standard/elements/battery-storage.element.d.ts.map +1 -1
  37. package/dist/cjs/standard/elements/battery-storage.element.js +49 -1
  38. package/dist/cjs/standard/elements/battery-storage.element.js.map +1 -1
  39. package/dist/cjs/standard/elements/bridged-node.element.d.ts.map +1 -1
  40. package/dist/cjs/standard/elements/bridged-node.element.js +1 -0
  41. package/dist/cjs/standard/elements/bridged-node.element.js.map +1 -1
  42. package/dist/cjs/standard/elements/cooktop.element.d.ts.map +1 -1
  43. package/dist/cjs/standard/elements/cooktop.element.js +2 -1
  44. package/dist/cjs/standard/elements/cooktop.element.js.map +1 -1
  45. package/dist/cjs/standard/elements/energy-evse-device.element.d.ts.map +1 -1
  46. package/dist/cjs/standard/elements/energy-evse-device.element.js +4 -1
  47. package/dist/cjs/standard/elements/energy-evse-device.element.js.map +1 -1
  48. package/dist/cjs/standard/elements/extractor-hood.element.d.ts.map +1 -1
  49. package/dist/cjs/standard/elements/extractor-hood.element.js +2 -1
  50. package/dist/cjs/standard/elements/extractor-hood.element.js.map +1 -1
  51. package/dist/cjs/standard/elements/fan.element.d.ts.map +1 -1
  52. package/dist/cjs/standard/elements/fan.element.js +2 -1
  53. package/dist/cjs/standard/elements/fan.element.js.map +1 -1
  54. package/dist/cjs/standard/elements/heat-pump.element.d.ts.map +1 -1
  55. package/dist/cjs/standard/elements/heat-pump.element.js +43 -1
  56. package/dist/cjs/standard/elements/heat-pump.element.js.map +1 -1
  57. package/dist/cjs/standard/elements/microwave-oven.element.d.ts.map +1 -1
  58. package/dist/cjs/standard/elements/microwave-oven.element.js +2 -1
  59. package/dist/cjs/standard/elements/microwave-oven.element.js.map +1 -1
  60. package/dist/cjs/standard/elements/oven.element.d.ts.map +1 -1
  61. package/dist/cjs/standard/elements/oven.element.js +3 -1
  62. package/dist/cjs/standard/elements/oven.element.js.map +1 -1
  63. package/dist/cjs/standard/elements/refrigerator-device.element.d.ts.map +1 -1
  64. package/dist/cjs/standard/elements/refrigerator-device.element.js +2 -1
  65. package/dist/cjs/standard/elements/refrigerator-device.element.js.map +1 -1
  66. package/dist/cjs/standard/elements/room-air-conditioner-device.element.d.ts.map +1 -1
  67. package/dist/cjs/standard/elements/room-air-conditioner-device.element.js +3 -1
  68. package/dist/cjs/standard/elements/room-air-conditioner-device.element.js.map +1 -1
  69. package/dist/cjs/standard/elements/root-node.element.d.ts.map +1 -1
  70. package/dist/cjs/standard/elements/root-node.element.js +1 -0
  71. package/dist/cjs/standard/elements/root-node.element.js.map +1 -1
  72. package/dist/cjs/standard/elements/smoke-co-alarm-device.element.d.ts.map +1 -1
  73. package/dist/cjs/standard/elements/smoke-co-alarm-device.element.js +2 -1
  74. package/dist/cjs/standard/elements/smoke-co-alarm-device.element.js.map +1 -1
  75. package/dist/cjs/standard/elements/solar-power.element.d.ts.map +1 -1
  76. package/dist/cjs/standard/elements/solar-power.element.js +38 -1
  77. package/dist/cjs/standard/elements/solar-power.element.js.map +1 -1
  78. package/dist/cjs/standard/elements/water-heater.element.d.ts.map +1 -1
  79. package/dist/cjs/standard/elements/water-heater.element.js +5 -1
  80. package/dist/cjs/standard/elements/water-heater.element.js.map +1 -1
  81. package/dist/cjs/standard/resources/air-purifier.resource.js +5 -1
  82. package/dist/cjs/standard/resources/air-purifier.resource.js.map +1 -1
  83. package/dist/cjs/standard/resources/battery-storage.resource.js +8 -1
  84. package/dist/cjs/standard/resources/battery-storage.resource.js.map +1 -1
  85. package/dist/cjs/standard/resources/bridged-node.resource.js +7 -1
  86. package/dist/cjs/standard/resources/bridged-node.resource.js.map +1 -1
  87. package/dist/cjs/standard/resources/cooktop.resource.js +2 -1
  88. package/dist/cjs/standard/resources/cooktop.resource.js.map +1 -1
  89. package/dist/cjs/standard/resources/energy-evse-device.resource.js +4 -1
  90. package/dist/cjs/standard/resources/energy-evse-device.resource.js.map +1 -1
  91. package/dist/cjs/standard/resources/extractor-hood.resource.js +2 -1
  92. package/dist/cjs/standard/resources/extractor-hood.resource.js.map +1 -1
  93. package/dist/cjs/standard/resources/fan.resource.js +2 -1
  94. package/dist/cjs/standard/resources/fan.resource.js.map +1 -1
  95. package/dist/cjs/standard/resources/heat-pump.resource.js +7 -1
  96. package/dist/cjs/standard/resources/heat-pump.resource.js.map +1 -1
  97. package/dist/cjs/standard/resources/microwave-oven.resource.js +2 -1
  98. package/dist/cjs/standard/resources/microwave-oven.resource.js.map +1 -1
  99. package/dist/cjs/standard/resources/oven.resource.js +5 -1
  100. package/dist/cjs/standard/resources/oven.resource.js.map +1 -1
  101. package/dist/cjs/standard/resources/refrigerator-device.resource.js +2 -1
  102. package/dist/cjs/standard/resources/refrigerator-device.resource.js.map +1 -1
  103. package/dist/cjs/standard/resources/room-air-conditioner-device.resource.js +3 -1
  104. package/dist/cjs/standard/resources/room-air-conditioner-device.resource.js.map +1 -1
  105. package/dist/cjs/standard/resources/root-node.resource.js +1 -0
  106. package/dist/cjs/standard/resources/root-node.resource.js.map +1 -1
  107. package/dist/cjs/standard/resources/smoke-co-alarm-device.resource.js +2 -1
  108. package/dist/cjs/standard/resources/smoke-co-alarm-device.resource.js.map +1 -1
  109. package/dist/cjs/standard/resources/solar-power.resource.js +7 -1
  110. package/dist/cjs/standard/resources/solar-power.resource.js.map +1 -1
  111. package/dist/cjs/standard/resources/water-heater.resource.js +5 -1
  112. package/dist/cjs/standard/resources/water-heater.resource.js.map +1 -1
  113. package/dist/esm/aspects/Conformance.d.ts +6 -2
  114. package/dist/esm/aspects/Conformance.d.ts.map +1 -1
  115. package/dist/esm/aspects/Conformance.js +4 -6
  116. package/dist/esm/aspects/Conformance.js.map +1 -1
  117. package/dist/esm/elements/RequirementElement.d.ts +2 -1
  118. package/dist/esm/elements/RequirementElement.d.ts.map +1 -1
  119. package/dist/esm/elements/RequirementElement.js +1 -0
  120. package/dist/esm/elements/RequirementElement.js.map +1 -1
  121. package/dist/esm/logic/ClusterModifier.d.ts +3 -3
  122. package/dist/esm/logic/ClusterModifier.d.ts.map +1 -1
  123. package/dist/esm/logic/ClusterModifier.js +3 -3
  124. package/dist/esm/logic/ClusterModifier.js.map +1 -1
  125. package/dist/esm/logic/Scope.d.ts +10 -2
  126. package/dist/esm/logic/Scope.d.ts.map +1 -1
  127. package/dist/esm/logic/Scope.js +32 -25
  128. package/dist/esm/logic/Scope.js.map +2 -2
  129. package/dist/esm/logic/definition-validation/RequirementValidator.js +2 -2
  130. package/dist/esm/logic/definition-validation/RequirementValidator.js.map +1 -1
  131. package/dist/esm/logic/definition-validation/ValueValidator.js +1 -1
  132. package/dist/esm/logic/definition-validation/ValueValidator.js.map +1 -1
  133. package/dist/esm/models/ClusterModel.d.ts +3 -2
  134. package/dist/esm/models/ClusterModel.d.ts.map +1 -1
  135. package/dist/esm/models/ClusterModel.js +1 -1
  136. package/dist/esm/models/ClusterModel.js.map +1 -1
  137. package/dist/esm/models/Model.d.ts +7 -3
  138. package/dist/esm/models/Model.d.ts.map +1 -1
  139. package/dist/esm/models/Model.js +12 -2
  140. package/dist/esm/models/Model.js.map +1 -1
  141. package/dist/esm/models/Schema.d.ts +10 -2
  142. package/dist/esm/models/Schema.d.ts.map +1 -1
  143. package/dist/esm/models/Schema.js +1 -0
  144. package/dist/esm/models/Schema.js.map +1 -1
  145. package/dist/esm/standard/elements/air-purifier.element.d.ts.map +1 -1
  146. package/dist/esm/standard/elements/air-purifier.element.js +5 -1
  147. package/dist/esm/standard/elements/air-purifier.element.js.map +1 -1
  148. package/dist/esm/standard/elements/battery-storage.element.d.ts.map +1 -1
  149. package/dist/esm/standard/elements/battery-storage.element.js +49 -1
  150. package/dist/esm/standard/elements/battery-storage.element.js.map +1 -1
  151. package/dist/esm/standard/elements/bridged-node.element.d.ts.map +1 -1
  152. package/dist/esm/standard/elements/bridged-node.element.js +1 -0
  153. package/dist/esm/standard/elements/bridged-node.element.js.map +1 -1
  154. package/dist/esm/standard/elements/cooktop.element.d.ts.map +1 -1
  155. package/dist/esm/standard/elements/cooktop.element.js +2 -1
  156. package/dist/esm/standard/elements/cooktop.element.js.map +1 -1
  157. package/dist/esm/standard/elements/energy-evse-device.element.d.ts.map +1 -1
  158. package/dist/esm/standard/elements/energy-evse-device.element.js +4 -1
  159. package/dist/esm/standard/elements/energy-evse-device.element.js.map +1 -1
  160. package/dist/esm/standard/elements/extractor-hood.element.d.ts.map +1 -1
  161. package/dist/esm/standard/elements/extractor-hood.element.js +2 -1
  162. package/dist/esm/standard/elements/extractor-hood.element.js.map +1 -1
  163. package/dist/esm/standard/elements/fan.element.d.ts.map +1 -1
  164. package/dist/esm/standard/elements/fan.element.js +2 -1
  165. package/dist/esm/standard/elements/fan.element.js.map +1 -1
  166. package/dist/esm/standard/elements/heat-pump.element.d.ts.map +1 -1
  167. package/dist/esm/standard/elements/heat-pump.element.js +43 -1
  168. package/dist/esm/standard/elements/heat-pump.element.js.map +1 -1
  169. package/dist/esm/standard/elements/microwave-oven.element.d.ts.map +1 -1
  170. package/dist/esm/standard/elements/microwave-oven.element.js +2 -1
  171. package/dist/esm/standard/elements/microwave-oven.element.js.map +1 -1
  172. package/dist/esm/standard/elements/oven.element.d.ts.map +1 -1
  173. package/dist/esm/standard/elements/oven.element.js +3 -1
  174. package/dist/esm/standard/elements/oven.element.js.map +1 -1
  175. package/dist/esm/standard/elements/refrigerator-device.element.d.ts.map +1 -1
  176. package/dist/esm/standard/elements/refrigerator-device.element.js +2 -1
  177. package/dist/esm/standard/elements/refrigerator-device.element.js.map +1 -1
  178. package/dist/esm/standard/elements/room-air-conditioner-device.element.d.ts.map +1 -1
  179. package/dist/esm/standard/elements/room-air-conditioner-device.element.js +3 -1
  180. package/dist/esm/standard/elements/room-air-conditioner-device.element.js.map +1 -1
  181. package/dist/esm/standard/elements/root-node.element.d.ts.map +1 -1
  182. package/dist/esm/standard/elements/root-node.element.js +1 -0
  183. package/dist/esm/standard/elements/root-node.element.js.map +1 -1
  184. package/dist/esm/standard/elements/smoke-co-alarm-device.element.d.ts.map +1 -1
  185. package/dist/esm/standard/elements/smoke-co-alarm-device.element.js +2 -1
  186. package/dist/esm/standard/elements/smoke-co-alarm-device.element.js.map +1 -1
  187. package/dist/esm/standard/elements/solar-power.element.d.ts.map +1 -1
  188. package/dist/esm/standard/elements/solar-power.element.js +38 -1
  189. package/dist/esm/standard/elements/solar-power.element.js.map +1 -1
  190. package/dist/esm/standard/elements/water-heater.element.d.ts.map +1 -1
  191. package/dist/esm/standard/elements/water-heater.element.js +5 -1
  192. package/dist/esm/standard/elements/water-heater.element.js.map +1 -1
  193. package/dist/esm/standard/resources/air-purifier.resource.js +5 -1
  194. package/dist/esm/standard/resources/air-purifier.resource.js.map +1 -1
  195. package/dist/esm/standard/resources/battery-storage.resource.js +8 -1
  196. package/dist/esm/standard/resources/battery-storage.resource.js.map +1 -1
  197. package/dist/esm/standard/resources/bridged-node.resource.js +7 -1
  198. package/dist/esm/standard/resources/bridged-node.resource.js.map +1 -1
  199. package/dist/esm/standard/resources/cooktop.resource.js +2 -1
  200. package/dist/esm/standard/resources/cooktop.resource.js.map +1 -1
  201. package/dist/esm/standard/resources/energy-evse-device.resource.js +4 -1
  202. package/dist/esm/standard/resources/energy-evse-device.resource.js.map +1 -1
  203. package/dist/esm/standard/resources/extractor-hood.resource.js +2 -1
  204. package/dist/esm/standard/resources/extractor-hood.resource.js.map +1 -1
  205. package/dist/esm/standard/resources/fan.resource.js +2 -1
  206. package/dist/esm/standard/resources/fan.resource.js.map +1 -1
  207. package/dist/esm/standard/resources/heat-pump.resource.js +7 -1
  208. package/dist/esm/standard/resources/heat-pump.resource.js.map +1 -1
  209. package/dist/esm/standard/resources/microwave-oven.resource.js +2 -1
  210. package/dist/esm/standard/resources/microwave-oven.resource.js.map +1 -1
  211. package/dist/esm/standard/resources/oven.resource.js +5 -1
  212. package/dist/esm/standard/resources/oven.resource.js.map +1 -1
  213. package/dist/esm/standard/resources/refrigerator-device.resource.js +2 -1
  214. package/dist/esm/standard/resources/refrigerator-device.resource.js.map +1 -1
  215. package/dist/esm/standard/resources/room-air-conditioner-device.resource.js +3 -1
  216. package/dist/esm/standard/resources/room-air-conditioner-device.resource.js.map +1 -1
  217. package/dist/esm/standard/resources/root-node.resource.js +1 -0
  218. package/dist/esm/standard/resources/root-node.resource.js.map +1 -1
  219. package/dist/esm/standard/resources/smoke-co-alarm-device.resource.js +2 -1
  220. package/dist/esm/standard/resources/smoke-co-alarm-device.resource.js.map +1 -1
  221. package/dist/esm/standard/resources/solar-power.resource.js +7 -1
  222. package/dist/esm/standard/resources/solar-power.resource.js.map +1 -1
  223. package/dist/esm/standard/resources/water-heater.resource.js +5 -1
  224. package/dist/esm/standard/resources/water-heater.resource.js.map +1 -1
  225. package/package.json +4 -4
  226. package/src/aspects/Conformance.ts +9 -7
  227. package/src/elements/RequirementElement.ts +1 -0
  228. package/src/logic/ClusterModifier.ts +3 -3
  229. package/src/logic/Scope.ts +39 -21
  230. package/src/logic/definition-validation/RequirementValidator.ts +7 -2
  231. package/src/logic/definition-validation/ValueValidator.ts +1 -1
  232. package/src/models/ClusterModel.ts +6 -2
  233. package/src/models/Model.ts +16 -6
  234. package/src/models/Schema.ts +13 -1
  235. package/src/standard/elements/air-purifier.element.ts +5 -1
  236. package/src/standard/elements/battery-storage.element.ts +58 -1
  237. package/src/standard/elements/bridged-node.element.ts +1 -0
  238. package/src/standard/elements/cooktop.element.ts +2 -1
  239. package/src/standard/elements/energy-evse-device.element.ts +4 -1
  240. package/src/standard/elements/extractor-hood.element.ts +3 -1
  241. package/src/standard/elements/fan.element.ts +2 -1
  242. package/src/standard/elements/heat-pump.element.ts +50 -1
  243. package/src/standard/elements/microwave-oven.element.ts +2 -1
  244. package/src/standard/elements/oven.element.ts +3 -1
  245. package/src/standard/elements/refrigerator-device.element.ts +2 -1
  246. package/src/standard/elements/room-air-conditioner-device.element.ts +3 -1
  247. package/src/standard/elements/root-node.element.ts +1 -0
  248. package/src/standard/elements/smoke-co-alarm-device.element.ts +2 -1
  249. package/src/standard/elements/solar-power.element.ts +42 -1
  250. package/src/standard/elements/water-heater.element.ts +5 -1
  251. package/src/standard/resources/air-purifier.resource.ts +5 -1
  252. package/src/standard/resources/battery-storage.resource.ts +9 -1
  253. package/src/standard/resources/bridged-node.resource.ts +5 -1
  254. package/src/standard/resources/cooktop.resource.ts +2 -1
  255. package/src/standard/resources/energy-evse-device.resource.ts +4 -1
  256. package/src/standard/resources/extractor-hood.resource.ts +2 -1
  257. package/src/standard/resources/fan.resource.ts +2 -1
  258. package/src/standard/resources/heat-pump.resource.ts +7 -1
  259. package/src/standard/resources/microwave-oven.resource.ts +2 -1
  260. package/src/standard/resources/oven.resource.ts +5 -1
  261. package/src/standard/resources/refrigerator-device.resource.ts +3 -1
  262. package/src/standard/resources/room-air-conditioner-device.resource.ts +3 -1
  263. package/src/standard/resources/root-node.resource.ts +1 -0
  264. package/src/standard/resources/smoke-co-alarm-device.resource.ts +2 -1
  265. package/src/standard/resources/solar-power.resource.ts +8 -1
  266. package/src/standard/resources/water-heater.resource.ts +5 -1
@@ -16,7 +16,56 @@ export const HeatPumpDt = DeviceType(
16
16
  Requirement({ name: "DeviceTypeList", default: [ { deviceType: 777, revision: 1 } ], element: "attribute" })
17
17
  ),
18
18
  Requirement({ name: "Identify", id: 0x3, conformance: "O", element: "serverCluster" }),
19
- Requirement({ name: "Thermostat", id: 0x201, conformance: "O", element: "clientCluster" })
19
+ Requirement({ name: "Thermostat", id: 0x201, conformance: "O", element: "clientCluster" }),
20
+
21
+ Requirement(
22
+ { name: "PowerSource", id: 0x11, conformance: "M", element: "deviceType" },
23
+ Requirement(
24
+ { name: "PowerSource", id: 0x2f, element: "serverCluster" },
25
+ Requirement({ name: "Wired", conformance: "M", element: "feature" })
26
+ ),
27
+ Requirement(
28
+ { name: "Descriptor", id: 0x1d, element: "serverCluster" },
29
+ Requirement({ name: "TagList", conformance: "M", element: "feature" })
30
+ )
31
+ ),
32
+
33
+ Requirement(
34
+ { name: "ElectricalSensor", id: 0x510, conformance: "M", element: "deviceType" },
35
+
36
+ Requirement(
37
+ { name: "ElectricalPowerMeasurement", id: 0x90, element: "serverCluster" },
38
+ Requirement({ name: "AlternatingCurrent", conformance: "M", element: "feature" }),
39
+ Requirement({ name: "Voltage", conformance: "M", element: "attribute" }),
40
+ Requirement({ name: "ActiveCurrent", conformance: "M", element: "attribute" })
41
+ )
42
+ ),
43
+
44
+ Requirement(
45
+ { name: "DeviceEnergyManagement", id: 0x50d, conformance: "M", element: "deviceType" },
46
+ Requirement(
47
+ { name: "DeviceEnergyManagement", id: 0x98, element: "serverCluster" },
48
+ Requirement({ name: "PowerAdjustment", conformance: "M", element: "feature" })
49
+ )
50
+ ),
51
+
52
+ Requirement(
53
+ { name: "Thermostat", id: 0x301, conformance: "O", element: "deviceType" },
54
+ Requirement(
55
+ { name: "Descriptor", id: 0x1d, element: "serverCluster" },
56
+ Requirement({ name: "TagList", conformance: "M", element: "feature" })
57
+ )
58
+ ),
59
+
60
+ Requirement({ name: "WaterHeater", id: 0x50f, conformance: "O", element: "deviceType" }),
61
+
62
+ Requirement(
63
+ { name: "TemperatureSensor", id: 0x302, conformance: "O", element: "deviceType" },
64
+ Requirement(
65
+ { name: "Descriptor", id: 0x1d, element: "serverCluster" },
66
+ Requirement({ name: "TagList", conformance: "M", element: "feature" })
67
+ )
68
+ )
20
69
  );
21
70
 
22
71
  MatterDefinition.children.push(HeatPumpDt);
@@ -27,7 +27,8 @@ export const MicrowaveOvenDt = DeviceType(
27
27
  Requirement({ name: "AIRFLOWDIRECTION", conformance: "X", element: "feature" })
28
28
  ),
29
29
  Requirement({ name: "MicrowaveOvenMode", id: 0x5e, conformance: "M", element: "serverCluster" }),
30
- Requirement({ name: "MicrowaveOvenControl", id: 0x5f, conformance: "M", element: "serverCluster" })
30
+ Requirement({ name: "MicrowaveOvenControl", id: 0x5f, conformance: "M", element: "serverCluster" }),
31
+ Requirement({ name: "OnOffLight", id: 0x100, conformance: "O", element: "deviceType" })
31
32
  );
32
33
 
33
34
  MatterDefinition.children.push(MicrowaveOvenDt);
@@ -15,7 +15,9 @@ export const OvenDt = DeviceType(
15
15
  { name: "Descriptor", id: 0x1d, element: "serverCluster" },
16
16
  Requirement({ name: "DeviceTypeList", default: [ { deviceType: 123, revision: 2 } ], element: "attribute" })
17
17
  ),
18
- Requirement({ name: "Identify", id: 0x3, conformance: "O", element: "serverCluster" })
18
+ Requirement({ name: "Identify", id: 0x3, conformance: "O", element: "serverCluster" }),
19
+ Requirement({ name: "TemperatureControlledCabinet", id: 0x71, conformance: "M", element: "deviceType" }),
20
+ Requirement({ name: "Cooktop", id: 0x78, conformance: "O", element: "deviceType" })
19
21
  );
20
22
 
21
23
  MatterDefinition.children.push(OvenDt);
@@ -26,7 +26,8 @@ export const RefrigeratorDt = DeviceType(
26
26
  Requirement({ name: "ONOFF", conformance: "X", element: "feature" })
27
27
  ),
28
28
 
29
- Requirement({ name: "RefrigeratorAlarm", id: 0x57, conformance: "O", element: "serverCluster" })
29
+ Requirement({ name: "RefrigeratorAlarm", id: 0x57, conformance: "O", element: "serverCluster" }),
30
+ Requirement({ name: "TemperatureControlledCabinet", id: 0x71, conformance: "M", element: "deviceType" })
30
31
  );
31
32
 
32
33
  MatterDefinition.children.push(RefrigeratorDt);
@@ -29,7 +29,9 @@ export const RoomAirConditionerDt = DeviceType(
29
29
  Requirement({ name: "KeypadLockout", conformance: "O", element: "attribute" })
30
30
  ),
31
31
  Requirement({ name: "TemperatureMeasurement", id: 0x402, conformance: "O", element: "serverCluster" }),
32
- Requirement({ name: "RelativeHumidityMeasurement", id: 0x405, conformance: "O", element: "serverCluster" })
32
+ Requirement({ name: "RelativeHumidityMeasurement", id: 0x405, conformance: "O", element: "serverCluster" }),
33
+ Requirement({ name: "TemperatureSensor", id: 0x302, conformance: "O", element: "deviceType" }),
34
+ Requirement({ name: "HumiditySensor", id: 0x307, conformance: "O", element: "deviceType" })
33
35
  );
34
36
 
35
37
  MatterDefinition.children.push(RoomAirConditionerDt);
@@ -51,6 +51,7 @@ export const RootNodeDt = DeviceType(
51
51
  { name: "IcdManagement", id: 0x46, conformance: "SIT | LIT", element: "serverCluster", quality: "I" },
52
52
  Requirement({ name: "LONGIDLETIMESUPPORT", conformance: "LIT", element: "feature" })
53
53
  ),
54
+ Requirement({ name: "PowerSource", id: 0x11, conformance: "O", element: "deviceType" }),
54
55
  Field(
55
56
  { name: "conditions", type: "enum8" },
56
57
  Field({ name: "CustomNetworkConfig" }),
@@ -20,7 +20,8 @@ export const SmokeCoAlarmDt = DeviceType(
20
20
  Requirement({ name: "SmokeCoAlarm", id: 0x5c, conformance: "M", element: "serverCluster" }),
21
21
  Requirement({ name: "RelativeHumidityMeasurement", id: 0x405, conformance: "O", element: "serverCluster" }),
22
22
  Requirement({ name: "TemperatureMeasurement", id: 0x402, conformance: "O", element: "serverCluster" }),
23
- Requirement({ name: "CarbonMonoxideConcentrationMeasurement", id: 0x40c, conformance: "O", element: "serverCluster" })
23
+ Requirement({ name: "CarbonMonoxideConcentrationMeasurement", id: 0x40c, conformance: "O", element: "serverCluster" }),
24
+ Requirement({ name: "PowerSource", id: 0x11, conformance: "M", element: "deviceType" })
24
25
  );
25
26
 
26
27
  MatterDefinition.children.push(SmokeCoAlarmDt);
@@ -15,7 +15,48 @@ export const SolarPowerDt = DeviceType(
15
15
  { name: "Descriptor", id: 0x1d, element: "serverCluster" },
16
16
  Requirement({ name: "DeviceTypeList", default: [ { deviceType: 23, revision: 1 } ], element: "attribute" })
17
17
  ),
18
- Requirement({ name: "Identify", id: 0x3, conformance: "O", element: "serverCluster" })
18
+ Requirement({ name: "Identify", id: 0x3, conformance: "O", element: "serverCluster" }),
19
+
20
+ Requirement(
21
+ { name: "PowerSource", id: 0x11, conformance: "M", element: "deviceType" },
22
+ Requirement(
23
+ { name: "PowerSource", id: 0x2f, element: "serverCluster" },
24
+ Requirement({ name: "Wired", conformance: "M", element: "feature" })
25
+ ),
26
+ Requirement(
27
+ { name: "Descriptor", id: 0x1d, element: "serverCluster" },
28
+ Requirement({ name: "TagList", conformance: "M", element: "feature" })
29
+ )
30
+ ),
31
+
32
+ Requirement(
33
+ { name: "ElectricalSensor", id: 0x510, conformance: "M", element: "deviceType" },
34
+ Requirement(
35
+ { name: "ElectricalPowerMeasurement", id: 0x90, element: "serverCluster" },
36
+ Requirement({ name: "Voltage", conformance: "M", element: "attribute" }),
37
+ Requirement({ name: "ActiveCurrent", conformance: "M", element: "attribute" })
38
+ ),
39
+ Requirement(
40
+ { name: "ElectricalEnergyMeasurement", id: 0x91, element: "serverCluster" },
41
+ Requirement({ name: "ExportedEnergy", conformance: "M", element: "feature" })
42
+ )
43
+ ),
44
+
45
+ Requirement(
46
+ { name: "DeviceEnergyManagement", id: 0x50d, conformance: "O", element: "deviceType" },
47
+ Requirement(
48
+ { name: "DeviceEnergyManagement", id: 0x98, element: "serverCluster" },
49
+ Requirement({ name: "PowerAdjustment", conformance: "M", element: "feature" })
50
+ )
51
+ ),
52
+
53
+ Requirement(
54
+ { name: "TemperatureSensor", id: 0x302, conformance: "O", element: "deviceType" },
55
+ Requirement(
56
+ { name: "Descriptor", id: 0x1d, element: "serverCluster" },
57
+ Requirement({ name: "TagList", conformance: "M", element: "feature" })
58
+ )
59
+ )
19
60
  );
20
61
 
21
62
  MatterDefinition.children.push(SolarPowerDt);
@@ -21,7 +21,11 @@ export const WaterHeaterDt = DeviceType(
21
21
  Requirement({ name: "HEATING", conformance: "M", element: "feature" })
22
22
  ),
23
23
  Requirement({ name: "WaterHeaterManagement", id: 0x94, conformance: "M", element: "serverCluster" }),
24
- Requirement({ name: "WaterHeaterMode", id: 0x9e, conformance: "M", element: "serverCluster" })
24
+ Requirement({ name: "WaterHeaterMode", id: 0x9e, conformance: "M", element: "serverCluster" }),
25
+ Requirement({ name: "PowerSource", id: 0x11, conformance: "O", element: "deviceType" }),
26
+ Requirement({ name: "TemperatureSensor", id: 0x302, conformance: "O", element: "deviceType" }),
27
+ Requirement({ name: "ElectricalSensor", id: 0x510, conformance: "desc", element: "deviceType" }),
28
+ Requirement({ name: "DeviceEnergyManagement", id: 0x50d, conformance: "O", element: "deviceType" })
25
29
  );
26
30
 
27
31
  MatterDefinition.children.push(WaterHeaterDt);
@@ -21,6 +21,10 @@ Resource.add({
21
21
  { tag: "requirement", name: "OnOff", xref: "device§9.3.5" },
22
22
  { tag: "requirement", name: "FanControl", xref: "device§9.3.5" },
23
23
  { tag: "requirement", name: "HepaFilterMonitoring", xref: "device§9.3.5" },
24
- { tag: "requirement", name: "ActivatedCarbonFilterMonitoring", xref: "device§9.3.5" }
24
+ { tag: "requirement", name: "ActivatedCarbonFilterMonitoring", xref: "device§9.3.5" },
25
+ { tag: "requirement", name: "Thermostat", xref: "device§9.3.4" },
26
+ { tag: "requirement", name: "TemperatureSensor", xref: "device§9.3.4" },
27
+ { tag: "requirement", name: "HumiditySensor", xref: "device§9.3.4" },
28
+ { tag: "requirement", name: "AirQualitySensor", xref: "device§9.3.4" }
25
29
  ]
26
30
  });
@@ -15,5 +15,13 @@ Resource.add({
15
15
  "monitored and controlled by an Energy Management System in order to manage the peaks and troughs of " +
16
16
  "supply and demand, and/or to optimize cost of the energy consumed in premises. It is not intended to " +
17
17
  "be used for a UPS directly supplying a set of appliances, nor for portable battery storage devices.",
18
- children: [{ tag: "requirement", name: "Identify", xref: "device§14.4.7" }]
18
+
19
+ children: [
20
+ { tag: "requirement", name: "Identify", xref: "device§14.4.7" },
21
+ { tag: "requirement", name: "PowerSource", xref: "device§14.4.5" },
22
+ { tag: "requirement", name: "ElectricalSensor", xref: "device§14.4.5" },
23
+ { tag: "requirement", name: "DeviceEnergyManagement", xref: "device§14.4.5" },
24
+ { tag: "requirement", name: "TemperatureSensor", xref: "device§14.4.5" },
25
+ { tag: "requirement", name: "SolarPower", xref: "device§14.4.5" }
26
+ ]
19
27
  });
@@ -18,9 +18,13 @@ Resource.add({
18
18
  children: [
19
19
  { tag: "requirement", name: "BridgedDeviceBasicInformation", xref: "device§2.5.5" },
20
20
  { tag: "requirement", name: "PowerSourceConfiguration", xref: "device§2.5.5" },
21
- { tag: "requirement", name: "PowerSource", xref: "device§2.5.5" },
21
+ {
22
+ tag: "requirement", name: "PowerSource", discriminator: "BridgedPowerSourceInfo:serverCluster",
23
+ xref: "device§2.5.5"
24
+ },
22
25
  { tag: "requirement", name: "EcosystemInformation", xref: "device§2.5.5" },
23
26
  { tag: "requirement", name: "AdministratorCommissioning", xref: "device§2.5.5" },
27
+ { tag: "requirement", name: "PowerSource", discriminator: "O:deviceType", xref: "device§2.5.4" },
24
28
 
25
29
  {
26
30
  tag: "field", name: "conditions",
@@ -15,6 +15,7 @@ Resource.add({
15
15
  "placed above or through traditional gas or electric burners.",
16
16
  children: [
17
17
  { tag: "requirement", name: "Identify", xref: "device§13.8.5" },
18
- { tag: "requirement", name: "OnOff", xref: "device§13.8.5" }
18
+ { tag: "requirement", name: "OnOff", xref: "device§13.8.5" },
19
+ { tag: "requirement", name: "CookSurface", xref: "device§13.8.4" }
19
20
  ]
20
21
  });
@@ -18,6 +18,9 @@ Resource.add({
18
18
  { tag: "requirement", name: "Identify", xref: "device§14.1.6" },
19
19
  { tag: "requirement", name: "EnergyEvse", xref: "device§14.1.6" },
20
20
  { tag: "requirement", name: "EnergyEvseMode", xref: "device§14.1.6" },
21
- { tag: "requirement", name: "TemperatureMeasurement", xref: "device§14.1.6" }
21
+ { tag: "requirement", name: "TemperatureMeasurement", xref: "device§14.1.6" },
22
+ { tag: "requirement", name: "PowerSource", xref: "device§14.1.5" },
23
+ { tag: "requirement", name: "ElectricalSensor", xref: "device§14.1.5" },
24
+ { tag: "requirement", name: "DeviceEnergyManagement", xref: "device§14.1.5" }
22
25
  ]
23
26
  });
@@ -34,6 +34,7 @@ Resource.add({
34
34
  { tag: "requirement", name: "Identify", xref: "device§13.10.5" },
35
35
  { tag: "requirement", name: "HepaFilterMonitoring", xref: "device§13.10.5" },
36
36
  { tag: "requirement", name: "ActivatedCarbonFilterMonitoring", xref: "device§13.10.5" },
37
- { tag: "requirement", name: "FanControl", xref: "device§13.10.5" }
37
+ { tag: "requirement", name: "FanControl", xref: "device§13.10.5" },
38
+ { tag: "requirement", name: "OnOffLight", xref: "device§13.10.4" }
38
39
  ]
39
40
  });
@@ -17,6 +17,7 @@ Resource.add({
17
17
  { tag: "requirement", name: "Identify", xref: "device§9.2.5" },
18
18
  { tag: "requirement", name: "Groups", xref: "device§9.2.5" },
19
19
  { tag: "requirement", name: "OnOff", xref: "device§9.2.5" },
20
- { tag: "requirement", name: "FanControl", xref: "device§9.2.5" }
20
+ { tag: "requirement", name: "FanControl", xref: "device§9.2.5" },
21
+ { tag: "requirement", name: "Thermostat", xref: "device§9.2.4" }
21
22
  ]
22
23
  });
@@ -21,6 +21,12 @@ Resource.add({
21
21
 
22
22
  children: [
23
23
  { tag: "requirement", name: "Identify", xref: "device§14.5.7" },
24
- { tag: "requirement", name: "Thermostat", xref: "device§14.5.7" }
24
+ { tag: "requirement", name: "Thermostat", discriminator: "O:clientCluster", xref: "device§14.5.7" },
25
+ { tag: "requirement", name: "PowerSource", xref: "device§14.5.5" },
26
+ { tag: "requirement", name: "ElectricalSensor", xref: "device§14.5.5" },
27
+ { tag: "requirement", name: "DeviceEnergyManagement", xref: "device§14.5.5" },
28
+ { tag: "requirement", name: "Thermostat", discriminator: "O:deviceType", xref: "device§14.5.5" },
29
+ { tag: "requirement", name: "WaterHeater", xref: "device§14.5.5" },
30
+ { tag: "requirement", name: "TemperatureSensor", xref: "device§14.5.5" }
25
31
  ]
26
32
  });
@@ -20,6 +20,7 @@ Resource.add({
20
20
  { tag: "requirement", name: "OperationalState", xref: "device§13.11.6" },
21
21
  { tag: "requirement", name: "FanControl", xref: "device§13.11.6" },
22
22
  { tag: "requirement", name: "MicrowaveOvenMode", xref: "device§13.11.6" },
23
- { tag: "requirement", name: "MicrowaveOvenControl", xref: "device§13.11.6" }
23
+ { tag: "requirement", name: "MicrowaveOvenControl", xref: "device§13.11.6" },
24
+ { tag: "requirement", name: "OnOffLight", xref: "device§13.11.5" }
24
25
  ]
25
26
  });
@@ -13,5 +13,9 @@ Resource.add({
13
13
  details: "An oven represents a device that contains one or more cabinets, and optionally a single cooktop, " +
14
14
  "that are all capable of heating food. Examples of consumer products implementing this device type " +
15
15
  "include ovens, wall ovens, convection ovens, etc.",
16
- children: [{ tag: "requirement", name: "Identify", xref: "device§13.9.6" }]
16
+ children: [
17
+ { tag: "requirement", name: "Identify", xref: "device§13.9.6" },
18
+ { tag: "requirement", name: "TemperatureControlledCabinet", xref: "device§13.9.5" },
19
+ { tag: "requirement", name: "Cooktop", xref: "device§13.9.5" }
20
+ ]
17
21
  });
@@ -13,9 +13,11 @@ Resource.add({
13
13
  details: "A refrigerator represents a device that contains one or more cabinets that are capable of chilling " +
14
14
  "or freezing food. Examples of consumer products that may make use of this device type include " +
15
15
  "refrigerators, freezers, and wine coolers.",
16
+
16
17
  children: [
17
18
  { tag: "requirement", name: "Identify", xref: "device§13.2.6" },
18
19
  { tag: "requirement", name: "RefrigeratorAndTemperatureControlledCabinetMode", xref: "device§13.2.6" },
19
- { tag: "requirement", name: "RefrigeratorAlarm", xref: "device§13.2.6" }
20
+ { tag: "requirement", name: "RefrigeratorAlarm", xref: "device§13.2.6" },
21
+ { tag: "requirement", name: "TemperatureControlledCabinet", xref: "device§13.2.5" }
20
22
  ]
21
23
  });
@@ -24,6 +24,8 @@ Resource.add({
24
24
  { tag: "requirement", name: "FanControl", xref: "device§13.3.6" },
25
25
  { tag: "requirement", name: "ThermostatUserInterfaceConfiguration", xref: "device§13.3.6" },
26
26
  { tag: "requirement", name: "TemperatureMeasurement", xref: "device§13.3.6" },
27
- { tag: "requirement", name: "RelativeHumidityMeasurement", xref: "device§13.3.6" }
27
+ { tag: "requirement", name: "RelativeHumidityMeasurement", xref: "device§13.3.6" },
28
+ { tag: "requirement", name: "TemperatureSensor", xref: "device§13.3.5" },
29
+ { tag: "requirement", name: "HumiditySensor", xref: "device§13.3.5" }
28
30
  ]
29
31
  });
@@ -43,6 +43,7 @@ Resource.add({
43
43
  { tag: "requirement", name: "WiFiNetworkDiagnostics", xref: "device§2.1.5" },
44
44
  { tag: "requirement", name: "ThreadNetworkDiagnostics", xref: "device§2.1.5" },
45
45
  { tag: "requirement", name: "IcdManagement", xref: "device§2.1.5" },
46
+ { tag: "requirement", name: "PowerSource", xref: "device§2.1.4" },
46
47
 
47
48
  {
48
49
  tag: "field", name: "conditions",
@@ -29,6 +29,7 @@ Resource.add({
29
29
  { tag: "requirement", name: "SmokeCoAlarm", xref: "device§7.9.5" },
30
30
  { tag: "requirement", name: "RelativeHumidityMeasurement", xref: "device§7.9.5" },
31
31
  { tag: "requirement", name: "TemperatureMeasurement", xref: "device§7.9.5" },
32
- { tag: "requirement", name: "CarbonMonoxideConcentrationMeasurement", xref: "device§7.9.5" }
32
+ { tag: "requirement", name: "CarbonMonoxideConcentrationMeasurement", xref: "device§7.9.5" },
33
+ { tag: "requirement", name: "PowerSource", xref: "device§7.9.4" }
33
34
  ]
34
35
  });
@@ -13,5 +13,12 @@ Resource.add({
13
13
  details: "A Solar Power device is a device that allows a solar panel array, which can optionally be comprised " +
14
14
  "of a set parallel strings of solar panels, and its associated controller and, if appropriate, " +
15
15
  "inverter, to be monitored and controlled by an Energy Management System.",
16
- children: [{ tag: "requirement", name: "Identify", xref: "device§14.3.6" }]
16
+
17
+ children: [
18
+ { tag: "requirement", name: "Identify", xref: "device§14.3.6" },
19
+ { tag: "requirement", name: "PowerSource", xref: "device§14.3.5" },
20
+ { tag: "requirement", name: "ElectricalSensor", xref: "device§14.3.5" },
21
+ { tag: "requirement", name: "DeviceEnergyManagement", xref: "device§14.3.5" },
22
+ { tag: "requirement", name: "TemperatureSensor", xref: "device§14.3.5" }
23
+ ]
17
24
  });
@@ -17,6 +17,10 @@ Resource.add({
17
17
  { tag: "requirement", name: "Identify", xref: "device§14.2.6" },
18
18
  { tag: "requirement", name: "Thermostat", xref: "device§14.2.6" },
19
19
  { tag: "requirement", name: "WaterHeaterManagement", xref: "device§14.2.6" },
20
- { tag: "requirement", name: "WaterHeaterMode", xref: "device§14.2.6" }
20
+ { tag: "requirement", name: "WaterHeaterMode", xref: "device§14.2.6" },
21
+ { tag: "requirement", name: "PowerSource", xref: "device§14.2.5" },
22
+ { tag: "requirement", name: "TemperatureSensor", xref: "device§14.2.5" },
23
+ { tag: "requirement", name: "ElectricalSensor", xref: "device§14.2.5" },
24
+ { tag: "requirement", name: "DeviceEnergyManagement", xref: "device§14.2.5" }
21
25
  ]
22
26
  });