matterbridge-iotas 1.1.2 → 1.1.3
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 +12 -0
- package/dist/src/devices/lights.js +2 -1
- package/dist/src/devices/lights.js.map +1 -1
- package/dist/src/devices/lock.js +3 -3
- package/dist/src/devices/lock.js.map +1 -1
- package/dist/src/devices/thermostat.js +4 -4
- package/dist/src/devices/thermostat.js.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [1.1.3](https://github.com/mezaugusto/matterbridge-iotas/compare/v1.0.2...v1.1.3) (2026-04-12)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* :bug: Fix dimmer lights not showing ([#10](https://github.com/mezaugusto/matterbridge-iotas/issues/10)) ([ea56bd7](https://github.com/mezaugusto/matterbridge-iotas/commit/ea56bd7641edd71d119779ad5d32bd66eeb8eb5b))
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Miscellaneous Chores
|
|
12
|
+
|
|
13
|
+
* release 1.1.3 ([#12](https://github.com/mezaugusto/matterbridge-iotas/issues/12)) Release-As: 1.1.3 ([6a15143](https://github.com/mezaugusto/matterbridge-iotas/commit/6a15143b05f92e5475dfa0e8ccf3b33c3a388dc1))
|
|
14
|
+
|
|
3
15
|
## [1.0.2](https://github.com/mezaugusto/matterbridge-iotas/compare/v1.0.1...v1.0.2) (2026-04-12)
|
|
4
16
|
|
|
5
17
|
|
|
@@ -59,7 +59,8 @@ export function createDimmableLight(device, ctx) {
|
|
|
59
59
|
ctx.log.warn(`Device ${device.name} missing Level feature for dimmable light`);
|
|
60
60
|
return null;
|
|
61
61
|
}
|
|
62
|
-
|
|
62
|
+
// Matter LevelControl minLevel defaults to 1; clamp initial value to avoid constraint violation
|
|
63
|
+
const level = Math.max(toMatterLevel(levelFeature.value ?? 0), 1);
|
|
63
64
|
if (onOffFeature) {
|
|
64
65
|
return createStandardDimmableLight(device, ctx, onOffFeature, levelFeature, level);
|
|
65
66
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lights.js","sourceRoot":"","sources":["../../../src/devices/lights.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"lights.js","sourceRoot":"","sources":["../../../src/devices/lights.ts"],"names":[],"mappings":"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"}
|
package/dist/src/devices/lock.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { doorLockDevice } from 'matterbridge';
|
|
2
2
|
import { DoorLock, PowerSource } from 'matterbridge/matter/clusters';
|
|
3
|
-
import { FeatureCategory, findFeatureByCategory } from 'iotas-ts';
|
|
3
|
+
import { FeatureCategory, findFeatureByCategory, LOW_BATTERY_THRESHOLD } from 'iotas-ts';
|
|
4
4
|
import { bridgedNode, createBridgedEndpoint, multiFeatureResult, requireFeature } from './helpers.js';
|
|
5
5
|
export function createDoorLock(device, ctx) {
|
|
6
6
|
const lockFeature = requireFeature(device, FeatureCategory.Lock, ctx, 'door lock');
|
|
@@ -32,11 +32,11 @@ export function createDoorLock(device, ctx) {
|
|
|
32
32
|
if (batteryFeature) {
|
|
33
33
|
const batteryPercent = Math.min(Math.round(batteryFeature.value ?? 0), 100);
|
|
34
34
|
const matterPercent = batteryPercent * 2; // Matter uses 0-200 (0.5% steps)
|
|
35
|
-
endpoint.createDefaultPowerSourceReplaceableBatteryClusterServer(matterPercent, batteryPercent <
|
|
35
|
+
endpoint.createDefaultPowerSourceReplaceableBatteryClusterServer(matterPercent, batteryPercent < LOW_BATTERY_THRESHOLD ? PowerSource.BatChargeLevel.Critical : PowerSource.BatChargeLevel.Ok, batteryPercent * 30, 'CR123A', 1, PowerSource.BatReplaceability.UserReplaceable);
|
|
36
36
|
handlers.set(batteryFeature.id, (value) => {
|
|
37
37
|
const percent = Math.min(Math.round(value), 100);
|
|
38
38
|
endpoint.setAttribute(PowerSource.Cluster.id, 'batPercentRemaining', percent * 2);
|
|
39
|
-
endpoint.setAttribute(PowerSource.Cluster.id, 'batChargeLevel', percent <
|
|
39
|
+
endpoint.setAttribute(PowerSource.Cluster.id, 'batChargeLevel', percent < LOW_BATTERY_THRESHOLD ? PowerSource.BatChargeLevel.Critical : PowerSource.BatChargeLevel.Ok);
|
|
40
40
|
});
|
|
41
41
|
}
|
|
42
42
|
return multiFeatureResult(endpoint, handlers);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lock.js","sourceRoot":"","sources":["../../../src/devices/lock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAErE,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAe,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"lock.js","sourceRoot":"","sources":["../../../src/devices/lock.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { thermostatDevice } from 'matterbridge';
|
|
2
2
|
import { Thermostat } from 'matterbridge/matter/clusters';
|
|
3
|
-
import { FeatureCategory, ThermostatMode, findFeatureByCategory } from 'iotas-ts';
|
|
3
|
+
import { FeatureCategory, ThermostatMode, findFeatureByCategory, DEFAULT_CURRENT_TEMPERATURE_F, DEFAULT_HEAT_SETPOINT_F, DEFAULT_COOL_SETPOINT_F, } from 'iotas-ts';
|
|
4
4
|
import { bridgedNode, createBridgedEndpoint, fromMatterCentiCelsius, multiFeatureResult, requireFeature, toCelsius, toMatterCentiCelsius, } from './helpers.js';
|
|
5
5
|
/**
|
|
6
6
|
* Map IOTAS thermostat mode values to Matter SystemMode.
|
|
@@ -43,9 +43,9 @@ export function createThermostat(device, ctx) {
|
|
|
43
43
|
if (!tempFeature) {
|
|
44
44
|
return null;
|
|
45
45
|
}
|
|
46
|
-
const currentTempC = toCelsius(tempFeature.value ??
|
|
47
|
-
const heatSetpointC = toCelsius(heatSetpointFeature?.value ??
|
|
48
|
-
const coolSetpointC = toCelsius(coolSetpointFeature?.value ??
|
|
46
|
+
const currentTempC = toCelsius(tempFeature.value ?? DEFAULT_CURRENT_TEMPERATURE_F);
|
|
47
|
+
const heatSetpointC = toCelsius(heatSetpointFeature?.value ?? DEFAULT_HEAT_SETPOINT_F);
|
|
48
|
+
const coolSetpointC = toCelsius(coolSetpointFeature?.value ?? DEFAULT_COOL_SETPOINT_F);
|
|
49
49
|
const endpoint = createBridgedEndpoint([thermostatDevice, bridgedNode], device, ctx)
|
|
50
50
|
.createDefaultThermostatClusterServer(currentTempC, heatSetpointC, coolSetpointC)
|
|
51
51
|
.addRequiredClusterServers();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thermostat.js","sourceRoot":"","sources":["../../../src/devices/thermostat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAE1D,OAAO,
|
|
1
|
+
{"version":3,"file":"thermostat.js","sourceRoot":"","sources":["../../../src/devices/thermostat.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "matterbridge-iotas",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.3",
|
|
4
4
|
"description": "Matterbridge plugin for IOTAS smart home devices",
|
|
5
5
|
"author": "Augusto Meza <mezaugusto@proton.me>",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
"printWidth": 120
|
|
55
55
|
},
|
|
56
56
|
"dependencies": {
|
|
57
|
-
"iotas-ts": "^1.
|
|
57
|
+
"iotas-ts": "^1.2.0"
|
|
58
58
|
},
|
|
59
59
|
"devDependencies": {
|
|
60
60
|
"@eslint/js": "^9.0.0",
|