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
773 stars 122 forks source link

BT keeps temperature at ~20.5°C, regardless of set temperature or on/off state of BT #1217

Open lucaperl opened 9 months ago

lucaperl commented 9 months ago

Prerequisites

Developer Tools state ```yaml hvac_modes: - heat - "off" min_temp: 5 max_temp: 35 target_temp_step: 0.5 current_temperature: 19.7 temperature: 17.5 hvac_action: idle window_open: false call_for_heat: true last_change: "2023-12-27T14:53:40.053773" saved_temperature: null humidity: 56.1 main_mode: heat tolerance: 0 heating_power: 0.01 errors: "[]" batteries: >- {"sensor.temperatursensor_buero_temperature": {"battery": "100", "battery_id": "sensor.temperatursensor_buero_battery"}, "sensor.temperatursensor_buero_humidity": {"battery": "100", "battery_id": "sensor.temperatursensor_buero_battery"}, "binary_sensor.fenstersensor_buero_tuer_contact": {"battery": "off", "battery_id": "binary_sensor.fenstersensor_buero_tuer_battery_low"}, "climate.thermostat_buero": {"battery": "off", "battery_id": "binary_sensor.thermostat_buero_battery_low"}} friendly_name: Heizung Buero supported_features: 1 ```
Device Diagnostics ```json { "home_assistant": { "installation_type": "Home Assistant OS", "version": "2023.12.4", "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.1.63-haos", "supervisor": "2023.12.0", "host_os": "Home Assistant OS 11.2", "docker_version": "24.0.7", "chassis": "vm", "run_as_root": true }, "custom_components": { "linkplay": { "version": "3.1.8", "requirements": [ "async-upnp-client>=0.27", "validators~=0.12", "chardet>=4.0.0" ] }, "better_thermostat": { "version": "1.4.0", "requirements": [] }, "hacs": { "version": "1.33.0", "requirements": [ "aiogithubapi>=22.10.1" ] }, "dwd_pollenflug": { "version": "1.0.2", "requirements": [ "pytz" ] } }, "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.4.0", "is_built_in": false }, "data": { "info": { "name": "Heizung Buero", "temperature_sensor": "sensor.temperatursensor_buero_temperature", "off_temperature": 17, "tolerance": 0.0, "humidity_sensor": "sensor.temperatursensor_buero_humidity", "outdoor_sensor": "sensor.temperatursensor_draussen_temperature", "window_sensors": "binary_sensor.fenstersensor_buero_tuer_contact", "weather": "weather.forecast_home", "window_off_delay": 10, "window_off_delay_after": 60, "cooler": null, "model": "TS0601_thermostat" }, "thermostat": { "climate.thermostat_buero": { "name": "Thermostat Buero", "state": "auto", "attributes": { "hvac_modes": [ "heat", "auto", "off" ], "min_temp": 5.0, "max_temp": 35.0, "target_temp_step": 0.5, "preset_modes": [ "none", "schedule", "manual", "boost", "complex", "comfort", "eco", "away" ], "current_temperature": 29.5, "temperature": 5.5, "hvac_action": "idle", "preset_mode": "manual", "friendly_name": "Thermostat Buero", "supported_features": 17 }, "bt_config": { "calibration": "target_temp_based", "calibration_mode": "heating_power_calibration", "protect_overheating": true, "no_off_system_mode": false, "heat_auto_swapped": true, "valve_maintenance": false, "child_lock": true, "homaticip": false }, "bt_adapter": "mqtt", "bt_integration": "mqtt", "model": "TS0601_thermostat" } }, "external_temperature_sensor": { "entity_id": "sensor.temperatursensor_buero_temperature", "state": "19.7", "attributes": { "state_class": "measurement", "unit_of_measurement": "\u00b0C", "device_class": "temperature", "friendly_name": "Temperatursensor Buero Temperatur" }, "last_changed": "2023-12-27T15:20:03.291774+00:00", "last_updated": "2023-12-27T15:20:03.291774+00:00", "context": { "id": "01HJNXRZEVRSX519T89Z77QFBW", "parent_id": null, "user_id": null } }, "window_sensor": { "entity_id": "binary_sensor.fenstersensor_buero_tuer_contact", "state": "off", "attributes": { "device_class": "door", "friendly_name": "Fenstersensor Buero Tuer T\u00fcr" }, "last_changed": "2023-12-27T13:37:22.348635+00:00", "last_updated": "2023-12-27T13:37:22.348635+00:00", "context": { "id": "01HJNQWYXC4D2BR354SNXVYDY7", "parent_id": null, "user_id": null } } } } ```

Description

I have 5 TuYa TS0601 thermostats in 4 rooms. Last year after some trial and error they worked flawlessly with these settings: Screenshot 2023-12-27 170353 (Klein)

This year, after deleting and re-adding the BT integrations, I cannot get them to function properly. BT is connected with the TRVs and it seems to control them, but somehow they are always keeping the temperature at ~20.5°C. Here is an example of the last 3 days where I've been away and had them set to 17,5 (the dip is me opening the windows to let fresh air in. after that, I have not been in the house):

BT-graph: grafik

TRV graph: grafik

As you can see, the BT graph does not show heating, but somehow it changes the target temperature of the TRV to keep the temperature at 20°.

Expected behavior:

Keep temperature at the desired level or keep the valve closed when BT is turned off.

Actual behavior:

Irregardless of the temperature setting it keeps the room at 20.5°. Even if BT is turned off.

Versions

HA: 2023.12.4 BT: 1.4.0

Additional Information

Things I have tried that did not fix it:

Did anyone encounter this? Is it a bug or am I messing something up? Where does it even take the 20.5 from? There is no value in Z2M or BT that is set to 20.5.

toabi commented 8 months ago

Ah. I have the same issue where it keeps the temperature constantly between 19.5 and 20…

toabi commented 8 months ago

I removed the weather sensor from that BT device… and that seems to have fixed it?