Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tuya Climate temperature offset for Active state detection #3029

Open
TCooper41 opened this issue Jan 19, 2025 · 0 comments
Open

Tuya Climate temperature offset for Active state detection #3029

TCooper41 opened this issue Jan 19, 2025 · 0 comments

Comments

@TCooper41
Copy link

Describe the problem you have/What new integration you would like

Some Tuya Thermostats don't have a datapoint for when the heating is on or off and thus "active_state" cannot be used, and this needs to be guessed by ESPhome using "supports_heat: true".

I would like the ability to change the temperature offset of "supports_heat: true" to specify which temperature offset ESPhome uses to change from "IDLE" to "HEATING" and to force this offset to be adhered to.

Please describe your use case for this integration and alternatives you've tried:

I have firmware updated my tuya smart thermostat to run ESP home. The thermostat will turn the boiler on when the current temp is 1c below the target temp and I believe this function is built into the TuyaMCU. I thought I'd configured everything correctly using Tuya Climate but I'm getting an issue where thermostat will not report as "HEATING" until the target temp is 1.5c above the current temp, which is incorrect as heating light on the thermostat display and the boiler kicks in at 1c above.

There does not seem to be a datapoint to tell ESPhome to change from "IDLE" to "HEATING" (otherwise I would use active_state) and so I assume this function is built into ESPhome. Checking the Tuya Climate page, I find under "Active state detection":

"If supports_heat is True and the current temperature is more than 1 °C below the target temperature, the device is expected to be heating."

I have added "supports_heat: true" to my climate yaml like so:

climate:
  - platform: tuya
    name: "Thermostat"
    icon: mdi:heating-coil
    switch_datapoint: 1
    target_temperature_datapoint: 2
    current_temperature_datapoint: 3
    current_temperature_multiplier: 0.5
    target_temperature_multiplier: 0.5
    supports_heat: true
    visual:
      min_temperature: 10 °C      
      max_temperature: 30 °C      
      temperature_step: 0.5 °C

However ESPhome still reports "HEATING" only when the target temp is 1.5c above, and not 1c:

Image

I would like the ability to configure so that ESPhome changes the status to HEATING when target temp is 1c above current, in order to accurately reflect the same offset used by the thermostat itself (it switches the relay to the boiler on and turns on the heating light at 1c offset).

Additional context

I note that the offset seem to change when I comment out the temperature_multipliers. With no multiplier, the offset required to make ESPhome show "HEATING" is 2c, rather than 1.5c - still not the 1c that "supports_heat: true" should default to.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant