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
753 stars 123 forks source link

Thermostat keeps turning on/off in short timespans (floor heating) #1210

Open JoryHogeveen opened 9 months ago

JoryHogeveen commented 9 months ago

Prerequisites

Diasgnostics ```json { "home_assistant": { "installation_type": "Home Assistant Container", "version": "2023.12.3", "dev": false, "hassio": false, "virtualenv": false, "python_version": "3.11.6", "docker": true, "arch": "aarch64", "timezone": "Europe/Amsterdam", "os_name": "Linux", "os_version": "5.15.0-1044-raspi", "run_as_root": true }, "custom_components": { "frank_energie": { "version": "2.5.1", "requirements": [ "python-frank-energie==5.0.1" ] }, "eufy_security": { "version": "7.7.4", "requirements": [ "websocket-client==1.4.2", "aiortsp==1.3.7" ] }, "average": { "version": "2.3.1", "requirements": [ "colorlog==6.7.0" ] }, "luchtmeetnet": { "version": "0.0.3", "requirements": [ "luchtmeetnet==0.0.2" ] }, "powercalc": { "version": "v1.9.10", "requirements": [ "numpy>=1.21.1" ] }, "dwd_pollenflug": { "version": "1.0.2", "requirements": [ "pytz" ] }, "better_thermostat": { "version": "1.4.0", "requirements": [] }, "adaptive_lighting": { "version": "1.20.0", "requirements": [ "ulid-transform" ] }, "sonoff": { "version": "3.5.3", "requirements": [ "pycryptodome>=3.6.6" ] }, "afvalbeheer": { "version": "5.2.11", "requirements": [ "rsa", "pycryptodome" ] }, "zha_toolkit": { "version": "v1.1.8", "requirements": [ "pytz" ] }, "worlds_air_quality_index": { "version": "1.0.4", "requirements": [] }, "hacs": { "version": "1.33.0", "requirements": [ "aiogithubapi>=22.10.1" ] }, "toon_climate": { "version": "1.0.12", "requirements": [] }, "enphase_envoy": { "version": "0.1.3", "requirements": [ "envoy-utils" ] } }, "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": "HACS Better Thermostat", "temperature_sensor": "sensor.average_current_temperature", "off_temperature": 17, "tolerance": 0.5, "window_off_delay": 300, "window_off_delay_after": 300, "humidity_sensor": "sensor.sensor_climate_livingroom_humidity", "outdoor_sensor": "sensor.sensor_climate_garden_temperature", "weather": "weather.openweathermap", "window_sensors": null, "cooler": null, "model": "DIYLESS Thermostat" }, "thermostat": { "climate.diyless_thermostat": { "name": "DIYLESS Thermostat", "state": "heat", "attributes": { "hvac_modes": [ "heat", "off" ], "min_temp": 5.0, "max_temp": 30.0, "target_temp_step": 0.5, "current_temperature": 19.4, "temperature": 19.0, "hvac_action": "idle", "friendly_name": "DIYLESS Thermostat", "supported_features": 1 }, "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": true, "homaticip": true }, "bt_adapter": "mqtt", "bt_integration": "mqtt", "model": "DIYLESS Thermostat" } }, "external_temperature_sensor": { "entity_id": "sensor.average_current_temperature", "state": "19.0", "attributes": { "state_class": "measurement", "start": "2023-12-19T09:46:31+01:00", "end": "2023-12-19T09:46:36+01:00", "sources": [ "climate.diyless_thermostat", "climate.toon_thermostat", "sensor.sensor_climate_livingroom_temperature" ], "count_sources": 3, "available_sources": 2, "count": 4, "max_value": 19.4, "min_value": 18.6, "unit_of_measurement": "\u00b0C", "device_class": "temperature", "icon": "mdi:home-thermometer", "friendly_name": "Average Current Temperature" }, "last_changed": "2023-12-19T08:34:06.630074+00:00", "last_updated": "2023-12-19T08:46:36.662298+00:00", "context": { "id": "01HJ0M2T3P83X12KGM17JXRPA7", "parent_id": null, "user_id": null } }, "window_sensor": "-" } } ```

Description

I'm not sure why but BT keeps asked for heat for a very short time and then turning the thermostat off again. This is very gas costly as the HVAC will use more gas on startup. And if it turns off directly this usage was for nothing.

I did setup a tolerance of 0.5 but that also doesn't seem to do anything.

Screenshots

BT

image

Actual thermostat

image

Expected behavior:

I would expect that once the actual thermostat asks for heat BT will at least allow it to run for a while to prevent unnecessary gas usage.

I also would expect that since I've setup a tolerance of 0.5 it would allow the measured temperature to go down 0.5 degrees before asking for heat at all. This unfortunately does not happen.

Actual behavior:

The BT thermostat doesn't account for tolerance and keeps toggling heat on/off on my real thermostat.

Versions

BT: 1.4.0 HA: 2023.12.3

Additional info

Is there a floot-heating mode for BT? I do not have any radiators or anything else, just floor heating in the entire house.

HA14894 commented 9 months ago

I’ve experienced a very similar issue.

I installed BT and set it up with a single one of my smartTRV / climate entities.

That entity keeps reverting itself to “off”. I set it to auto mode or manual ‘heat’. The first time I change the mode it reverts to ‘off’ instantly. The next time it holds the mode change to what I have selected for a variable amount of time but does eventually revert to ‘off’.

I love the detail and how it is very similar to the Tado graphical display but while this is happening it’s not viable to use so the integration has been disabled.

IMG_2056 IMG_2072

atienza87 commented 9 months ago

Same problem here. image

My TRV is everytime opening and closing...

RsknCankov commented 8 months ago

After installing 1.5.0-beta facing same issue with all of my TRVs

JoryHogeveen commented 8 months ago

image

Another day of constant cycle issues. Ended up disabling the addon, trying Versatile Thermostat now as an alternative.

jimmyburnworld commented 8 months ago

I have a similar issue, however it is only with one BT entity out of the ten I have configured. My dining room and living room have the same configuration: 1 temperature sensor and 2 TRVs.

The living room works fine, however the dining room is constantly cycling during heating and also does not stop 'heating' when the BT_DiningRoom climate entity is switched from 'heat' to 'off'.

I'm sat working in my Dining room currently and the TRV is just open-close-open-close every 10 seconds...