Tuya switch

pytuya itself supports rgbw light, https://github.com/clach04/python-tuya/
it has only to be integrated on the ObedientOwl tuya switch device

Trying to make this work with Tuya Curtain Switches (double-checked Device IP, Device ID and Local Key), but they show up as Switch (On/Off only) instead of Cover (Up/Stop/Down). Is there anything I can do to mark them as Covers? Thanks!

I don’t have RGB lights to play with. Feel free to document the changes you made to add support for setting colors.

Any help on making my arilux rgbw would be appreciated.
I am on Hass.io installed on Raspbian strech lite on rpi3b+
Thanks in adv

Unfortunately I didn’t have an RGB light to make some try. I can only suggest to integrate the ObedientOwl code (that uses pytuya) with all the ability of the pytuya code. In pytuya code there’s the BulbDevice class that supports rgb lights. Get the ObedientOwl code, integrate it with RGB support (watching the code of other RGB light already supported) and adapt the commands to match the pytuya BulbDevice support

1 Like

Hi, I followed the instructions by ObedientOwl on Jan 24th. But seem to be getting the below error. Could anyone point me in the right direction!?

Blockquote2019-02-26 08:11:28 ERROR (MainThread) [homeassistant.setup] Error during setup of component tuya
Traceback (most recent call last):
File “/srv/homeassistant/lib/python3.5/site-packages/homeassistant/setup.py”, line 154, in _async_setup_component
component.setup, hass, processed_config) # type: ignore
File “/usr/lib/python3.5/asyncio/futures.py”, line 380, in iter
yield self # This tells Task to wait for completion.
File “/usr/lib/python3.5/asyncio/tasks.py”, line 304, in _wakeup
future.result()
File “/usr/lib/python3.5/asyncio/futures.py”, line 293, in result
raise self._exception
File “/usr/lib/python3.5/concurrent/futures/thread.py”, line 55, in run
result = self.fn(*self.args, **self.kwargs)
File “/srv/homeassistant/lib/python3.5/site-packages/homeassistant/components/tuya/init.py”, line 54, in setup
username = config[DOMAIN][CONF_USERNAME]
KeyError: ‘tuya’
2019-02-26 08:11:28 ERROR (MainThread) [homeassistant.setup] Unable to set up dependencies of tuya.switch. Setup failed for dependencies: tuya

I’m running home assistant .88.1 with no luck on the tuya.py and init.py

1 Like

Thanks for this,

Are you able to use tuya on lan still with home assistant 0.88?

Thanks

Just in case you guys don’t already know about it, you can use this to flash Tuya devices OTA and then put ESPhome on them to get them working natively in HA without any worrying about custom python components etc… much easier than the trouble I read in this thread

ESPhome

ESPhome HA API

Another handy link

Thanks for that, I saw a video regarding the flashing method.

It looks like when you flash, they become sonoff devices?

I don’t see a tutorial specific to putting esphome in them.

Beginner here, using HomeAssistant in docker in Synology.

I guess if I flash with a raspberry pi, does the raspberry need to be running all the time?

No, you can flash them directly to ESPhome using the instruction at the very bottom of the tuya-convert git. (flash a third party .bin file)

Create the .bin file with ESPhomeYAML and then use the method mentioned above to flash it to the ESP device. There is a tutorial on the ESPhome site that explains how to migrate from Tasmota but you don’t need to since you can simply flash the ESPhome .bin file directly.

No, once flashed the ESP communicates with HA directly (via your wifi that is)

thank ya, seriously considering it, just don’t know how this plays with google home, that’s like a whole new can of worms that I have to educate myself.

It will still be controllable with Google Home, via HA, just not directly (ie: without HA), but I see that as far better than using a Tuya cloud

It seems 0.88 broke the custom tuya integration. It looks like the custom component (“tuya” in this case) can no longer conflict with built in components (“tuya” in this case) even if they are unused. To solve this, you just need to rename config/custom_components/switch/tuya.py to something else (config/custom_components/switch/mytuya.py), then update the “platform” key to match (“mytuya”) in your configuration.yaml. I have updated the tutorial to reflect the change.

If you are just getting started and are unable to find your key and localKey data, you may need to use an older version of the SmartLife app. It appears they are hiding that data in recent versions.

All of that said, I’d really like my devices to not be cloud connected whenever possible. While I’m using the custom component, I have the Tuya switches blocked from WAN to get as close as I could. When I have the time, I’m going to dig in to what @sparkydave posted and try to get these flashed with ESPhome instead.

Very helpful thanks for sharing this solution! I rolled back to .86 but will try it on .88

Update 1: so I’m back on .88 but just FYI, even though everything is working as expected, I see an error message in dev-info

“Integrations need to be in their own folder. Change switch/mytuya.py to mytuya/switch.py. This will stop working soon.”

any idea what this might mean?

Update 2:
so, Interestingly, I renamed the “switch” folder to: “mytuya”
then, I renamed the “mytuya.py” to:"switch.py

and the dev-info error went away, also testing the tuya switches, they still work

1 Like

THANK YOU!!

Thanks to you and your guidance I think I am still in local Tuya business. I will flash when I get around to it, but for now, Thank you!

Guys what is tuya? Is it like a protocol or software that you can flash on any smart plug?

Hello All!
Relatively new to Home Assistant.

I see the switches working using the Tuya switch custom component. However, they only seem to be able to turn on and off. Is there a way to set up dimmable lights?

The built in Tuya component (web) self-identifies them as “lights” instead, similar to a bulb, but with only brightness adjustments. The code controlling a bulb is in the custom component file(s). I am unsure whether I can use that and set a dimmable light switch up as a bulb of sorts. the bulb has the RGB portion of the code, and I wonder if that would somehow mess up the dimmer (I have my doubts that setting it to white and just changing the brightness would work, though I have not tried it).

Has anyone had any experience with the dimmable light switches using local control / custom components?

It’s a brand of smart devices, which until you either flash with different firmware or use a custom component, will require the Tuya cloud service in order to work with HA. Flashing the firmware seems to be the best fix to rid oneself of the cloud dependency.

1 Like

It’s firmware used by a number of different brands that allows them to sell lights, switches etc. which can be controlled through a Tuya cloud server. Here’s a good video on how to get get rid of Tuya:
http://www.thesmarthomehookup.com/tuya-convert-walk-through-february-2019/

1 Like