Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Heating and cooling temp points change by themselves randomly #1519

Open
grintroy opened this issue Dec 17, 2024 · 4 comments
Open

Heating and cooling temp points change by themselves randomly #1519

grintroy opened this issue Dec 17, 2024 · 4 comments
Assignees
Labels
duplicate This issue or pull request already exists new bug incoming bug issue wait for feedback

Comments

@grintroy
Copy link

Prerequisites

Model name of Devices

  • Heating: Avatto ME167 (TS0601, _TZE200_9xfjixap), connected through zigbee2mqtt
  • Cooling: Generic Thermostat controlling Xiaomi Mijia Smart Tower Fan 2 (dmaker.fan.p45) through Wi-Fi connection

BT entity state

hvac_modes:
  - "off"
  - heat_cool
min_temp: 5
max_temp: 35
target_temp_step: 1
preset_modes:
  - none
current_temperature: 21.6
target_temp_high: 20
target_temp_low: 21
hvac_action: idle
preset_mode: none
window_open: false
call_for_heat: true
last_change: "2024-12-16T16:10:05.822398"
saved_temperature: null
humidity: 0
main_mode: "off"
tolerance: 0
heating_power: 0.0275
errors: "[]"
batteries: >-
  {"sensor.climate_sensor_temperature": {"battery": "80", "battery_id":
  "sensor.climate_sensor_battery"}, "climate.radiator": {"battery": "unknown",
  "battery_id": "binary_sensor.radiator_battery_low"}}
friendly_name: Bedroom
supported_features: 402

TRV state

hvac_modes:
  - auto
  - heat
  - "off"
min_temp: 5
max_temp: 35
target_temp_step: 1
current_temperature: 20
temperature: 19
hvac_action: idle
friendly_name: Radiator
supported_features: 385

All additional features like child lock, and frost/scale protection are off.

Generic thermostat (cooling, fan) state

hvac_modes:
  - cool
  - "off"
min_temp: 7
max_temp: 35
target_temp_step: 0.1
current_temperature: 21.6
temperature: 20
hvac_action: cooling
friendly_name: Fan Cooling
supported_features: 385

Debug dump at the time when the problem below happened

2024-12-17 19:52:06.070 DEBUG (MainThread) [custom_components.better_thermostat.events.trv] better_thermostat None: trigger_trv_change test / _old_heating_setpoint: 18.0 - _new_heating_setpoint: 21.0 - _last_temperature: 18.0
2024-12-17 19:52:06.070 DEBUG (MainThread) [custom_components.better_thermostat.events.trv] better_thermostat None: TRV climate.radiator decoded TRV target temp changed from 19.0 to 21.0
2024-12-17 19:52:06.071 DEBUG (MainThread) [custom_components.better_thermostat.calibration] better_thermostat None: climate.radiator - new setpoint calibration: 20.0 | external_temp: 21.6, target_temp: 21.0, trv_temp: 21.0
2024-12-17 19:52:06.072 DEBUG (MainThread) [custom_components.better_thermostat.utils.controlling] better_thermostat None: TO TRV set_temperature: climate.radiator from: 18.0 to: 20.0
2024-12-17 19:52:06.082 DEBUG (MainThread) [custom_components.better_thermostat.utils.controlling] better_thermostat None: climate.radiator / check_target_temp / _last: 20.0 - _current: 21.0

Explanation of setup

I've only got two "presets" I'm using with BT: default and sleep. I have two buttons and two corresponding automations that set the temperatures on the BT instance accordingly. The automations look like this, but with different temperature settings:

alias: Thermostat mode - Default
description: ""
triggers:
  - trigger: state
    entity_id:
      - input_button.thermostat_mode_default
conditions: []
actions:
  - action: climate.set_temperature
    metadata: {}
    data:
      target_temp_high: 25
      target_temp_low: 19
      hvac_mode: heat_cool
    target:
      entity_id: climate.bedroom
    enabled: true
  - action: climate.set_hvac_mode
    metadata: {}
    data:
      hvac_mode: heat_cool
    target:
      entity_id: climate.bedroom
    enabled: true
mode: single

Description

As explained in the setup section above, I'm supposed to have only two "presets" which are triggered by my other automations. But from time to time (usually 1-3 times a day) my temperature heating and cooling points change, usually with some overlap between them, so the heating point becomes higher than the cooling point.

image

This is just one example. The set points are different each time, and I haven't noticed any pattern so far. There might be a pattern with time when it happens, as I noticed it happening more likely about 30 seconds after I apply one of my "presets", or, more commonly, exactly at the beginning of an hour like 8:00, 18:00, etc.

The only solution I found so far is to manually trigger the preset to reset the temperatures, which is very far from ideal as it breaks the whole purpose of an automatically controlled system.

Here's the BT history for the last 26 hours. You can see that I manually changed the heating point a couple of times, but there are also short dips in cooling temperature, namely on

  • 16 Dec at 18:00
  • 17 Dec at
    • 6:00
    • 8:00
    • 12:00 (and onwards – no idea what happened there, but I was away, and then it got back to normal at 18:00)
    • 18:27
    • 19:52 (shortly after I got back home and triggered the default preset)
image

Steps to Reproduce

Frankly, I have absolutely no idea how to reproduce it, as I found no time/cause patterns for this issue. Any suggestions would be appreciated, and I'll gladly test it more.

Expected behavior:

Stable temperature points which do not change for no reason.

Actual behavior:

Temperature points change randomly multiple times a day, overlapping, and I have no idea why.

Versions

  • HA: 2024.12.1
  • BT: 1.6.1
@grintroy grintroy added the new bug incoming bug issue label Dec 17, 2024
@folfy
Copy link
Collaborator

folfy commented Dec 19, 2024

If you don't need local control on the controlled thermostats, just try enabling child lock in BT - This will ignore the local changes detected on your controlled thermostat(s).

I'm not sure if BT is able to handle the setpoint events from a dedicated heating and cooling entity correctly yet, so that might be the underlying issue/cause.

@grintroy
Copy link
Author

@folfy Appreciate your response. I'll try it with Child Lock on later today and will report back, although I'm not sure if it's going to help, because I'm fairly sure that the unit hasn't been adjusted manually — I'm the only user.

@folfy
Copy link
Collaborator

folfy commented Dec 19, 2024

It can be some other automation, or the TRV reporting a change late, that actually was triggered by BT initially, but the log messages indicate BT was at least told / thinking that it was changed, even if you didn't trigger it yourself.

climate.radiator decoded TRV target temp changed from 19.0 to 21.0

@folfy
Copy link
Collaborator

folfy commented Jan 9, 2025

More information/data needed, or we will have to close this issue. When providing debug logs, please make sure to provide a full log, including the full timeframe as well as before/after the problem occured. Working around TRV "changing on it's own" issues means, we need to fully understand what's happening / why the TRV might be reporting an unexpected change.

diagnostic data
IMPORTANT:
Download and paste the diagnostic data from your Better Thermostat Entity(s) below.
https://www.home-assistant.io/docs/configuration/troubleshooting/#download-diagnostics

debug log
Depending on how complicated you issue is, it might be necessary to enable debug logging for BT,
reproduce the issue, and then upload this logfile here.
https://www.home-assistant.io/docs/configuration/troubleshooting/#enabling-debug-logging

Current base-issue: #1532

@folfy folfy added duplicate This issue or pull request already exists wait for feedback labels Jan 9, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
duplicate This issue or pull request already exists new bug incoming bug issue wait for feedback
Projects
None yet
Development

No branches or pull requests

3 participants