Closed marcjohnen closed 1 year ago
I see the same behaviour with my TV02 (_TZE200_hue3yfsn)
This thermostats ZHA integration does not update it's internal temperature by itself. I've created an automation that switches the offline toggle every 10minutes (this updates all values). I'm not sure if this has something to do with it, but I changed this automation to set the temperature_offset to 0 (every 10 minutes) which also updates the values. I think this stopped setting the BT target temperature to random values. But the TRV itself still gets a random target temperature of 30°C sometimes which just turns it on and off all the time.
It would also be very nice if the temerature shown on the thermostat would be the target temperature set in home assistant and not the temperature set by bt to reach this temperature. As nedis can work with a tuya central, I think the thermostat (and others) should support this. Ideally one would be able to set the target temperature on the thermostat as well.
I reverted to bt 1.0 beta and the problem is gone.
I reverted to bt 1.0 beta and the problem is gone.
To which beta version?
1.0.0-beta
1.0.0-beta
All betas have a number. So which one? 🫣
I thought that is the number. Where do I find what you would like to know?
I reverted to 1.0.0-beta56
Similar issue here. Automation changes target temperature to 18 at 1900hrs and 21 at 0600hrs but it is randomly changing itself. I installed BT for the first time yesterday so I wasn't sure if I'd misconfigured something but it seems potentially not.
BT 1.0.0 HA 2023.1.7 TRV _TZE200_cwnjrr72 TH Sonoff SNZB-02
Similar issue here. Automation changes target temperature to 18 at 1900hrs and 21 at 0600hrs but it is randomly changing itself. I installed BT for the first time yesterday so I wasn't sure if I'd misconfigured something but it seems potentially not.
BT 1.0.0 HA 2023.1.7 TRV _TZE200_cwnjrr72 TH Sonoff SNZB-02
Is the valve opening /closing all the time. If so, try a HA reboot and see if that makes any difference
Is the valve opening /closing all the time. If so, try a HA reboot and see if that makes any difference
Unfortunately ZHA doesn't track the valve state but I've rebooted HA anyway and it is still happening.
Edit: It is altering the TRV target temperature therefore it's safe to assume that the valve is being actioned.
Child lock should prevent it in the BT options. Can you try?
Child lock should prevent it in the BT options. Can you try?
Thanks, that does appear to have stopped the problem. I will continue to monitor.
It worked for a bit but it's back up to 35 degrees again unfortunately.
I got the same problem. Juste delete the thermostat from integration and recreate it. If it doesn't work, try to unpair and pair again the thermostat in Z2M. It worked for me. It usually happens when you change the options in BT integration.
I believe I'm having the same issue where BT is changing it's own temperature (seemingly randomly) but with Tado Homekit TRVs rather than Zigbee ones. Going to delete & recreate them and turn on child lock.... Can't see anything in the logbook why it changed.
I‘m having the same issue with an Aqara Thermostat E1
I am also having the same issue here, with v1.0. Without understanding the issue fully, I would also say that it now happens after I did some minor tweaks of an existing integration. In my case, I checked the "Homatic/save duty cycle" box later on. So for now, I would go with "don't touch the 'configure' button again"... But with so many people affected, it could be a good chance that it is reproducible. Thanks!
I would also say that it now happens after I did some minor tweaks of an existing integration.
Now you mention it, mine started misbehaving after I reconfigured the integration to add the external weather entity. I’ve deleted and re-added both the TRV and BT and so far it is behaving as expected.
I also get this on my POPP/Danfoss. Have tried reinstallations, grouping, non-grouping, childlock and everything and nothing works. When outside temperature isnt changing that quick its usualy not happening but with large drops below zero for example it seems to push the temp up to +35 direct! Im not sure and cannot prove it but I get the feeling that its connected with outside temperaturechanges in some way.
I have the same issue with POPP/Danfoss, but in a minute interval. Restarting HA, deleting and adding the Better Thermostat entity, childlock, non-grouping, not setting outside temp. settings, ... did not help.
@Kukuruts did you delete and add the Better Thermostat and then leave it. It looks like it could be going back in to reconfigure it causing the issue. I recreated mine and have left it alone and it seems to be stable now.
@CHARL13is Yes, I tried that as well, didn't help. What did help in the end was to recreate all my Better Thermostats, set the calibration mode to "normal" (I used "AI Time Based" before) and then restart HA.
Hum indeed, installed BT for the first time yesterday, and I wasn't sure why would it change change the target temperature I set, seeing nothing in the documentation about that. So looks like it may be that issue here
My thermostats are changing their target temperature as well by them self. But to a low value of 12°C. normally the temperature should be 23°C from 06:00 to 10:00. But at 09:19 (marked area) the temperature was set to 12°C. This happened today at my bathroom and some days before at another room.
BT 1.0.0 release BT UI 1.0.3 Home Assistant 2023.1.7 Thermostat: Homematic IP Smart Home Heizkörperthermostat basic HmIP-eTRV-B-2 Raspberrymatic 3.67.10.20230114
Trying to help debug I have setup a few different TRVs:
I have a theory that whenever a setting is changed it 'checks' the current temperature of the TRV and resets the thermostat to match. BT tells Tado to heat to 25c when it wants to 'aggressively heat', then I am wondering if BT reads back the 25c as a change it should be listening to (essentially listening to it's own instruction). Without heavily digging through the code I am unsure if this is the case, but it certainly looks like it.
Update, I setup child lock on all the TRVs and they still have randomly increased to 25 (the max for a tado TRV)
I also see this behavior. I have two of the same Nedis TRV's and one works perfectly now that i turned on overheating protection (before it would agressively heat the room and overshoot but approx 3 degrees.). However one of the rooms seems to have randomly changing target temperature :( the other seems quite stable. First i thought i was hitting the card in the mobile interface by accident by scrolling but sinc ei set it last night before sleep and this morning saw it had changed by itself in the middle of the night that theory is out.
What i can say is both TRVs are identical in the BT setup. today i'll try to re-setup the problematic room from scratch and see what this does. Is there any debug info i could/should provide that makes sense ?
As can be seen below it randomly changes the target temp at 04:00 for no specific reason. Hoever it does seems to follow a kind of pattern in regards to the heating curve. So perhaps the TRV target temp is somehow getting set as the BT target temp sometimes ? It looks like it hits target temp and tries to compensate almost like the internal TRV temp likely does.
Maybe this can help:
I've integrated my TRV with ZHA and found the following in the System Log:
better_thermostat BTRV Office 1: intigration: zha isn't native supported, feel free to open an issue, fallback adapter generic
This is fine and also works. But when I would remove BT and reconfigure it, there would be a warning for both the old (deleted) and the new configuration. At one time I found a warning for 4 different BT configurations but only one was actually there.
These incorrect warnings disappear when Home Assistant is restarted.
Could it be that after each reconfiguration (and probably also delete and re-add) the old configurations stay active until Home Assistant is restarted? Maybe they interfere with the target temperature calculation and set incorrect values.
Very interesting - i'll check if i perhaps see the same here and try a simple restart to see if this addresses the issue.
Maybe this can help:
I've integrated my TRV with ZHA and found the following in the System Log:
better_thermostat BTRV Office 1: intigration: zha isn't native supported, feel free to open an issue, fallback adapter generic
This is fine and also works. But when I would remove BT and reconfigure it, there would be a warning for both the old (deleted) and the new configuration. At one time I found a warning for 4 different BT configurations but only one was actually there.
These incorrect warnings disappear when Home Assistant is restarted.
Could it be that after each reconfiguration (and probably also delete and re-add) the old configurations stay active until Home Assistant is restarted? Maybe they interfere with the target temperature calculation and set incorrect values.
Have the exact same problems and have tried pretty much everything possible to fix it with no success. I also have the fallback to generic in my logs for every restart so a guess is that its related to the generic adapter.
better_thermostat Better sovrum : intigration: zwave_js isn't native supported, feel free to open an issue, fallback adapter generic better_thermostat Better köksbordet : intigration: zwave_js isn't native supported, feel free to open an issue, fallback adapter generic better_thermostat : intigration: zwave_js isn't native supported, feel free to open an issue, fallback adapter generic better_thermostat Better gillestugan : intigration: zwave_js isn't native supported, feel free to open an issue, fallback adapter generic better_thermostat Better vardagsrum : intigration: zwave_js isn't native supported, feel free to open an issue, fallback adapter generic
The restart of HA seems to have done the trick for my issue. Since i restarted the target temperature hasn't deviated and it seems to be working mostly as expected currently. However i'll keep monitoring. However i didn't have the logs regarding fallback to generic in mine.
I can confirm that behavior sometimes for aqara E1 as well.
After I wrote this it changed like 1 degree up to 21 and I touched nothing.
Would be insane to be fixed because this add-on is right now on the way to get purged.
I also have the feel that this is like a major issue because it seem to affect a lot people with a lot different stuff.
Window contact also not working.
I can confirm that behavior sometimes for aqara E1 as well.
After I wrote this it changed like 1 degree up to 21 and I touched nothing.
Would be insane to be fixed because this add-on is right now on the way to get purged.
I also have the feel that this is like a major issue because it seem to affect a lot people with a lot different stuff.
Window contact also not working.
Do you have anything in your logs when it happens ? What about a HASS restart - worked for mine it seems. Haven't seen anything happen since then.
And side note the window sensor works flawlessly for my setup with a cheap Nedis sensor.
@swoopdk you seem to be the only one solving it with a reboot. 😉
The log was at least a good call about the window because my window seems to have like proper states ["open","closed","tilted"] which are not implemented according to /better_thermostat/blob/master/custom_components/better_thermostat/events/window.py
. But I doubt to be the only person using HmIP-SHR with this plugin.
Temp stuff is still like stranger things.
@swoopdk you seem to be the only one solving it with a reboot. 😉
Lucky me i guess but credit there goes to @thomasschneiter and my behavior was consistent with what he wrote however i didn't try a basic debug like a restart. So far it's been stable for mine after the restart and i'm seeing no strangeness nor entries in the log (that i have found so far).
However it's still doing some extreme heating or short periods of time i see. But that is a seperate issue.
Hello Guys, I got the same problem, my Hardware is a ZBDongle-E with the latest Firmware, HA: 2022.12.1, Zigbee2MQTT: 1.29.0 and BT Beta56. The TRV is a Bosch Radiator Thermostat II with Firmware 3.04.03.
BT is configured with Offset and AI.
My latest logs look kinda interesting thats why I thought I should share them. The purple line is the set temperature and in the moring I set it to 20 Degress Celsius, because Zigbee2MQTT crashed over night the control starts after 7 o'clock. The rising flanks of the set temperature were all automatic and I only corrected them back to 20 degres. You can see that with rising room temperature the set temperature flanks get lower as well, as if the internal TRV temperature is set as the set temperature.
I will try to test this again with BT 1.0.0. I initially downgrade to Beta 56 because of marcjohnen. It did fix my problem for the first 2 days but now they reocurred.
Edit: This is an error I am getting for all thermostat. Could this be an issue for BT or does it not affect it?
error 2023-02-01 17:12:37Publish 'set' 'local_temperature_calibration' to 'Thermostat-Couch' failed: 'Error: Write 0x18fc260000094060/1 hvacThermostat({"localTemperatureCalibration":-60}, {"sendWhen":"active","timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":true,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false}) failed (Status 'INVALID_VALUE')'
I am officially out with BT. Today I was about to heat my room up from night mode and now my room has 24 degree.
I configured 20.5 degree and after I concluded that my room is literally on fire my result war that BT set itself to 28.5 degree. Luckily I was at home and could stop that nightmare. If I would have left my house abroad I could easily throw away any plant and my bills would be high af.
And for people keep telling me to reboot that stuff. Believe me. I did it more often then necessary.
Sorry to hear that happened to you and i completely understand the frustrations you might have.
However i'm still curious to figure this out so i'm wondering if you have any logs, debug information and/or graphs form the setup. You might have answered elsewhere i didn't see but i'm assuming you also tried removing the device and re-creating a fresh one ?
Sorry to hear that happened to you and i completely understand the frustrations you might have.
However i'm still curious to figure this out so i'm wondering if you have any logs, debug information and/or graphs form the setup. You might have answered elsewhere i didn't see but i'm assuming you also tried removing the device and re-creating a fresh one ?
This doesn't fix this issue, I have recreated all instances of BT and set each of them up differently, none of which have resolved the issue: https://github.com/KartoffelToby/better_thermostat/issues/913#issuecomment-1408437040
The logs had so much information it was difficult to identify anything noticeably interesting.
I did some more research. I did update BT to 1.0.0-release. Now the target-temp always sets to 30 Degrees (the max). This is the graph of my office control. Some information about the setup. BT 1.0.0-release with a Bosch radiator thermostat and a tuya temperature sensor. I had set BT to offset based and AI calibration, but realised at around 8:30 that the pi heating demand is to low and that I wont manage to heat up to the desired 20 degrees. So switch from offset based to target 1based heating. All the falling edges are me manually correcting down the target temperature. The only conclusion I can take from that graph is, that as soon as I get close to the target temperature the target temperature corrects itself up to 30 degrees. Also the correction upwards only happens after sometime of heating. Not on night-mode with a scheduler component.
This graph is from my living room with 3 Bosch radiator thermostats again with target temperature and ai calibration
Here we can also see the correction upwards after three hours.
If you guys have any questions or something I should test I am open to everything.
Started having the same issue today. I'm pretty sure the trigger was me changing the settings of the integration because it was working perfectly before that... :( A restart seems to have fixed the issue, for now
Which setting did you change and with which settings does it work for you?
Which setting did you change and with which settings does it work for you?
Stupidly enough, the "child lock" feature, which I'm not sure it's even working because whenever someone moves the thermostat it messes up the integration anyway.
Right now it is not jumping around anymore but still it seems that the target temperature is weirdly computed.
I unfortunately have no time to debug further, but this could be the line causing the issue: https://github.com/KartoffelToby/better_thermostat/blob/37dc46667ecf6585a8beed952a16d717d9bd6494/custom_components/better_thermostat/climate.py#L594
Does anyone see "No previously saved temperature found on startup, get it from the TRV" in their logs?
I don't know exactly when the startup function is called. Probably at least when creating the integration and restarting and maybe when changing the settings.
same with generic thermostat keeps lowering target temp every hour or so
I unfortunately have no time to debug further, but this could be the line causing the issue:
Does anyone see "No previously saved temperature found on startup, get it from the TRV" in their logs?
I don't know exactly when the startup function is called. Probably at least when creating the integration and restarting and maybe when changing the settings.
I cant confirm your message sadly, but enabled logging for me and found a line where my target temp gets changed. This is from this morning and as you can see, as soon as the current temp gets close to the target the target temp gets changed.
This is from the logs:
2023-02-03 10:15:48.506 DEBUG (MainThread) [custom_components.better_thermostat.utils.helpers] better_thermostat BüroRegelung: climate.thermostat_buro - output calib: -6.0
2023-02-03 10:15:48.506 DEBUG (MainThread) [custom_components.better_thermostat.utils.controlling] better_thermostat BüroRegelung: TO TRV set_local_temperature_calibration: climate.thermostat_buro from: -0.5 to: -6.0
2023-02-03 10:15:48.506 DEBUG (MainThread) [custom_components.better_thermostat.utils.helpers] better_thermostat BüroRegelung : climate.thermostat_buro / heating_power_valve_position - temp diff: 0.2 - heating power: 0.0053 - expected valve position: 38%
2023-02-03 10:15:51.518 DEBUG (MainThread) [custom_components.better_thermostat.utils.controlling] better_thermostat BüroRegelung: TO TRV set_temperature: climate.thermostat_buro from: 16.0 to: 28.5
2023-02-03 10:15:51.523 DEBUG (MainThread) [custom_components.better_thermostat.utils.controlling] better_thermostat BüroRegelung: climate.thermostat_buro / check_target_temp / _last: 28.5 - _current: 27.5
2023-02-03 10:15:51.894 DEBUG (MainThread) [custom_components.better_thermostat.events.trv] better_thermostat BüroRegelung : trigger_trv_change / _old_heating_setpoint: 27.5 - _new_heating_setpoint: 27.5 - _last_temperature: 27.5
2023-02-03 10:15:52.524 DEBUG (MainThread) [custom_components.better_thermostat.utils.controlling] better_thermostat BüroRegelung: climate.thermostat_buro / check_target_temp / _last: 28.5 - _current: 27.5
2023-02-03 10:15:52.587 DEBUG (MainThread) [custom_components.better_thermostat.events.trv] better_thermostat KücheRegelung: trigger_trv_change / _old_heating_setpoint: 19.0 - _new_heating_setpoint: 19.0 - _last_temperature: 16.0
2023-02-03 10:15:52.930 DEBUG (MainThread) [custom_components.better_thermostat.events.trv] better_thermostat BüroRegelung : trigger_trv_change / _old_heating_setpoint: 27.5 - _new_heating_setpoint: 28.5 - _last_temperature: 27.5
2023-02-03 10:15:52.931 DEBUG (MainThread) [custom_components.better_thermostat.events.trv] better_thermostat BüroRegelung : TRV climate.thermostat_buro decoded TRV target temp changed from 20.0 to 28.5
In the Last line you can the that the decoded TRV target temp gets changed from my set 20 degrees to the 28.5 spike seen in the graph. Can someone read more out of this?
Is maybe my TRV causing this, because it cant accept the BT set_calibration of -6? My Bosch TRV has only a range of -5 to +5 degrees for calibration.
Edit: This is the full log of BT before a change from 20 degrees target temp to 25.5 degrees target temp.
2023-02-03 11:04:48.581 DEBUG (MainThread) [custom_components.better_thermostat.events.trv] better_thermostat BüroRegelung: TRV climate.thermostat_buro sends new internal temperature from 25.1 to 24.9
2023-02-03 11:04:48.581 DEBUG (MainThread) [custom_components.better_thermostat.events.trv] better_thermostat BüroRegelung: trigger_trv_change / _old_heating_setpoint: 24.5 - _new_heating_setpoint: 24.5 - _last_temperature: 25.5
2023-02-03 11:04:48.582 DEBUG (MainThread) [custom_components.better_thermostat.events.trv] better_thermostat BüroRegelung : TRV climate.thermostat_buro sends new internal temperature from 25.1 to 24.9
2023-02-03 11:04:48.582 DEBUG (MainThread) [custom_components.better_thermostat.events.trv] better_thermostat BüroRegelung : trigger_trv_change / _old_heating_setpoint: 24.5 - _new_heating_setpoint: 24.5 - _last_temperature: 24.5
2023-02-03 11:04:48.582 DEBUG (MainThread) [custom_components.better_thermostat.utils.helpers] better_thermostat BüroRegelung: climate.thermostat_buro / heating_power_valve_position - temp diff: 5.3 - heating power: 0.0053 - expected valve position: 100%
2023-02-03 11:04:48.582 DEBUG (MainThread) [custom_components.better_thermostat.utils.helpers] better_thermostat BüroRegelung: climate.thermostat_buro - output calib: -6.0
2023-02-03 11:04:48.582 DEBUG (MainThread) [custom_components.better_thermostat.utils.controlling] better_thermostat BüroRegelung: TO TRV set_local_temperature_calibration: climate.thermostat_buro from: -0.5 to: -6.0
2023-02-03 11:04:51.592 DEBUG (MainThread) [custom_components.better_thermostat.utils.controlling] better_thermostat BüroRegelung: TO TRV set_temperature: climate.thermostat_buro from: 25.5 to: 25.5
2023-02-03 11:04:51.596 DEBUG (MainThread) [custom_components.better_thermostat.utils.controlling] better_thermostat BüroRegelung: climate.thermostat_buro / check_target_temp / _last: 25.5 - _current: 24.5
2023-02-03 11:04:52.597 DEBUG (MainThread) [custom_components.better_thermostat.utils.controlling] better_thermostat BüroRegelung: climate.thermostat_buro / check_target_temp / _last: 25.5 - _current: 24.5
2023-02-03 11:04:53.598 DEBUG (MainThread) [custom_components.better_thermostat.utils.controlling] better_thermostat BüroRegelung: climate.thermostat_buro / check_target_temp / _last: 25.5 - _current: 24.5
2023-02-03 11:04:54.596 DEBUG (MainThread) [custom_components.better_thermostat.events.trv] better_thermostat BüroRegelung : trigger_trv_change / _old_heating_setpoint: 24.5 - _new_heating_setpoint: 24.5 - _last_temperature: 24.5
2023-02-03 11:04:54.599 DEBUG (MainThread) [custom_components.better_thermostat.utils.controlling] better_thermostat BüroRegelung: climate.thermostat_buro / check_target_temp / _last: 25.5 - _current: 24.5
2023-02-03 11:04:55.601 DEBUG (MainThread) [custom_components.better_thermostat.utils.controlling] better_thermostat BüroRegelung: climate.thermostat_buro / check_target_temp / _last: 25.5 - _current: 24.5
2023-02-03 11:04:56.602 DEBUG (MainThread) [custom_components.better_thermostat.utils.controlling] better_thermostat BüroRegelung: climate.thermostat_buro / check_target_temp / _last: 25.5 - _current: 24.5
2023-02-03 11:04:57.601 DEBUG (MainThread) [custom_components.better_thermostat.events.trv] better_thermostat BüroRegelung: trigger_trv_change / _old_heating_setpoint: 24.5 - _new_heating_setpoint: 24.5 - _last_temperature: 25.5
2023-02-03 11:04:57.601 DEBUG (MainThread) [custom_components.better_thermostat.events.trv] better_thermostat BüroRegelung : trigger_trv_change / _old_heating_setpoint: 24.5 - _new_heating_setpoint: 24.5 - _last_temperature: 24.5
2023-02-03 11:04:57.603 DEBUG (MainThread) [custom_components.better_thermostat.utils.controlling] better_thermostat BüroRegelung: climate.thermostat_buro / check_target_temp / _last: 25.5 - _current: 24.5
2023-02-03 11:04:58.166 DEBUG (MainThread) [custom_components.better_thermostat.events.trv] better_thermostat BüroRegelung: trigger_trv_change / _old_heating_setpoint: 24.5 - _new_heating_setpoint: 24.5 - _last_temperature: 25.5
2023-02-03 11:04:58.166 DEBUG (MainThread) [custom_components.better_thermostat.events.trv] better_thermostat BüroRegelung : trigger_trv_change / _old_heating_setpoint: 24.5 - _new_heating_setpoint: 24.5 - _last_temperature: 24.5
2023-02-03 11:04:58.605 DEBUG (MainThread) [custom_components.better_thermostat.utils.controlling] better_thermostat BüroRegelung: climate.thermostat_buro / check_target_temp / _last: 25.5 - _current: 24.5
2023-02-03 11:04:58.619 DEBUG (MainThread) [custom_components.better_thermostat.events.trv] better_thermostat BüroRegelung: trigger_trv_change / _old_heating_setpoint: 24.5 - _new_heating_setpoint: 25.5 - _last_temperature: 25.5
2023-02-03 11:04:58.619 DEBUG (MainThread) [custom_components.better_thermostat.events.trv] better_thermostat BüroRegelung : trigger_trv_change / _old_heating_setpoint: 24.5 - _new_heating_setpoint: 25.5 - _last_temperature: 24.5
2023-02-03 11:04:58.619 DEBUG (MainThread) [custom_components.better_thermostat.events.trv] better_thermostat BüroRegelung : TRV climate.thermostat_buro decoded TRV target temp changed from 20.0 to 25.5
It seems like this line is causing the target temp change: https://github.com/KartoffelToby/better_thermostat/blob/master/custom_components/better_thermostat/events/trv.py#L176
But thats pretty odd, because of @guidocioni comment about child look I enabled mine and for this morning the changes were less, but they still occured. What do you think about this @swoopdk
Same problem here with HMIP-eTRV.
Still get the same problem temp goes up to 28C by itself with 1.01v
Same here, worked around the problem writing automation to bring my old temp back(have to set the proper temp there) but at least doesn't heat my house to 35*C :D
Prerequisites
Description
Target temperature is randomly set to a higher value. E.g. 26 or even 30°. My guess is, that the temperature meant for the thermostat is set as a target temperature of better thermostat, as it also changes in the gui. The warmer the room gets, the less this happens. So once it is about 20° and the desired temerature is more or less the temperature of the valve, the target temperature will not be set to a much higher one anymore. Before Version 1.0.0 this did not happen.
Steps to Reproduce
Expected behavior: The target temperature set in the gui should not change by itself.
Actual behavior: The target temperature in the gui changes by itself.
Versions
HA 1.29.1 BT 1.0.0 BT UI 1.0.3
Logfile attached logfile 2023 01 23 10 35 26 034.txt