Closed mnich0ls closed 1 year ago
I forgot to include my question. Why do we set the TargetTemperature
using this.device.changeableValues!.heatSetpoint
in the function setTargetHeatingCoolingState
? If I'm correct in my assumption, that's where the incorrect heat point is being set.
https://github.com/donavanbecker/homebridge-resideo/blob/latest/src/devices/thermostats.ts#L865
I tested a change here on the dev branch I linked to above that seems to solve my specific problem, but I'm sure it has unintended consequences.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
This issue has been closed as no further activity has occurred.
Describe Your Problem
I have a scene that sets two thermostats to certain heat points. Running that scene manually works just fine, but attempting to set the scene in an automation sets the wrong heat point
I'm running the latest beta with a minor change to always set the system to Heat mode for an experiment I was running https://github.com/mnich0ls/homebridge-resideo/tree/dev. I know I should probably run the same tests on the latest version (and not my development version), but I think there might be an actual timing bug here.
I set up some automations yesterday and tested them manually from my phone, and they were working just fine. However they failed to run correctly last night and this morning. I did further testing of the same automation (just running them at different times) and they continued to fail repeatedly.
Again, if I run the automation manually (e.g. "test this automation" from the Home app) they work just fine. I noticed a difference in the order of execution based on whether the automation runs normally (i.e. automatically as programmed) or manually. And looking at the functions that are called based on the logs, it does appear that the order matters. Called in the order of the "failing" logs below, the
TargetTemperature
will be set fromthis.device.changeableValues!.heatSetpoint
instead, which would be incorrect at the time the function is called I believe (since the device's current changeable values would have the previous heat set-point).Relevant log output
Order of successful execution of the automation:
Order of failed execution of the same automation:
Complete set of logs for successfull attempt:
Complete set of logs for failed attempt:
Screenshots
No response
Device & Model
Round
Node.js Version
v18.12.1
NPM Version
8.19.2
Homebridge Version
1.6.0
Homebridge Resideo Plugin Version
v1.3.0-dev
Homebridge Config UI X Plugin Version
No response
Operating System
Raspbian GNU/Linux Bullseye (11)