KartoffelToby / better_thermostat

This custom component for Home Assistant will add crucial features to your climate-controlling TRV (Thermostatic Radiator Valves) to save you the work of creating automations to make it smart. It combines a room-temperature sensor, window/door sensors, weather forecasts, or an ambient temperature probe to decide when it should call for heat and automatically calibrate your TRVs to fix the imprecise measurements taken in the radiator's vicinity.
https://better-thermostat.org
GNU Affero General Public License v3.0
807 stars 124 forks source link

Target temperature in GUI changes by itself #913

Closed marcjohnen closed 1 year ago

marcjohnen commented 1 year ago

Prerequisites

{
  "home_assistant": {
    "installation_type": "Home Assistant Container",
    "version": "2022.11.2",
    "dev": false,
    "hassio": false,
    "virtualenv": false,
    "python_version": "3.10.7",
    "docker": true,
    "arch": "aarch64",
    "timezone": "Europe/Berlin",
    "os_name": "Linux",
    "os_version": "5.15.0-1023-raspi",
    "run_as_root": true
  },
  "custom_components": {
    "better_thermostat": {
      "version": "1.0.0",
      "requirements": []
    },
    "hacs": {
      "version": "1.29.1",
      "requirements": [
        "aiogithubapi>=22.10.1"
      ]
    }
  },
  "integration_manifest": {
    "domain": "better_thermostat",
    "name": "Better Thermostat",
    "documentation": "https://github.com/KartoffelToby/better_thermostat",
    "issue_tracker": "https://github.com/KartoffelToby/better_thermostat/issues",
    "iot_class": "local_push",
    "version": "1.0.0",
    "config_flow": true,
    "dependencies": [
      "climate",
      "recorder"
    ],
    "after_dependencies": [
      "climate"
    ],
    "codeowners": [
      "@kartoffeltoby"
    ],
    "requirements": [],
    "is_built_in": false
  },
  "data": {
    "info": {
      "name": "Office",
      "temperature_sensor": "sensor.tz3000_xr3htd96_ts0201_temperature",
      "off_temperature": 20,
      "humidity_sensor": "sensor.tz3000_xr3htd96_ts0201_humidity",
      "outdoor_sensor": "sensor.temperature_outside_temperature_2",
      "window_sensors": "binary_sensor.tz3000_au1rjicn_ts0203_iaszone_2",
      "weather": "weather.forecast_home",
      "window_off_delay": 15,
      "model": "TS0601"
    },
    "thermostat": {
      "climate.thermostat_office_thermostat": {
        "name": "Thermostat Office Thermostat",
        "state": "heat",
        "attributes": {
          "hvac_modes": [
            "off",
            "heat"
          ],
          "min_temp": 7.0,
          "max_temp": 30.0,
          "current_temperature": 24.5,
          "temperature": 21.5,
          "hvac_action": "heating",
          "system_mode": "[<SystemMode.Heat: 4>]/heat",
          "occupied_heating_setpoint": 2150,
          "friendly_name": "Thermostat Office Thermostat",
          "supported_features": 1
        },
        "bt_config": {
          "calibration": "target_temp_based",
          "calibration_mode": "default",
          "protect_overheating": false,
          "no_off_system_mode": true,
          "heat_auto_swapped": false,
          "child_lock": false,
          "homaticip": false
        },
        "bt_adapter": "zha",
        "bt_integration": "zha",
        "model": "TS0601"
      }
    },
    "external_temperature_sensor": {
      "entity_id": "sensor.tz3000_xr3htd96_ts0201_temperature",
      "state": "20.6",
      "attributes": {
        "state_class": "measurement",
        "unit_of_measurement": "\u00b0C",
        "device_class": "temperature",
        "friendly_name": "Temperature Office"
      },
      "last_changed": "2023-01-23T09:58:25.916898+00:00",
      "last_updated": "2023-01-23T09:58:25.916898+00:00",
      "context": {
        "id": "01GQF114BW58B0M8A62JRX88C6",
        "parent_id": null,
        "user_id": null
      }
    },
    "window_sensor": {
      "entity_id": "binary_sensor.tz3000_au1rjicn_ts0203_iaszone_2",
      "state": "off",
      "attributes": {
        "device_class": "opening",
        "icon": "mdi:window-closed",
        "friendly_name": "Window Office"
      },
      "last_changed": "2023-01-23T07:33:31.780136+00:00",
      "last_updated": "2023-01-23T07:33:31.780136+00:00",
      "context": {
        "id": "01GQERQT041Z8P3GM07Q407P23",
        "parent_id": null,
        "user_id": null
      }
    }
  }
}

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

  1. Set a temperature in the gui higher than the room temperature, so the heating turns on.

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

thomasschneiter commented 1 year ago

I see the same behaviour with my TV02 (_TZE200_hue3yfsn) image image

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.

marcjohnen commented 1 year ago

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.

marcjohnen commented 1 year ago

I reverted to bt 1.0 beta and the problem is gone.

wtom commented 1 year ago

I reverted to bt 1.0 beta and the problem is gone.

To which beta version?

marcjohnen commented 1 year ago

1.0.0-beta

wtom commented 1 year ago

1.0.0-beta

All betas have a number. So which one? 🫣

marcjohnen commented 1 year ago

I thought that is the number. Where do I find what you would like to know? image

marcjohnen commented 1 year ago

I reverted to 1.0.0-beta56

CHARL13is commented 1 year ago

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.

image

BT 1.0.0 HA 2023.1.7 TRV _TZE200_cwnjrr72 TH Sonoff SNZB-02

a8ree commented 1 year ago

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.

image

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

CHARL13is commented 1 year ago

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.

wtom commented 1 year ago

Child lock should prevent it in the BT options. Can you try?

CHARL13is commented 1 year ago

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.

CHARL13is commented 1 year ago

It worked for a bit but it's back up to 35 degrees again unfortunately.

jonhjean commented 1 year ago

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.

joshwillcock commented 1 year ago

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.

sebastianandress commented 1 year ago

I‘m having the same issue with an Aqara Thermostat E1

Pioneer42m commented 1 year ago

Screenshot_20230126_222357_Home Assistant 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!

CHARL13is commented 1 year ago

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.

samuelbagforsprivat commented 1 year ago

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.

Kukuruts commented 1 year ago

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.

image

CHARL13is commented 1 year ago

@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.

Kukuruts commented 1 year ago

@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.

alanoo81 commented 1 year ago

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

derjape commented 1 year ago

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

issue_12degree

joshwillcock commented 1 year ago

Trying to help debug I have setup a few different TRVs:

  1. Livingroom - Setup 'new' BT and never touched again.
  2. Family Room - Setup 'new' BT and purposely changed settings a few times.
  3. Bedroom - Setup 'new' BT and kept playing around with changing it constantly.

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)

swoopdk commented 1 year ago

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.

image

thomasschneiter commented 1 year ago

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.

swoopdk commented 1 year ago

Very interesting - i'll check if i perhaps see the same here and try a simple restart to see if this addresses the issue.

samuelbagforsprivat commented 1 year ago

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

swoopdk commented 1 year ago

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.

mrgohin commented 1 year ago

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.

swoopdk commented 1 year ago

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.

samuelbagforsprivat commented 1 year ago

@swoopdk you seem to be the only one solving it with a reboot. 😉

mrgohin commented 1 year ago

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 commented 1 year ago

@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.

HenningCode commented 1 year ago

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. grafik 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')'
mrgohin commented 1 year ago

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.

swoopdk commented 1 year ago

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 ?

joshwillcock commented 1 year ago

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.

HenningCode commented 1 year ago

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. grafik 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 grafik

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.

guidocioni commented 1 year ago

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

Screenshot 2023-02-02 at 18 46 48
HenningCode commented 1 year ago

Which setting did you change and with which settings does it work for you?

guidocioni commented 1 year ago

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.

fivef commented 1 year ago

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.

edgarmaloverian commented 1 year ago

same with generic thermostat keeps lowering target temp every hour or so

HenningCode commented 1 year ago

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.

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. grafik

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

Perfunctory85 commented 1 year ago

Same problem here with HMIP-eTRV.

samuelbagforsprivat commented 1 year ago

bt

Still get the same problem temp goes up to 28C by itself with 1.01v

I-Would-Like-To-Report-A-Bug-Please commented 1 year ago

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