homebridge-eufy-nvr-gateway 0.2.0 → 0.3.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/CHANGELOG.md +20 -0
- package/README.md +16 -19
- package/config.schema.json +4 -18
- package/dist/discovery.d.ts +1 -2
- package/dist/discovery.d.ts.map +1 -1
- package/dist/discovery.js +2 -4
- package/dist/discovery.js.map +1 -1
- package/dist/gateway.d.ts +0 -9
- package/dist/gateway.d.ts.map +1 -1
- package/dist/gateway.js +18 -49
- package/dist/gateway.js.map +1 -1
- package/dist/homebridge-ui/public/index.html +73 -99
- package/dist/homebridge-ui/server.js +1 -34
- package/dist/homebridge-ui/server.js.map +1 -1
- package/dist/platform.js +1 -1
- package/dist/platform.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,26 @@ All notable changes to this project. Versions follow [Semantic Versioning](https
|
|
|
4
4
|
This plugin is based on [Homebridge Camera FFmpeg](https://github.com/homebridge-plugins/homebridge-camera-ffmpeg)
|
|
5
5
|
4.1.0; its own history is in [its changelog](https://github.com/homebridge-plugins/homebridge-camera-ffmpeg/blob/latest/CHANGELOG.md).
|
|
6
6
|
|
|
7
|
+
## [0.3.0] - 2026-11-08
|
|
8
|
+
|
|
9
|
+
### Changed
|
|
10
|
+
|
|
11
|
+
- **Only the stream login.** The web page login is gone from the settings page and the settings:
|
|
12
|
+
Homebridge logs in to the gateway with its stream login alone, which needs eufy NVR Gateway 0.6.0
|
|
13
|
+
or later. Saving the settings once removes a web login that 0.2.0 stored.
|
|
14
|
+
- **Sleep as soon as live view closes is on by default** for cameras added from now on: the
|
|
15
|
+
camera goes back to sleep the moment you close its live view, if the live view woke it. Cameras
|
|
16
|
+
already set up keep their setting (earlier versions saved it as off): turn it on in the settings.
|
|
17
|
+
|
|
18
|
+
### Fixed
|
|
19
|
+
|
|
20
|
+
- **The Devices tab lists the cameras.** It said "No Devices", because Homebridge keeps no cache
|
|
21
|
+
of HomeKit cameras (they are separate accessories). It now shows each camera added to HomeKit with
|
|
22
|
+
what the gateway says about it right now: asleep, waking or live, battery, model, serial number,
|
|
23
|
+
firmware and video; with the saved details only when the gateway can't be reached.
|
|
24
|
+
- The switches on the settings page have space between the switch and its text, and the camera
|
|
25
|
+
cards don't touch: the page now uses the Homebridge UI's own styles (Bootstrap 5).
|
|
26
|
+
|
|
7
27
|
## [0.2.0] - 2026-11-08
|
|
8
28
|
|
|
9
29
|
### Changed
|
package/README.md
CHANGED
|
@@ -26,9 +26,9 @@ wakes it; closing it lets the camera sleep again.
|
|
|
26
26
|
- **Live view wakes the camera.** When the Home app opens a camera, the plugin asks the gateway to
|
|
27
27
|
wake it. The picture appears at once (the gateway's *Waking up* picture) and switches to live video
|
|
28
28
|
when the camera is awake, usually within a few seconds.
|
|
29
|
-
- **It stays awake while you watch**, however long, and **sleeps
|
|
30
|
-
|
|
31
|
-
|
|
29
|
+
- **It stays awake while you watch**, however long, and **sleeps as soon as you're done**, if the
|
|
30
|
+
live view was what woke it. A camera that was already awake (motion, a doorbell press) is left to
|
|
31
|
+
the gateway.
|
|
32
32
|
- **Tiles never wake a camera.** The pictures on the Home app's tiles come from the gateway: the last
|
|
33
33
|
picture while a camera sleeps, the live one while it is awake.
|
|
34
34
|
- **Nothing to type but the gateway's address.** The settings page finds the gateway's cameras and
|
|
@@ -37,8 +37,8 @@ wakes it; closing it lets the camera sleep again.
|
|
|
37
37
|
|
|
38
38
|
## Installation
|
|
39
39
|
|
|
40
|
-
The gateway must be running and reachable from the Homebridge host: its web
|
|
41
|
-
its streams on `8554`.
|
|
40
|
+
The gateway (version 0.6.0 or later) must be running and reachable from the Homebridge host: its web
|
|
41
|
+
page on port `8099`, its streams on `8554`.
|
|
42
42
|
|
|
43
43
|
In the Homebridge UI, open *Plugins*, search for `homebridge-eufy-nvr-gateway` and install it. Or,
|
|
44
44
|
in the Homebridge terminal:
|
|
@@ -56,23 +56,21 @@ Each release is also attached as a `.tgz` file on the
|
|
|
56
56
|
Open the plugin's settings in the Homebridge UI and enter the gateway's IP address (its port too, if
|
|
57
57
|
it isn't `8099`). The page finds the gateway's cameras at once.
|
|
58
58
|
|
|
59
|
-
**
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
with it.
|
|
64
|
-
- **Web page login**: only for gateways before 0.6.0, which don't accept the stream login for
|
|
65
|
-
finding and waking cameras. The page asks for it only then. Updating the gateway makes it unnecessary, and the
|
|
66
|
-
page doesn't store it when the stream login is enough.
|
|
59
|
+
**Login.** Only if the gateway has one: its **stream login** (`"rtsp"` in its config.json), the one
|
|
60
|
+
your NVR uses. The page asks for it when the gateway needs it. Homebridge plays the streams with it,
|
|
61
|
+
and finds and wakes the cameras with it; it never needs the gateway's web page login. This needs
|
|
62
|
+
eufy NVR Gateway 0.6.0 or later.
|
|
67
63
|
|
|
68
64
|
**For each camera** the page shows its name and stream (both follow from the gateway) and fills in
|
|
69
65
|
the model and serial number. You choose:
|
|
70
66
|
|
|
71
67
|
- **Add to HomeKit**: every camera at the first setup; cameras the gateway gets later start off.
|
|
72
68
|
- **Sound**: on when the gateway's stream for that camera has sound (`"audio": true` on the gateway).
|
|
73
|
-
- **Sleep as soon as live view closes
|
|
74
|
-
|
|
75
|
-
|
|
69
|
+
- **Sleep as soon as live view closes** (on by default): the camera goes back to sleep the moment
|
|
70
|
+
the last Home app viewer leaves, if the live view was what woke it; a camera that was already awake
|
|
71
|
+
is left alone. If motion starts *while* you watch, closing the live view still ends the session,
|
|
72
|
+
which also stops an NVR's recording of it; turn this off if an NVR records the camera and that
|
|
73
|
+
matters to you. Off, the camera sleeps when the gateway's hold time ends (30 seconds by default).
|
|
76
74
|
- **Experimental – WIP → Video codec**: *Automatic* passes the gateway's H.264 to HomeKit as it is
|
|
77
75
|
(`copy`, almost no CPU), and converts with `libx264` when the stream is H.265, which HomeKit can't
|
|
78
76
|
play, or when the gateway doesn't know the camera's format yet. It is decided again at every
|
|
@@ -114,7 +112,7 @@ What the settings page writes, for reference:
|
|
|
114
112
|
{
|
|
115
113
|
"name": "front-door",
|
|
116
114
|
"gatewayCamera": "front-door",
|
|
117
|
-
"sleepWhenStreamEnds":
|
|
115
|
+
"sleepWhenStreamEnds": true,
|
|
118
116
|
"videoConfig": { "audio": true }
|
|
119
117
|
}
|
|
120
118
|
]
|
|
@@ -126,11 +124,10 @@ What the settings page writes, for reference:
|
|
|
126
124
|
| `gateway.url` | The gateway's web page |
|
|
127
125
|
| `gateway.rtspUsername`, `gateway.rtspPassword` | The gateway's stream login (`"rtsp"` in its config.json), if it has one |
|
|
128
126
|
| `gateway.rtspPort` | The gateway's RTSP port, if not `8554` |
|
|
129
|
-
| `gateway.username`, `gateway.password` | The gateway's web page login: only for gateways before 0.6.0, which refuse the stream login for finding and waking cameras |
|
|
130
127
|
| `cameras[].gatewayCamera` | The camera's `name` in the gateway's config.json |
|
|
131
128
|
| `cameras[].name` | The name in the Home app (the settings page uses the gateway's name) |
|
|
132
129
|
| `cameras[].wakeOnStream` | `false`: live view doesn't wake the camera (default `true`) |
|
|
133
|
-
| `cameras[].sleepWhenStreamEnds` |
|
|
130
|
+
| `cameras[].sleepWhenStreamEnds` | The camera sleeps as soon as the last viewer leaves, if live view woke it (default `true`); `false`: when the gateway's hold time ends |
|
|
134
131
|
| `cameras[].videoConfig.audio` | Sound in the Home app |
|
|
135
132
|
| `cameras[].videoConfig.vcodec` | `copy` or `libx264`; left out, it is chosen at every start |
|
|
136
133
|
|
package/config.schema.json
CHANGED
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"rtspUsername": {
|
|
27
27
|
"title": "Stream Login: Username",
|
|
28
28
|
"type": "string",
|
|
29
|
-
"description": "The gateway's stream login (\"rtsp\" in its config.json), the one your NVR uses. Plays the streams, and finds and wakes the cameras."
|
|
29
|
+
"description": "The gateway's stream login (\"rtsp\" in its config.json), the one your NVR uses. Plays the streams, and finds and wakes the cameras (eufy NVR Gateway 0.6.0 or later)."
|
|
30
30
|
},
|
|
31
31
|
"rtspPassword": {
|
|
32
32
|
"title": "Stream Login: Password",
|
|
@@ -40,18 +40,6 @@
|
|
|
40
40
|
"type": "integer",
|
|
41
41
|
"placeholder": 8554,
|
|
42
42
|
"description": "The gateway's RTSP port (\"ports.rtsp\" in its config.json)."
|
|
43
|
-
},
|
|
44
|
-
"username": {
|
|
45
|
-
"title": "Web Page Login: Username (gateways before 0.6.0)",
|
|
46
|
-
"type": "string",
|
|
47
|
-
"description": "Only for gateways before 0.6.0, which don't accept the stream login for finding and waking cameras: the login of the gateway's web page (\"web\" in its config.json)."
|
|
48
|
-
},
|
|
49
|
-
"password": {
|
|
50
|
-
"title": "Web Page Login: Password (gateways before 0.6.0)",
|
|
51
|
-
"type": "string",
|
|
52
|
-
"x-schema-form": {
|
|
53
|
-
"type": "password"
|
|
54
|
-
}
|
|
55
43
|
}
|
|
56
44
|
}
|
|
57
45
|
},
|
|
@@ -126,8 +114,8 @@
|
|
|
126
114
|
"sleepWhenStreamEnds": {
|
|
127
115
|
"title": "Sleep as Soon as Live View Closes",
|
|
128
116
|
"type": "boolean",
|
|
129
|
-
"default":
|
|
130
|
-
"description": "Let the camera sleep the moment the last Home app viewer leaves, if HomeKit was what woke it. Off: it sleeps when the gateway's hold time ends (30 s by default), which keeps
|
|
117
|
+
"default": true,
|
|
118
|
+
"description": "Let the camera sleep the moment the last Home app viewer leaves, if HomeKit was what woke it (on by default). Off: it sleeps when the gateway's hold time ends (30 s by default), which keeps an NVR's recording going if motion starts while you watch."
|
|
131
119
|
},
|
|
132
120
|
"manufacturer": {
|
|
133
121
|
"name": "Manufacturer",
|
|
@@ -373,9 +361,7 @@
|
|
|
373
361
|
"gateway.url",
|
|
374
362
|
"gateway.rtspUsername",
|
|
375
363
|
"gateway.rtspPassword",
|
|
376
|
-
"gateway.rtspPort"
|
|
377
|
-
"gateway.username",
|
|
378
|
-
"gateway.password"
|
|
364
|
+
"gateway.rtspPort"
|
|
379
365
|
]
|
|
380
366
|
},
|
|
381
367
|
{
|
package/dist/discovery.d.ts
CHANGED
|
@@ -63,13 +63,12 @@ export interface Discovery {
|
|
|
63
63
|
version: string;
|
|
64
64
|
rtspPort: number;
|
|
65
65
|
rtspLogin: boolean;
|
|
66
|
-
apiLogin: 'stream' | 'web' | 'none';
|
|
67
66
|
cameras: DiscoveredCamera[];
|
|
68
67
|
}
|
|
69
68
|
export declare function normalizeGatewayAddress(input: string): string;
|
|
70
69
|
export declare function firmwareFrom(version?: string): string;
|
|
71
70
|
export declare function brandingFor(camera: Pick<GatewayCameraStatus, 'serial' | 'model'>, devices: GatewayDevice[], version?: string): Branding;
|
|
72
71
|
export declare function codecFor(camera: Pick<GatewayCameraStatus, 'video'>): CodecChoice;
|
|
73
|
-
export declare function discover(gateway: GatewayConfig, client?: Pick<GatewayClient, 'status' | 'devices'
|
|
72
|
+
export declare function discover(gateway: GatewayConfig, client?: Pick<GatewayClient, 'status' | 'devices'>): Promise<Discovery>;
|
|
74
73
|
export declare function cameraConfigFor(camera: DiscoveredCamera, previous?: CameraConfig): CameraConfig;
|
|
75
74
|
//# sourceMappingURL=discovery.d.ts.map
|
package/dist/discovery.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAEjD,OAAO,EAAqB,aAAa,EAAE,MAAM,cAAc,CAAA;AAE/D,eAAO,MAAM,gBAAgB,OAAO,CAAA;AAGpC,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,KAAK,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CACxH;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAA;IAC1B,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;KAAE,CAAA;IAC5E,OAAO,CAAC,EAAE,mBAAmB,EAAE,CAAA;CAChC;AAGD,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,QAAQ;IACvB,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE,MAAM,CAAA;IACpB,gBAAgB,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,OAAO,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,QAAQ,CAAA;IAClB,KAAK,EAAE,WAAW,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,OAAO,CAAA;IAClB,
|
|
1
|
+
{"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAEjD,OAAO,EAAqB,aAAa,EAAE,MAAM,cAAc,CAAA;AAE/D,eAAO,MAAM,gBAAgB,OAAO,CAAA;AAGpC,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,KAAK,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CACxH;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAA;IAC1B,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;KAAE,CAAA;IAC5E,OAAO,CAAC,EAAE,mBAAmB,EAAE,CAAA;CAChC;AAGD,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,QAAQ;IACvB,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE,MAAM,CAAA;IACpB,gBAAgB,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,OAAO,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,QAAQ,CAAA;IAClB,KAAK,EAAE,WAAW,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,OAAO,CAAA;IAClB,OAAO,EAAE,gBAAgB,EAAE,CAAA;CAC5B;AAGD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAiB7D;AAGD,wBAAgB,YAAY,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAGrD;AAGD,wBAAgB,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,mBAAmB,EAAE,QAAQ,GAAG,OAAO,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,QAAQ,CAQvI;AAID,wBAAgB,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,mBAAmB,EAAE,OAAO,CAAC,GAAG,WAAW,CAkBhF;AAID,wBAAsB,QAAQ,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,CA4B7H;AAMD,wBAAgB,eAAe,CAAC,MAAM,EAAE,gBAAgB,EAAE,QAAQ,CAAC,EAAE,YAAY,GAAG,YAAY,CAc/F"}
|
package/dist/discovery.js
CHANGED
|
@@ -64,8 +64,7 @@ export async function discover(gateway, client) {
|
|
|
64
64
|
const url = normalizeGatewayAddress(gateway.url ?? '');
|
|
65
65
|
const api = client ?? new GatewayClient({ ...gateway, url });
|
|
66
66
|
const status = await api.status();
|
|
67
|
-
|
|
68
|
-
// Older gateways have the models only in the device list (which needs the web login).
|
|
67
|
+
// Gateways before 0.6.0 have the models only in the device list (open only without a web login).
|
|
69
68
|
const needDevices = (status.cameras ?? []).some(camera => !camera.model);
|
|
70
69
|
const devices = needDevices ? await api.devices().catch(() => []) : [];
|
|
71
70
|
const rtspPort = status.rtspPort || DEFAULT_RTSP_PORT;
|
|
@@ -76,7 +75,6 @@ export async function discover(gateway, client) {
|
|
|
76
75
|
version: status.gateway?.version ?? '',
|
|
77
76
|
rtspPort,
|
|
78
77
|
rtspLogin,
|
|
79
|
-
apiLogin,
|
|
80
78
|
cameras: (status.cameras ?? []).map(camera => ({
|
|
81
79
|
name: camera.name,
|
|
82
80
|
serial: camera.serial,
|
|
@@ -103,7 +101,7 @@ export function cameraConfigFor(camera, previous) {
|
|
|
103
101
|
name: camera.name,
|
|
104
102
|
gatewayCamera: camera.name,
|
|
105
103
|
...camera.branding,
|
|
106
|
-
sleepWhenStreamEnds: previous?.sleepWhenStreamEnds ??
|
|
104
|
+
sleepWhenStreamEnds: previous?.sleepWhenStreamEnds ?? true,
|
|
107
105
|
videoConfig: {
|
|
108
106
|
...previousVideo,
|
|
109
107
|
audio: camera.audio ? (previous?.videoConfig?.audio ?? true) : false, // only if the gateway's stream has sound
|
package/dist/discovery.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discovery.js","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAChG,oGAAoG;AACpG,iGAAiG;AAKjG,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAE/D,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"discovery.js","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"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"}
|
package/dist/gateway.d.ts
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { Buffer } from 'node:buffer';
|
|
2
2
|
export interface GatewayConfig {
|
|
3
3
|
url?: string;
|
|
4
|
-
username?: string;
|
|
5
|
-
password?: string;
|
|
6
4
|
rtspPort?: number;
|
|
7
5
|
rtspUsername?: string;
|
|
8
6
|
rtspPassword?: string;
|
|
@@ -37,15 +35,8 @@ export declare class GatewayClient {
|
|
|
37
35
|
state(camera: string): Promise<GatewayState>;
|
|
38
36
|
snapshot(camera: string): Promise<Buffer>;
|
|
39
37
|
private json;
|
|
40
|
-
private loginsInOrder;
|
|
41
|
-
private worked;
|
|
42
|
-
get usedLogin(): ApiLogin['kind'] | 'none';
|
|
43
38
|
private request;
|
|
44
39
|
}
|
|
45
|
-
interface ApiLogin {
|
|
46
|
-
kind: 'stream' | 'web';
|
|
47
|
-
header: string;
|
|
48
|
-
}
|
|
49
40
|
interface Timers {
|
|
50
41
|
setInterval: (fn: () => void, ms: number) => unknown;
|
|
51
42
|
clearInterval: (handle: unknown) => void;
|
package/dist/gateway.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../src/gateway.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,
|
|
1
|
+
{"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../src/gateway.ts"],"names":[],"mappings":"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"}
|
package/dist/gateway.js
CHANGED
|
@@ -97,67 +97,36 @@ export class GatewayClient {
|
|
|
97
97
|
const res = await this.request(method, path, REQUEST_TIMEOUT_MS);
|
|
98
98
|
return res.json();
|
|
99
99
|
}
|
|
100
|
-
// The
|
|
101
|
-
//
|
|
102
|
-
// needs the web page's admin login. The web login is the fallback for gateways that only accept
|
|
103
|
-
// that one. After a success, the login that worked is tried first.
|
|
104
|
-
loginsInOrder() {
|
|
105
|
-
const logins = [];
|
|
106
|
-
if (this.config.rtspUsername) {
|
|
107
|
-
logins.push({ kind: 'stream', header: basicHeader(this.config.rtspUsername, this.config.rtspPassword) });
|
|
108
|
-
}
|
|
109
|
-
if (this.config.username) {
|
|
110
|
-
logins.push({ kind: 'web', header: basicHeader(this.config.username, this.config.password) });
|
|
111
|
-
}
|
|
112
|
-
if (logins.length === 0) {
|
|
113
|
-
return [null];
|
|
114
|
-
}
|
|
115
|
-
return this.worked ? [...logins].sort(a => (a.kind === this.worked ? -1 : 1)) : logins;
|
|
116
|
-
}
|
|
117
|
-
worked = null;
|
|
118
|
-
// Which login the gateway took last: 'stream', 'web', or 'none' (it needs none).
|
|
119
|
-
get usedLogin() {
|
|
120
|
-
return this.worked ?? 'none';
|
|
121
|
-
}
|
|
100
|
+
// The gateway's API takes the stream login (eufy NVR Gateway 0.6.0 or later): the camera list,
|
|
101
|
+
// snapshots, wake and sleep are all this plugin does, so it never needs the web page's admin login.
|
|
122
102
|
async request(method, path, timeoutMs) {
|
|
123
103
|
const url = new URL(path, this.base);
|
|
124
|
-
const
|
|
104
|
+
const headers = {};
|
|
105
|
+
if (this.config.rtspUsername) {
|
|
106
|
+
const login = `${this.config.rtspUsername}:${this.config.rtspPassword ?? ''}`;
|
|
107
|
+
headers.authorization = `Basic ${Buffer.from(login, 'utf8').toString('base64')}`;
|
|
108
|
+
}
|
|
125
109
|
let res;
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
const why = error.name === 'TimeoutError' ? `no answer within ${timeoutMs / 1000} s` : error.message;
|
|
133
|
-
throw new Error(`${method} ${url.pathname}: ${why}`);
|
|
134
|
-
}
|
|
135
|
-
const refused = res.status === 401 || res.status === 403;
|
|
136
|
-
if (refused && index < logins.length - 1) {
|
|
137
|
-
continue; // try the next login
|
|
138
|
-
}
|
|
139
|
-
if (res.ok && login) {
|
|
140
|
-
this.worked = login.kind;
|
|
141
|
-
}
|
|
142
|
-
break;
|
|
110
|
+
try {
|
|
111
|
+
res = await this.fetchImpl(url, { method, headers, signal: AbortSignal.timeout(timeoutMs) });
|
|
112
|
+
}
|
|
113
|
+
catch (error) {
|
|
114
|
+
const why = error.name === 'TimeoutError' ? `no answer within ${timeoutMs / 1000} s` : error.message;
|
|
115
|
+
throw new Error(`${method} ${url.pathname}: ${why}`);
|
|
143
116
|
}
|
|
144
117
|
if (!res.ok) {
|
|
145
|
-
const
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
: status === 404
|
|
118
|
+
const hint = res.status === 401
|
|
119
|
+
? ' (check the stream login, "gateway.rtspUsername" and "gateway.rtspPassword"; the gateway must be 0.6.0 or later to accept it)'
|
|
120
|
+
: res.status === 404
|
|
149
121
|
? ' (check the camera name: it must match "name" in the gateway\'s config.json)'
|
|
150
|
-
: status === 429
|
|
122
|
+
: res.status === 429
|
|
151
123
|
? ' (too many wrong logins from this machine: the gateway refuses its logins for a few minutes; check the password)'
|
|
152
124
|
: '';
|
|
153
|
-
throw new Error(`${method} ${url.pathname}: HTTP ${status}${hint}`);
|
|
125
|
+
throw new Error(`${method} ${url.pathname}: HTTP ${res.status}${hint}`);
|
|
154
126
|
}
|
|
155
127
|
return res;
|
|
156
128
|
}
|
|
157
129
|
}
|
|
158
|
-
function basicHeader(username, password) {
|
|
159
|
-
return `Basic ${Buffer.from(`${username}:${password ?? ''}`, 'utf8').toString('base64')}`;
|
|
160
|
-
}
|
|
161
130
|
const realTimers = {
|
|
162
131
|
setInterval: (fn, ms) => setInterval(fn, ms),
|
|
163
132
|
clearInterval: handle => clearInterval(handle),
|
package/dist/gateway.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway.js","sourceRoot":"","sources":["../src/gateway.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"gateway.js","sourceRoot":"","sources":["../src/gateway.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,42 +21,30 @@
|
|
|
21
21
|
<div id="menuWrapper" class="btn-group w-100 mb-0" role="group" aria-label="UI Menu" style="display: none">
|
|
22
22
|
<button type="button" class="btn btn-primary" id="menuSettings">Settings</button>
|
|
23
23
|
<button type="button" class="btn btn-primary" id="menuDevices">Devices</button>
|
|
24
|
-
<button type="button" class="btn btn-primary
|
|
24
|
+
<button type="button" class="btn btn-primary me-0" id="menuHome">Support</button>
|
|
25
25
|
</div>
|
|
26
26
|
<div id="disabledBanner" class="alert alert-secondary mb-0 mt-3" role="alert" style="display: none">
|
|
27
27
|
Plugin is currently disabled
|
|
28
|
-
<button id="disabledEnable" type="button" class="btn btn-link p-0 m-0 float-
|
|
28
|
+
<button id="disabledEnable" type="button" class="btn btn-link p-0 m-0 float-end">Enable</button>
|
|
29
29
|
</div>
|
|
30
30
|
<div id="pageDevices" class="mt-4" style="display: none">
|
|
31
|
-
<div id="
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
<select class="form-control" id="deviceSelect"></select>
|
|
35
|
-
</div>
|
|
36
|
-
</form>
|
|
37
|
-
<table class="table w-100" id="deviceTable" style="display: none">
|
|
31
|
+
<div id="devicesStatus" class="alert mb-2" role="status" style="display: none"></div>
|
|
32
|
+
<div class="table-responsive">
|
|
33
|
+
<table class="table w-100" id="devicesTable" style="display: none">
|
|
38
34
|
<thead>
|
|
39
35
|
<tr class="table-active">
|
|
40
|
-
<th scope="col"
|
|
41
|
-
<th scope="col"
|
|
36
|
+
<th scope="col">Camera</th>
|
|
37
|
+
<th scope="col">Now</th>
|
|
38
|
+
<th scope="col">Model</th>
|
|
39
|
+
<th scope="col">Serial number</th>
|
|
40
|
+
<th scope="col">Firmware</th>
|
|
41
|
+
<th scope="col">Video</th>
|
|
42
42
|
</tr>
|
|
43
43
|
</thead>
|
|
44
|
-
<tbody>
|
|
45
|
-
<tr>
|
|
46
|
-
<th scope="row">Serial Number</th>
|
|
47
|
-
<td id="serialNumber"></td>
|
|
48
|
-
</tr>
|
|
49
|
-
<tr>
|
|
50
|
-
<th scope="row">Model</th>
|
|
51
|
-
<td id="model"></td>
|
|
52
|
-
</tr>
|
|
53
|
-
<tr>
|
|
54
|
-
<th scope="row">Firmware Version</th>
|
|
55
|
-
<td id="firmwareRevision"></td>
|
|
56
|
-
</tr>
|
|
57
|
-
</tbody>
|
|
44
|
+
<tbody id="devicesRows"></tbody>
|
|
58
45
|
</table>
|
|
59
46
|
</div>
|
|
47
|
+
<p class="muted" style="opacity: 0.7; font-size: 0.85rem">The cameras added to HomeKit on the Settings page, with what the gateway says about them right now.</p>
|
|
60
48
|
</div>
|
|
61
49
|
<div id="pageSettings" class="mt-4" style="display: none">
|
|
62
50
|
<style>
|
|
@@ -68,13 +56,11 @@
|
|
|
68
56
|
<div class="card">
|
|
69
57
|
<div class="card-body">
|
|
70
58
|
<h5 class="card-title">eufy NVR Gateway</h5>
|
|
71
|
-
<div class="
|
|
59
|
+
<div class="mb-2">
|
|
72
60
|
<label for="gwAddress">Gateway IP address</label>
|
|
73
61
|
<div class="input-group">
|
|
74
62
|
<input type="text" class="form-control" id="gwAddress" placeholder="192.168.1.10" autocomplete="off" />
|
|
75
|
-
<
|
|
76
|
-
<button type="button" class="btn btn-primary m-0" id="gwDiscover">Find cameras</button>
|
|
77
|
-
</div>
|
|
63
|
+
<button type="button" class="btn btn-primary m-0" id="gwDiscover">Find cameras</button>
|
|
78
64
|
</div>
|
|
79
65
|
<small class="form-text muted">The gateway's address, with its port if it isn't 8099 (e.g. 192.168.1.10:8099).</small>
|
|
80
66
|
</div>
|
|
@@ -82,18 +68,11 @@
|
|
|
82
68
|
<div id="gwRtspLogin" style="display: none" class="mt-2">
|
|
83
69
|
<label>Stream login</label>
|
|
84
70
|
<p class="muted mb-1">The gateway's stream login ("rtsp" in its config.json), the one your NVR uses. Homebridge plays the streams with it, and finds and wakes the cameras with it.</p>
|
|
85
|
-
<div class="
|
|
86
|
-
<div class="
|
|
87
|
-
<div class="
|
|
71
|
+
<div class="row g-2">
|
|
72
|
+
<div class="col-sm-6 mb-1"><input type="text" class="form-control" id="gwRtspUsername" placeholder="Username" autocomplete="off" /></div>
|
|
73
|
+
<div class="col-sm-6 mb-1"><input type="password" class="form-control" id="gwRtspPassword" placeholder="Password" autocomplete="new-password" /></div>
|
|
88
74
|
</div>
|
|
89
75
|
</div>
|
|
90
|
-
<div id="gwWebLogin" style="display: none" class="mt-2">
|
|
91
|
-
<label>Web page login (gateways before 0.6.0)</label>
|
|
92
|
-
<p class="muted mb-1">Only for gateways before 0.6.0, which don't accept the stream login for finding and waking cameras: the login of the gateway's web page ("web" in its config.json). Updating the gateway makes this unnecessary.</p>
|
|
93
|
-
<div class="form-row">
|
|
94
|
-
<div class="form-group col-sm-6 mb-1"><input type="text" class="form-control" id="gwUsername" placeholder="Username" autocomplete="off" /></div>
|
|
95
|
-
<div class="form-group col-sm-6 mb-1"><input type="password" class="form-control" id="gwPassword" placeholder="Password" autocomplete="new-password" /></div>
|
|
96
|
-
</div>
|
|
97
76
|
</div>
|
|
98
77
|
</div>
|
|
99
78
|
</div>
|
|
@@ -147,8 +126,6 @@
|
|
|
147
126
|
const gatewayForm = () => {
|
|
148
127
|
const gateway = {
|
|
149
128
|
url: $('gwAddress').value.trim(),
|
|
150
|
-
username: $('gwUsername').value.trim(),
|
|
151
|
-
password: $('gwPassword').value,
|
|
152
129
|
rtspUsername: $('gwRtspUsername').value.trim(),
|
|
153
130
|
rtspPassword: $('gwRtspPassword').value,
|
|
154
131
|
};
|
|
@@ -158,13 +135,11 @@
|
|
|
158
135
|
|
|
159
136
|
// Write the page's state into the plugin config (Homebridge's Save button stores it).
|
|
160
137
|
const store = async () => {
|
|
161
|
-
const gateway = gatewayForm();
|
|
138
|
+
const gateway = gatewayForm(); // never the web page's login: earlier versions could store it
|
|
162
139
|
if (found) {
|
|
163
140
|
gateway.url = found.url;
|
|
164
141
|
if (found.rtspPort !== 8554) gateway.rtspPort = found.rtspPort;
|
|
165
142
|
if (!found.rtspLogin) { delete gateway.rtspUsername; delete gateway.rtspPassword; }
|
|
166
|
-
// The gateway's admin login is only kept when the gateway needs it (it refused the stream login).
|
|
167
|
-
if (found.apiLogin !== 'web') { delete gateway.username; delete gateway.password; }
|
|
168
143
|
}
|
|
169
144
|
const others = (config.cameras || []).filter((camera) => !camera.gatewayCamera);
|
|
170
145
|
const gatewayCameras = found
|
|
@@ -175,18 +150,19 @@
|
|
|
175
150
|
};
|
|
176
151
|
|
|
177
152
|
const toggle = (id, label, checked, disabled, onChange) => {
|
|
178
|
-
|
|
153
|
+
// Bootstrap 5 (the Homebridge UI's): form-check form-switch keeps the switch and its text apart.
|
|
154
|
+
const input = el('input', { type: 'checkbox', class: 'form-check-input', role: 'switch', id, checked, disabled });
|
|
179
155
|
input.addEventListener('change', () => onChange(input.checked));
|
|
180
|
-
return el('div', { class: '
|
|
156
|
+
return el('div', { class: 'form-check form-switch mb-2' }, input, el('label', { class: 'form-check-label ps-1', for: id, text: label }));
|
|
181
157
|
};
|
|
182
158
|
|
|
183
|
-
const row = (label, value, mono) => el('div', { class: '
|
|
159
|
+
const row = (label, value, mono) => el('div', { class: 'mb-2' },
|
|
184
160
|
el('label', { class: 'mb-0 muted', text: label }),
|
|
185
161
|
el('div', { class: mono ? 'readonly' : '', text: value }));
|
|
186
162
|
|
|
187
163
|
const cameraCard = (camera, index) => {
|
|
188
164
|
const { discovered: d, config: c } = camera;
|
|
189
|
-
const card = el('div', { class: `card ${camera.included ? '' : 'camera-off'}` });
|
|
165
|
+
const card = el('div', { class: `card mb-3${camera.included ? '' : ' camera-off'}` });
|
|
190
166
|
const body = el('div', { class: 'card-body' });
|
|
191
167
|
const details = el('div', { class: 'camera-details mt-3' });
|
|
192
168
|
|
|
@@ -214,7 +190,7 @@
|
|
|
214
190
|
await store();
|
|
215
191
|
}));
|
|
216
192
|
|
|
217
|
-
const codec = el('select', { class: 'form-
|
|
193
|
+
const codec = el('select', { class: 'form-select', id: `cam${index}Codec` },
|
|
218
194
|
el('option', { value: '', text: `Automatic (now: ${d.codec.vcodec})` }),
|
|
219
195
|
el('option', { value: 'copy', text: 'copy (no conversion)' }),
|
|
220
196
|
el('option', { value: 'libx264', text: 'libx264 (convert to H.264)' }));
|
|
@@ -226,7 +202,7 @@
|
|
|
226
202
|
});
|
|
227
203
|
details.append(el('details', { class: 'mt-2' },
|
|
228
204
|
el('summary', { text: 'Experimental – WIP' }),
|
|
229
|
-
el('div', { class: '
|
|
205
|
+
el('div', { class: 'mt-2 mb-0' },
|
|
230
206
|
el('label', { for: `cam${index}Codec`, text: 'Video codec' }), codec,
|
|
231
207
|
el('small', { class: 'form-text muted', text: `Automatic picks ${d.codec.vcodec}: ${d.codec.note} Picked again at every Homebridge start.` }))));
|
|
232
208
|
|
|
@@ -239,8 +215,7 @@
|
|
|
239
215
|
const list = $('cameraList');
|
|
240
216
|
list.innerHTML = '';
|
|
241
217
|
if (found) {
|
|
242
|
-
$('gwRtspLogin').style.display =
|
|
243
|
-
$('gwWebLogin').style.display = found.apiLogin === 'web' ? 'block' : 'none';
|
|
218
|
+
if (found.rtspLogin) $('gwRtspLogin').style.display = 'block';
|
|
244
219
|
}
|
|
245
220
|
if (!found) return;
|
|
246
221
|
found.cameras.forEach((camera, index) => list.append(cameraCard(camera, index)));
|
|
@@ -258,26 +233,21 @@
|
|
|
258
233
|
found = answer;
|
|
259
234
|
$('gwAddress').value = answer.url.replace(/^http:\/\//, '');
|
|
260
235
|
const count = answer.cameras.length;
|
|
261
|
-
const via = answer.apiLogin === 'web' ? ' · signed in with the web page login (update the gateway to 0.6.0 or later so the stream login is enough)' : '';
|
|
262
236
|
const missing = answer.rtspLogin && !$('gwRtspUsername').value.trim() ? ' · enter the stream login below: the streams need it' : '';
|
|
263
237
|
status(count ? (missing ? 'warning' : 'success') : 'warning', count
|
|
264
|
-
? `Connected to eufy NVR Gateway ${answer.version} · ${count} camera${count === 1 ? '' : 's'}${
|
|
238
|
+
? `Connected to eufy NVR Gateway ${answer.version} · ${count} camera${count === 1 ? '' : 's'}${missing}`
|
|
265
239
|
: `Connected to eufy NVR Gateway ${answer.version}, but it has no cameras yet: add them to its config.json first.`);
|
|
266
240
|
render();
|
|
267
241
|
await store();
|
|
268
242
|
} catch (error) {
|
|
269
243
|
const message = (error && error.message) || String(error);
|
|
270
244
|
if (!/HTTP 401/.test(message)) return status('danger', `Can't reach the gateway: ${message}`);
|
|
271
|
-
// The gateway wants a login:
|
|
245
|
+
// The gateway wants a login: its stream login.
|
|
272
246
|
const stream = !!$('gwRtspUsername').value.trim();
|
|
273
|
-
const web = !!$('gwUsername').value.trim();
|
|
274
247
|
$('gwRtspLogin').style.display = 'block';
|
|
275
|
-
if (stream) $('gwWebLogin').style.display = 'block';
|
|
276
248
|
status('danger', !stream
|
|
277
249
|
? 'The gateway asks for a login: enter its stream login below ("rtsp" in its config.json).'
|
|
278
|
-
:
|
|
279
|
-
? 'The gateway didn\'t accept the stream login. Check it; gateways before 0.6.0 accept only their web page login for this, which you can enter below.'
|
|
280
|
-
: 'The gateway accepted neither login: check both.');
|
|
250
|
+
: 'The gateway didn\'t accept the stream login: check it. The gateway must be version 0.6.0 or later.');
|
|
281
251
|
}
|
|
282
252
|
};
|
|
283
253
|
|
|
@@ -294,16 +264,12 @@
|
|
|
294
264
|
started = true;
|
|
295
265
|
const gateway = config.gateway || {};
|
|
296
266
|
$('gwAddress').value = (gateway.url || '').replace(/^http:\/\//, '');
|
|
297
|
-
$('gwUsername').value = gateway.username || '';
|
|
298
|
-
$('gwPassword').value = gateway.password || '';
|
|
299
267
|
$('gwRtspUsername').value = gateway.rtspUsername || '';
|
|
300
268
|
$('gwRtspPassword').value = gateway.rtspPassword || '';
|
|
301
269
|
if (gateway.rtspUsername) $('gwRtspLogin').style.display = 'block';
|
|
302
|
-
if (gateway.username) $('gwWebLogin').style.display = 'block';
|
|
303
270
|
$('gwDiscover').addEventListener('click', discover);
|
|
304
271
|
$('gwAddress').addEventListener('input', later);
|
|
305
272
|
$('gwAddress').addEventListener('keydown', (event) => { if (event.key === 'Enter') { event.preventDefault(); discover(); } });
|
|
306
|
-
for (const id of ['gwUsername', 'gwPassword']) $(id).addEventListener('input', later);
|
|
307
273
|
for (const id of ['gwRtspUsername', 'gwRtspPassword']) $(id).addEventListener('input', later);
|
|
308
274
|
}
|
|
309
275
|
if ($('gwAddress').value.trim()) await discover();
|
|
@@ -340,42 +306,50 @@
|
|
|
340
306
|
document.getElementById('pageSupport').style.display = 'none';
|
|
341
307
|
document.getElementById('pageSettings').style.display = 'none';
|
|
342
308
|
document.getElementById('pageDevices').style.display = 'block';
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
});
|
|
351
|
-
}
|
|
352
|
-
const deviceSelect = document.getElementById('deviceSelect');
|
|
353
|
-
deviceSelect.innerHTML = '';
|
|
354
|
-
cachedAccessories.forEach((a) => {
|
|
355
|
-
const option = document.createElement('option');
|
|
356
|
-
option.text = a.displayName;
|
|
357
|
-
option.value = a.UUID;
|
|
358
|
-
deviceSelect.add(option);
|
|
359
|
-
});
|
|
360
|
-
showDeviceInfo = async (UUID) => {
|
|
361
|
-
homebridge.showSpinner();
|
|
362
|
-
const thisAcc = cachedAccessories.find((x) => x.UUID === UUID);
|
|
363
|
-
const context = thisAcc.context;
|
|
364
|
-
document.getElementById('displayName').innerHTML = thisAcc.displayName;
|
|
365
|
-
document.getElementById('serialNumber').innerHTML = context.serialNumber;
|
|
366
|
-
document.getElementById('model').innerHTML = context.model;
|
|
367
|
-
document.getElementById('firmwareRevision').innerHTML = context.firmwareRevision || 'N/A';
|
|
368
|
-
document.getElementById('deviceTable').style.display = 'inline-table';
|
|
369
|
-
homebridge.hideSpinner();
|
|
309
|
+
// HomeKit cameras are separate ("external") accessories, which Homebridge doesn't keep in its
|
|
310
|
+
// accessory cache: the list comes from the config and, live, from the gateway.
|
|
311
|
+
const note = (kind, text) => {
|
|
312
|
+
const box = document.getElementById('devicesStatus');
|
|
313
|
+
box.className = `alert alert-${kind} mb-2`;
|
|
314
|
+
box.textContent = text;
|
|
315
|
+
box.style.display = text ? 'block' : 'none';
|
|
370
316
|
};
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
317
|
+
const config = (await homebridge.getPluginConfig())[0] || {};
|
|
318
|
+
const cameras = (config.cameras || []).filter((camera) => camera.gatewayCamera);
|
|
319
|
+
const rows = document.getElementById('devicesRows');
|
|
320
|
+
rows.innerHTML = '';
|
|
321
|
+
document.getElementById('devicesTable').style.display = cameras.length ? 'table' : 'none';
|
|
322
|
+
if (!cameras.length) {
|
|
323
|
+
note('secondary', 'No cameras yet: add them on the Settings page.');
|
|
324
|
+
return homebridge.hideSpinner();
|
|
325
|
+
}
|
|
326
|
+
let live = new Map();
|
|
327
|
+
try {
|
|
328
|
+
const answer = await homebridge.request('/discover', { gateway: config.gateway || {}, cameras: config.cameras });
|
|
329
|
+
live = new Map(answer.cameras.map((camera) => [camera.discovered.name, camera.discovered]));
|
|
330
|
+
note('', '');
|
|
331
|
+
} catch (error) {
|
|
332
|
+
note('warning', `Can't reach the gateway right now (${(error && error.message) || error}): showing the saved settings only.`);
|
|
333
|
+
}
|
|
334
|
+
const STATES = { IDLE: 'Asleep', WAKING: 'Waking up', LIVE: 'Live' };
|
|
335
|
+
for (const camera of cameras) {
|
|
336
|
+
const d = live.get(camera.gatewayCamera);
|
|
337
|
+
const now = !live.size ? '—' : !d ? 'Not on the gateway' : `${STATES[d.state] || d.state}${d.battery === null ? '' : ` · battery ${d.battery}%`}`;
|
|
338
|
+
const cells = [
|
|
339
|
+
camera.name === camera.gatewayCamera ? camera.name : `${camera.name} (${camera.gatewayCamera})`,
|
|
340
|
+
now,
|
|
341
|
+
camera.model || (d && d.branding.model) || '—',
|
|
342
|
+
camera.serialNumber || (d && d.serial) || '—',
|
|
343
|
+
camera.firmwareRevision || (d && d.branding.firmwareRevision) || '—',
|
|
344
|
+
d ? [d.resolution, d.video].filter(Boolean).join(' · ') : '—',
|
|
345
|
+
];
|
|
346
|
+
const row = document.createElement('tr');
|
|
347
|
+
for (const text of cells) {
|
|
348
|
+
const cell = document.createElement('td');
|
|
349
|
+
cell.textContent = text;
|
|
350
|
+
row.append(cell);
|
|
351
|
+
}
|
|
352
|
+
rows.append(row);
|
|
379
353
|
}
|
|
380
354
|
homebridge.hideSpinner();
|
|
381
355
|
};
|
|
@@ -1,44 +1,11 @@
|
|
|
1
|
-
import fs from 'node:fs';
|
|
2
1
|
import { HomebridgePluginUiServer, RequestError } from '@homebridge/plugin-ui-utils';
|
|
3
2
|
import { cameraConfigFor, discover } from '../discovery.js';
|
|
4
|
-
import { PLUGIN_NAME } from '../settings.js';
|
|
5
3
|
class PluginUiServer extends HomebridgePluginUiServer {
|
|
6
4
|
constructor() {
|
|
7
5
|
super();
|
|
8
|
-
/*
|
|
9
|
-
A native method getCachedAccessories() was introduced in config-ui-x v4.37.0
|
|
10
|
-
The following is for users who have a lower version of config-ui-x
|
|
11
|
-
*/
|
|
12
|
-
this.onRequest('getCachedAccessories', () => {
|
|
13
|
-
try {
|
|
14
|
-
const plugin = PLUGIN_NAME;
|
|
15
|
-
const devicesToReturn = [];
|
|
16
|
-
// The path and file of the cached accessories
|
|
17
|
-
const accFile = `${this.homebridgeStoragePath}/accessories/cachedAccessories`;
|
|
18
|
-
// Check the file exists
|
|
19
|
-
if (fs.existsSync(accFile)) {
|
|
20
|
-
// read the cached accessories file
|
|
21
|
-
const cachedAccessories = JSON.parse(fs.readFileSync(accFile, 'utf8'));
|
|
22
|
-
cachedAccessories.forEach((accessory) => {
|
|
23
|
-
// Check the accessory is from this plugin
|
|
24
|
-
if (accessory.plugin === plugin) {
|
|
25
|
-
// Add the cached accessory to the array
|
|
26
|
-
devicesToReturn.push(accessory.accessory);
|
|
27
|
-
}
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
// Return the array
|
|
31
|
-
return devicesToReturn;
|
|
32
|
-
}
|
|
33
|
-
catch {
|
|
34
|
-
// Just return an empty accessory list in case of any errors
|
|
35
|
-
return [];
|
|
36
|
-
}
|
|
37
|
-
});
|
|
38
6
|
/*
|
|
39
7
|
The settings page asks for a gateway's cameras here: the page runs in the browser, which can't
|
|
40
|
-
call the gateway itself. Payload: { gateway: { url,
|
|
41
|
-
rtspPassword }, cameras: [the cameras in the current config] }. Answer: the gateway, and for
|
|
8
|
+
call the gateway itself. Payload: { gateway: { url, rtspUsername, rtspPassword },, cameras: [the cameras in the current config] }. Answer: the gateway, and for
|
|
42
9
|
each of its cameras what was discovered and the camera config to save.
|
|
43
10
|
*/
|
|
44
11
|
this.onRequest('/discover', async (payload) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/homebridge-ui/server.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/homebridge-ui/server.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAEpF,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAE3D,MAAM,cAAe,SAAQ,wBAAwB;IACnD;QACE,KAAK,EAAE,CAAA;QACP;;;;UAIE;QACF,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,EAAE,OAAuE,EAAE,EAAE;YAC5G,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAA;gBACvD,MAAM,UAAU,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;gBACjF,OAAO;oBACL,GAAG,SAAS;oBACZ,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;wBACxC,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,KAAK,MAAM,CAAC,IAAI,CAAC,CAAA;wBACtE,OAAO;4BACL,UAAU,EAAE,MAAM;4BAClB,MAAM,EAAE,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC;4BACzC,0EAA0E;4BAC1E,QAAQ,EAAE,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ;yBAChD,CAAA;oBACH,CAAC,CAAC;iBACH,CAAA;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,YAAY,CAAE,KAAe,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;YACnE,CAAC;QACH,CAAC,CAAC,CAAA;QACF,IAAI,CAAC,KAAK,EAAE,CAAA;IACd,CAAC;CACF;AAED,SAAS,mBAAmB;IAC1B,OAAO,IAAI,cAAc,EAAE,CAAA;AAC7B,CAAC;AAED,mBAAmB,EAAE,CAAA"}
|
package/dist/platform.js
CHANGED
|
@@ -97,7 +97,7 @@ export class FfmpegPlatform {
|
|
|
97
97
|
options: {
|
|
98
98
|
camera: cameraConfig.gatewayCamera,
|
|
99
99
|
wakeOnStream: cameraConfig.wakeOnStream ?? true,
|
|
100
|
-
sleepWhenStreamEnds: cameraConfig.sleepWhenStreamEnds ??
|
|
100
|
+
sleepWhenStreamEnds: cameraConfig.sleepWhenStreamEnds ?? true,
|
|
101
101
|
keepAliveMs: DEFAULT_KEEP_ALIVE_MS,
|
|
102
102
|
},
|
|
103
103
|
};
|
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
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "homebridge-eufy-nvr-gateway",
|
|
3
3
|
"displayName": "Homebridge eufy NVR Gateway",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"version": "0.
|
|
5
|
+
"version": "0.3.0",
|
|
6
6
|
"description": "Homebridge Camera FFmpeg, extended to wake battery eufy cameras behind the eufy-nvr-gateway while HomeKit watches them.",
|
|
7
7
|
"author": {
|
|
8
8
|
"name": "Khaos Tian"
|