fjs21 / homebridge-kumo

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

Dropping Heater Temperature via Siri Does Not Work #51

Open mzeb opened 2 years ago

mzeb commented 2 years ago

Effect: When using Siri to set the temperature of a ductless head one can raise the temperature but not lower it while the system is in "Heat" mode. Using the Home App works just fine.

System: 4 Ductless heads all set to "Heat" in the Home App (Not cooling or auto) iPhone XS HomePod Mini

Repro: 1) Using the "Home" app set a head to "Heat" then set the temperature to a lower temp (say, 63º). 2) Using Siri set the head to a higher temperature (70º) -> Temperature will set and be reflected in Home App and Kumo Cloud 3) Using Siri set the head to lower temperature (back to 63º) -> Temperature will not be set in either Home App or Kumo Cloud

esetnik commented 2 years ago

I confirmed the same issue on my system

fjs21 commented 2 years ago

Very weird. Can you check your log that these commands are being sent to the Kumo API. You should see something similar to:

[Kumo] DeviceName (Heater/Cooler): set HeatingThresholdTemperature to 18.

It would be interesting to see if on the failed second Siri command this command is sent and then fails, or is not sent at all.

esetnik commented 2 years ago

It looks like if it's below the setpoint it is setting CoolingThresholdTemperature and not HeatingThresholdTemperature:

current room temp: 68 current set temp: 68 current mode: heat command: "Hey siri set the living room to 60º"

Living Room (Heater/Cooler): set CoolingThresholdTemperature to 15.5
fjs21 commented 2 years ago

What happens when you change the heating threshold in the home app? If that works, which I suspect/hope it will. This would suggest the problem is with Siri rather than the plug-in.

esetnik commented 2 years ago

It does work when adjusting manually in the home app as mentioned in the original bug report. The problem only appears when using siri. But I think it's still important to support the siri use-case as it brings a lot of value to be able to control these devices by siri and that functionality is completely broken.

What about in the places where HeatingThresholdTemperature and CoolingThresholdTemperature are set, e.g. https://github.com/fjs21/homebridge-kumo/blob/05fd3fedaf09b175d2f87ad00837cd895fdc84f0/src/ductless_simple.ts#L455 that instead of just blindly setting those thresholds we first detect which mode the heater is in. If the heater is in heating mode it should always set HeatingThresholdTemperature, if it's in cooling mode it should always set CoolingThresholdTemperature. If it is in auto mode then maybe both thresholds get set to a range centered on the target temperature?

fjs21 commented 2 years ago

That might work. I notice Siri reports "OK, cooling to x degrees". So this is clearly a Siri issue and I submitted a bug report to Apple. Let's see if anything comes of that. If you want to generate a pull request as you describe I would only override the set point settings when the device is in either heat or cool mode. The suggested changes when in auto mode has the potential to cause unexpected behavior and it seems to be the mode that Siri is expecting.

jeredfloyd commented 11 months ago

FWIW, Apple has not yet fixed this (very weird) Siri bug. It would be nice to have a workaround.