matterbridge 3.1.6-dev-20250720-88d6141 → 3.1.6

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 (236) hide show
  1. package/CHANGELOG.md +6 -4
  2. package/README-DOCKER.md +35 -0
  3. package/dist/cli.d.ts +26 -0
  4. package/dist/cli.d.ts.map +1 -0
  5. package/dist/cli.js +91 -2
  6. package/dist/cli.js.map +1 -0
  7. package/dist/cliEmitter.d.ts +34 -0
  8. package/dist/cliEmitter.d.ts.map +1 -0
  9. package/dist/cliEmitter.js +30 -0
  10. package/dist/cliEmitter.js.map +1 -0
  11. package/dist/clusters/export.d.ts +2 -0
  12. package/dist/clusters/export.d.ts.map +1 -0
  13. package/dist/clusters/export.js +2 -0
  14. package/dist/clusters/export.js.map +1 -0
  15. package/dist/defaultConfigSchema.d.ts +28 -0
  16. package/dist/defaultConfigSchema.d.ts.map +1 -0
  17. package/dist/defaultConfigSchema.js +24 -0
  18. package/dist/defaultConfigSchema.js.map +1 -0
  19. package/dist/deviceManager.d.ts +112 -0
  20. package/dist/deviceManager.d.ts.map +1 -0
  21. package/dist/deviceManager.js +94 -1
  22. package/dist/deviceManager.js.map +1 -0
  23. package/dist/devices/batteryStorage.d.ts +48 -0
  24. package/dist/devices/batteryStorage.d.ts.map +1 -0
  25. package/dist/devices/batteryStorage.js +48 -1
  26. package/dist/devices/batteryStorage.js.map +1 -0
  27. package/dist/devices/dishwasher.d.ts +91 -0
  28. package/dist/devices/dishwasher.d.ts.map +1 -0
  29. package/dist/devices/dishwasher.js +78 -3
  30. package/dist/devices/dishwasher.js.map +1 -0
  31. package/dist/devices/evse.d.ts +75 -0
  32. package/dist/devices/evse.d.ts.map +1 -0
  33. package/dist/devices/evse.js +74 -10
  34. package/dist/devices/evse.js.map +1 -0
  35. package/dist/devices/export.d.ts +11 -0
  36. package/dist/devices/export.d.ts.map +1 -0
  37. package/dist/devices/export.js +2 -0
  38. package/dist/devices/export.js.map +1 -0
  39. package/dist/devices/extractorHood.d.ts +46 -0
  40. package/dist/devices/extractorHood.d.ts.map +1 -0
  41. package/dist/devices/extractorHood.js +42 -0
  42. package/dist/devices/extractorHood.js.map +1 -0
  43. package/dist/devices/heatPump.d.ts +47 -0
  44. package/dist/devices/heatPump.d.ts.map +1 -0
  45. package/dist/devices/heatPump.js +50 -2
  46. package/dist/devices/heatPump.js.map +1 -0
  47. package/dist/devices/laundryDryer.d.ts +87 -0
  48. package/dist/devices/laundryDryer.d.ts.map +1 -0
  49. package/dist/devices/laundryDryer.js +83 -6
  50. package/dist/devices/laundryDryer.js.map +1 -0
  51. package/dist/devices/laundryWasher.d.ts +242 -0
  52. package/dist/devices/laundryWasher.d.ts.map +1 -0
  53. package/dist/devices/laundryWasher.js +91 -7
  54. package/dist/devices/laundryWasher.js.map +1 -0
  55. package/dist/devices/roboticVacuumCleaner.d.ts +112 -0
  56. package/dist/devices/roboticVacuumCleaner.d.ts.map +1 -0
  57. package/dist/devices/roboticVacuumCleaner.js +93 -7
  58. package/dist/devices/roboticVacuumCleaner.js.map +1 -0
  59. package/dist/devices/solarPower.d.ts +40 -0
  60. package/dist/devices/solarPower.d.ts.map +1 -0
  61. package/dist/devices/solarPower.js +38 -0
  62. package/dist/devices/solarPower.js.map +1 -0
  63. package/dist/devices/waterHeater.d.ts +111 -0
  64. package/dist/devices/waterHeater.d.ts.map +1 -0
  65. package/dist/devices/waterHeater.js +82 -2
  66. package/dist/devices/waterHeater.js.map +1 -0
  67. package/dist/dgram/dgram.d.ts +140 -0
  68. package/dist/dgram/dgram.d.ts.map +1 -0
  69. package/dist/dgram/dgram.js +348 -0
  70. package/dist/dgram/dgram.js.map +1 -0
  71. package/dist/dgram/mdns.d.ts +288 -0
  72. package/dist/dgram/mdns.d.ts.map +1 -0
  73. package/dist/dgram/mdns.js +840 -0
  74. package/dist/dgram/mdns.js.map +1 -0
  75. package/dist/dgram/multicast.d.ts +65 -0
  76. package/dist/dgram/multicast.d.ts.map +1 -0
  77. package/dist/dgram/multicast.js +170 -0
  78. package/dist/dgram/multicast.js.map +1 -0
  79. package/dist/dgram/unicast.d.ts +56 -0
  80. package/dist/dgram/unicast.d.ts.map +1 -0
  81. package/dist/dgram/unicast.js +91 -0
  82. package/dist/dgram/unicast.js.map +1 -0
  83. package/dist/frontend.d.ts +304 -0
  84. package/dist/frontend.d.ts.map +1 -0
  85. package/dist/frontend.js +435 -21
  86. package/dist/frontend.js.map +1 -0
  87. package/dist/globalMatterbridge.d.ts +59 -0
  88. package/dist/globalMatterbridge.d.ts.map +1 -0
  89. package/dist/globalMatterbridge.js +47 -0
  90. package/dist/globalMatterbridge.js.map +1 -0
  91. package/dist/helpers.d.ts +48 -0
  92. package/dist/helpers.d.ts.map +1 -0
  93. package/dist/helpers.js +53 -0
  94. package/dist/helpers.js.map +1 -0
  95. package/dist/index.d.ts +33 -0
  96. package/dist/index.d.ts.map +1 -0
  97. package/dist/index.js +30 -1
  98. package/dist/index.js.map +1 -0
  99. package/dist/logger/export.d.ts +2 -0
  100. package/dist/logger/export.d.ts.map +1 -0
  101. package/dist/logger/export.js +1 -0
  102. package/dist/logger/export.js.map +1 -0
  103. package/dist/matter/behaviors.d.ts +2 -0
  104. package/dist/matter/behaviors.d.ts.map +1 -0
  105. package/dist/matter/behaviors.js +2 -0
  106. package/dist/matter/behaviors.js.map +1 -0
  107. package/dist/matter/clusters.d.ts +2 -0
  108. package/dist/matter/clusters.d.ts.map +1 -0
  109. package/dist/matter/clusters.js +2 -0
  110. package/dist/matter/clusters.js.map +1 -0
  111. package/dist/matter/devices.d.ts +2 -0
  112. package/dist/matter/devices.d.ts.map +1 -0
  113. package/dist/matter/devices.js +2 -0
  114. package/dist/matter/devices.js.map +1 -0
  115. package/dist/matter/endpoints.d.ts +2 -0
  116. package/dist/matter/endpoints.d.ts.map +1 -0
  117. package/dist/matter/endpoints.js +2 -0
  118. package/dist/matter/endpoints.js.map +1 -0
  119. package/dist/matter/export.d.ts +5 -0
  120. package/dist/matter/export.d.ts.map +1 -0
  121. package/dist/matter/export.js +3 -0
  122. package/dist/matter/export.js.map +1 -0
  123. package/dist/matter/types.d.ts +3 -0
  124. package/dist/matter/types.d.ts.map +1 -0
  125. package/dist/matter/types.js +3 -0
  126. package/dist/matter/types.js.map +1 -0
  127. package/dist/matterbridge.d.ts +460 -0
  128. package/dist/matterbridge.d.ts.map +1 -0
  129. package/dist/matterbridge.js +810 -52
  130. package/dist/matterbridge.js.map +1 -0
  131. package/dist/matterbridgeAccessoryPlatform.d.ts +42 -0
  132. package/dist/matterbridgeAccessoryPlatform.d.ts.map +1 -0
  133. package/dist/matterbridgeAccessoryPlatform.js +36 -0
  134. package/dist/matterbridgeAccessoryPlatform.js.map +1 -0
  135. package/dist/matterbridgeBehaviors.d.ts +1351 -0
  136. package/dist/matterbridgeBehaviors.d.ts.map +1 -0
  137. package/dist/matterbridgeBehaviors.js +68 -5
  138. package/dist/matterbridgeBehaviors.js.map +1 -0
  139. package/dist/matterbridgeDeviceTypes.d.ts +709 -0
  140. package/dist/matterbridgeDeviceTypes.d.ts.map +1 -0
  141. package/dist/matterbridgeDeviceTypes.js +579 -15
  142. package/dist/matterbridgeDeviceTypes.js.map +1 -0
  143. package/dist/matterbridgeDynamicPlatform.d.ts +42 -0
  144. package/dist/matterbridgeDynamicPlatform.d.ts.map +1 -0
  145. package/dist/matterbridgeDynamicPlatform.js +36 -0
  146. package/dist/matterbridgeDynamicPlatform.js.map +1 -0
  147. package/dist/matterbridgeEndpoint.d.ts +1328 -0
  148. package/dist/matterbridgeEndpoint.d.ts.map +1 -0
  149. package/dist/matterbridgeEndpoint.js +1200 -43
  150. package/dist/matterbridgeEndpoint.js.map +1 -0
  151. package/dist/matterbridgeEndpointHelpers.d.ts +3198 -0
  152. package/dist/matterbridgeEndpointHelpers.d.ts.map +1 -0
  153. package/dist/matterbridgeEndpointHelpers.js +322 -12
  154. package/dist/matterbridgeEndpointHelpers.js.map +1 -0
  155. package/dist/matterbridgePlatform.d.ts +310 -0
  156. package/dist/matterbridgePlatform.d.ts.map +1 -0
  157. package/dist/matterbridgePlatform.js +233 -0
  158. package/dist/matterbridgePlatform.js.map +1 -0
  159. package/dist/matterbridgeTypes.d.ts +195 -0
  160. package/dist/matterbridgeTypes.d.ts.map +1 -0
  161. package/dist/matterbridgeTypes.js +25 -0
  162. package/dist/matterbridgeTypes.js.map +1 -0
  163. package/dist/pluginManager.d.ts +270 -0
  164. package/dist/pluginManager.d.ts.map +1 -0
  165. package/dist/pluginManager.js +249 -3
  166. package/dist/pluginManager.js.map +1 -0
  167. package/dist/shelly.d.ts +174 -0
  168. package/dist/shelly.d.ts.map +1 -0
  169. package/dist/shelly.js +168 -7
  170. package/dist/shelly.js.map +1 -0
  171. package/dist/storage/export.d.ts +2 -0
  172. package/dist/storage/export.d.ts.map +1 -0
  173. package/dist/storage/export.js +1 -0
  174. package/dist/storage/export.js.map +1 -0
  175. package/dist/update.d.ts +59 -0
  176. package/dist/update.d.ts.map +1 -0
  177. package/dist/update.js +54 -0
  178. package/dist/update.js.map +1 -0
  179. package/dist/utils/colorUtils.d.ts +117 -0
  180. package/dist/utils/colorUtils.d.ts.map +1 -0
  181. package/dist/utils/colorUtils.js +263 -2
  182. package/dist/utils/colorUtils.js.map +1 -0
  183. package/dist/utils/commandLine.d.ts +59 -0
  184. package/dist/utils/commandLine.d.ts.map +1 -0
  185. package/dist/utils/commandLine.js +54 -0
  186. package/dist/utils/commandLine.js.map +1 -0
  187. package/dist/utils/copyDirectory.d.ts +33 -0
  188. package/dist/utils/copyDirectory.d.ts.map +1 -0
  189. package/dist/utils/copyDirectory.js +38 -1
  190. package/dist/utils/copyDirectory.js.map +1 -0
  191. package/dist/utils/createDirectory.d.ts +34 -0
  192. package/dist/utils/createDirectory.d.ts.map +1 -0
  193. package/dist/utils/createDirectory.js +33 -0
  194. package/dist/utils/createDirectory.js.map +1 -0
  195. package/dist/utils/createZip.d.ts +39 -0
  196. package/dist/utils/createZip.d.ts.map +1 -0
  197. package/dist/utils/createZip.js +47 -2
  198. package/dist/utils/createZip.js.map +1 -0
  199. package/dist/utils/deepCopy.d.ts +32 -0
  200. package/dist/utils/deepCopy.d.ts.map +1 -0
  201. package/dist/utils/deepCopy.js +39 -0
  202. package/dist/utils/deepCopy.js.map +1 -0
  203. package/dist/utils/deepEqual.d.ts +54 -0
  204. package/dist/utils/deepEqual.d.ts.map +1 -0
  205. package/dist/utils/deepEqual.js +72 -1
  206. package/dist/utils/deepEqual.js.map +1 -0
  207. package/dist/utils/error.d.ts +44 -0
  208. package/dist/utils/error.d.ts.map +1 -0
  209. package/dist/utils/error.js +41 -0
  210. package/dist/utils/error.js.map +1 -0
  211. package/dist/utils/export.d.ts +12 -0
  212. package/dist/utils/export.d.ts.map +1 -0
  213. package/dist/utils/export.js +1 -0
  214. package/dist/utils/export.js.map +1 -0
  215. package/dist/utils/hex.d.ts +49 -0
  216. package/dist/utils/hex.d.ts.map +1 -0
  217. package/dist/utils/hex.js +58 -0
  218. package/dist/utils/hex.js.map +1 -0
  219. package/dist/utils/isvalid.d.ts +103 -0
  220. package/dist/utils/isvalid.d.ts.map +1 -0
  221. package/dist/utils/isvalid.js +101 -0
  222. package/dist/utils/isvalid.js.map +1 -0
  223. package/dist/utils/network.d.ts +74 -0
  224. package/dist/utils/network.d.ts.map +1 -0
  225. package/dist/utils/network.js +81 -5
  226. package/dist/utils/network.js.map +1 -0
  227. package/dist/utils/spawn.d.ts +33 -0
  228. package/dist/utils/spawn.d.ts.map +1 -0
  229. package/dist/utils/spawn.js +40 -0
  230. package/dist/utils/spawn.js.map +1 -0
  231. package/dist/utils/wait.d.ts +56 -0
  232. package/dist/utils/wait.d.ts.map +1 -0
  233. package/dist/utils/wait.js +62 -9
  234. package/dist/utils/wait.js.map +1 -0
  235. package/npm-shrinkwrap.json +2 -2
  236. package/package.json +2 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matterbridgeBehaviors.d.ts","sourceRoot":"","sources":["../src/matterbridgeBehaviors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAMH,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEpE,OAAO,EAAE,yBAAyB,EAAE,MAAM,mDAAmD,CAAC;AAC9F,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,EAAE,4BAA4B,EAAE,MAAM,uDAAuD,CAAC;AACrG,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,+BAA+B,EAAE,MAAM,oDAAoD,CAAC;AACrG,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAC3E,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAC;AACxF,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAEhF,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAC/G,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,kCAAkC,EAAE,MAAM,wDAAwD,CAAC;AAC5G,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAClF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,4BAA4B,EAAE,MAAM,iDAAiD,CAAC;AAC/F,OAAO,EAAE,gCAAgC,EAAE,MAAM,sDAAsD,CAAC;AACxG,OAAO,EAAE,0BAA0B,EAAE,MAAM,+CAA+C,CAAC;AAC3F,OAAO,EAAE,qCAAqC,EAAE,MAAM,2DAA2D,CAAC;AAGlH,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,OAAO,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AAEzE,qBAAa,kBAAmB,SAAQ,QAAQ;IAC9C,gBAAyB,EAAE,kBAAkB;IACrC,KAAK,EAAE,kBAAkB,CAAC,KAAK,CAAC;IAE/B,UAAU;CAIpB;AAED,yBAAiB,kBAAkB,CAAC;IAClC,MAAa,KAAK;QAChB,GAAG,EAAG,UAAU,CAAC;QACjB,cAAc,EAAG,YAAY,CAAC,4BAA4B,CAAC,CAAC;KAC7D;CACF;AAED,qBAAa,0BAA2B,SAAQ,cAAc;IACnD,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,eAAe,GAAG,YAAY;IAQzD,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,oBAAoB,GAAG,YAAY;CAO7E;AAED,qBAAa,uBAAwB,SAAQ,WAAW;IAC7C,EAAE,IAAI,YAAY;IAQlB,GAAG,IAAI,YAAY;IAQnB,MAAM,IAAI,YAAY;CAOhC;AAED,qBAAa,8BAA+B,SAAQ,kBAAkB;IAC3D,WAAW,CAAC,OAAO,EAAE,YAAY,CAAC,kBAAkB,GAAG,YAAY;IAQnE,oBAAoB,CAAC,OAAO,EAAE,YAAY,CAAC,kBAAkB,GAAG,YAAY;CAOtF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAED,qBAAa,8BAA+B,SAAQ,mCAA2H;IACpK,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,gBAAgB,GAAG,YAAY;IAQ/D,gBAAgB,CAAC,OAAO,EAAE,YAAY,CAAC,uBAAuB,GAAG,YAAY;IAQ7E,sBAAsB,CAAC,OAAO,EAAE,YAAY,CAAC,6BAA6B,GAAG,YAAY;IAQzF,WAAW,CAAC,OAAO,EAAE,YAAY,CAAC,kBAAkB,GAAG,YAAY;IAQnE,sBAAsB,CAAC,OAAO,EAAE,YAAY,CAAC,6BAA6B,GAAG,YAAY;CAOnG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAED,qBAAa,oCAAqC,SAAQ,yCAAgG;IAC/I,QAAQ,IAAI,YAAY;IAQxB,WAAW,IAAI,YAAY;IAQ3B,UAAU,IAAI,YAAY;IAQ1B,kBAAkB,CAAC,OAAO,EAAE,cAAc,CAAC,yBAAyB,GAAG,YAAY;IAQ7E,cAAc,CAAC,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,mBAAmB,CAAC,EAAE,MAAM;CAGhI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAED,qBAAa,wCAAyC,SAAQ,6CAAuK;IAC1N,QAAQ,IAAI,YAAY;IAQxB,WAAW,IAAI,YAAY;IAQ3B,UAAU,IAAI,YAAY;IAQ1B,kBAAkB,CAAC,OAAO,EAAE,cAAc,CAAC,yBAAyB,GAAG,YAAY;IAQnF,kBAAkB,CAAC,OAAO,EAAE,cAAc,CAAC,yBAAyB,GAAG,YAAY;IAQ7E,cAAc,CAAC,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,mBAAmB,CAAC,EAAE,MAAM;CAGhI;AAED,qBAAa,0BAA2B,SAAQ,cAAc;IACnD,QAAQ,IAAI,YAAY;IAQxB,UAAU,IAAI,YAAY;CAOpC;;AAED,qBAAa,4BAA6B,SAAQ,iCAAuE;IAC9G,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,WAAW,GAAG,YAAY;CAuB7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAED,qBAAa,4BAA6B,SAAQ,iCAA0G;IACjJ,kBAAkB,CAAC,OAAO,EAAE,UAAU,CAAC,yBAAyB,GAAG,YAAY;CAyBzF;;AAED,qBAAa,8CAA+C,SAAQ,mDAAmF;IAC5I,IAAI,CAAC,OAAO,EAAE,4BAA4B,CAAC,WAAW,GAAG,YAAY;IAkBrE,KAAK,IAAI,YAAY;CAe/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAED,qBAAa,8BAA+B,SAAQ,mCAAsF;IAC/H,eAAe,IAAI,YAAY;CASzC;;AAED,qBAAa,2CAA4C,SAAQ,gDAA6K;IACnO,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,CAAC,yBAAyB,GAAG,YAAY;CASxG;AAED,qBAAa,wBAAyB,SAAQ,YAAY;IAC/C,UAAU;CAGpB;AAED,qBAAa,kCAAmC,SAAQ,sBAAsB;IACnE,UAAU,IAAI,YAAY;IAQ1B,KAAK,IAAI,YAAY,CAAC,gBAAgB,CAAC,0BAA0B,CAAC;IAclE,IAAI,IAAI,YAAY,CAAC,gBAAgB,CAAC,0BAA0B,CAAC;IAcjE,KAAK,IAAI,YAAY,CAAC,gBAAgB,CAAC,0BAA0B,CAAC;IAclE,MAAM,IAAI,YAAY,CAAC,gBAAgB,CAAC,0BAA0B,CAAC;CAa7E;AAED,qBAAa,6BAA8B,SAAQ,iBAAiB;IACzD,WAAW,CAAC,OAAO,EAAE,WAAW,CAAC,kBAAkB,GAAG,YAAY,CAAC,WAAW,CAAC,mBAAmB,CAAC;CAgB7G;AAED,qBAAa,4BAA6B,SAAQ,gBAAgB;IACvD,YAAY,CAAC,OAAO,EAAE,UAAU,CAAC,mBAAmB,GAAG,YAAY;CAO7E;;AAED,qBAAa,sCAAuC,SAAQ,2CAAqE;IACtH,cAAc,IAAI,YAAY;CAQxC;;AAED,qBAAa,iDAAkD,SAAQ,sDAAgF;IAC5I,cAAc,IAAI,YAAY;CAQxC;AAED,qBAAa,wCAAyC,SAAQ,4BAA4B;IACxF,kBAAkB,CAAC,OAAO,EAAE,sBAAsB,CAAC,kBAAkB,GAAG,YAAY;IASpF,wBAAwB,IAAI,YAAY;CASzC;AAED,qBAAa,4CAA6C,SAAQ,gCAAgC;IACvF,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,mBAAmB,GAAG,YAAY,CAAC,QAAQ,CAAC,oBAAoB,CAAC;CAc1G"}
@@ -1,4 +1,31 @@
1
+ /**
2
+ * This file contains the behavior classes of Matterbridge.
3
+ *
4
+ * @file matterbridgeBehaviors.ts
5
+ * @author Luca Liguori
6
+ * @created 2024-11-07
7
+ * @version 1.3.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
+ /* eslint-disable @typescript-eslint/no-namespace */
25
+ /* eslint-disable @typescript-eslint/no-unused-vars */
26
+ // @matter
1
27
  import { Behavior } from '@matter/main';
28
+ // @matter clusters
2
29
  import { BooleanStateConfiguration } from '@matter/main/clusters/boolean-state-configuration';
3
30
  import { ColorControl } from '@matter/main/clusters/color-control';
4
31
  import { FanControl } from '@matter/main/clusters/fan-control';
@@ -10,6 +37,8 @@ import { BooleanStateConfigurationServer } from '@matter/main/behaviors/boolean-
10
37
  import { OperationalState } from '@matter/main/clusters/operational-state';
11
38
  import { ModeBase } from '@matter/main/clusters/mode-base';
12
39
  import { ServiceArea } from '@matter/main/clusters/service-area';
40
+ import { ResourceMonitoring } from '@matter/types/clusters/resource-monitoring';
41
+ // @matter behaviors
13
42
  import { IdentifyServer } from '@matter/main/behaviors/identify';
14
43
  import { OnOffServer } from '@matter/main/behaviors/on-off';
15
44
  import { LevelControlServer } from '@matter/main/behaviors/level-control';
@@ -164,6 +193,7 @@ export class MatterbridgeLiftWindowCoveringServer extends WindowCoveringServer.w
164
193
  super.goToLiftPercentage(request);
165
194
  }
166
195
  async handleMovement(type, reversed, direction, targetPercent100ths) {
196
+ // Do nothing here, as the device will handle the movement
167
197
  }
168
198
  }
169
199
  export class MatterbridgeLiftTiltWindowCoveringServer extends WindowCoveringServer.with(WindowCovering.Feature.Lift, WindowCovering.Feature.PositionAwareLift, WindowCovering.Feature.Tilt, WindowCovering.Feature.PositionAwareTilt) {
@@ -203,6 +233,7 @@ export class MatterbridgeLiftTiltWindowCoveringServer extends WindowCoveringServ
203
233
  super.goToTiltPercentage(request);
204
234
  }
205
235
  async handleMovement(type, reversed, direction, targetPercent100ths) {
236
+ // Do nothing here, as the device will handle the movement
206
237
  }
207
238
  }
208
239
  export class MatterbridgeDoorLockServer extends DoorLockServer {
@@ -244,6 +275,8 @@ export class MatterbridgeFanControlServer extends FanControlServer.with(FanContr
244
275
  this.state.percentCurrent = Math.max(this.state.percentCurrent - 10, request.lowestOff ? 0 : 10);
245
276
  }
246
277
  device.log.debug('Set percentCurrent to:', this.state.percentCurrent);
278
+ // step is not implemented in matter.js
279
+ // super.step(request);
247
280
  }
248
281
  }
249
282
  export class MatterbridgeThermostatServer extends ThermostatServer.with(Thermostat.Feature.Cooling, Thermostat.Feature.Heating, Thermostat.Feature.AutoMode) {
@@ -267,6 +300,8 @@ export class MatterbridgeThermostatServer extends ThermostatServer.with(Thermost
267
300
  this.state.occupiedCoolingSetpoint = setpoint * 100;
268
301
  device.log.debug(`Set occupiedCoolingSetpoint to ${setpoint}`);
269
302
  }
303
+ // setpointRaiseLower is not implemented in matter.js
304
+ // super.setpointRaiseLower(request);
270
305
  }
271
306
  }
272
307
  export class MatterbridgeValveConfigurationAndControlServer extends ValveConfigurationAndControlServer.with(ValveConfigurationAndControl.Feature.Level) {
@@ -282,6 +317,8 @@ export class MatterbridgeValveConfigurationAndControlServer extends ValveConfigu
282
317
  this.state.openDuration = request.openDuration ?? this.state.defaultOpenDuration;
283
318
  if (this.state.openDuration === null)
284
319
  this.state.remainingDuration = null;
320
+ // open is not implemented in matter.js
321
+ // super.open(request);
285
322
  }
286
323
  close() {
287
324
  const device = this.endpoint.stateOf(MatterbridgeServer);
@@ -294,6 +331,8 @@ export class MatterbridgeValveConfigurationAndControlServer extends ValveConfigu
294
331
  this.state.currentLevel = 0;
295
332
  this.state.openDuration = null;
296
333
  this.state.remainingDuration = null;
334
+ // close is not implemented in matter.js
335
+ // super.close();
297
336
  }
298
337
  }
299
338
  export class MatterbridgeSmokeCoAlarmServer extends SmokeCoAlarmServer.with(SmokeCoAlarm.Feature.SmokeAlarm, SmokeCoAlarm.Feature.CoAlarm) {
@@ -302,6 +341,8 @@ export class MatterbridgeSmokeCoAlarmServer extends SmokeCoAlarmServer.with(Smok
302
341
  device.log.info(`Testing SmokeCOAlarm (endpoint ${this.endpoint.maybeId}.${this.endpoint.maybeNumber})`);
303
342
  device.commandHandler.executeHandler('selfTestRequest', { request: {}, cluster: SmokeCoAlarmServer.id, attributes: this.state, endpoint: this.endpoint });
304
343
  device.log.debug(`MatterbridgeSmokeCoAlarmServer: selfTestRequest called`);
344
+ // selfTestRequest is not implemented in matter.js
345
+ // super.selfTestRequest();
305
346
  }
306
347
  }
307
348
  export class MatterbridgeBooleanStateConfigurationServer extends BooleanStateConfigurationServer.with(BooleanStateConfiguration.Feature.Visual, BooleanStateConfiguration.Feature.Audible, BooleanStateConfiguration.Feature.SensitivityLevel) {
@@ -310,10 +351,13 @@ export class MatterbridgeBooleanStateConfigurationServer extends BooleanStateCon
310
351
  device.log.info(`Enabling/disabling alarm ${request.alarmsToEnableDisable} (endpoint ${this.endpoint.maybeId}.${this.endpoint.maybeNumber})`);
311
352
  device.commandHandler.executeHandler('enableDisableAlarm', { request, cluster: BooleanStateConfigurationServer.id, attributes: this.state, endpoint: this.endpoint });
312
353
  device.log.debug(`MatterbridgeBooleanStateConfigurationServer: enableDisableAlarm called`);
354
+ // enableDisableAlarm is not implemented in matter.js
355
+ // super.enableDisableAlarm(request);
313
356
  }
314
357
  }
315
358
  export class MatterbridgeSwitchServer extends SwitchServer {
316
359
  initialize() {
360
+ // Do nothing here, as the device will handle the switch logic: we need to convert something like "single" into the appropriate sequence of state changes and events
317
361
  }
318
362
  }
319
363
  export class MatterbridgeOperationalStateServer extends OperationalStateServer {
@@ -322,7 +366,7 @@ export class MatterbridgeOperationalStateServer extends OperationalStateServer {
322
366
  device.log.debug('MatterbridgeOperationalStateServer initialized: setting operational state to Stopped');
323
367
  this.state.operationalState = OperationalState.OperationalStateEnum.Stopped;
324
368
  this.state.operationalError = { errorStateId: OperationalState.ErrorState.NoError, errorStateLabel: 'No error', errorStateDetails: 'Fully operational' };
325
- super.initialize();
369
+ super.initialize(); // Error handling logic is handled in matter.js
326
370
  }
327
371
  pause() {
328
372
  const device = this.endpoint.stateOf(MatterbridgeServer);
@@ -331,6 +375,8 @@ export class MatterbridgeOperationalStateServer extends OperationalStateServer {
331
375
  device.log.debug('MatterbridgeOperationalStateServer: pause called setting operational state to Paused');
332
376
  this.state.operationalState = OperationalState.OperationalStateEnum.Paused;
333
377
  this.state.operationalError = { errorStateId: OperationalState.ErrorState.NoError, errorStateLabel: 'No error', errorStateDetails: 'Fully operational' };
378
+ // pause is not implemented in matter.js
379
+ // return super.pause();
334
380
  return {
335
381
  commandResponseState: { errorStateId: OperationalState.ErrorState.NoError, errorStateLabel: 'No error', errorStateDetails: 'Fully operational' },
336
382
  };
@@ -342,6 +388,8 @@ export class MatterbridgeOperationalStateServer extends OperationalStateServer {
342
388
  device.log.debug('MatterbridgeOperationalStateServer: stop called setting operational state to Stopped');
343
389
  this.state.operationalState = OperationalState.OperationalStateEnum.Stopped;
344
390
  this.state.operationalError = { errorStateId: OperationalState.ErrorState.NoError, errorStateLabel: 'No error', errorStateDetails: 'Fully operational' };
391
+ // stop is not implemented in matter.js
392
+ // return super.stop();
345
393
  return {
346
394
  commandResponseState: { errorStateId: OperationalState.ErrorState.NoError, errorStateLabel: 'No error', errorStateDetails: 'Fully operational' },
347
395
  };
@@ -353,6 +401,8 @@ export class MatterbridgeOperationalStateServer extends OperationalStateServer {
353
401
  device.log.debug('MatterbridgeOperationalStateServer: start called setting operational state to Running');
354
402
  this.state.operationalState = OperationalState.OperationalStateEnum.Running;
355
403
  this.state.operationalError = { errorStateId: OperationalState.ErrorState.NoError, errorStateLabel: 'No error', errorStateDetails: 'Fully operational' };
404
+ // start is not implemented in matter.js
405
+ // return super.start();
356
406
  return {
357
407
  commandResponseState: { errorStateId: OperationalState.ErrorState.NoError, errorStateLabel: 'No error', errorStateDetails: 'Fully operational' },
358
408
  };
@@ -364,6 +414,8 @@ export class MatterbridgeOperationalStateServer extends OperationalStateServer {
364
414
  device.log.debug('MatterbridgeOperationalStateServer: resume called setting operational state to Running');
365
415
  this.state.operationalState = OperationalState.OperationalStateEnum.Running;
366
416
  this.state.operationalError = { errorStateId: OperationalState.ErrorState.NoError, errorStateLabel: 'No error', errorStateDetails: 'Fully operational' };
417
+ // resume is not implemented in matter.js
418
+ // return super.resume();
367
419
  return {
368
420
  commandResponseState: { errorStateId: OperationalState.ErrorState.NoError, errorStateLabel: 'No error', errorStateDetails: 'Fully operational' },
369
421
  };
@@ -384,6 +436,7 @@ export class MatterbridgeServiceAreaServer extends ServiceAreaServer {
384
436
  this.state.selectedAreas = request.newAreas;
385
437
  device.log.debug(`MatterbridgeServiceAreaServer selectAreas called with: ${request.newAreas.map((area) => area.toString()).join(', ')}`);
386
438
  return super.selectAreas(request);
439
+ // return { status: ServiceArea.SelectAreasStatus.Success, statusText: 'Succesfully selected new areas' };
387
440
  }
388
441
  }
389
442
  export class MatterbridgeModeSelectServer extends ModeSelectServer {
@@ -395,21 +448,23 @@ export class MatterbridgeModeSelectServer extends ModeSelectServer {
395
448
  super.changeToMode(request);
396
449
  }
397
450
  }
398
- export class MatterbridgeHepaFilterMonitoringServer extends HepaFilterMonitoringServer {
451
+ export class MatterbridgeHepaFilterMonitoringServer extends HepaFilterMonitoringServer.with(ResourceMonitoring.Feature.Condition) {
399
452
  resetCondition() {
400
453
  const device = this.endpoint.stateOf(MatterbridgeServer);
401
454
  device.log.info(`Resetting condition (endpoint ${this.endpoint.maybeId}.${this.endpoint.maybeNumber})`);
402
455
  device.commandHandler.executeHandler('resetCondition', { cluster: MatterbridgeHepaFilterMonitoringServer.id, attributes: this.state, endpoint: this.endpoint });
403
- this.state.lastChangedTime = Math.floor(new Date().getTime() / 1000);
456
+ this.state.condition = 100; // Reset condition to 100%
457
+ this.state.lastChangedTime = Math.floor(new Date().getTime() / 1000); // TlvEpochS (seconds since Unix epoch)
404
458
  device.log.debug(`MatterbridgeHepaFilterMonitoringServer: resetCondition called`);
405
459
  }
406
460
  }
407
- export class MatterbridgeActivatedCarbonFilterMonitoringServer extends ActivatedCarbonFilterMonitoringServer {
461
+ export class MatterbridgeActivatedCarbonFilterMonitoringServer extends ActivatedCarbonFilterMonitoringServer.with(ResourceMonitoring.Feature.Condition) {
408
462
  resetCondition() {
409
463
  const device = this.endpoint.stateOf(MatterbridgeServer);
410
464
  device.log.info(`Resetting condition (endpoint ${this.endpoint.maybeId}.${this.endpoint.maybeNumber})`);
411
465
  device.commandHandler.executeHandler('resetCondition', { cluster: MatterbridgeActivatedCarbonFilterMonitoringServer.id, attributes: this.state, endpoint: this.endpoint });
412
- this.state.lastChangedTime = Math.floor(new Date().getTime() / 1000);
466
+ this.state.condition = 100; // Reset condition to 100%
467
+ this.state.lastChangedTime = Math.floor(new Date().getTime() / 1000); // TlvEpochS (seconds since Unix epoch)
413
468
  device.log.debug(`MatterbridgeActivatedCarbonFilterMonitoringServer: resetCondition called`);
414
469
  }
415
470
  }
@@ -419,12 +474,18 @@ export class MatterbridgeDeviceEnergyManagementServer extends DeviceEnergyManage
419
474
  device.log.info(`Adjusting power to ${request.power} duration ${request.duration} cause ${request.cause} (endpoint ${this.endpoint.maybeId}.${this.endpoint.maybeNumber})`);
420
475
  device.commandHandler.executeHandler('powerAdjustRequest', { request, cluster: DeviceEnergyManagementServer.id, attributes: this.state, endpoint: this.endpoint });
421
476
  device.log.debug(`MatterbridgeDeviceEnergyManagementServer powerAdjustRequest called with power ${request.power} duration ${request.duration} cause ${request.cause}`);
477
+ // The implementation is responsible for setting the device accordingly with the powerAdjustRequest command
478
+ // powerAdjustRequest is not implemented in matter.js
479
+ // return super.powerAdjustRequest();
422
480
  }
423
481
  cancelPowerAdjustRequest() {
424
482
  const device = this.endpoint.stateOf(MatterbridgeServer);
425
483
  device.log.info(`Cancelling power adjustment (endpoint ${this.endpoint.maybeId}.${this.endpoint.maybeNumber})`);
426
484
  device.commandHandler.executeHandler('cancelPowerAdjustRequest', { cluster: DeviceEnergyManagementServer.id, attributes: this.state, endpoint: this.endpoint });
427
485
  device.log.debug(`MatterbridgeDeviceEnergyManagementServer cancelPowerAdjustRequest called`);
486
+ // The implementation is responsible for setting the device accordingly with the cancelPowerAdjustRequest command
487
+ // cancelPowerAdjustRequest is not implemented in matter.js
488
+ // return super.cancelPowerAdjustRequest();
428
489
  }
429
490
  }
430
491
  export class MatterbridgeDeviceEnergyManagementModeServer extends DeviceEnergyManagementModeServer {
@@ -440,5 +501,7 @@ export class MatterbridgeDeviceEnergyManagementModeServer extends DeviceEnergyMa
440
501
  this.state.currentMode = request.newMode;
441
502
  device.log.debug(`MatterbridgeDeviceEnergyManagementModeServer changeToMode called with newMode ${request.newMode} => ${supported.label}`);
442
503
  return super.changeToMode(request);
504
+ // return { status: ModeBase.ModeChangeStatus.Success, statusText: 'Success' };
443
505
  }
444
506
  }
507
+ //# sourceMappingURL=matterbridgeBehaviors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matterbridgeBehaviors.js","sourceRoot":"","sources":["../src/matterbridgeBehaviors.ts"],"names":[],"mappings":"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"}