matterbridge-zigbee2mqtt 3.0.2-dev-20251202-1eb8ad8 → 3.0.2
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 +2 -2
- package/dist/entity.js +7 -18
- package/matterbridge-zigbee2mqtt.schema.json +1 -1
- package/npm-shrinkwrap.json +2 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -12,7 +12,7 @@ If you like this project and find it useful, please consider giving it a star on
|
|
|
12
12
|
|
|
13
13
|
- [scenes]: Added await for creation.
|
|
14
14
|
- [mqtt]: Added config for a fixed clientId. If not provided, a random clientId will be generated. (https://github.com/Luligu/matterbridge-zigbee2mqtt/issues/138)
|
|
15
|
-
- [mqtt]: Added Unix socket: use unix://<SOCKET_PATH> for Unix socket (e.g. unix:///var/run/mqtt.sock). (https://github.com/Luligu/matterbridge-zigbee2mqtt/issues/133)
|
|
15
|
+
- [mqtt]: Added Unix socket support on Linux: use unix://<SOCKET_PATH> for Unix socket (e.g. unix:///var/run/mqtt.sock). (https://github.com/Luligu/matterbridge-zigbee2mqtt/issues/133)
|
|
16
16
|
- [zigbee2mqtt]: Added frontend package detection. With the new windfront, link or bookmarks to the specific device page are not possible. (https://github.com/Luligu/matterbridge-zigbee2mqtt/issues/136)
|
|
17
17
|
|
|
18
18
|
### Changed
|
|
@@ -26,7 +26,7 @@ If you like this project and find it useful, please consider giving it a star on
|
|
|
26
26
|
|
|
27
27
|
### Fixed
|
|
28
28
|
|
|
29
|
-
- [cover]: Fixed wrong update with motor reversed.
|
|
29
|
+
- [cover]: Fixed wrong update with motor reversed. Zigbee2MQTT cover: 0 = fully closed, 100 = fully open (with invert_cover = false). Use invert_cover configuration on zigbee2mqtt if your cover has inverted position.
|
|
30
30
|
|
|
31
31
|
<a href="https://www.buymeacoffee.com/luligugithub"><img src="https://matterbridge.io/bmc-button.svg" alt="Buy me a coffee" width="80"></a>
|
|
32
32
|
|
package/dist/entity.js
CHANGED
|
@@ -1334,26 +1334,20 @@ export class ZigbeeDevice extends ZigbeeEntity {
|
|
|
1334
1334
|
}
|
|
1335
1335
|
if (zigbeeDevice.bridgedDevice.hasClusterServer(WindowCoveringCluster.id)) {
|
|
1336
1336
|
zigbeeDevice.bridgedDevice.addCommandHandler('upOrOpen', async () => {
|
|
1337
|
-
const reversed = zigbeeDevice.isCoverReversed();
|
|
1338
|
-
if (reversed)
|
|
1339
|
-
zigbeeDevice.log.debug(`Device ${zigbeeDevice.ien}${device.friendly_name}${rs}${db} has reversed motor direction. Commands will be reversed.`);
|
|
1340
1337
|
zigbeeDevice.log.debug(`Command upOrOpen called for ${zigbeeDevice.ien}${device.friendly_name}${rs}${db}`);
|
|
1341
1338
|
if (zigbeeDevice.propertyMap.has('position'))
|
|
1342
|
-
await zigbeeDevice.bridgedDevice?.setAttribute(WindowCoveringCluster.id, 'targetPositionLiftPercent100ths',
|
|
1339
|
+
await zigbeeDevice.bridgedDevice?.setAttribute(WindowCoveringCluster.id, 'targetPositionLiftPercent100ths', 0, zigbeeDevice.log);
|
|
1343
1340
|
else
|
|
1344
|
-
await zigbeeDevice.bridgedDevice?.setWindowCoveringTargetAndCurrentPosition(
|
|
1345
|
-
zigbeeDevice.publishCommand('upOrOpen', device.friendly_name, { state:
|
|
1341
|
+
await zigbeeDevice.bridgedDevice?.setWindowCoveringTargetAndCurrentPosition(0);
|
|
1342
|
+
zigbeeDevice.publishCommand('upOrOpen', device.friendly_name, { state: 'OPEN' });
|
|
1346
1343
|
});
|
|
1347
1344
|
zigbeeDevice.bridgedDevice.addCommandHandler('downOrClose', async () => {
|
|
1348
|
-
const reversed = zigbeeDevice.isCoverReversed();
|
|
1349
|
-
if (reversed)
|
|
1350
|
-
zigbeeDevice.log.debug(`Device ${zigbeeDevice.ien}${device.friendly_name}${rs}${db} has reversed motor direction. Commands will be reversed.`);
|
|
1351
1345
|
zigbeeDevice.log.debug(`Command downOrClose called for ${zigbeeDevice.ien}${device.friendly_name}${rs}${db}`);
|
|
1352
1346
|
if (zigbeeDevice.propertyMap.has('position'))
|
|
1353
|
-
await zigbeeDevice.bridgedDevice?.setAttribute(WindowCoveringCluster.id, 'targetPositionLiftPercent100ths',
|
|
1347
|
+
await zigbeeDevice.bridgedDevice?.setAttribute(WindowCoveringCluster.id, 'targetPositionLiftPercent100ths', 10000, zigbeeDevice.log);
|
|
1354
1348
|
else
|
|
1355
|
-
await zigbeeDevice.bridgedDevice?.setWindowCoveringTargetAndCurrentPosition(
|
|
1356
|
-
zigbeeDevice.publishCommand('downOrClose', device.friendly_name, { state:
|
|
1349
|
+
await zigbeeDevice.bridgedDevice?.setWindowCoveringTargetAndCurrentPosition(10000);
|
|
1350
|
+
zigbeeDevice.publishCommand('downOrClose', device.friendly_name, { state: 'CLOSE' });
|
|
1357
1351
|
});
|
|
1358
1352
|
zigbeeDevice.bridgedDevice.addCommandHandler('stopMotion', async () => {
|
|
1359
1353
|
zigbeeDevice.log.debug(`Command stopMotion called for ${zigbeeDevice.ien}${device.friendly_name}${rs}${db}`);
|
|
@@ -1361,17 +1355,12 @@ export class ZigbeeDevice extends ZigbeeEntity {
|
|
|
1361
1355
|
zigbeeDevice.publishCommand('stopMotion', device.friendly_name, { state: 'STOP' });
|
|
1362
1356
|
});
|
|
1363
1357
|
zigbeeDevice.bridgedDevice.addCommandHandler('goToLiftPercentage', async ({ request: { liftPercent100thsValue } }) => {
|
|
1364
|
-
const reversed = zigbeeDevice.isCoverReversed();
|
|
1365
|
-
if (reversed)
|
|
1366
|
-
zigbeeDevice.log.debug(`Device ${zigbeeDevice.ien}${device.friendly_name}${rs}${db} has reversed motor direction. Commands will be reversed.`);
|
|
1367
|
-
if (reversed)
|
|
1368
|
-
liftPercent100thsValue = 10000 - liftPercent100thsValue;
|
|
1369
1358
|
zigbeeDevice.log.debug(`Command goToLiftPercentage called for ${zigbeeDevice.ien}${device.friendly_name}${rs}${db} request liftPercent100thsValue: ${liftPercent100thsValue}`);
|
|
1370
1359
|
if (zigbeeDevice.propertyMap.has('position'))
|
|
1371
1360
|
await zigbeeDevice.bridgedDevice?.setAttribute(WindowCoveringCluster.id, 'targetPositionLiftPercent100ths', liftPercent100thsValue, zigbeeDevice.log);
|
|
1372
1361
|
else
|
|
1373
1362
|
await zigbeeDevice.bridgedDevice?.setWindowCoveringTargetAndCurrentPosition(liftPercent100thsValue);
|
|
1374
|
-
zigbeeDevice.publishCommand('goToLiftPercentage', device.friendly_name, { position: liftPercent100thsValue / 100 });
|
|
1363
|
+
zigbeeDevice.publishCommand('goToLiftPercentage', device.friendly_name, { position: (10000 - liftPercent100thsValue) / 100 });
|
|
1375
1364
|
});
|
|
1376
1365
|
}
|
|
1377
1366
|
if (zigbeeDevice.bridgedDevice.hasClusterServer(DoorLockCluster.id)) {
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"ui:widget": "hidden"
|
|
18
18
|
},
|
|
19
19
|
"host": {
|
|
20
|
-
"description": "MQTT server host (IP address or hostname with mqtt:// or mqtts:// prefix) or unix://<SOCKET_PATH> for Unix socket (e.g. unix:///var/run/mqtt.sock). For secure connections, use the mqtts:// prefix and ensure your certificates are configured. If you use a hostname, make sure that the hostname is resolvable by the system running matterbridge.",
|
|
20
|
+
"description": "MQTT server host (IP address or hostname with mqtt:// or mqtts:// prefix) or unix://<SOCKET_PATH> for Unix socket on Linux (e.g. unix:///var/run/mqtt.sock). For secure connections, use the mqtts:// prefix and ensure your certificates are configured. If you use a hostname, make sure that the hostname is resolvable by the system running matterbridge.",
|
|
21
21
|
"type": "string",
|
|
22
22
|
"default": "mqtt://localhost"
|
|
23
23
|
},
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "matterbridge-zigbee2mqtt",
|
|
3
|
-
"version": "3.0.2
|
|
3
|
+
"version": "3.0.2",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "matterbridge-zigbee2mqtt",
|
|
9
|
-
"version": "3.0.2
|
|
9
|
+
"version": "3.0.2",
|
|
10
10
|
"license": "Apache-2.0",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"moment": "2.30.1",
|