[BETA] Tuya Cloud Driver (Limited device support)

Ok, I finally found it... In the install section I made a search for tuya and I found the driver ... sorry! thanks for your help!

I have questions on it, because when I create the device, in the settings it tell error and 0 devices... So my vaccuum robot is not listed there and I m not sure why (error with credentials or something or error because the device is not compatible?) Also, in my tuya account api there s no device there too...
Another thing, the goal of doing this is to be able to get the robot to communicate with my hub. For now, my hub or alexa can trigger scene so I have created a lot of scene for each mode and can control it with virtual motion sensor... But I wish to be able to tell the hub lets say when the battery life is below or above a specified level. The smart life app can only send a notification with a scene when the battery hit the specified level... So I though that this driver could directly send the status to the hub, am I right?
Thanks, and sorry for all those questions!

Unfortunately there is currently no support for robot vacuums in this driver and unless someone else writes one I am not currently adding features to this driver due to lack of time right now (but maybe in the future)

Also, the device needs to be showing in the Tuya IOT account (after linking it using the instructions) before it can show up in this driver.

I just made multiple tried and I changed the 'center' in the tuya cloud develloper account and been able to get my account linked... My device is now in the account and I been able to update the He without error, the device is there, I can see my scene from there. I have like a main device with same name as my robot and every scene... So, the question is, doyou know how its working from there? If I enable those switch it would maybe trigger the scene but if the scene is triggered from the robot itself within the app, would it tell the hub (by flipping the switch) ? Also, I saw in the device status that battery level is there in the list... but I would like to know how to get it from webcore or somewhere else?
I ll make some test and come to put results here but if you know something on this it ll be appreciated!
Thanks for your help again and nice app!

Ok, finally I made some test and I think it could be interesting for users that are not sure on what it is! :slight_smile: So, when the api is set correctly, you can add virtual devices to your account (it ll be added directly in the app on your phone). Then when inside routine, when everything happen you flip the switch so you can talk to the hub. Any changes to the switch is related on both sides almost instantly! Only scene that can be triggered but no way to know if trigerred from the hub side, so you need to create a routine with a switch to know the scene get fired... Very nice driver/app ! Thanks for your works!


I am pretty new to Hubitat but have really enjoyed reading all these forums to figure out how to get my smart stuff integrated. This app has been fantastic and I've been able to bring over a lot of old Costco WiFi plugs labeled CE, Prime, and Globe which are all part of the Toya family. I am finding that they can often be somewhat slow to respond to a command but they usually do end up changing after as much as 5 seconds later. I just wondered if it is me and my setup or is it pretty normal since there are so many connections happening in the background?
Thanks again for all the discussion as it sure helped me get my integrations started from a complete novice position.

Should be extremely fast, I have 6 ceiling Tuya lights and when I turn them all on (so 6 commands to the cloud) it is so fast I can't see which order they come on (I do have a fast gigabit fiber internet connection though). But, when one or more of the lights is having WiFi issues, I can see a delay of sometimes seconds.

1 Like

Good to know. I have a pretty vanilla internet package with moderate speed. I didn't see any other posts mentioning a delayed response time so I was thinking it could be on my end. I'm not sure how to troubleshoot it from this point but maybe I can talk the wife into the gigabit fibre internet connection to test out the theory.

I used the Tuya IoT Platform (Cloud) and succeeded to connect my RGB strip led and control it for a while.
However, I started to receive errors:

Cloud API request failed: {"code":28841002,"msg":"No permissions. Your subscription to cloud development plan has expired.","success":false,"t":1675625038973,"tid":"a3bde062a58a11edbd98a6d801a7eabc"}

Unfortunately, I removed the child device and now I can't initialize it back.
Even entering the tuya cloud dashboard and executing a command from there does not work.

How I can configure it again without pay?

Follow these instructions:


Hi, Just a little question, I have done all those step and it was working fine, but I tried to change the child devices that are scene inside the smartlife app, from switch (default when created) to motion sensor (more convinient in webcore...) but the generic motion sensor is empty so not working (no button to trigger or initialize), so I came back to generic switch but its now not working... So, is there a way to make it run again or should I delete all devices and install again? I tried to go inside parent app and click initialize but only my untouched switch are working...other still dont...
I saw that I have a notification from hubitat each time I flip a switch in smartlife app, do you know how to get rid of that? That was my 2 questions... :slight_smile:)
I just test by adding another scene but even the default switch not working...So the scenes are not working ? Its all there but seem not to link them...

Is this bug fixed? Its not working on my side so not sure if its due to the same thing! My scene wont triggered as said in the post...

Hi, Did you solve this issue? I got the same problem with scene...

Hi @jonathanb

I am getting this error frequently com.hubitat.app.exception.LimitExceededException: Device 1274 generates excessive hub load on line 2074 (method tuyaSendDeviceCommandsResponse) after that all my tuya devices are stop working. I need to remove the parent tuya device and re add the tuya device fixing the problem.

Any guide would be great to fix this issue.

Here the log error that I could get for scene devices not working...

Hope it will help! I tried to replace integer by string on line 414 but now its the trigger scene function (line 418 I think) that generate error because of string/integer... I m no dev so not sure how to manage that...

Hi, Sorry for making a lot of reply but I think I found out the solution. I just made some test and the scene are now working but dont know if the changes would gives error on other devices or something...
I just turned off the line 414 (that became 415) and add a line before it to parse integer string.... Jus see my screenshut here and you can reply to my post if any comments... The on button is working fine but still get error on off function that seem not to be implemented for scene... Its ok but if a line could be added to catch scene off and just do nothing it would remove the log error.

Thanks and have a nice day!

1 Like

I just notice that the scene switch seems not react to webcore event trigger. I set up my piston to react on those switch changes but it just never trigger, I tried with a simple send notification and its not triggering... Do you see why? Its should act like normal switch? Other switches that are not scene works great! I just try to understand why its not considered as switch within webcore...

Did you ever figure this out? Ran into the same issue myself.

I just found out how to make it...For those who are interested, I added those 2 lines to keeps the status off so the scene switch still act like it was, I just use condition on my events that only run if switch state is on... (just after line 419 that trigger the scene)

 getChildDevice(dw.deviceNetworkId).parse([[name:"switch", value:"on", descriptionText:"${dw} was turned on"]])//my command to set status on
  getChildDevice(dw.deviceNetworkId).parse([[name:"switch", value:"off", descriptionText:"${dw} was turned off"]])//my command to set status off

The only weird part is that I must desabled the command optimization because webcore always told me that the execution would change nothing in my events...
Thanks and have a nice day!

I have this error in my log that come multiple times..

its like if API request failed... I would like to know if its normal like a failed attemp among multiple one or something else...