Open RigacciOrg opened 3 years ago
You are mostly correct. Tuya is a commercial offering that provides IoT device makers a way to use their code/cloud to quickly ship ESP8266 based smart devices quickly to market. The devices are designed to use their Tuya cloud. There is a backdoor way to control the devices through a localkey but it requires getting that from the Tuya cloud API. This is what tinytuya
and other libraries help you do. Getting API access to do that requires that you register as a Tuya developer. However, as a single Tuya developer, you are still able to sign up for the free 3-month trial. You can sign up for the 3 month trial and use the method here to download the local keys: https://github.com/jasonacox/tinytuya#get-the-tuya-device-local_key
The alternative is to re-image your Tuya devices with an open non-cloud system. Check out Tasmota. I haven't tried it but it looks promising.
as a single Tuya developer, you are still able to sign up for the free 3-month trial. You can sign up for the 3 month trial and use the method here to download the local keys
Hmmm ... does this mean that if you add new devices after 3 months - you can no longer get keys for them?
I'm not sure. I haven't seen the time limit enforced. Hopefully Tuya will be kind to us since we are developing community open source apps and supporting their platform.
Agreed!
It seems that registering for the developer Free trial is not simple (Jan 2021). Using the account that I created I get the message Your account is not yet available for cloud development platform. The cloud development platform can only be used after completing personal authentication or enterprise authentication.
As far as I can see, there is no way to do a personal authentication.
The enterprise authentication seems rather complicated; the FAQ says: If you need to open it, please apply to your business manager or contact online customer service to provide the following information: 1. Basic information: Country, enterprise scale, industry influence, main products, well-known cooperative brands 2. Enterprise IoT account 3. Industry 4. Market coverage area
This seems to me a good point to switch to Tasmota!
I recently (dec 2022) downloaded the tinytuya libraries (unaware of this time limitation mentioned above). Here are my observations: 1) it was possible to register a free trial cloud , it comes with a one month expiration 2) after one month (i.e. last week), I could indeed no longer collect the data for the new device (power strip) I just bought 3) there is an option in the Tuya Cloud to "debug a device" (ie send/receive the data from the cloud developer webpage). When I used that option I received the "expired" error message but I was also directed to a link to buy a license or extend the free subscription 4) extending the free subscription can be done for 1, 3 or 6 months. I applied for the latter and one day later: voilà, it worked again. Not sure what will happen in 6 months time but by then I hope to have added all devices I need... (I'm building a home automation controller with my Raspi). Alternatively, if another extension is no longer possible, I do imagine that creating a new cloud from another account should do the job? Hope that helps...
Thanks @BenoitVH ! That's great information. A similar discussion on this: https://github.com/jasonacox/tinytuya/issues/249.
When you were setting up the account, do you recall if you selected an "Account Type" or did you use the "Skip this step" path?
It's me thanking you for providing the excellent tinytuya library! :-)
As mentioned, I created the Tuya account back in December 22, but the first steps in my project where to communicate with the Smart Home app (TuyaOS library), controlling the devices part (tinytuya) came only later. For the TuyaOS part I already had to create an account, so I'm pretty sure that I selected "individual developer" (having not yet seen your pdf back then).
If I now look in my Tuya Account (https://myaccount.tuya.com/account), it does show as "individual developer" and the only other option I get to select is to migrate towards "organisation".
However, I'm not convinced that the "skipping" you mention above would make a real difference... One of the things I did notice, is that -even in the few weeks I have been using the Tuya platform- the platform is pretty "volatile": many things (screens/options/controls...) change all the time. So, I suspect that Tuya added the expiration part after you created your account (which is probably a long time ago?) On a side-note: Tuya "volatility" also makes any documentation (including their own) quickly obsolete... To illustrate: I submitted a Tuya ticket for a TuyaOS problem I encountered: turns out it was primarily due to their outdated docs; so as a compensation I was granted two "extra device codes" :-)
However, I'm not convinced that the "skipping" you mention above would make a real difference...
That's fair. I choose that path and have never had an account expire (several years now). However, I may be in a obsolete clause. I recently created a new one (several months ago) and followed that same path. It has not expired yet, but time will tell. As you mention, there is definitely a lot of "volatility". :)
Just to be sure we're on the same page: it's not the Tuya account that had expired; it's the "Cloud Project" that I created. I guess accounts do not expire?
Thanks, yes, same page. I'm referring to my cloud projects. I do wish there was an easier path.
To be fair, I understand why Tuya would seek to charge for these. I suspect their "cloud" costs are funded by licensing and these developer subscriptions. From a business perspective, the issue I see with IoT is that they all tie to a centralized cloud platform that has ongoing operational costs that must be funded by something. A one-time payment for the device won't cover costs long term. Some IoT product vendors are figuring out ways to sell subscriptions to cover that (and make a profit) for access to historic data or other cloud enabled feature. Personally, I would like to see more IoT products offer distributed or local access only options (which is essentially the reason I started TinyTuya for Tuya devices) and depend less on a centralized platform. Sadly, at least for Tuya, they still all use/need the cloud even if it is just for the local key creation. Sorry, went a bit long there...
Thanks again for documenting what you are seeing. I know this will help others.
I agree that things are constantly changing with them so it can change at any moment, but for what it's worth I did the "skip this step" thing and my IoT-Core access did not expire. My account information page says "Account Type: Not selected"
Thanks @uzlonewolf - I do think the "skip this step" could be key. Also, I only select "IoT Core" and "Authorization Token Management" API services.
Did you select others? I'm wondering if some of the expiration issues some see is related to selecting other APIs that show "limited edition":
I do think I will update the README to highlight the "Skip" step, just in case that helps.
Thanks @jasonacox and @uzlonewolf for the insights. You may be into something ;-). As for me, it's too late, I'm stuck with "developer" for now. I'll let you know in 6 months time what happens next!
Hi, I was following the instructions to Get the Tuya Device LOCAL_KEY found on https://pypi.org/project/tinytuya/, but it seems that it is not longer supported as a free service. From the developer framework https://iot.tuya.com/cloud/, if I click on Cloud => Projects => Try It Free, I get the message that I need a personal authentication or enterprise authentication. It is not clear what is a personal authentication, whereas an enterprise authentication seems reserverd to big companies. And after all, the Free Trial is just for three months. I asked for support in chat, the answer was that API usage is not for device users, but only for companies. Does it means that the use of TinyTuya is precluded to single developers?