matterbridge 3.2.0 → 3.2.1-dev-20250802-f978b33

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 (257) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/dist/cli.js +2 -91
  3. package/dist/cliEmitter.js +0 -30
  4. package/dist/clusters/export.js +0 -2
  5. package/dist/defaultConfigSchema.js +0 -24
  6. package/dist/deviceManager.js +1 -94
  7. package/dist/devices/batteryStorage.js +1 -48
  8. package/dist/devices/dishwasher.js +3 -78
  9. package/dist/devices/evse.js +10 -74
  10. package/dist/devices/export.js +0 -2
  11. package/dist/devices/extractorHood.js +0 -42
  12. package/dist/devices/heatPump.js +2 -50
  13. package/dist/devices/laundryDryer.js +6 -83
  14. package/dist/devices/laundryWasher.js +7 -91
  15. package/dist/devices/roboticVacuumCleaner.js +7 -93
  16. package/dist/devices/solarPower.js +0 -38
  17. package/dist/devices/waterHeater.js +2 -82
  18. package/dist/dgram/coap.js +13 -126
  19. package/dist/dgram/dgram.js +2 -113
  20. package/dist/dgram/mb_coap.js +3 -41
  21. package/dist/dgram/mb_mdns.js +13 -51
  22. package/dist/dgram/mdns.js +137 -298
  23. package/dist/dgram/multicast.js +1 -60
  24. package/dist/dgram/unicast.js +0 -54
  25. package/dist/frontend.js +23 -448
  26. package/dist/globalMatterbridge.js +0 -47
  27. package/dist/helpers.js +0 -53
  28. package/dist/index.js +1 -30
  29. package/dist/logger/export.js +0 -1
  30. package/dist/matter/behaviors.js +0 -2
  31. package/dist/matter/clusters.js +0 -2
  32. package/dist/matter/devices.js +0 -2
  33. package/dist/matter/endpoints.js +0 -2
  34. package/dist/matter/export.js +0 -3
  35. package/dist/matter/types.js +0 -3
  36. package/dist/matterbridge.js +50 -805
  37. package/dist/matterbridgeAccessoryPlatform.js +0 -36
  38. package/dist/matterbridgeBehaviors.js +5 -65
  39. package/dist/matterbridgeDeviceTypes.js +15 -579
  40. package/dist/matterbridgeDynamicPlatform.js +0 -36
  41. package/dist/matterbridgeEndpoint.js +55 -1234
  42. package/dist/matterbridgeEndpointHelpers.js +12 -344
  43. package/dist/matterbridgePlatform.js +35 -248
  44. package/dist/matterbridgeTypes.js +0 -25
  45. package/dist/pluginManager.js +3 -249
  46. package/dist/shelly.js +7 -168
  47. package/dist/storage/export.js +0 -1
  48. package/dist/update.js +0 -69
  49. package/dist/utils/colorUtils.js +2 -263
  50. package/dist/utils/commandLine.js +0 -54
  51. package/dist/utils/copyDirectory.js +1 -38
  52. package/dist/utils/createDirectory.js +0 -33
  53. package/dist/utils/createZip.js +2 -47
  54. package/dist/utils/deepCopy.js +0 -39
  55. package/dist/utils/deepEqual.js +1 -72
  56. package/dist/utils/error.js +0 -41
  57. package/dist/utils/export.js +0 -1
  58. package/dist/utils/hex.js +0 -123
  59. package/dist/utils/isvalid.js +0 -101
  60. package/dist/utils/network.js +5 -94
  61. package/dist/utils/spawn.js +0 -40
  62. package/dist/utils/wait.js +9 -62
  63. package/docs/404.html +107 -0
  64. package/docs/HomeAssistant.svg +2 -0
  65. package/docs/Shelly.svg +1 -0
  66. package/docs/Somfy.svg +1 -0
  67. package/docs/Zigbee2MQTT.svg +1 -0
  68. package/docs/_config.yml +86 -0
  69. package/docs/bmc-button.svg +22 -0
  70. package/docs/index.html +774 -0
  71. package/docs/matterbridge.svg +50 -0
  72. package/docs/robots.txt +4 -0
  73. package/npm-shrinkwrap.json +45 -45
  74. package/package.json +5 -3
  75. package/dist/cli.d.ts +0 -26
  76. package/dist/cli.d.ts.map +0 -1
  77. package/dist/cli.js.map +0 -1
  78. package/dist/cliEmitter.d.ts +0 -34
  79. package/dist/cliEmitter.d.ts.map +0 -1
  80. package/dist/cliEmitter.js.map +0 -1
  81. package/dist/clusters/export.d.ts +0 -2
  82. package/dist/clusters/export.d.ts.map +0 -1
  83. package/dist/clusters/export.js.map +0 -1
  84. package/dist/defaultConfigSchema.d.ts +0 -28
  85. package/dist/defaultConfigSchema.d.ts.map +0 -1
  86. package/dist/defaultConfigSchema.js.map +0 -1
  87. package/dist/deviceManager.d.ts +0 -112
  88. package/dist/deviceManager.d.ts.map +0 -1
  89. package/dist/deviceManager.js.map +0 -1
  90. package/dist/devices/batteryStorage.d.ts +0 -48
  91. package/dist/devices/batteryStorage.d.ts.map +0 -1
  92. package/dist/devices/batteryStorage.js.map +0 -1
  93. package/dist/devices/dishwasher.d.ts +0 -91
  94. package/dist/devices/dishwasher.d.ts.map +0 -1
  95. package/dist/devices/dishwasher.js.map +0 -1
  96. package/dist/devices/evse.d.ts +0 -75
  97. package/dist/devices/evse.d.ts.map +0 -1
  98. package/dist/devices/evse.js.map +0 -1
  99. package/dist/devices/export.d.ts +0 -11
  100. package/dist/devices/export.d.ts.map +0 -1
  101. package/dist/devices/export.js.map +0 -1
  102. package/dist/devices/extractorHood.d.ts +0 -46
  103. package/dist/devices/extractorHood.d.ts.map +0 -1
  104. package/dist/devices/extractorHood.js.map +0 -1
  105. package/dist/devices/heatPump.d.ts +0 -47
  106. package/dist/devices/heatPump.d.ts.map +0 -1
  107. package/dist/devices/heatPump.js.map +0 -1
  108. package/dist/devices/laundryDryer.d.ts +0 -87
  109. package/dist/devices/laundryDryer.d.ts.map +0 -1
  110. package/dist/devices/laundryDryer.js.map +0 -1
  111. package/dist/devices/laundryWasher.d.ts +0 -242
  112. package/dist/devices/laundryWasher.d.ts.map +0 -1
  113. package/dist/devices/laundryWasher.js.map +0 -1
  114. package/dist/devices/roboticVacuumCleaner.d.ts +0 -112
  115. package/dist/devices/roboticVacuumCleaner.d.ts.map +0 -1
  116. package/dist/devices/roboticVacuumCleaner.js.map +0 -1
  117. package/dist/devices/solarPower.d.ts +0 -40
  118. package/dist/devices/solarPower.d.ts.map +0 -1
  119. package/dist/devices/solarPower.js.map +0 -1
  120. package/dist/devices/waterHeater.d.ts +0 -111
  121. package/dist/devices/waterHeater.d.ts.map +0 -1
  122. package/dist/devices/waterHeater.js.map +0 -1
  123. package/dist/dgram/coap.d.ts +0 -205
  124. package/dist/dgram/coap.d.ts.map +0 -1
  125. package/dist/dgram/coap.js.map +0 -1
  126. package/dist/dgram/dgram.d.ts +0 -140
  127. package/dist/dgram/dgram.d.ts.map +0 -1
  128. package/dist/dgram/dgram.js.map +0 -1
  129. package/dist/dgram/mb_coap.d.ts +0 -24
  130. package/dist/dgram/mb_coap.d.ts.map +0 -1
  131. package/dist/dgram/mb_coap.js.map +0 -1
  132. package/dist/dgram/mb_mdns.d.ts +0 -24
  133. package/dist/dgram/mb_mdns.d.ts.map +0 -1
  134. package/dist/dgram/mb_mdns.js.map +0 -1
  135. package/dist/dgram/mdns.d.ts +0 -288
  136. package/dist/dgram/mdns.d.ts.map +0 -1
  137. package/dist/dgram/mdns.js.map +0 -1
  138. package/dist/dgram/multicast.d.ts +0 -65
  139. package/dist/dgram/multicast.d.ts.map +0 -1
  140. package/dist/dgram/multicast.js.map +0 -1
  141. package/dist/dgram/unicast.d.ts +0 -56
  142. package/dist/dgram/unicast.d.ts.map +0 -1
  143. package/dist/dgram/unicast.js.map +0 -1
  144. package/dist/frontend.d.ts +0 -313
  145. package/dist/frontend.d.ts.map +0 -1
  146. package/dist/frontend.js.map +0 -1
  147. package/dist/globalMatterbridge.d.ts +0 -59
  148. package/dist/globalMatterbridge.d.ts.map +0 -1
  149. package/dist/globalMatterbridge.js.map +0 -1
  150. package/dist/helpers.d.ts +0 -48
  151. package/dist/helpers.d.ts.map +0 -1
  152. package/dist/helpers.js.map +0 -1
  153. package/dist/index.d.ts +0 -33
  154. package/dist/index.d.ts.map +0 -1
  155. package/dist/index.js.map +0 -1
  156. package/dist/logger/export.d.ts +0 -2
  157. package/dist/logger/export.d.ts.map +0 -1
  158. package/dist/logger/export.js.map +0 -1
  159. package/dist/matter/behaviors.d.ts +0 -2
  160. package/dist/matter/behaviors.d.ts.map +0 -1
  161. package/dist/matter/behaviors.js.map +0 -1
  162. package/dist/matter/clusters.d.ts +0 -2
  163. package/dist/matter/clusters.d.ts.map +0 -1
  164. package/dist/matter/clusters.js.map +0 -1
  165. package/dist/matter/devices.d.ts +0 -2
  166. package/dist/matter/devices.d.ts.map +0 -1
  167. package/dist/matter/devices.js.map +0 -1
  168. package/dist/matter/endpoints.d.ts +0 -2
  169. package/dist/matter/endpoints.d.ts.map +0 -1
  170. package/dist/matter/endpoints.js.map +0 -1
  171. package/dist/matter/export.d.ts +0 -5
  172. package/dist/matter/export.d.ts.map +0 -1
  173. package/dist/matter/export.js.map +0 -1
  174. package/dist/matter/types.d.ts +0 -3
  175. package/dist/matter/types.d.ts.map +0 -1
  176. package/dist/matter/types.js.map +0 -1
  177. package/dist/matterbridge.d.ts +0 -463
  178. package/dist/matterbridge.d.ts.map +0 -1
  179. package/dist/matterbridge.js.map +0 -1
  180. package/dist/matterbridgeAccessoryPlatform.d.ts +0 -42
  181. package/dist/matterbridgeAccessoryPlatform.d.ts.map +0 -1
  182. package/dist/matterbridgeAccessoryPlatform.js.map +0 -1
  183. package/dist/matterbridgeBehaviors.d.ts +0 -1351
  184. package/dist/matterbridgeBehaviors.d.ts.map +0 -1
  185. package/dist/matterbridgeBehaviors.js.map +0 -1
  186. package/dist/matterbridgeDeviceTypes.d.ts +0 -709
  187. package/dist/matterbridgeDeviceTypes.d.ts.map +0 -1
  188. package/dist/matterbridgeDeviceTypes.js.map +0 -1
  189. package/dist/matterbridgeDynamicPlatform.d.ts +0 -42
  190. package/dist/matterbridgeDynamicPlatform.d.ts.map +0 -1
  191. package/dist/matterbridgeDynamicPlatform.js.map +0 -1
  192. package/dist/matterbridgeEndpoint.d.ts +0 -1354
  193. package/dist/matterbridgeEndpoint.d.ts.map +0 -1
  194. package/dist/matterbridgeEndpoint.js.map +0 -1
  195. package/dist/matterbridgeEndpointHelpers.d.ts +0 -406
  196. package/dist/matterbridgeEndpointHelpers.d.ts.map +0 -1
  197. package/dist/matterbridgeEndpointHelpers.js.map +0 -1
  198. package/dist/matterbridgePlatform.d.ts +0 -310
  199. package/dist/matterbridgePlatform.d.ts.map +0 -1
  200. package/dist/matterbridgePlatform.js.map +0 -1
  201. package/dist/matterbridgeTypes.d.ts +0 -197
  202. package/dist/matterbridgeTypes.d.ts.map +0 -1
  203. package/dist/matterbridgeTypes.js.map +0 -1
  204. package/dist/pluginManager.d.ts +0 -270
  205. package/dist/pluginManager.d.ts.map +0 -1
  206. package/dist/pluginManager.js.map +0 -1
  207. package/dist/shelly.d.ts +0 -174
  208. package/dist/shelly.d.ts.map +0 -1
  209. package/dist/shelly.js.map +0 -1
  210. package/dist/storage/export.d.ts +0 -2
  211. package/dist/storage/export.d.ts.map +0 -1
  212. package/dist/storage/export.js.map +0 -1
  213. package/dist/update.d.ts +0 -75
  214. package/dist/update.d.ts.map +0 -1
  215. package/dist/update.js.map +0 -1
  216. package/dist/utils/colorUtils.d.ts +0 -117
  217. package/dist/utils/colorUtils.d.ts.map +0 -1
  218. package/dist/utils/colorUtils.js.map +0 -1
  219. package/dist/utils/commandLine.d.ts +0 -59
  220. package/dist/utils/commandLine.d.ts.map +0 -1
  221. package/dist/utils/commandLine.js.map +0 -1
  222. package/dist/utils/copyDirectory.d.ts +0 -33
  223. package/dist/utils/copyDirectory.d.ts.map +0 -1
  224. package/dist/utils/copyDirectory.js.map +0 -1
  225. package/dist/utils/createDirectory.d.ts +0 -34
  226. package/dist/utils/createDirectory.d.ts.map +0 -1
  227. package/dist/utils/createDirectory.js.map +0 -1
  228. package/dist/utils/createZip.d.ts +0 -39
  229. package/dist/utils/createZip.d.ts.map +0 -1
  230. package/dist/utils/createZip.js.map +0 -1
  231. package/dist/utils/deepCopy.d.ts +0 -32
  232. package/dist/utils/deepCopy.d.ts.map +0 -1
  233. package/dist/utils/deepCopy.js.map +0 -1
  234. package/dist/utils/deepEqual.d.ts +0 -54
  235. package/dist/utils/deepEqual.d.ts.map +0 -1
  236. package/dist/utils/deepEqual.js.map +0 -1
  237. package/dist/utils/error.d.ts +0 -44
  238. package/dist/utils/error.d.ts.map +0 -1
  239. package/dist/utils/error.js.map +0 -1
  240. package/dist/utils/export.d.ts +0 -12
  241. package/dist/utils/export.d.ts.map +0 -1
  242. package/dist/utils/export.js.map +0 -1
  243. package/dist/utils/hex.d.ts +0 -89
  244. package/dist/utils/hex.d.ts.map +0 -1
  245. package/dist/utils/hex.js.map +0 -1
  246. package/dist/utils/isvalid.d.ts +0 -103
  247. package/dist/utils/isvalid.d.ts.map +0 -1
  248. package/dist/utils/isvalid.js.map +0 -1
  249. package/dist/utils/network.d.ts +0 -84
  250. package/dist/utils/network.d.ts.map +0 -1
  251. package/dist/utils/network.js.map +0 -1
  252. package/dist/utils/spawn.d.ts +0 -33
  253. package/dist/utils/spawn.d.ts.map +0 -1
  254. package/dist/utils/spawn.js.map +0 -1
  255. package/dist/utils/wait.d.ts +0 -56
  256. package/dist/utils/wait.d.ts.map +0 -1
  257. package/dist/utils/wait.js.map +0 -1
@@ -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