homebridge-smartthings-oauth 1.0.51 → 1.0.53

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
@@ -1,6 +1,23 @@
1
1
  # Changelog
2
2
  All notable changes to this project will be documented in this file.
3
3
 
4
+ ## [1.0.53] - Configurable Thermostat Mode Mapping
5
+
6
+ ### Added
7
+ - **Thermostat Mode Overrides** (#25): New `thermostatModeOverrides` config option to control which SmartThings thermostatMode is sent when HomeKit requests HEAT or COOL. This lets users with non-standard HVAC systems (e.g. Koolnova with `radiatingfloor`, `radiatingfloorandhotair`) choose which mode maps to HomeKit HEAT/COOL on a per-device basis. Devices without overrides continue to use the defaults (`heat`/`cool`).
8
+ - Configure per device by name (case-insensitive matching)
9
+ - Available in the Homebridge UI under "Thermostat Mode Overrides"
10
+ - Only affects the SET direction (HomeKit → SmartThings); GET direction already handles custom modes correctly
11
+
12
+ ## [1.0.52] - Generic Thermostat Switch-Based Power State Fix
13
+
14
+ ### Fixed
15
+ - **Thermostat showing active when zone is off** (#25): For third-party thermostats (e.g. Koolnova) that expose both `switch` and `thermostatMode`, the plugin now checks `switch` first to determine the real power state. These devices keep `thermostatMode` at its last value (e.g. `heat`) even when the zone is powered off via `switch`. Previously this caused all zones to appear as active/heating in HomeKit regardless of actual state.
16
+ - **Atomic switch + mode commands**: Setting thermostat state from HomeKit now bundles `switch` and `thermostatMode` into a single SmartThings API call (matching the AirConditionerService pattern), avoiding race conditions from separate fire-and-forget calls.
17
+ - **Real-time temperature events**: Incoming `temperature` webhook events are now correctly handled by ThermostatService. Previously, temperature events would fall through to the thermostatMode handler and incorrectly set the heating/cooling state to HEAT.
18
+ - **Real-time switch events**: Incoming `switch: off` webhook events for thermostat devices now immediately update both current and target state to OFF in HomeKit.
19
+ - **isOnline() method call**: Fixed `isOnline` being checked as a property (always truthy) instead of called as a method, so the offline guard in `setTargetHeatingCoolingState` now works correctly.
20
+
4
21
  ## [1.0.51] - Air Purifier Command Debounce Improvements & Offline Log Spam Fix
5
22
 
6
23
  ### Fixed
@@ -251,6 +251,35 @@
251
251
  "required": ["deviceName", "ip"]
252
252
  }
253
253
  },
254
+ "thermostatModeOverrides": {
255
+ "title": "Thermostat Mode Overrides",
256
+ "type": "array",
257
+ "description": "Override which SmartThings thermostatMode is sent when HomeKit requests HEAT or COOL. Only needed for HVAC systems with non-standard modes (e.g. Koolnova). Devices not listed here use the defaults (heat/cool).",
258
+ "items": {
259
+ "type": "object",
260
+ "properties": {
261
+ "deviceName": {
262
+ "title": "Device Name",
263
+ "type": "string",
264
+ "minLength": 1,
265
+ "description": "Exact SmartThings device name to match (case-insensitive)"
266
+ },
267
+ "heatMode": {
268
+ "title": "HomeKit HEAT sends",
269
+ "type": "string",
270
+ "default": "heat",
271
+ "description": "SmartThings thermostatMode to send when HomeKit requests HEAT (e.g. heat, radiatingfloor)"
272
+ },
273
+ "coolMode": {
274
+ "title": "HomeKit COOL sends",
275
+ "type": "string",
276
+ "default": "cool",
277
+ "description": "SmartThings thermostatMode to send when HomeKit requests COOL"
278
+ }
279
+ },
280
+ "required": ["deviceName"]
281
+ }
282
+ },
254
283
  "ShowOnlyDevices": {
255
284
  "title": "Show Only Devices (Whitelist)",
256
285
  "type": "array",
@@ -17,6 +17,7 @@ export declare class ThermostatService extends BaseService {
17
17
  setTargetTemperature(value: CharacteristicValue): Promise<void>;
18
18
  getTemperatureDisplayUnits(): CharacteristicValue;
19
19
  setTemperatureDisplayUnits(value: CharacteristicValue): void;
20
+ private getConfiguredMode;
20
21
  processEvent(event: ShortEvent): void;
21
22
  }
22
23
  //# sourceMappingURL=thermostatService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"thermostatService.d.ts","sourceRoot":"","sources":["../../src/services/thermostatService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,EAAE,8BAA8B,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAE5D,qBAAa,iBAAkB,SAAQ,WAAW;IAChD,yBAAyB,EAAE,GAAG,CAAC;IAC/B,iBAAiB,EAAE,GAAG,CAAC;IACvB,KAAK,SAAO;IACZ,sBAAsB,UAAS;gBAEnB,QAAQ,EAAE,8BAA8B,EAAE,SAAS,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAC7H,qBAAqB,EAAE,qBAAqB,EAC5C,IAAI,EAAE,MAAM,EAAE,YAAY,KAAA;IAqDtB,4BAA4B,IAAG,OAAO,CAAC,mBAAmB,CAAC;IAkD3D,4BAA4B,CAAC,KAAK,EAAE,mBAAmB;IA6CvD,6BAA6B,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAoD7D,qBAAqB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IA+BrD,oBAAoB,IAAG,OAAO,CAAC,mBAAmB,CAAC;IA4BnD,oBAAoB,CAAC,KAAK,EAAE,mBAAmB;IA4BrD,0BAA0B,IAAI,mBAAmB;IASjD,0BAA0B,CAAC,KAAK,EAAE,mBAAmB;IAM9C,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;CAmC7C"}
1
+ {"version":3,"file":"thermostatService.d.ts","sourceRoot":"","sources":["../../src/services/thermostatService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,EAAE,8BAA8B,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAG5D,qBAAa,iBAAkB,SAAQ,WAAW;IAChD,yBAAyB,EAAE,GAAG,CAAC;IAC/B,iBAAiB,EAAE,GAAG,CAAC;IACvB,KAAK,SAAO;IACZ,sBAAsB,UAAS;gBAEnB,QAAQ,EAAE,8BAA8B,EAAE,SAAS,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAC7H,qBAAqB,EAAE,qBAAqB,EAC5C,IAAI,EAAE,MAAM,EAAE,YAAY,KAAA;IAqDtB,4BAA4B,IAAG,OAAO,CAAC,mBAAmB,CAAC;IA2D3D,4BAA4B,CAAC,KAAK,EAAE,mBAAmB;IAoDvD,6BAA6B,IAAI,OAAO,CAAC,mBAAmB,CAAC;IA8D7D,qBAAqB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IA+BrD,oBAAoB,IAAG,OAAO,CAAC,mBAAmB,CAAC;IA4BnD,oBAAoB,CAAC,KAAK,EAAE,mBAAmB;IA4BrD,0BAA0B,IAAI,mBAAmB;IASjD,0BAA0B,CAAC,KAAK,EAAE,mBAAmB;IAMrD,OAAO,CAAC,iBAAiB;IAYlB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;CAkD7C"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ThermostatService = void 0;
4
4
  const baseService_1 = require("./baseService");
5
+ const smartThingsCommand_1 = require("./smartThingsCommand");
5
6
  class ThermostatService extends baseService_1.BaseService {
6
7
  constructor(platform, accessory, componentId, capabilities, multiServiceAccessory, name, deviceStatus) {
7
8
  super(platform, accessory, componentId, capabilities, multiServiceAccessory, name, deviceStatus);
@@ -53,46 +54,53 @@ class ThermostatService extends baseService_1.BaseService {
53
54
  return;
54
55
  }
55
56
  this.getStatus().then(success => {
56
- let state;
57
- if (success) {
58
- state = this.deviceStatus.status.thermostatMode.thermostatMode.value;
59
- if (state === null || state === undefined) {
60
- this.log.error(`Received invalid heating / cooling state from ${this.name}`);
61
- resolve(this.targetHeatingCoolingState);
57
+ var _a, _b, _c, _d;
58
+ if (!success) {
59
+ resolve(this.targetHeatingCoolingState);
60
+ return;
61
+ }
62
+ // For devices with switch capability (e.g. Koolnova), check switch first.
63
+ // These devices keep thermostatMode at its last value even when powered off.
64
+ if (this.capabilities.includes('switch')) {
65
+ const switchState = (_b = (_a = this.deviceStatus.status.switch) === null || _a === void 0 ? void 0 : _a.switch) === null || _b === void 0 ? void 0 : _b.value;
66
+ if (switchState === 'off') {
67
+ resolve(this.targetHeatingCoolingState = this.platform.Characteristic.TargetHeatingCoolingState.OFF);
62
68
  return;
63
69
  }
64
- switch (state) {
65
- case 'cool':
66
- resolve(this.targetHeatingCoolingState = this.platform.Characteristic.TargetHeatingCoolingState.COOL);
67
- return;
68
- case 'heat':
69
- case 'emergency heat':
70
- resolve(this.targetHeatingCoolingState = this.platform.Characteristic.TargetHeatingCoolingState.HEAT);
71
- return;
72
- case 'auto':
73
- resolve(this.targetHeatingCoolingState = this.platform.Characteristic.TargetHeatingCoolingState.AUTO);
74
- return;
75
- case 'off':
76
- resolve(this.targetHeatingCoolingState = this.platform.Characteristic.TargetHeatingCoolingState.OFF);
77
- return;
78
- default:
79
- // Map unknown/custom modes (e.g. 'radiatingfloor', 'radiatingfloorandhotair')
80
- // to HEAT since they represent active heating modes
81
- resolve(this.targetHeatingCoolingState = this.platform.Characteristic.TargetHeatingCoolingState.HEAT);
82
- return;
83
- }
84
70
  }
85
- else {
71
+ const state = (_d = (_c = this.deviceStatus.status.thermostatMode) === null || _c === void 0 ? void 0 : _c.thermostatMode) === null || _d === void 0 ? void 0 : _d.value;
72
+ if (state === null || state === undefined) {
73
+ this.log.error(`Received invalid heating / cooling state from ${this.name}`);
86
74
  resolve(this.targetHeatingCoolingState);
87
75
  return;
88
76
  }
77
+ switch (state) {
78
+ case 'cool':
79
+ resolve(this.targetHeatingCoolingState = this.platform.Characteristic.TargetHeatingCoolingState.COOL);
80
+ return;
81
+ case 'heat':
82
+ case 'emergency heat':
83
+ resolve(this.targetHeatingCoolingState = this.platform.Characteristic.TargetHeatingCoolingState.HEAT);
84
+ return;
85
+ case 'auto':
86
+ resolve(this.targetHeatingCoolingState = this.platform.Characteristic.TargetHeatingCoolingState.AUTO);
87
+ return;
88
+ case 'off':
89
+ resolve(this.targetHeatingCoolingState = this.platform.Characteristic.TargetHeatingCoolingState.OFF);
90
+ return;
91
+ default:
92
+ // Map unknown/custom modes (e.g. 'radiatingfloor', 'radiatingfloorandhotair')
93
+ // to HEAT since they represent active heating modes
94
+ resolve(this.targetHeatingCoolingState = this.platform.Characteristic.TargetHeatingCoolingState.HEAT);
95
+ return;
96
+ }
89
97
  });
90
98
  });
91
99
  }
92
100
  // Set the target state of the thermostat
93
101
  async setTargetHeatingCoolingState(value) {
94
102
  this.log.debug('Received setTargetHeatingCoolingState(' + value + ') event for ' + this.name);
95
- if (!this.multiServiceAccessory.isOnline) {
103
+ if (!this.multiServiceAccessory.isOnline()) {
96
104
  this.log.error(this.name + ' is offline');
97
105
  throw new this.platform.api.hap.HapStatusError(-70402 /* this.platform.api.hap.HAPStatus.SERVICE_COMMUNICATION_FAILURE */);
98
106
  }
@@ -107,19 +115,25 @@ class ThermostatService extends baseService_1.BaseService {
107
115
  cmd = 'auto';
108
116
  break;
109
117
  case this.platform.Characteristic.TargetHeatingCoolingState.COOL:
110
- cmd = 'cool';
118
+ cmd = this.getConfiguredMode('cool');
111
119
  break;
112
120
  case this.platform.Characteristic.TargetHeatingCoolingState.HEAT:
113
- cmd = 'heat';
121
+ cmd = this.getConfiguredMode('heat');
114
122
  break;
115
123
  default:
116
124
  cmd = 'off';
117
125
  break;
118
126
  }
119
- this.multiServiceAccessory.sendCommand('thermostatMode', cmd).then((success) => {
127
+ // For devices with switch capability (e.g. Koolnova), bundle switch on/off
128
+ // with thermostatMode in a single API call to control the real power state
129
+ const commands = [];
130
+ if (this.capabilities.includes('switch')) {
131
+ commands.push(new smartThingsCommand_1.Command('switch', cmd === 'off' ? 'off' : 'on'));
132
+ }
133
+ commands.push(new smartThingsCommand_1.Command('thermostatMode', cmd));
134
+ this.multiServiceAccessory.sendCommands(commands).then((success) => {
120
135
  if (success) {
121
136
  this.log.debug('setTargetHeatingCoolingState(' + value + ') SUCCESSFUL for ' + this.name);
122
- //this.deviceStatus.timestamp = 0; // Force a refresh next query.
123
137
  }
124
138
  else {
125
139
  this.log.error(`Command failed for ${this.name}`);
@@ -138,7 +152,17 @@ class ThermostatService extends baseService_1.BaseService {
138
152
  return;
139
153
  }
140
154
  this.getStatus().then(success => {
155
+ var _a, _b;
141
156
  if (success) {
157
+ // For devices with switch capability (e.g. Koolnova), check switch first.
158
+ // These devices keep thermostatMode at its last value even when powered off.
159
+ if (this.capabilities.includes('switch')) {
160
+ const switchState = (_b = (_a = this.deviceStatus.status.switch) === null || _a === void 0 ? void 0 : _a.switch) === null || _b === void 0 ? void 0 : _b.value;
161
+ if (switchState === 'off') {
162
+ resolve(this.platform.Characteristic.CurrentHeatingCoolingState.OFF);
163
+ return;
164
+ }
165
+ }
142
166
  let thermostatMode;
143
167
  try {
144
168
  thermostatMode = this.deviceStatus.status.thermostatMode.thermostatMode.value;
@@ -273,6 +297,14 @@ class ThermostatService extends baseService_1.BaseService {
273
297
  this.log.debug(`Received request to set display units to ${value}. No equivalent in Smartthings...`);
274
298
  return;
275
299
  }
300
+ getConfiguredMode(homekitMode) {
301
+ const overrides = this.platform.config.thermostatModeOverrides || [];
302
+ const match = overrides.find(o => { var _a; return ((_a = o.deviceName) === null || _a === void 0 ? void 0 : _a.toLowerCase().trim()) === this.name.toLowerCase().trim(); });
303
+ if (homekitMode === 'heat') {
304
+ return (match === null || match === void 0 ? void 0 : match.heatMode) || 'heat';
305
+ }
306
+ return (match === null || match === void 0 ? void 0 : match.coolMode) || 'cool';
307
+ }
276
308
  processEvent(event) {
277
309
  this.log.debug(`Updating ${event.attribute} for ${this.name} from event to ${event.value}`);
278
310
  let characteristic = this.platform.Characteristic.TargetTemperature;
@@ -280,6 +312,21 @@ class ThermostatService extends baseService_1.BaseService {
280
312
  if (event.attribute === 'heatingSetpoint' || event.attribute === 'coolingSetpoint' || event.attribute === 'temperatureSetpoint') {
281
313
  value = this.units === 'F' ? (event.value - 32) * (5 / 9) : event.value;
282
314
  }
315
+ else if (event.attribute === 'temperature') {
316
+ // Temperature measurement update
317
+ characteristic = this.platform.Characteristic.CurrentTemperature;
318
+ value = this.units === 'F' ? (event.value - 32) * (5 / 9) : event.value;
319
+ }
320
+ else if (event.attribute === 'switch') {
321
+ // For devices with switch capability (e.g. Koolnova), switch off means thermostat off
322
+ if (event.value === 'off') {
323
+ this.service.updateCharacteristic(this.platform.Characteristic.TargetHeatingCoolingState, this.platform.Characteristic.TargetHeatingCoolingState.OFF);
324
+ this.service.updateCharacteristic(this.platform.Characteristic.CurrentHeatingCoolingState, this.platform.Characteristic.CurrentHeatingCoolingState.OFF);
325
+ this.targetHeatingCoolingState = this.platform.Characteristic.TargetHeatingCoolingState.OFF;
326
+ }
327
+ // switch on: the thermostatMode event will follow to set the correct mode
328
+ return;
329
+ }
283
330
  else {
284
331
  characteristic = this.platform.Characteristic.TargetHeatingCoolingState;
285
332
  switch (event.value) {
@@ -1 +1 @@
1
- {"version":3,"file":"thermostatService.js","sourceRoot":"","sources":["../../src/services/thermostatService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"thermostatService.js","sourceRoot":"","sources":["../../src/services/thermostatService.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "private": false,
3
3
  "displayName": "Homebridge Smartthings oAuth Plugin",
4
4
  "name": "homebridge-smartthings-oauth",
5
- "version": "1.0.51",
5
+ "version": "1.0.53",
6
6
  "description": "Connects SmartThings devices to Homebridge. Automatically discovers devices.",
7
7
  "license": "Apache-2.0",
8
8
  "repository": {