matterbridge-zigbee2mqtt 2.0.9 → 2.0.11
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 +22 -0
- package/README.md +36 -4
- package/dist/entity.d.ts +8 -4
- package/dist/entity.d.ts.map +1 -1
- package/dist/entity.js +166 -118
- package/dist/entity.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/payloadTypes.d.ts +1 -1
- package/dist/payloadTypes.d.ts.map +1 -1
- package/dist/platform.d.ts +17 -3
- package/dist/platform.d.ts.map +1 -1
- package/dist/platform.js +141 -29
- package/dist/platform.js.map +1 -1
- package/dist/utils.d.ts +9 -1
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +53 -1
- package/dist/utils.js.map +1 -1
- package/dist/zigbee2mqtt.d.ts +9 -1
- package/dist/zigbee2mqtt.d.ts.map +1 -1
- package/dist/zigbee2mqtt.js +161 -17
- package/dist/zigbee2mqtt.js.map +1 -1
- package/package.json +8 -4
package/CHANGELOG.md
CHANGED
|
@@ -2,8 +2,30 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
|
|
5
|
+
## [2.0.11] - 2024-04-26
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
|
|
9
|
+
- [mqtt]: Added handles for device_joined, device_announce, device_leave, device_remove, device_interview, device_rename.
|
|
10
|
+
- [exposes]: Added deviceFeatureBlackList to the config to exclude a feature on a device level (See the config section for guidelines on how to use it).
|
|
11
|
+
- [mqtt]: Incoming messages are filtered by featureBlackList and deviceFeatureBlackList (if only blacklisted features change, the message is not processed). If present, the features included in featureBlackList and deviceFeatureBlackList are also removed from the payload.
|
|
12
|
+
- [routers] Added the SMLIGHT routers (with router firmware) to the router list. They are exposed like DoorLock so it is possible, like for the Coordinator and the Texas instruments router, to ask Siri to turn on/off permit join.
|
|
13
|
+
|
|
14
|
+
## [2.0.10] - 2024-04-22
|
|
15
|
+
|
|
16
|
+
### Added
|
|
17
|
+
|
|
18
|
+
- [z2m]: Added a check for not changed mqtt messages.
|
|
19
|
+
- [extension]: Finalized implementation of zigbee2MQTT internal extension v. 1.0.0.
|
|
20
|
+
|
|
21
|
+
### Changed
|
|
22
|
+
|
|
23
|
+
- [z2m]: Changed vendorName and productName with the values from device definition if present.
|
|
24
|
+
|
|
5
25
|
## [2.0.9] - 2024-04-19
|
|
6
26
|
|
|
27
|
+
### Added
|
|
28
|
+
|
|
7
29
|
- [extension]: Implementation of zigbee2MQTT internal extension.
|
|
8
30
|
|
|
9
31
|
## [2.0.8] - 2024-04-16
|
package/README.md
CHANGED
|
@@ -101,7 +101,9 @@ If any device creates issues put it in the blackList.
|
|
|
101
101
|
|
|
102
102
|
The switchList, lightList and outletList are used if you want to expose the z2m device like switch, light or outlet.
|
|
103
103
|
|
|
104
|
-
The featureBlackList allows to blacklist a z2m feature if you don't want to expose it (e.g. device_temperature).
|
|
104
|
+
The featureBlackList allows to globally (for all devices) blacklist a z2m feature if you don't want to expose it (e.g. device_temperature).
|
|
105
|
+
|
|
106
|
+
The deviceFeatureBlackList allows to blacklist a z2m feature for a single device if you don't want to expose it (e.g. temperature for a motion sensor).
|
|
105
107
|
|
|
106
108
|
The unregisterOnShutdown option allows to remove from the bridge all z2m devices when you shut down Matterbridge.
|
|
107
109
|
|
|
@@ -122,11 +124,35 @@ These are the default vules:
|
|
|
122
124
|
"switchList": [],
|
|
123
125
|
"lightList": [],
|
|
124
126
|
"outletList": [],
|
|
125
|
-
"featureBlackList": []
|
|
127
|
+
"featureBlackList": [],
|
|
128
|
+
"deviceFeatureBlackList": {}
|
|
129
|
+
}
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
If you want to exclude "device_temperature" for all the devices, add to the config
|
|
133
|
+
```
|
|
134
|
+
{
|
|
135
|
+
...
|
|
136
|
+
"featureBlackList": ["device_temperature"]
|
|
137
|
+
...
|
|
138
|
+
}
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
If you want to exclude "temperature" and "humidity" for the device "My motion sensor" and
|
|
142
|
+
"device_temperature" only for the device "My climate sensor", add to the config
|
|
143
|
+
```
|
|
144
|
+
{
|
|
145
|
+
...
|
|
146
|
+
"deviceFeatureBlackList": {
|
|
147
|
+
"My motion sensor": ["temperature", "humidity"],
|
|
148
|
+
"My climate sensor": ["device_temperature"]
|
|
149
|
+
}
|
|
150
|
+
...
|
|
126
151
|
}
|
|
127
152
|
```
|
|
128
153
|
|
|
129
|
-
|
|
154
|
+
|
|
155
|
+
You can edit the config file (shutdown Matterbridge before):
|
|
130
156
|
|
|
131
157
|
On windows:
|
|
132
158
|
```
|
|
@@ -151,6 +177,7 @@ The latest release also supports all clusters in the multi endpoints devices (e.
|
|
|
151
177
|
Since the Matter support in the available ecosystems (controllers) is very limited and, when available, only covers Matter 1.1 specifications, some z2m devices cannot be exposed properly or cannot be exposed at all.
|
|
152
178
|
|
|
153
179
|
We discoverd that Matter support in Home Assistant is instead advanced and includes some clusters not supported by other ecosystems. These clusters like EveHistory have been added so with HA you can see Voltage, Current, Consumption and TotalConsumption (screenshot https://github.com/Luligu/matterbridge/blob/main/screenshot/Screenshot%20HA%20sm-dc-power-m.png).
|
|
180
|
+
|
|
154
181
|
## Unsupported devices
|
|
155
182
|
|
|
156
183
|
If one of your devices is not supported out of the box, open an issue and we will try to support it if possible.
|
|
@@ -159,10 +186,15 @@ If one of your devices is not supported out of the box, open an issue and we wil
|
|
|
159
186
|
|
|
160
187
|
## Conversion issues between zigbee2MQTT and Matter ecosystems
|
|
161
188
|
|
|
189
|
+
- Scene buttons are exposed correctly only when they send "single", "double" and "hold" actions (this is due to the Home app supporting only these 3 events.) In the next releases the scene buttons with more actions will be mapped to different endpoints like in my plugin homebridge-mqtt-accessories.
|
|
190
|
+
|
|
162
191
|
## Apple Home issues
|
|
163
192
|
|
|
193
|
+
The HomePods, being a WiFi devices, create some message trasmission errors sometimes. The Apple TV with network cable is more reliable (but also more expensive).
|
|
194
|
+
|
|
164
195
|
### DoorLock
|
|
165
|
-
|
|
196
|
+
|
|
197
|
+
The DoorLock cluster in the Home app takes a while to get online. The Home app shows no response for 1 or 2 seconds but then the accessory goes online. With the Eve app or the Controller app this issue is not present.
|
|
166
198
|
|
|
167
199
|
## Home Assistant issues (Matter Server for HA is still in Beta)
|
|
168
200
|
|
package/dist/entity.d.ts
CHANGED
|
@@ -25,22 +25,25 @@ import { DeviceTypeDefinition, MatterbridgeDevice, ClusterId, Endpoint, AtLeastO
|
|
|
25
25
|
import { AnsiLogger } from 'node-ansi-logger';
|
|
26
26
|
import { ZigbeePlatform } from './platform.js';
|
|
27
27
|
import { BridgeDevice, BridgeGroup } from './zigbee2mqttTypes.js';
|
|
28
|
-
import { Payload } from './payloadTypes.js';
|
|
28
|
+
import { Payload, PayloadValue } from './payloadTypes.js';
|
|
29
29
|
import EventEmitter from 'events';
|
|
30
30
|
export declare class ZigbeeEntity extends EventEmitter {
|
|
31
31
|
log: AnsiLogger;
|
|
32
32
|
protected platform: ZigbeePlatform;
|
|
33
33
|
device: BridgeDevice | undefined;
|
|
34
34
|
group: BridgeGroup | undefined;
|
|
35
|
-
|
|
35
|
+
entityName: string;
|
|
36
36
|
isDevice: boolean;
|
|
37
37
|
isGroup: boolean;
|
|
38
38
|
protected en: string;
|
|
39
39
|
protected ien: string;
|
|
40
40
|
bridgedDevice: BridgedBaseDevice | undefined;
|
|
41
41
|
eidn: string;
|
|
42
|
+
private lastPayload;
|
|
43
|
+
private lastSeen;
|
|
44
|
+
protected ignoreFeatures: string[];
|
|
42
45
|
constructor(platform: ZigbeePlatform, entity: BridgeDevice | BridgeGroup);
|
|
43
|
-
protected updateAttributeIfChanged(endpoint: Endpoint, endpointName: string | undefined, clusterId: number, attributeName: string, value:
|
|
46
|
+
protected updateAttributeIfChanged(endpoint: Endpoint, endpointName: string | undefined, clusterId: number, attributeName: string, value: PayloadValue, lookup?: string[]): void;
|
|
44
47
|
protected publishCommand(command: string, entityName: string, payload: Payload): void;
|
|
45
48
|
}
|
|
46
49
|
export declare class ZigbeeGroup extends ZigbeeEntity {
|
|
@@ -54,6 +57,7 @@ export interface ZigbeeToMatter {
|
|
|
54
57
|
cluster: number;
|
|
55
58
|
attribute: string;
|
|
56
59
|
converter?: (value: any) => any;
|
|
60
|
+
valueLookup?: string[];
|
|
57
61
|
}
|
|
58
62
|
export declare const z2ms: ZigbeeToMatter[];
|
|
59
63
|
export declare class ZigbeeDevice extends ZigbeeEntity {
|
|
@@ -89,7 +93,7 @@ export declare class BridgedBaseDevice extends MatterbridgeDevice {
|
|
|
89
93
|
*/
|
|
90
94
|
protected addDeviceClusterClient(includeClientList?: ClusterId[]): void;
|
|
91
95
|
addDeviceTypeAndClusterServer(deviceType: DeviceTypeDefinition | undefined, serverList: ClusterId[]): void;
|
|
92
|
-
addChildDeviceTypeAndClusterServer(endpointName: string,
|
|
96
|
+
addChildDeviceTypeAndClusterServer(endpointName: string, deviceType: DeviceTypeDefinition | undefined, includeServerList: ClusterId[]): Endpoint;
|
|
93
97
|
getChildPayload(endpointNumber: EndpointNumber | undefined, key: string, value: string): Payload;
|
|
94
98
|
configure(): void;
|
|
95
99
|
}
|
package/dist/entity.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../src/entity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;;AAEH,OAAO,EAEL,oBAAoB,
|
|
1
|
+
{"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../src/entity.ts"],"names":[],"mappings":"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"}
|