homebridge-tuya-plus 3.14.0-dev.25 → 3.14.0-dev.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Readme.MD +39 -3
- package/package.json +1 -1
package/Readme.MD
CHANGED
|
@@ -48,9 +48,30 @@ A community-maintained Homebridge plugin for controlling Tuya devices locally ov
|
|
|
48
48
|
* Switches<sup>[15](https://github.com/adrianjagielak/homebridge-tuya-plus/blob/main/wiki/Supported-Device-Types.md#switch)</sup>
|
|
49
49
|
* Vertical Blinds<sup>[16](https://github.com/adrianjagielak/homebridge-tuya-plus/blob/main/wiki/Supported-Device-Types.md#vertical-blinds-with-tilt)</sup>
|
|
50
50
|
|
|
51
|
-
|
|
51
|
+
Note: Motion, and other sensor types don't behave well with responce requests, so they will not be added.
|
|
52
52
|
|
|
53
|
-
|
|
53
|
+
## Supported Tuya Protocol Versions
|
|
54
|
+
|
|
55
|
+
The plugin speaks every published Tuya LAN protocol version:
|
|
56
|
+
|
|
57
|
+
| Tuya LAN protocol | Framing | Encryption | Status |
|
|
58
|
+
|---|---|---|---|
|
|
59
|
+
| 3.1 | `0x55AA` | AES-128-ECB (base64, control only) | ✅ Supported |
|
|
60
|
+
| 3.2 | `0x55AA` | AES-128-ECB | ✅ Supported |
|
|
61
|
+
| 3.3 | `0x55AA` | AES-128-ECB | ✅ Supported |
|
|
62
|
+
| 3.4 | `0x55AA` | AES-128-ECB, session key, HMAC-SHA256 | ✅ Supported |
|
|
63
|
+
| 3.5 | `0x6699` | AES-128-GCM, session key | ✅ Supported |
|
|
64
|
+
| 3.6 and newer | — | — | ✅ Forward-compatible (see below) |
|
|
65
|
+
|
|
66
|
+
The protocol version is auto-detected from the device's discovery broadcast, so you normally don't need to configure anything.
|
|
67
|
+
|
|
68
|
+
Protocol **3.5** is currently the newest Tuya LAN protocol in existence: it is the latest version implemented by Tuya's own open-source device SDK ([TuyaOpen](https://github.com/tuya/TuyaOpen)) and by the reference reverse-engineered implementations ([tinytuya](https://github.com/jasonacox/tinytuya/blob/master/PROTOCOL.md)). No device firmware speaking a "3.6" protocol has been observed in the wild so far.
|
|
69
|
+
|
|
70
|
+
This plugin is nevertheless **3.6-ready**: if a device reports a newer protocol version (e.g. `3.6`) in its broadcast, the plugin automatically talks to it using the newest (3.5/GCM) protocol stack while tagging payloads with the device's reported version — the same forward-compatibility strategy used by tinytuya. Should such a device misbehave, you can pin it to a specific protocol with the `forceVersion` device option (e.g. `"forceVersion": "3.5"`), or use `version` to set a protocol for devices that can't be discovered (e.g. on another subnet).
|
|
71
|
+
|
|
72
|
+
## Cloud fallback (optional)
|
|
73
|
+
|
|
74
|
+
The plugin is LAN-first — everything is controlled locally by default. If you add Tuya Cloud credentials in a top-level `cloud` block, it keeps one cloud session in the background and uses it as a fallback: each device is tried on the LAN first, and only falls back to the cloud when it can't be reached locally — a brief LAN hiccup, or hardware that never appears on the LAN at all (e.g. battery-powered "sleepy" irrigation timers). It's opt-in and local always comes first, and existing configs need no changes — so it's also a handy fix if some devices occasionally show as "No Response".
|
|
54
75
|
|
|
55
76
|
See the **[Tuya Cloud Setup guide](https://github.com/adrianjagielak/homebridge-tuya-plus/blob/main/wiki/Tuya-Cloud-Setup.md)** for credentials and setup.
|
|
56
77
|
|
|
@@ -69,7 +90,8 @@ sudo npm install -g homebridge-tuya-plus
|
|
|
69
90
|
#### Bleeding-edge (`dev`) builds:
|
|
70
91
|
|
|
71
92
|
Every commit to `main` is automatically published to npm under the `dev` tag — a
|
|
72
|
-
separate, unstable channel.
|
|
93
|
+
separate, unstable channel. The stable release always stays on `latest`, so this
|
|
94
|
+
won't affect normal installs. To try the latest in-development build:
|
|
73
95
|
|
|
74
96
|
```
|
|
75
97
|
sudo npm install -g homebridge-tuya-plus@dev
|
|
@@ -78,6 +100,20 @@ sudo npm install -g homebridge-tuya-plus@dev
|
|
|
78
100
|
These are versioned like `3.14.0-dev.<n>` and may be unstable; use the default
|
|
79
101
|
install above for production.
|
|
80
102
|
|
|
103
|
+
#### Testing a specific pull request:
|
|
104
|
+
|
|
105
|
+
Maintainers can publish an unmerged PR as a throwaway test build by commenting
|
|
106
|
+
`/publish` on it. The build goes to its own `pr-<number>` tag — never `latest`
|
|
107
|
+
or `dev` — so it never reaches normal installs. The bot replies on the PR with
|
|
108
|
+
the exact install command, e.g.:
|
|
109
|
+
|
|
110
|
+
```
|
|
111
|
+
sudo npm install -g homebridge-tuya-plus@pr-57
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
Each build also gets a unique, immutable version like `3.14.0-pr.57.<n>` that you
|
|
115
|
+
can pin or paste into the Homebridge UI's "Install Alternate Version" field.
|
|
116
|
+
|
|
81
117
|
## Configuration
|
|
82
118
|
> UI
|
|
83
119
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "homebridge-tuya-plus",
|
|
3
|
-
"version": "3.14.0-dev.
|
|
3
|
+
"version": "3.14.0-dev.27",
|
|
4
4
|
"description": "A community-maintained Homebridge plugin for controlling Tuya devices in HomeKit. LAN-first, with an optional Tuya Cloud fallback for any device the LAN can't reach.",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|