matterbridge 3.1.8 → 3.2.0-dev-20250729-fcbf392

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 (261) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/README.md +1 -1
  3. package/dist/cli.js +2 -91
  4. package/dist/cliEmitter.js +0 -30
  5. package/dist/clusters/export.js +0 -2
  6. package/dist/defaultConfigSchema.js +0 -24
  7. package/dist/deviceManager.js +1 -94
  8. package/dist/devices/batteryStorage.js +1 -48
  9. package/dist/devices/dishwasher.js +3 -78
  10. package/dist/devices/evse.js +10 -74
  11. package/dist/devices/export.js +0 -2
  12. package/dist/devices/extractorHood.js +0 -42
  13. package/dist/devices/heatPump.js +2 -50
  14. package/dist/devices/laundryDryer.js +6 -83
  15. package/dist/devices/laundryWasher.js +7 -91
  16. package/dist/devices/roboticVacuumCleaner.js +7 -93
  17. package/dist/devices/solarPower.js +0 -38
  18. package/dist/devices/waterHeater.js +2 -82
  19. package/dist/dgram/coap.js +13 -126
  20. package/dist/dgram/dgram.js +2 -113
  21. package/dist/dgram/mb_coap.js +3 -41
  22. package/dist/dgram/mb_mdns.js +13 -51
  23. package/dist/dgram/mdns.js +137 -298
  24. package/dist/dgram/multicast.js +1 -60
  25. package/dist/dgram/unicast.js +0 -54
  26. package/dist/frontend.js +23 -449
  27. package/dist/globalMatterbridge.js +0 -47
  28. package/dist/helpers.js +0 -53
  29. package/dist/index.js +1 -30
  30. package/dist/logger/export.js +0 -1
  31. package/dist/matter/behaviors.js +0 -2
  32. package/dist/matter/clusters.js +0 -2
  33. package/dist/matter/devices.js +0 -2
  34. package/dist/matter/endpoints.js +0 -2
  35. package/dist/matter/export.js +0 -3
  36. package/dist/matter/types.js +0 -3
  37. package/dist/matterbridge.js +50 -803
  38. package/dist/matterbridgeAccessoryPlatform.js +0 -36
  39. package/dist/matterbridgeBehaviors.js +5 -65
  40. package/dist/matterbridgeDeviceTypes.js +15 -579
  41. package/dist/matterbridgeDynamicPlatform.js +0 -36
  42. package/dist/matterbridgeEndpoint.js +55 -1215
  43. package/dist/matterbridgeEndpointHelpers.js +12 -344
  44. package/dist/matterbridgePlatform.js +0 -233
  45. package/dist/matterbridgeTypes.js +0 -25
  46. package/dist/pluginManager.js +3 -249
  47. package/dist/shelly.js +7 -168
  48. package/dist/storage/export.js +0 -1
  49. package/dist/update.js +23 -65
  50. package/dist/utils/colorUtils.js +2 -263
  51. package/dist/utils/commandLine.js +0 -54
  52. package/dist/utils/copyDirectory.js +1 -38
  53. package/dist/utils/createDirectory.js +0 -33
  54. package/dist/utils/createZip.js +2 -47
  55. package/dist/utils/deepCopy.js +0 -39
  56. package/dist/utils/deepEqual.js +1 -72
  57. package/dist/utils/error.js +0 -41
  58. package/dist/utils/export.js +0 -1
  59. package/dist/utils/hex.js +0 -123
  60. package/dist/utils/isvalid.js +0 -101
  61. package/dist/utils/network.js +43 -81
  62. package/dist/utils/spawn.js +0 -40
  63. package/dist/utils/wait.js +9 -62
  64. package/npm-shrinkwrap.json +49 -49
  65. package/package.json +3 -4
  66. package/dist/cli.d.ts +0 -26
  67. package/dist/cli.d.ts.map +0 -1
  68. package/dist/cli.js.map +0 -1
  69. package/dist/cliEmitter.d.ts +0 -34
  70. package/dist/cliEmitter.d.ts.map +0 -1
  71. package/dist/cliEmitter.js.map +0 -1
  72. package/dist/clusters/export.d.ts +0 -2
  73. package/dist/clusters/export.d.ts.map +0 -1
  74. package/dist/clusters/export.js.map +0 -1
  75. package/dist/defaultConfigSchema.d.ts +0 -28
  76. package/dist/defaultConfigSchema.d.ts.map +0 -1
  77. package/dist/defaultConfigSchema.js.map +0 -1
  78. package/dist/deviceManager.d.ts +0 -112
  79. package/dist/deviceManager.d.ts.map +0 -1
  80. package/dist/deviceManager.js.map +0 -1
  81. package/dist/devices/batteryStorage.d.ts +0 -48
  82. package/dist/devices/batteryStorage.d.ts.map +0 -1
  83. package/dist/devices/batteryStorage.js.map +0 -1
  84. package/dist/devices/dishwasher.d.ts +0 -91
  85. package/dist/devices/dishwasher.d.ts.map +0 -1
  86. package/dist/devices/dishwasher.js.map +0 -1
  87. package/dist/devices/evse.d.ts +0 -75
  88. package/dist/devices/evse.d.ts.map +0 -1
  89. package/dist/devices/evse.js.map +0 -1
  90. package/dist/devices/export.d.ts +0 -11
  91. package/dist/devices/export.d.ts.map +0 -1
  92. package/dist/devices/export.js.map +0 -1
  93. package/dist/devices/extractorHood.d.ts +0 -46
  94. package/dist/devices/extractorHood.d.ts.map +0 -1
  95. package/dist/devices/extractorHood.js.map +0 -1
  96. package/dist/devices/heatPump.d.ts +0 -47
  97. package/dist/devices/heatPump.d.ts.map +0 -1
  98. package/dist/devices/heatPump.js.map +0 -1
  99. package/dist/devices/laundryDryer.d.ts +0 -87
  100. package/dist/devices/laundryDryer.d.ts.map +0 -1
  101. package/dist/devices/laundryDryer.js.map +0 -1
  102. package/dist/devices/laundryWasher.d.ts +0 -242
  103. package/dist/devices/laundryWasher.d.ts.map +0 -1
  104. package/dist/devices/laundryWasher.js.map +0 -1
  105. package/dist/devices/roboticVacuumCleaner.d.ts +0 -112
  106. package/dist/devices/roboticVacuumCleaner.d.ts.map +0 -1
  107. package/dist/devices/roboticVacuumCleaner.js.map +0 -1
  108. package/dist/devices/solarPower.d.ts +0 -40
  109. package/dist/devices/solarPower.d.ts.map +0 -1
  110. package/dist/devices/solarPower.js.map +0 -1
  111. package/dist/devices/waterHeater.d.ts +0 -111
  112. package/dist/devices/waterHeater.d.ts.map +0 -1
  113. package/dist/devices/waterHeater.js.map +0 -1
  114. package/dist/dgram/coap.d.ts +0 -205
  115. package/dist/dgram/coap.d.ts.map +0 -1
  116. package/dist/dgram/coap.js.map +0 -1
  117. package/dist/dgram/dgram.d.ts +0 -140
  118. package/dist/dgram/dgram.d.ts.map +0 -1
  119. package/dist/dgram/dgram.js.map +0 -1
  120. package/dist/dgram/mb_coap.d.ts +0 -24
  121. package/dist/dgram/mb_coap.d.ts.map +0 -1
  122. package/dist/dgram/mb_coap.js.map +0 -1
  123. package/dist/dgram/mb_mdns.d.ts +0 -24
  124. package/dist/dgram/mb_mdns.d.ts.map +0 -1
  125. package/dist/dgram/mb_mdns.js.map +0 -1
  126. package/dist/dgram/mdns.d.ts +0 -288
  127. package/dist/dgram/mdns.d.ts.map +0 -1
  128. package/dist/dgram/mdns.js.map +0 -1
  129. package/dist/dgram/multicast.d.ts +0 -65
  130. package/dist/dgram/multicast.d.ts.map +0 -1
  131. package/dist/dgram/multicast.js.map +0 -1
  132. package/dist/dgram/unicast.d.ts +0 -56
  133. package/dist/dgram/unicast.d.ts.map +0 -1
  134. package/dist/dgram/unicast.js.map +0 -1
  135. package/dist/frontend.d.ts +0 -313
  136. package/dist/frontend.d.ts.map +0 -1
  137. package/dist/frontend.js.map +0 -1
  138. package/dist/globalMatterbridge.d.ts +0 -59
  139. package/dist/globalMatterbridge.d.ts.map +0 -1
  140. package/dist/globalMatterbridge.js.map +0 -1
  141. package/dist/helpers.d.ts +0 -48
  142. package/dist/helpers.d.ts.map +0 -1
  143. package/dist/helpers.js.map +0 -1
  144. package/dist/index.d.ts +0 -33
  145. package/dist/index.d.ts.map +0 -1
  146. package/dist/index.js.map +0 -1
  147. package/dist/logger/export.d.ts +0 -2
  148. package/dist/logger/export.d.ts.map +0 -1
  149. package/dist/logger/export.js.map +0 -1
  150. package/dist/matter/behaviors.d.ts +0 -2
  151. package/dist/matter/behaviors.d.ts.map +0 -1
  152. package/dist/matter/behaviors.js.map +0 -1
  153. package/dist/matter/clusters.d.ts +0 -2
  154. package/dist/matter/clusters.d.ts.map +0 -1
  155. package/dist/matter/clusters.js.map +0 -1
  156. package/dist/matter/devices.d.ts +0 -2
  157. package/dist/matter/devices.d.ts.map +0 -1
  158. package/dist/matter/devices.js.map +0 -1
  159. package/dist/matter/endpoints.d.ts +0 -2
  160. package/dist/matter/endpoints.d.ts.map +0 -1
  161. package/dist/matter/endpoints.js.map +0 -1
  162. package/dist/matter/export.d.ts +0 -5
  163. package/dist/matter/export.d.ts.map +0 -1
  164. package/dist/matter/export.js.map +0 -1
  165. package/dist/matter/types.d.ts +0 -3
  166. package/dist/matter/types.d.ts.map +0 -1
  167. package/dist/matter/types.js.map +0 -1
  168. package/dist/matterbridge.d.ts +0 -463
  169. package/dist/matterbridge.d.ts.map +0 -1
  170. package/dist/matterbridge.js.map +0 -1
  171. package/dist/matterbridgeAccessoryPlatform.d.ts +0 -42
  172. package/dist/matterbridgeAccessoryPlatform.d.ts.map +0 -1
  173. package/dist/matterbridgeAccessoryPlatform.js.map +0 -1
  174. package/dist/matterbridgeBehaviors.d.ts +0 -1351
  175. package/dist/matterbridgeBehaviors.d.ts.map +0 -1
  176. package/dist/matterbridgeBehaviors.js.map +0 -1
  177. package/dist/matterbridgeDeviceTypes.d.ts +0 -709
  178. package/dist/matterbridgeDeviceTypes.d.ts.map +0 -1
  179. package/dist/matterbridgeDeviceTypes.js.map +0 -1
  180. package/dist/matterbridgeDynamicPlatform.d.ts +0 -42
  181. package/dist/matterbridgeDynamicPlatform.d.ts.map +0 -1
  182. package/dist/matterbridgeDynamicPlatform.js.map +0 -1
  183. package/dist/matterbridgeEndpoint.d.ts +0 -1348
  184. package/dist/matterbridgeEndpoint.d.ts.map +0 -1
  185. package/dist/matterbridgeEndpoint.js.map +0 -1
  186. package/dist/matterbridgeEndpointHelpers.d.ts +0 -406
  187. package/dist/matterbridgeEndpointHelpers.d.ts.map +0 -1
  188. package/dist/matterbridgeEndpointHelpers.js.map +0 -1
  189. package/dist/matterbridgePlatform.d.ts +0 -310
  190. package/dist/matterbridgePlatform.d.ts.map +0 -1
  191. package/dist/matterbridgePlatform.js.map +0 -1
  192. package/dist/matterbridgeTypes.d.ts +0 -197
  193. package/dist/matterbridgeTypes.d.ts.map +0 -1
  194. package/dist/matterbridgeTypes.js.map +0 -1
  195. package/dist/pluginManager.d.ts +0 -270
  196. package/dist/pluginManager.d.ts.map +0 -1
  197. package/dist/pluginManager.js.map +0 -1
  198. package/dist/shelly.d.ts +0 -174
  199. package/dist/shelly.d.ts.map +0 -1
  200. package/dist/shelly.js.map +0 -1
  201. package/dist/storage/export.d.ts +0 -2
  202. package/dist/storage/export.d.ts.map +0 -1
  203. package/dist/storage/export.js.map +0 -1
  204. package/dist/update.d.ts +0 -68
  205. package/dist/update.d.ts.map +0 -1
  206. package/dist/update.js.map +0 -1
  207. package/dist/utils/colorUtils.d.ts +0 -117
  208. package/dist/utils/colorUtils.d.ts.map +0 -1
  209. package/dist/utils/colorUtils.js.map +0 -1
  210. package/dist/utils/commandLine.d.ts +0 -59
  211. package/dist/utils/commandLine.d.ts.map +0 -1
  212. package/dist/utils/commandLine.js.map +0 -1
  213. package/dist/utils/copyDirectory.d.ts +0 -33
  214. package/dist/utils/copyDirectory.d.ts.map +0 -1
  215. package/dist/utils/copyDirectory.js.map +0 -1
  216. package/dist/utils/createDirectory.d.ts +0 -34
  217. package/dist/utils/createDirectory.d.ts.map +0 -1
  218. package/dist/utils/createDirectory.js.map +0 -1
  219. package/dist/utils/createZip.d.ts +0 -39
  220. package/dist/utils/createZip.d.ts.map +0 -1
  221. package/dist/utils/createZip.js.map +0 -1
  222. package/dist/utils/deepCopy.d.ts +0 -32
  223. package/dist/utils/deepCopy.d.ts.map +0 -1
  224. package/dist/utils/deepCopy.js.map +0 -1
  225. package/dist/utils/deepEqual.d.ts +0 -54
  226. package/dist/utils/deepEqual.d.ts.map +0 -1
  227. package/dist/utils/deepEqual.js.map +0 -1
  228. package/dist/utils/error.d.ts +0 -44
  229. package/dist/utils/error.d.ts.map +0 -1
  230. package/dist/utils/error.js.map +0 -1
  231. package/dist/utils/export.d.ts +0 -12
  232. package/dist/utils/export.d.ts.map +0 -1
  233. package/dist/utils/export.js.map +0 -1
  234. package/dist/utils/hex.d.ts +0 -89
  235. package/dist/utils/hex.d.ts.map +0 -1
  236. package/dist/utils/hex.js.map +0 -1
  237. package/dist/utils/isvalid.d.ts +0 -103
  238. package/dist/utils/isvalid.d.ts.map +0 -1
  239. package/dist/utils/isvalid.js.map +0 -1
  240. package/dist/utils/network.d.ts +0 -74
  241. package/dist/utils/network.d.ts.map +0 -1
  242. package/dist/utils/network.js.map +0 -1
  243. package/dist/utils/spawn.d.ts +0 -33
  244. package/dist/utils/spawn.d.ts.map +0 -1
  245. package/dist/utils/spawn.js.map +0 -1
  246. package/dist/utils/wait.d.ts +0 -56
  247. package/dist/utils/wait.d.ts.map +0 -1
  248. package/dist/utils/wait.js.map +0 -1
  249. package/frontend/public/Shelly.svg +0 -1
  250. package/frontend/public/bmc-button.svg +0 -22
  251. package/frontend/public/discord.svg +0 -5
  252. package/frontend/public/favicon.ico +0 -0
  253. package/frontend/public/index.html +0 -19
  254. package/frontend/public/manifest.json +0 -15
  255. package/frontend/public/matter.png +0 -0
  256. package/frontend/public/matterbridge 1250x1250.png +0 -0
  257. package/frontend/public/matterbridge 32x32.png +0 -0
  258. package/frontend/public/matterbridge 624x624.png +0 -0
  259. package/frontend/public/matterbridge 64x64.png +0 -0
  260. package/frontend/public/matterbridge.svg +0 -50
  261. package/frontend/public/robots.txt +0 -3
@@ -1,73 +1,36 @@
1
- /**
2
- * @description This file contains the bin mb_mdns for the class Mdns.
3
- * @file src/dgram/mb_mdns.ts
4
- * @author Luca Liguori
5
- * @created 2025-07-22
6
- * @version 1.0.0
7
- * @license Apache-2.0
8
- *
9
- * Copyright 2025, 2026, 2027 Luca Liguori.
10
- *
11
- * Licensed under the Apache License, Version 2.0 (the "License");
12
- * you may not use this file except in compliance with the License.
13
- * You may obtain a copy of the License at
14
- *
15
- * http://www.apache.org/licenses/LICENSE-2.0
16
- *
17
- * Unless required by applicable law or agreed to in writing, software
18
- * distributed under the License is distributed on an "AS IS" BASIS,
19
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
20
- * See the License for the specific language governing permissions and
21
- * limitations under the License.
22
- */
23
- // Net imports
24
1
  import { MDNS_MULTICAST_IPV4_ADDRESS, MDNS_MULTICAST_IPV6_ADDRESS, MDNS_MULTICAST_PORT } from './multicast.js';
25
2
  import { Mdns } from './mdns.js';
26
- // istanbul ignore next
27
3
  {
28
4
  const mdnsIpv4 = new Mdns('mDNS Server udp4', MDNS_MULTICAST_IPV4_ADDRESS, MDNS_MULTICAST_PORT, 'udp4', true, undefined, '0.0.0.0');
29
5
  const mdnsIpv6 = new Mdns('mDNS Server udp6', MDNS_MULTICAST_IPV6_ADDRESS, MDNS_MULTICAST_PORT, 'udp6', true, undefined, '::');
30
6
  mdnsIpv4.listNetworkInterfaces();
31
- /**
32
- * Cleanup and log device information before exiting.
33
- */
34
7
  function cleanupAndLogAndExit() {
35
8
  mdnsIpv4.stop();
36
9
  mdnsIpv6.stop();
37
10
  mdnsIpv4.logDevices();
38
11
  mdnsIpv6.logDevices();
39
- // eslint-disable-next-line n/no-process-exit
40
12
  process.exit(0);
41
13
  }
42
- /**
43
- * Queries mDNS services over UDP IPv4 and sends a response for a specific service instance.
44
- * This function sends a query for Shelly, HTTP, and services, and responds with the appropriate PTR records.
45
- */
46
14
  const queryUdp4 = () => {
47
15
  mdnsIpv4.sendQuery([
48
- { name: '_matter._tcp.local', type: 12 /* DnsRecordType.PTR */, class: 1 /* DnsClass.IN */, unicastResponse: false },
49
- { name: '_shelly._tcp.local', type: 12 /* DnsRecordType.PTR */, class: 1 /* DnsClass.IN */, unicastResponse: false },
50
- { name: '_http._tcp.local', type: 12 /* DnsRecordType.PTR */, class: 1 /* DnsClass.IN */, unicastResponse: false },
51
- { name: '_services._dns-sd._udp.local', type: 12 /* DnsRecordType.PTR */, class: 1 /* DnsClass.IN */, unicastResponse: false },
16
+ { name: '_matter._tcp.local', type: 12, class: 1, unicastResponse: false },
17
+ { name: '_shelly._tcp.local', type: 12, class: 1, unicastResponse: false },
18
+ { name: '_http._tcp.local', type: 12, class: 1, unicastResponse: false },
19
+ { name: '_services._dns-sd._udp.local', type: 12, class: 1, unicastResponse: false },
52
20
  ]);
53
21
  const ptrRdata = mdnsIpv4.encodeDnsName('matterbridge._http._tcp.local');
54
- mdnsIpv4.sendResponse('_http._tcp.local', 12 /* DnsRecordType.PTR */, 1 /* DnsClass.IN */, 120, ptrRdata);
22
+ mdnsIpv4.sendResponse('_http._tcp.local', 12, 1, 120, ptrRdata);
55
23
  };
56
- /**
57
- * Queries mDNS services over UDP IPv6 and sends a response for a specific service instance.
58
- * This function sends a query for Shelly, HTTP, and services, and responds with the appropriate PTR records.
59
- */
60
24
  const queryUdp6 = () => {
61
25
  mdnsIpv6.sendQuery([
62
- { name: '_matter._tcp.local', type: 12 /* DnsRecordType.PTR */, class: 1 /* DnsClass.IN */, unicastResponse: true },
63
- { name: '_shelly._tcp.local', type: 12 /* DnsRecordType.PTR */, class: 1 /* DnsClass.IN */, unicastResponse: true },
64
- { name: '_http._tcp.local', type: 12 /* DnsRecordType.PTR */, class: 1 /* DnsClass.IN */, unicastResponse: true },
65
- { name: '_services._dns-sd._udp.local', type: 12 /* DnsRecordType.PTR */, class: 1 /* DnsClass.IN */, unicastResponse: true },
26
+ { name: '_matter._tcp.local', type: 12, class: 1, unicastResponse: true },
27
+ { name: '_shelly._tcp.local', type: 12, class: 1, unicastResponse: true },
28
+ { name: '_http._tcp.local', type: 12, class: 1, unicastResponse: true },
29
+ { name: '_services._dns-sd._udp.local', type: 12, class: 1, unicastResponse: true },
66
30
  ]);
67
31
  const ptrRdata = mdnsIpv6.encodeDnsName('matterbridge._http._tcp.local');
68
- mdnsIpv6.sendResponse('_http._tcp.local', 12 /* DnsRecordType.PTR */, 1 /* DnsClass.IN */, 120, ptrRdata);
32
+ mdnsIpv6.sendResponse('_http._tcp.local', 12, 1, 120, ptrRdata);
69
33
  };
70
- // Handle Ctrl+C (SIGINT) to stop and log devices
71
34
  process.on('SIGINT', () => {
72
35
  cleanupAndLogAndExit();
73
36
  });
@@ -75,7 +38,7 @@ import { Mdns } from './mdns.js';
75
38
  mdnsIpv4.on('ready', (address) => {
76
39
  mdnsIpv4.log.info(`mdnsIpv4 server ready on ${address.family} ${address.address}:${address.port}`);
77
40
  if (!process.argv.includes('--query'))
78
- return; // Skip querying if --query is not specified
41
+ return;
79
42
  queryUdp4();
80
43
  setInterval(() => {
81
44
  queryUdp4();
@@ -85,7 +48,7 @@ import { Mdns } from './mdns.js';
85
48
  mdnsIpv6.on('ready', (address) => {
86
49
  mdnsIpv6.log.info(`mdnsIpv6 server ready on ${address.family} ${address.address}:${address.port}`);
87
50
  if (!process.argv.includes('--query'))
88
- return; // Skip querying if --query is not specified
51
+ return;
89
52
  queryUdp6();
90
53
  setInterval(() => {
91
54
  queryUdp6();
@@ -93,6 +56,5 @@ import { Mdns } from './mdns.js';
93
56
  });
94
57
  setTimeout(() => {
95
58
  cleanupAndLogAndExit();
96
- }, 600000); // 10 minutes timeout to exit if no activity
59
+ }, 600000);
97
60
  }
98
- //# sourceMappingURL=mb_mdns.js.map