@camera.ui/camera-ui-ring 0.0.5 → 0.0.8

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 CHANGED
@@ -3,6 +3,6 @@ All notable changes to this project will be documented in this file.
3
3
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
4
4
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
5
5
 
6
- ## [1.0.0] - 2019-08-06
6
+ ## [X.X.X] - ???
7
7
 
8
8
  - Initial Release
@@ -0,0 +1 @@
1
+ # Contributing
package/LICENSE.md CHANGED
@@ -0,0 +1,22 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2023-2024 seydx <dev@seydx.com>
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
package/README.md CHANGED
@@ -1 +1 @@
1
- # camera-ui-ring
1
+ # @camera.ui/camera-ui-ring
@@ -0,0 +1,89 @@
1
+ {
2
+ "schema": {
3
+ "server": {
4
+ "type": "object",
5
+ "key": "server",
6
+ "title": "Server Settings",
7
+ "description": "Settings for the server",
8
+ "properties": {
9
+ "listen": {
10
+ "type": "number",
11
+ "key": "listen",
12
+ "title": "Server Port",
13
+ "description": "Port to listen on for incoming connections",
14
+ "defaultValue": 9999,
15
+ "required": true
16
+ },
17
+ "username": {
18
+ "type": "string",
19
+ "key": "username",
20
+ "title": "Server Username",
21
+ "description": "Username for the server",
22
+ "defaultValue": "camera.ui",
23
+ "required": true
24
+ },
25
+ "password": {
26
+ "type": "string",
27
+ "key": "password",
28
+ "format": "password",
29
+ "title": "Server Password",
30
+ "description": "Password for the server",
31
+ "defaultValue": "camera.ui",
32
+ "required": true
33
+ }
34
+ }
35
+ },
36
+ "homes": {
37
+ "type": "array",
38
+ "key": "homes",
39
+ "title": "Homes",
40
+ "description": "Ring Homes",
41
+ "items": {
42
+ "type": "object",
43
+ "title": "Home",
44
+ "description": "Ring Home",
45
+ "required": true,
46
+ "properties": {
47
+ "name": {
48
+ "type": "string",
49
+ "title": "Home Name",
50
+ "description": "Name of the home",
51
+ "required": true
52
+ },
53
+ "email": {
54
+ "type": "string",
55
+ "title": "Login Email",
56
+ "description": "Email for the login",
57
+ "format": "email",
58
+ "required": false
59
+ },
60
+ "password": {
61
+ "type": "string",
62
+ "title": "Login Password",
63
+ "description": "Password for the login",
64
+ "format": "password",
65
+ "required": false
66
+ },
67
+ "pin": {
68
+ "type": "string",
69
+ "title": "2FA Pin",
70
+ "description": "2FA Pin for the login",
71
+ "required": false
72
+ },
73
+ "token": {
74
+ "type": "string",
75
+ "title": "Refresh Token",
76
+ "description": "Refresh Token",
77
+ "hidden": true
78
+ }
79
+ },
80
+ "buttons": [
81
+ {
82
+ "label": "Login",
83
+ "onSubmit": "onLogin"
84
+ }
85
+ ]
86
+ }
87
+ }
88
+ }
89
+ }
package/dist/contract.js CHANGED
@@ -2,9 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.pluginContract = void 0;
4
4
  exports.pluginContract = {
5
- displayName: 'Ring',
6
- cameraSpecific: false,
7
- dependencies: [],
8
- permissions: [],
5
+ pluginName: '@camera.ui/camera-ui-ring',
6
+ builtIns: ['motionDetection'],
9
7
  };
10
8
  //# sourceMappingURL=contract.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":";;;AAEa,QAAA,cAAc,GAAmB;IAC5C,WAAW,EAAE,MAAM;IACnB,cAAc,EAAE,KAAK;IACrB,YAAY,EAAE,EAAE;IAChB,WAAW,EAAE,EAAE;CAChB,CAAC"}
1
+ {"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":";;;AAEa,QAAA,cAAc,GAAmB;IAC5C,UAAU,EAAE,2BAA2B;IACvC,QAAQ,EAAE,CAAC,iBAAiB,CAAC;CAC9B,CAAC"}
package/dist/index.js CHANGED
@@ -1,29 +1,20 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  const ring_client_api_1 = require("ring-client-api");
7
4
  const rest_client_1 = require("ring-client-api/rest-client");
8
5
  const types_1 = require("@camera.ui/types");
9
- const url_1 = __importDefault(require("url"));
10
- const http_1 = __importDefault(require("http"));
11
- const schema_1 = require("./schema");
12
6
  const contract_1 = require("./contract");
13
- const settings_1 = require("./settings");
14
- const connection_1 = require("./connection");
15
- exports.default = (api) => {
16
- api.registerPlugin(settings_1.PLUGIN_SETTINGS.NAME, settings_1.PLUGIN_SETTINGS.PLUGIN_NAME, RingPlugin, contract_1.pluginContract);
17
- };
7
+ const ws_1 = require("./ws");
8
+ const server_1 = require("./server");
9
+ exports.default = (api) => api.registerPlugin(RingPlugin, contract_1.pluginContract);
18
10
  class RingPlugin extends types_1.BasePlugin {
19
11
  config;
20
- server;
12
+ proxyServer;
21
13
  restClient;
22
14
  ringConnections = new Map();
23
15
  ringCameraConnections = new Map();
24
- sendingSnapshot = false;
25
- constructor(log, configService, api) {
26
- super(log, configService, api);
16
+ constructor(pluginId, log, configService, api) {
17
+ super(pluginId, log, configService, api);
27
18
  this.config = this.configService.all();
28
19
  this.config.server = this.configService.get('server', {}, (value) => Object.prototype.toString.call(value) === '[object Object]');
29
20
  this.config.server.listen = this.configService.get('server.listen', 9999, (value) => typeof value === 'number', false, true);
@@ -32,85 +23,16 @@ class RingPlugin extends types_1.BasePlugin {
32
23
  this.api.on('shutdown', this.stop.bind(this));
33
24
  }
34
25
  start() {
35
- if (!this.config.server?.username || !this.config.server?.password) {
36
- this.logger.warn('Stream endpoints are not protected, please set username and password in config.json');
37
- }
38
- this.server = http_1.default.createServer().listen(this.config.server.listen, 'localhost');
39
- this.server.on('upgrade', async (request, socket, head) => {
40
- if (request.url) {
41
- const parsedUrl = url_1.default.parse(request.url);
42
- const pathname = parsedUrl.pathname;
43
- if (parsedUrl.query) {
44
- const data = this.queryToData(parsedUrl.query);
45
- if (this.config.server.username &&
46
- this.config.server.password &&
47
- (this.config.server.username !== data.username || this.config.server.password !== data.password)) {
48
- socket.destroy();
49
- return;
50
- }
51
- }
52
- if (pathname) {
53
- const decodedPathname = decodeURIComponent(pathname);
54
- const cameraName = decodedPathname.split('/')[1];
55
- let cameraConnection;
56
- for (const [info, connection] of this.ringCameraConnections.entries()) {
57
- if (info.cameraName === cameraName) {
58
- cameraConnection = connection;
59
- }
60
- }
61
- if (cameraConnection && cameraConnection.ws) {
62
- cameraConnection.ws.handleUpgrade(request, socket, head, (ws) => cameraConnection?.ws?.emit('connection', ws));
63
- return;
64
- }
65
- }
66
- }
67
- socket.destroy();
68
- });
69
- this.server.on('request', async (request, response) => {
70
- if (request.url) {
71
- const parsedUrl = url_1.default.parse(request.url);
72
- const pathname = parsedUrl.pathname;
73
- if (pathname) {
74
- const decodedPathname = decodeURIComponent(pathname);
75
- const cameraName = decodedPathname.split('/')[1];
76
- let cameraConnection;
77
- for (const [info, connection] of this.ringCameraConnections.entries()) {
78
- if (info.cameraName === cameraName) {
79
- cameraConnection = connection;
80
- }
81
- }
82
- if (cameraConnection) {
83
- if (!this.sendingSnapshot) {
84
- this.sendingSnapshot = true;
85
- this.logger.debug(`${cameraName}: Sending snapshot...`);
86
- const buffer = await cameraConnection.snapshot();
87
- this.logger.debug(`${cameraName} DONE`);
88
- setTimeout(() => {
89
- this.sendingSnapshot = false;
90
- }, 100);
91
- response.writeHead(200, { 'Content-Type': 'image/jpeg' });
92
- response.end(buffer);
93
- return;
94
- }
95
- }
96
- }
97
- }
98
- response.writeHead(404, { 'Content-Type': 'text/plain' });
99
- response.end('404 Not Found');
100
- });
26
+ this.proxyServer = new server_1.ProxyServer(this.config, this.ringCameraConnections, this.logger);
27
+ this.proxyServer.createServer();
101
28
  this.connect();
102
29
  }
103
30
  stop() {
31
+ this.proxyServer?.close();
104
32
  this.ringCameraConnections.forEach((connection) => connection.close());
105
33
  this.ringConnections.forEach((ringApi) => ringApi.disconnect());
106
34
  }
107
- async getPluginSchema() {
108
- return schema_1.schema;
109
- }
110
- async setPluginConfig(config) {
111
- this.logger.log('setPluginConfig', config);
112
- }
113
- async onSubmit(actionId, home) {
35
+ async onFormSubmit(actionId, home) {
114
36
  switch (actionId) {
115
37
  case 'onLogin':
116
38
  if (home.pin) {
@@ -161,15 +83,23 @@ class RingPlugin extends types_1.BasePlugin {
161
83
  }
162
84
  return {};
163
85
  }
164
- configureDevices(devices) {
165
- this.logger.log('configureDevices', devices);
166
- for (const device of devices) {
167
- this.devices.set(device.name, device);
86
+ configureCameras(cameras) {
87
+ // this.logger.log('configureDevices', cameras);
88
+ for (const camera of cameras) {
89
+ this.cameras.set(camera.id, camera);
168
90
  }
169
91
  }
170
92
  async connect() {
171
93
  for (const home of this.config.homes) {
172
- this.connectHome(home);
94
+ await this.connectHome(home);
95
+ }
96
+ for (const [cameraId, cameraDevice] of this.cameras) {
97
+ const cameras = Array.from(this.ringCameraConnections.keys()).map((c) => c.cameraName);
98
+ if (!cameras.includes(cameraDevice.name)) {
99
+ this.logger.warn('Removing camera', cameraDevice.name);
100
+ this.cameras.delete(cameraId);
101
+ await this.api.deviceManager.removeCameraById(cameraDevice.id);
102
+ }
173
103
  }
174
104
  }
175
105
  async connectHome(home) {
@@ -182,7 +112,6 @@ class RingPlugin extends types_1.BasePlugin {
182
112
  });
183
113
  const ringCameras = await api.getCameras();
184
114
  for (const camera of ringCameras) {
185
- const connection = new connection_1.WebRtcConnection(camera, this.config, this.logger);
186
115
  const ringInfo = {
187
116
  cameraName: camera.name,
188
117
  pathName: `/${camera.name}`,
@@ -193,10 +122,11 @@ class RingPlugin extends types_1.BasePlugin {
193
122
  ringInfo.streamSource += `?username=${this.config.server.username}&password=${this.config.server.password}`;
194
123
  ringInfo.snapshotSource += `?username=${this.config.server.username}&password=${this.config.server.password}`;
195
124
  }
196
- this.ringCameraConnections.set(ringInfo, connection);
197
- if (!this.devices.has(camera.name)) {
125
+ // add nativeId?
126
+ let cameraDevice = Array.from(this.cameras).find(([_, cameraDevice]) => cameraDevice.name === camera.name)?.[1];
127
+ if (!cameraDevice) {
198
128
  this.logger.log('Adding camera', camera.name);
199
- const newCamera = await this.api.deviceManager.createDevice({
129
+ cameraDevice = await this.api.deviceManager.createCamera({
200
130
  name: camera.name,
201
131
  model: 'Ring Camera',
202
132
  sources: [
@@ -212,8 +142,11 @@ class RingPlugin extends types_1.BasePlugin {
212
142
  },
213
143
  ],
214
144
  });
215
- this.devices.set(camera.name, newCamera);
145
+ this.cameras.set(cameraDevice.id, cameraDevice);
216
146
  }
147
+ const webRtcProxy = new ws_1.WebsocketProxy(camera, cameraDevice, this.config, this.logger);
148
+ webRtcProxy.createServer();
149
+ this.ringCameraConnections.set(ringInfo, webRtcProxy);
217
150
  }
218
151
  }
219
152
  else {
@@ -271,27 +204,5 @@ class RingPlugin extends types_1.BasePlugin {
271
204
  }, true);
272
205
  return newHome;
273
206
  }
274
- queryToData(query) {
275
- const params = new URLSearchParams(query);
276
- const result = {};
277
- params.forEach((value, key) => {
278
- if (value === 'true' || value === 'false' || value === '') {
279
- result[key] = value === 'true' || value === '';
280
- }
281
- else if (value === 'null') {
282
- result[key] = null;
283
- }
284
- else if (value === 'undefined') {
285
- result[key] = undefined;
286
- }
287
- else if (!isNaN(Number(value))) {
288
- result[key] = Number(value);
289
- }
290
- else {
291
- result[key] = value;
292
- }
293
- });
294
- return result;
295
- }
296
207
  }
297
208
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { PluginConfig, PluginLogger } from '@camera.ui/types';
2
+ import type { WebsocketProxy } from './ws';
3
+ import type { RingInfo } from './types';
4
+ export declare class ProxyServer {
5
+ private server?;
6
+ private sendingSnapshot;
7
+ private ringCameraConnections;
8
+ private config;
9
+ private logger;
10
+ constructor(config: PluginConfig, ringCameraConnections: Map<RingInfo, WebsocketProxy>, logger: PluginLogger);
11
+ createServer(): void;
12
+ close(): void;
13
+ private queryToData;
14
+ }
package/dist/server.js ADDED
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ProxyServer = void 0;
7
+ const url_1 = __importDefault(require("url"));
8
+ const http_1 = __importDefault(require("http"));
9
+ class ProxyServer {
10
+ server;
11
+ sendingSnapshot = false;
12
+ ringCameraConnections;
13
+ config;
14
+ logger;
15
+ constructor(config, ringCameraConnections, logger) {
16
+ this.config = config;
17
+ this.logger = logger;
18
+ this.ringCameraConnections = ringCameraConnections;
19
+ }
20
+ createServer() {
21
+ if (!this.config.server?.username || !this.config.server?.password) {
22
+ this.logger.warn('Stream endpoints are not protected, please set username and password in config.json');
23
+ }
24
+ this.server = http_1.default.createServer().listen(this.config.server.listen, 'localhost');
25
+ this.server.on('upgrade', async (request, socket, head) => {
26
+ if (request.url) {
27
+ const parsedUrl = url_1.default.parse(request.url);
28
+ const pathname = parsedUrl.pathname;
29
+ if (parsedUrl.query) {
30
+ const data = this.queryToData(parsedUrl.query);
31
+ if (this.config.server.username &&
32
+ this.config.server.password &&
33
+ (this.config.server.username !== data.username || this.config.server.password !== data.password)) {
34
+ socket.destroy();
35
+ return;
36
+ }
37
+ }
38
+ if (pathname) {
39
+ const decodedPathname = decodeURIComponent(pathname);
40
+ const cameraName = decodedPathname.split('/')[1];
41
+ let cameraConnection;
42
+ for (const [info, connection] of this.ringCameraConnections.entries()) {
43
+ if (info.cameraName === cameraName) {
44
+ cameraConnection = connection;
45
+ }
46
+ }
47
+ if (cameraConnection && cameraConnection.ws) {
48
+ cameraConnection.ws.handleUpgrade(request, socket, head, (ws) => cameraConnection?.ws?.emit('connection', ws));
49
+ return;
50
+ }
51
+ }
52
+ }
53
+ socket.destroy();
54
+ });
55
+ this.server.on('request', async (request, response) => {
56
+ if (request.url) {
57
+ const parsedUrl = url_1.default.parse(request.url);
58
+ const pathname = parsedUrl.pathname;
59
+ if (pathname) {
60
+ const decodedPathname = decodeURIComponent(pathname);
61
+ const cameraName = decodedPathname.split('/')[1];
62
+ let cameraConnection;
63
+ for (const [info, connection] of this.ringCameraConnections.entries()) {
64
+ if (info.cameraName === cameraName) {
65
+ cameraConnection = connection;
66
+ }
67
+ }
68
+ if (cameraConnection) {
69
+ if (!this.sendingSnapshot) {
70
+ this.sendingSnapshot = true;
71
+ this.logger.debug(`${cameraName}: Sending snapshot...`);
72
+ const buffer = await cameraConnection.snapshot();
73
+ this.logger.debug(`${cameraName} DONE`);
74
+ setTimeout(() => {
75
+ this.sendingSnapshot = false;
76
+ }, 100);
77
+ response.writeHead(200, { 'Content-Type': 'image/jpeg' });
78
+ response.end(buffer);
79
+ return;
80
+ }
81
+ }
82
+ }
83
+ }
84
+ response.writeHead(404, { 'Content-Type': 'text/plain' });
85
+ response.end('404 Not Found');
86
+ });
87
+ }
88
+ close() {
89
+ this.server?.close();
90
+ }
91
+ queryToData(query) {
92
+ const params = new URLSearchParams(query);
93
+ const result = {};
94
+ params.forEach((value, key) => {
95
+ if (value === 'true' || value === 'false' || value === '') {
96
+ result[key] = value === 'true' || value === '';
97
+ }
98
+ else if (value === 'null') {
99
+ result[key] = null;
100
+ }
101
+ else if (value === 'undefined') {
102
+ result[key] = undefined;
103
+ }
104
+ else if (!isNaN(Number(value))) {
105
+ result[key] = Number(value);
106
+ }
107
+ else {
108
+ result[key] = value;
109
+ }
110
+ });
111
+ return result;
112
+ }
113
+ }
114
+ exports.ProxyServer = ProxyServer;
115
+ //# sourceMappingURL=server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -2,20 +2,22 @@
2
2
  /// <reference types="node" />
3
3
  import { WebSocketServer } from 'ws';
4
4
  import type { RingCamera } from 'ring-client-api';
5
- import type { PluginLogger } from '@camera.ui/types';
5
+ import type { CameraDevice, PluginLogger } from '@camera.ui/types';
6
6
  import type { Config } from './types';
7
- export declare class WebRtcConnection {
7
+ export declare class WebsocketProxy {
8
8
  ws?: WebSocketServer;
9
9
  private camera;
10
+ private cameraDevice;
10
11
  private call?;
11
12
  private receiver?;
12
13
  private pc?;
13
14
  private config;
14
15
  private logger;
15
- constructor(camera: RingCamera, config: Config, logger: PluginLogger);
16
- connect(): void;
16
+ constructor(camera: RingCamera, cameraDevice: CameraDevice, config: Config, logger: PluginLogger);
17
+ createServer(): void;
17
18
  close(): void;
18
19
  snapshot(): Promise<Buffer | undefined>;
19
- private cleanUp;
20
+ private checkState;
20
21
  private createPeerCoonection;
22
+ private cleanUp;
21
23
  }
@@ -1,24 +1,26 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WebRtcConnection = void 0;
3
+ exports.WebsocketProxy = void 0;
4
4
  const ws_1 = require("ws");
5
5
  const peer_1 = require("./peer");
6
6
  const werift_1 = require("werift");
7
- class WebRtcConnection {
7
+ class WebsocketProxy {
8
8
  ws;
9
9
  camera;
10
+ cameraDevice;
10
11
  call;
11
12
  receiver;
12
13
  pc;
13
14
  config;
14
15
  logger;
15
- constructor(camera, config, logger) {
16
+ constructor(camera, cameraDevice, config, logger) {
16
17
  this.config = config;
17
18
  this.logger = logger;
18
19
  this.camera = camera;
19
- this.connect();
20
+ this.cameraDevice = cameraDevice;
21
+ this.checkState();
20
22
  }
21
- connect() {
23
+ createServer() {
22
24
  this.ws = new ws_1.WebSocketServer({ noServer: true });
23
25
  let info = '';
24
26
  if (this.config.server.username && this.config.server.password) {
@@ -104,17 +106,44 @@ class WebRtcConnection {
104
106
  this.logger.error(this.camera.name, error.message);
105
107
  }
106
108
  }
107
- cleanUp() {
108
- this.receiver?.close();
109
- this.receiver = undefined;
110
- this.call?.stop();
111
- this.call?.onCallEnded.unsubscribe();
112
- this.call = undefined;
113
- this.pc?.iceConnectionStateChange.allUnsubscribe();
114
- this.pc?.onTrack.allUnsubscribe();
115
- this.pc?.removeAllListeners();
116
- this.pc?.close();
117
- this.pc = undefined;
109
+ checkState() {
110
+ let motionTimeout;
111
+ const resetTimeout = () => {
112
+ clearTimeout(motionTimeout);
113
+ motionTimeout = setTimeout(() => {
114
+ this.cameraDevice.updateState('motion', { state: false });
115
+ }, 30000);
116
+ };
117
+ let doorbellTimeout;
118
+ const resetDoorbellTimeout = () => {
119
+ clearTimeout(doorbellTimeout);
120
+ doorbellTimeout = setTimeout(() => {
121
+ this.cameraDevice.updateState('doorbell', { state: false });
122
+ }, 10000);
123
+ };
124
+ this.camera.onDoorbellPressed.subscribe(async (e) => {
125
+ this.logger.log(this.camera.name, 'onDoorbellPressed', e);
126
+ this.cameraDevice.updateState('doorbell', { state: true });
127
+ resetDoorbellTimeout();
128
+ });
129
+ this.camera.onMotionDetected.subscribe(async (motionDetected) => {
130
+ if (motionDetected) {
131
+ this.logger.log(this.camera.name, 'onMotionDetected');
132
+ resetTimeout();
133
+ }
134
+ else {
135
+ clearTimeout(motionTimeout);
136
+ }
137
+ this.cameraDevice.updateState('motion', { state: motionDetected });
138
+ });
139
+ this.camera.onData.subscribe(async (data) => {
140
+ if (this.camera.hasLight && data.led_status) {
141
+ this.cameraDevice.updateState('light', { state: data.led_status === 'on' });
142
+ }
143
+ if (this.camera.hasSiren && data.siren_status) {
144
+ this.cameraDevice.updateState('siren', { state: data.siren_status.seconds_remaining > 0 ? true : false });
145
+ }
146
+ });
118
147
  }
119
148
  createPeerCoonection() {
120
149
  return new werift_1.RTCPeerConnection({
@@ -166,6 +195,18 @@ class WebRtcConnection {
166
195
  },
167
196
  });
168
197
  }
198
+ cleanUp() {
199
+ this.receiver?.close();
200
+ this.receiver = undefined;
201
+ this.call?.stop();
202
+ this.call?.onCallEnded.unsubscribe();
203
+ this.call = undefined;
204
+ this.pc?.iceConnectionStateChange.allUnsubscribe();
205
+ this.pc?.onTrack.allUnsubscribe();
206
+ this.pc?.removeAllListeners();
207
+ this.pc?.close();
208
+ this.pc = undefined;
209
+ }
169
210
  }
170
- exports.WebRtcConnection = WebRtcConnection;
171
- //# sourceMappingURL=connection.js.map
211
+ exports.WebsocketProxy = WebsocketProxy;
212
+ //# sourceMappingURL=ws.js.map
package/dist/ws.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ws.js","sourceRoot":"","sources":["../src/ws.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  {
2
- "test": "test",
3
2
  "server": {
4
3
  "listen": 9999,
5
4
  "username": "camera.ui",
package/package.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
+ "displayName": "Ring",
2
3
  "name": "@camera.ui/camera-ui-ring",
3
- "version": "0.0.5",
4
+ "version": "0.0.8",
4
5
  "description": "camera.ui ring plugin",
5
6
  "author": "seydx (https://github.com/seydx/camera.ui)",
6
7
  "main": "./dist/index.js",
@@ -13,25 +14,25 @@
13
14
  "prepublishOnly": "npm run lint && npm run format && npm run build"
14
15
  },
15
16
  "dependencies": {
16
- "@camera.ui/types": "0.0.6",
17
+ "@camera.ui/types": "^0.0.15",
17
18
  "ring-client-api": "^12.1.0",
18
- "werift": "^0.18.17",
19
- "ws": "^8.15.1"
19
+ "werift": "^0.19.0",
20
+ "ws": "^8.16.0"
20
21
  },
21
22
  "devDependencies": {
22
23
  "@rushstack/eslint-patch": "^1.6.1",
23
- "@types/node": "^20.10.5",
24
+ "@types/node": "^20.10.6",
24
25
  "@types/ws": "^8.5.10",
25
- "@typescript-eslint/eslint-plugin": "^6.14.0",
26
- "@typescript-eslint/parser": "^6.14.0",
26
+ "@typescript-eslint/eslint-plugin": "^6.18.0",
27
+ "@typescript-eslint/parser": "^6.18.0",
27
28
  "concurrently": "^8.2.2",
28
29
  "eslint": "^8.56.0",
29
30
  "eslint-config-prettier": "^9.1.0",
30
- "eslint-plugin-prettier": "^5.0.1",
31
+ "eslint-plugin-prettier": "^5.1.2",
31
32
  "prettier": "^3.1.1",
32
33
  "rimraf": "^5.0.5",
33
34
  "typescript": "^5.3.3",
34
- "updates": "^15.0.4"
35
+ "updates": "^15.1.1"
35
36
  },
36
37
  "bugs": {
37
38
  "url": "https://github.com/seydx/camera.ui/issues"
@@ -1 +0,0 @@
1
- {"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"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"}
package/dist/schema.d.ts DELETED
@@ -1,2 +0,0 @@
1
- import { JsonSchemaObject } from '@camera.ui/types';
2
- export declare const schema: JsonSchemaObject;
package/dist/schema.js DELETED
@@ -1,103 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.schema = void 0;
4
- exports.schema = {
5
- type: 'object',
6
- properties: {
7
- server: {
8
- type: 'object',
9
- properties: {
10
- listen: {
11
- type: 'number',
12
- key: 'listen',
13
- label: 'Server Port',
14
- description: 'Port to listen on for incoming connections',
15
- required: true,
16
- readonly: false,
17
- },
18
- username: {
19
- type: 'string',
20
- key: 'username',
21
- label: 'Server Username',
22
- description: 'Username for the server',
23
- required: true,
24
- readonly: false,
25
- },
26
- password: {
27
- type: 'string',
28
- key: 'password',
29
- format: 'password',
30
- label: 'Server Password',
31
- description: 'Password for the server',
32
- required: true,
33
- readonly: false,
34
- },
35
- },
36
- key: 'server',
37
- label: 'Server Settings',
38
- description: 'Settings for the server',
39
- required: true,
40
- readonly: false,
41
- },
42
- homes: {
43
- type: 'array',
44
- items: {
45
- type: 'object',
46
- properties: {
47
- name: {
48
- type: 'string',
49
- required: true,
50
- label: 'Home Name',
51
- description: 'Name of the home',
52
- readonly: false,
53
- },
54
- email: {
55
- type: 'string',
56
- required: false,
57
- label: 'Login Email',
58
- description: 'Email for the login',
59
- format: 'email',
60
- readonly: false,
61
- },
62
- password: {
63
- type: 'string',
64
- required: false,
65
- label: 'Login Password',
66
- format: 'password',
67
- description: 'Password for the login',
68
- readonly: false,
69
- },
70
- pin: {
71
- type: 'string',
72
- required: false,
73
- label: '2FA Pin',
74
- description: '2FA Pin for the login',
75
- readonly: false,
76
- },
77
- token: {
78
- type: 'string',
79
- label: 'Refresh Token',
80
- description: 'Refresh Token',
81
- hidden: true,
82
- },
83
- },
84
- label: 'Home',
85
- description: 'Ring Home',
86
- required: true,
87
- readonly: false,
88
- buttons: [
89
- {
90
- label: 'Login',
91
- onSubmit: 'onLogin',
92
- },
93
- ],
94
- },
95
- key: 'homes',
96
- label: 'Homes',
97
- description: 'Ring Homes',
98
- required: true,
99
- readonly: false,
100
- },
101
- },
102
- };
103
- //# sourceMappingURL=schema.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":";;;AAEa,QAAA,MAAM,GAAqB;IACtC,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,GAAG,EAAE,QAAQ;oBACb,KAAK,EAAE,aAAa;oBACpB,WAAW,EAAE,4CAA4C;oBACzD,QAAQ,EAAE,IAAI;oBACd,QAAQ,EAAE,KAAK;iBAChB;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,GAAG,EAAE,UAAU;oBACf,KAAK,EAAE,iBAAiB;oBACxB,WAAW,EAAE,yBAAyB;oBACtC,QAAQ,EAAE,IAAI;oBACd,QAAQ,EAAE,KAAK;iBAChB;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,GAAG,EAAE,UAAU;oBACf,MAAM,EAAE,UAAU;oBAClB,KAAK,EAAE,iBAAiB;oBACxB,WAAW,EAAE,yBAAyB;oBACtC,QAAQ,EAAE,IAAI;oBACd,QAAQ,EAAE,KAAK;iBAChB;aACF;YACD,GAAG,EAAE,QAAQ;YACb,KAAK,EAAE,iBAAiB;YACxB,WAAW,EAAE,yBAAyB;YACtC,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,KAAK;SAChB;QACD,KAAK,EAAE;YACL,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,QAAQ,EAAE,IAAI;wBACd,KAAK,EAAE,WAAW;wBAClB,WAAW,EAAE,kBAAkB;wBAC/B,QAAQ,EAAE,KAAK;qBAChB;oBACD,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,QAAQ,EAAE,KAAK;wBACf,KAAK,EAAE,aAAa;wBACpB,WAAW,EAAE,qBAAqB;wBAClC,MAAM,EAAE,OAAO;wBACf,QAAQ,EAAE,KAAK;qBAChB;oBACD,QAAQ,EAAE;wBACR,IAAI,EAAE,QAAQ;wBACd,QAAQ,EAAE,KAAK;wBACf,KAAK,EAAE,gBAAgB;wBACvB,MAAM,EAAE,UAAU;wBAClB,WAAW,EAAE,wBAAwB;wBACrC,QAAQ,EAAE,KAAK;qBAChB;oBACD,GAAG,EAAE;wBACH,IAAI,EAAE,QAAQ;wBACd,QAAQ,EAAE,KAAK;wBACf,KAAK,EAAE,SAAS;wBAChB,WAAW,EAAE,uBAAuB;wBACpC,QAAQ,EAAE,KAAK;qBAChB;oBACD,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,KAAK,EAAE,eAAe;wBACtB,WAAW,EAAE,eAAe;wBAC5B,MAAM,EAAE,IAAI;qBACb;iBACF;gBACD,KAAK,EAAE,MAAM;gBACb,WAAW,EAAE,WAAW;gBACxB,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE;oBACP;wBACE,KAAK,EAAE,OAAO;wBACd,QAAQ,EAAE,SAAS;qBACpB;iBACF;aACF;YACD,GAAG,EAAE,OAAO;YACZ,KAAK,EAAE,OAAO;YACd,WAAW,EAAE,YAAY;YACzB,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,KAAK;SAChB;KACF;CACF,CAAC"}
@@ -1,4 +0,0 @@
1
- export declare const PLUGIN_SETTINGS: {
2
- NAME: string;
3
- PLUGIN_NAME: string;
4
- };
package/dist/settings.js DELETED
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PLUGIN_SETTINGS = void 0;
4
- exports.PLUGIN_SETTINGS = {
5
- NAME: 'Ring',
6
- PLUGIN_NAME: '@camera.ui/camera-ui-ring',
7
- };
8
- //# sourceMappingURL=settings.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":";;;AAAa,QAAA,eAAe,GAAG;IAC7B,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,2BAA2B;CACzC,CAAC"}