@bordeo/scrypted-bticino-c100x 0.0.0-stage → 0.1.1
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 +74 -2
- package/dist/plugin.zip +0 -0
- package/package.json +44 -4
package/README.md
CHANGED
|
@@ -1,3 +1,75 @@
|
|
|
1
|
-
#
|
|
1
|
+
# scrypted-bticino-c100x
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Scrypted **Python** plugin for the **BTicino Classe 100X** video door entry
|
|
4
|
+
(Door Entry / Legrand Eliot cloud). Exposes a HomeKit video doorbell with ring
|
|
5
|
+
notification, listen audio, and optional two-way talkback.
|
|
6
|
+
|
|
7
|
+
Protocol code is ported from
|
|
8
|
+
[`bordeo/ha-bticino-c100x`](https://github.com/bordeo/ha-bticino-c100x)
|
|
9
|
+
(`2cf3709`) with every Home Assistant import removed. Community continuation of
|
|
10
|
+
the original [`alpichlabs/ha-bticino-c100x`](https://github.com/alpichlabs/ha-bticino-c100x)
|
|
11
|
+
work (upstream GitHub repo no longer available). Maintainer: [@bordeo](https://github.com/bordeo).
|
|
12
|
+
|
|
13
|
+
> **Not affiliated** with BTicino, Legrand, or Netatmo. Door Entry is a trademark
|
|
14
|
+
> of their respective owners. Use at your own risk.
|
|
15
|
+
|
|
16
|
+
**Licensing:** The licence of the original alpichlabs repository is unknown. No
|
|
17
|
+
`LICENSE` file is published here so as not to invent one. Treat reuse accordingly.
|
|
18
|
+
|
|
19
|
+
## Install
|
|
20
|
+
|
|
21
|
+
In the Scrypted web UI, open **Plugins** and enter the npm package name:
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
@bordeo/scrypted-bticino-c100x
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Updates are installed from the same Plugins page.
|
|
28
|
+
|
|
29
|
+
## Setup
|
|
30
|
+
|
|
31
|
+
1. Install the plugin in Scrypted.
|
|
32
|
+
2. Open **BTicino C100X** settings: enter the same **email / password** as the
|
|
33
|
+
Door Entry app.
|
|
34
|
+
3. Pick the **installation** (plant) and **gateway**.
|
|
35
|
+
4. Leave **Enable talkback** off unless you need HomeKit two-way audio (mic).
|
|
36
|
+
5. Enable the Scrypted **HomeKit** plugin and pair; the device type is
|
|
37
|
+
**Doorbell** (`BinarySensor` for rings, `VideoCamera` + optional `Intercom`).
|
|
38
|
+
|
|
39
|
+
### Important
|
|
40
|
+
|
|
41
|
+
- **Disable the prebuffer / rebroadcast mixin** on this device. Continuous
|
|
42
|
+
streaming holds SIP monitoring calls open and will disrupt the outdoor unit.
|
|
43
|
+
Snapshots use a cached keyframe and never place a call.
|
|
44
|
+
- **HomeKit in Docker** needs host networking (or bridge + host Avahi + fixed
|
|
45
|
+
ports) so mDNS / RTP work.
|
|
46
|
+
- The microphone / HomeKit return audio is **off** until you enable
|
|
47
|
+
**Enable talkback**. That toggle adds the `Intercom` interface.
|
|
48
|
+
|
|
49
|
+
## Behaviour
|
|
50
|
+
|
|
51
|
+
| Feature | Notes |
|
|
52
|
+
| --- | --- |
|
|
53
|
+
| Ring | Incoming INVITE from `c100x@{gateway}` → `binaryState=true` for 5 s; SIP replies 180 then 486 |
|
|
54
|
+
| View | RTSP on `127.0.0.1`; monitoring INVITE with SDES-SRTP H.264 + G.711 |
|
|
55
|
+
| Talkback | FFmpegInput → s16le 8 kHz → G.711 → SRTP on the call's audio socket |
|
|
56
|
+
| Snapshot | Last keyframe JPEG (or placeholder); never starts a SIP call |
|
|
57
|
+
|
|
58
|
+
Each Scrypted install creates its **own** Legrand SIP `clientId` (`clientName`
|
|
59
|
+
`Scrypted`) and never reuses a Home Assistant client's credentials.
|
|
60
|
+
|
|
61
|
+
## Development
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
npm install
|
|
65
|
+
npm run build # writes dist/plugin.zip (or out/plugin.zip)
|
|
66
|
+
pip install -r tests/requirements-test.txt
|
|
67
|
+
pytest tests/ -q
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
Offline tests only — no live calls to Legrand.
|
|
71
|
+
|
|
72
|
+
## Disclaimer
|
|
73
|
+
|
|
74
|
+
Unofficial community software. Not affiliated with, endorsed by, or supported by
|
|
75
|
+
BTicino, Legrand, Netatmo, or Apple.
|
package/dist/plugin.zip
ADDED
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,46 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bordeo/scrypted-bticino-c100x",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
|
|
3
|
+
"version": "0.1.1",
|
|
4
|
+
"description": "Scrypted plugin for BTicino Classe 100X video door entry via Legrand cloud",
|
|
5
|
+
"scripts": {
|
|
6
|
+
"scrypted-setup-project": "scrypted-setup-project",
|
|
7
|
+
"prescrypted-setup-project": "scrypted-package-json",
|
|
8
|
+
"build": "scrypted-webpack",
|
|
9
|
+
"prepublishOnly": "NODE_ENV=production scrypted-webpack",
|
|
10
|
+
"prescrypted-vscode-launch": "scrypted-webpack",
|
|
11
|
+
"scrypted-vscode-launch": "scrypted-deploy-debug",
|
|
12
|
+
"scrypted-deploy-debug": "scrypted-deploy-debug",
|
|
13
|
+
"scrypted-debug": "scrypted-debug",
|
|
14
|
+
"scrypted-deploy": "scrypted-deploy",
|
|
15
|
+
"scrypted-readme": "scrypted-readme",
|
|
16
|
+
"scrypted-package-json": "scrypted-package-json"
|
|
17
|
+
},
|
|
18
|
+
"keywords": [
|
|
19
|
+
"scrypted",
|
|
20
|
+
"plugin",
|
|
21
|
+
"bticino",
|
|
22
|
+
"c100x",
|
|
23
|
+
"doorbell",
|
|
24
|
+
"legrand",
|
|
25
|
+
"homekit"
|
|
26
|
+
],
|
|
27
|
+
"files": [
|
|
28
|
+
"dist"
|
|
29
|
+
],
|
|
30
|
+
"publishConfig": {
|
|
31
|
+
"access": "public"
|
|
32
|
+
},
|
|
33
|
+
"scrypted": {
|
|
34
|
+
"name": "BTicino C100X",
|
|
35
|
+
"runtime": "python",
|
|
36
|
+
"type": "DeviceProvider",
|
|
37
|
+
"interfaces": [
|
|
38
|
+
"ScryptedSystemDevice",
|
|
39
|
+
"DeviceProvider",
|
|
40
|
+
"Settings"
|
|
41
|
+
]
|
|
42
|
+
},
|
|
43
|
+
"devDependencies": {
|
|
44
|
+
"@scrypted/sdk": "^0.5.59"
|
|
45
|
+
}
|
|
46
|
+
}
|