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

Beta 54: Not calibrating correctly, should heat but it doesn't #783

Closed seakrebel closed 1 year ago

seakrebel commented 1 year ago

Prerequisites

Description

Better Thermostat is not calibrating the TRV correctly, it should be heating based on external temperature sensor, and it is showing that it is "heating" but the TRV is actually turned off because it thinks the target temperature is already achieved or even too high.

Steps to Reproduce

  1. Set up Better Thermostat with Offset Calibration with either "Normal" or "AI Time" mode
  2. Monitor side by side Better Thermostat and TRV widgets

Expected behavior:

TRV should be showing temperature from external temp sensor if it was calibrated correctly.

Actual behavior:

TRV shows different temperature from external temp sensor as if it was calculated/calibrated incorrectly

Versions

HA: Home Assistant 2022.12.0 BT: 1.0.0-beta54

Additional information

firefox_hLcGdhZ7Iw

derpuma commented 1 year ago

I am also using the tuya ME167 thermostat and have no problems with the external sensor. I do not use open windows and weather forecast so far. You know, that you use the regular lovelance cards and not the better thermostat ui cards?!

You can compare to my setup:

  {
  "home_assistant": {
    "installation_type": "Home Assistant OS",
    "version": "2022.12.6",
    "dev": false,
    "hassio": true,
    "virtualenv": false,
    "python_version": "3.10.7",
    "docker": true,
    "arch": "x86_64",
    "timezone": "Europe/Berlin",
    "os_name": "Linux",
    "os_version": "5.15.80",
    "supervisor": "2022.11.2",
    "host_os": "Home Assistant OS 9.4",
    "docker_version": "20.10.19",
    "chassis": "vm",
    "run_as_root": true
  },
  "custom_components": {
    "dwains_dashboard": {
      "version": "3.3.0",
      "requirements": []
    },
    "localtuya": {
      "version": "4.1.1",
      "requirements": []
    },
    "hacs": {
      "version": "1.28.4",
      "requirements": [
        "aiogithubapi>=22.2.4"
      ]
    },
    "better_thermostat": {
      "version": "1.0.0-beta54",
      "requirements": []
    }
  },
  "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-beta54",
    "config_flow": true,
    "dependencies": [
      "climate",
      "recorder"
    ],
    "after_dependencies": [
      "climate"
    ],
    "codeowners": [
      "@kartoffeltoby",
      "@RubenKelevra"
    ],
    "requirements": [],
    "is_built_in": false
  },
  "data": {
    "info": {
      "name": "K\u00fcche Heizung",
      "temperature_sensor": "sensor.kuche_t_f_sensor_temperature",
      "off_temperature": 20,
      "humidity_sensor": "sensor.kuche_t_f_sensor_humidity",
      "window_sensors": null,
      "outdoor_sensor": null,
      "weather": null,
      "window_off_delay": 0,
      "model": "ME167"
    },
    "thermostat": {
      "climate.kuche_thermostat": {
        "name": "K\u00fcche Thermostat",
        "state": "heat",
        "attributes": {
          "hvac_modes": [
            "auto",
            "heat",
            "off"
          ],
          "min_temp": 5.0,
          "max_temp": 35.0,
          "target_temp_step": 1.0,
          "current_temperature": 20.0,
          "temperature": 23.7,
          "hvac_action": "heating",
          "anti_scaling": "OFF",
          "battery_low": false,
          "child_lock": "UNLOCK",
          "current_heating_setpoint": 23.7,
          "frost_guard": "OFF",
          "linkquality": 39,
          "local_temperature": 20,
          "local_temperature_calibration": -1,
          "running_state": "heat",
          "system_mode": "heat",
          "friendly_name": "K\u00fcche Thermostat",
          "supported_features": 1
        },
        "bt_config": {
          "calibration": "local_calibration_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": "mqtt",
        "bt_integration": "mqtt",
        "model": "ME167"
      }
    },
    "external_temperature_sensor": {
      "entity_id": "sensor.kuche_t_f_sensor_temperature",
      "state": "18.8",
      "attributes": {
        "state_class": "measurement",
        "battery": 100,
        "humidity": 54.8,
        "linkquality": 27,
        "temperature": 18.8,
        "voltage": 3000,
        "unit_of_measurement": "\u00b0C",
        "device_class": "temperature",
        "friendly_name": "K\u00fcche Temperatur"
      },
      "last_changed": "2022-12-18T13:55:47.380099+00:00",
      "last_updated": "2022-12-18T14:00:46.118819+00:00",
      "context": {
        "id": "01GMJRJZS6M6EP2XQB0EEREPY8",
        "parent_id": null,
        "user_id": null
      }
    },
    "window_sensor": "-"
  }
}
seakrebel commented 1 year ago

I don't think the UI card makes a difference, but I switched to Better Thermostat UI card and will test it over the day.