Tuya climate control in Homekit not working

Tags: #<Tag:0x00007f73ac4ddc68> #<Tag:0x00007f73ac4ddb50>

I have setup my tuya devices in HA and all work within HA. I have forwarded some of those Tuya devices to Homekit. They appear in the home app fine, but my Tuya panel heater does not allow any control of it in the home app. It shows the temperature the heater is set to, but does not allow any on/off or temperature setting function.

Last winter this worked, then I stopped using HA for some time and have recently started getting into it again and simply can’t get this to work.

The heater is controllable fine in HA, so the tuya integration is fine. Its just the homekit part. I have tried deleting the .state file, removing and re-adding it. Tried it through the Tuya app, and the smart life app. None of this worked. It is listed in the home app like a thermostat, but just has no control functions.

I did see a few posts about climate entities in HA that only have ‘off’ as a “hvac_mode”. Not sure if this is related, but it only has off as an option in HA under the “states” in Developer tools. I added “heat” and that added a heat icon to the climate entity, but then disappeared a minute later.

Any help would be great. Thanks

Please post the attributes of the device from the developer tools states panel.

Also please try the homekit.reset_accessory service on the entity.

hvac_modes:
  - 'off'
min_temp: 15
max_temp: 35
target_temp_step: 1
current_temperature: 19
temperature: 26
friendly_name: Macey's Heater
supported_features: 1

I know it only lists “off” as a mode. I added “heat” but would change back to just “off” after a minute. The current temp and target temp are correct in the home app. So it just seems to be the ability to turn on/off and set temp - both of which I could do around 6 months ago.

Thanks

It looks like tuya is fetching the hvac modes in this block:

    async def async_added_to_hass(self):
        """Create operation list when add to hass."""
        await super().async_added_to_hass()
        modes = self._tuya.operation_list()
        if modes is None:
            return

        for mode in modes:
            if mode in TUYA_STATE_TO_HA:
                self.operations.append(TUYA_STATE_TO_HA[mode])

For some reason HVAC_MODE_HEAT (https://developers.home-assistant.io/docs/core/entity/climate/#hvac-modes) isn’t coming though from the api.

There is already an issue open here


and

Thanks. That sounds like the exact problem.

As one of those issue’s are stale, would this be something that is likely fixed soon, or something that may never be fixed? I probably should just give up on it for the time being.

There was no code owner for tuya until recently so its likely the new codeowner never saw this cases. Time will tell if they get picked up.

Hey Everyone,

I’m having the same issue but with my new AC unit. It shows up in Home assistant but does not display all details correctly. please see attached screenshots of my home assistant and iphone