matterbridge 1.6.1 → 1.6.3-dev.1

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 (139) hide show
  1. package/CHANGELOG.md +45 -1
  2. package/README-DEV.md +0 -4
  3. package/README-NGINX.md +63 -0
  4. package/README.md +7 -3
  5. package/dist/cli.js +15 -7
  6. package/dist/cli.js.map +1 -1
  7. package/dist/deviceManager.d.ts +1 -1
  8. package/dist/deviceManager.d.ts.map +1 -1
  9. package/dist/deviceManager.js +1 -1
  10. package/dist/deviceManager.js.map +1 -1
  11. package/dist/index.d.ts +9 -9
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +23 -10
  14. package/dist/index.js.map +1 -1
  15. package/dist/matter/export.d.ts +5 -0
  16. package/dist/matter/export.d.ts.map +1 -0
  17. package/dist/matter/export.js +5 -0
  18. package/dist/matter/export.js.map +1 -0
  19. package/dist/matterbridge.d.ts +12 -7
  20. package/dist/matterbridge.d.ts.map +1 -1
  21. package/dist/matterbridge.js +133 -83
  22. package/dist/matterbridge.js.map +1 -1
  23. package/dist/matterbridgeAccessoryPlatform.d.ts.map +1 -1
  24. package/dist/matterbridgeAccessoryPlatform.js.map +1 -1
  25. package/dist/matterbridgeBehaviors.d.ts +1123 -0
  26. package/dist/matterbridgeBehaviors.d.ts.map +1 -0
  27. package/dist/matterbridgeBehaviors.js +281 -0
  28. package/dist/matterbridgeBehaviors.js.map +1 -0
  29. package/dist/matterbridgeDevice.d.ts +2089 -1511
  30. package/dist/matterbridgeDevice.d.ts.map +1 -1
  31. package/dist/matterbridgeDevice.js +243 -209
  32. package/dist/matterbridgeDevice.js.map +1 -1
  33. package/dist/matterbridgeDeviceTypes.d.ts +65 -0
  34. package/dist/matterbridgeDeviceTypes.d.ts.map +1 -0
  35. package/dist/matterbridgeDeviceTypes.js +307 -0
  36. package/dist/matterbridgeDeviceTypes.js.map +1 -0
  37. package/dist/matterbridgeDynamicPlatform.d.ts.map +1 -1
  38. package/dist/matterbridgeDynamicPlatform.js.map +1 -1
  39. package/dist/matterbridgeEdge.d.ts +19 -20
  40. package/dist/matterbridgeEdge.d.ts.map +1 -1
  41. package/dist/matterbridgeEdge.js +505 -102
  42. package/dist/matterbridgeEdge.js.map +1 -1
  43. package/dist/matterbridgeEndpoint.d.ts +3554 -2297
  44. package/dist/matterbridgeEndpoint.d.ts.map +1 -1
  45. package/dist/matterbridgeEndpoint.js +709 -476
  46. package/dist/matterbridgeEndpoint.js.map +1 -1
  47. package/dist/matterbridgePlatform.d.ts +4 -3
  48. package/dist/matterbridgePlatform.d.ts.map +1 -1
  49. package/dist/matterbridgePlatform.js +10 -2
  50. package/dist/matterbridgePlatform.js.map +1 -1
  51. package/dist/matterbridgeTypes.d.ts +7 -8
  52. package/dist/matterbridgeTypes.d.ts.map +1 -1
  53. package/dist/matterbridgeTypes.js.map +1 -1
  54. package/dist/matterbridgeWebsocket.d.ts +1 -1
  55. package/dist/matterbridgeWebsocket.d.ts.map +1 -1
  56. package/dist/matterbridgeWebsocket.js +5 -3
  57. package/dist/matterbridgeWebsocket.js.map +1 -1
  58. package/dist/pluginManager.d.ts.map +1 -1
  59. package/dist/pluginManager.js +16 -7
  60. package/dist/pluginManager.js.map +1 -1
  61. package/dist/utils/colorUtils.js +1 -1
  62. package/dist/utils/colorUtils.js.map +1 -1
  63. package/dist/utils/utils.d.ts +21 -0
  64. package/dist/utils/utils.d.ts.map +1 -1
  65. package/dist/utils/utils.js +49 -3
  66. package/dist/utils/utils.js.map +1 -1
  67. package/frontend/build/asset-manifest.json +62 -6
  68. package/frontend/build/index.html +1 -1
  69. package/frontend/build/static/css/main.823e08b6.css +2 -0
  70. package/frontend/build/static/css/main.823e08b6.css.map +1 -0
  71. package/frontend/build/static/js/main.a14c87e7.js +115 -0
  72. package/frontend/build/static/js/{main.045d08f7.js.LICENSE.txt → main.a14c87e7.js.LICENSE.txt} +3 -3
  73. package/frontend/build/static/js/main.a14c87e7.js.map +1 -0
  74. package/frontend/build/static/media/roboto-cyrillic-300-normal.1b79538ccd585c259996.woff2 +0 -0
  75. package/frontend/build/static/media/roboto-cyrillic-300-normal.5f077fd7b977d1715acf.woff +0 -0
  76. package/frontend/build/static/media/roboto-cyrillic-400-normal.5d2930082227d172f62c.woff +0 -0
  77. package/frontend/build/static/media/roboto-cyrillic-400-normal.a9e19870cf6c4b973427.woff2 +0 -0
  78. package/frontend/build/static/media/roboto-cyrillic-500-normal.0ae2428323939af5e1ad.woff2 +0 -0
  79. package/frontend/build/static/media/roboto-cyrillic-500-normal.dd7bc8a52c6c70c5a3f5.woff +0 -0
  80. package/frontend/build/static/media/roboto-cyrillic-700-normal.3f6e1548bd5175a8c342.woff +0 -0
  81. package/frontend/build/static/media/roboto-cyrillic-700-normal.4fdfc29a10e7d4b7c527.woff2 +0 -0
  82. package/frontend/build/static/media/roboto-cyrillic-ext-300-normal.795dbc8140e3fef82983.woff +0 -0
  83. package/frontend/build/static/media/roboto-cyrillic-ext-300-normal.80947a31d23c70204b47.woff2 +0 -0
  84. package/frontend/build/static/media/roboto-cyrillic-ext-400-normal.135d076fa32aa0b4d105.woff +0 -0
  85. package/frontend/build/static/media/roboto-cyrillic-ext-400-normal.5cec61a21cc20180fbe1.woff2 +0 -0
  86. package/frontend/build/static/media/roboto-cyrillic-ext-500-normal.6de16332fda843a3dc3d.woff2 +0 -0
  87. package/frontend/build/static/media/roboto-cyrillic-ext-500-normal.c0a0638f90b31d6454ba.woff +0 -0
  88. package/frontend/build/static/media/roboto-cyrillic-ext-700-normal.4750292c47fa2bc6ac1a.woff2 +0 -0
  89. package/frontend/build/static/media/roboto-cyrillic-ext-700-normal.ca247189fc12d00de361.woff +0 -0
  90. package/frontend/build/static/media/roboto-greek-300-normal.285f3e6261d8eb20417d.woff2 +0 -0
  91. package/frontend/build/static/media/roboto-greek-300-normal.889beddda1c9bd9f97df.woff +0 -0
  92. package/frontend/build/static/media/roboto-greek-400-normal.160a791a8e4f46bca3cc.woff +0 -0
  93. package/frontend/build/static/media/roboto-greek-400-normal.2c32b1315be61477013a.woff2 +0 -0
  94. package/frontend/build/static/media/roboto-greek-500-normal.60810e07c7b0273013aa.woff +0 -0
  95. package/frontend/build/static/media/roboto-greek-500-normal.f95e757c5483310f9c11.woff2 +0 -0
  96. package/frontend/build/static/media/roboto-greek-700-normal.77dd370f2001e184ba0d.woff2 +0 -0
  97. package/frontend/build/static/media/roboto-greek-700-normal.df87b053fae3d7ad5f7a.woff +0 -0
  98. package/frontend/build/static/media/roboto-greek-ext-300-normal.b590dbe5c639944366d1.woff +0 -0
  99. package/frontend/build/static/media/roboto-greek-ext-300-normal.d6049cb54aa6fbe14c42.woff2 +0 -0
  100. package/frontend/build/static/media/roboto-greek-ext-400-normal.16eb83b4a3b1ea994243.woff +0 -0
  101. package/frontend/build/static/media/roboto-greek-ext-400-normal.1df4abad55796d11a0c8.woff2 +0 -0
  102. package/frontend/build/static/media/roboto-greek-ext-500-normal.4a96ba31abcce0f5d52b.woff2 +0 -0
  103. package/frontend/build/static/media/roboto-greek-ext-500-normal.fd28d9c008bf3af1bed7.woff +0 -0
  104. package/frontend/build/static/media/roboto-greek-ext-700-normal.2dd6febad11502dec6a6.woff2 +0 -0
  105. package/frontend/build/static/media/roboto-greek-ext-700-normal.4abdc9fff4507f17d726.woff +0 -0
  106. package/frontend/build/static/media/roboto-latin-300-normal.b850f1ff581ea232fac9.woff2 +0 -0
  107. package/frontend/build/static/media/roboto-latin-300-normal.c4bc0593c9954d79cb3a.woff +0 -0
  108. package/frontend/build/static/media/roboto-latin-400-normal.047a7839f69b209db815.woff +0 -0
  109. package/frontend/build/static/media/roboto-latin-400-normal.297d48e1b5a10c0831a9.woff2 +0 -0
  110. package/frontend/build/static/media/roboto-latin-500-normal.68d40d6d01c6f85d24ba.woff +0 -0
  111. package/frontend/build/static/media/roboto-latin-500-normal.7077203b1982951ecf76.woff2 +0 -0
  112. package/frontend/build/static/media/roboto-latin-700-normal.4535474e1cf8598695ad.woff2 +0 -0
  113. package/frontend/build/static/media/roboto-latin-700-normal.9f6a16a7770c87b2042b.woff +0 -0
  114. package/frontend/build/static/media/roboto-latin-ext-300-normal.14982a9e4857a93b6dce.woff +0 -0
  115. package/frontend/build/static/media/roboto-latin-ext-300-normal.97cbc447d4a8d41a9543.woff2 +0 -0
  116. package/frontend/build/static/media/roboto-latin-ext-400-normal.27da5b36b6d3a16f53f4.woff +0 -0
  117. package/frontend/build/static/media/roboto-latin-ext-400-normal.2eeae187764baf05867d.woff2 +0 -0
  118. package/frontend/build/static/media/roboto-latin-ext-500-normal.06c30711d588145a4541.woff +0 -0
  119. package/frontend/build/static/media/roboto-latin-ext-500-normal.9a18d7bb9ff7a6af7b32.woff2 +0 -0
  120. package/frontend/build/static/media/roboto-latin-ext-700-normal.18841836e391d39e83a8.woff2 +0 -0
  121. package/frontend/build/static/media/roboto-latin-ext-700-normal.3c5bcdd0e69c4c3ffafe.woff +0 -0
  122. package/frontend/build/static/media/roboto-vietnamese-300-normal.c96b16e5c05c7b7c3e89.woff2 +0 -0
  123. package/frontend/build/static/media/roboto-vietnamese-300-normal.f5e7cea32756dfe7af40.woff +0 -0
  124. package/frontend/build/static/media/roboto-vietnamese-400-normal.0dc97c66f9b542d6fa17.woff +0 -0
  125. package/frontend/build/static/media/roboto-vietnamese-400-normal.d3f8e26d6c27de8102b6.woff2 +0 -0
  126. package/frontend/build/static/media/roboto-vietnamese-500-normal.090fabef926bdc0e9b9f.woff2 +0 -0
  127. package/frontend/build/static/media/roboto-vietnamese-500-normal.23b7b8a2524d2d4b637b.woff +0 -0
  128. package/frontend/build/static/media/roboto-vietnamese-700-normal.0a79a9fabfc32e33f360.woff2 +0 -0
  129. package/frontend/build/static/media/roboto-vietnamese-700-normal.35ed0597568ff6f19c16.woff +0 -0
  130. package/npm-shrinkwrap.json +117 -36
  131. package/package.json +8 -3
  132. package/dist/matterbridgeController.d.ts +0 -24
  133. package/dist/matterbridgeController.d.ts.map +0 -1
  134. package/dist/matterbridgeController.js +0 -386
  135. package/dist/matterbridgeController.js.map +0 -1
  136. package/frontend/build/static/css/main.1cf003ae.css +0 -2
  137. package/frontend/build/static/css/main.1cf003ae.css.map +0 -1
  138. package/frontend/build/static/js/main.045d08f7.js +0 -3
  139. package/frontend/build/static/js/main.045d08f7.js.map +0 -1
@@ -0,0 +1,307 @@
1
+ /**
2
+ * This file contains the class MatterbridgeDevice.
3
+ *
4
+ * @file matterbridgeDeviceTypes.ts
5
+ * @author Luca Liguori
6
+ * @date 2024-11-08
7
+ * @version 1.0.0
8
+ *
9
+ * Copyright 2024, 2025, 2026 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
+ import { AirQuality, BooleanState, BooleanStateConfiguration, BridgedDeviceBasicInformation, CarbonDioxideConcentrationMeasurement, CarbonMonoxideConcentrationMeasurement, ColorControl, DeviceEnergyManagement, DeviceEnergyManagementMode, DoorLock, ElectricalEnergyMeasurement, ElectricalPowerMeasurement, EnergyPreference, FanControl, FlowMeasurement, FormaldehydeConcentrationMeasurement, Groups, Identify, IlluminanceMeasurement, LevelControl, ModeSelect, NitrogenDioxideConcentrationMeasurement, OccupancySensing, OnOff, OzoneConcentrationMeasurement, Pm10ConcentrationMeasurement, Pm1ConcentrationMeasurement, Pm25ConcentrationMeasurement, PowerSource, PowerTopology, PressureMeasurement, RadonConcentrationMeasurement, RelativeHumidityMeasurement, SmokeCoAlarm, SwitchCluster, TemperatureMeasurement, Thermostat, ThermostatUserInterfaceConfiguration, TimeSynchronization, TotalVolatileOrganicCompoundsConcentrationMeasurement, WindowCovering, ValveConfigurationAndControl, HepaFilterMonitoring, ActivatedCarbonFilterMonitoring, Actions, FixedLabel, RvcRunMode, RvcOperationalState, RvcCleanMode, } from '@matter/main/clusters';
24
+ // @project-chip
25
+ import { DeviceClasses, DeviceTypeDefinition } from '@project-chip/matter.js/device';
26
+ // Matter 1.0 and 1.1 device types
27
+ export const bridge = DeviceTypeDefinition({
28
+ name: 'MA-aggregator',
29
+ code: 0x000e,
30
+ deviceClass: DeviceClasses.Dynamic,
31
+ revision: 1,
32
+ optionalServerClusters: [Identify.Cluster.id, Actions.Cluster.id],
33
+ });
34
+ export const powerSource = DeviceTypeDefinition({
35
+ name: 'MA-powerSource',
36
+ code: 0x0011,
37
+ deviceClass: DeviceClasses.Utility,
38
+ revision: 1,
39
+ requiredServerClusters: [PowerSource.Cluster.id],
40
+ optionalServerClusters: [],
41
+ });
42
+ export const bridgedNode = DeviceTypeDefinition({
43
+ name: 'MA-bridgedNode',
44
+ code: 0x0013,
45
+ deviceClass: DeviceClasses.Utility,
46
+ revision: 2,
47
+ requiredServerClusters: [BridgedDeviceBasicInformation.Cluster.id],
48
+ optionalServerClusters: [PowerSource.Cluster.id],
49
+ });
50
+ export const genericSwitch = DeviceTypeDefinition({
51
+ name: 'MA-genericswitch',
52
+ code: 0x000f,
53
+ deviceClass: DeviceClasses.Simple,
54
+ revision: 1,
55
+ requiredServerClusters: [Identify.Cluster.id, SwitchCluster.id],
56
+ optionalServerClusters: [FixedLabel.Cluster.id],
57
+ });
58
+ export const onOffLight = DeviceTypeDefinition({
59
+ name: 'MA-onofflight',
60
+ code: 0x0100,
61
+ deviceClass: DeviceClasses.Simple,
62
+ revision: 3,
63
+ requiredServerClusters: [Identify.Cluster.id, Groups.Cluster.id, /* Scenes.Cluster.id,*/ OnOff.Cluster.id],
64
+ optionalServerClusters: [LevelControl.Cluster.id, ColorControl.Cluster.id],
65
+ });
66
+ export const dimmableLight = DeviceTypeDefinition({
67
+ name: 'MA-dimmablelight',
68
+ code: 0x0101,
69
+ deviceClass: DeviceClasses.Simple,
70
+ revision: 3,
71
+ requiredServerClusters: [Identify.Cluster.id, Groups.Cluster.id, /* Scenes.Cluster.id,*/ OnOff.Cluster.id, LevelControl.Cluster.id],
72
+ optionalServerClusters: [ColorControl.Cluster.id],
73
+ });
74
+ export const colorTemperatureLight = DeviceTypeDefinition({
75
+ name: 'MA-colortemperaturelight',
76
+ code: 0x010c,
77
+ deviceClass: DeviceClasses.Simple,
78
+ revision: 4,
79
+ requiredServerClusters: [Identify.Cluster.id, Groups.Cluster.id, /* Scenes.Cluster.id,*/ OnOff.Cluster.id, LevelControl.Cluster.id, ColorControl.Cluster.id],
80
+ optionalServerClusters: [],
81
+ });
82
+ export const onOffOutlet = DeviceTypeDefinition({
83
+ name: 'MA-onoffpluginunit',
84
+ code: 0x010a,
85
+ deviceClass: DeviceClasses.Simple,
86
+ revision: 3,
87
+ requiredServerClusters: [Identify.Cluster.id, Groups.Cluster.id, /* Scenes.Cluster.id,*/ OnOff.Cluster.id],
88
+ optionalServerClusters: [LevelControl.Cluster.id],
89
+ });
90
+ export const dimmableOutlet = DeviceTypeDefinition({
91
+ name: 'MA-dimmablepluginunit',
92
+ code: 0x010b,
93
+ deviceClass: DeviceClasses.Simple,
94
+ revision: 3,
95
+ requiredServerClusters: [Identify.Cluster.id, Groups.Cluster.id, /* Scenes.Cluster.id,*/ OnOff.Cluster.id, LevelControl.Cluster.id],
96
+ optionalServerClusters: [],
97
+ });
98
+ export const doorLockDevice = DeviceTypeDefinition({
99
+ name: 'MA-doorLock',
100
+ code: 0xa,
101
+ deviceClass: DeviceClasses.Simple,
102
+ revision: 3,
103
+ requiredServerClusters: [Identify.Cluster.id, DoorLock.Cluster.id],
104
+ optionalServerClusters: [Groups.Cluster.id /* , Scenes.Cluster.id,*/],
105
+ });
106
+ export const coverDevice = DeviceTypeDefinition({
107
+ name: 'MA-windowCovering',
108
+ code: 0x202,
109
+ deviceClass: DeviceClasses.Simple,
110
+ revision: 3,
111
+ requiredServerClusters: [Identify.Cluster.id, WindowCovering.Cluster.id],
112
+ optionalServerClusters: [Groups.Cluster.id /* , Scenes.Cluster.id,*/],
113
+ });
114
+ export const fanDevice = DeviceTypeDefinition({
115
+ name: 'MA-fan',
116
+ code: 0x2b,
117
+ deviceClass: DeviceClasses.Simple,
118
+ revision: 2,
119
+ requiredServerClusters: [Identify.Cluster.id, FanControl.Cluster.id],
120
+ optionalServerClusters: [Groups.Cluster.id /* , Scenes.Cluster.id,*/],
121
+ });
122
+ export const thermostatDevice = DeviceTypeDefinition({
123
+ name: 'MA-thermostat',
124
+ code: 0x301,
125
+ deviceClass: DeviceClasses.Simple,
126
+ revision: 3,
127
+ requiredServerClusters: [Identify.Cluster.id, Thermostat.Cluster.id],
128
+ optionalServerClusters: [Groups.Cluster.id /* , Scenes.Cluster.id,*/, ThermostatUserInterfaceConfiguration.Cluster.id, EnergyPreference.Cluster.id, TimeSynchronization.Cluster.id],
129
+ });
130
+ export const contactSensor = DeviceTypeDefinition({
131
+ name: 'MA-contactsensor',
132
+ code: 0x0015,
133
+ deviceClass: DeviceClasses.Simple,
134
+ revision: 2,
135
+ requiredServerClusters: [Identify.Cluster.id, BooleanState.Cluster.id],
136
+ });
137
+ export const lightSensor = DeviceTypeDefinition({
138
+ name: 'MA-lightsensor',
139
+ code: 0x0106,
140
+ deviceClass: DeviceClasses.Simple,
141
+ revision: 3,
142
+ requiredServerClusters: [Identify.Cluster.id, IlluminanceMeasurement.Cluster.id],
143
+ optionalClientClusters: [Groups.Cluster.id],
144
+ });
145
+ export const occupanceySensor = DeviceTypeDefinition({
146
+ name: 'MA-occupancysensor',
147
+ code: 0x0107,
148
+ deviceClass: DeviceClasses.Simple,
149
+ revision: 3,
150
+ requiredServerClusters: [Identify.Cluster.id, OccupancySensing.Cluster.id],
151
+ });
152
+ export const temperatureSensor = DeviceTypeDefinition({
153
+ name: 'MA-tempsensor',
154
+ code: 0x0302,
155
+ deviceClass: DeviceClasses.Simple,
156
+ revision: 2,
157
+ requiredServerClusters: [Identify.Cluster.id, TemperatureMeasurement.Cluster.id],
158
+ });
159
+ export const pressureSensor = DeviceTypeDefinition({
160
+ name: 'MA-pressuresensor',
161
+ code: 0x0305,
162
+ deviceClass: DeviceClasses.Simple,
163
+ revision: 2,
164
+ requiredServerClusters: [Identify.Cluster.id, PressureMeasurement.Cluster.id],
165
+ });
166
+ export const flowSensor = DeviceTypeDefinition({
167
+ name: 'MA-flowsensor',
168
+ code: 0x0306,
169
+ deviceClass: DeviceClasses.Simple,
170
+ revision: 2,
171
+ requiredServerClusters: [Identify.Cluster.id, FlowMeasurement.Cluster.id],
172
+ });
173
+ export const humiditySensor = DeviceTypeDefinition({
174
+ name: 'MA-humiditysensor',
175
+ code: 0x0307,
176
+ deviceClass: DeviceClasses.Simple,
177
+ revision: 2,
178
+ requiredServerClusters: [Identify.Cluster.id, RelativeHumidityMeasurement.Cluster.id],
179
+ });
180
+ export const modeSelect = DeviceTypeDefinition({
181
+ name: 'MA-modeselect',
182
+ code: 0x27,
183
+ deviceClass: DeviceClasses.Simple,
184
+ revision: 1,
185
+ requiredServerClusters: [ModeSelect.Cluster.id],
186
+ });
187
+ export const roboticVacuumCleaner = DeviceTypeDefinition({
188
+ name: 'MA-roboticvacuumcleaner',
189
+ code: 0x74,
190
+ deviceClass: DeviceClasses.Simple,
191
+ revision: 2,
192
+ requiredServerClusters: [Identify.Cluster.id, RvcRunMode.Cluster.id, RvcOperationalState.Cluster.id],
193
+ optionalServerClusters: [RvcCleanMode.Cluster.id],
194
+ });
195
+ // Custom device types without ClientClusters
196
+ export const onOffSwitch = DeviceTypeDefinition({
197
+ name: 'MA-onoffswitch',
198
+ code: 0x0103,
199
+ deviceClass: DeviceClasses.Simple,
200
+ revision: 3,
201
+ requiredServerClusters: [Identify.Cluster.id, Groups.Cluster.id, /* Scenes.Cluster.id,*/ OnOff.Cluster.id],
202
+ optionalServerClusters: [LevelControl.Cluster.id, ColorControl.Cluster.id],
203
+ });
204
+ export const dimmableSwitch = DeviceTypeDefinition({
205
+ name: 'MA-dimmableswitch',
206
+ code: 0x0104,
207
+ deviceClass: DeviceClasses.Simple,
208
+ revision: 3,
209
+ requiredServerClusters: [Identify.Cluster.id, Groups.Cluster.id, /* Scenes.Cluster.id,*/ OnOff.Cluster.id, LevelControl.Cluster.id],
210
+ optionalServerClusters: [ColorControl.Cluster.id],
211
+ });
212
+ export const colorTemperatureSwitch = DeviceTypeDefinition({
213
+ name: 'MA-colortemperatureswitch',
214
+ code: 0x0105,
215
+ deviceClass: DeviceClasses.Simple,
216
+ revision: 3,
217
+ requiredServerClusters: [Identify.Cluster.id, Groups.Cluster.id, /* Scenes.Cluster.id,*/ OnOff.Cluster.id, LevelControl.Cluster.id, ColorControl.Cluster.id],
218
+ optionalServerClusters: [],
219
+ });
220
+ // Matter 1.2 and 1.3 device types
221
+ export const airQualitySensor = DeviceTypeDefinition({
222
+ name: 'MA-airQualitySensor',
223
+ code: 0x002c,
224
+ deviceClass: DeviceClasses.Simple,
225
+ revision: 1,
226
+ requiredServerClusters: [Identify.Cluster.id, AirQuality.Cluster.id],
227
+ optionalServerClusters: [
228
+ TemperatureMeasurement.Cluster.id,
229
+ RelativeHumidityMeasurement.Cluster.id,
230
+ CarbonMonoxideConcentrationMeasurement.Cluster.id,
231
+ CarbonDioxideConcentrationMeasurement.Cluster.id,
232
+ NitrogenDioxideConcentrationMeasurement.Cluster.id,
233
+ OzoneConcentrationMeasurement.Cluster.id,
234
+ FormaldehydeConcentrationMeasurement.Cluster.id,
235
+ Pm1ConcentrationMeasurement.Cluster.id,
236
+ Pm25ConcentrationMeasurement.Cluster.id,
237
+ Pm10ConcentrationMeasurement.Cluster.id,
238
+ RadonConcentrationMeasurement.Cluster.id,
239
+ TotalVolatileOrganicCompoundsConcentrationMeasurement.Cluster.id,
240
+ ],
241
+ });
242
+ export const waterFreezeDetector = DeviceTypeDefinition({
243
+ name: 'MA-waterFreezeDetector',
244
+ code: 0x0041,
245
+ deviceClass: DeviceClasses.Simple,
246
+ revision: 1,
247
+ requiredServerClusters: [Identify.Cluster.id, BooleanState.Cluster.id],
248
+ optionalServerClusters: [BooleanStateConfiguration.Cluster.id],
249
+ });
250
+ export const waterLeakDetector = DeviceTypeDefinition({
251
+ name: 'MA-waterLeakDetector',
252
+ code: 0x0043,
253
+ deviceClass: DeviceClasses.Simple,
254
+ revision: 1,
255
+ requiredServerClusters: [Identify.Cluster.id, BooleanState.Cluster.id],
256
+ optionalServerClusters: [BooleanStateConfiguration.Cluster.id],
257
+ });
258
+ export const rainSensor = DeviceTypeDefinition({
259
+ name: 'MA-rainSensor',
260
+ code: 0x0044,
261
+ deviceClass: DeviceClasses.Simple,
262
+ revision: 1,
263
+ requiredServerClusters: [Identify.Cluster.id, BooleanState.Cluster.id],
264
+ optionalServerClusters: [BooleanStateConfiguration.Cluster.id],
265
+ });
266
+ // Remark: A Smoke CO Alarm device type SHALL support an instance of a Power Source device type on some endpoint.
267
+ export const smokeCoAlarm = DeviceTypeDefinition({
268
+ name: 'MA-smokeCoAlarm',
269
+ code: 0x0076,
270
+ deviceClass: DeviceClasses.Simple,
271
+ revision: 1,
272
+ requiredServerClusters: [Identify.Cluster.id, SmokeCoAlarm.Cluster.id],
273
+ optionalServerClusters: [Groups.Cluster.id, TemperatureMeasurement.Cluster.id, RelativeHumidityMeasurement.Cluster.id, CarbonMonoxideConcentrationMeasurement.Cluster.id],
274
+ });
275
+ export const waterValve = DeviceTypeDefinition({
276
+ name: 'MA-waterValve',
277
+ code: 0x42,
278
+ deviceClass: DeviceClasses.Simple,
279
+ revision: 1,
280
+ requiredServerClusters: [Identify.Cluster.id, ValveConfigurationAndControl.Cluster.id],
281
+ optionalServerClusters: [FlowMeasurement.Cluster.id],
282
+ });
283
+ export const airPurifier = DeviceTypeDefinition({
284
+ name: 'MA-airPurifier',
285
+ code: 0x2d,
286
+ deviceClass: DeviceClasses.Simple,
287
+ revision: 1,
288
+ requiredServerClusters: [Identify.Cluster.id, FanControl.Cluster.id],
289
+ optionalServerClusters: [Groups.Cluster.id, HepaFilterMonitoring.Cluster.id, ActivatedCarbonFilterMonitoring.Cluster.id],
290
+ });
291
+ export const electricalSensor = DeviceTypeDefinition({
292
+ name: 'MA-electricalSensor',
293
+ code: 0x0510,
294
+ deviceClass: DeviceClasses.Utility,
295
+ revision: 1,
296
+ requiredServerClusters: [PowerTopology.Cluster.id],
297
+ optionalServerClusters: [ElectricalPowerMeasurement.Cluster.id, ElectricalEnergyMeasurement.Cluster.id],
298
+ });
299
+ export const deviceEnergyManagement = DeviceTypeDefinition({
300
+ name: 'MA-deviceEnergyManagement',
301
+ code: 0x050d,
302
+ deviceClass: DeviceClasses.Utility,
303
+ revision: 1,
304
+ requiredServerClusters: [DeviceEnergyManagement.Cluster.id, DeviceEnergyManagementMode.Cluster.id],
305
+ optionalServerClusters: [],
306
+ });
307
+ //# sourceMappingURL=matterbridgeDeviceTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matterbridgeDeviceTypes.js","sourceRoot":"","sources":["../src/matterbridgeDeviceTypes.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"matterbridgeDynamicPlatform.d.ts","sourceRoot":"","sources":["../src/matterbridgeDynamicPlatform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C;;;GAGG;AACH,qBAAa,2BAA4B,SAAQ,oBAAoB;IACnE;;;;;OAKG;gBACS,YAAY,EAAE,YAAY,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc;CAQhF"}
1
+ {"version":3,"file":"matterbridgeDynamicPlatform.d.ts","sourceRoot":"","sources":["../src/matterbridgeDynamicPlatform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAGjF,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C;;;GAGG;AACH,qBAAa,2BAA4B,SAAQ,oBAAoB;IACnE;;;;;OAKG;gBACS,YAAY,EAAE,YAAY,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc;CAQhF"}
@@ -1 +1 @@
1
- {"version":3,"file":"matterbridgeDynamicPlatform.js","sourceRoot":"","sources":["../src/matterbridgeDynamicPlatform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,OAAO,EAAE,oBAAoB,EAAkB,MAAM,2BAA2B,CAAC;AAGjF;;;GAGG;AACH,MAAM,OAAO,2BAA4B,SAAQ,oBAAoB;IACnE;;;;;OAKG;IACH,YAAY,YAA0B,EAAE,GAAe,EAAE,MAAsB;QAC7E,KAAK,CAAC,YAAY,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;QAEjC,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC9B,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAExB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,IAAI,SAAS,CAAC,CAAC;IACpD,CAAC;CACF"}
1
+ {"version":3,"file":"matterbridgeDynamicPlatform.js","sourceRoot":"","sources":["../src/matterbridgeDynamicPlatform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAIH,OAAO,EAAE,oBAAoB,EAAkB,MAAM,2BAA2B,CAAC;AAKjF;;;GAGG;AACH,MAAM,OAAO,2BAA4B,SAAQ,oBAAoB;IACnE;;;;;OAKG;IACH,YAAY,YAA0B,EAAE,GAAe,EAAE,MAAsB;QAC7E,KAAK,CAAC,YAAY,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;QAEjC,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC9B,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAExB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,IAAI,SAAS,CAAC,CAAC;IACpD,CAAC;CACF"}
@@ -20,30 +20,25 @@
20
20
  * See the License for the specific language governing permissions and
21
21
  * limitations under the License. *
22
22
  */
23
- /**
24
- * Import needed modules from @project-chip/matter-node.js
25
- */
26
- import '@project-chip/matter-node.js';
27
- import { DeviceTypeId } from '@project-chip/matter-node.js/datatype';
28
- import { Storage, StorageContext, StorageManager } from '@project-chip/matter-node.js/storage';
29
- import { StorageService } from '@project-chip/matter.js/environment';
30
- import { ServerNode } from '@project-chip/matter.js/node';
31
- import { Endpoint } from '@project-chip/matter.js/endpoint';
32
- import { AggregatorEndpoint } from '@project-chip/matter.js/endpoints/AggregatorEndpoint';
33
- import { Matterbridge } from './matterbridge.js';
34
23
  import { NodeStorage } from 'node-persist-manager';
24
+ import { Matterbridge } from './matterbridge.js';
35
25
  import { MatterbridgeDevice } from './matterbridgeDevice.js';
36
- import { CommissioningServer, MatterServer } from '@project-chip/matter-node.js';
37
- import { Aggregator } from '@project-chip/matter-node.js/device';
26
+ import { MatterbridgeEndpoint } from './matterbridgeEndpoint.js';
27
+ import { DeviceTypeId } from '@matter/main';
28
+ import { ServerNode, Endpoint as EndpointNode, Environment, StorageService, StorageContext, StorageManager } from '@matter/main';
29
+ import { AggregatorEndpoint } from '@matter/main/endpoints';
30
+ import { CommissioningServer, MatterServer } from '@project-chip/matter.js';
31
+ import { Aggregator } from '@project-chip/matter.js/device';
38
32
  /**
39
33
  * Represents the MatterbridgeEdge application.
40
34
  */
41
35
  export declare class MatterbridgeEdge extends Matterbridge {
42
36
  static instance: MatterbridgeEdge | undefined;
43
- private environment;
37
+ environment: Environment;
44
38
  matterStorageService?: StorageService;
45
- private csToMatterNode;
46
- private agToMatterNode;
39
+ private csToServerNode;
40
+ private agToAggregatorEndpoint;
41
+ private activeSessions;
47
42
  private constructor();
48
43
  static loadInstance(initialize?: boolean): Promise<MatterbridgeEdge>;
49
44
  initialize(): Promise<void>;
@@ -71,14 +66,17 @@ export declare class MatterbridgeEdge extends Matterbridge {
71
66
  * @param hardwareVersionString - The hardware version string of the device (optional).
72
67
  * @returns The storage context for the commissioning server.
73
68
  */
74
- createServerNodeContext(pluginName: string, deviceName: string, deviceType: DeviceTypeId, vendorId: number, vendorName: string, productId: number, productName: string, serialNumber?: string): Promise<StorageContext<Storage>>;
75
- createServerNode(storageContext: StorageContext<Storage>, port?: number, passcode?: number, discriminator?: number): Promise<ServerNode<ServerNode.RootEndpoint>>;
76
- showServerNodeQR(matterServerNode: ServerNode, storageContext: StorageContext<Storage>): Promise<void>;
69
+ createServerNodeContext(pluginName: string, deviceName: string, deviceType: DeviceTypeId, vendorId: number, vendorName: string, productId: number, productName: string, serialNumber?: string): Promise<StorageContext>;
70
+ createServerNode(storageContext: StorageContext, port?: number, passcode?: number, discriminator?: number): Promise<ServerNode<ServerNode.RootEndpoint>>;
77
71
  startServerNode(matterServerNode: ServerNode): Promise<void>;
78
72
  stopServerNode(matterServerNode: ServerNode): Promise<void>;
79
- createAggregatorNode(storageContext: StorageContext<Storage>): Promise<Endpoint<AggregatorEndpoint>>;
73
+ createAggregatorNode(storageContext: StorageContext): Promise<EndpointNode<AggregatorEndpoint>>;
74
+ addBridgedEndpoint(pluginName: string, device: MatterbridgeEndpoint): Promise<void>;
75
+ removeBridgedEndpoint(pluginName: string, device: MatterbridgeEndpoint): Promise<void>;
76
+ removeAllBridgedEndpoints(pluginName: string): Promise<void>;
80
77
  createCommissioningServerContext(pluginName: string, deviceName: string, deviceType: DeviceTypeId, vendorId: number, vendorName: string, productId: number, productName: string): Promise<StorageContext>;
81
78
  importCommissioningServerContext(pluginName: string, device: MatterbridgeDevice): Promise<StorageContext>;
79
+ test: boolean;
82
80
  createCommisioningServer(context: StorageContext, pluginName: string): Promise<CommissioningServer>;
83
81
  createMatterAggregator(context: StorageContext, pluginName: string): Promise<Aggregator>;
84
82
  showCommissioningQRCode(commissioningServer: CommissioningServer | undefined, storageContext: StorageContext | undefined, nodeContext: NodeStorage | undefined, pluginName: string): Promise<void>;
@@ -86,5 +84,6 @@ export declare class MatterbridgeEdge extends Matterbridge {
86
84
  setAggregatorReachability(matterAggregator: Aggregator, reachable: boolean): void;
87
85
  setDeviceReachability(device: MatterbridgeDevice, reachable: boolean): void;
88
86
  startController(): Promise<void>;
87
+ testEndpoints(): Promise<void>;
89
88
  }
90
89
  //# sourceMappingURL=matterbridgeEdge.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"matterbridgeEdge.d.ts","sourceRoot":"","sources":["../src/matterbridgeEdge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"matterbridgeEdge.d.ts","sourceRoot":"","sources":["../src/matterbridgeEdge.ts"],"names":[],"mappings":"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"}