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
868 stars 129 forks source link

Sonoff TRVZB - Completely unusable #1372

Open Unclezz opened 4 months ago

Unclezz commented 4 months ago

Prerequisites

Sonoff TRVZB

hvac_modes:
  - "off"
  - auto
  - heat
min_temp: 4
max_temp: 35
target_temp_step: 0.5
current_temperature: 29.5
temperature: 7
hvac_action: idle
friendly_name: STUDIO
supported_features: 385
{
  "home_assistant": {
    "installation_type": "Home Assistant OS",
    "version": "2024.7.3",
    "dev": false,
    "hassio": true,
    "virtualenv": false,
    "python_version": "3.12.4",
    "docker": true,
    "arch": "x86_64",
    "timezone": "Europe/Prague",
    "os_name": "Linux",
    "os_version": "6.6.33-haos",
    "supervisor": "2024.06.2",
    "host_os": "Home Assistant OS 12.4",
    "docker_version": "26.1.4",
    "chassis": "vm",
    "run_as_root": true
  },
  "custom_components": {
    "hacs": {
      "documentation": "https://hacs.xyz/docs/configuration/start",
      "version": "1.34.0",
      "requirements": [
        "aiogithubapi>=22.10.1"
      ]
    },
    "climate_group": {
      "documentation": "https://github.com/bjrnptrsn/climate_group",
      "version": "1.0.5",
      "requirements": []
    },
    "better_thermostat": {
      "documentation": "https://github.com/KartoffelToby/better_thermostat",
      "version": "1.6.0",
      "requirements": []
    }
  },
  "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.6.0",
    "is_built_in": false
  },
  "setup_times": {
    "null": {
      "setup": 3.3059000998036936e-05
    },
    "01J2YBS89FPYEQR6T18HHJ99EB": {
      "wait_import_platforms": -0.2178014900018752,
      "config_entry_setup": 0.23754824899879168
    },
    "01J2YBWHST3QN4VM5XPDR6BPBE": {
      "wait_import_platforms": -0.23677958999905968,
      "config_entry_setup": 0.24055728299936163
    },
    "01J2YCF571SNC6E6AA9BREH2MR": {
      "wait_import_platforms": -0.24055505800060928,
      "config_entry_setup": 0.2434038020001026
    },
    "01J2YCMEE7QGXDG8XH2NX13XJN": {
      "wait_import_platforms": -0.24341603699940606,
      "config_entry_setup": 0.24594085100034135
    },
    "01J3AK3F5W542VVYFVSJJJHEDN": {
      "wait_import_platforms": -0.24593188099970575,
      "config_entry_setup": 0.24832524500016007
    },
    "01J3AMDRH68AQ811X0NF17B62V": {
      "wait_import_platforms": -0.24832179200166138,
      "config_entry_setup": 0.2507489820018236
    }
  },
  "data": {
    "info": {
      "name": "Studio_Heating",
      "temperature_sensor": "sensor.tempstudio_temperature",
      "off_temperature": 15,
      "tolerance": 0.0,
      "target_temp_step": 0.0,
      "humidity_sensor": "sensor.tempstudio_humidity",
      "weather": "weather.forecast_home",
      "window_sensors": null,
      "outdoor_sensor": null,
      "cooler": null,
      "window_off_delay": 0,
      "window_off_delay_after": 0,
      "model": "TRVZB"
    },
    "thermostat": {
      "climate.trv_studio": {
        "name": "STUDIO",
        "state": "off",
        "attributes": {
          "hvac_modes": [
            "off",
            "auto",
            "heat"
          ],
          "min_temp": 4.0,
          "max_temp": 35.0,
          "target_temp_step": 0.5,
          "current_temperature": 29.5,
          "temperature": 7.0,
          "hvac_action": "idle",
          "friendly_name": "STUDIO",
          "supported_features": 385
        },
        "bt_config": {
          "calibration": "target_temp_based",
          "calibration_mode": "heating_power_calibration",
          "protect_overheating": true,
          "no_off_system_mode": false,
          "heat_auto_swapped": false,
          "child_lock": false,
          "homaticip": false
        },
        "bt_adapter": "mqtt",
        "bt_integration": "mqtt",
        "model": "TRVZB"
      }
    },
    "external_temperature_sensor": {
      "entity_id": "sensor.tempstudio_temperature",
      "state": "28.7",
      "attributes": {
        "state_class": "measurement",
        "unit_of_measurement": "\u00b0C",
        "device_class": "temperature",
        "friendly_name": "TempStudio Temperature"
      },
      "last_changed": "2024-07-23T15:58:38.398683+00:00",
      "last_reported": "2024-07-23T15:58:38.398683+00:00",
      "last_updated": "2024-07-23T15:58:38.398683+00:00",
      "context": {
        "id": "01J3G51V9Y8NB3RC76PWWX8DNP",
        "parent_id": null,
        "user_id": null
      }
    },
    "window_sensor": "-"
  }
}

Description

Every time you try to control a Sonoff Valve through BT, the valve goes offline and reset its state. On the valve LED you always read OF. If you try to change value on the valve, the same is not reflected in BT or anywhere else. Then the valve goes again to OF.

Steps to Reproduce

Simply use BT to realize what described above.

Expected behavior:

Valve to react on BT input and viceversa.

Actual behavior:

Every time you try to control a Sonoff Valve through BT, the valve goes offline and reset its state. On the valve LED you always read OF. If you try to change value on the valve, the same is not reflected in BT or anywhere else. Then the valve goes again to OF.

Versions

HA: Core 2024.7.3 Supervisor 2024.06.2 Operating System 12.4 Frontend 20240710.0

BT: 1.6.0

Additional Information

If you remove BT the valves are working perfectly with the standard HA climate control.

Unclezz commented 4 months ago

Attaching the debug from BT on the same valve. You will notice that one other sensor initiallyu configured has values out of range. I can confirm that this is not the issue. I reconfigured the valve in BT without taking the values from that sensor but taking them directly from the valve itself. Unfortunately the valve has the same behavior described in the bug opening.

What resonates to me is the error "ERROR (Recorder) [homeassistant] Error doing job: Task was destroyed but it is pending! (<Task pending name='Task-93145' coro=<control_queue() running at /config/custom_components/better_thermostat/utils/controlling.py:47> wait_for=>)

2024-07-23 18:04:13.909 ERROR (MainThread) [homeassistant.components.mqtt.number] Invalid value for number.tempstudio_temperature_periodic_report: 120 (range 0.0 - 100.0)
2024-07-23 18:04:13.909 ERROR (MainThread) [homeassistant.components.mqtt.number] Invalid value for number.tempstudio_humidity_periodic_report: 120 (range 0.0 - 100.0)
2024-07-23 18:04:14.109 ERROR (MainThread) [homeassistant.components.mqtt.number] Invalid value for number.tempstudio_temperature_periodic_report: 120 (range 0.0 - 100.0)
2024-07-23 18:04:14.109 ERROR (MainThread) [homeassistant.components.mqtt.number] Invalid value for number.tempstudio_humidity_periodic_report: 120 (range 0.0 - 100.0)
2024-07-23 18:29:25.105 ERROR (MainThread) [custom_components.better_thermostat.utils.helpers] better_thermostat None: climate.trv_studio HVAC mode auto is not supported by this device, is it possible that you forgot to set the heat auto swapped option?
2024-07-23 18:51:01.509 DEBUG (MainThread) [custom_components.better_thermostat.adapters.delegate] better_thermostat None: uses adapter mqtt for trv climate.trv_studio
2024-07-23 18:51:01.511 INFO (MainThread) [custom_components.better_thermostat.climate] better_thermostat Studio_Heating: Waiting for entity to be ready...
2024-07-23 18:51:01.513 INFO (MainThread) [custom_components.better_thermostat.climate] better_thermostat Studio_Heating: Starting version 1.6.0. Waiting for entity to be ready...
2024-07-23 18:51:01.513 DEBUG (MainThread) [custom_components.better_thermostat.climate] better_thermostat Studio_Heating: Startup config, BT hvac mode is heat, Target temp 34.0
2024-07-23 18:51:01.514 DEBUG (MainThread) [custom_components.better_thermostat.calibration] better_thermostat None: climate.trv_studio - new setpoint calibration: 34.5 | external_temp: 28.7, target_temp: 34.0, trv_temp: 29.5
2024-07-23 18:51:03.346 ERROR (Recorder) [homeassistant] Error doing job: Task was destroyed but it is pending! (<Task pending name='Task-93145' coro=<control_queue() running at /config/custom_components/better_thermostat/utils/controlling.py:47> wait_for=<Future pending cb=[Task.task_wakeup()]>>)
2024-07-23 18:51:04.516 DEBUG (MainThread) [custom_components.better_thermostat.climate] better_thermostat Studio_Heating: get last avg outdoor temps...
2024-07-23 18:51:09.524 INFO (MainThread) [custom_components.better_thermostat.climate] better_thermostat Studio_Heating: startup completed.
2024-07-23 18:51:09.557 DEBUG (MainThread) [custom_components.better_thermostat.adapters.delegate] better_thermostat -: uses adapter mqtt for trv climate.trv_studio
2024-07-23 18:51:09.557 DEBUG (MainThread) [custom_components.better_thermostat.utils.helpers] better thermostat: Found local calibration entity number.trv_studio_local_temperature_calibration for climate.trv_studio
2024-07-23 18:51:09.558 DEBUG (MainThread) [custom_components.better_thermostat.utils.helpers] better thermostat: Could not find valve position entity for climate.trv_studio
2024-07-23 18:51:15.808 DEBUG (MainThread) [custom_components.better_thermostat.config_flow] Updated config: {'name': 'Studio_Heating', 'thermostat': [{'trv': 'climate.trv_studio', 'integration': 'mqtt', 'model': 'TRVZB', 'adapter': None, 'advanced': {'calibration': 'target_temp_based', 'calibration_mode': 'heating_power_calibration', 'protect_overheating': True, 'no_off_system_mode': False, 'heat_auto_swapped': False, 'child_lock': True, 'homaticip': False}}], 'temperature_sensor': 'sensor.tempstudio_temperature', 'off_temperature': 15, 'tolerance': 0.0, 'target_temp_step': 0.0, 'humidity_sensor': 'sensor.tempstudio_humidity', 'weather': 'weather.forecast_home', 'window_sensors': None, 'outdoor_sensor': None, 'cooler': None, 'window_off_delay': 0, 'window_off_delay_after': 0, 'model': 'TRVZB'}
2024-07-23 18:51:15.811 DEBUG (MainThread) [custom_components.better_thermostat.adapters.delegate] better_thermostat None: uses adapter mqtt for trv climate.trv_studio
2024-07-23 18:51:15.813 INFO (MainThread) [custom_components.better_thermostat.climate] better_thermostat Studio_Heating: Waiting for entity to be ready...
2024-07-23 18:51:15.814 DEBUG (MainThread) [custom_components.better_thermostat.adapters.delegate] better_thermostat None: uses adapter mqtt for trv climate.trv_studio
2024-07-23 18:51:15.818 INFO (MainThread) [custom_components.better_thermostat.climate] better_thermostat Studio_Heating: Waiting for entity to be ready...
2024-07-23 18:51:15.818 INFO (MainThread) [custom_components.better_thermostat.climate] better_thermostat Studio_Heating: Starting version 1.6.0. Waiting for entity to be ready...
2024-07-23 18:51:15.819 DEBUG (MainThread) [custom_components.better_thermostat.climate] better_thermostat Studio_Heating: Undefined target temperature, falling back to 7.0
2024-07-23 18:51:15.819 DEBUG (MainThread) [custom_components.better_thermostat.climate] better_thermostat Studio_Heating: No previously hvac mode found on startup, turn bt to trv mode off
2024-07-23 18:51:15.819 DEBUG (MainThread) [custom_components.better_thermostat.climate] better_thermostat Studio_Heating: Startup config, BT hvac mode is off, Target temp 7.0
2024-07-23 18:51:15.819 DEBUG (MainThread) [custom_components.better_thermostat.calibration] better_thermostat None: climate.trv_studio - new setpoint calibration: 4.0 | external_temp: 28.7, target_temp: 7.0, trv_temp: 29.5
2024-07-23 18:51:15.819 INFO (MainThread) [custom_components.better_thermostat.climate] better_thermostat Studio_Heating: Starting version 1.6.0. Waiting for entity to be ready...
2024-07-23 18:51:15.819 DEBUG (MainThread) [custom_components.better_thermostat.climate] better_thermostat Studio_Heating: Undefined target temperature, falling back to 7.0
2024-07-23 18:51:15.819 DEBUG (MainThread) [custom_components.better_thermostat.climate] better_thermostat Studio_Heating: No previously hvac mode found on startup, turn bt to trv mode off
2024-07-23 18:51:15.819 DEBUG (MainThread) [custom_components.better_thermostat.climate] better_thermostat Studio_Heating: Startup config, BT hvac mode is off, Target temp 7.0
2024-07-23 18:51:15.819 DEBUG (MainThread) [custom_components.better_thermostat.calibration] better_thermostat None: climate.trv_studio - new setpoint calibration: 4.0 | external_temp: 28.7, target_temp: 7.0, trv_temp: 29.5
2024-07-23 18:51:18.821 DEBUG (MainThread) [custom_components.better_thermostat.climate] better_thermostat Studio_Heating: get last avg outdoor temps...
2024-07-23 18:51:18.823 DEBUG (MainThread) [custom_components.better_thermostat.climate] better_thermostat Studio_Heating: get last avg outdoor temps...
2024-07-23 18:51:22.031 DEBUG (MainThread) [custom_components.better_thermostat.climate] better_thermostat Studio_Heating: HA set target temperature to 32.5 & None
2024-07-23 18:51:22.036 DEBUG (MainThread) [custom_components.better_thermostat.calibration] better_thermostat None: climate.trv_studio - new setpoint calibration: 33.0 | external_temp: 28.7, target_temp: 32.5, trv_temp: 29.5
2024-07-23 18:51:23.073 DEBUG (MainThread) [custom_components.better_thermostat.climate] better_thermostat Studio_Heating: HA set target temperature to 34.0 & None
2024-07-23 18:51:23.829 INFO (MainThread) [custom_components.better_thermostat.climate] better_thermostat Studio_Heating: startup completed.
2024-07-23 18:51:25.038 DEBUG (MainThread) [custom_components.better_thermostat.utils.helpers] better_thermostat None: climate.trv_studio / heating_power_valve_position - temp diff: 5.3 - heating power: 0.01 - expected valve position: 100%
2024-07-23 18:51:25.038 DEBUG (MainThread) [custom_components.better_thermostat.calibration] better_thermostat None: climate.trv_studio - new setpoint calibration: 35.0 | external_temp: 28.7, target_temp: 34.0, trv_temp: 29.5
2024-07-23 18:51:28.040 DEBUG (MainThread) [custom_components.better_thermostat.utils.helpers] better_thermostat None: climate.trv_studio / heating_power_valve_position - temp diff: 5.3 - heating power: 0.01 - expected valve position: 100%
2024-07-23 18:51:28.041 DEBUG (MainThread) [custom_components.better_thermostat.calibration] better_thermostat None: climate.trv_studio - new setpoint calibration: 35.0 | external_temp: 28.7, target_temp: 34.0, trv_temp: 29.5
2024-07-23 18:51:37.376 DEBUG (MainThread) [custom_components.better_thermostat.events.trv] better_thermostat None: trigger_trv_change test / _old_heating_setpoint: 7.0 - _new_heating_setpoint: 7.0 - _last_temperature: 7.0
2024-07-23 18:51:37.478 DEBUG (MainThread) [custom_components.better_thermostat.events.trv] better_thermostat None: trigger_trv_change test / _old_heating_setpoint: 7.0 - _new_heating_setpoint: 7.5 - _last_temperature: 7.0
2024-07-23 18:51:39.627 DEBUG (MainThread) [custom_components.better_thermostat.events.trv] better_thermostat None: trigger_trv_change test / _old_heating_setpoint: 7.5 - _new_heating_setpoint: 20.0 - _last_temperature: 7.0
2024-07-23 18:52:03.176 ERROR (MainThread) [homeassistant.components.mqtt.number] Invalid value for number.tempstudio_temperature_periodic_report: 120 (range 0.0 - 100.0)
2024-07-23 18:52:03.176 ERROR (MainThread) [homeassistant.components.mqtt.number] Invalid value for number.tempstudio_humidity_periodic_report: 120 (range 0.0 - 100.0)
2024-07-23 18:52:03.383 ERROR (MainThread) [homeassistant.components.mqtt.number] Invalid value for number.tempstudio_temperature_periodic_report: 120 (range 0.0 - 100.0)
2024-07-23 18:52:03.383 ERROR (MainThread) [homeassistant.components.mqtt.number] Invalid value for number.tempstudio_humidity_periodic_report: 120 (range 0.0 - 100.0)
2024-07-23 18:52:03.476 ERROR (MainThread) [homeassistant.components.mqtt.number] Invalid value for number.tempstudio_temperature_periodic_report: 120 (range 0.0 - 100.0)
2024-07-23 18:52:03.477 ERROR (MainThread) [homeassistant.components.mqtt.number] Invalid value for number.tempstudio_humidity_periodic_report: 120 (range 0.0 - 100.0)
<<..>>
2024-07-23 18:52:04.926 DEBUG (MainThread) [custom_components.better_thermostat.events.temperature] better_thermostat None: external_temperature changed from 28.7 to 29.0
2024-07-23 18:52:04.927 DEBUG (MainThread) [custom_components.better_thermostat.utils.helpers] better_thermostat None: climate.trv_studio / heating_power_valve_position - temp diff: 5.0 - heating power: 0.01 - expected valve position: 100%
2024-07-23 18:52:04.927 DEBUG (MainThread) [custom_components.better_thermostat.calibration] better_thermostat None: climate.trv_studio - new setpoint calibration: 35.0 | external_temp: 29.0, target_temp: 34.0, trv_temp: 29.5
2024-07-23 18:52:04.927 DEBUG (MainThread) [custom_components.better_thermostat.utils.controlling] better_thermostat None: TO TRV set_hvac_mode: climate.trv_studio from: heat to: off
2024-07-23 18:52:04.927 DEBUG (MainThread) [custom_components.better_thermostat.adapters.generic] better_thermostat None: set_hvac_mode off
2024-07-23 18:52:05.175 ERROR (MainThread) [homeassistant.components.mqtt.number] Invalid value for number.tempstudio_temperature_periodic_report: 120 (range 0.0 - 100.0)
2024-07-23 18:52:05.175 ERROR (MainThread) [homeassistant.components.mqtt.number] Invalid value for number.tempstudio_humidity_periodic_report: 120 (range 0.0 - 100.0)
2024-07-23 18:54:53.374 ERROR (MainThread) [homeassistant] Error doing job: Task was destroyed but it is pending! (<Task pending name='Task-93253' coro=<control_queue() running at /config/custom_components/better_thermostat/utils/controlling.py:47> wait_for=<Future pending cb=[Task.task_wakeup()]>>)
2024-07-23 18:54:53.375 ERROR (MainThread) [homeassistant] Error doing job: Task was destroyed but it is pending! (<Task pending name='Task-93250' coro=<control_queue() running at /config/custom_components/better_thermostat/utils/controlling.py:47> wait_for=<Future pending cb=[Task.task_wakeup()]>>)
2024-07-23 18:54:53.375 ERROR (MainThread) [homeassistant] Error doing job: Task was destroyed but it is pending! (<Task pending name='Task-93392' coro=<control_queue() running at /config/custom_components/better_thermostat/utils/controlling.py:47> wait_for=<Future pending cb=[Task.task_wakeup()]>>)
2024-07-23 18:55:06.631 DEBUG (MainThread) [custom_components.better_thermostat.calibration] better_thermostat None: climate.trv_studio - new setpoint calibration: 35.0 | external_temp: 0.2, target_temp: 31.5, trv_temp: 29.5
2024-07-23 18:55:10.917 DEBUG (MainThread) [custom_components.better_thermostat.climate] better_thermostat Studio_Heating: HA set target temperature to 7.5 & None
2024-07-23 18:55:10.922 DEBUG (MainThread) [custom_components.better_thermostat.calibration] better_thermostat None: climate.trv_studio - new setpoint calibration: 35.0 | external_temp: 0.2, target_temp: 7.5, trv_temp: 29.5
2024-07-23 18:55:13.717 DEBUG (MainThread) [custom_components.better_thermostat.climate] better_thermostat Studio_Heating: HA set target temperature to 35.0 & None
2024-07-23 18:55:13.923 DEBUG (MainThread) [custom_components.better_thermostat.utils.helpers] better_thermostat None: climate.trv_studio / heating_power_valve_position - temp diff: 34.8 - heating power: 0.01 - expected valve position: 100%
2024-07-23 18:55:13.924 DEBUG (MainThread) [custom_components.better_thermostat.calibration] better_thermostat None: climate.trv_studio - new setpoint calibration: 35.0 | external_temp: 0.2, target_temp: 35.0, trv_temp: 29.5
2024-07-23 18:55:16.926 DEBUG (MainThread) [custom_components.better_thermostat.utils.helpers] better_thermostat None: climate.trv_studio / heating_power_valve_position - temp diff: 34.8 - heating power: 0.01 - expected valve position: 100%
2024-07-23 18:55:16.926 DEBUG (MainThread) [custom_components.better_thermostat.calibration] better_thermostat None: climate.trv_studio - new setpoint calibration: 35.0 | external_temp: 0.2, target_temp: 35.0, trv_temp: 29.5
2024-07-23 18:55:22.776 DEBUG (MainThread) [custom_components.better_thermostat.events.trv] better_thermostat None: TRV climate.trv_studio decoded TRV mode changed from off to heat - converted heat
2024-07-23 18:55:22.777 DEBUG (MainThread) [custom_components.better_thermostat.events.trv] better_thermostat None: trigger_trv_change test / _old_heating_setpoint: 6.5 - _new_heating_setpoint: 27.0 - _last_temperature: 7.0
2024-07-23 18:55:22.777 DEBUG (MainThread) [custom_components.better_thermostat.events.trv] better_thermostat None: TRV climate.trv_studio decoded TRV target temp changed from 35.0 to 27.0
2024-07-23 18:55:22.778 DEBUG (MainThread) [custom_components.better_thermostat.utils.helpers] better_thermostat None: climate.trv_studio / heating_power_valve_position - temp diff: 26.8 - heating power: 0.01 - expected valve position: 100%
2024-07-23 18:55:22.778 DEBUG (MainThread) [custom_components.better_thermostat.calibration] better_thermostat None: climate.trv_studio - new setpoint calibration: 35.0 | external_temp: 0.2, target_temp: 27.0, trv_temp: 29.5
2024-07-23 18:55:22.778 DEBUG (MainThread) [custom_components.better_thermostat.utils.controlling] better_thermostat None: TO TRV set_hvac_mode: climate.trv_studio from: heat to: off
2024-07-23 18:55:22.778 DEBUG (MainThread) [custom_components.better_thermostat.adapters.generic] better_thermostat None: set_hvac_mode off
2024-07-23 18:55:29.725 DEBUG (MainThread) [custom_components.better_thermostat.events.trv] better_thermostat None: trigger_trv_change test / _old_heating_setpoint: 7.0 - _new_heating_setpoint: 20.5 - _last_temperature: 7.0
2024-07-23 18:55:44.725 DEBUG (MainThread) [custom_components.better_thermostat.events.trv] better_thermostat None: trigger_trv_change test / _old_heating_setpoint: 20.5 - _new_heating_setpoint: 23.0 - _last_temperature: 7.0
2024-07-23 18:55:47.978 ERROR (MainThread) [custom_components.better_thermostat.utils.helpers] better_thermostat None: climate.trv_studio HVAC mode auto is not supported by this device, is it possible that you forgot to set the heat auto swapped option?
2024-07-23 18:55:47.978 DEBUG (MainThread) [custom_components.better_thermostat.events.trv] better_thermostat None: TRV climate.trv_studio decoded TRV mode changed from heat to auto - converted auto
2024-07-23 18:55:47.978 DEBUG (MainThread) [custom_components.better_thermostat.events.trv] better_thermostat None: trigger_trv_change test / _old_heating_setpoint: 23.0 - _new_heating_setpoint: 23.0 - _last_temperature: 7.0
2024-07-23 18:55:47.979 DEBUG (MainThread) [custom_components.better_thermostat.utils.helpers] better_thermostat None: climate.trv_studio / heating_power_valve_position - temp diff: 26.8 - heating power: 0.01 - expected valve position: 100%
2024-07-23 18:55:47.979 DEBUG (MainThread) [custom_components.better_thermostat.calibration] better_thermostat None: climate.trv_studio - new setpoint calibration: 35.0 | external_temp: 0.2, target_temp: 27.0, trv_temp: 29.5
2024-07-23 18:55:47.979 DEBUG (MainThread) [custom_components.better_thermostat.utils.controlling] better_thermostat None: TO TRV set_hvac_mode: climate.trv_studio from: auto to: off
2024-07-23 18:55:47.979 DEBUG (MainThread) [custom_components.better_thermostat.adapters.generic] better_thermostat None: set_hvac_mode off
2024-07-23 18:55:54.929 DEBUG (MainThread) [custom_components.better_thermostat.events.trv] better_thermostat None: TRV climate.trv_studio decoded TRV mode changed from auto to heat - converted heat
2024-07-23 18:55:54.929 DEBUG (MainThread) [custom_components.better_thermostat.events.trv] better_thermostat None: trigger_trv_change test / _old_heating_setpoint: 6.0 - _new_heating_setpoint: 35.0 - _last_temperature: 7.0
2024-07-23 18:55:54.930 DEBUG (MainThread) [custom_components.better_thermostat.utils.helpers] better_thermostat None: climate.trv_studio / heating_power_valve_position - temp diff: 26.8 - heating power: 0.01 - expected valve position: 100%
2024-07-23 18:55:54.930 DEBUG (MainThread) [custom_components.better_thermostat.calibration] better_thermostat None: climate.trv_studio - new setpoint calibration: 35.0 | external_temp: 0.2, target_temp: 27.0, trv_temp: 29.5
2024-07-23 18:55:54.930 DEBUG (MainThread) [custom_components.better_thermostat.utils.controlling] better_thermostat None: TO TRV set_hvac_mode: climate.trv_studio from: heat to: off
2024-07-23 18:55:54.930 DEBUG (MainThread) [custom_components.better_thermostat.adapters.generic] better_thermostat None: set_hvac_mode off
2024-07-23 18:56:00.628 DEBUG (MainThread) [custom_components.better_thermostat.events.trv] better_thermostat None: TRV climate.trv_studio sends new internal temperature from 29.5 to 29.6
2024-07-23 18:56:03.779 DEBUG (MainThread) [custom_components.better_thermostat.events.trv] better_thermostat None: trigger_trv_change test / _old_heating_setpoint: 19.0 - _new_heating_setpoint: 19.0 - _last_temperature: 7.0
2024-07-23 18:56:03.880 DEBUG (MainThread) [custom_components.better_thermostat.events.trv] better_thermostat None: trigger_trv_change test / _old_heating_setpoint: 19.0 - _new_heating_setpoint: 14.5 - _last_temperature: 7.0
2024-07-23 18:56:07.378 DEBUG (MainThread) [custom_components.better_thermostat.events.trv] better_thermostat None: trigger_trv_change test / _old_heating_setpoint: 14.5 - _new_heating_setpoint: 29.0 - _last_temperature: 7.0
msd3287 commented 2 months ago

Same issue with my HA instance (2024.8.3) and at my daughter's house one. BT completely unusable. Rollback to 1.5.1 BT version didn't solve the issue.

clipse2004 commented 2 months ago

I can not confirm this, everything is going as usual with me. I just tested it

msd3287 commented 2 months ago

Test should be done in the same situation, is it the case? For me, I have the Sonoff TRVZB with firmware 1.1.5 (21/03/2024) paired under Z2MQTT 1.40.0, updated today but same issue with prior version of Z2MQTT. HA: Core 2024.8.3 - Supervisor 2024.08.0 - Operating System 13.1 - Interface utilisateur 20240809.0 HACS 2.0 my only solution for now to solve this anoying issue has been to swap to another integration (Versatile Thermostat)

Unclezz commented 2 months ago

I suspect the issue happens specifically with sonoff latest 1.1.5 firmware. But I have no evidence for this.

thanks @msd3287 for sharing about the alternative thermostat integration. I will give it a try! So far I configured everything to use Advanced thermostat Blueprint automation but with no flexibility using the default thermostat management 🙂

firebowl commented 2 months ago

Cannot confirm this. Actual HA, BT and Firmware.

ishbuggy commented 2 months ago

I can confirm this on 1.1.5. I have 2 TVRZBs in one BT, and turning the dial on the TVRs does not change the setting in BT. Also it does not update the other TVR as I would expect since they are somehow grouped by BT.

SuperDeathMonkey commented 2 months ago

I have also had this issue. Was able to workaround it by disabling the Schedule entity of the TRV device in Home Assistant. Screenshot_20240921-203111 This needs to be done for all TRVs if you have more than one.

firebowl commented 2 months ago

As already written, I don't have this problem. However, I do not use the integrated schedule. In my case, the sensor in the HA shows unknown.

hilburn commented 2 months ago

Disabling the TRV schedules is pretty much mandatory as they break a string field length limit that neither MQTT nor HA people can agree on whose fault it is, HA used to just move on and leave it as unknown, but recently started throwing errors instead which causes the device to reset

@Unclezz - it looks like it's trying to set the temperature of the TRV to 120 degrees, which is causing errors, as it's a bounded value in MQTT, are you working in C or F?

Unclezz commented 1 month ago

@Unclezz - it looks like it's trying to set the temperature of the TRV to 120 degrees, which is causing errors, as it's a bounded value in MQTT, are you working in C or F?

Thanks for looking into this one. Disabling the schedules did not help. I am working in C

LukeMitDemHut commented 1 month ago

Same issue here. I can confirm that the value of the thermostat changes in the mqtt entity but BT doesnt seem to notice that. It is as if the "connection" between the actual thermostat and BT is lost even though the actual thermostats state is reflected perfectly fine in HA. Deleting the BT device and recreating it does not make a difference. Schedule sensor already deleted btw and confirmed that BT is working with other thermostat (Bosch also via MQTT) Tested on BT 1.6, HA Core 2024.10.1

ardoviniandrea commented 1 month ago

I am having the same issue on HA Core 2024.10.2, and BT 1.6 and with Zigbee2MQTT This happend with the sonos TRV on 1.1.1 and on 1.1.5 via OTA update.

As others reported, the "default" thermostat in Home assistant works fine

ardoviniandrea commented 2 weeks ago

UPDATE

This issue still persists on HA CORE 2024.10.4, BT 1.6.1, SONOF TRV 1.2.1

Is there any way to add relevant debugging info on this?

TallDaikon commented 1 week ago

Same here, but @SuperDeathMonkey Workaround to deactivate the "schedule" entity works fine with all my 8 TRVZB