matterbridge 3.4.0 → 3.4.1-dev-20251127-826b2bf

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 (332) hide show
  1. package/CHANGELOG.md +128 -112
  2. package/README-DEV.md +2 -2
  3. package/README-DOCKER.md +1 -1
  4. package/README-MACOS-PLIST.md +1 -1
  5. package/README-NGINX.md +1 -1
  6. package/README-PODMAN.md +1 -1
  7. package/README-SERVICE-LOCAL.md +1 -1
  8. package/README-SERVICE-OPT.md +6 -1
  9. package/README-SERVICE.md +1 -1
  10. package/README.md +57 -49
  11. package/dist/broadcastServer.js +1 -93
  12. package/dist/broadcastServerTypes.js +0 -24
  13. package/dist/cli.js +1 -97
  14. package/dist/cliEmitter.js +0 -37
  15. package/dist/cliHistory.js +0 -38
  16. package/dist/clusters/export.js +0 -2
  17. package/dist/defaultConfigSchema.js +0 -24
  18. package/dist/deviceManager.js +1 -113
  19. package/dist/devices/airConditioner.js +0 -57
  20. package/dist/devices/batteryStorage.js +1 -48
  21. package/dist/devices/cooktop.js +0 -56
  22. package/dist/devices/dishwasher.js +0 -57
  23. package/dist/devices/evse.js +10 -74
  24. package/dist/devices/export.js +0 -5
  25. package/dist/devices/extractorHood.js +0 -43
  26. package/dist/devices/heatPump.js +2 -50
  27. package/dist/devices/laundryDryer.js +3 -62
  28. package/dist/devices/laundryWasher.js +4 -70
  29. package/dist/devices/microwaveOven.js +5 -88
  30. package/dist/devices/oven.js +0 -85
  31. package/dist/devices/refrigerator.js +0 -102
  32. package/dist/devices/roboticVacuumCleaner.js +9 -100
  33. package/dist/devices/solarPower.js +0 -38
  34. package/dist/devices/speaker.js +0 -84
  35. package/dist/devices/temperatureControl.js +3 -24
  36. package/dist/devices/waterHeater.js +2 -82
  37. package/dist/dgram/coap.js +13 -126
  38. package/dist/dgram/dgram.js +2 -114
  39. package/dist/dgram/mb_coap.js +3 -41
  40. package/dist/dgram/mb_mdns.js +15 -80
  41. package/dist/dgram/mdns.js +137 -299
  42. package/dist/dgram/multicast.js +1 -62
  43. package/dist/dgram/unicast.js +0 -54
  44. package/dist/frontend.js +35 -455
  45. package/dist/frontendTypes.js +0 -45
  46. package/dist/helpers.js +0 -53
  47. package/dist/index.js +0 -25
  48. package/dist/jestutils/export.js +0 -1
  49. package/dist/jestutils/jestHelpers.js +13 -352
  50. package/dist/logger/export.js +0 -1
  51. package/dist/matter/behaviors.js +0 -2
  52. package/dist/matter/clusters.js +0 -2
  53. package/dist/matter/devices.js +0 -2
  54. package/dist/matter/endpoints.js +0 -2
  55. package/dist/matter/export.js +0 -3
  56. package/dist/matter/types.js +0 -3
  57. package/dist/matterNode.js +8 -369
  58. package/dist/matterbridge.js +74 -788
  59. package/dist/matterbridgeAccessoryPlatform.js +0 -38
  60. package/dist/matterbridgeBehaviors.js +5 -68
  61. package/dist/matterbridgeDeviceTypes.js +14 -635
  62. package/dist/matterbridgeDynamicPlatform.js +0 -38
  63. package/dist/matterbridgeEndpoint.js +53 -1444
  64. package/dist/matterbridgeEndpointHelpers.js +20 -483
  65. package/dist/matterbridgeEndpointTypes.js +0 -25
  66. package/dist/matterbridgePlatform.js +2 -460
  67. package/dist/matterbridgeTypes.js +0 -26
  68. package/dist/pluginManager.js +5 -340
  69. package/dist/shelly.js +7 -168
  70. package/dist/storage/export.js +0 -1
  71. package/dist/update.js +0 -69
  72. package/dist/utils/colorUtils.js +2 -97
  73. package/dist/utils/commandLine.js +0 -60
  74. package/dist/utils/copyDirectory.js +0 -37
  75. package/dist/utils/createDirectory.js +0 -33
  76. package/dist/utils/createZip.js +2 -47
  77. package/dist/utils/deepCopy.js +0 -39
  78. package/dist/utils/deepEqual.js +1 -72
  79. package/dist/utils/error.js +0 -41
  80. package/dist/utils/export.js +0 -1
  81. package/dist/utils/format.js +0 -49
  82. package/dist/utils/hex.js +0 -124
  83. package/dist/utils/inspector.js +1 -69
  84. package/dist/utils/isvalid.js +0 -101
  85. package/dist/utils/network.js +5 -96
  86. package/dist/utils/spawn.js +1 -71
  87. package/dist/utils/tracker.js +1 -64
  88. package/dist/utils/wait.js +8 -60
  89. package/frontend/build/assets/index.js +4 -4
  90. package/frontend/build/assets/vendor_mui.js +1 -1
  91. package/frontend/build/assets/vendor_node_modules.js +19 -83
  92. package/frontend/build/assets/vendor_qrcode.js +1 -9
  93. package/frontend/build/assets/vendor_rjsf.js +1 -9
  94. package/frontend/package-lock.json +229 -439
  95. package/frontend/package.json +15 -15
  96. package/marked.ps1 +15 -0
  97. package/npm-shrinkwrap.json +165 -231
  98. package/package.json +2 -3
  99. package/dist/broadcastServer.d.ts +0 -115
  100. package/dist/broadcastServer.d.ts.map +0 -1
  101. package/dist/broadcastServer.js.map +0 -1
  102. package/dist/broadcastServerTypes.d.ts +0 -838
  103. package/dist/broadcastServerTypes.d.ts.map +0 -1
  104. package/dist/broadcastServerTypes.js.map +0 -1
  105. package/dist/cli.d.ts +0 -30
  106. package/dist/cli.d.ts.map +0 -1
  107. package/dist/cli.js.map +0 -1
  108. package/dist/cliEmitter.d.ts +0 -50
  109. package/dist/cliEmitter.d.ts.map +0 -1
  110. package/dist/cliEmitter.js.map +0 -1
  111. package/dist/cliHistory.d.ts +0 -48
  112. package/dist/cliHistory.d.ts.map +0 -1
  113. package/dist/cliHistory.js.map +0 -1
  114. package/dist/clusters/export.d.ts +0 -2
  115. package/dist/clusters/export.d.ts.map +0 -1
  116. package/dist/clusters/export.js.map +0 -1
  117. package/dist/defaultConfigSchema.d.ts +0 -28
  118. package/dist/defaultConfigSchema.d.ts.map +0 -1
  119. package/dist/defaultConfigSchema.js.map +0 -1
  120. package/dist/deviceManager.d.ts +0 -135
  121. package/dist/deviceManager.d.ts.map +0 -1
  122. package/dist/deviceManager.js.map +0 -1
  123. package/dist/devices/airConditioner.d.ts +0 -98
  124. package/dist/devices/airConditioner.d.ts.map +0 -1
  125. package/dist/devices/airConditioner.js.map +0 -1
  126. package/dist/devices/batteryStorage.d.ts +0 -48
  127. package/dist/devices/batteryStorage.d.ts.map +0 -1
  128. package/dist/devices/batteryStorage.js.map +0 -1
  129. package/dist/devices/cooktop.d.ts +0 -61
  130. package/dist/devices/cooktop.d.ts.map +0 -1
  131. package/dist/devices/cooktop.js.map +0 -1
  132. package/dist/devices/dishwasher.d.ts +0 -71
  133. package/dist/devices/dishwasher.d.ts.map +0 -1
  134. package/dist/devices/dishwasher.js.map +0 -1
  135. package/dist/devices/evse.d.ts +0 -76
  136. package/dist/devices/evse.d.ts.map +0 -1
  137. package/dist/devices/evse.js.map +0 -1
  138. package/dist/devices/export.d.ts +0 -17
  139. package/dist/devices/export.d.ts.map +0 -1
  140. package/dist/devices/export.js.map +0 -1
  141. package/dist/devices/extractorHood.d.ts +0 -46
  142. package/dist/devices/extractorHood.d.ts.map +0 -1
  143. package/dist/devices/extractorHood.js.map +0 -1
  144. package/dist/devices/heatPump.d.ts +0 -47
  145. package/dist/devices/heatPump.d.ts.map +0 -1
  146. package/dist/devices/heatPump.js.map +0 -1
  147. package/dist/devices/laundryDryer.d.ts +0 -67
  148. package/dist/devices/laundryDryer.d.ts.map +0 -1
  149. package/dist/devices/laundryDryer.js.map +0 -1
  150. package/dist/devices/laundryWasher.d.ts +0 -81
  151. package/dist/devices/laundryWasher.d.ts.map +0 -1
  152. package/dist/devices/laundryWasher.js.map +0 -1
  153. package/dist/devices/microwaveOven.d.ts +0 -168
  154. package/dist/devices/microwaveOven.d.ts.map +0 -1
  155. package/dist/devices/microwaveOven.js.map +0 -1
  156. package/dist/devices/oven.d.ts +0 -105
  157. package/dist/devices/oven.d.ts.map +0 -1
  158. package/dist/devices/oven.js.map +0 -1
  159. package/dist/devices/refrigerator.d.ts +0 -118
  160. package/dist/devices/refrigerator.d.ts.map +0 -1
  161. package/dist/devices/refrigerator.js.map +0 -1
  162. package/dist/devices/roboticVacuumCleaner.d.ts +0 -112
  163. package/dist/devices/roboticVacuumCleaner.d.ts.map +0 -1
  164. package/dist/devices/roboticVacuumCleaner.js.map +0 -1
  165. package/dist/devices/solarPower.d.ts +0 -40
  166. package/dist/devices/solarPower.d.ts.map +0 -1
  167. package/dist/devices/solarPower.js.map +0 -1
  168. package/dist/devices/speaker.d.ts +0 -87
  169. package/dist/devices/speaker.d.ts.map +0 -1
  170. package/dist/devices/speaker.js.map +0 -1
  171. package/dist/devices/temperatureControl.d.ts +0 -166
  172. package/dist/devices/temperatureControl.d.ts.map +0 -1
  173. package/dist/devices/temperatureControl.js.map +0 -1
  174. package/dist/devices/waterHeater.d.ts +0 -111
  175. package/dist/devices/waterHeater.d.ts.map +0 -1
  176. package/dist/devices/waterHeater.js.map +0 -1
  177. package/dist/dgram/coap.d.ts +0 -205
  178. package/dist/dgram/coap.d.ts.map +0 -1
  179. package/dist/dgram/coap.js.map +0 -1
  180. package/dist/dgram/dgram.d.ts +0 -141
  181. package/dist/dgram/dgram.d.ts.map +0 -1
  182. package/dist/dgram/dgram.js.map +0 -1
  183. package/dist/dgram/mb_coap.d.ts +0 -24
  184. package/dist/dgram/mb_coap.d.ts.map +0 -1
  185. package/dist/dgram/mb_coap.js.map +0 -1
  186. package/dist/dgram/mb_mdns.d.ts +0 -24
  187. package/dist/dgram/mb_mdns.d.ts.map +0 -1
  188. package/dist/dgram/mb_mdns.js.map +0 -1
  189. package/dist/dgram/mdns.d.ts +0 -290
  190. package/dist/dgram/mdns.d.ts.map +0 -1
  191. package/dist/dgram/mdns.js.map +0 -1
  192. package/dist/dgram/multicast.d.ts +0 -67
  193. package/dist/dgram/multicast.d.ts.map +0 -1
  194. package/dist/dgram/multicast.js.map +0 -1
  195. package/dist/dgram/unicast.d.ts +0 -56
  196. package/dist/dgram/unicast.d.ts.map +0 -1
  197. package/dist/dgram/unicast.js.map +0 -1
  198. package/dist/frontend.d.ts +0 -238
  199. package/dist/frontend.d.ts.map +0 -1
  200. package/dist/frontend.js.map +0 -1
  201. package/dist/frontendTypes.d.ts +0 -529
  202. package/dist/frontendTypes.d.ts.map +0 -1
  203. package/dist/frontendTypes.js.map +0 -1
  204. package/dist/helpers.d.ts +0 -48
  205. package/dist/helpers.d.ts.map +0 -1
  206. package/dist/helpers.js.map +0 -1
  207. package/dist/index.d.ts +0 -34
  208. package/dist/index.d.ts.map +0 -1
  209. package/dist/index.js.map +0 -1
  210. package/dist/jestutils/export.d.ts +0 -2
  211. package/dist/jestutils/export.d.ts.map +0 -1
  212. package/dist/jestutils/export.js.map +0 -1
  213. package/dist/jestutils/jestHelpers.d.ts +0 -303
  214. package/dist/jestutils/jestHelpers.d.ts.map +0 -1
  215. package/dist/jestutils/jestHelpers.js.map +0 -1
  216. package/dist/logger/export.d.ts +0 -2
  217. package/dist/logger/export.d.ts.map +0 -1
  218. package/dist/logger/export.js.map +0 -1
  219. package/dist/matter/behaviors.d.ts +0 -2
  220. package/dist/matter/behaviors.d.ts.map +0 -1
  221. package/dist/matter/behaviors.js.map +0 -1
  222. package/dist/matter/clusters.d.ts +0 -2
  223. package/dist/matter/clusters.d.ts.map +0 -1
  224. package/dist/matter/clusters.js.map +0 -1
  225. package/dist/matter/devices.d.ts +0 -2
  226. package/dist/matter/devices.d.ts.map +0 -1
  227. package/dist/matter/devices.js.map +0 -1
  228. package/dist/matter/endpoints.d.ts +0 -2
  229. package/dist/matter/endpoints.d.ts.map +0 -1
  230. package/dist/matter/endpoints.js.map +0 -1
  231. package/dist/matter/export.d.ts +0 -5
  232. package/dist/matter/export.d.ts.map +0 -1
  233. package/dist/matter/export.js.map +0 -1
  234. package/dist/matter/types.d.ts +0 -3
  235. package/dist/matter/types.d.ts.map +0 -1
  236. package/dist/matter/types.js.map +0 -1
  237. package/dist/matterNode.d.ts +0 -342
  238. package/dist/matterNode.d.ts.map +0 -1
  239. package/dist/matterNode.js.map +0 -1
  240. package/dist/matterbridge.d.ts +0 -473
  241. package/dist/matterbridge.d.ts.map +0 -1
  242. package/dist/matterbridge.js.map +0 -1
  243. package/dist/matterbridgeAccessoryPlatform.d.ts +0 -41
  244. package/dist/matterbridgeAccessoryPlatform.d.ts.map +0 -1
  245. package/dist/matterbridgeAccessoryPlatform.js.map +0 -1
  246. package/dist/matterbridgeBehaviors.d.ts +0 -2404
  247. package/dist/matterbridgeBehaviors.d.ts.map +0 -1
  248. package/dist/matterbridgeBehaviors.js.map +0 -1
  249. package/dist/matterbridgeDeviceTypes.d.ts +0 -698
  250. package/dist/matterbridgeDeviceTypes.d.ts.map +0 -1
  251. package/dist/matterbridgeDeviceTypes.js.map +0 -1
  252. package/dist/matterbridgeDynamicPlatform.d.ts +0 -41
  253. package/dist/matterbridgeDynamicPlatform.d.ts.map +0 -1
  254. package/dist/matterbridgeDynamicPlatform.js.map +0 -1
  255. package/dist/matterbridgeEndpoint.d.ts +0 -1507
  256. package/dist/matterbridgeEndpoint.d.ts.map +0 -1
  257. package/dist/matterbridgeEndpoint.js.map +0 -1
  258. package/dist/matterbridgeEndpointHelpers.d.ts +0 -787
  259. package/dist/matterbridgeEndpointHelpers.d.ts.map +0 -1
  260. package/dist/matterbridgeEndpointHelpers.js.map +0 -1
  261. package/dist/matterbridgeEndpointTypes.d.ts +0 -166
  262. package/dist/matterbridgeEndpointTypes.d.ts.map +0 -1
  263. package/dist/matterbridgeEndpointTypes.js.map +0 -1
  264. package/dist/matterbridgePlatform.d.ts +0 -524
  265. package/dist/matterbridgePlatform.d.ts.map +0 -1
  266. package/dist/matterbridgePlatform.js.map +0 -1
  267. package/dist/matterbridgeTypes.d.ts +0 -251
  268. package/dist/matterbridgeTypes.d.ts.map +0 -1
  269. package/dist/matterbridgeTypes.js.map +0 -1
  270. package/dist/pluginManager.d.ts +0 -371
  271. package/dist/pluginManager.d.ts.map +0 -1
  272. package/dist/pluginManager.js.map +0 -1
  273. package/dist/shelly.d.ts +0 -174
  274. package/dist/shelly.d.ts.map +0 -1
  275. package/dist/shelly.js.map +0 -1
  276. package/dist/storage/export.d.ts +0 -2
  277. package/dist/storage/export.d.ts.map +0 -1
  278. package/dist/storage/export.js.map +0 -1
  279. package/dist/update.d.ts +0 -75
  280. package/dist/update.d.ts.map +0 -1
  281. package/dist/update.js.map +0 -1
  282. package/dist/utils/colorUtils.d.ts +0 -101
  283. package/dist/utils/colorUtils.d.ts.map +0 -1
  284. package/dist/utils/colorUtils.js.map +0 -1
  285. package/dist/utils/commandLine.d.ts +0 -66
  286. package/dist/utils/commandLine.d.ts.map +0 -1
  287. package/dist/utils/commandLine.js.map +0 -1
  288. package/dist/utils/copyDirectory.d.ts +0 -35
  289. package/dist/utils/copyDirectory.d.ts.map +0 -1
  290. package/dist/utils/copyDirectory.js.map +0 -1
  291. package/dist/utils/createDirectory.d.ts +0 -34
  292. package/dist/utils/createDirectory.d.ts.map +0 -1
  293. package/dist/utils/createDirectory.js.map +0 -1
  294. package/dist/utils/createZip.d.ts +0 -39
  295. package/dist/utils/createZip.d.ts.map +0 -1
  296. package/dist/utils/createZip.js.map +0 -1
  297. package/dist/utils/deepCopy.d.ts +0 -32
  298. package/dist/utils/deepCopy.d.ts.map +0 -1
  299. package/dist/utils/deepCopy.js.map +0 -1
  300. package/dist/utils/deepEqual.d.ts +0 -54
  301. package/dist/utils/deepEqual.d.ts.map +0 -1
  302. package/dist/utils/deepEqual.js.map +0 -1
  303. package/dist/utils/error.d.ts +0 -44
  304. package/dist/utils/error.d.ts.map +0 -1
  305. package/dist/utils/error.js.map +0 -1
  306. package/dist/utils/export.d.ts +0 -13
  307. package/dist/utils/export.d.ts.map +0 -1
  308. package/dist/utils/export.js.map +0 -1
  309. package/dist/utils/format.d.ts +0 -53
  310. package/dist/utils/format.d.ts.map +0 -1
  311. package/dist/utils/format.js.map +0 -1
  312. package/dist/utils/hex.d.ts +0 -89
  313. package/dist/utils/hex.d.ts.map +0 -1
  314. package/dist/utils/hex.js.map +0 -1
  315. package/dist/utils/inspector.d.ts +0 -87
  316. package/dist/utils/inspector.d.ts.map +0 -1
  317. package/dist/utils/inspector.js.map +0 -1
  318. package/dist/utils/isvalid.d.ts +0 -103
  319. package/dist/utils/isvalid.d.ts.map +0 -1
  320. package/dist/utils/isvalid.js.map +0 -1
  321. package/dist/utils/network.d.ts +0 -111
  322. package/dist/utils/network.d.ts.map +0 -1
  323. package/dist/utils/network.js.map +0 -1
  324. package/dist/utils/spawn.d.ts +0 -33
  325. package/dist/utils/spawn.d.ts.map +0 -1
  326. package/dist/utils/spawn.js.map +0 -1
  327. package/dist/utils/tracker.d.ts +0 -108
  328. package/dist/utils/tracker.d.ts.map +0 -1
  329. package/dist/utils/tracker.js.map +0 -1
  330. package/dist/utils/wait.d.ts +0 -54
  331. package/dist/utils/wait.d.ts.map +0 -1
  332. package/dist/utils/wait.js.map +0 -1
@@ -1,342 +0,0 @@
1
- /**
2
- * This file contains the class MatterNode.
3
- *
4
- * @file matterNode.ts
5
- * @author Luca Liguori
6
- * @created 2025-10-01
7
- * @version 1.0.0
8
- * @license Apache-2.0
9
- *
10
- * Copyright 2025, 2026, 2027 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 EventEmitter from 'node:events';
25
- import '@matter/nodejs';
26
- import { Diagnostic, StorageContext, StorageManager, StorageService } from '@matter/general';
27
- import { DeviceCertification, ExposedFabricInformation, MdnsService } from '@matter/protocol';
28
- import { VendorId, DeviceTypeId } from '@matter/types';
29
- import { ServerNode, Endpoint, SessionsBehavior } from '@matter/node';
30
- import { AggregatorEndpoint } from '@matter/node/endpoints/aggregator';
31
- import type { MatterbridgeEndpoint } from './matterbridgeEndpoint.js';
32
- import { SharedMatterbridge, ApiMatter, Plugin, SanitizedExposedFabricInformation, SanitizedSession, PluginName } from './matterbridgeTypes.js';
33
- import { WorkerMessage } from './broadcastServerTypes.js';
34
- import { PluginManager } from './pluginManager.js';
35
- /**
36
- * Represents the Matter events.
37
- */
38
- interface MatterEvents {
39
- ready: [nodeId: string];
40
- online: [nodeId: string];
41
- offline: [nodeId: string];
42
- closed: [];
43
- }
44
- /**
45
- * Represents the Matter class.
46
- */
47
- export declare class MatterNode extends EventEmitter<MatterEvents> {
48
- private readonly matterbridge;
49
- private readonly pluginName?;
50
- private readonly device?;
51
- /** Matterbridge logger */
52
- private readonly log;
53
- /** Matter logger */
54
- private readonly matterLog;
55
- /** Matter environment default */
56
- private readonly environment;
57
- /** Matter storage id */
58
- storeId: string | undefined;
59
- /** Matter mdns service from environment default */
60
- matterMdnsService: MdnsService | undefined;
61
- /** Matter storage service from environment default */
62
- matterStorageService: StorageService | undefined;
63
- /** Matter storage manager created with name 'Matterbridge' */
64
- matterStorageManager: StorageManager | undefined;
65
- /** Matter storage context created in the storage manager with name 'persist' */
66
- matterStorageContext: StorageContext | undefined;
67
- /** Matter mdns interface name e.g. 'eth0' or 'wlan0' or 'Wi-Fi' */
68
- mdnsInterface: string | undefined;
69
- /** Matter listeningAddressIpv4 address */
70
- ipv4Address: string | undefined;
71
- /** Matter listeningAddressIpv6 address */
72
- ipv6Address: string | undefined;
73
- /** Matter commissioning port It is incremented in childbridge mode. */
74
- port: number | undefined;
75
- /** Matter commissioning passcode. It is incremented in childbridge mode. */
76
- passcode: number | undefined;
77
- /** Matter commissioning discriminator. It is incremented in childbridge mode. */
78
- discriminator: number | undefined;
79
- /** Matter device certification */
80
- certification: DeviceCertification.Configuration | undefined;
81
- /** Matter server node */
82
- serverNode: ServerNode<ServerNode.RootEndpoint> | undefined;
83
- /** Matter aggregator node */
84
- aggregatorNode: Endpoint<AggregatorEndpoint> | undefined;
85
- aggregatorVendorId: VendorId;
86
- aggregatorVendorName: string;
87
- aggregatorProductId: number;
88
- aggregatorProductName: string;
89
- aggregatorDeviceType: DeviceTypeId;
90
- aggregatorSerialNumber: string | undefined;
91
- aggregatorUniqueId: string | undefined;
92
- /** Advertising nodes map: time advertising started keyed by storeId */
93
- advertisingNodes: Map<string, number>;
94
- /** Plugins */
95
- readonly pluginManager: PluginManager;
96
- /** Dependant MatterNodes keyed by device id */
97
- readonly dependantMatterNodes: Map<string, MatterNode>;
98
- /** Broadcast server */
99
- private readonly server;
100
- private readonly debug;
101
- private readonly verbose;
102
- /**
103
- * Creates an instance of the Matter class.
104
- *
105
- * @param {SharedMatterbridge} matterbridge - The shared matterbridge instance.
106
- * @param {PluginName} [pluginName] - The plugin name (optional). If not provided, it is assumed to be the main matter node instance and all plugins are included.
107
- * @param {MatterbridgeEndpoint} [device] - The matterbridge endpoint device (optional). It is used to create a server mode device.
108
- */
109
- constructor(matterbridge: SharedMatterbridge, pluginName?: PluginName | undefined, device?: MatterbridgeEndpoint | undefined);
110
- /**
111
- * Handles incoming messages from the broadcast server.
112
- *
113
- * @param {WorkerMessage} msg - The incoming message.
114
- */
115
- msgHandler(msg: WorkerMessage): Promise<void>;
116
- /**
117
- * Destroys the Matter instance.
118
- * It closes the mDNS service and the broadcast server.
119
- *
120
- * @param {boolean} closeMdns - Whether to close the mDNS service. Default is true.
121
- * @returns {Promise<void>} A promise that resolves when the instance is destroyed.
122
- */
123
- destroy(closeMdns?: boolean): Promise<void>;
124
- create(): Promise<void>;
125
- start(): Promise<void>;
126
- stop(): Promise<void>;
127
- /**
128
- * Creates a MatterLogger function to show the matter.js log messages in AnsiLogger (console and frontend).
129
- * It also logs to file (matter.log) if fileLogger is true.
130
- *
131
- * @returns {Function} The MatterLogger function. \x1b[35m for violet \x1b[34m is blue
132
- */
133
- createDestinationMatterLogger(): (text: string, message: Diagnostic.Message) => void;
134
- /**
135
- * Starts the matter storage with name Matterbridge and performs a backup.
136
- *
137
- * @returns {Promise<void>} - A promise that resolves when the storage is started.
138
- */
139
- startMatterStorage(): Promise<void>;
140
- /**
141
- * Makes a backup copy of the specified matter storage directory.
142
- *
143
- * @param {string} storageName - The name of the storage directory to be backed up.
144
- * @param {string} backupName - The name of the backup directory to be created.
145
- * @private
146
- * @returns {Promise<void>} A promise that resolves when the has been done.
147
- */
148
- backupMatterStorage(storageName: string, backupName: string): Promise<void>;
149
- /**
150
- * Stops the matter storage.
151
- *
152
- * @returns {Promise<void>} A promise that resolves when the storage is stopped.
153
- */
154
- stopMatterStorage(): Promise<void>;
155
- /**
156
- * Creates a server node storage context.
157
- *
158
- * @param {string} storeId - The storeId.
159
- * @param {string} deviceName - The name of the device.
160
- * @param {DeviceTypeId} deviceType - The device type of the device.
161
- * @param {VendorId} vendorId - The vendor ID.
162
- * @param {string} vendorName - The vendor name.
163
- * @param {number} productId - The product ID.
164
- * @param {string} productName - The product name.
165
- * @param {string} [serialNumber] - The serial number of the device (optional).
166
- * @param {string} [uniqueId] - The unique ID of the device (optional).
167
- * @returns {Promise<StorageContext>} The storage context for the commissioning server.
168
- * @throws {Error} If the storage service is not initialized.
169
- */
170
- createServerNodeContext(storeId: string, deviceName: string, deviceType: DeviceTypeId, vendorId: VendorId, vendorName: string, productId: number, productName: string, serialNumber?: string, uniqueId?: string): Promise<StorageContext>;
171
- /**
172
- * Creates a server node.
173
- *
174
- * @param {number} [port] - The port number for the server node. Defaults to 5540.
175
- * @param {number} [passcode] - The passcode for the server node. Defaults to 20242025.
176
- * @param {number} [discriminator] - The discriminator for the server node. Defaults to 3850.
177
- * @returns {Promise<ServerNode<ServerNode.RootEndpoint>>} A promise that resolves to the created server node.
178
- * @throws {Error} If the matter storage context is not created yet.
179
- */
180
- createServerNode(port?: number, passcode?: number, discriminator?: number): Promise<ServerNode<ServerNode.RootEndpoint>>;
181
- /**
182
- * Gets the matter serializable data of the specified server node.
183
- *
184
- * @param {ServerNode} [serverNode] - The server node to start.
185
- * @returns {ApiMatter} The serializable data of the server node.
186
- */
187
- getServerNodeData(serverNode: ServerNode<ServerNode.RootEndpoint>): ApiMatter;
188
- /**
189
- * Starts the specified server node.
190
- *
191
- * @param {number} [timeout] - The timeout in milliseconds for starting the server node. Defaults to 30 seconds.
192
- * @returns {Promise<void>} A promise that resolves when the server node has started.
193
- * @throws {Error} If the server node is not created yet.
194
- */
195
- startServerNode(timeout?: number): Promise<void>;
196
- /**
197
- * Stops the specified server node.
198
- *
199
- * @param {number} [timeout] - The timeout in milliseconds for stopping the server node. Defaults to 30 seconds.
200
- * @returns {Promise<void>} A promise that resolves when the server node has stopped.
201
- * @throws {Error} If the server node is not created yet.
202
- */
203
- stopServerNode(timeout?: number): Promise<void>;
204
- /**
205
- * Creates an aggregator node with the specified storage context.
206
- *
207
- * @returns {Promise<Endpoint<AggregatorEndpoint>>} A promise that resolves to the created aggregator node.
208
- * @throws {Error} If the matter storage context is not created yet.
209
- */
210
- createAggregatorNode(): Promise<Endpoint<AggregatorEndpoint>>;
211
- /**
212
- * Creates the matterbridge server node.
213
- *
214
- * @returns {Promise<ServerNode<ServerNode.RootEndpoint>>} A promise that resolves to the created matterbridge server node.
215
- */
216
- createMatterbridgeServerNode(): Promise<ServerNode<ServerNode.RootEndpoint>>;
217
- /**
218
- * Creates and configures the server node for an accessory plugin for a given device.
219
- *
220
- * @param {Plugin | PluginName} plugin - The plugin to configure.
221
- * @param {MatterbridgeEndpoint} device - The device to associate with the plugin.
222
- * @returns {Promise<ServerNode<ServerNode.RootEndpoint> | undefined>} A promise that resolves to the server node for the accessory plugin.
223
- */
224
- createAccessoryPlugin(plugin: Plugin | PluginName, device: MatterbridgeEndpoint): Promise<ServerNode<ServerNode.RootEndpoint> | undefined>;
225
- /**
226
- * Creates and configures the server node and the aggregator node for a dynamic plugin.
227
- *
228
- * @param {Plugin | PluginName} plugin - The plugin to configure.
229
- * @returns {Promise<ServerNode<ServerNode.RootEndpoint> | undefined>} A promise that resolves to the server node for the dynamic plugin.
230
- */
231
- createDynamicPlugin(plugin: Plugin | PluginName): Promise<ServerNode<ServerNode.RootEndpoint> | undefined>;
232
- /**
233
- * Creates and configures the server node for a single not bridged device.
234
- *
235
- * @param {Plugin | PluginName} plugin - The plugin to configure.
236
- * @param {MatterbridgeEndpoint} device - The device to associate with the plugin.
237
- * @returns {Promise<ServerNode<ServerNode.RootEndpoint> | undefined>} A promise that resolves to the server node for the device with mode server.
238
- */
239
- createDeviceServerNode(plugin: Plugin | PluginName, device: MatterbridgeEndpoint): Promise<ServerNode<ServerNode.RootEndpoint> | undefined>;
240
- /**
241
- * Adds a MatterbridgeEndpoint to the specified plugin.
242
- *
243
- * @param {string} pluginName - The name of the plugin.
244
- * @param {MatterbridgeEndpoint} device - The device to add as a bridged endpoint.
245
- * @returns {Promise<MatterbridgeEndpoint | undefined>} A promise that resolves to the added bridged endpoint, or undefined if there was an error.
246
- */
247
- addBridgedEndpoint(pluginName: string, device: MatterbridgeEndpoint): Promise<MatterbridgeEndpoint | undefined>;
248
- /**
249
- * Removes a MatterbridgeEndpoint from the specified plugin.
250
- *
251
- * @param {string} pluginName - The name of the plugin.
252
- * @param {MatterbridgeEndpoint} device - The device to remove as a bridged endpoint.
253
- * @returns {Promise<MatterbridgeEndpoint | undefined>} A promise that resolves to the removed bridged endpoint, or undefined if there was an error.
254
- */
255
- removeBridgedEndpoint(pluginName: string, device: MatterbridgeEndpoint): Promise<MatterbridgeEndpoint | undefined>;
256
- /**
257
- * Removes all bridged endpoints from the specified plugin.
258
- *
259
- * @param {string} pluginName - The name of the plugin.
260
- * @param {number} [delay] - The delay in milliseconds between removing each bridged endpoint (default: 0).
261
- * @returns {Promise<void>} A promise that resolves when all bridged endpoints have been removed.
262
- *
263
- * @remarks
264
- * This method iterates through all devices in the DeviceManager and removes each bridged endpoint associated with the specified plugin.
265
- * It also applies a delay between each removal if specified.
266
- * The delay is useful to allow the controllers to receive a single subscription for each device removed.
267
- */
268
- removeAllBridgedEndpoints(pluginName: string, delay?: number): Promise<void>;
269
- /**
270
- * Registers a virtual device with the Matterbridge platform.
271
- * Virtual devices are only supported in bridge mode and childbridge mode with a DynamicPlatform.
272
- *
273
- * The virtual device is created as an instance of `Endpoint` with the provided device type.
274
- * When the virtual device is turned on, the provided callback function is executed.
275
- * The onOff state of the virtual device always reverts to false when the device is turned on.
276
- *
277
- * @param {string} pluginName - The name of the plugin.
278
- * @param { string } name - The name of the virtual device.
279
- * @param { 'light' | 'outlet' | 'switch' | 'mounted_switch' } type - The type of the virtual device.
280
- * @param { () => Promise<void> } callback - The callback to call when the virtual device is turned on.
281
- *
282
- * @returns {Promise<boolean>} A promise that resolves to true if the virtual device was successfully registered, false otherwise.
283
- *
284
- * @remarks
285
- * The virtual devices don't show up in the device list of the frontend.
286
- * Type 'switch' is not supported by Alexa and 'mounted_switch' is not supported by Apple Home.
287
- */
288
- addVirtualEndpoint(pluginName: string, name: string, type: 'light' | 'outlet' | 'switch' | 'mounted_switch', callback: () => Promise<void>): Promise<boolean>;
289
- /**
290
- * Subscribes to the attribute change event for the given device and plugin.
291
- * Specifically, it listens for changes in the 'reachable' attribute of the
292
- * BridgedDeviceBasicInformationServer cluster server of the bridged device or BasicInformationServer cluster server of server node.
293
- *
294
- * @param {Plugin} plugin - The plugin associated with the device.
295
- * @param {MatterbridgeEndpoint} device - The device to subscribe to attribute changes for.
296
- * @returns {Promise<void>} A promise that resolves when the subscription is set up.
297
- */
298
- subscribeAttributeChanged(plugin: Plugin, device: MatterbridgeEndpoint): Promise<void>;
299
- /**
300
- * Sanitizes the fabric information by converting bigint properties to strings because `res.json` doesn't support bigint.
301
- *
302
- * @param {ExposedFabricInformation[]} fabricInfo - The array of exposed fabric information objects.
303
- * @returns {SanitizedExposedFabricInformation[]} An array of sanitized exposed fabric information objects.
304
- */
305
- sanitizeFabricInformations(fabricInfo: ExposedFabricInformation[]): SanitizedExposedFabricInformation[];
306
- /**
307
- * Sanitizes the session information by converting bigint properties to strings because `res.json` doesn't support bigint.
308
- *
309
- * @param {SessionsBehavior.Session[]} sessions - The array of session information objects.
310
- * @returns {SanitizedSession[]} An array of sanitized session information objects.
311
- */
312
- sanitizeSessionInformation(sessions: SessionsBehavior.Session[]): SanitizedSession[];
313
- /**
314
- * Sets the reachability of the specified server node and trigger the corresponding event.
315
- *
316
- * @param {boolean} reachable - A boolean indicating the reachability status to set.
317
- */
318
- setServerReachability(reachable: boolean): Promise<void>;
319
- /**
320
- * Sets the reachability of the specified aggregator node bridged devices and trigger.
321
- *
322
- * @param {Endpoint<AggregatorEndpoint>} aggregatorNode - The aggregator node to set the reachability for.
323
- * @param {boolean} reachable - A boolean indicating the reachability status to set.
324
- */
325
- setAggregatorReachability(aggregatorNode: Endpoint<AggregatorEndpoint>, reachable: boolean): Promise<void>;
326
- getVendorIdName: (vendorId: number | undefined) => string;
327
- /**
328
- * Yield to the Node.js event loop:
329
- * 1. Flushes the current microtask queue (Promise/async continuations queued so far).
330
- * 2. Yields one macrotask turn (setImmediate) and then its microtasks.
331
- * 3. Waits a bit (setTimeout) to allow other macrotasks to run.
332
- *
333
- * This does **not** guarantee that every promise in the process is settled,
334
- * but it gives all already-scheduled work a very good chance to run before continuing.
335
- *
336
- * @param {number} [timeout] - Optional timeout in milliseconds to wait after yielding. Default is 100 ms (minimum 10 ms).
337
- * @returns {Promise<void>}
338
- */
339
- yieldToNode(timeout?: number): Promise<void>;
340
- }
341
- export {};
342
- //# sourceMappingURL=matterNode.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"matterNode.d.ts","sourceRoot":"","sources":["../src/matterNode.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"matterNode.js","sourceRoot":"","sources":["../src/matterNode.ts"],"names":[],"mappings":"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"}