fjs21 / homebridge-kumo

Control your Kumo cloud devices using Homebridge.
https://www.npmjs.com/package/homebridge-kumo
Apache License 2.0
33 stars 8 forks source link

Override chosen threshold temperature based on operating mode #90

Closed jeredfloyd closed 8 months ago

jeredfloyd commented 10 months ago

There is a longstanding Siri bug (#51) where Apple sets the wrong temperature threshold -- for example, in cooling mode a request to raise the temperature will change the heating setpoint instead if the requested temperature is higher than the current value.

Apple is notoriously indifferent to customers and developers, so it looks like we need to fix this ourselves.

Jason-Morcos commented 9 months ago

Just another user here - this change would break some of my scenes, if I understand it correctly. I have scenes where I change both the heating and cooling set points simultaneously throughout the day so that the scenes work year-round regardless of if I'm in heating or cooling mode. This change would break this use case because the scene would never be reflected as active since some of the attributes for the devices wouldn't match the attributes of the scene.

jeredfloyd commented 9 months ago

@Jason-Morcos Possibly... where are your scenes configured, and how do they communicate with HomeBridge?

If so, some brainstorming:

  1. This could be a configuration checkbox. I think the common case is likely people trying to use Siri and have it fail because Apple doesn't care after 2+ years...
  2. A checkbox/mode to have heat pumps appear as separate heating and cooling devices rather than a HeaterCooler, so voice control can always affect the right setpoint since it will be directed to the "Heat" or "Cool" device. This also seems ugly.
  3. ???
Jason-Morcos commented 9 months ago

@Jason-Morcos Possibly... where are your scenes configured, and how do they communicate with HomeBridge?

If so, some brainstorming:

  1. This could be a configuration checkbox. I think the common case is likely people trying to use Siri and have it fail because Apple doesn't care after 2+ years...
  2. A checkbox/mode to have heat pumps appear as separate heating and cooling devices rather than a HeaterCooler, so voice control can always affect the right setpoint since it will be directed to the "Heat" or "Cool" device. This also seems ugly.
  3. ???

I think option 1 could work! A configuration checkbox

My scenes are set up to have both a heating and cooling set point for each heat pump. Then, at certain times of day/occupancies, I automate triggering the different scenes to change the set points in the house. There's a separate automation responsible for switching from heating to cooling depending on time of year and temp, but setting the set points for heating and cooling runs year round.

One other option could be to allow users to optionally specify a cutoff - temps above that cutoff are considered cooling set points, and temps below that cutoff are considered heating set points. That would get you the Siri capability potentially without breaking automations.

jeredfloyd commented 8 months ago

@fjs21 Do you have thoughts here?

I will also check if Apple secretly fixed this in iOS 17, in which case the fix is moot.

jeredfloyd commented 8 months ago

No such luck -- from my phone (iOS 17.0.3) asking "Siri, set Office to 74 degrees" when in cooling mode, a cooling setpoint of 76, and a current temp of 72:

[10/19/2023, 9:39:18 AM] [Kumo] Office (Heater/Cooler): in cool mode but heating threshold change requested; overriding
[10/19/2023, 9:39:18 AM] [Kumo] Office (Heater/Cooler): set CoolingThresholdTemperature to 23.5

Frustratingly, even "Siri, set Office cooling threshold to 74 degrees" still tries to change the heating threshold. Aaaaaaaapppple!

fjs21 commented 8 months ago

I don't think there is much we can do to fix this one. I'm closing the PR for now.