Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Tuya cloud assisted setup flow #1881

Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
67a0632
Add sh07s_ty smart sprinkler variant
AdrianGarside May 4, 2024
92d8823
Add device to DEVICES.md
AdrianGarside May 4, 2024
e605b1b
First version of streamlined cloud device population
AdrianGarside May 5, 2024
5a4da01
Fixes
AdrianGarside May 5, 2024
e05985b
Search for local IP address and cleanup
AdrianGarside May 5, 2024
26aeb2d
Add new tuya cloud login support (#1)
AdrianGarside May 5, 2024
63bdecf
Fix error with older versions of Home Assistant
AdrianGarside May 5, 2024
0f9270b
Merge branch 'main' into add_new_tuya_cloud_login_support
AdrianGarside May 5, 2024
d05090b
Merge pull request #2 from AdrianGarside/add_new_tuya_cloud_login_sup…
AdrianGarside May 5, 2024
3524893
Start to split authentication out into optional step
AdrianGarside May 5, 2024
b3ba239
Revert "Add device to DEVICES.md"
AdrianGarside May 5, 2024
8d83f6d
Revert "Add sh07s_ty smart sprinkler variant"
AdrianGarside May 5, 2024
fe8fbc1
Merge branch 'make-all:main' into main
AdrianGarside May 5, 2024
321895e
Merge remote-tracking branch 'origin/main' into add_new_tuya_cloud_lo…
AdrianGarside May 5, 2024
4394b6e
Merge pull request #3 from AdrianGarside/main
AdrianGarside May 5, 2024
324ff08
Re-use authentication in the same session
AdrianGarside May 5, 2024
1e72ffb
Merge remote-tracking branch 'origin/add_new_tuya_cloud_login_support…
AdrianGarside May 5, 2024
e74b104
Merge pull request #4 from AdrianGarside/add_new_tuya_cloud_login_sup…
AdrianGarside May 5, 2024
d0ccfd9
Fix regression - hass isn't set in constructor
AdrianGarside May 5, 2024
1af54d6
Merge pull request #5 from AdrianGarside/add_new_tuya_cloud_login_sup…
AdrianGarside May 5, 2024
f5d13ea
Fix mishandling of existing integration
AdrianGarside May 5, 2024
65c21c6
Trigger re-authentication if token is rejected
AdrianGarside May 6, 2024
ab35ca6
Scan for just the single device.
AdrianGarside May 6, 2024
53a5bd2
Merge pull request #6 from AdrianGarside/add_new_tuya_cloud_login_sup…
AdrianGarside May 6, 2024
27018fa
Fixes
AdrianGarside May 8, 2024
b8dc9c8
Combine device & hub selection
AdrianGarside May 8, 2024
cecbc01
Merge branch 'main' into add_new_tuya_cloud_login_support
AdrianGarside May 8, 2024
92f6af7
Start on localization updates
AdrianGarside May 8, 2024
61d58df
Merge remote-tracking branch 'origin/main' into add_new_tuya_cloud_lo…
AdrianGarside May 8, 2024
b9081c4
Merge remote-tracking branch 'origin/add_new_tuya_cloud_login_support…
AdrianGarside May 8, 2024
e39bdda
Tweak wording
AdrianGarside May 8, 2024
a641675
Fixes
AdrianGarside May 8, 2024
699f870
Fix lint failures. First test fix attempt.
AdrianGarside May 9, 2024
cbe10fb
Fix existing tests
AdrianGarside May 9, 2024
f70dc25
Remove newly added untranslated strings
AdrianGarside May 9, 2024
65062ee
Translate all new strings.
AdrianGarside May 9, 2024
978529c
Revert "Translate all new strings."
AdrianGarside May 9, 2024
9502104
Test line ending fix
AdrianGarside May 9, 2024
7de1780
Add rest of files
AdrianGarside May 9, 2024
c040ee4
Fix another lint complaint
AdrianGarside May 9, 2024
6064845
Remove temporary workaround for bug
AdrianGarside May 9, 2024
9839bc3
Lint and python formating fixes
AdrianGarside May 9, 2024
46c4d66
Remove test fix
AdrianGarside May 9, 2024
f313a33
Local lint and github lint didn't agree
AdrianGarside May 9, 2024
2b931c6
Remove BOM
AdrianGarside May 9, 2024
a2fb960
Python style fix up to test file I touched.
AdrianGarside May 9, 2024
23d4bd6
Update READM
AdrianGarside May 16, 2024
b5eb918
Merge branch 'make-all:main' into add_new_tuya_cloud_login_support
AdrianGarside May 17, 2024
eede203
Merge branch 'main' into add_new_tuya_cloud_login_support
AdrianGarside May 22, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 13 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -112,10 +112,21 @@ After installing, you can easily configure your devices using the Integrations c
[![Add Integration to your Home Assistant
instance.](https://my.home-assistant.io/badges/config_flow_start.svg)](https://my.home-assistant.io/redirect/config_flow_start/?domain=tuya_local)

### Choose your configuration path

There are two options for configuring a device:
- You can login to Tuya cloud with the Smart Life app and retrieve a list of devices and the necessary local connection data.
- You can provide all the necessary information manually [as per the instructions below](#finding-your-device-id-and-local-key).

The first choice essentially automates all the manual steps of the second and without needing to create a Tuya IOT developer account. This is especially important now that Tuya has started time limiting access to a key data access capability in the IOT developer portal to only a month with the ability to refresh the trial of that only every 6 months.

The cloud assisted choice will guide you through authenticating, choosing a device to add from the list of devices associated with your Smart Life account, locate the device on your local subnet and then drop you into [Stage One](#stage-one) with fully populated data necessary to move forward to [Stage Two](#stage-two).

Then Smart Life authentication token expires after a small number of hours and so is not saved by the integration. But, as long as you don't restart Home Assistant, this allows you to add multiple devices one after another only needing to authenticate once for the first one.

### Stage One

The first stage of configuration is to provide the information needed to
connect to the device.
The first stage of configuration is to provide the information needed to connect to the device.

You will need to provide your device's IP address or hostname, device
ID and local key; the last two can be found using [the instructions
Expand Down
Loading