matterbridge 3.5.1-dev-20260123-6474162 → 3.5.1-dev-20260123-5dec313

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
@@ -28,7 +28,7 @@ Advantages:
28
28
  - individual plugin isolation in childbridge mode;
29
29
  - ability to update the plugin in childbridge mode without restarting matterbridge;
30
30
 
31
- ## [3.5.1] - Dev branch
31
+ ## [3.5.1] - 2026-01-24
32
32
 
33
33
  ### Added
34
34
 
@@ -39,8 +39,9 @@ Advantages:
39
39
  - [matter.js]: Bump to matter.j v. 0.16.6.
40
40
  - [matter.js]: Bump to matter.j v. 0.16.7.
41
41
  - [mb_mdns]: Added --ip-filter params to filter incoming mDns messages by sender ip.
42
- - [express]: Added a login check for internal express api. Now only /health and /memory are opened. Thanks Rogibaer (https://github.com/Luligu/matterbridge-hass/issues/149).
42
+ - [express]: Added a login check for internal express api. The /health and /memory api don't need a login. Thanks Rogibaer (https://github.com/Luligu/matterbridge-hass/issues/149).
43
43
  - [readme]: Added a section with the data structure and backup/restore guidelines.
44
+ - [matterbridge]: Add brand to MatterbridgePlatform and MatterbridgeEndpoint.
44
45
 
45
46
  ### Changed
46
47
 
@@ -25,6 +25,8 @@ import { DeviceEnergyManagementMode } from '@matter/types/clusters/device-energy
25
25
  import { ResourceMonitoring } from '@matter/types/clusters/resource-monitoring';
26
26
  import { DeviceTypeDefinition } from './matterbridgeDeviceTypes.js';
27
27
  import { CommandHandlerFunction, MatterbridgeEndpointCommands, MatterbridgeEndpointOptions, SerializedMatterbridgeEndpoint } from './matterbridgeEndpointTypes.js';
28
+ export declare function isMatterbridgeEndpoint(value: unknown): value is MatterbridgeEndpoint;
29
+ export declare function assertMatterbridgeEndpoint(value: unknown, context?: string): asserts value is MatterbridgeEndpoint;
28
30
  export declare class MatterbridgeEndpoint extends Endpoint {
29
31
  static logLevel: LogLevel;
30
32
  mode: 'server' | 'matter' | undefined;
@@ -63,6 +63,22 @@ import { ThermostatUserInterfaceConfigurationServer } from '@matter/node/behavio
63
63
  import { inspectError, isValidNumber, isValidObject, isValidString } from '@matterbridge/utils';
64
64
  import { MatterbridgeServer, MatterbridgeIdentifyServer, MatterbridgeOnOffServer, MatterbridgeLevelControlServer, MatterbridgeColorControlServer, MatterbridgeLiftWindowCoveringServer, MatterbridgeLiftTiltWindowCoveringServer, MatterbridgeThermostatServer, MatterbridgeFanControlServer, MatterbridgeDoorLockServer, MatterbridgeModeSelectServer, MatterbridgeValveConfigurationAndControlServer, MatterbridgeSmokeCoAlarmServer, MatterbridgeBooleanStateConfigurationServer, MatterbridgeSwitchServer, MatterbridgeOperationalStateServer, MatterbridgeDeviceEnergyManagementModeServer, MatterbridgeDeviceEnergyManagementServer, MatterbridgeActivatedCarbonFilterMonitoringServer, MatterbridgeHepaFilterMonitoringServer, MatterbridgeEnhancedColorControlServer, MatterbridgePowerSourceServer, } from './matterbridgeBehaviors.js';
65
65
  import { addClusterServers, addFixedLabel, addOptionalClusterServers, addRequiredClusterServers, addUserLabel, createUniqueId, getBehavior, getBehaviourTypesFromClusterClientIds, getBehaviourTypesFromClusterServerIds, getDefaultOperationalStateClusterServer, getDefaultFlowMeasurementClusterServer, getDefaultIlluminanceMeasurementClusterServer, getDefaultPressureMeasurementClusterServer, getDefaultRelativeHumidityMeasurementClusterServer, getDefaultTemperatureMeasurementClusterServer, getDefaultOccupancySensingClusterServer, getDefaultElectricalEnergyMeasurementClusterServer, getDefaultElectricalPowerMeasurementClusterServer, getApparentElectricalPowerMeasurementClusterServer, lowercaseFirstLetter, updateAttribute, getClusterId, getAttributeId, setAttribute, getAttribute, checkNotLatinCharacters, generateUniqueId, subscribeAttribute, invokeBehaviorCommand, triggerEvent, featuresFor, getDefaultPowerSourceWiredClusterServer, getDefaultPowerSourceReplaceableBatteryClusterServer, getDefaultPowerSourceRechargeableBatteryClusterServer, getDefaultDeviceEnergyManagementClusterServer, getDefaultDeviceEnergyManagementModeClusterServer, getDefaultPowerSourceBatteryClusterServer, } from './matterbridgeEndpointHelpers.js';
66
+ const MATTERBRIDGE_ENDPOINT_BRAND = Symbol('MatterbridgeEndpoint.brand');
67
+ export function isMatterbridgeEndpoint(value) {
68
+ if (!value || typeof value !== 'object')
69
+ return false;
70
+ const v = value;
71
+ if (v[MATTERBRIDGE_ENDPOINT_BRAND] !== true)
72
+ return false;
73
+ if (!(v instanceof MatterbridgeEndpoint))
74
+ return false;
75
+ return true;
76
+ }
77
+ export function assertMatterbridgeEndpoint(value, context) {
78
+ if (isMatterbridgeEndpoint(value))
79
+ return;
80
+ throw new TypeError(`Invalid MatterbridgeEndpoint received${context ? ` in ${context}` : ''}`);
81
+ }
66
82
  export class MatterbridgeEndpoint extends Endpoint {
67
83
  static logLevel = "info";
68
84
  mode = undefined;
@@ -34,6 +34,8 @@ export type PlatformMatterbridge = {
34
34
  readonly aggregatorProductId: number;
35
35
  readonly aggregatorProductName: string;
36
36
  };
37
+ export declare function isMatterbridgePlatform(value: unknown): value is MatterbridgePlatform;
38
+ export declare function assertMatterbridgePlatform(value: unknown, context?: string): asserts value is MatterbridgePlatform;
37
39
  export declare class MatterbridgePlatform {
38
40
  #private;
39
41
  readonly matterbridge: PlatformMatterbridge;
@@ -9,6 +9,22 @@ import { hasParameter, isValidArray, isValidObject, isValidString } from '@matte
9
9
  import { checkNotLatinCharacters } from './matterbridgeEndpointHelpers.js';
10
10
  import { bridgedNode } from './matterbridgeDeviceTypes.js';
11
11
  import { BroadcastServer } from './broadcastServer.js';
12
+ const MATTERBRIDGE_PLATFORM_BRAND = Symbol('MatterbridgePlatform.brand');
13
+ export function isMatterbridgePlatform(value) {
14
+ if (!value || typeof value !== 'object')
15
+ return false;
16
+ const v = value;
17
+ if (v[MATTERBRIDGE_PLATFORM_BRAND] !== true)
18
+ return false;
19
+ if (!(v instanceof MatterbridgePlatform))
20
+ return false;
21
+ return true;
22
+ }
23
+ export function assertMatterbridgePlatform(value, context) {
24
+ if (isMatterbridgePlatform(value))
25
+ return;
26
+ throw new TypeError(`Invalid MatterbridgePlatform received${context ? ` in ${context}` : ''}`);
27
+ }
12
28
  export class MatterbridgePlatform {
13
29
  matterbridge;
14
30
  log;
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "matterbridge",
3
- "version": "3.5.1-dev-20260123-6474162",
3
+ "version": "3.5.1-dev-20260123-5dec313",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "matterbridge",
9
- "version": "3.5.1-dev-20260123-6474162",
9
+ "version": "3.5.1-dev-20260123-5dec313",
10
10
  "license": "Apache-2.0",
11
11
  "dependencies": {
12
12
  "@matter/main": "0.16.7",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "matterbridge",
3
- "version": "3.5.1-dev-20260123-6474162",
3
+ "version": "3.5.1-dev-20260123-5dec313",
4
4
  "description": "Matterbridge plugin manager for Matter",
5
5
  "author": "https://github.com/Luligu",
6
6
  "license": "Apache-2.0",
@@ -118,8 +118,8 @@
118
118
  "ws": "8.19.0"
119
119
  },
120
120
  "build": {
121
- "sha": "647416284621cbf73d39db36c2396309f83cb3e4",
122
- "sha7": "6474162",
121
+ "sha": "5dec31383c731ab2e1ca69c70fa3af7961297505",
122
+ "sha7": "5dec313",
123
123
  "event": "workflow_dispatch",
124
124
  "workflow": "Daily Dev Publish to npm",
125
125
  "type": "branch",