homebridge-plugin-klares4 2.1.2 → 2.1.3-rc.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"matter-device-mapper.d.ts","sourceRoot":"","sources":["../../src/platform/matter-device-mapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,KAAK,EAER,YAAY,EAKZ,gBAAgB,EAEnB,MAAM,UAAU,CAAC;AAElB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,0BAA0B,EAAE,0BAA0B,EAAkE,MAAM,4BAA4B,CAAC;AAGpK,OAAO,EAAE,0BAA0B,IAAI,cAAc,EAAE,CAAC;AACxD,OAAO,EAAE,0BAA0B,EAAE,CAAC;AACtC,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAErD;AAGD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAOrF;AAID,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAG1D;AAED,UAAU,UAAU;IAChB,GAAG,EAAE,GAAG,CAAC;IACT,GAAG,EAAE,OAAO,YAAY,EAAE,MAAM,CAAC;IACjC,WAAW,EAAE,MAAM,qBAAqB,GAAG,SAAS,CAAC;IACrD,yFAAyF;IACzF,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAwHD;;;;GAIG;AACH,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,gBAAgB,EAAE,IAAI,EAAE,UAAU,GAAG,eAAe,CAY5G;AA2GD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,GAAG,eAAe,GAAG,SAAS,CAmB3G"}
1
+ {"version":3,"file":"matter-device-mapper.d.ts","sourceRoot":"","sources":["../../src/platform/matter-device-mapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,KAAK,EAER,YAAY,EAKZ,gBAAgB,EAEnB,MAAM,UAAU,CAAC;AAElB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EACH,0BAA0B,EAAE,0BAA0B,EAIzD,MAAM,4BAA4B,CAAC;AAMpC,OAAO,EAAE,0BAA0B,IAAI,cAAc,EAAE,CAAC;AACxD,OAAO,EAAE,0BAA0B,EAAE,CAAC;AACtC,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAErD;AAGD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAOrF;AAID,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAG1D;AAED,UAAU,UAAU;IAChB,GAAG,EAAE,GAAG,CAAC;IACT,GAAG,EAAE,OAAO,YAAY,EAAE,MAAM,CAAC;IACjC,WAAW,EAAE,MAAM,qBAAqB,GAAG,SAAS,CAAC;IACrD,yFAAyF;IACzF,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAuJD;;;;GAIG;AACH,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,gBAAgB,EAAE,IAAI,EAAE,UAAU,GAAG,eAAe,CAY5G;AA2GD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,GAAG,eAAe,GAAG,SAAS,CAmB3G"}
@@ -10,6 +10,8 @@ const plugin_version_1 = require("../plugin-version");
10
10
  const matter_thermostat_mapper_1 = require("./matter-thermostat-mapper");
11
11
  Object.defineProperty(exports, "buildThermostatMatterState", { enumerable: true, get: function () { return matter_thermostat_mapper_1.buildThermostatMatterState; } });
12
12
  Object.defineProperty(exports, "toCentidegrees", { enumerable: true, get: function () { return matter_thermostat_mapper_1.toMatterTemperatureCelsius; } });
13
+ const matter_name_sanitizer_1 = require("./matter-name-sanitizer");
14
+ const matterNameRegistry = new matter_name_sanitizer_1.MatterNameRegistry();
13
15
  function clampCentidegrees(val) {
14
16
  return (0, matter_thermostat_mapper_1.clampMatterTemperature)(val, matter_thermostat_mapper_1.TEMP_ABS_MIN_CENTI, matter_thermostat_mapper_1.TEMP_ABS_MAX_CENTI);
15
17
  }
@@ -39,10 +41,13 @@ function scheduleMomentaryAutoOff(uuid, deps) {
39
41
  });
40
42
  }, delay);
41
43
  }
42
- function baseFields(device) {
44
+ function baseFields(device, log) {
45
+ const sanitized = matterNameRegistry.resolve(device.id, (0, matter_name_sanitizer_1.sanitizeMatterAccessoryName)(device.name, device.id));
46
+ if (log && sanitized !== device.name)
47
+ log.debug(`[Matter] Accessory name sanitized: "${device.name}" -> "${sanitized}"`);
43
48
  return {
44
49
  UUID: device.id,
45
- displayName: device.name,
50
+ displayName: sanitized,
46
51
  serialNumber: device.id,
47
52
  manufacturer: 'Ksenia',
48
53
  model: `Lares4 ${device.type}`,
@@ -82,7 +87,7 @@ function mapLight(device, deps) {
82
87
  };
83
88
  }
84
89
  return {
85
- ...baseFields(device),
90
+ ...baseFields(device, deps.log),
86
91
  deviceType: isDimmable
87
92
  ? api.matter.deviceTypes.DimmableLight
88
93
  : api.matter.deviceTypes.OnOffLight,
@@ -96,7 +101,7 @@ function mapCover(device, deps) {
96
101
  // Lares4: 0=closed, 100=open. Matter: 0=open (0%), 10000=closed (100%).
97
102
  const matterPos = Math.round((100 - pos) * 100);
98
103
  return {
99
- ...baseFields(device),
104
+ ...baseFields(device, deps.log),
100
105
  deviceType: api.matter.deviceTypes.WindowCovering,
101
106
  clusters: {
102
107
  windowCovering: {
@@ -116,10 +121,11 @@ function mapCover(device, deps) {
116
121
  };
117
122
  }
118
123
  function mapThermostat(device, deps) {
119
- const { api, getWsClient } = deps;
124
+ const { api, log, getWsClient } = deps;
120
125
  const { base, schemaInvariants } = (0, matter_thermostat_mapper_1.buildThermostatMatterState)(device);
126
+ const supportsCooling = (0, matter_thermostat_mapper_1.thermostatSupportsCooling)(device);
121
127
  return {
122
- ...baseFields(device),
128
+ ...baseFields(device, log),
123
129
  deviceType: api.matter.deviceTypes.Thermostat,
124
130
  clusters: {
125
131
  thermostat: { ...base, ...schemaInvariants },
@@ -128,8 +134,36 @@ function mapThermostat(device, deps) {
128
134
  thermostat: {
129
135
  setpointRaiseLower: async (args) => {
130
136
  const delta = args.amount / 10;
131
- const newTarget = (device.targetTemperature ?? 21) + delta;
132
- await getWsClient()?.setThermostatTemperature(device.id, newTarget);
137
+ const raw = (device.targetTemperature ?? 21) + delta;
138
+ const { value, clamped } = (0, matter_thermostat_mapper_1.normalizeMatterSetpointC)(raw * 100, matter_thermostat_mapper_1.DEFAULT_MIN_HEAT_C, matter_thermostat_mapper_1.DEFAULT_MAX_HEAT_C);
139
+ if (clamped)
140
+ log.debug(`[Matter] ${device.name} setpoint clamped: ${raw} -> ${value}`);
141
+ await getWsClient()?.setThermostatTemperature(device.id, value);
142
+ },
143
+ occupiedHeatingSetpointChange: async (args) => {
144
+ const { value, clamped } = (0, matter_thermostat_mapper_1.normalizeMatterSetpointC)(args.occupiedHeatingSetpoint, matter_thermostat_mapper_1.DEFAULT_MIN_HEAT_C, matter_thermostat_mapper_1.DEFAULT_MAX_HEAT_C);
145
+ if (clamped)
146
+ log.debug(`[Matter] ${device.name} heating setpoint clamped: ${args.occupiedHeatingSetpoint / 100} -> ${value}`);
147
+ await getWsClient()?.setThermostatTemperature(device.id, value);
148
+ },
149
+ occupiedCoolingSetpointChange: async (args) => {
150
+ if (!supportsCooling) {
151
+ log.warn(`[Matter] ${device.name}: cooling setpoint change ignored (device does not support cooling)`);
152
+ return;
153
+ }
154
+ const { value, clamped } = (0, matter_thermostat_mapper_1.normalizeMatterSetpointC)(args.occupiedCoolingSetpoint, matter_thermostat_mapper_1.DEFAULT_MIN_COOL_C, matter_thermostat_mapper_1.DEFAULT_MAX_COOL_C);
155
+ if (clamped)
156
+ log.debug(`[Matter] ${device.name} cooling setpoint clamped: ${args.occupiedCoolingSetpoint / 100} -> ${value}`);
157
+ await getWsClient()?.setThermostatTemperature(device.id, value);
158
+ },
159
+ systemModeChange: async (args) => {
160
+ const klares4Mode = (0, matter_thermostat_mapper_1.matterSystemModeToKlares4Mode)(args.systemMode, supportsCooling);
161
+ if (klares4Mode === null) {
162
+ log.warn(`[Matter] ${device.name}: unsupported Matter systemMode ${args.systemMode} ignored`);
163
+ return;
164
+ }
165
+ log.debug(`[Matter] ${device.name} systemMode ${args.systemMode} -> ${klares4Mode}`);
166
+ await getWsClient()?.setThermostatMode(device.id, klares4Mode);
133
167
  },
134
168
  },
135
169
  },
@@ -144,7 +178,7 @@ function mapThermostatAsTemperatureSensor(device, deps) {
144
178
  const { api } = deps;
145
179
  const currentC = device.currentTemperature ?? 21;
146
180
  return {
147
- ...baseFields(device),
181
+ ...baseFields(device, deps.log),
148
182
  deviceType: api.matter.deviceTypes.TemperatureSensor,
149
183
  clusters: {
150
184
  temperatureMeasurement: {
@@ -159,7 +193,7 @@ function mapSensor(device, deps) {
159
193
  switch (device.status.sensorType) {
160
194
  case 'temperature':
161
195
  return {
162
- ...baseFields(device),
196
+ ...baseFields(device, deps.log),
163
197
  deviceType: api.matter.deviceTypes.TemperatureSensor,
164
198
  clusters: {
165
199
  temperatureMeasurement: {
@@ -169,7 +203,7 @@ function mapSensor(device, deps) {
169
203
  };
170
204
  case 'humidity':
171
205
  return {
172
- ...baseFields(device),
206
+ ...baseFields(device, deps.log),
173
207
  deviceType: api.matter.deviceTypes.HumiditySensor,
174
208
  clusters: {
175
209
  relativeHumidityMeasurement: {
@@ -179,7 +213,7 @@ function mapSensor(device, deps) {
179
213
  };
180
214
  case 'light':
181
215
  return {
182
- ...baseFields(device),
216
+ ...baseFields(device, deps.log),
183
217
  deviceType: api.matter.deviceTypes.LightSensor,
184
218
  clusters: {
185
219
  illuminanceMeasurement: { measuredValue: luxToMatterIlluminance(val) },
@@ -187,7 +221,7 @@ function mapSensor(device, deps) {
187
221
  };
188
222
  case 'motion':
189
223
  return {
190
- ...baseFields(device),
224
+ ...baseFields(device, deps.log),
191
225
  deviceType: api.matter.deviceTypes.MotionSensor,
192
226
  clusters: {
193
227
  occupancySensing: { occupancy: { occupied: val > 0 } },
@@ -195,7 +229,7 @@ function mapSensor(device, deps) {
195
229
  };
196
230
  case 'contact':
197
231
  return {
198
- ...baseFields(device),
232
+ ...baseFields(device, deps.log),
199
233
  deviceType: api.matter.deviceTypes.ContactSensor,
200
234
  clusters: {
201
235
  booleanState: { stateValue: val === 0 },
@@ -208,7 +242,7 @@ function mapSensor(device, deps) {
208
242
  function mapZone(device, deps) {
209
243
  const { api } = deps;
210
244
  return {
211
- ...baseFields(device),
245
+ ...baseFields(device, deps.log),
212
246
  deviceType: api.matter.deviceTypes.ContactSensor,
213
247
  clusters: {
214
248
  booleanState: { stateValue: !device.status.open },
@@ -218,7 +252,7 @@ function mapZone(device, deps) {
218
252
  function mapScenario(device, deps) {
219
253
  const { api, getWsClient } = deps;
220
254
  return {
221
- ...baseFields(device),
255
+ ...baseFields(device, deps.log),
222
256
  deviceType: api.matter.deviceTypes.OnOffSwitch,
223
257
  clusters: {
224
258
  onOff: { onOff: false },
@@ -237,7 +271,7 @@ function mapScenario(device, deps) {
237
271
  function mapGate(device, deps) {
238
272
  const { api, getWsClient } = deps;
239
273
  return {
240
- ...baseFields(device),
274
+ ...baseFields(device, deps.log),
241
275
  deviceType: api.matter.deviceTypes.OnOffSwitch,
242
276
  clusters: {
243
277
  onOff: { onOff: false },
@@ -1 +1 @@
1
- {"version":3,"file":"matter-device-mapper.js","sourceRoot":"","sources":["../../src/platform/matter-device-mapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"matter-device-mapper.js","sourceRoot":"","sources":["../../src/platform/matter-device-mapper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Matter-only accessory name sanitisation.
3
+ *
4
+ * Normalises display names for Matter / Homebridge 2 controllers without
5
+ * touching HAP names, UUIDs, or the original klares4 device names.
6
+ *
7
+ * Pure functions + a stateful collision registry (one instance per registry object).
8
+ */
9
+ /**
10
+ * Sanitise a device name for use as a Matter accessory `displayName`.
11
+ *
12
+ * Rules (applied in order):
13
+ * 1. Replace `+` with ` e `.
14
+ * 2. Remove parentheses / brackets but keep their content.
15
+ * 3. Normalise typographic apostrophes / single quotes to nothing.
16
+ * 4. Replace slashes, backslashes and other shell-like special chars with space.
17
+ * 5. Collapse multiple whitespace to a single space.
18
+ * 6. Trim leading/trailing whitespace.
19
+ * 7. Truncate to MAX_NAME_LENGTH characters (trim again after truncation).
20
+ * 8. If the result is empty, use `fallback` (default 'Device').
21
+ */
22
+ export declare function sanitizeMatterAccessoryName(name: string, fallback?: string): string;
23
+ /**
24
+ * Tracks sanitised names per registry instance so that two devices whose names
25
+ * normalise to the same string receive distinct suffixes.
26
+ *
27
+ * Instantiate once per plugin boot (module-level in matter-device-mapper).
28
+ * For tests, instantiate a fresh registry per test to avoid cross-test pollution.
29
+ */
30
+ export declare class MatterNameRegistry {
31
+ private readonly nameToUuid;
32
+ /**
33
+ * Return `sanitized` if it has not been used yet (or was used by the same uuid).
34
+ * Otherwise append a stable 4-char hex suffix derived from the uuid.
35
+ */
36
+ resolve(uuid: string, sanitized: string): string;
37
+ }
38
+ //# sourceMappingURL=matter-name-sanitizer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matter-name-sanitizer.d.ts","sourceRoot":"","sources":["../../src/platform/matter-name-sanitizer.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH;;;;;;;;;;;;GAYG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,SAAW,GAAG,MAAM,CAkBrF;AAED;;;;;;GAMG;AACH,qBAAa,kBAAkB;IAC3B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA6B;IAExD;;;OAGG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;CAcnD"}
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ /**
3
+ * Matter-only accessory name sanitisation.
4
+ *
5
+ * Normalises display names for Matter / Homebridge 2 controllers without
6
+ * touching HAP names, UUIDs, or the original klares4 device names.
7
+ *
8
+ * Pure functions + a stateful collision registry (one instance per registry object).
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.MatterNameRegistry = void 0;
12
+ exports.sanitizeMatterAccessoryName = sanitizeMatterAccessoryName;
13
+ const MAX_NAME_LENGTH = 64;
14
+ /**
15
+ * Sanitise a device name for use as a Matter accessory `displayName`.
16
+ *
17
+ * Rules (applied in order):
18
+ * 1. Replace `+` with ` e `.
19
+ * 2. Remove parentheses / brackets but keep their content.
20
+ * 3. Normalise typographic apostrophes / single quotes to nothing.
21
+ * 4. Replace slashes, backslashes and other shell-like special chars with space.
22
+ * 5. Collapse multiple whitespace to a single space.
23
+ * 6. Trim leading/trailing whitespace.
24
+ * 7. Truncate to MAX_NAME_LENGTH characters (trim again after truncation).
25
+ * 8. If the result is empty, use `fallback` (default 'Device').
26
+ */
27
+ function sanitizeMatterAccessoryName(name, fallback = 'Device') {
28
+ if (!name || typeof name !== 'string')
29
+ return fallback || 'Device';
30
+ let s = name;
31
+ s = s.replace(/\+/g, ' e ');
32
+ s = s.replace(/[()[\]]/g, ' ');
33
+ // Typographic apostrophes, right/left single quotes
34
+ s = s.replace(/[\u2018\u2019\u201a\u201b']/g, '');
35
+ // Slash, backslash, pipe and similar structural chars → space
36
+ s = s.replace(/[/\\|<>{}*?!@#$%^&=~`]/g, ' ');
37
+ s = s.replace(/\s+/g, ' ');
38
+ s = s.trim();
39
+ if (s.length > MAX_NAME_LENGTH) {
40
+ s = s.slice(0, MAX_NAME_LENGTH).trim();
41
+ }
42
+ return s || (fallback.trim() || 'Device');
43
+ }
44
+ /**
45
+ * Tracks sanitised names per registry instance so that two devices whose names
46
+ * normalise to the same string receive distinct suffixes.
47
+ *
48
+ * Instantiate once per plugin boot (module-level in matter-device-mapper).
49
+ * For tests, instantiate a fresh registry per test to avoid cross-test pollution.
50
+ */
51
+ class MatterNameRegistry {
52
+ constructor() {
53
+ this.nameToUuid = new Map();
54
+ }
55
+ /**
56
+ * Return `sanitized` if it has not been used yet (or was used by the same uuid).
57
+ * Otherwise append a stable 4-char hex suffix derived from the uuid.
58
+ */
59
+ resolve(uuid, sanitized) {
60
+ const existing = this.nameToUuid.get(sanitized);
61
+ if (!existing || existing === uuid) {
62
+ this.nameToUuid.set(sanitized, uuid);
63
+ return sanitized;
64
+ }
65
+ // Collision: derive a stable suffix from the last 4 chars of the uuid.
66
+ const suffix = uuid.replace(/-/g, '').slice(-4);
67
+ const candidate = sanitized.length + 5 <= MAX_NAME_LENGTH
68
+ ? `${sanitized} ${suffix}`
69
+ : `${sanitized.slice(0, MAX_NAME_LENGTH - 5).trim()} ${suffix}`;
70
+ this.nameToUuid.set(candidate, uuid);
71
+ return candidate;
72
+ }
73
+ }
74
+ exports.MatterNameRegistry = MatterNameRegistry;
75
+ //# sourceMappingURL=matter-name-sanitizer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matter-name-sanitizer.js","sourceRoot":"","sources":["../../src/platform/matter-name-sanitizer.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAiBH,kEAkBC;AAjCD,MAAM,eAAe,GAAG,EAAE,CAAC;AAE3B;;;;;;;;;;;;GAYG;AACH,SAAgB,2BAA2B,CAAC,IAAY,EAAE,QAAQ,GAAG,QAAQ;IACzE,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,QAAQ,IAAI,QAAQ,CAAC;IAEnE,IAAI,CAAC,GAAG,IAAI,CAAC;IACb,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC5B,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAC/B,oDAAoD;IACpD,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,8BAA8B,EAAE,EAAE,CAAC,CAAC;IAClD,8DAA8D;IAC9D,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,yBAAyB,EAAE,GAAG,CAAC,CAAC;IAC9C,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAEb,IAAI,CAAC,CAAC,MAAM,GAAG,eAAe,EAAE,CAAC;QAC7B,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3C,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,QAAQ,CAAC,CAAC;AAC9C,CAAC;AAED;;;;;;GAMG;AACH,MAAa,kBAAkB;IAA/B;QACqB,eAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;IAoB5D,CAAC;IAlBG;;;OAGG;IACH,OAAO,CAAC,IAAY,EAAE,SAAiB;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACjC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YACrC,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,uEAAuE;QACvE,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAChD,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,eAAe;YACrD,CAAC,CAAC,GAAG,SAAS,IAAI,MAAM,EAAE;YAC1B,CAAC,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,MAAM,EAAE,CAAC;QACpE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACrC,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ;AArBD,gDAqBC"}
@@ -47,6 +47,20 @@ export declare function domainModeToMatterSystemMode(mode: DomainThermostatMode
47
47
  * Tracking: https://github.com/project-chip/matter.js/issues (search "presetTypes")
48
48
  */
49
49
  export declare function getThermostatPresetWorkaroundAttributes(): Record<string, unknown>;
50
+ /**
51
+ * Map a Matter SystemMode value (Matter spec §4.3.7.32) back to a klares4 domain mode.
52
+ * Returns null for modes the device does not support (e.g. Cool/Auto on a heating-only
53
+ * thermostat) so callers can log a warning and skip the command instead of crashing.
54
+ */
55
+ export declare function matterSystemModeToKlares4Mode(matterMode: number, supportsCooling: boolean): DomainThermostatMode | null;
56
+ /**
57
+ * Convert a Matter setpoint (centidegrees) to °C, clamped to [minC, maxC].
58
+ * Returns the (possibly clamped) value and a flag indicating whether clamping occurred.
59
+ */
60
+ export declare function normalizeMatterSetpointC(centidegrees: number, minC: number, maxC: number): {
61
+ value: number;
62
+ clamped: boolean;
63
+ };
50
64
  /**
51
65
  * Decide whether a Lares4 thermostat should expose Matter cooling.
52
66
  * The Lares4 system itself does not expose this metadata in the WS payload,
@@ -1 +1 @@
1
- {"version":3,"file":"matter-thermostat-mapper.d.ts","sourceRoot":"","sources":["../../src/platform/matter-thermostat-mapper.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAMjD,eAAO,MAAM,kBAAkB,IAAI,CAAC;AACpC,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,eAAO,MAAM,kBAAkB,IAAI,CAAC;AACpC,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAC7C,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAC7C,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAG9C,eAAO,MAAM,kBAAkB,SAAS,CAAC;AACzC,eAAO,MAAM,kBAAkB,QAAQ,CAAC;AAGxC,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAC1C,eAAO,MAAM,+BAA+B,IAAI,CAAC;AAGjD,eAAO,MAAM,eAAe,IAAI,CAAC;AACjC,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAClC,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAClC,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAGlC,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAM1C;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,SAAI,GAAG,MAAM,CAIhF;AAED,8CAA8C;AAC9C,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAElE;AAED,+EAA+E;AAC/E,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGrG;AAYD,MAAM,MAAM,oBAAoB,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAEpE,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,oBAAoB,GAAG,SAAS,GAAG,MAAM,CAO3F;AAMD;;;;;;;;;GASG;AACH,wBAAgB,uCAAuC,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAWjF;AAMD;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAO3E;AAMD,MAAM,WAAW,qBAAqB;IAClC,uFAAuF;IACvF,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,oGAAoG;IACpG,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC7C;AAED;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,gBAAgB,GAAG,qBAAqB,CAqE1F"}
1
+ {"version":3,"file":"matter-thermostat-mapper.d.ts","sourceRoot":"","sources":["../../src/platform/matter-thermostat-mapper.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAMjD,eAAO,MAAM,kBAAkB,IAAI,CAAC;AACpC,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,eAAO,MAAM,kBAAkB,IAAI,CAAC;AACpC,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAC7C,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAC7C,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAG9C,eAAO,MAAM,kBAAkB,SAAS,CAAC;AACzC,eAAO,MAAM,kBAAkB,QAAQ,CAAC;AAGxC,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAC1C,eAAO,MAAM,+BAA+B,IAAI,CAAC;AAGjD,eAAO,MAAM,eAAe,IAAI,CAAC;AACjC,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAClC,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAClC,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAGlC,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAM1C;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,SAAI,GAAG,MAAM,CAIhF;AAED,8CAA8C;AAC9C,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAElE;AAED,+EAA+E;AAC/E,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGrG;AAYD,MAAM,MAAM,oBAAoB,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAEpE,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,oBAAoB,GAAG,SAAS,GAAG,MAAM,CAO3F;AAMD;;;;;;;;;GASG;AACH,wBAAgB,uCAAuC,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAWjF;AAMD;;;;GAIG;AACH,wBAAgB,6BAA6B,CACzC,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,OAAO,GACzB,oBAAoB,GAAG,IAAI,CAQ7B;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACpC,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GACb;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAIrC;AAMD;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAO3E;AAMD,MAAM,WAAW,qBAAqB;IAClC,uFAAuF;IACvF,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,oGAAoG;IACpG,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC7C;AAED;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,gBAAgB,GAAG,qBAAqB,CAqE1F"}
@@ -15,6 +15,8 @@ exports.fromMatterTemperatureCelsius = fromMatterTemperatureCelsius;
15
15
  exports.clampMatterTemperature = clampMatterTemperature;
16
16
  exports.domainModeToMatterSystemMode = domainModeToMatterSystemMode;
17
17
  exports.getThermostatPresetWorkaroundAttributes = getThermostatPresetWorkaroundAttributes;
18
+ exports.matterSystemModeToKlares4Mode = matterSystemModeToKlares4Mode;
19
+ exports.normalizeMatterSetpointC = normalizeMatterSetpointC;
18
20
  exports.thermostatSupportsCooling = thermostatSupportsCooling;
19
21
  exports.buildThermostatMatterState = buildThermostatMatterState;
20
22
  // ---------------------------------------------------------------------------
@@ -104,6 +106,32 @@ function getThermostatPresetWorkaroundAttributes() {
104
106
  };
105
107
  }
106
108
  // ---------------------------------------------------------------------------
109
+ // Handler helpers — used by mapThermostat command handlers
110
+ // ---------------------------------------------------------------------------
111
+ /**
112
+ * Map a Matter SystemMode value (Matter spec §4.3.7.32) back to a klares4 domain mode.
113
+ * Returns null for modes the device does not support (e.g. Cool/Auto on a heating-only
114
+ * thermostat) so callers can log a warning and skip the command instead of crashing.
115
+ */
116
+ function matterSystemModeToKlares4Mode(matterMode, supportsCooling) {
117
+ switch (matterMode) {
118
+ case exports.SYSTEM_MODE_OFF: return 'off';
119
+ case exports.SYSTEM_MODE_HEAT: return 'heat';
120
+ case exports.SYSTEM_MODE_COOL: return supportsCooling ? 'cool' : null;
121
+ case exports.SYSTEM_MODE_AUTO: return supportsCooling ? 'auto' : null;
122
+ default: return null;
123
+ }
124
+ }
125
+ /**
126
+ * Convert a Matter setpoint (centidegrees) to °C, clamped to [minC, maxC].
127
+ * Returns the (possibly clamped) value and a flag indicating whether clamping occurred.
128
+ */
129
+ function normalizeMatterSetpointC(centidegrees, minC, maxC) {
130
+ const raw = fromMatterTemperatureCelsius(centidegrees);
131
+ const value = Math.max(minC, Math.min(maxC, raw));
132
+ return { value, clamped: value !== raw };
133
+ }
134
+ // ---------------------------------------------------------------------------
107
135
  // Capability detection (heuristic — Lares4 zone names follow Italian conventions)
108
136
  // ---------------------------------------------------------------------------
109
137
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"matter-thermostat-mapper.js","sourceRoot":"","sources":["../../src/platform/matter-thermostat-mapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"matter-thermostat-mapper.js","sourceRoot":"","sources":["../../src/platform/matter-thermostat-mapper.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "homebridge-plugin-klares4",
3
- "version": "2.1.2",
3
+ "version": "2.1.3-rc.1",
4
4
  "description": "Plugin completo per sistemi Ksenia Lares4 - Zone, Luci, Tapparelle, Termostati, Sensori",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {