potmat / homebridge-google-nest-sdm

A Homebridge plugin for Google Nest devices that uses the Google Smart Device Management API. Supports Cameras, Doorbells, Displays, and Thermostats. Includes support for HomeKit Secure Video.
ISC License
155 stars 17 forks source link

Target Temperature seems to only support Celsius based on the log entry #3

Closed bradhs closed 2 years ago

bradhs commented 2 years ago

[11/19/2021, 10:06:37 PM] [homebridge-google-nest-sdm] This plugin generated a warning from the characteristic 'Target Temperature': characteristic was supplied illegal value: number 67.868492 exceeded maximum of 38. See https://git.io/JtMGR for more info.

davet9713 commented 2 years ago

Same issue. I verified that changing the device's default units to C gets rid of the error. I know with the other plugin for Nest Therm. the commands to change temp would be in C but the readback of temp would be in F which was sort of odd but it worked.

I thought that maybe switching the units from C to F on the Home entry after Homebridge adds it, then going to the Nest app and changing it there as well would work, but it doesn't...

potmat commented 2 years ago

Hi @bradhs and @davet9713. Thank you so much for trying my plugin! I think I have resolved the issue in v.1.0.12, please let me know. You're right that internally Nest only uses celsius. Surprisingly, Homebridge is the same way https://developers.homebridge.io/#/characteristic/TargetTemperature. It also seems that he Home app will ignore whatever the setting of the thermostat is in favour of the region settings on your Apple device: https://discussions.apple.com/thread/252383222. That is, even if your thermostat is set to fahrenheit, your iPhone will still show celsius if your locale is Canada/Germany/most of the rest of the world... :)

You may need to restart Homebridge after updating the plugin.

bradhs commented 2 years ago

Hi @potmat, thanks for writing this plugin! It is now displaying the temperature properly but I am unable to set the correct temperature.

bradhs commented 2 years ago

Oh, also it might be a good idea to grab the current temp setting so that the app starts wherever it's current set to. (You might be doing that and just have a conversion issue C/F.)

bradhs commented 2 years ago

Logs:

[11/22/2021, 6:20:53 PM] [homebridge-google-nest-sdm] This plugin generated a warning from the characteristic 'Target Temperature': characteristic was supplied illegal value: null! Home App will reject null for Apple defined characteristics. See https://git.io/JtMGR for more info. [11/22/2021, 6:20:53 PM] [homebridge-google-nest-sdm] This plugin generated a warning from the characteristic 'Target Temperature': characteristic was supplied illegal value: null! Home App will reject null for Apple defined characteristics. See https://git.io/JtMGR for more info. [11/22/2021, 6:25:17 PM] [homebridge-google-nest-sdm] This plugin generated a warning from the characteristic 'Target Temperature': characteristic was supplied illegal value: null! Home App will reject null for Apple defined characteristics. See https://git.io/JtMGR for more info. [11/22/2021, 6:25:17 PM] [homebridge-google-nest-sdm] This plugin generated a warning from the characteristic 'Target Temperature': characteristic was supplied illegal value: null! Home App will reject null for Apple defined characteristics. See https://git.io/JtMGR for more info. [11/22/2021, 6:25:19 PM] [homebridge-google-nest-sdm] This plugin generated a warning from the characteristic 'Target Temperature': characteristic was supplied illegal value: null! Home App will reject null for Apple defined characteristics. See https://git.io/JtMGR for more info. [11/22/2021, 6:25:19 PM] [homebridge-google-nest-sdm] This plugin generated a warning from the characteristic 'Target Temperature': characteristic was supplied illegal value: null! Home App will reject null for Apple defined characteristics. See https://git.io/JtMGR for more info. [11/22/2021, 6:25:19 PM] [homebridge-google-nest-sdm] This plugin generated a warning from the characteristic 'Target Temperature': characteristic was supplied illegal value: null! Home App will reject null for Apple defined characteristics. See https://git.io/JtMGR for more info.

potmat commented 2 years ago

@bradhs Is your thermostat set to a temperature range (auto)? Or is it in heating/cooling mode only?

bradhs commented 2 years ago

I had it set to Heating.

bradhs commented 2 years ago

It seems to always default to 50 F.

If I set it to Auto it adjusts the temps to my MIN and MAX settings programmed in my Nest.

potmat commented 2 years ago

@bradhs Hmmm that's odd.... If you go to your homebridge settings and turn on debug mode:

image

You should get some more logs. If you restart Homebridge you should see a bunch of stuff like this:

[22/11/2021, 22:30:28] [homebridge-google-nest-sdm] Triggered GET CurrentHeatingCoolingState [22/11/2021, 22:30:28] [homebridge-google-nest-sdm] Request for trait sdm.devices.traits.ThermostatHvac had value {"status":"OFF"} [22/11/2021, 22:30:28] [homebridge-google-nest-sdm] Triggered GET TargetHeatingCoolingState [22/11/2021, 22:30:28] [homebridge-google-nest-sdm] Request for trait sdm.devices.traits.ThermostatMode had value {"mode":"HEAT","availableModes":["HEAT","OFF"]} [22/11/2021, 22:30:28] [homebridge-google-nest-sdm] Triggered GET CurrentTemperature [22/11/2021, 22:30:28] [homebridge-google-nest-sdm] Request for trait sdm.devices.traits.Temperature had value {"ambientTemperatureCelsius":22.23} [22/11/2021, 22:30:28] [homebridge-google-nest-sdm] Triggered GET TargetTemperature [22/11/2021, 22:30:28] [homebridge-google-nest-sdm] Request for trait sdm.devices.traits.ThermostatEco had value {"availableModes":["OFF","MANUAL_ECO"],"mode":"OFF","heatCelsius":15.04599,"coolCelsius":24.44444} [22/11/2021, 22:30:28] [homebridge-google-nest-sdm] Triggered GET TemperatureDisplayUnits [22/11/2021, 22:30:28] [homebridge-google-nest-sdm] Request for trait sdm.devices.traits.Settings had value {"temperatureScale":"CELSIUS"} [22/11/2021, 22:30:28] [homebridge-google-nest-sdm] Triggered GET CurrentTemperature [22/11/2021, 22:30:28] [homebridge-google-nest-sdm] Request for trait sdm.devices.traits.Humidity had value {"ambientHumidityPercent":40} [22/11/2021, 22:30:28] [homebridge-google-nest-sdm] Request for trait sdm.devices.traits.ThermostatTemperatureSetpoint had value {"heatCelsius":20.40355} [22/11/2021, 22:30:28] [homebridge-google-nest-sdm] Request for trait sdm.devices.traits.ThermostatMode had value {"mode":"HEAT","availableModes":["HEAT","OFF"]} [22/11/2021, 22:30:31] [homebridge-google-nest-sdm] Triggered GET TargetHeatingCoolingState [22/11/2021, 22:30:31] [homebridge-google-nest-sdm] Request for trait sdm.devices.traits.ThermostatMode had value {"mode":"HEAT","availableModes":["HEAT","OFF"]} [22/11/2021, 22:30:31] [homebridge-google-nest-sdm] Triggered GET CurrentHeatingCoolingState [22/11/2021, 22:30:31] [homebridge-google-nest-sdm] Request for trait sdm.devices.traits.ThermostatHvac had value {"status":"OFF"} [22/11/2021, 22:30:31] [homebridge-google-nest-sdm] Triggered GET TargetTemperature [22/11/2021, 22:30:31] [homebridge-google-nest-sdm] Request for trait sdm.devices.traits.ThermostatEco had value {"availableModes":["OFF","MANUAL_ECO"],"mode":"OFF","heatCelsius":15.04599,"coolCelsius":24.44444} [22/11/2021, 22:30:31] [homebridge-google-nest-sdm] Triggered GET TemperatureDisplayUnits [22/11/2021, 22:30:31] [homebridge-google-nest-sdm] Request for trait sdm.devices.traits.Settings had value {"temperatureScale":"CELSIUS"} [22/11/2021, 22:30:31] [homebridge-google-nest-sdm] Triggered GET CurrentTemperature [22/11/2021, 22:30:31] [homebridge-google-nest-sdm] Request for trait sdm.devices.traits.Temperature had value {"ambientTemperatureCelsius":22.23} [22/11/2021, 22:30:31] [homebridge-google-nest-sdm] Request for trait sdm.devices.traits.ThermostatTemperatureSetpoint had value {"heatCelsius":20.40355} [22/11/2021, 22:30:31] [homebridge-google-nest-sdm] Request for trait sdm.devices.traits.ThermostatMode had value {"mode":"HEAT","availableModes":["HEAT","OFF"]} [22/11/2021, 22:30:47] [homebridge-google-nest-sdm] Triggered GET CurrentHeatingCoolingState [22/11/2021, 22:30:47] [homebridge-google-nest-sdm] Request for trait sdm.devices.traits.ThermostatHvac had value {"status":"OFF"} [22/11/2021, 22:30:47] [homebridge-google-nest-sdm] Triggered GET TargetHeatingCoolingState [22/11/2021, 22:30:47] [homebridge-google-nest-sdm] Request for trait sdm.devices.traits.ThermostatMode had value {"mode":"HEAT","availableModes":["HEAT","OFF"]} [22/11/2021, 22:30:47] [homebridge-google-nest-sdm] Triggered GET CurrentTemperature [22/11/2021, 22:30:47] [homebridge-google-nest-sdm] Request for trait sdm.devices.traits.Temperature had value {"ambientTemperatureCelsius":22.23} [22/11/2021, 22:30:47] [homebridge-google-nest-sdm] Triggered GET TargetTemperature [22/11/2021, 22:30:47] [homebridge-google-nest-sdm] Request for trait sdm.devices.traits.ThermostatEco had value {"availableModes":["OFF","MANUAL_ECO"],"mode":"OFF","heatCelsius":15.04599,"coolCelsius":24.44444} [22/11/2021, 22:30:47] [homebridge-google-nest-sdm] Triggered GET TemperatureDisplayUnits [22/11/2021, 22:30:47] [homebridge-google-nest-sdm] Request for trait sdm.devices.traits.Settings had value {"temperatureScale":"CELSIUS"} [22/11/2021, 22:30:47] [homebridge-google-nest-sdm] Triggered GET CurrentTemperature [22/11/2021, 22:30:47] [homebridge-google-nest-sdm] Request for trait sdm.devices.traits.Humidity had value {"ambientHumidityPercent":40} [22/11/2021, 22:30:47] [homebridge-google-nest-sdm] Request for trait sdm.devices.traits.ThermostatTemperatureSetpoint had value {"heatCelsius":20.40355} [22/11/2021, 22:30:47] [homebridge-google-nest-sdm] Request for trait sdm.devices.traits.ThermostatMode had value {"mode":"HEAT","availableModes":["HEAT","OFF"]}

If you paste it here maybe we can understand what's going on.

Unfortunately my thermostat does heating only so it's hard for me to test some of this stuff. Similar to the new battery cameras, it's hard to develop this plugin if you don't actually have/use a certain thing in your house.

bradhs commented 2 years ago

Nothing like that...

[11/22/2021, 7:36:50 PM] [homebridge-google-nest-sdm] Restoring existing accessory from cache: Hallway Thermostat [11/22/2021, 7:36:50 PM] [homebridge-google-nest-sdm] Restoring existing accessory from cache: Hallway Thermostat [11/22/2021, 7:36:50 PM] [homebridge-google-nest-sdm] Restoring existing accessory from cache: Outside Camera [11/22/2021, 7:36:50 PM] [homebridge-google-nest-sdm] Restoring existing accessory from cache: Garage Camera

bradhs commented 2 years ago

[11/22/2021, 7:36:52 PM] [homebridge-google-nest-sdm] This plugin generated a warning from the characteristic 'Target Temperature': characteristic was supplied illegal value: null! Home App will reject null for Apple defined characteristics. See https://git.io/JtMGR for more info. [11/22/2021, 7:36:52 PM] [homebridge-google-nest-sdm] This plugin generated a warning from the characteristic 'Target Temperature': characteristic was supplied illegal value: null! Home App will reject null for Apple defined characteristics. See https://git.io/JtMGR for more info.

potmat commented 2 years ago

@bradhs Did you turn on debug mode?

bradhs commented 2 years ago

[11/22/2021, 7:41:52 PM] [homebridge-google-nest-sdm] Triggered GET CurrentHeatingCoolingState [11/22/2021, 7:41:52 PM] [homebridge-google-nest-sdm] Request for trait sdm.devices.traits.ThermostatHvac had value {"status":"OFF"} [11/22/2021, 7:41:52 PM] [homebridge-google-nest-sdm] Triggered GET TargetHeatingCoolingState [11/22/2021, 7:41:52 PM] [homebridge-google-nest-sdm] Request for trait sdm.devices.traits.ThermostatMode had value {"mode":"OFF","availableModes":["HEAT","COOL","HEATCOOL","OFF"]} [11/22/2021, 7:41:52 PM] [homebridge-google-nest-sdm] Triggered GET CurrentTemperature [11/22/2021, 7:41:52 PM] [homebridge-google-nest-sdm] Request for trait sdm.devices.traits.Temperature had value {"ambientTemperatureCelsius":24.68999} [11/22/2021, 7:41:52 PM] [homebridge-google-nest-sdm] Triggered GET TargetTemperature [11/22/2021, 7:41:52 PM] [homebridge-google-nest-sdm] Request for trait sdm.devices.traits.ThermostatEco had value {"availableModes":["OFF","MANUAL_ECO"],"mode":"OFF","heatCelsius":16.66698,"coolCelsius":27.98012} [11/22/2021, 7:41:52 PM] [homebridge-google-nest-sdm] Triggered GET TemperatureDisplayUnits [11/22/2021, 7:41:52 PM] [homebridge-google-nest-sdm] Request for trait sdm.devices.traits.Settings had value {"temperatureScale":"FAHRENHEIT"} [11/22/2021, 7:41:52 PM] [homebridge-google-nest-sdm] Triggered GET CurrentTemperature [11/22/2021, 7:41:52 PM] [homebridge-google-nest-sdm] Request for trait sdm.devices.traits.Humidity had value {"ambientHumidityPercent":36} [11/22/2021, 7:41:52 PM] [homebridge-google-nest-sdm] Triggered GET CurrentHeatingCoolingState [11/22/2021, 7:41:52 PM] [homebridge-google-nest-sdm] Request for trait sdm.devices.traits.ThermostatHvac had value {"status":"OFF"} [11/22/2021, 7:41:52 PM] [homebridge-google-nest-sdm] Triggered GET TargetHeatingCoolingState [11/22/2021, 7:41:52 PM] [homebridge-google-nest-sdm] Request for trait sdm.devices.traits.ThermostatMode had value {"mode":"OFF","availableModes":["HEAT","COOL","HEATCOOL","OFF"]} [11/22/2021, 7:41:52 PM] [homebridge-google-nest-sdm] Triggered GET CurrentTemperature [11/22/2021, 7:41:52 PM] [homebridge-google-nest-sdm] Request for trait sdm.devices.traits.Temperature had value {"ambientTemperatureCelsius":25.18999} [11/22/2021, 7:41:52 PM] [homebridge-google-nest-sdm] Triggered GET TargetTemperature [11/22/2021, 7:41:52 PM] [homebridge-google-nest-sdm] Request for trait sdm.devices.traits.ThermostatEco had value {"availableModes":["OFF","MANUAL_ECO"],"mode":"OFF","heatCelsius":16.66997,"coolCelsius":27.87894} [11/22/2021, 7:41:52 PM] [homebridge-google-nest-sdm] Triggered GET TemperatureDisplayUnits [11/22/2021, 7:41:52 PM] [homebridge-google-nest-sdm] Request for trait sdm.devices.traits.Settings had value {"temperatureScale":"FAHRENHEIT"} [11/22/2021, 7:41:52 PM] [homebridge-google-nest-sdm] Triggered GET CurrentTemperature [11/22/2021, 7:41:52 PM] [homebridge-google-nest-sdm] Request for trait sdm.devices.traits.Humidity had value {"ambientHumidityPercent":37} [11/22/2021, 7:41:52 PM] [homebridge-google-nest-sdm] Request for trait sdm.devices.traits.ThermostatTemperatureSetpoint had value {} [11/22/2021, 7:41:52 PM] [homebridge-google-nest-sdm] Request for trait sdm.devices.traits.ThermostatTemperatureSetpoint had value {} [11/22/2021, 7:41:52 PM] [homebridge-google-nest-sdm] Request for trait sdm.devices.traits.ThermostatMode had value {"mode":"OFF","availableModes":["HEAT","COOL","HEATCOOL","OFF"]} [11/22/2021, 7:41:52 PM] [homebridge-google-nest-sdm] Request for trait sdm.devices.traits.ThermostatMode had value {"mode":"OFF","availableModes":["HEAT","COOL","HEATCOOL","OFF"]} [11/22/2021, 7:41:52 PM] [homebridge-google-nest-sdm] This plugin generated a warning from the characteristic 'Target Temperature': characteristic was supplied illegal value: null! Home App will reject null for Apple defined characteristics. See https://git.io/JtMGR for more info. [11/22/2021, 7:41:52 PM] [homebridge-google-nest-sdm] Error: at TargetTemperature.Characteristic.characteristicWarning (C:\Users\administrator.SCS.000\AppData\Roaming\npm\node_modules\homebridge\node_modules\hap-nodejs\src\lib\Characteristic.ts:2074:105) at TargetTemperature.Characteristic.validateUserInput (C:\Users\administrator.SCS.000\AppData\Roaming\npm\node_modules\homebridge\node_modules\hap-nodejs\src\lib\Characteristic.ts:1927:14) at TargetTemperature. (C:\Users\administrator.SCS.000\AppData\Roaming\npm\node_modules\homebridge\node_modules\hap-nodejs\src\lib\Characteristic.ts:1492:24) at step (C:\Users\administrator.SCS.000\AppData\Roaming\npm\node_modules\homebridge\node_modules\tslib\tslib.js:143:27) at Object.next (C:\Users\administrator.SCS.000\AppData\Roaming\npm\node_modules\homebridge\node_modules\tslib\tslib.js:124:57) at fulfilled (C:\Users\administrator.SCS.000\AppData\Roaming\npm\node_modules\homebridge\node_modules\tslib\tslib.js:114:62) at processTicksAndRejections (node:internal/process/task_queues:96:5) [11/22/2021, 7:41:52 PM] [homebridge-google-nest-sdm] This plugin generated a warning from the characteristic 'Target Temperature': characteristic was supplied illegal value: null! Home App will reject null for Apple defined characteristics. See https://git.io/JtMGR for more info. [11/22/2021, 7:41:52 PM] [homebridge-google-nest-sdm] Error: at TargetTemperature.Characteristic.characteristicWarning (C:\Users\administrator.SCS.000\AppData\Roaming\npm\node_modules\homebridge\node_modules\hap-nodejs\src\lib\Characteristic.ts:2074:105) at TargetTemperature.Characteristic.validateUserInput (C:\Users\administrator.SCS.000\AppData\Roaming\npm\node_modules\homebridge\node_modules\hap-nodejs\src\lib\Characteristic.ts:1927:14) at TargetTemperature. (C:\Users\administrator.SCS.000\AppData\Roaming\npm\node_modules\homebridge\node_modules\hap-nodejs\src\lib\Characteristic.ts:1492:24) at step (C:\Users\administrator.SCS.000\AppData\Roaming\npm\node_modules\homebridge\node_modules\tslib\tslib.js:143:27) at Object.next (C:\Users\administrator.SCS.000\AppData\Roaming\npm\node_modules\homebridge\node_modules\tslib\tslib.js:124:57) at fulfilled (C:\Users\administrator.SCS.000\AppData\Roaming\npm\node_modules\homebridge\node_modules\tslib\tslib.js:114:62) at processTicksAndRejections (node:internal/process/task_queues:96:5)

potmat commented 2 years ago

@bradhs : When the thermostat is OFF it returns nothing as the set temperature, that was surprising. Even more so is that Homebridge REQUIRES a set temperature even if the thermostat is OFF.

The newest version (v1.0.13) should solve this issue. I am still looking into how to set the temperature when the thermostat is in AUTO mode. My thermostat only controls a furnace (as you may have guessed from the Celsius/Fahrenheit thing I'm in Canada) so I can't really test it, I have to make my best guess on what's supposed to happen.

davet9713 commented 2 years ago

I'm in Canada too. Mine is in HEAT mode as well, as opposed to Auto Heat/Cool (which is a mode I hardly ever use). My Nest entry for the units is set to F in the Nest app. It does show in C units in Home even when the entry in the Home app for "Hardware Display" is set to Degrees Fahrenheit.

[23/11/2021, 18:03:47] [homebridge-google-nest-sdm] Triggered GET CurrentHeatingCoolingState [23/11/2021, 18:03:47] [homebridge-google-nest-sdm] Request for trait sdm.devices.traits.ThermostatHvac had value {"status":"HEATING"} [23/11/2021, 18:03:47] [homebridge-google-nest-sdm] Triggered GET TargetHeatingCoolingState [23/11/2021, 18:03:47] [homebridge-google-nest-sdm] Request for trait sdm.devices.traits.ThermostatMode had value {"mode":"HEAT","availableModes":["HEAT","COOL","HEATCOOL","OFF"]} [23/11/2021, 18:03:47] [homebridge-google-nest-sdm] Triggered GET CurrentTemperature [23/11/2021, 18:03:47] [homebridge-google-nest-sdm] Request for trait sdm.devices.traits.Temperature had value {"ambientTemperatureCelsius":22.96999} [23/11/2021, 18:03:47] [homebridge-google-nest-sdm] Triggered GET TargetTemperature [23/11/2021, 18:03:47] [homebridge-google-nest-sdm] Request for trait sdm.devices.traits.ThermostatEco had value {"availableModes":["OFF","MANUAL_ECO"],"mode":"OFF","heatCelsius":17.20302,"coolCelsius":30.07268} [23/11/2021, 18:03:47] [homebridge-google-nest-sdm] Triggered GET TemperatureDisplayUnits [23/11/2021, 18:03:47] [homebridge-google-nest-sdm] Request for trait sdm.devices.traits.Settings had value {"temperatureScale":"FAHRENHEIT"} [23/11/2021, 18:03:47] [homebridge-google-nest-sdm] Triggered GET CurrentTemperature [23/11/2021, 18:03:47] [homebridge-google-nest-sdm] Request for trait sdm.devices.traits.Humidity had value {"ambientHumidityPercent":54} [23/11/2021, 18:03:47] [homebridge-google-nest-sdm] Request for trait sdm.devices.traits.ThermostatTemperatureSetpoint had value {"heatCelsius":23.18477} [23/11/2021, 18:03:47] [homebridge-google-nest-sdm] Request for trait sdm.devices.traits.ThermostatMode had value {"mode":"HEAT","availableModes":["HEAT","COOL","HEATCOOL","OFF"]} [23/11/2021, 18:04:02] [homebridge-google-nest-sdm] Triggered GET CurrentHeatingCoolingState [23/11/2021, 18:04:02] [homebridge-google-nest-sdm] Request for trait sdm.devices.traits.ThermostatHvac had value {"status":"HEATING"} [23/11/2021, 18:04:02] [homebridge-google-nest-sdm] Triggered GET TargetHeatingCoolingState [23/11/2021, 18:04:02] [homebridge-google-nest-sdm] Request for trait sdm.devices.traits.ThermostatMode had value {"mode":"HEAT","availableModes":["HEAT","COOL","HEATCOOL","OFF"]} [23/11/2021, 18:04:02] [homebridge-google-nest-sdm] Triggered GET CurrentTemperature [23/11/2021, 18:04:02] [homebridge-google-nest-sdm] Request for trait sdm.devices.traits.Temperature had value {"ambientTemperatureCelsius":22.96999} [23/11/2021, 18:04:02] [homebridge-google-nest-sdm] Triggered GET TargetTemperature [23/11/2021, 18:04:02] [homebridge-google-nest-sdm] Request for trait sdm.devices.traits.ThermostatEco had value {"availableModes":["OFF","MANUAL_ECO"],"mode":"OFF","heatCelsius":17.20302,"coolCelsius":30.07268} [23/11/2021, 18:04:02] [homebridge-google-nest-sdm] Triggered GET TemperatureDisplayUnits [23/11/2021, 18:04:02] [homebridge-google-nest-sdm] Request for trait sdm.devices.traits.Settings had value {"temperatureScale":"FAHRENHEIT"} [23/11/2021, 18:04:02] [homebridge-google-nest-sdm] Triggered GET CurrentTemperature [23/11/2021, 18:04:02] [homebridge-google-nest-sdm] Request for trait sdm.devices.traits.Humidity had value {"ambientHumidityPercent":54} [23/11/2021, 18:04:02] [homebridge-google-nest-sdm] Request for trait sdm.devices.traits.ThermostatTemperatureSetpoint had value {"heatCelsius":23.18477} [23/11/2021, 18:04:02] [homebridge-google-nest-sdm] Request for trait sdm.devices.traits.ThermostatMode had value {"mode":"HEAT","availableModes":["HEAT","COOL","HEATCOOL","OFF"]}

Given that it seems that the Google API gets/sets all these values only in Celsius, is it supposed to be up to the developer to convert the values set or displayed in Homekit to and from C if the device settings is for F (which I presume you would do only if sdm.devices.traits.Settings.temperatureScale is set to F ?

potmat commented 2 years ago

Hi @davet9713, as mentioned in a previous comment, the Apple Home app ignores whatever the setting of the thermostat is in favour of the region settings on the device: https://discussions.apple.com/thread/252383222

If you want your iPhone to show Fahrenheit set your locale to US.