matterbridge 3.3.5-dev-20251028-d89f93f → 3.3.5-dev-20251031-3482891

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.
package/CHANGELOG.md CHANGED
@@ -30,6 +30,12 @@ Advantages:
30
30
 
31
31
  ## [3.3.5] - 2025-10-??
32
32
 
33
+ ### Breaking Changes
34
+
35
+ - [concentrationMeasurement]: Changed the default unit of measurement to comply with the generally used (and supported by Apple Home). Is is always possible to pass a different unit of measurement.
36
+
37
+ ### Added
38
+
33
39
  - [thread]: Added get_log_level and set_log_level to BroadcastServer.
34
40
  - [frontend]: Added password check to WebSocket.
35
41
 
@@ -38,6 +44,10 @@ Advantages:
38
44
  - [package]: Updated dependencies.
39
45
  - [frontend]: Bumped `frontend` version to 3.2.4.
40
46
 
47
+ ### Fixed
48
+
49
+ - [service]: Fixed systemd configuration with local global node_modules.
50
+
41
51
  <a href="https://www.buymeacoffee.com/luligugithub">
42
52
  <img src="bmc-button.svg" alt="Buy me a coffee" width="80">
43
53
  </a>
@@ -51,7 +51,7 @@ Create a systemctl configuration file for Matterbridge
51
51
  sudo nano /etc/systemd/system/matterbridge.service
52
52
  ```
53
53
 
54
- Add the following to this file, replacing 5 times (!) USER with your user name (e.g. WorkingDirectory=/home/pi/Matterbridge, User=pi and Group=pi and Environment="NPM_CONFIG_PREFIX=/home/pi/.npm-global"):
54
+ Add the following to this file, replacing 4 times (!) USER with your user name (e.g. WorkingDirectory=/home/pi/Matterbridge, User=pi and Group=pi and Environment="NPM_CONFIG_PREFIX=/home/pi/.npm-global"):
55
55
 
56
56
  ```
57
57
  [Unit]
@@ -171,56 +171,3 @@ save it and run
171
171
  ```bash
172
172
  sudo systemctl restart systemd-journald
173
173
  ```
174
-
175
- ## Verify that with your distro you can run sudo npm install -g matterbridge without the password
176
-
177
- Run the following command to verify if you can install Matterbridge globally without being prompted for a password:
178
-
179
- ```bash
180
- sudo npm install -g matterbridge --omit=dev
181
- ```
182
-
183
- If you are not prompted for a password, no further action is required.
184
-
185
- If that is not the case, open the sudoers file for editing using visudo
186
-
187
- ```bash
188
- sudo visudo
189
- ```
190
-
191
- verify the presence of of a line
192
-
193
- ```
194
- @includedir /etc/sudoers.d
195
- ```
196
-
197
- exit and create a configuration file for sudoers
198
-
199
- ```bash
200
- sudo nano /etc/sudoers.d/matterbridge
201
- ```
202
-
203
- add this line replacing USER with your user name (e.g. radxa ALL=(ALL) NOPASSWD: ALL)
204
-
205
- ```
206
- <USER> ALL=(ALL) NOPASSWD: ALL
207
- ```
208
-
209
- or if you prefers to only give access to npm without password try with (e.g. radxa ALL=(ALL) NOPASSWD: /usr/bin/npm)
210
-
211
- ```
212
- <USER> ALL=(ALL) NOPASSWD: /usr/bin/npm
213
- ```
214
-
215
- save the file and reload the settings with:
216
-
217
- ```bash
218
- sudo chmod 0440 /etc/sudoers.d/matterbridge
219
- sudo visudo -c
220
- ```
221
-
222
- Verify if you can install Matterbridge globally without being prompted for a password:
223
-
224
- ```bash
225
- sudo npm install -g matterbridge --omit=dev
226
- ```
package/README.md CHANGED
@@ -82,7 +82,7 @@ Since Matter is designed as "a universal IPv6-based communication protocol for s
82
82
 
83
83
  **Important:** You only need IPv6 on your local network - it doesn't matter if your internet provider doesn't provide IPv6 on the internet side (WAN).
84
84
 
85
- Avoid using VLAN and firewall blocking the communications between the controllers and Matterbridge.
85
+ Avoid using VLAN, VM and firewall blocking the communications between the controllers and Matterbridge.
86
86
 
87
87
  To pair matterbridge, you need a matter enabled controller (Apple Home, Smart Things, Google Home, Alexa, Home Assistant etc.).
88
88
 
@@ -172,6 +172,10 @@ Config editor:
172
172
 
173
173
  [Service configurations](README-SERVICE.md)
174
174
 
175
+ or with local global node_modules
176
+
177
+ [Service configurations with local global node_modules](README-SERVICE-LOCAL.md)
178
+
175
179
  ### Run matterbridge as a system service with launchctl (macOS only)
176
180
 
177
181
  [Launchctl configurations](README-MACOS-PLIST.md)
@@ -1177,7 +1177,7 @@ export class MatterbridgeEndpoint extends Endpoint {
1177
1177
  });
1178
1178
  return this;
1179
1179
  }
1180
- createDefaultTvocMeasurementClusterServer(measuredValue = null, measurementUnit = ConcentrationMeasurement.MeasurementUnit.Ppm, measurementMedium = ConcentrationMeasurement.MeasurementMedium.Air, uncertainty) {
1180
+ createDefaultTvocMeasurementClusterServer(measuredValue = null, measurementUnit = ConcentrationMeasurement.MeasurementUnit.Ugm3, measurementMedium = ConcentrationMeasurement.MeasurementMedium.Air, uncertainty) {
1181
1181
  this.behaviors.require(TotalVolatileOrganicCompoundsConcentrationMeasurementServer.with(ConcentrationMeasurement.Feature.NumericMeasurement), {
1182
1182
  measuredValue,
1183
1183
  minMeasuredValue: null,
@@ -1217,7 +1217,7 @@ export class MatterbridgeEndpoint extends Endpoint {
1217
1217
  });
1218
1218
  return this;
1219
1219
  }
1220
- createDefaultFormaldehydeConcentrationMeasurementClusterServer(measuredValue = null, measurementUnit = ConcentrationMeasurement.MeasurementUnit.Ppm, measurementMedium = ConcentrationMeasurement.MeasurementMedium.Air) {
1220
+ createDefaultFormaldehydeConcentrationMeasurementClusterServer(measuredValue = null, measurementUnit = ConcentrationMeasurement.MeasurementUnit.Mgm3, measurementMedium = ConcentrationMeasurement.MeasurementMedium.Air) {
1221
1221
  this.behaviors.require(FormaldehydeConcentrationMeasurementServer.with(ConcentrationMeasurement.Feature.NumericMeasurement), {
1222
1222
  measuredValue,
1223
1223
  minMeasuredValue: null,
@@ -1228,7 +1228,7 @@ export class MatterbridgeEndpoint extends Endpoint {
1228
1228
  });
1229
1229
  return this;
1230
1230
  }
1231
- createDefaultPm1ConcentrationMeasurementClusterServer(measuredValue = null, measurementUnit = ConcentrationMeasurement.MeasurementUnit.Ppm, measurementMedium = ConcentrationMeasurement.MeasurementMedium.Air) {
1231
+ createDefaultPm1ConcentrationMeasurementClusterServer(measuredValue = null, measurementUnit = ConcentrationMeasurement.MeasurementUnit.Ugm3, measurementMedium = ConcentrationMeasurement.MeasurementMedium.Air) {
1232
1232
  this.behaviors.require(Pm1ConcentrationMeasurementServer.with(ConcentrationMeasurement.Feature.NumericMeasurement), {
1233
1233
  measuredValue,
1234
1234
  minMeasuredValue: null,
@@ -1239,7 +1239,7 @@ export class MatterbridgeEndpoint extends Endpoint {
1239
1239
  });
1240
1240
  return this;
1241
1241
  }
1242
- createDefaultPm25ConcentrationMeasurementClusterServer(measuredValue = null, measurementUnit = ConcentrationMeasurement.MeasurementUnit.Ppm, measurementMedium = ConcentrationMeasurement.MeasurementMedium.Air) {
1242
+ createDefaultPm25ConcentrationMeasurementClusterServer(measuredValue = null, measurementUnit = ConcentrationMeasurement.MeasurementUnit.Ugm3, measurementMedium = ConcentrationMeasurement.MeasurementMedium.Air) {
1243
1243
  this.behaviors.require(Pm25ConcentrationMeasurementServer.with(ConcentrationMeasurement.Feature.NumericMeasurement), {
1244
1244
  measuredValue,
1245
1245
  minMeasuredValue: null,
@@ -1250,7 +1250,7 @@ export class MatterbridgeEndpoint extends Endpoint {
1250
1250
  });
1251
1251
  return this;
1252
1252
  }
1253
- createDefaultPm10ConcentrationMeasurementClusterServer(measuredValue = null, measurementUnit = ConcentrationMeasurement.MeasurementUnit.Ppm, measurementMedium = ConcentrationMeasurement.MeasurementMedium.Air) {
1253
+ createDefaultPm10ConcentrationMeasurementClusterServer(measuredValue = null, measurementUnit = ConcentrationMeasurement.MeasurementUnit.Ugm3, measurementMedium = ConcentrationMeasurement.MeasurementMedium.Air) {
1254
1254
  this.behaviors.require(Pm10ConcentrationMeasurementServer.with(ConcentrationMeasurement.Feature.NumericMeasurement), {
1255
1255
  measuredValue,
1256
1256
  minMeasuredValue: null,
@@ -1272,7 +1272,7 @@ export class MatterbridgeEndpoint extends Endpoint {
1272
1272
  });
1273
1273
  return this;
1274
1274
  }
1275
- createDefaultRadonConcentrationMeasurementClusterServer(measuredValue = null, measurementUnit = ConcentrationMeasurement.MeasurementUnit.Ppm, measurementMedium = ConcentrationMeasurement.MeasurementMedium.Air) {
1275
+ createDefaultRadonConcentrationMeasurementClusterServer(measuredValue = null, measurementUnit = ConcentrationMeasurement.MeasurementUnit.Bqm3, measurementMedium = ConcentrationMeasurement.MeasurementMedium.Air) {
1276
1276
  this.behaviors.require(RadonConcentrationMeasurementServer.with(ConcentrationMeasurement.Feature.NumericMeasurement), {
1277
1277
  measuredValue,
1278
1278
  minMeasuredValue: null,
@@ -146,9 +146,11 @@ export function xyToHsl(x, y) {
146
146
  export function miredToKelvin(mired) {
147
147
  return Math.round(1000000 / mired);
148
148
  }
149
+ export const miredsToKelvin = miredToKelvin;
149
150
  export function kelvinToMired(kelvin) {
150
151
  return Math.round(1000000 / kelvin);
151
152
  }
153
+ export const kelvinToMireds = kelvinToMired;
152
154
  export function kelvinToRGB(kelvin) {
153
155
  kelvin = Math.max(1000, Math.min(40000, kelvin)) / 100;
154
156
  let r, g, b;
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "matterbridge",
3
- "version": "3.3.5-dev-20251028-d89f93f",
3
+ "version": "3.3.5-dev-20251031-3482891",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "matterbridge",
9
- "version": "3.3.5-dev-20251028-d89f93f",
9
+ "version": "3.3.5-dev-20251031-3482891",
10
10
  "license": "Apache-2.0",
11
11
  "dependencies": {
12
12
  "@matter/main": "0.15.6",
@@ -972,10 +972,10 @@
972
972
  }
973
973
  },
974
974
  "node_modules/glob/node_modules/minimatch": {
975
- "version": "10.0.3",
976
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.3.tgz",
977
- "integrity": "sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==",
978
- "license": "ISC",
975
+ "version": "10.1.1",
976
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz",
977
+ "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==",
978
+ "license": "BlueOak-1.0.0",
979
979
  "dependencies": {
980
980
  "@isaacs/brace-expansion": "^5.0.0"
981
981
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "matterbridge",
3
- "version": "3.3.5-dev-20251028-d89f93f",
3
+ "version": "3.3.5-dev-20251031-3482891",
4
4
  "description": "Matterbridge plugin manager for Matter",
5
5
  "author": "https://github.com/Luligu",
6
6
  "license": "Apache-2.0",