matterbridge 3.3.4 → 3.3.5-dev-20251028-d89f93f

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 (305) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/broadcastServer.js +1 -92
  3. package/dist/broadcastServerTypes.js +0 -24
  4. package/dist/cli.js +1 -97
  5. package/dist/cliEmitter.js +0 -37
  6. package/dist/cliHistory.js +0 -38
  7. package/dist/clusters/export.js +0 -2
  8. package/dist/defaultConfigSchema.js +0 -24
  9. package/dist/deviceManager.js +8 -124
  10. package/dist/devices/airConditioner.js +0 -57
  11. package/dist/devices/batteryStorage.js +1 -48
  12. package/dist/devices/cooktop.js +0 -55
  13. package/dist/devices/dishwasher.js +0 -57
  14. package/dist/devices/evse.js +10 -74
  15. package/dist/devices/export.js +0 -5
  16. package/dist/devices/extractorHood.js +0 -42
  17. package/dist/devices/heatPump.js +2 -50
  18. package/dist/devices/laundryDryer.js +3 -62
  19. package/dist/devices/laundryWasher.js +4 -70
  20. package/dist/devices/microwaveOven.js +5 -88
  21. package/dist/devices/oven.js +0 -85
  22. package/dist/devices/refrigerator.js +0 -102
  23. package/dist/devices/roboticVacuumCleaner.js +9 -100
  24. package/dist/devices/solarPower.js +0 -38
  25. package/dist/devices/speaker.js +0 -84
  26. package/dist/devices/temperatureControl.js +3 -24
  27. package/dist/devices/waterHeater.js +2 -82
  28. package/dist/dgram/coap.js +13 -126
  29. package/dist/dgram/dgram.js +2 -114
  30. package/dist/dgram/mb_coap.js +3 -41
  31. package/dist/dgram/mb_mdns.js +15 -80
  32. package/dist/dgram/mdns.js +137 -299
  33. package/dist/dgram/multicast.js +1 -62
  34. package/dist/dgram/unicast.js +0 -54
  35. package/dist/frontend.js +165 -493
  36. package/dist/frontendTypes.js +0 -45
  37. package/dist/helpers.js +0 -53
  38. package/dist/index.js +0 -25
  39. package/dist/logger/export.js +0 -1
  40. package/dist/matter/behaviors.js +0 -2
  41. package/dist/matter/clusters.js +0 -2
  42. package/dist/matter/devices.js +0 -2
  43. package/dist/matter/endpoints.js +0 -2
  44. package/dist/matter/export.js +0 -3
  45. package/dist/matter/types.js +0 -3
  46. package/dist/matterbridge.js +53 -828
  47. package/dist/matterbridgeAccessoryPlatform.js +0 -37
  48. package/dist/matterbridgeBehaviors.js +5 -68
  49. package/dist/matterbridgeDeviceTypes.js +17 -638
  50. package/dist/matterbridgeDynamicPlatform.js +0 -37
  51. package/dist/matterbridgeEndpoint.js +52 -1402
  52. package/dist/matterbridgeEndpointHelpers.js +19 -464
  53. package/dist/matterbridgePlatform.js +1 -341
  54. package/dist/matterbridgeTypes.js +0 -26
  55. package/dist/pluginManager.js +11 -319
  56. package/dist/shelly.js +7 -168
  57. package/dist/storage/export.js +0 -1
  58. package/dist/update.js +0 -69
  59. package/dist/utils/colorUtils.js +2 -97
  60. package/dist/utils/commandLine.js +0 -60
  61. package/dist/utils/copyDirectory.js +1 -38
  62. package/dist/utils/createDirectory.js +0 -33
  63. package/dist/utils/createZip.js +2 -47
  64. package/dist/utils/deepCopy.js +0 -39
  65. package/dist/utils/deepEqual.js +1 -72
  66. package/dist/utils/error.js +0 -41
  67. package/dist/utils/export.js +0 -1
  68. package/dist/utils/format.js +0 -49
  69. package/dist/utils/hex.js +0 -124
  70. package/dist/utils/inspector.js +1 -69
  71. package/dist/utils/isvalid.js +0 -101
  72. package/dist/utils/jestHelpers.js +3 -153
  73. package/dist/utils/network.js +5 -96
  74. package/dist/utils/spawn.js +0 -71
  75. package/dist/utils/tracker.js +1 -64
  76. package/dist/utils/wait.js +8 -60
  77. package/frontend/build/assets/index.js +4 -4
  78. package/frontend/package.json +1 -1
  79. package/npm-shrinkwrap.json +2 -2
  80. package/package.json +1 -2
  81. package/dist/broadcastServer.d.ts +0 -112
  82. package/dist/broadcastServer.d.ts.map +0 -1
  83. package/dist/broadcastServer.js.map +0 -1
  84. package/dist/broadcastServerTypes.d.ts +0 -793
  85. package/dist/broadcastServerTypes.d.ts.map +0 -1
  86. package/dist/broadcastServerTypes.js.map +0 -1
  87. package/dist/cli.d.ts +0 -30
  88. package/dist/cli.d.ts.map +0 -1
  89. package/dist/cli.js.map +0 -1
  90. package/dist/cliEmitter.d.ts +0 -50
  91. package/dist/cliEmitter.d.ts.map +0 -1
  92. package/dist/cliEmitter.js.map +0 -1
  93. package/dist/cliHistory.d.ts +0 -48
  94. package/dist/cliHistory.d.ts.map +0 -1
  95. package/dist/cliHistory.js.map +0 -1
  96. package/dist/clusters/export.d.ts +0 -2
  97. package/dist/clusters/export.d.ts.map +0 -1
  98. package/dist/clusters/export.js.map +0 -1
  99. package/dist/defaultConfigSchema.d.ts +0 -28
  100. package/dist/defaultConfigSchema.d.ts.map +0 -1
  101. package/dist/defaultConfigSchema.js.map +0 -1
  102. package/dist/deviceManager.d.ts +0 -117
  103. package/dist/deviceManager.d.ts.map +0 -1
  104. package/dist/deviceManager.js.map +0 -1
  105. package/dist/devices/airConditioner.d.ts +0 -98
  106. package/dist/devices/airConditioner.d.ts.map +0 -1
  107. package/dist/devices/airConditioner.js.map +0 -1
  108. package/dist/devices/batteryStorage.d.ts +0 -48
  109. package/dist/devices/batteryStorage.d.ts.map +0 -1
  110. package/dist/devices/batteryStorage.js.map +0 -1
  111. package/dist/devices/cooktop.d.ts +0 -60
  112. package/dist/devices/cooktop.d.ts.map +0 -1
  113. package/dist/devices/cooktop.js.map +0 -1
  114. package/dist/devices/dishwasher.d.ts +0 -71
  115. package/dist/devices/dishwasher.d.ts.map +0 -1
  116. package/dist/devices/dishwasher.js.map +0 -1
  117. package/dist/devices/evse.d.ts +0 -76
  118. package/dist/devices/evse.d.ts.map +0 -1
  119. package/dist/devices/evse.js.map +0 -1
  120. package/dist/devices/export.d.ts +0 -17
  121. package/dist/devices/export.d.ts.map +0 -1
  122. package/dist/devices/export.js.map +0 -1
  123. package/dist/devices/extractorHood.d.ts +0 -46
  124. package/dist/devices/extractorHood.d.ts.map +0 -1
  125. package/dist/devices/extractorHood.js.map +0 -1
  126. package/dist/devices/heatPump.d.ts +0 -47
  127. package/dist/devices/heatPump.d.ts.map +0 -1
  128. package/dist/devices/heatPump.js.map +0 -1
  129. package/dist/devices/laundryDryer.d.ts +0 -67
  130. package/dist/devices/laundryDryer.d.ts.map +0 -1
  131. package/dist/devices/laundryDryer.js.map +0 -1
  132. package/dist/devices/laundryWasher.d.ts +0 -81
  133. package/dist/devices/laundryWasher.d.ts.map +0 -1
  134. package/dist/devices/laundryWasher.js.map +0 -1
  135. package/dist/devices/microwaveOven.d.ts +0 -168
  136. package/dist/devices/microwaveOven.d.ts.map +0 -1
  137. package/dist/devices/microwaveOven.js.map +0 -1
  138. package/dist/devices/oven.d.ts +0 -105
  139. package/dist/devices/oven.d.ts.map +0 -1
  140. package/dist/devices/oven.js.map +0 -1
  141. package/dist/devices/refrigerator.d.ts +0 -118
  142. package/dist/devices/refrigerator.d.ts.map +0 -1
  143. package/dist/devices/refrigerator.js.map +0 -1
  144. package/dist/devices/roboticVacuumCleaner.d.ts +0 -112
  145. package/dist/devices/roboticVacuumCleaner.d.ts.map +0 -1
  146. package/dist/devices/roboticVacuumCleaner.js.map +0 -1
  147. package/dist/devices/solarPower.d.ts +0 -40
  148. package/dist/devices/solarPower.d.ts.map +0 -1
  149. package/dist/devices/solarPower.js.map +0 -1
  150. package/dist/devices/speaker.d.ts +0 -87
  151. package/dist/devices/speaker.d.ts.map +0 -1
  152. package/dist/devices/speaker.js.map +0 -1
  153. package/dist/devices/temperatureControl.d.ts +0 -166
  154. package/dist/devices/temperatureControl.d.ts.map +0 -1
  155. package/dist/devices/temperatureControl.js.map +0 -1
  156. package/dist/devices/waterHeater.d.ts +0 -111
  157. package/dist/devices/waterHeater.d.ts.map +0 -1
  158. package/dist/devices/waterHeater.js.map +0 -1
  159. package/dist/dgram/coap.d.ts +0 -205
  160. package/dist/dgram/coap.d.ts.map +0 -1
  161. package/dist/dgram/coap.js.map +0 -1
  162. package/dist/dgram/dgram.d.ts +0 -141
  163. package/dist/dgram/dgram.d.ts.map +0 -1
  164. package/dist/dgram/dgram.js.map +0 -1
  165. package/dist/dgram/mb_coap.d.ts +0 -24
  166. package/dist/dgram/mb_coap.d.ts.map +0 -1
  167. package/dist/dgram/mb_coap.js.map +0 -1
  168. package/dist/dgram/mb_mdns.d.ts +0 -24
  169. package/dist/dgram/mb_mdns.d.ts.map +0 -1
  170. package/dist/dgram/mb_mdns.js.map +0 -1
  171. package/dist/dgram/mdns.d.ts +0 -290
  172. package/dist/dgram/mdns.d.ts.map +0 -1
  173. package/dist/dgram/mdns.js.map +0 -1
  174. package/dist/dgram/multicast.d.ts +0 -67
  175. package/dist/dgram/multicast.d.ts.map +0 -1
  176. package/dist/dgram/multicast.js.map +0 -1
  177. package/dist/dgram/unicast.d.ts +0 -56
  178. package/dist/dgram/unicast.d.ts.map +0 -1
  179. package/dist/dgram/unicast.js.map +0 -1
  180. package/dist/frontend.d.ts +0 -235
  181. package/dist/frontend.d.ts.map +0 -1
  182. package/dist/frontend.js.map +0 -1
  183. package/dist/frontendTypes.d.ts +0 -529
  184. package/dist/frontendTypes.d.ts.map +0 -1
  185. package/dist/frontendTypes.js.map +0 -1
  186. package/dist/helpers.d.ts +0 -48
  187. package/dist/helpers.d.ts.map +0 -1
  188. package/dist/helpers.js.map +0 -1
  189. package/dist/index.d.ts +0 -33
  190. package/dist/index.d.ts.map +0 -1
  191. package/dist/index.js.map +0 -1
  192. package/dist/logger/export.d.ts +0 -2
  193. package/dist/logger/export.d.ts.map +0 -1
  194. package/dist/logger/export.js.map +0 -1
  195. package/dist/matter/behaviors.d.ts +0 -2
  196. package/dist/matter/behaviors.d.ts.map +0 -1
  197. package/dist/matter/behaviors.js.map +0 -1
  198. package/dist/matter/clusters.d.ts +0 -2
  199. package/dist/matter/clusters.d.ts.map +0 -1
  200. package/dist/matter/clusters.js.map +0 -1
  201. package/dist/matter/devices.d.ts +0 -2
  202. package/dist/matter/devices.d.ts.map +0 -1
  203. package/dist/matter/devices.js.map +0 -1
  204. package/dist/matter/endpoints.d.ts +0 -2
  205. package/dist/matter/endpoints.d.ts.map +0 -1
  206. package/dist/matter/endpoints.js.map +0 -1
  207. package/dist/matter/export.d.ts +0 -5
  208. package/dist/matter/export.d.ts.map +0 -1
  209. package/dist/matter/export.js.map +0 -1
  210. package/dist/matter/types.d.ts +0 -3
  211. package/dist/matter/types.d.ts.map +0 -1
  212. package/dist/matter/types.js.map +0 -1
  213. package/dist/matterbridge.d.ts +0 -475
  214. package/dist/matterbridge.d.ts.map +0 -1
  215. package/dist/matterbridge.js.map +0 -1
  216. package/dist/matterbridgeAccessoryPlatform.d.ts +0 -42
  217. package/dist/matterbridgeAccessoryPlatform.d.ts.map +0 -1
  218. package/dist/matterbridgeAccessoryPlatform.js.map +0 -1
  219. package/dist/matterbridgeBehaviors.d.ts +0 -2404
  220. package/dist/matterbridgeBehaviors.d.ts.map +0 -1
  221. package/dist/matterbridgeBehaviors.js.map +0 -1
  222. package/dist/matterbridgeDeviceTypes.d.ts +0 -770
  223. package/dist/matterbridgeDeviceTypes.d.ts.map +0 -1
  224. package/dist/matterbridgeDeviceTypes.js.map +0 -1
  225. package/dist/matterbridgeDynamicPlatform.d.ts +0 -42
  226. package/dist/matterbridgeDynamicPlatform.d.ts.map +0 -1
  227. package/dist/matterbridgeDynamicPlatform.js.map +0 -1
  228. package/dist/matterbridgeEndpoint.d.ts +0 -1550
  229. package/dist/matterbridgeEndpoint.d.ts.map +0 -1
  230. package/dist/matterbridgeEndpoint.js.map +0 -1
  231. package/dist/matterbridgeEndpointHelpers.d.ts +0 -758
  232. package/dist/matterbridgeEndpointHelpers.d.ts.map +0 -1
  233. package/dist/matterbridgeEndpointHelpers.js.map +0 -1
  234. package/dist/matterbridgePlatform.d.ts +0 -402
  235. package/dist/matterbridgePlatform.d.ts.map +0 -1
  236. package/dist/matterbridgePlatform.js.map +0 -1
  237. package/dist/matterbridgeTypes.d.ts +0 -226
  238. package/dist/matterbridgeTypes.d.ts.map +0 -1
  239. package/dist/matterbridgeTypes.js.map +0 -1
  240. package/dist/pluginManager.d.ts +0 -347
  241. package/dist/pluginManager.d.ts.map +0 -1
  242. package/dist/pluginManager.js.map +0 -1
  243. package/dist/shelly.d.ts +0 -174
  244. package/dist/shelly.d.ts.map +0 -1
  245. package/dist/shelly.js.map +0 -1
  246. package/dist/storage/export.d.ts +0 -2
  247. package/dist/storage/export.d.ts.map +0 -1
  248. package/dist/storage/export.js.map +0 -1
  249. package/dist/update.d.ts +0 -75
  250. package/dist/update.d.ts.map +0 -1
  251. package/dist/update.js.map +0 -1
  252. package/dist/utils/colorUtils.d.ts +0 -99
  253. package/dist/utils/colorUtils.d.ts.map +0 -1
  254. package/dist/utils/colorUtils.js.map +0 -1
  255. package/dist/utils/commandLine.d.ts +0 -66
  256. package/dist/utils/commandLine.d.ts.map +0 -1
  257. package/dist/utils/commandLine.js.map +0 -1
  258. package/dist/utils/copyDirectory.d.ts +0 -33
  259. package/dist/utils/copyDirectory.d.ts.map +0 -1
  260. package/dist/utils/copyDirectory.js.map +0 -1
  261. package/dist/utils/createDirectory.d.ts +0 -34
  262. package/dist/utils/createDirectory.d.ts.map +0 -1
  263. package/dist/utils/createDirectory.js.map +0 -1
  264. package/dist/utils/createZip.d.ts +0 -39
  265. package/dist/utils/createZip.d.ts.map +0 -1
  266. package/dist/utils/createZip.js.map +0 -1
  267. package/dist/utils/deepCopy.d.ts +0 -32
  268. package/dist/utils/deepCopy.d.ts.map +0 -1
  269. package/dist/utils/deepCopy.js.map +0 -1
  270. package/dist/utils/deepEqual.d.ts +0 -54
  271. package/dist/utils/deepEqual.d.ts.map +0 -1
  272. package/dist/utils/deepEqual.js.map +0 -1
  273. package/dist/utils/error.d.ts +0 -44
  274. package/dist/utils/error.d.ts.map +0 -1
  275. package/dist/utils/error.js.map +0 -1
  276. package/dist/utils/export.d.ts +0 -13
  277. package/dist/utils/export.d.ts.map +0 -1
  278. package/dist/utils/export.js.map +0 -1
  279. package/dist/utils/format.d.ts +0 -53
  280. package/dist/utils/format.d.ts.map +0 -1
  281. package/dist/utils/format.js.map +0 -1
  282. package/dist/utils/hex.d.ts +0 -89
  283. package/dist/utils/hex.d.ts.map +0 -1
  284. package/dist/utils/hex.js.map +0 -1
  285. package/dist/utils/inspector.d.ts +0 -87
  286. package/dist/utils/inspector.d.ts.map +0 -1
  287. package/dist/utils/inspector.js.map +0 -1
  288. package/dist/utils/isvalid.d.ts +0 -103
  289. package/dist/utils/isvalid.d.ts.map +0 -1
  290. package/dist/utils/isvalid.js.map +0 -1
  291. package/dist/utils/jestHelpers.d.ts +0 -139
  292. package/dist/utils/jestHelpers.d.ts.map +0 -1
  293. package/dist/utils/jestHelpers.js.map +0 -1
  294. package/dist/utils/network.d.ts +0 -101
  295. package/dist/utils/network.d.ts.map +0 -1
  296. package/dist/utils/network.js.map +0 -1
  297. package/dist/utils/spawn.d.ts +0 -35
  298. package/dist/utils/spawn.d.ts.map +0 -1
  299. package/dist/utils/spawn.js.map +0 -1
  300. package/dist/utils/tracker.d.ts +0 -108
  301. package/dist/utils/tracker.d.ts.map +0 -1
  302. package/dist/utils/tracker.js.map +0 -1
  303. package/dist/utils/wait.d.ts +0 -54
  304. package/dist/utils/wait.d.ts.map +0 -1
  305. package/dist/utils/wait.js.map +0 -1
@@ -1,770 +0,0 @@
1
- /**
2
- * This file contains the class MatterbridgeDevice.
3
- *
4
- * @file matterbridgeDeviceTypes.ts
5
- * @author Luca Liguori
6
- * @created 2024-11-08
7
- * @version 1.0.0
8
- * @license Apache-2.0
9
- *
10
- * Copyright 2024, 2025, 2026 Luca Liguori.
11
- *
12
- * Licensed under the Apache License, Version 2.0 (the "License");
13
- * you may not use this file except in compliance with the License.
14
- * You may obtain a copy of the License at
15
- *
16
- * http://www.apache.org/licenses/LICENSE-2.0
17
- *
18
- * Unless required by applicable law or agreed to in writing, software
19
- * distributed under the License is distributed on an "AS IS" BASIS,
20
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21
- * See the License for the specific language governing permissions and
22
- * limitations under the License.
23
- */
24
- import { Semtag } from '@matter/types/globals';
25
- import { ClusterId, DeviceTypeId, EndpointNumber } from '@matter/types/datatype';
26
- export declare enum DeviceClasses {
27
- /** 1.1.5. Device Type Class Conditions */
28
- /** Node device type. */
29
- Node = "Node",
30
- /**
31
- * Application device type.
32
- * Application devices types are typically the most datatype endpoints on a node and in the network.
33
- */
34
- App = "App",
35
- /**
36
- * Utility device type.
37
- * A Utility device type supports configuration and settings.
38
- */
39
- Utility = "Utility",
40
- /**
41
- * Simple device type.
42
- * A Simple device type supports local control that is persistent, independent, and unsupervised.
43
- */
44
- Simple = "Simple",
45
- /**
46
- * Dynamic device type.
47
- * A Dynamic device type supports intelligent and supervisory services, such as commissioning,
48
- * monitoring, trend analysis, scheduling and central management. A dynamic device type is an
49
- * application device type.
50
- */
51
- Dynamic = "Dynamic",
52
- /** The device type is composed of 2 or more device types. */
53
- Composed = "Composed",
54
- /** 1.1.6. Endpoint Type Class Conditions */
55
- /** There exists a client application cluster on the endpoint. */
56
- Client = "Client",
57
- /** There exists a server application cluster on the endpoint. */
58
- Server = "Server",
59
- /**
60
- * The endpoint and at least one of its sibling endpoints have an overlap in application device type(s),
61
- * as defined in the "Disambiguation" section in the System Model specification. This condition triggers
62
- * requirements for providing additional information about the endpoints in order to disambiguate
63
- * between the endpoints (see "Disambiguation" section in the System Model specification).
64
- */
65
- Duplicate = "Duplicate",
66
- /**
67
- * The endpoint represents a Bridged Device, for which information about the state of
68
- * its power source is available to the Bridge
69
- */
70
- BridgedPowerSourceInfo = "BridgedPowerSourceInfo"
71
- }
72
- export interface DeviceTypeDefinition {
73
- name: string;
74
- code: DeviceTypeId;
75
- deviceClass: DeviceClasses;
76
- revision: number;
77
- requiredServerClusters: ClusterId[];
78
- optionalServerClusters: ClusterId[];
79
- requiredClientClusters: ClusterId[];
80
- optionalClientClusters: ClusterId[];
81
- }
82
- export declare const DeviceTypeDefinition: ({ name, code, deviceClass, revision, requiredServerClusters, optionalServerClusters, requiredClientClusters, optionalClientClusters, }: {
83
- name: string;
84
- code: number;
85
- deviceClass: DeviceClasses;
86
- revision: number;
87
- requiredServerClusters?: ClusterId[];
88
- optionalServerClusters?: ClusterId[];
89
- requiredClientClusters?: ClusterId[];
90
- optionalClientClusters?: ClusterId[];
91
- }) => DeviceTypeDefinition;
92
- /**
93
- * MatterbridgeEndpointOptions interface is used to define the options for a Matterbridge endpoint.
94
- *
95
- * @remarks
96
- * - tagList?: Semtag[]. It is used to disambiguate the sibling child endpoints (9.2.3. Disambiguation rule).
97
- * - mfgCode: VendorId | null,
98
- * - namespaceId: number,
99
- * - tag: number,
100
- * - label: string | undefined | null
101
- * - mode?: 'server' | 'matter'. It is used to activate a special mode for the endpoint.
102
- * - id?: string. It is the unique storage key for the endpoint.
103
- * - number?: EndpointNumber. It is the endpoint number for the endpoint.
104
- */
105
- export interface MatterbridgeEndpointOptions extends EndpointOptions {
106
- /**
107
- * The semantic tags array for the endpoint.
108
- * The tagList is used to disambiguate the sibling child endpoints (9.2.3. Disambiguation rule).
109
- * The tagList is used to identify the endpoint and to provide additional information about the endpoint.
110
- *
111
- * @remarks
112
- * - mfgCode: VendorId | null,
113
- * - namespaceId: number,
114
- * - tag: number,
115
- * - label: string | undefined | null
116
- */
117
- tagList?: Semtag[];
118
- /**
119
- * Activates a special mode for this endpoint.
120
- * - 'server': it creates the device server node and add the device as Matter device that needs to be paired individually.
121
- * In this case the Matterbridge bridge mode (bridge or childbridge) is not relevant. The device is independent.
122
- *
123
- * - 'matter': it adds the device directly to the Matterbridge server node as Matter device alongside the aggregator. In this case the implementation must respect
124
- * the 9.2.3. Disambiguation rule (i.e. use taglist if needed cause the device doesn't have nodeLabel).
125
- * Furthermore the device will be a part of the bridge (i.e. will have the same name and will be in the same room).
126
- * See 9.12.2.2. Native Matter functionality in Bridge.
127
- *
128
- * @remarks
129
- * Always use createDefaultBasicInformationClusterServer() to create the BasicInformation cluster server when using mode 'server' or 'matter'.
130
- */
131
- mode?: 'server' | 'matter';
132
- /**
133
- * The unique storage key for the endpoint.
134
- * If not provided, a default key will be used.
135
- */
136
- id?: string;
137
- /**
138
- * The endpoint number for the endpoint.
139
- * If not provided, the endpoint will be created with the next available endpoint number.
140
- * If provided, the endpoint will be created with the specified endpoint number.
141
- */
142
- number?: EndpointNumber;
143
- }
144
- /**
145
- * EndpointOptions interface is used to define the options for an endpoint.
146
- *
147
- * @deprecated Use `MatterbridgeEndpointOptions` instead.
148
- */
149
- export interface EndpointOptions {
150
- /**
151
- * Old API compatibility replaced by number.
152
- *
153
- * @deprecated Use `number` instead.
154
- */
155
- endpointId?: EndpointNumber;
156
- /**
157
- * Old API compatibility replaced by id.
158
- *
159
- * @deprecated Use `id` instead.
160
- */
161
- uniqueStorageKey?: string;
162
- }
163
- export declare const rootNode: DeviceTypeDefinition;
164
- export declare const powerSource: DeviceTypeDefinition;
165
- export declare const OTARequestor: DeviceTypeDefinition;
166
- export declare const OTAProvider: DeviceTypeDefinition;
167
- /**
168
- 2.5.3. Conditions
169
- Please see the Base Device Type definition for conformance tags.
170
- This device type SHALL only be used for Nodes which have a device type of Bridge.
171
-
172
- 2.5.5. Cluster Requirements
173
- Each endpoint supporting this device type SHALL include these clusters based on the conformance
174
- defined below.
175
- - 0x0039 Bridged Device Basic Information Server
176
-
177
- 2.5.6. Endpoint Composition
178
- • A Bridged Node endpoint SHALL support one of the following composition patterns:
179
- ◦ Separate Endpoints: All application device types are supported on separate endpoints, and
180
- not on the Bridged Node endpoint. The Bridged Node endpoint’s Descriptor cluster PartsList
181
- attribute SHALL indicate a list of all endpoints representing the functionality of the bridged
182
- device, including the endpoints supporting the application device types, i.e. the full-family
183
- pattern defined in the System Model specification.
184
- ◦ One Endpoint: Both the Bridged Node and one or more application device types are supported
185
- on the same endpoint (following application device type rules). Endpoint composition
186
- SHALL conform to the application device type(s) definition.
187
- */
188
- export declare const bridgedNode: DeviceTypeDefinition;
189
- /**
190
- * An Electrical Sensor device measures the electrical power and/or energy being imported and/or
191
- * exported.
192
- * It is a utility device type that provides information about the electrical power and/or energy
193
- * consumption and generation.
194
- *
195
- * 2.6.3. Device Type Requirements
196
- * Electrical measurements made by either the Electrical Power Measurement cluster, the Electrical
197
- * Energy Measurement cluster, or both SHALL apply to the endpoints indicated by the Power Topology
198
- * cluster.
199
- */
200
- export declare const electricalSensor: DeviceTypeDefinition;
201
- /**
202
- * A Device Energy Management device provides reporting and optionally adjustment of the electrical
203
- * power planned on being consumed or produced by the device.
204
- */
205
- export declare const deviceEnergyManagement: DeviceTypeDefinition;
206
- /** Chapter 3. Application Device Types */
207
- /** Chapter 4. Lighting device types */
208
- /**
209
- * Element Requirements:
210
- * - Identify Command TriggerEffect
211
- * - Scenes Management Command CopyScene
212
- * - On/Off Feature Lighting
213
- * - Level Control Feature OnOff
214
- * - Level Control Feature Lighting
215
- * - Level Control Attribute CurrentLevel 1 to 254
216
- * - Level Control Attribute MinLevel 1
217
- * - Level Control Attribute MaxLevel 254
218
- */
219
- export declare const onOffLight: DeviceTypeDefinition;
220
- /**
221
- * Element Requirements:
222
- * - Identify Command TriggerEffect
223
- * - Scenes Management Command CopyScene
224
- * - On/Off Feature Lighting
225
- * - Level Control Feature OnOff
226
- * - Level Control Feature Lighting
227
- * - Level Control Attribute CurrentLevel 1 to 254
228
- * - Level Control Attribute MinLevel 1
229
- * - Level Control Attribute MaxLevel 254
230
- */
231
- export declare const dimmableLight: DeviceTypeDefinition;
232
- /**
233
- * Element Requirements:
234
- * - Identify Command TriggerEffect
235
- * - Scenes Management Command CopyScene
236
- * - On/Off Feature Lighting
237
- * - Level Control Feature OnOff
238
- * - Level Control Feature Lighting
239
- * - Level Control Attribute CurrentLevel 1 to 254
240
- * - Level Control Attribute MinLevel 1
241
- * - Level Control Attribute MaxLevel 254
242
- * - Color Control Feature ColorTemperature
243
- * - Color Control Attribute RemainingTime
244
- */
245
- export declare const colorTemperatureLight: DeviceTypeDefinition;
246
- /**
247
- * Element Requirements:
248
- * - Identify Command TriggerEffect
249
- * - Scenes Management Command CopyScene
250
- * - On/Off Feature Lighting
251
- * - Level Control Feature OnOff
252
- * - Level Control Feature Lighting
253
- * - Level Control Attribute CurrentLevel 1 to 254
254
- * - Level Control Attribute MinLevel 1
255
- * - Level Control Attribute MaxLevel 254
256
- * - Color Control Feature XY
257
- * - Color Control Feature ColorTemperature
258
- * - Color Control Attribute RemainingTime
259
- */
260
- export declare const extendedColorLight: DeviceTypeDefinition;
261
- /**
262
- * Element Requirements:
263
- * - Identify Command TriggerEffect
264
- * - Scenes Management Command CopyScene
265
- * - On/Off Feature Lighting
266
- * - Level Control Feature OnOff
267
- * - Level Control Feature Lighting
268
- * - Level Control Attribute CurrentLevel 1 to 254
269
- * - Level Control Attribute MinLevel 1
270
- * - Level Control Attribute MaxLevel 254
271
- */
272
- export declare const onOffOutlet: DeviceTypeDefinition;
273
- /**
274
- * Element Requirements:
275
- * - Identify Command TriggerEffect
276
- * - Scenes Management Command CopyScene
277
- * - On/Off Feature Lighting
278
- * - Level Control Feature OnOff
279
- * - Level Control Feature Lighting
280
- * - Level Control Attribute CurrentLevel 1 to 254
281
- * - Level Control Attribute MinLevel 1
282
- * - Level Control Attribute MaxLevel 254
283
- */
284
- export declare const dimmableOutlet: DeviceTypeDefinition;
285
- /**
286
- * A Mounted On/Off Control is a fixed device that provides power to another device that is plugged
287
- * into it, and is capable of switching that provided power on or off.
288
- * It is a simple device type that does not require any client clusters.
289
- * Element Requirements:
290
- * - Identify Command TriggerEffect
291
- * - Scenes Management Command CopyScene
292
- * - On/Off Feature Lighting
293
- * - Level Control Feature OnOff
294
- * - Level Control Feature Lighting
295
- * - Level Control Attribute CurrentLevel 1 to 254
296
- * - Level Control Attribute MinLevel 1
297
- * - Level Control Attribute MaxLevel 254
298
- */
299
- export declare const onOffMountedSwitch: DeviceTypeDefinition;
300
- /**
301
- * A Mounted Dimmable Load Control is a fixed device that provides power to another device that is
302
- * plugged into it, and is capable of being switched on or off and have its level adjusted. The Mounted
303
- * Dimmable Load Control is typically used to control a conventional non-communicating light
304
- * through its mains connection using phase cutting.
305
- * It is a simple device type that does not require any client clusters.
306
- * Element Requirements:
307
- * - Identify Command TriggerEffect
308
- * - Scenes Management Command CopyScene
309
- * - On/Off Feature Lighting
310
- * - Level Control Feature OnOff
311
- * - Level Control Feature Lighting
312
- * - Level Control Attribute CurrentLevel 1 to 254
313
- * - Level Control Attribute MinLevel 1
314
- * - Level Control Attribute MaxLevel 254
315
- */
316
- export declare const dimmableMountedSwitch: DeviceTypeDefinition;
317
- /**
318
- * Remark:
319
- * On/Off Cluster:
320
- * - Off If the pump is powered on, store the current level then immediately power it off.
321
- * - On If the pump is powered off, power it on and move immediately to the level stored by a previous Off command. If no such level has been stored,
322
- * move immediately to the maximum level allowed for the pump.
323
- * - Toggle If the pump is powered on, proceed as for the Off command. If the device is powered off, proceed as for the On command.
324
- *
325
- * LevelControl cluster:
326
- * Level Setpoint Meaning
327
- * 0 N/A Pump is stopped,
328
- * 1–200 Level / 2 (0.5–100.0%) Pump setpoint in percent
329
- * 201–255 100.0% Pump setpoint is 100.0%
330
- */
331
- export declare const pumpDevice: DeviceTypeDefinition;
332
- export declare const waterValve: DeviceTypeDefinition;
333
- export declare const onOffSwitch: DeviceTypeDefinition;
334
- export declare const dimmableSwitch: DeviceTypeDefinition;
335
- export declare const colorTemperatureSwitch: DeviceTypeDefinition;
336
- export declare const genericSwitch: DeviceTypeDefinition;
337
- /**
338
- * Closed or contact: state true
339
- * Open or no contact: state false
340
- */
341
- export declare const contactSensor: DeviceTypeDefinition;
342
- export declare const lightSensor: DeviceTypeDefinition;
343
- export declare const occupancySensor: DeviceTypeDefinition;
344
- export declare const temperatureSensor: DeviceTypeDefinition;
345
- export declare const pressureSensor: DeviceTypeDefinition;
346
- export declare const flowSensor: DeviceTypeDefinition;
347
- export declare const humiditySensor: DeviceTypeDefinition;
348
- export declare const smokeCoAlarm: DeviceTypeDefinition;
349
- export declare const airQualitySensor: DeviceTypeDefinition;
350
- export declare const waterFreezeDetector: DeviceTypeDefinition;
351
- export declare const waterLeakDetector: DeviceTypeDefinition;
352
- export declare const rainSensor: DeviceTypeDefinition;
353
- /**
354
- * A Door Lock is a device used to secure a door. It is possible to actuate a door lock either by means of a manual or a remote method.
355
- * Element Requirements:
356
- *
357
- * - AccessControl Attribute Extension
358
- * - DoorLock Feature User
359
- * - DoorLock Attribute AlarmMask
360
- */
361
- export declare const doorLockDevice: DeviceTypeDefinition;
362
- export declare const coverDevice: DeviceTypeDefinition;
363
- /**
364
- * A Thermostat device is capable of having either built-in or separate sensors for temperature,
365
- * humidity or occupancy. It allows the desired temperature to be set either remotely or locally. The
366
- * thermostat is capable of sending heating and/or cooling requirement notifications to a heating/cooling
367
- * unit (for example, an indoor air handler) or is capable of including a mechanism to control a
368
- * heating or cooling unit directly.
369
- *
370
- */
371
- export declare const thermostatDevice: DeviceTypeDefinition;
372
- /**
373
- * A Fan device is typically standalone or mounted on a ceiling or wall and is used to circulate air in a room.
374
- * Remark: it may have a thermostat device type.
375
- * Additional device types MAY also be included in device compositions.
376
- * Element Requirements:
377
- * The FanControl cluster must have the FanModeSequence attribute.
378
- *
379
- * The On/Off cluster is independent from the Fan Control Cluster’s FanMode attribute, which also
380
- * includes an Off setting.
381
- * If the FanMode attribute of the Fan Control cluster is set to a value other than Off when the OnOff
382
- * attribute of the On/Off cluster transitions from TRUE to FALSE, it may be desirable to restore the
383
- * FanMode, SpeedSetting and PercentSetting attribute values of the Fan Control cluster when the OnOff
384
- * attribute of the On/Off cluster later transitions from FALSE to TRUE. If the FanMode is set to Off when
385
- * the device is turned off, this information is lost, as the SpeedSetting and PercentSetting will be set to
386
- * zero. Using the On/Off cluster alongside the Fan Control cluster allows the FanMode, SpeedSetting and
387
- * PercentSetting to remain unchanged when the device is turned off. In this case, the On/Off cluster
388
- * would be set to Off, and the SpeedCurrent and PercentCurrent set to zero, without changing FanMode,
389
- * SpeedSetting and PercentSetting.
390
- */
391
- export declare const fanDevice: DeviceTypeDefinition;
392
- /**
393
- * An Air Purifier is a standalone device that is designed to clean the air in a room.
394
- * It is a device that has a fan to control the air speed while it is operating. Optionally, it can report on
395
- * the condition of its filters.
396
- *
397
- * Remark:
398
- * An Air Purifier MAY expose elements of its functionality through one or more additional device
399
- * types on different endpoints. All devices used in compositions SHALL adhere to the disambiguation
400
- * requirements of the System Model. Other device types, not explicitly listed in the table, MAY also be
401
- * included in device compositions but are not considered part of the core functionality of the device.
402
- * 0x0301 Thermostat O
403
- * 0x0302 Temperature Sensor O
404
- * 0x0307 Humidity Sensor O
405
- * 0x002C Air Quality Sensor O
406
- *
407
- * Cluster Restrictions:
408
- * The On/Off cluster is independent from the Fan Control Cluster’s FanMode attribute, which also
409
- * includes an Off setting.
410
- * If the FanMode attribute of the Fan Control cluster is set to a value other than Off when the OnOff
411
- * attribute of the On/Off cluster transitions from TRUE to FALSE, it may be desirable to restore the
412
- * FanMode, SpeedSetting and PercentSetting attribute values of the Fan Control cluster when the OnOff
413
- * attribute of the On/Off cluster later transitions from FALSE to TRUE. If the FanMode is set to Off when
414
- * the device is turned off, this information is lost, as the SpeedSetting and PercentSetting will be set to
415
- * zero. Using the On/Off cluster alongside the Fan Control cluster allows the FanMode, SpeedSetting and
416
- * PercentSetting to remain unchanged when the device is turned off. In this case, the On/Off cluster
417
- * would be set to Off, and the SpeedCurrent and PercentCurrent set to zero, without changing FanMode,
418
- * SpeedSetting and PercentSetting.
419
- *
420
- */
421
- export declare const airPurifier: DeviceTypeDefinition;
422
- /**
423
- * 10.2. A Basic Video Player has playback controls (play, pause, etc.) and keypad remote controls (up, down, number input),
424
- * but is not able to launch arbitrary content applications. It is a commissionable node.
425
- *
426
- * Required server clusters (minimum features per spec):
427
- * - Media Playback (media playback controls)
428
- * - Keypad Input (remote key events)
429
- * - On/Off (basic power control)
430
- *
431
- * Optional server clusters (additional capabilities commonly implemented):
432
- * - Audio Output (speaker selection / volume endpoints)
433
- * - Channel (linear channel navigation)
434
- * - Target Navigator (high level app / target navigation)
435
- * - Media Input (input source selection)
436
- * - Low Power (power saving / wake logic)
437
- * - Wake On LAN (remote wake capabilities)
438
- * - Messages (device messaging / notifications)
439
- * - Content Control (parental or content access control)
440
- */
441
- export declare const basicVideoPlayer: DeviceTypeDefinition;
442
- /**
443
- * 10.3. A Casting Video Player supports Basic Video Player features and content launching features.
444
- * It is a Commissioner and can launch Content Apps (Content Launcher cluster) and optionally expose
445
- * an Application Launcher cluster when acting as a Content App Platform.
446
- *
447
- * Required server clusters (minimum features per spec):
448
- * - Media Playback (playback controls)
449
- * - Keypad Input (remote key events)
450
- * - Content Launcher (content launching capability)
451
- * - On/Off (basic power control)
452
- *
453
- * Optional server clusters (additional capabilities):
454
- * - Application Launcher (hosting content apps)
455
- * - Account Login (account / session association)
456
- * - Audio Output (output / volume endpoints)
457
- * - Channel (linear channel navigation)
458
- * - Target Navigator (high level target navigation)
459
- * - Media Input (input source selection)
460
- * - Low Power (power saving / wake logic)
461
- * - Wake On LAN (remote wake capabilities)
462
- * - Messages (device messaging / notifications)
463
- * - Content Control (parental or content access control)
464
- */
465
- export declare const castingVideoPlayer: DeviceTypeDefinition;
466
- /**
467
- * 10.4. A Speaker device type controls the speaker.
468
- * unmute/mute, the On/Off cluster SHALL be used. A value of TRUE for the OnOff attribute
469
- * SHALL represent the volume on (not muted) state, while a value of FALSE SHALL represent the volume
470
- * off (muted) state. For volume level control, the Level cluster SHALL be used.
471
- */
472
- export declare const speakerDevice: DeviceTypeDefinition;
473
- export declare const modeSelect: DeviceTypeDefinition;
474
- /**
475
- * This device type aggregates endpoints as a collection. Clusters on the endpoint indicating this
476
- * device type provide functionality for the collection of descendant endpoints present in the PartsList
477
- * of the endpoint’s descriptor, for example the Actions cluster.
478
- *
479
- * Endpoint Composition:
480
- * An Aggregator endpoint’s Descriptor cluster PartsList attribute SHALL list the collection of all endpoints
481
- * aggregated by the Aggregator device type, i.e. the full-family pattern defined in the System Model specification.
482
- *
483
- * Disambiguation:
484
- * If the Duplicate condition applies to child endpoints of an Aggregator endpoint that represent multiple
485
- * independent bridged devices, the endpoints SHOULD make available metadata to allow a
486
- * client to disambiguate distinct bridged devices with an overlap in application device types.
487
- *
488
- * Typically this is done using the NodeLabel attribute of the Bridged Device Basic Information cluster
489
- * - thus reusing the naming information which the bridge already has to allow disambiguation to the
490
- * user when using a direct user interface to the bridge.
491
- *
492
- * Actions cluster (9.14 Matter specification):
493
- * If a Bridge has (such) information on topology or logical grouping, it SHOULD expose such information
494
- * in the EndpointLists attribute of an Actions cluster (the ActionLists of which MAY be empty if
495
- * no actions are exposed). 9.12 Matter specification
496
- *
497
- * 9.12.5. New features for Bridged Devices
498
- * Bridged Devices can have their software updated independently of the Bridge, through Bridge Manufacturer-
499
- * specific means. These updates MAY result in one or more changes to their capabilities,
500
- * such as supported clusters and/or attributes, for an endpoint. Like every Matter Node, every endpoint
501
- * on the Bridge’s Node contains a Descriptor cluster that contains attributes for the device types
502
- * (DeviceTypeList), endpoints (PartsList) and supported clusters (ServerList and ClientList). Nodes
503
- * that wish to be notified of such changes SHOULD monitor changes of these attributes.
504
- */
505
- export declare const aggregator: DeviceTypeDefinition;
506
- export declare const bridge: DeviceTypeDefinition;
507
- /**
508
- * A Robotic Vacuum Cleaner is a device that is capable of cleaning floors and other surfaces
509
- * in a home or office environment. It is typically a mobile device that can navigate around
510
- * obstacles and can be controlled remotely.
511
- *
512
- * Cluster Usage:
513
- * The RVC Operational State cluster’s OperationalState attribute SHALL be updated according to the
514
- * state of the device, and therefore it SHOULD be used for monitoring purposes.
515
- *
516
- * To attempt starting a cleaning operation, the RVC Run Mode cluster can be sent a ChangeToMode
517
- * command with the NewMode field set to a mode that has the Cleaning mode tag associated with it.
518
- *
519
- * To attempt stopping a cleaning operation, the RVC Run Mode cluster can be sent a ChangeToMode
520
- * command with the NewMode field set to a mode that has the Idle mode tag associated with it.
521
- *
522
- * To attempt pausing a cleaning operation, the RVC Operational State cluster can be sent a Pause command.
523
- *
524
- * To attempt resuming a cleaning operation, the RVC Operational State cluster can be sent a Resume
525
- * command.
526
- *
527
- *
528
- */
529
- export declare const roboticVacuumCleaner: DeviceTypeDefinition;
530
- /**
531
- * Cluster Restrictions:
532
- * On/Off Cluster: the DF (Dead Front) feature is required
533
- */
534
- export declare const laundryWasher: DeviceTypeDefinition;
535
- /**
536
- * A refrigerator represents a device that contains one or more cabinets that are capable of chilling or freezing food.
537
- * A Refrigerator SHALL be composed of at least one endpoint with the Temperature Controlled Cabinet device type.
538
- *
539
- * Device Type Requirements:
540
- * 0x0071 Temperature Controlled Cabinet
541
- */
542
- export declare const refrigerator: DeviceTypeDefinition;
543
- /**
544
- * A Room Air Conditioner is a device with the primary function of controlling the air temperature in a single room.
545
- *
546
- * A Room Air Conditioner MAY have zero or more of each device type listed in this table subject to
547
- * the conformance column of the table. All devices used in compositions SHALL adhere to the disambiguation
548
- * requirements of the System Model. Additional device types not listed in this table MAY also be included in device compositions.
549
- * 0x0302 Temperature Sensor O
550
- * 0x0307 Humidity Sensor O
551
- *
552
- * Remark:
553
- * The DF (Dead Front) feature is required for the On/Off cluster in this device type:
554
- * - Thermostat LocalTemperature null
555
- * - Temperature Measurement MeasuredValue null
556
- * - Relative Humidity Measurement MeasuredValue null
557
- * - Fan Control SpeedSetting null
558
- * - Fan Control PercentSetting null
559
- */
560
- export declare const airConditioner: DeviceTypeDefinition;
561
- /**
562
- * A Temperature Controlled Cabinet only exists composed as part of another device type. It represents
563
- * a single cabinet that is capable of having its temperature controlled. Such a cabinet may be
564
- * chilling or freezing food, for example as part of a refrigerator, freezer, wine chiller, or other similar
565
- * device. Equally, such a cabinet may be warming or heating food, for example as part of an oven,
566
- * range, or similar device.
567
- * Conditions:
568
- * Cooler The device has cooling functionality.
569
- */
570
- export declare const temperatureControlledCabinetCooler: DeviceTypeDefinition;
571
- /**
572
- * A Temperature Controlled Cabinet only exists composed as part of another device type. It represents
573
- * a single cabinet that is capable of having its temperature controlled. Such a cabinet may be
574
- * chilling or freezing food, for example as part of a refrigerator, freezer, wine chiller, or other similar
575
- * device. Equally, such a cabinet may be warming or heating food, for example as part of an oven,
576
- * range, or similar device.
577
- * Conditions:
578
- * Heater The device has heating functionality.
579
- */
580
- export declare const temperatureControlledCabinetHeater: DeviceTypeDefinition;
581
- /**
582
- * Cluster Restrictions:
583
- * On/Off Cluster: the DF (Dead Front) feature is required
584
- */
585
- export declare const dishwasher: DeviceTypeDefinition;
586
- /**
587
- * Cluster Restrictions:
588
- * On/Off Cluster: the DF (Dead Front) feature is required
589
- */
590
- export declare const laundryDryer: DeviceTypeDefinition;
591
- /**
592
- * A Cook Surface device type represents a heating object on a cooktop or other similar device. It
593
- * SHALL only be used when composed as part of another device type (cooktop).
594
- *
595
- * Cluster Restrictions:
596
- * The OffOnly feature is required for the On/Off cluster in this device type due to safety requirements.
597
- */
598
- export declare const cookSurface: DeviceTypeDefinition;
599
- /**
600
- * A cooktop is a cooking surface that heats food either by transferring currents from an electromagnetic
601
- * field located below the glass surface directly to the magnetic induction cookware placed
602
- * above or through traditional gas or electric burners.
603
- *
604
- * Device Type Requirements:
605
- * A Cooktop SHALL be composed of zero or more endpoints with the Cook Surface device type as defined by the conformance below.
606
- * 0x0077 Cook Surface min 1 O
607
- *
608
- * Cluster Restrictions:
609
- * The OffOnly feature is required for the On/Off cluster in this device type due to safety requirements.
610
- */
611
- export declare const cooktop: DeviceTypeDefinition;
612
- /**
613
- * An oven represents a device that contains one or more cabinets, and optionally a single cooktop, that are all capable of heating food.
614
- * An oven is always defined via endpoint composition.
615
- * Conditions:
616
- * An Oven SHALL have the Heater condition applied to at least one endpoint containing the Temperature Control Cluster.
617
- * Device Type Requirements:
618
- * - 0x0071 Temperature Controlled Cabinet min 1
619
- * - 0x0078 Cooktop
620
- */
621
- export declare const oven: DeviceTypeDefinition;
622
- /**
623
- * An Extractor Hood is a device that is generally installed above a cooking surface in residential kitchens.
624
- * Additional device types not listed in this table MAY also be included in device compositions.
625
- * Device Type Requirements:
626
- * 0x0100+ On/Off Light+ O
627
- *
628
- *
629
- * Element Requirements:
630
- * - 0x0202 Fan Control Feature Rocking X
631
- * - 0x0202 Fan Control Feature Wind X
632
- * - 0x0202 Fan Control Feature AirflowDirection X
633
- */
634
- export declare const extractorHood: DeviceTypeDefinition;
635
- /**
636
- * A Microwave Oven is a device with the primary function of heating foods and beverages using a magnetron.
637
- * A Microwave Oven is a device which at a minimum is capable of being started and stopped and of setting a power level.
638
- * A Microwave Oven MAY also support additional capabilities via endpoint composition.
639
- *
640
- */
641
- export declare const microwaveOven: DeviceTypeDefinition;
642
- /**
643
- * An EVSE (Electric Vehicle Supply Equipment) is a device that allows an EV (Electric Vehicle) to be
644
- * connected to the mains electricity supply to allow it to be charged (or discharged in case of Vehicle
645
- * to Grid / Vehicle to Home applications).
646
- *
647
- * 14.1.5. Device Type Requirements
648
- * An EVSE SHALL be composed of at least one endpoint with device types as defined by the conformance
649
- * below. There MAY be more endpoints with other device types existing in the EVSE.
650
- * - ID Name Constraint Conformance
651
- * - 0x0011 Power Source min 1 M
652
- * - 0x0510 Electrical Sensor min 1 M
653
- * - 0x050D Device Energy Management min 1 M
654
- *
655
- * The Electrical Sensor device SHALL include both the Electrical Energy Measurement and Electrical
656
- * Power Measurement clusters, measuring the total energy and power of the EVSE.
657
- *
658
- * The Device Energy Management cluster included in the Device Energy Management device SHALL
659
- * support the Power Forecast Reporting (PFR) feature.
660
- */
661
- export declare const evse: DeviceTypeDefinition;
662
- /**
663
- * A water heater is a device that is generally installed in properties to heat water for showers, baths etc.
664
- * A Water Heater is always defined via endpoint composition.
665
- *
666
- * 14.2.5. Device Type Requirements
667
- * A Water Heater SHALL be composed of at least one endpoint with device types as defined by the
668
- * conformance below. There MAY be more endpoints with other device types existing in the Water Heater.
669
- * - ID Name Constraint Conformance
670
- * - 0x0011 Power Source O
671
- * - 0x0302 Temperature Sensor O
672
- * - 0x0510 Electrical Sensor desc
673
- * - 0x050D Device Energy Management O
674
- *
675
- * 14.2.7. Element Requirements
676
- * 0x0201 Thermostat Feature Heating M
677
- *
678
- * The Energy Management feature of the Water Heater cluster SHALL be supported if the Device
679
- * Energy Management device type is included.
680
- * If Off is a supported SystemMode in the Thermostat cluster, setting the SystemMode of the Thermostat
681
- * cluster to Off SHALL set the CurrentMode attribute of the Water Heater Mode cluster to a mode
682
- * having the Off mode tag value and vice versa.
683
- * At least one entry in the SupportedModes attribute of the Water Heater Mode cluster SHALL
684
- * include the Timed mode tag in the ModeTags field list.
685
- *
686
- * WaterHeaterMode Cluster
687
- * 9.6.6.1. SupportedModes Attribute
688
- * At least one entry in the SupportedModes attribute SHALL include the Manual mode tag in the
689
- * ModeTags field list.
690
- * At least one entry in the SupportedModes attribute SHALL include the Off mode tag in the ModeTags
691
- * field list.
692
- * An entry in the SupportedModes attribute that includes one of an Off, Manual, or Timed tag SHALL
693
- * NOT also include an additional instance of any one of these tag types.
694
- */
695
- export declare const waterHeater: DeviceTypeDefinition;
696
- /**
697
- * A Solar Power device is a device that allows a solar panel array, which can optionally be comprised
698
- * of a set parallel strings of solar panels, and its associated controller and, if appropriate, inverter, to
699
- * be monitored and controlled by an Energy Management System.
700
- *
701
- * 14.3.5. Device Type Requirements
702
- * A Solar Power device SHALL be composed of at least one endpoint with device types as defined by
703
- * the conformance below. There MAY be more endpoints with additional instances of these device
704
- * types or additional device types existing in the Solar Power device.
705
- *
706
- * - ID Name Constraint Conformance
707
- * - 0x0011 Power Source min 1 M
708
- * - 0x0510 Electrical Sensor min 1 M
709
- * - 0x050D Device Energy Management O
710
- * - 0x0302 Temperature Sensor O
711
- *
712
- * 14.3.5.1. Cluster Requirements on Composing Device Types
713
- *
714
- * - 0x0011 Power Source 0x002F Power Source Feature Wired M
715
- * - 0x0011 Power Source 0x001D Descriptor Feature TagList M
716
- * - 0x0510 Electrical Sensor 0x0090 Electrical Power Measurement M
717
- * - 0x0510 Electrical Sensor 0x0090 Electrical Power Measurement Attribute Voltage M
718
- * - 0x0510 Electrical Sensor 0x0090 Electrical Power Measurement Attribute ActiveCurrent M
719
- * - 0x0510 Electrical Sensor 0x0091 Electrical Energy Measurement M
720
- * - 0x0510 Electrical Sensor 0x0091 Electrical Energy Measurement Feature ExportedEnergy M
721
- * - 0x050D Device Energy Management 0x0098 Device Energy Management Feature PowerAdjustment M
722
- * - 0x0302 Temperature Sensor 0x001D Descriptor Feature TagList M
723
- */
724
- export declare const solarPower: DeviceTypeDefinition;
725
- /**
726
- * A Battery Storage device is a device that allows a DC battery, which can optionally be comprised of
727
- * a set parallel strings of battery packs and associated controller, and an AC inverter, to be monitored
728
- * and controlled by an Energy Management System in order to manage the peaks and troughs of supply
729
- * and demand, and/or to optimize cost of the energy consumed in premises. It is not intended to
730
- * be used for a UPS directly supplying a set of appliances, nor for portable battery storage devices.
731
- *
732
- * 14.4.5. Device Type Requirements
733
- * A Battery Storage device SHALL be composed of at least one endpoint with device types as defined by
734
- * the conformance below. There MAY be more endpoints with additional instances of these device
735
- * types or additional device types existing in the Battery Storage device.
736
- * - ID Name Constraint Conformance
737
- * - 0x0011 Power Source min 1 M
738
- * - 0x0510 Electrical Sensor min 1 M
739
- * - 0x050D Device Energy Management M
740
- * - 0x0302 Temperature Sensor O
741
- * - 0x0017 Solar Power O
742
- *
743
- * See 14.4.5.1. Cluster Requirements on Composing Device Types
744
- */
745
- export declare const batteryStorage: DeviceTypeDefinition;
746
- /**
747
- * A Heat Pump device is a device that uses electrical energy to heat either spaces or water tanks using
748
- * ground, water or air as the heat source. These typically can heat the air or can pump water via central
749
- * heating radiators or underfloor heating systems. It is typical to also heat hot water and store
750
- * the heat in a hot water tank.
751
- *
752
- * 14.5.1. Heat Pump Architecture
753
- * A Heat Pump device is always defined via endpoint composition.
754
- *
755
- * 14.5.5. Device Type Requirements
756
- * A Heat Pump device SHALL be composed of at least one endpoint with device types as defined by
757
- * the conformance below. There MAY be more endpoints with additional instances of these device
758
- * types or additional device types existing in the Heat Pump device.
759
- * - ID Name Constraint Conformance
760
- * - 0x0011 Power Source M
761
- * - 0x0510 Electrical Sensor min 1 M
762
- * - 0x050D Device Energy Management M
763
- * - 0x0301 Thermostat O
764
- * - 0x050f Water Heater O
765
- * - 0x0302 Temperature Sensor O
766
- *
767
- * See 14.5.5.1. Cluster Requirements on Composing Device Types
768
- */
769
- export declare const heatPump: DeviceTypeDefinition;
770
- //# sourceMappingURL=matterbridgeDeviceTypes.d.ts.map