better_thermostat
better_thermostat copied to clipboard
BT does not aim at the target temperature until making any changes in the settings
- TRV Model: 2 x Spirit Eurotronics Thermostatic Valve https://devices.zwave-js.io/?jumpTo=0x0148:0x0003:0x0001:0.0
- Integration of TRV: Z-Wave JS
- Output from Home Assistant Developer Tools state e.g.: heat
- Output from Home Assistant Device Diagnostic from BT
{
{
"home_assistant": {
"installation_type": "Home Assistant Supervised",
"version": "2024.1.2",
"dev": false,
"hassio": true,
"virtualenv": false,
"python_version": "3.11.6",
"docker": true,
"arch": "x86_64",
"timezone": "Europe/Berlin",
"os_name": "Linux",
"os_version": "6.5.6-arch2-1",
"supervisor": "2023.12.0",
"host_os": "Arch Linux",
"docker_version": "24.0.6",
"chassis": "vm",
"run_as_root": true
},
"custom_components": {
"waste_collection_schedule": {
"version": "1.44.0",
"requirements": [
"icalendar",
"recurring_ical_events",
"icalevents",
"bs4",
"lxml"
]
},
"battery_sim": {
"version": "1.0",
"requirements": []
},
"eufy_security": {
"version": "8.0.1",
"requirements": [
"websocket-client==1.4.2",
"aiortsp==1.3.7"
]
},
"google_home": {
"version": "1.11.0",
"requirements": [
"glocaltokens==0.7.0"
]
},
"grad_vol": {
"version": "1.0.0",
"requirements": []
},
"google_fit": {
"version": "v3.1.0",
"requirements": [
"oauth2client==4.1.3",
"google-api-python-client==2.82.0"
]
},
"hacs": {
"version": "1.33.0",
"requirements": [
"aiogithubapi>=22.10.1"
]
},
"epex_spot": {
"version": "2.3.1",
"requirements": [
"bs4"
]
},
"better_thermostat": {
"version": "1.5.0-beta4",
"requirements": []
},
"scheduler": {
"version": "v0.0.0",
"requirements": []
},
"asterisk": {
"version": "1.0.3",
"requirements": [
"asterisk-ami==0.1.6"
]
},
"chime_tts": {
"version": "v0.11.1",
"requirements": [
"pydub"
]
},
"blitzortung": {
"version": "1.0.1",
"requirements": [
"paho-mqtt>=1.5.0"
]
},
"webrtc": {
"version": "v3.5.1",
"requirements": []
},
"alarmo": {
"version": "v1.9.13",
"requirements": []
},
"unifigateway": {
"version": "0.3.3",
"requirements": [
"pyunifi==2.21"
]
},
"nordpool": {
"version": "0.0.14",
"requirements": [
"nordpool>=0.2",
"backoff"
]
}
},
"integration_manifest": {
"domain": "better_thermostat",
"name": "Better Thermostat",
"after_dependencies": [
"climate"
],
"codeowners": [
"@kartoffeltoby"
],
"config_flow": true,
"dependencies": [
"climate",
"recorder"
],
"documentation": "https://github.com/KartoffelToby/better_thermostat",
"iot_class": "local_push",
"issue_tracker": "https://github.com/KartoffelToby/better_thermostat/issues",
"requirements": [],
"version": "1.5.0-beta4",
"is_built_in": false
},
"data": {
"info": {
"name": "BT Wohnzimmer",
"temperature_sensor": "sensor.gw1000a_v1_7_5_indoor_temperature",
"off_temperature": 18,
"humidity_sensor": "sensor.gw1000a_v1_7_5_indoor_humidity",
"outdoor_sensor": "sensor.gw1000a_v1_7_5_outdoor_temperature",
"window_sensors": "binary_sensor.sensor_balkontur_window_door_is_open",
"weather": null,
"window_off_delay": 0,
"model": "Spirit/Spirit",
"window_off_delay_after": 0,
"tolerance": 0.0,
"target_temp_step": 0.1
},
"thermostat": {
"climate.heizung_schreibtisch": {
"name": "Heizung Schreibtisch",
"state": "heat",
"attributes": {
"hvac_modes": [
"off",
"heat"
],
"min_temp": 8,
"max_temp": 28,
"preset_modes": [
"none",
"Energy heat",
"Full power",
"Manufacturer specific"
],
"current_temperature": 20.4,
"temperature": 19.5,
"preset_mode": "none",
"friendly_name": "Heizung Schreibtisch",
"supported_features": 17
},
"bt_config": {
"calibration": "target_temp_based",
"calibration_mode": "heating_power_calibration",
"protect_overheating": false,
"no_off_system_mode": false,
"heat_auto_swapped": false,
"child_lock": false,
"homaticip": false
},
"bt_adapter": "zwave_js",
"bt_integration": "zwave_js",
"model": "Spirit"
},
"climate.heizung_balkonfenster": {
"name": "Heizung Balkonfenster",
"state": "heat",
"attributes": {
"hvac_modes": [
"off",
"heat"
],
"min_temp": 8,
"max_temp": 28,
"preset_modes": [
"none",
"Energy heat",
"Full power",
"Manufacturer specific"
],
"current_temperature": 21.8,
"temperature": 21,
"preset_mode": "none",
"friendly_name": "Heizung Balkonfenster",
"supported_features": 17
},
"bt_config": {
"calibration": "target_temp_based",
"calibration_mode": "heating_power_calibration",
"protect_overheating": false,
"no_off_system_mode": false,
"heat_auto_swapped": false,
"child_lock": false,
"homaticip": false
},
"bt_adapter": "zwave_js",
"bt_integration": "zwave_js",
"model": "Spirit"
}
},
"external_temperature_sensor": {
"entity_id": "sensor.gw1000a_v1_7_5_indoor_temperature",
"state": "19.8",
"attributes": {
"state_class": "measurement",
"unit_of_measurement": "\u00b0C",
"device_class": "temperature",
"friendly_name": "GW1000A_Pro Indoor Temperature"
},
"last_changed": "2024-01-15T11:23:16.634040+00:00",
"last_updated": "2024-01-15T11:23:16.634040+00:00",
"context": {
"id": "01HM6DS2RT9XW7PNCZ2SPM6993",
"parent_id": null,
"user_id": null
}
},
"window_sensor": {
"entity_id": "binary_sensor.sensor_balkontur_window_door_is_open",
"state": "off",
"attributes": {
"device_class": "door",
"friendly_name": "Sensor Balkont\u00fcr Window/door is open"
},
"last_changed": "2024-01-15T07:38:54.891397+00:00",
"last_updated": "2024-01-15T07:38:54.891397+00:00",
"context": {
"id": "01HM60Y8HBC8CWKXPEFQWFA381",
"parent_id": null,
"user_id": null
}
}
}
}
}
Description
Again and again BT does not aim to the target temperature. It just cares for keeping the room temperature at for example 18.3°C while the target temperature was set to 19.0°C. I can see that it is actually working but aiming at the wrong temperature. Making any changes to the BT settings makes BT "wake up" and working right again. What I normally do is changing the granularity of the temperature settings from 0.1°C to 1.0°C and back again. As soon as I've made any changes, I can hear the TRV motors working.
Steps to Reproduce
- Use BT for having a comfortable temperature.
- Wait some time.
Expected behavior:
BT should try to reach the target temperature.
Actual behavior:
Instead it keeps staying at a different temperature. As far as I remember, this was always below the target temperature which was set.
Versions
HA version: 2024.1.2 BT version: 1.5.0-beta4
Additional Information
To make any changes in the settings I set the granularity of the temperature settings from 0.1°C to 1.0°C and back again. However, changing granularity settings of BT results in a different problem, as described here: #1249
I have a https://www.zigbee2mqtt.io/devices/GS361A-H04.html
I reconfigured something to test on it few days ago, (I think I just set Maintenance Mode to ON, I turned it off already though), and since then it doesn't behave correctly.
You can see it from around ~19.1. - trv_office is the "raw" theromstat, "Heizung" the BT entity. It just doesn't let the temperature go down.
Today, again I had to make some changes in the BT settings to make BT aim to the target temperature.
The image shows, what actually happened.
- Switching BT from "off" to 19 degrees at 5:50 am.
- After some time, BT decides to stay somewhere at 18.2 degrees instead of increasing to 19 degrees.
- Opening windows to let some fresh air in.
- Closing windows. BT starts heating again
- After eventually reaching 19 (and more) degrees, BT doesn't keep the temperature and decreases it to somewhere around 18.2 again.
- Too cold for me to continue working at PC. So I decided to make the "Change-Settings-Workaround". I set the temperature interval to 1.0 and then back to 0.1 degrees.
- As always after making changes like that, BT changes its own target temperature. In this case it increases its own target temperature from 19 to 20.5 degrees, which I manually reverted back to 19 again. See #1249
- From now on BT works fine targeting the real temperature to 19 degrees.
- BT is oscillating around 19 degrees, what is okay for me.
- The sun is shining through my window and additionally warming up the room
Hopefully this problem can be solved sometimes.