Smart Life/Tuya devices

Not sure if Configuration really is the right description but my question was about how to add new devices that are smart life compatible.

I used the Tuya integration initially to add extant devices to my HA instance and now I want to add devices but it seems I need to install the Smart Life App to do so. Presumably that means all control and data is still flowing to Tuya/Smart Life even for devices I now access in HA.

I am struggling to see the added benefit to HA if I can't add and manage the devices and all my use data is still getting to Tuya one way or another. Is there no native option in HA?

I already have an Octopus heat pump and Ohme charger using separate apps and no option in HA to integrate that so maybe HA is not what I thought, which is a way to detach a device a bit from its originator.

At the moment if any of these providers want to unilaterally change rules or use cases I have not option or control which grates somewhat.

Does HA actually add anything to these scenarios?

Thanks

Depends on your definition of "native".

For Tuya wifi devices, you can use either of the below unofficial integrations if you install HACS:

(Don't ask me which of these is better - I don't use either one for...reasons)

Other options for local control include flashing custom firmware on the Beken chips used in the devices. That cuts out the Tuya cloud entirely and makes the devices locally controlled. Search for openbeken or tuya cloudcutter for more info.

For Tuya Zigbee devices, you can use ZHA or Zigbee2MQTT. Note that Tuya have a habit of changing the internal manufacturer ID between batches & distributors and notoriously do not follow zigbee spec.

This means that a zigbee quirk is required and new manufacturer IDs must be constantly added to existing quirks, since the model ID is not enough to distinguish individual devices. Z2M is generally more proactive in getting support for new manufacturer IDs. ZHA is somewhat slower, but is built into HA.

Personally, I wouldn't touch Tuya wifi devices with a 10-foot pole unless I really have to, and even then, I'd flash custom firmware. Their Zigbee stuff is mostly ok(ish), but then again I'm using Z2M and most people have developed a custom quirk by the time I purchase the device.

PS - There's a native Ohme integration in HA. Still cloud-dependent unfortunately, but it's better than nothing.

PPS - HACS also has a bunch of Octopus integrations. I think this one is UK only, but not 100 % sure, though it supports Cosy 6 & Cosy 9 Heat Pumps. If you're not from the UK, there are other variations for different countries available in HACS:

Home Assistant alone does not change the fundamental design of a device and its firmware. So if a device was designed to be cloud-dependent, with no local API or other means to connect to it, then the integration will at best act as a bridge between that cloud and Home Assistant.

As mentioned above, in the case of Tuya there are other local alternatives such as the HACS integrations tuya-local and localtuya, which allow 100% local control and therefore the possibility of subsequently blocking data from being sent back to the Tuya cloud by other means. Configuring Tuya devices with these integrations is not always straightforward — sometimes you need to manually retrieve the datapoint IDs, their possible value ranges, and their types beforehand using the Tuya cloud API, in order to enter them manually when adding a device in localtuya or tuya-local.

The issue I ran into with both of these integrations (not the integrations's fault, its how the Tuya firmware are made) is when devices would sometimes reset themselves to factory defaults on their own. For example, during power fluctuations, which commonly occur during a power outage, a factory reset is sometimes triggered because the voltage fluctuations mimic the Tuya reset procedure (rapidly switching on and off the power 3 times). The device loses its local key and therefore disconnects from the integration as well. To recover a new local key, you have to re-pair the device with the Tuya cloud, retrieve the key again through the cloud API, and re-add the device in the integration, which is time consuming.

I was tired of this, so I ended up flashing ESPHome onto all the Tuya devices I had (4 lights and a pool timer), which completely wipes the Tuya firmware and frees the device from its dependency on the Tuya cloud. It is a more complex procedure, but well worth it. Once you have done it once, it becomes easier and less time-consuming to repeat for other devices.

That said, it should not be forgotten that the root problem is choosing Tuya devices in the first place if the goal is to have something fully local. That inherently means having to work around the fundamental design of Tuya Wi-Fi devices from the start. Zigbee, Z-Wave, and Matter are protocols designed for local control. Some Wi-Fi devices also support local control, but you will need to check beforehand whether they expose a local API.

If you want to learn more about converting to ESPHome, I have documented the conversion of my lights and my pool timer on GitHub. The procedure for flashing this type of device with Beken or ESP chips is very similar from one device to another but it requires a bit of research.

If you are using Matter devices, yes it will have to initially phone home to integrate.

Tuya is cheap, widespread, and the focus of countless reverse engineering efforts, so the chances of you discovering a way to completely take ownership of the hardware without the comfortable but often undesired mantle of the Tuya cloud (which some HomeAssistant apps still utilise behind the scenes) is quite high. Often new hardware releases take a little while for the reverse engineering process to surface and be well documented.

ESPHome is but one avenue to get your own custom firmware on these devices. Look at Tasmota and OpenBeken alternatives too. The activity there is fast paced and current too, and their firmware integrates well with HomeAssistant (by design). Checking out which Tuya module your devices contain is the first step, and then what avenues to get new firmware on that particular module naturally follows. Often you can roll your own if you want to go to that depth looking at vendor SDKs and C code machine language level, but pre-defined packages offered by Tasmota etc make the process far easier, possibly even easier than some find getting Matter devices to integrate into their ecosphere using supplied Tuya tools…

Best of luck with it.

I have all my Tuya devices connected to the Smart Life App.

I use the following integration.

The fork is more stable than the original