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

Tolerance does not work #1314

Open IvoryBalboa opened 5 months ago

IvoryBalboa commented 5 months ago

Prerequisites

{ "home_assistant": { "installation_type": "Home Assistant OS", "version": "2024.3.0", "dev": false, "hassio": true, "virtualenv": false, "python_version": "3.12.2", "docker": true, "arch": "aarch64", "timezone": "Europe/Berlin", "os_name": "Linux", "os_version": "6.1.73-haos-raspi", "supervisor": "2024.02.1", "host_os": "Home Assistant OS 12.0", "docker_version": "24.0.7", "chassis": "embedded", "run_as_root": true }, "custom_components": { "better_thermostat": { "version": "1.5.0-beta7", "requirements": [] }, "spook_inverse": { "version": "2.2.1", "requirements": [] }, "alexa_media": { "version": "4.9.1", "requirements": [ "alexapy==1.27.10", "packaging>=20.3", "wrapt>=1.14.0" ] }, "fordpass": { "version": "0.1.66", "requirements": [] }, "multiscrape": { "version": "6.5.0", "requirements": [ "lxml>=4.9.1", "beautifulsoup4>=4.12.2" ] }, "hacs": { "version": "1.34.0", "requirements": [ "aiogithubapi>=22.10.1" ] }, "powercalc": { "version": "v1.10.5", "requirements": [ "numpy>=1.21.1" ] }, "robovac": { "version": "1.0.0", "requirements": [] }, "spook": { "version": "2.2.1", "requirements": [] }, "waste_collection_schedule": { "version": "1.45.1", "requirements": [ "icalendar", "recurring_ical_events", "icalevents", "beautifulsoup4", "lxml" ] } }, "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-beta7", "is_built_in": false }, "data": { "info": { "name": "Badezimmer", "temperature_sensor": "sensor.luftsensor_badezimmer_temperatur", "off_temperature": 20, "tolerance": 0.3, "target_temp_step": "0.1", "humidity_sensor": "sensor.luftsensor_badezimmer_luftfeuchtigkeit", "outdoor_sensor": "sensor.temperatur_aussen", "window_sensors": "binary_sensor.fenster_badezimmer", "window_off_delay": 10, "window_off_delay_after": 300, "weather": null, "cooler": null, "model": "lumi.airrtc.agl001" }, "thermostat": { "climate.hk_badezimmer": { "name": "HK Badezimmer", "state": "heat", "attributes": { "hvac_modes": [ "off", "heat" ], "min_temp": 7.0, "max_temp": 30.0, "current_temperature": 22.7, "temperature": 22.5, "system_mode": "[4]/heat", "occupied_cooling_setpoint": 700, "occupied_heating_setpoint": 2250, "friendly_name": "HK Badezimmer", "supported_features": 385 }, "bt_config": { "calibration": "target_temp_based", "calibration_mode": "default", "protect_overheating": true, "no_off_system_mode": false, "heat_auto_swapped": false, "child_lock": true, "homaticip": false }, "bt_adapter": "zha", "bt_integration": "zha", "model": "lumi.airrtc.agl001" } }, "external_temperature_sensor": { "entity_id": "sensor.luftsensor_badezimmer_temperatur", "state": "21.3", "attributes": { "state_class": "measurement", "unit_of_measurement": "\u00b0C", "device_class": "temperature", "friendly_name": "Badezimmer Temperatur" }, "last_changed": "2024-03-12T10:38:30.400117+00:00", "last_updated": "2024-03-12T10:38:30.400117+00:00", "context": { "id": "01HRS3W2G0JHNX03S11FF9QDG8", "parent_id": null, "user_id": null } }, "window_sensor": { "entity_id": "binary_sensor.fenster_badezimmer", "state": "off", "attributes": { "device_class": "window", "icon": "mdi:window-closed-variant", "friendly_name": "Fenster Badezimmer" }, "last_changed": "2024-03-11T08:10:36.381863+00:00", "last_updated": "2024-03-11T08:10:36.381863+00:00", "context": { "id": "01HRP90HEX4H2BJXS3NS6CJD0F", "parent_id": null, "user_id": null } } } }

Description

The tolerance (0.3 in my case) does not work. The temperature is set to 21.5° and if current temperature drops to 21.4°, the BT switches from idle to heating. I tried different settings for the tolerance, but none of them worked.

kirush0280 commented 5 months ago

I can confirm, tolerance set to 1 image

icex2 commented 4 months ago

Tested 1.5.0 and 1.5.1 with the currently latest core HA version 2024.4.4 and the tolerance value of any of my better thermostat entities is not considered. Downgrading to better thermostat 1.4.0 mitigates the issue for me. Tested with different better thermostat entities and tolerance values (0.5, 1, 2, 5).

Would be great to get this fixed, since my heating keeps turning on and off on minor temperature drops in my basement where I set the tolerance value to 2 to avoid this.

Let me know if I can further support the debugging process, e.g. providing information such as logs or testing anything.