homebridge-tuya-gate 1.0.0 → 1.1.0
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 +10 -4
- package/config.schema.json +11 -3
- package/dist/accessory.d.ts +3 -2
- package/dist/accessory.js +18 -9
- package/dist/accessory.js.map +1 -1
- package/dist/platform.js +3 -2
- package/dist/platform.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -6,8 +6,8 @@ It sends the same command the Tuya app uses for **Lock Switch**: pulse `accessor
|
|
|
6
6
|
|
|
7
7
|
## What you get in Home
|
|
8
8
|
|
|
9
|
-
- **Lock** —
|
|
10
|
-
- **
|
|
9
|
+
- **Lock** (always) — Unlock opens the gate, then returns to Locked
|
|
10
|
+
- **Switch** (optional) — momentary control for the same open pulse; enable with `showSwitch`
|
|
11
11
|
|
|
12
12
|
## Requirements
|
|
13
13
|
|
|
@@ -41,12 +41,18 @@ Restart Homebridge, then add **Tuya Gate** from the Plugins page.
|
|
|
41
41
|
"accessSecret": "YOUR_ACCESS_SECRET",
|
|
42
42
|
"deviceId": "bf3f24408fb356db59qioh",
|
|
43
43
|
"region": "eu",
|
|
44
|
-
"lockCode": "accessory_lock"
|
|
44
|
+
"lockCode": "accessory_lock",
|
|
45
|
+
"showSwitch": false
|
|
45
46
|
}
|
|
46
47
|
]
|
|
47
48
|
}
|
|
48
49
|
```
|
|
49
50
|
|
|
51
|
+
| Option | Meaning |
|
|
52
|
+
|--------|---------|
|
|
53
|
+
| `showSwitch: false` (default) | Only the **Lock** appears in Home |
|
|
54
|
+
| `showSwitch: true` | **Lock** and a momentary **Switch** (same open command) |
|
|
55
|
+
|
|
50
56
|
`region` must match the project data center (`eu` for `openapi.tuyaeu.com`).
|
|
51
57
|
|
|
52
58
|
If you have a second lock channel, you can try `"lockCode": "ipc_c_lock"` (DP 232).
|
|
@@ -55,7 +61,7 @@ If you have a second lock channel, you can try `"lockCode": "ipc_c_lock"` (DP 23
|
|
|
55
61
|
|
|
56
62
|
In the Home app:
|
|
57
63
|
|
|
58
|
-
-
|
|
64
|
+
- Unlock **Open Gate**, or (if enabled) turn on **Open Gate Switch**
|
|
59
65
|
- Then: turn on a light, send a notification, run a Shortcut for Siri announce, etc.
|
|
60
66
|
|
|
61
67
|
## Development
|
package/config.schema.json
CHANGED
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
"pluginAlias": "TuyaGate",
|
|
3
3
|
"pluginType": "platform",
|
|
4
4
|
"singular": true,
|
|
5
|
-
"headerDisplay": "Opens a Tuya Gate Camera / video intercom
|
|
5
|
+
"headerDisplay": "Opens a Tuya Gate Camera / video intercom from HomeKit by pulsing accessory_lock (DP 148). By default Home only shows a Lock (Unlock = open). Optionally add a momentary Switch for the same action.",
|
|
6
|
+
"footerDisplay": "Tip: Keep “Show open switch” off for a cleaner Home screen. Turn it on if you prefer a switch tile for automations. Both controls send the same Tuya open command.",
|
|
6
7
|
"schema": {
|
|
7
8
|
"type": "object",
|
|
8
9
|
"properties": {
|
|
@@ -10,7 +11,8 @@
|
|
|
10
11
|
"title": "Name in Home",
|
|
11
12
|
"type": "string",
|
|
12
13
|
"default": "Open Gate",
|
|
13
|
-
"required": true
|
|
14
|
+
"required": true,
|
|
15
|
+
"description": "Label for the lock (and optional switch) in the Home app."
|
|
14
16
|
},
|
|
15
17
|
"accessId": {
|
|
16
18
|
"title": "Access ID / Client ID",
|
|
@@ -49,7 +51,13 @@
|
|
|
49
51
|
"title": "Lock DP code",
|
|
50
52
|
"type": "string",
|
|
51
53
|
"default": "accessory_lock",
|
|
52
|
-
"description": "Tuya property code for the gate open pulse. Default accessory_lock (DP 148)."
|
|
54
|
+
"description": "Tuya property code for the gate open pulse. Default accessory_lock (DP 148). Use ipc_c_lock for a second lock channel if needed."
|
|
55
|
+
},
|
|
56
|
+
"showSwitch": {
|
|
57
|
+
"title": "Show open switch",
|
|
58
|
+
"type": "boolean",
|
|
59
|
+
"default": false,
|
|
60
|
+
"description": "Off (default): only a Lock in Home — Unlock opens the gate. On: also add a momentary Switch that does the same open pulse (useful for some automations)."
|
|
53
61
|
}
|
|
54
62
|
}
|
|
55
63
|
}
|
package/dist/accessory.d.ts
CHANGED
|
@@ -6,10 +6,11 @@ export declare class GateAccessory {
|
|
|
6
6
|
private readonly accessory;
|
|
7
7
|
private readonly client;
|
|
8
8
|
private readonly displayName;
|
|
9
|
+
private readonly showSwitch;
|
|
9
10
|
private readonly lockService;
|
|
10
|
-
private readonly switchService
|
|
11
|
+
private readonly switchService?;
|
|
11
12
|
private busy;
|
|
12
|
-
constructor(platform: TuyaGatePlatform, accessory: PlatformAccessory, client: TuyaClient, displayName: string);
|
|
13
|
+
constructor(platform: TuyaGatePlatform, accessory: PlatformAccessory, client: TuyaClient, displayName: string, showSwitch: boolean);
|
|
13
14
|
private setLockTarget;
|
|
14
15
|
private setSwitch;
|
|
15
16
|
private pulseOpen;
|
package/dist/accessory.js
CHANGED
|
@@ -7,14 +7,16 @@ class GateAccessory {
|
|
|
7
7
|
accessory;
|
|
8
8
|
client;
|
|
9
9
|
displayName;
|
|
10
|
+
showSwitch;
|
|
10
11
|
lockService;
|
|
11
12
|
switchService;
|
|
12
13
|
busy = false;
|
|
13
|
-
constructor(platform, accessory, client, displayName) {
|
|
14
|
+
constructor(platform, accessory, client, displayName, showSwitch) {
|
|
14
15
|
this.platform = platform;
|
|
15
16
|
this.accessory = accessory;
|
|
16
17
|
this.client = client;
|
|
17
18
|
this.displayName = displayName;
|
|
19
|
+
this.showSwitch = showSwitch;
|
|
18
20
|
const { Characteristic, Service } = this.platform;
|
|
19
21
|
this.accessory.getService(Service.AccessoryInformation)
|
|
20
22
|
?.setCharacteristic(Characteristic.Manufacturer, 'Tuya')
|
|
@@ -29,12 +31,19 @@ class GateAccessory {
|
|
|
29
31
|
.onSet((value) => this.setLockTarget(value));
|
|
30
32
|
this.lockService.getCharacteristic(Characteristic.LockCurrentState)
|
|
31
33
|
.onGet(() => Characteristic.LockCurrentState.SECURED);
|
|
32
|
-
|
|
33
|
-
|| this.accessory.
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
.
|
|
34
|
+
const existingSwitch = this.accessory.getService('Open Gate Switch')
|
|
35
|
+
|| this.accessory.getService(Service.Switch);
|
|
36
|
+
if (showSwitch) {
|
|
37
|
+
this.switchService = existingSwitch
|
|
38
|
+
|| this.accessory.addService(Service.Switch, `${displayName} Switch`, 'open-gate-switch');
|
|
39
|
+
this.switchService.setCharacteristic(Characteristic.Name, `${displayName} Switch`);
|
|
40
|
+
this.switchService.getCharacteristic(Characteristic.On)
|
|
41
|
+
.onGet(() => false)
|
|
42
|
+
.onSet((value) => this.setSwitch(value));
|
|
43
|
+
}
|
|
44
|
+
else if (existingSwitch) {
|
|
45
|
+
this.accessory.removeService(existingSwitch);
|
|
46
|
+
}
|
|
38
47
|
}
|
|
39
48
|
async setLockTarget(value) {
|
|
40
49
|
const { Characteristic } = this.platform;
|
|
@@ -50,12 +59,12 @@ class GateAccessory {
|
|
|
50
59
|
}, 50);
|
|
51
60
|
}
|
|
52
61
|
async setSwitch(value) {
|
|
53
|
-
if (!value) {
|
|
62
|
+
if (!value || !this.switchService) {
|
|
54
63
|
return;
|
|
55
64
|
}
|
|
56
65
|
await this.pulseOpen('switch');
|
|
57
66
|
setTimeout(() => {
|
|
58
|
-
this.switchService
|
|
67
|
+
this.switchService?.updateCharacteristic(this.platform.Characteristic.On, false);
|
|
59
68
|
}, 500);
|
|
60
69
|
}
|
|
61
70
|
async pulseOpen(source) {
|
package/dist/accessory.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accessory.js","sourceRoot":"","sources":["../src/accessory.ts"],"names":[],"mappings":";;;AAGA,+CAAyD;AAEzD,MAAa,aAAa;IAML;IACA;IACA;IACA;
|
|
1
|
+
{"version":3,"file":"accessory.js","sourceRoot":"","sources":["../src/accessory.ts"],"names":[],"mappings":"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"}
|
package/dist/platform.js
CHANGED
|
@@ -46,7 +46,8 @@ class TuyaGatePlatform {
|
|
|
46
46
|
const accessory = existing ?? new this.api.platformAccessory(name, uuid);
|
|
47
47
|
accessory.context.deviceId = this.config.deviceId;
|
|
48
48
|
const client = this.clientFactory(this.config);
|
|
49
|
-
|
|
49
|
+
const showSwitch = this.config.showSwitch === true;
|
|
50
|
+
new accessory_1.GateAccessory(this, accessory, client, name, showSwitch);
|
|
50
51
|
if (!existing) {
|
|
51
52
|
this.api.registerPlatformAccessories(settings_1.PLUGIN_NAME, settings_1.PLATFORM_NAME, [accessory]);
|
|
52
53
|
}
|
|
@@ -54,7 +55,7 @@ class TuyaGatePlatform {
|
|
|
54
55
|
if (stale.length > 0) {
|
|
55
56
|
this.api.unregisterPlatformAccessories(settings_1.PLUGIN_NAME, settings_1.PLATFORM_NAME, stale);
|
|
56
57
|
}
|
|
57
|
-
this.log.info(`Ready to open ${name} on device ${this.config.deviceId} (${this.config.lockCode || settings_1.DEFAULT_LOCK_CODE})`);
|
|
58
|
+
this.log.info(`Ready to open ${name} on device ${this.config.deviceId} (${this.config.lockCode || settings_1.DEFAULT_LOCK_CODE}; ${showSwitch ? 'lock+switch' : 'lock only'})`);
|
|
58
59
|
}
|
|
59
60
|
}
|
|
60
61
|
exports.TuyaGatePlatform = TuyaGatePlatform;
|
package/dist/platform.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED