From 9bd55a2a8c279269e3b18430cef66dc2c277405b Mon Sep 17 00:00:00 2001 From: Fabian Buckreus Date: Tue, 8 Oct 2024 02:31:29 +0200 Subject: [PATCH 1/6] Added siren trigger functionality to cameras --- README.md | 6 ++++- build/lib/ownRingCamera.js | 45 +++++++++++++++++++++++++++++++ build/lib/ownRingCamera.js.map | 2 +- src/lib/ownRingCamera.ts | 49 +++++++++++++++++++++++++++++++++- 4 files changed, 99 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 0d3e704a..04d26db0 100755 --- a/README.md +++ b/README.md @@ -97,6 +97,10 @@ doorbell recorded video. Placeholder for the next version (at the beginning of the line): ### **WORK IN PROGRESS** --> +### WORK IN PROGRESS + +* (Speedbreaker12) Added siren trigger functionality to cameras + ### 6.1.0 (2024-09-20) * (theimo1221) Some package updates @@ -515,4 +519,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +SOFTWARE. \ No newline at end of file diff --git a/build/lib/ownRingCamera.js b/build/lib/ownRingCamera.js index 6953cb84..9d3a5401 100644 --- a/build/lib/ownRingCamera.js +++ b/build/lib/ownRingCamera.js @@ -233,6 +233,27 @@ class OwnRingCamera extends ownRingDevice_1.OwnRingDevice { await this.updateHDSnapshotObject(); this.debug(`Done creating HDSnapshot to ${visPath}`); } + async toggleSiren(state) { + if (this._ringDevice.hasSiren) { + this.debug(`Toggling siren state for ${this.shortId} to ${state}`); + await this._ringDevice.setSiren(state).then(() => { + this._adapter.upsertState(`${this.fullId}.Siren.state`, { + type: "boolean", + role: "switch", + read: true, + write: true, + name: "Control the siren", + desc: "Activate or deactivate the camera's siren" + }, state, true); + this.debug(`Siren state set to ${state} successfully.`); + }).catch((err) => { + this.catcher(`Couldn't toggle siren state for ${this.shortId}.`, err); + }); + } + else { + this.warn(`Device ${this.shortId} does not support siren capabilities.`); + } + } async takeSnapshot(uuid, eventBased = false) { this.silly(`${this.shortId}.takeSnapshot()`); const { visURL, visPath } = await file_service_1.FileService.getVisUrl(this._adapter, this.fullId, "Snapshot.jpg"); @@ -340,6 +361,18 @@ class OwnRingCamera extends ownRingDevice_1.OwnRingDevice { this._adapter.upsertState(`${this.fullId}.${constants_1.STATE_ID_DEBUG_REQUEST}`, constants_1.COMMON_DEBUG_REQUEST, false); } return; + case "Siren": + if (stateID === "state") { + const targetVal = state.val; + this.debug(`Set siren for ${this.shortId} to value ${targetVal}`); + await this.toggleSiren(!!targetVal).catch((reason) => { + this.catcher("Couldn't toggle Siren.", reason); + }); + } + else { + this.error(`Unknown State/Switch with channel "${channelID}" and state "${stateID}"`); + } + break; case "Light": if (!this._ringDevice.hasLight) { return; @@ -423,6 +456,18 @@ class OwnRingCamera extends ownRingDevice_1.OwnRingDevice { this._adapter.createChannel(this.fullId, constants_1.CHANNEL_NAME_LIVESTREAM, { name: `Livestream ${this.shortId}` }); this._adapter.createChannel(this.fullId, constants_1.CHANNEL_NAME_HISTORY); this._adapter.createChannel(this.fullId, constants_1.CHANNEL_NAME_EVENTS); + if (this._ringDevice.hasSiren) { + this.debug(`Device with Siren Capabilities detected`); + this._adapter.createChannel(this.fullId, "Siren", { name: `Siren ${this.shortId}` }); + await this._adapter.upsertState(`${this.fullId}.Siren.state`, { + type: "boolean", + role: "switch", + read: true, + write: true, + name: "Control the siren", + desc: "Activate or deactivate the camera's siren" + }, false, true, true); + } if (this._ringDevice.hasLight) { this.debug(`Device with Light Capabilities detected`); this._adapter.createChannel(this.fullId, constants_1.CHANNEL_NAME_LIGHT, { name: `Light ${this.shortId}` }); diff --git a/build/lib/ownRingCamera.js.map b/build/lib/ownRingCamera.js.map index 4848607a..573e511e 100644 --- a/build/lib/ownRingCamera.js.map +++ b/build/lib/ownRingCamera.js.map @@ -1 +1 @@ -{"version":3,"file":"ownRingCamera.js","sourceRoot":"","sources":["../../src/lib/ownRingCamera.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"ownRingCamera.js","sourceRoot":"","sources":["../../src/lib/ownRingCamera.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/lib/ownRingCamera.ts b/src/lib/ownRingCamera.ts index 2e182163..f38414b2 100644 --- a/src/lib/ownRingCamera.ts +++ b/src/lib/ownRingCamera.ts @@ -347,6 +347,27 @@ export class OwnRingCamera extends OwnRingDevice { this.debug(`Done creating HDSnapshot to ${visPath}`); } + public async toggleSiren(state: boolean): Promise { + if (this._ringDevice.hasSiren) { + this.debug(`Toggling siren state for ${this.shortId} to ${state}`); + await this._ringDevice.setSiren(state).then(() => { + this._adapter.upsertState(`${this.fullId}.Siren.state`, { + type: "boolean", + role: "switch", + read: true, + write: true, + name: "Control the siren", + desc: "Activate or deactivate the camera's siren" + }, state, true); + this.debug(`Siren state set to ${state} successfully.`); + }).catch((err: any) => { + this.catcher(`Couldn't toggle siren state for ${this.shortId}.`, err); + }); + } else { + this.warn(`Device ${this.shortId} does not support siren capabilities.`); + } + } + public async takeSnapshot(uuid?: string, eventBased: boolean = false): Promise { this.silly(`${this.shortId}.takeSnapshot()`); @@ -479,6 +500,19 @@ export class OwnRingCamera extends OwnRingDevice { } return; + case "Siren": + if (stateID === "state") { + const targetVal: boolean = state.val as boolean; + this.debug(`Set siren for ${this.shortId} to value ${targetVal}`); + await this.toggleSiren(!!targetVal).catch((reason: any) => { + this.catcher("Couldn't toggle Siren.", reason); + }); + } + else { + this.error(`Unknown State/Switch with channel "${channelID}" and state "${stateID}"`); + } + break; + case "Light": if (!this._ringDevice.hasLight) { return; @@ -562,6 +596,19 @@ export class OwnRingCamera extends OwnRingDevice { this._adapter.createChannel(this.fullId, CHANNEL_NAME_HISTORY); this._adapter.createChannel(this.fullId, CHANNEL_NAME_EVENTS); + if (this._ringDevice.hasSiren) { + this.debug(`Device with Siren Capabilities detected`); + this._adapter.createChannel(this.fullId, "Siren", { name: `Siren ${this.shortId}` }); + await this._adapter.upsertState(`${this.fullId}.Siren.state`, { + type: "boolean", + role: "switch", + read: true, + write: true, + name: "Control the siren", + desc: "Activate or deactivate the camera's siren" + }, false, true, true); + } + if (this._ringDevice.hasLight) { this.debug(`Device with Light Capabilities detected`); this._adapter.createChannel(this.fullId, CHANNEL_NAME_LIGHT, {name: `Light ${this.shortId}`}); @@ -961,4 +1008,4 @@ export class OwnRingCamera extends OwnRingDevice { return; } -} +} \ No newline at end of file From 4a77615b359eea01eb3519f186982bbea76c8720 Mon Sep 17 00:00:00 2001 From: Fabian Buckreus Date: Tue, 8 Oct 2024 03:33:17 +0200 Subject: [PATCH 2/6] Add battery status support to OwnRingIntercom for Ring Intercom devices --- src/lib/ownRingIntercom.ts | 219 ++++++++++++++++++++++++++++++------- 1 file changed, 181 insertions(+), 38 deletions(-) diff --git a/src/lib/ownRingIntercom.ts b/src/lib/ownRingIntercom.ts index 504f76d4..163952b5 100644 --- a/src/lib/ownRingIntercom.ts +++ b/src/lib/ownRingIntercom.ts @@ -1,4 +1,7 @@ -import { IntercomHandsetAudioData, RingIntercom } from "ring-client-api"; +import { + IntercomHandsetAudioData, + RingIntercom, +} from "ring-client-api"; import util from "util"; import { OwnRingDevice } from "./ownRingDevice"; @@ -14,6 +17,9 @@ import { COMMON_INFO_DESCRIPTION, COMMON_INFO_ID, COMMON_INFO_KIND, + COMMON_INFO_BATTERY_PERCENTAGE, + COMMON_INFO_BATTERY_PERCENTAGE_CATEGORY, + COMMON_INFO_FIRMWARE, COMMON_INTERCOM_UNLOCK_REQUEST, STATE_ID_DEBUG_REQUEST, STATE_ID_INTERCOM_UNLOCK, @@ -25,15 +31,25 @@ export class OwnRingIntercom extends OwnRingDevice { private _ringIntercom: RingIntercom; private _dingEventBlocker: EventBlocker; - public constructor(ringDevice: RingIntercom, location: OwnRingLocation, adapter: RingAdapter, apiClient: RingApiClient) { + public constructor( + ringDevice: RingIntercom, + location: OwnRingLocation, + adapter: RingAdapter, + apiClient: RingApiClient + ) { super( location, adapter, apiClient, - OwnRingDevice.evaluateKind(ringDevice.deviceType as string, adapter, ringDevice), + OwnRingDevice.evaluateKind( + ringDevice.deviceType as string, + adapter, + ringDevice + ), `${ringDevice.id}`, ringDevice.data.description ); + // Initialize event blocker to manage ding events this._dingEventBlocker = new EventBlocker( this._adapter.config.ignore_events_Doorbell, this._adapter.config.keep_ignoring_if_retriggered @@ -41,22 +57,55 @@ export class OwnRingIntercom extends OwnRingDevice { this._ringIntercom = ringDevice; this.infoChannelId = `${this.fullId}.${CHANNEL_NAME_INFO}`; this.eventsChannelId = `${this.fullId}.${CHANNEL_NAME_EVENTS}`; + + // Create the device object tree in ioBroker this.recreateDeviceObjectTree(); + // Subscribe to events from the intercom this.subscribeToEvents(); + + // Subscribe to data changes from the intercom + this._ringIntercom.onData.subscribe({ + next: (data: IntercomHandsetAudioData): void => { + this.update(data); + }, + error: (err: Error): void => { + this.catcher(`Data Observer received error`, err); + }, + }); + + // Subscribe to battery level changes + this._ringIntercom.onBatteryLevel.subscribe({ + next: (batteryLevel: number | null): void => { + this.updateBatteryInfo(); + }, + error: (err: Error): void => { + this.catcher(`Battery Level Observer received error`, err); + }, + }); } - public processUserInput(channelID: string, stateID: string, state: ioBroker.State): void { + public processUserInput( + channelID: string, + stateID: string, + state: ioBroker.State + ): void { switch (channelID) { case "": const targetBoolVal: boolean = state.val as boolean; switch (stateID) { case STATE_ID_DEBUG_REQUEST: if (targetBoolVal) { - this.info(`Device Debug Data for ${this.shortId}: ${util.inspect(this._ringIntercom, false, 1)}`); + this.info( + `Device Debug Data for ${this.shortId}: ${util.inspect( + this._ringIntercom, + false, + 1 + )}` + ); this._adapter.upsertState( `${this.fullId}.${STATE_ID_DEBUG_REQUEST}`, COMMON_DEBUG_REQUEST, - false, + false ); } break; @@ -68,15 +117,21 @@ export class OwnRingIntercom extends OwnRingDevice { }); this._adapter.upsertState( `${this.fullId}.${STATE_ID_INTERCOM_UNLOCK}`, - COMMON_DEBUG_REQUEST, - false, + COMMON_INTERCOM_UNLOCK_REQUEST, + false ); } break; + default: + this.error( + `Unknown State/Switch with channel "${channelID}" and state "${stateID}"` + ); } return; default: - this.error(`Unknown State/Switch with channel "${channelID}" and state "${stateID}"`); + this.error( + `Unknown State/Switch with channel "${channelID}" and state "${stateID}"` + ); } } @@ -89,81 +144,169 @@ export class OwnRingIntercom extends OwnRingDevice { protected async recreateDeviceObjectTree(): Promise { this.silly(`Recreate DeviceObjectTree`); this._adapter.createDevice(this.fullId, { - name: `Device ${this.shortId} ("${this._ringIntercom.data.description}")` + name: `Device ${this.shortId} ("${this._ringIntercom.data.description}")`, + }); + this._adapter.createChannel(this.fullId, CHANNEL_NAME_INFO, { + name: `Info ${this.shortId}`, }); - this._adapter.createChannel(this.fullId, CHANNEL_NAME_INFO, {name: `Info ${this.shortId}`}); this._adapter.createChannel(this.fullId, CHANNEL_NAME_EVENTS); - this._adapter.upsertState( + + // Create states in the Info channel + await this._adapter.upsertState( + `${this.infoChannelId}.id`, + COMMON_INFO_ID, + this._ringIntercom.data.device_id + ); + await this._adapter.upsertState( + `${this.infoChannelId}.kind`, + COMMON_INFO_KIND, + this._ringIntercom.data.kind as string + ); + await this._adapter.upsertState( + `${this.infoChannelId}.description`, + COMMON_INFO_DESCRIPTION, + this._ringIntercom.data.description + ); + await this._adapter.upsertState( + `${this.infoChannelId}.firmware`, + COMMON_INFO_FIRMWARE, + this._ringIntercom.data.firmware + ); + + // Create battery data points + await this._adapter.upsertState( + `${this.infoChannelId}.battery_percentage`, + COMMON_INFO_BATTERY_PERCENTAGE, + null + ); + await this._adapter.upsertState( + `${this.infoChannelId}.battery_percentage_category`, + COMMON_INFO_BATTERY_PERCENTAGE_CATEGORY, + null + ); + + // Create states in the Events channel + await this._adapter.upsertState( + `${this.eventsChannelId}.ding`, + COMMON_EVENTS_INTERCOM_DING, + false + ); + + // Create states for debug and unlock requests + await this._adapter.upsertState( `${this.fullId}.${STATE_ID_DEBUG_REQUEST}`, COMMON_DEBUG_REQUEST, false, true, - true, + true ); - this._adapter.upsertState( + await this._adapter.upsertState( `${this.fullId}.${STATE_ID_INTERCOM_UNLOCK}`, COMMON_INTERCOM_UNLOCK_REQUEST, false, true, - true, + true ); } private update(data: IntercomHandsetAudioData): void { this.debug(`Received Update`); this.updateDeviceInfoObject(data); - } - - private async subscribeToEvents(): Promise { - this.silly(`Start device subscriptions`); - await this._ringIntercom.subscribeToDingEvents().catch((r: any): void => { - this.catcher(`Failed subscribing to Ding Events for ${this._ringIntercom.name}`, r); - }); - this._ringIntercom.onDing.subscribe( - { - next: (): void => { - this.onDing(); - }, - error: (err: Error): void => { - this.catcher(`Ding Observer received error`, err); - }, - } - ); + this.updateBatteryInfo(); } private updateDeviceInfoObject(data: IntercomHandsetAudioData): void { this._adapter.upsertState( `${this.infoChannelId}.id`, - COMMON_INFO_ID, + null, data.device_id ); this._adapter.upsertState( `${this.infoChannelId}.kind`, - COMMON_INFO_KIND, + null, data.kind as string ); this._adapter.upsertState( `${this.infoChannelId}.description`, - COMMON_INFO_DESCRIPTION, + null, data.description ); + this._adapter.upsertState( + `${this.infoChannelId}.firmware`, + null, + data.firmware + ); + } + + private updateBatteryInfo(): void { + const batteryLevel = this._ringIntercom.batteryLevel; + let batteryPercentage: number = -1; + if (batteryLevel !== null && batteryLevel !== undefined) { + batteryPercentage = batteryLevel; + } + + // Update battery percentage state + this._adapter.upsertState( + `${this.infoChannelId}.battery_percentage`, + null, + batteryPercentage + ); + + // Determine battery category based on percentage + let batteryCategory: string = "Unknown"; + if (batteryPercentage >= 75) { + batteryCategory = "Full"; + } else if (batteryPercentage >= 50) { + batteryCategory = "High"; + } else if (batteryPercentage >= 25) { + batteryCategory = "Medium"; + } else if (batteryPercentage >= 0) { + batteryCategory = "Low"; + } + + // Update battery category state + this._adapter.upsertState( + `${this.infoChannelId}.battery_percentage_category`, + null, + batteryCategory + ); + } + + private async subscribeToEvents(): Promise { + this.silly(`Start device subscriptions`); + await this._ringIntercom + .subscribeToDingEvents() + .catch((r: any): void => { + this.catcher( + `Failed subscribing to Ding Events for ${this._ringIntercom.name}`, + r + ); + }); + this._ringIntercom.onDing.subscribe({ + next: (): void => { + this.onDing(); + }, + error: (err: Error): void => { + this.catcher(`Ding Observer received error`, err); + }, + }); } private onDing(): void { if (this._dingEventBlocker.checkBlock()) { - this.debug(`ignore Ding event...`); + this.debug(`Ignore Ding event...`); return; } this.debug(`Received Ding Event`); this._adapter.upsertState( `${this.eventsChannelId}.ding`, - COMMON_EVENTS_INTERCOM_DING, + null, true ); setTimeout((): void => { this._adapter.upsertState( `${this.eventsChannelId}.ding`, - COMMON_EVENTS_INTERCOM_DING, + null, false ); }, 1000); From 252fa3c0169f19d88551736aaa73f713e2ff83d5 Mon Sep 17 00:00:00 2001 From: Fabian Buckreus Date: Tue, 8 Oct 2024 03:38:31 +0200 Subject: [PATCH 3/6] Add battery status support to OwnRingIntercom for Ring Intercom devices --- build/lib/ownRingIntercom.js | 91 +++++++++++++++++++++++++++----- build/lib/ownRingIntercom.js.map | 2 +- src/lib/ownRingIntercom.ts | 24 +++++---- 3 files changed, 93 insertions(+), 24 deletions(-) diff --git a/build/lib/ownRingIntercom.js b/build/lib/ownRingIntercom.js index 8943d07a..e827d45d 100644 --- a/build/lib/ownRingIntercom.js +++ b/build/lib/ownRingIntercom.js @@ -11,12 +11,33 @@ const constants_1 = require("./constants"); class OwnRingIntercom extends ownRingDevice_1.OwnRingDevice { constructor(ringDevice, location, adapter, apiClient) { super(location, adapter, apiClient, ownRingDevice_1.OwnRingDevice.evaluateKind(ringDevice.deviceType, adapter, ringDevice), `${ringDevice.id}`, ringDevice.data.description); + // Initialize event blocker to manage ding events this._dingEventBlocker = new event_blocker_1.EventBlocker(this._adapter.config.ignore_events_Doorbell, this._adapter.config.keep_ignoring_if_retriggered); this._ringIntercom = ringDevice; this.infoChannelId = `${this.fullId}.${constants_1.CHANNEL_NAME_INFO}`; this.eventsChannelId = `${this.fullId}.${constants_1.CHANNEL_NAME_EVENTS}`; + // Create the device object tree in ioBroker this.recreateDeviceObjectTree(); + // Subscribe to events from the intercom this.subscribeToEvents(); + // Subscribe to data changes from the intercom + this._ringIntercom.onData.subscribe({ + next: (data) => { + this.update(data); + }, + error: (err) => { + this.catcher(`Data Observer received error`, err); + }, + }); + // Subscribe to battery level changes + this._ringIntercom.onBatteryLevel.subscribe({ + next: () => { + this.updateBatteryInfo(); + }, + error: (err) => { + this.catcher(`Battery Level Observer received error`, err); + }, + }); } processUserInput(channelID, stateID, state) { switch (channelID) { @@ -35,9 +56,11 @@ class OwnRingIntercom extends ownRingDevice_1.OwnRingDevice { this._ringIntercom.unlock().catch((reason) => { this.catcher("Couldn't unlock door.", reason); }); - this._adapter.upsertState(`${this.fullId}.${constants_1.STATE_ID_INTERCOM_UNLOCK}`, constants_1.COMMON_DEBUG_REQUEST, false); + this._adapter.upsertState(`${this.fullId}.${constants_1.STATE_ID_INTERCOM_UNLOCK}`, constants_1.COMMON_INTERCOM_UNLOCK_REQUEST, false); } break; + default: + this.error(`Unknown State/Switch with channel "${channelID}" and state "${stateID}"`); } return; default: @@ -52,20 +75,69 @@ class OwnRingIntercom extends ownRingDevice_1.OwnRingDevice { async recreateDeviceObjectTree() { this.silly(`Recreate DeviceObjectTree`); this._adapter.createDevice(this.fullId, { - name: `Device ${this.shortId} ("${this._ringIntercom.data.description}")` + name: `Device ${this.shortId} ("${this._ringIntercom.data.description}")`, + }); + this._adapter.createChannel(this.fullId, constants_1.CHANNEL_NAME_INFO, { + name: `Info ${this.shortId}`, }); - this._adapter.createChannel(this.fullId, constants_1.CHANNEL_NAME_INFO, { name: `Info ${this.shortId}` }); this._adapter.createChannel(this.fullId, constants_1.CHANNEL_NAME_EVENTS); - this._adapter.upsertState(`${this.fullId}.${constants_1.STATE_ID_DEBUG_REQUEST}`, constants_1.COMMON_DEBUG_REQUEST, false, true, true); - this._adapter.upsertState(`${this.fullId}.${constants_1.STATE_ID_INTERCOM_UNLOCK}`, constants_1.COMMON_INTERCOM_UNLOCK_REQUEST, false, true, true); + // Create states in the Info channel + await this._adapter.upsertState(`${this.infoChannelId}.id`, constants_1.COMMON_INFO_ID, this._ringIntercom.data.device_id); + await this._adapter.upsertState(`${this.infoChannelId}.kind`, constants_1.COMMON_INFO_KIND, this._ringIntercom.data.kind); + await this._adapter.upsertState(`${this.infoChannelId}.description`, constants_1.COMMON_INFO_DESCRIPTION, this._ringIntercom.data.description); + // Firmware version might be available under 'firmware_version' + await this._adapter.upsertState(`${this.infoChannelId}.firmware`, constants_1.COMMON_INFO_FIRMWARE, this._ringIntercom.data.firmware_version); + // Create battery data points + await this._adapter.upsertState(`${this.infoChannelId}.battery_percentage`, constants_1.COMMON_INFO_BATTERY_PERCENTAGE, null); + await this._adapter.upsertState(`${this.infoChannelId}.battery_percentage_category`, constants_1.COMMON_INFO_BATTERY_PERCENTAGE_CATEGORY, null); + // Create states in the Events channel + await this._adapter.upsertState(`${this.eventsChannelId}.ding`, constants_1.COMMON_EVENTS_INTERCOM_DING, false); + // Create states for debug and unlock requests + await this._adapter.upsertState(`${this.fullId}.${constants_1.STATE_ID_DEBUG_REQUEST}`, constants_1.COMMON_DEBUG_REQUEST, false, true, true); + await this._adapter.upsertState(`${this.fullId}.${constants_1.STATE_ID_INTERCOM_UNLOCK}`, constants_1.COMMON_INTERCOM_UNLOCK_REQUEST, false, true, true); } update(data) { this.debug(`Received Update`); this.updateDeviceInfoObject(data); + this.updateBatteryInfo(); + } + updateDeviceInfoObject(data) { + this._adapter.upsertState(`${this.infoChannelId}.id`, constants_1.COMMON_INFO_ID, data.device_id); + this._adapter.upsertState(`${this.infoChannelId}.kind`, constants_1.COMMON_INFO_KIND, data.kind); + this._adapter.upsertState(`${this.infoChannelId}.description`, constants_1.COMMON_INFO_DESCRIPTION, data.description); + // Update firmware version if available + this._adapter.upsertState(`${this.infoChannelId}.firmware`, constants_1.COMMON_INFO_FIRMWARE, data.firmware_version); + } + updateBatteryInfo() { + const batteryLevel = this._ringIntercom.batteryLevel; + let batteryPercentage = -1; + if (batteryLevel !== null && batteryLevel !== undefined) { + batteryPercentage = batteryLevel; + } + // Update battery percentage state + this._adapter.upsertState(`${this.infoChannelId}.battery_percentage`, constants_1.COMMON_INFO_BATTERY_PERCENTAGE, batteryPercentage); + // Determine battery category based on percentage + let batteryCategory = "Unknown"; + if (batteryPercentage >= 75) { + batteryCategory = "Full"; + } + else if (batteryPercentage >= 50) { + batteryCategory = "High"; + } + else if (batteryPercentage >= 25) { + batteryCategory = "Medium"; + } + else if (batteryPercentage >= 0) { + batteryCategory = "Low"; + } + // Update battery category state + this._adapter.upsertState(`${this.infoChannelId}.battery_percentage_category`, constants_1.COMMON_INFO_BATTERY_PERCENTAGE_CATEGORY, batteryCategory); } async subscribeToEvents() { this.silly(`Start device subscriptions`); - await this._ringIntercom.subscribeToDingEvents().catch((r) => { + await this._ringIntercom + .subscribeToDingEvents() + .catch((r) => { this.catcher(`Failed subscribing to Ding Events for ${this._ringIntercom.name}`, r); }); this._ringIntercom.onDing.subscribe({ @@ -77,14 +149,9 @@ class OwnRingIntercom extends ownRingDevice_1.OwnRingDevice { }, }); } - updateDeviceInfoObject(data) { - this._adapter.upsertState(`${this.infoChannelId}.id`, constants_1.COMMON_INFO_ID, data.device_id); - this._adapter.upsertState(`${this.infoChannelId}.kind`, constants_1.COMMON_INFO_KIND, data.kind); - this._adapter.upsertState(`${this.infoChannelId}.description`, constants_1.COMMON_INFO_DESCRIPTION, data.description); - } onDing() { if (this._dingEventBlocker.checkBlock()) { - this.debug(`ignore Ding event...`); + this.debug(`Ignore Ding event...`); return; } this.debug(`Received Ding Event`); diff --git a/build/lib/ownRingIntercom.js.map b/build/lib/ownRingIntercom.js.map index fe02014a..a51a0da1 100644 --- a/build/lib/ownRingIntercom.js.map +++ b/build/lib/ownRingIntercom.js.map @@ -1 +1 @@ -{"version":3,"file":"ownRingIntercom.js","sourceRoot":"","sources":["../../src/lib/ownRingIntercom.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"ownRingIntercom.js","sourceRoot":"","sources":["../../src/lib/ownRingIntercom.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/lib/ownRingIntercom.ts b/src/lib/ownRingIntercom.ts index 163952b5..4d56113f 100644 --- a/src/lib/ownRingIntercom.ts +++ b/src/lib/ownRingIntercom.ts @@ -75,7 +75,7 @@ export class OwnRingIntercom extends OwnRingDevice { // Subscribe to battery level changes this._ringIntercom.onBatteryLevel.subscribe({ - next: (batteryLevel: number | null): void => { + next: (): void => { this.updateBatteryInfo(); }, error: (err: Error): void => { @@ -167,10 +167,11 @@ export class OwnRingIntercom extends OwnRingDevice { COMMON_INFO_DESCRIPTION, this._ringIntercom.data.description ); + // Firmware version might be available under 'firmware_version' await this._adapter.upsertState( `${this.infoChannelId}.firmware`, COMMON_INFO_FIRMWARE, - this._ringIntercom.data.firmware + this._ringIntercom.data.firmware_version ); // Create battery data points @@ -218,23 +219,24 @@ export class OwnRingIntercom extends OwnRingDevice { private updateDeviceInfoObject(data: IntercomHandsetAudioData): void { this._adapter.upsertState( `${this.infoChannelId}.id`, - null, + COMMON_INFO_ID, data.device_id ); this._adapter.upsertState( `${this.infoChannelId}.kind`, - null, + COMMON_INFO_KIND, data.kind as string ); this._adapter.upsertState( `${this.infoChannelId}.description`, - null, + COMMON_INFO_DESCRIPTION, data.description ); + // Update firmware version if available this._adapter.upsertState( `${this.infoChannelId}.firmware`, - null, - data.firmware + COMMON_INFO_FIRMWARE, + data.firmware_version ); } @@ -248,7 +250,7 @@ export class OwnRingIntercom extends OwnRingDevice { // Update battery percentage state this._adapter.upsertState( `${this.infoChannelId}.battery_percentage`, - null, + COMMON_INFO_BATTERY_PERCENTAGE, batteryPercentage ); @@ -267,7 +269,7 @@ export class OwnRingIntercom extends OwnRingDevice { // Update battery category state this._adapter.upsertState( `${this.infoChannelId}.battery_percentage_category`, - null, + COMMON_INFO_BATTERY_PERCENTAGE_CATEGORY, batteryCategory ); } @@ -300,13 +302,13 @@ export class OwnRingIntercom extends OwnRingDevice { this.debug(`Received Ding Event`); this._adapter.upsertState( `${this.eventsChannelId}.ding`, - null, + COMMON_EVENTS_INTERCOM_DING, true ); setTimeout((): void => { this._adapter.upsertState( `${this.eventsChannelId}.ding`, - null, + COMMON_EVENTS_INTERCOM_DING, false ); }, 1000); From c246279f817b4f2017ec3a21bdc3fa6daf0ed8fe Mon Sep 17 00:00:00 2001 From: Fabian Buckreus Date: Tue, 8 Oct 2024 03:48:31 +0200 Subject: [PATCH 4/6] Add battery status support to OwnRingIntercom for Ring Intercom devices --- build/lib/ownRingIntercom.js.map | 2 +- src/lib/ownRingIntercom.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/build/lib/ownRingIntercom.js.map b/build/lib/ownRingIntercom.js.map index a51a0da1..4b182f7f 100644 --- a/build/lib/ownRingIntercom.js.map +++ b/build/lib/ownRingIntercom.js.map @@ -1 +1 @@ -{"version":3,"file":"ownRingIntercom.js","sourceRoot":"","sources":["../../src/lib/ownRingIntercom.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"ownRingIntercom.js","sourceRoot":"","sources":["../../src/lib/ownRingIntercom.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/lib/ownRingIntercom.ts b/src/lib/ownRingIntercom.ts index 4d56113f..76ce386b 100644 --- a/src/lib/ownRingIntercom.ts +++ b/src/lib/ownRingIntercom.ts @@ -241,7 +241,7 @@ export class OwnRingIntercom extends OwnRingDevice { } private updateBatteryInfo(): void { - const batteryLevel = this._ringIntercom.batteryLevel; + const batteryLevel: number | null = this._ringIntercom.batteryLevel; let batteryPercentage: number = -1; if (batteryLevel !== null && batteryLevel !== undefined) { batteryPercentage = batteryLevel; From df7a64e49078b2e9d6327ea66e2003001c2eb5eb Mon Sep 17 00:00:00 2001 From: Fabian Buckreus Date: Tue, 8 Oct 2024 10:07:36 +0200 Subject: [PATCH 5/6] Update README.md --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 04d26db0..dbcbcf5e 100755 --- a/README.md +++ b/README.md @@ -100,6 +100,7 @@ doorbell recorded video. ### WORK IN PROGRESS * (Speedbreaker12) Added siren trigger functionality to cameras +* (Speedbreaker12) Add battery status support for Ring Intercom ### 6.1.0 (2024-09-20) @@ -519,4 +520,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. \ No newline at end of file +SOFTWARE. From da23dab786fded345946c4d76dbaaf343fd1091b Mon Sep 17 00:00:00 2001 From: Fabian Buckreus Date: Tue, 8 Oct 2024 15:38:06 +0200 Subject: [PATCH 6/6] Added siren trigger functionality to cameras #221 / Added battery status support for Ring Intercom #732 --- build/lib/constants.js | 14 ++++++- build/lib/constants.js.map | 2 +- build/lib/ownRingCamera.js | 53 ++++++++++++------------- build/lib/ownRingCamera.js.map | 2 +- src/lib/constants.ts | 12 +++++- src/lib/ownRingCamera.ts | 72 ++++++++++++++++++++-------------- 6 files changed, 90 insertions(+), 65 deletions(-) diff --git a/build/lib/constants.js b/build/lib/constants.js index 17281397..136dd00e 100644 --- a/build/lib/constants.js +++ b/build/lib/constants.js @@ -1,7 +1,7 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -exports.CHANNEL_NAME_HISTORY = exports.CHANNEL_NAME_INFO = exports.COMMON_LOCATIONMODE = exports.COMMON_OLD_TOKEN = exports.COMMON_NEW_TOKEN = exports.COMMON_INTERCOM_UNLOCK_REQUEST = exports.COMMON_DEBUG_REQUEST = exports.COMMON_EVENTS_MOMENT = exports.COMMON_EVENTS_MESSAGE = exports.COMMON_EVENTS_DETECTIONTYPE = exports.COMMON_EVENTS_TYPE = exports.COMMON_EVENTS_INTERCOM_DING = exports.COMMON_EVENTS_DOORBELL = exports.COMMON_ON_DEMAND = exports.COMMON_MOTION = exports.COMMON_LIVESTREAM_FILE = exports.COMMON_LIVESTREAM_URL = exports.COMMON_LIVESTREAM_DURATION = exports.COMMON_LIVESTREAM_AUTO = exports.COMMON_LIVESTREAM_REQUEST = exports.COMMON_LIVESTREAM_MOMENT = exports.COMMON_HDSNAPSHOT_MOMENT = exports.COMMON_HDSNAPSHOT_AUTO = exports.COMMON_HDSNAPSHOT_REQUEST = exports.COMMON_HDSNAPSHOT_FILE = exports.COMMON_HDSNAPSHOT_URL = exports.COMMON_SNAPSHOT_MOMENT = exports.COMMON_SNAPSHOT_AUTO = exports.COMMON_SNAPSHOT_REQUEST = exports.COMMON_SNAPSHOT_FILE = exports.COMMON_SNAPSHOT_URL = exports.COMMON_HISTORY_KIND = exports.COMMON_HISTORY_CREATED_AT = exports.COMMON_HISTORY_URL = exports.COMMON_LIGHT_STATE = exports.COMMON_LIGHT_SWITCH = exports.COMMON_INFO_HAS_SIREN = exports.COMMON_INFO_HAS_BATTERY = exports.COMMON_INFO_HAS_LIGHT = exports.COMMON_INFO_FIRMWARE = exports.COMMON_INFO_LATEST_SIGNAL_CATEGORY = exports.COMMON_INFO_LATEST_SIGNAL_STRENGTH = exports.COMMON_INFO_WIFI_NAME = exports.COMMON_INFO_BATTERY_PERCENTAGE_CATEGORY = exports.COMMON_INFO_BATTERY_PERCENTAGE = exports.COMMON_INFO_KIND = exports.COMMON_INFO_EXTERNAL_CONNECTION = exports.COMMON_INFO_DESCRIPTION = exports.COMMON_INFO_ID = exports.LOCATION_MODE_OPTIONS = void 0; -exports.STATE_ID_LOCATIONMODE = exports.STATE_ID_INTERCOM_UNLOCK = exports.STATE_ID_DEBUG_REQUEST = exports.STATE_ID_LIVESTREAM_DURATION = exports.STATE_ID_LIVESTREAM_REQUEST = exports.STATE_ID_HDSNAPSHOT_REQUEST = exports.STATE_ID_SNAPSHOT_REQUEST = exports.STATE_ID_LIGHT_SWITCH = exports.CHANNEL_NAME_EVENTS = exports.CHANNEL_NAME_LIVESTREAM = exports.CHANNEL_NAME_HDSNAPSHOT = exports.CHANNEL_NAME_SNAPSHOT = exports.CHANNEL_NAME_LIGHT = void 0; +exports.CHANNEL_NAME_INFO = exports.COMMON_LOCATIONMODE = exports.COMMON_OLD_TOKEN = exports.COMMON_NEW_TOKEN = exports.COMMON_INTERCOM_UNLOCK_REQUEST = exports.COMMON_DEBUG_REQUEST = exports.COMMON_EVENTS_MOMENT = exports.COMMON_EVENTS_MESSAGE = exports.COMMON_EVENTS_DETECTIONTYPE = exports.COMMON_EVENTS_TYPE = exports.COMMON_EVENTS_INTERCOM_DING = exports.COMMON_EVENTS_DOORBELL = exports.COMMON_ON_DEMAND = exports.COMMON_MOTION = exports.COMMON_LIVESTREAM_FILE = exports.COMMON_LIVESTREAM_URL = exports.COMMON_LIVESTREAM_DURATION = exports.COMMON_LIVESTREAM_AUTO = exports.COMMON_LIVESTREAM_REQUEST = exports.COMMON_LIVESTREAM_MOMENT = exports.COMMON_HDSNAPSHOT_MOMENT = exports.COMMON_HDSNAPSHOT_AUTO = exports.COMMON_HDSNAPSHOT_REQUEST = exports.COMMON_HDSNAPSHOT_FILE = exports.COMMON_HDSNAPSHOT_URL = exports.COMMON_SNAPSHOT_MOMENT = exports.COMMON_SNAPSHOT_AUTO = exports.COMMON_SNAPSHOT_REQUEST = exports.COMMON_SNAPSHOT_FILE = exports.COMMON_SNAPSHOT_URL = exports.COMMON_HISTORY_KIND = exports.COMMON_HISTORY_CREATED_AT = exports.COMMON_HISTORY_URL = exports.COMMON_SIREN_SWITCH = exports.COMMON_LIGHT_STATE = exports.COMMON_LIGHT_SWITCH = exports.COMMON_INFO_HAS_SIREN = exports.COMMON_INFO_HAS_BATTERY = exports.COMMON_INFO_HAS_LIGHT = exports.COMMON_INFO_FIRMWARE = exports.COMMON_INFO_LATEST_SIGNAL_CATEGORY = exports.COMMON_INFO_LATEST_SIGNAL_STRENGTH = exports.COMMON_INFO_WIFI_NAME = exports.COMMON_INFO_BATTERY_PERCENTAGE_CATEGORY = exports.COMMON_INFO_BATTERY_PERCENTAGE = exports.COMMON_INFO_KIND = exports.COMMON_INFO_EXTERNAL_CONNECTION = exports.COMMON_INFO_DESCRIPTION = exports.COMMON_INFO_ID = exports.LOCATION_MODE_OPTIONS = void 0; +exports.STATE_ID_LOCATIONMODE = exports.STATE_ID_INTERCOM_UNLOCK = exports.STATE_ID_DEBUG_REQUEST = exports.STATE_ID_LIVESTREAM_DURATION = exports.STATE_ID_LIVESTREAM_REQUEST = exports.STATE_ID_HDSNAPSHOT_REQUEST = exports.STATE_ID_SNAPSHOT_REQUEST = exports.STATE_ID_LIGHT_SWITCH = exports.STATE_ID_SIREN_SWITCH = exports.CHANNEL_NAME_SIREN = exports.CHANNEL_NAME_EVENTS = exports.CHANNEL_NAME_LIVESTREAM = exports.CHANNEL_NAME_HDSNAPSHOT = exports.CHANNEL_NAME_SNAPSHOT = exports.CHANNEL_NAME_LIGHT = exports.CHANNEL_NAME_HISTORY = void 0; exports.LOCATION_MODE_OPTIONS = ["home", "away", "disarmed", "disabled", "unset"]; exports.COMMON_INFO_ID = { type: "string", @@ -110,6 +110,14 @@ exports.COMMON_LIGHT_STATE = { read: true, write: false }; +exports.COMMON_SIREN_SWITCH = { + type: "boolean", + role: "switch", + name: "Control the siren", + read: true, + write: true, + desc: "Activate or deactivate the camera's siren", +}; exports.COMMON_HISTORY_URL = { type: "string", role: "url", @@ -342,6 +350,8 @@ exports.CHANNEL_NAME_SNAPSHOT = "Snapshot"; exports.CHANNEL_NAME_HDSNAPSHOT = "HD Snapshot"; exports.CHANNEL_NAME_LIVESTREAM = "Livestream"; exports.CHANNEL_NAME_EVENTS = "Events"; +exports.CHANNEL_NAME_SIREN = "Siren"; +exports.STATE_ID_SIREN_SWITCH = "siren_switch"; exports.STATE_ID_LIGHT_SWITCH = "light_switch"; exports.STATE_ID_SNAPSHOT_REQUEST = "request"; exports.STATE_ID_HDSNAPSHOT_REQUEST = "request"; diff --git a/build/lib/constants.js.map b/build/lib/constants.js.map index 7047cf25..efb6d103 100644 --- a/build/lib/constants.js.map +++ b/build/lib/constants.js.map @@ -1 +1 @@ -{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/lib/constants.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/lib/constants.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/build/lib/ownRingCamera.js b/build/lib/ownRingCamera.js index 9d3a5401..92cac59f 100644 --- a/build/lib/ownRingCamera.js +++ b/build/lib/ownRingCamera.js @@ -72,6 +72,7 @@ class OwnRingCamera extends ownRingDevice_1.OwnRingDevice { this.infoChannelId = `${this.fullId}.${constants_1.CHANNEL_NAME_INFO}`; this.historyChannelId = `${this.fullId}.${constants_1.CHANNEL_NAME_HISTORY}`; this.lightChannelId = `${this.fullId}.${constants_1.CHANNEL_NAME_LIGHT}`; + this.sirenChannelId = `${this.fullId}.${constants_1.CHANNEL_NAME_SIREN}`; this.snapshotChannelId = `${this.fullId}.${constants_1.CHANNEL_NAME_SNAPSHOT}`; this.HDsnapshotChannelId = `${this.fullId}.${constants_1.CHANNEL_NAME_HDSNAPSHOT}`; this.liveStreamChannelId = `${this.fullId}.${constants_1.CHANNEL_NAME_LIVESTREAM}`; @@ -234,24 +235,18 @@ class OwnRingCamera extends ownRingDevice_1.OwnRingDevice { this.debug(`Done creating HDSnapshot to ${visPath}`); } async toggleSiren(state) { - if (this._ringDevice.hasSiren) { - this.debug(`Toggling siren state for ${this.shortId} to ${state}`); - await this._ringDevice.setSiren(state).then(() => { - this._adapter.upsertState(`${this.fullId}.Siren.state`, { - type: "boolean", - role: "switch", - read: true, - write: true, - name: "Control the siren", - desc: "Activate or deactivate the camera's siren" - }, state, true); - this.debug(`Siren state set to ${state} successfully.`); - }).catch((err) => { - this.catcher(`Couldn't toggle siren state for ${this.shortId}.`, err); - }); - } - else { + if (!this._ringDevice.hasSiren) { this.warn(`Device ${this.shortId} does not support siren capabilities.`); + return; + } + this.debug(`Toggling siren state for ${this.shortId} to ${state}`); + try { + await this._ringDevice.setSiren(state); + this._adapter.upsertState(`${this.sirenChannelId}.${constants_1.STATE_ID_SIREN_SWITCH}`, constants_1.COMMON_SIREN_SWITCH, state, true); + this.debug(`Siren state set to ${state} successfully.`); + } + catch (err) { + this.catcher(`Couldn't toggle siren state for ${this.shortId}.`, err); } } async takeSnapshot(uuid, eventBased = false) { @@ -362,11 +357,16 @@ class OwnRingCamera extends ownRingDevice_1.OwnRingDevice { } return; case "Siren": - if (stateID === "state") { + if (!this._ringDevice.hasSiren) { + return; + } + if (stateID === constants_1.STATE_ID_SIREN_SWITCH) { const targetVal = state.val; this.debug(`Set siren for ${this.shortId} to value ${targetVal}`); - await this.toggleSiren(!!targetVal).catch((reason) => { - this.catcher("Couldn't toggle Siren.", reason); + this._ringDevice.setSiren(targetVal).then((success) => { + if (success) { + this._adapter.upsertState(`${this.sirenChannelId}.${constants_1.STATE_ID_SIREN_SWITCH}`, constants_1.COMMON_SIREN_SWITCH, targetVal, true); + } }); } else { @@ -458,15 +458,10 @@ class OwnRingCamera extends ownRingDevice_1.OwnRingDevice { this._adapter.createChannel(this.fullId, constants_1.CHANNEL_NAME_EVENTS); if (this._ringDevice.hasSiren) { this.debug(`Device with Siren Capabilities detected`); - this._adapter.createChannel(this.fullId, "Siren", { name: `Siren ${this.shortId}` }); - await this._adapter.upsertState(`${this.fullId}.Siren.state`, { - type: "boolean", - role: "switch", - read: true, - write: true, - name: "Control the siren", - desc: "Activate or deactivate the camera's siren" - }, false, true, true); + this._adapter.createChannel(this.fullId, constants_1.CHANNEL_NAME_SIREN, { + name: `Siren ${this.shortId}`, + }); + await this._adapter.upsertState(`${this.sirenChannelId}.${constants_1.STATE_ID_SIREN_SWITCH}`, constants_1.COMMON_SIREN_SWITCH, false, true, true); } if (this._ringDevice.hasLight) { this.debug(`Device with Light Capabilities detected`); diff --git a/build/lib/ownRingCamera.js.map b/build/lib/ownRingCamera.js.map index 573e511e..1a99c4c3 100644 --- a/build/lib/ownRingCamera.js.map +++ b/build/lib/ownRingCamera.js.map @@ -1 +1 @@ -{"version":3,"file":"ownRingCamera.js","sourceRoot":"","sources":["../../src/lib/ownRingCamera.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"ownRingCamera.js","sourceRoot":"","sources":["../../src/lib/ownRingCamera.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/lib/constants.ts b/src/lib/constants.ts index d8530d94..7ea7cc5e 100644 --- a/src/lib/constants.ts +++ b/src/lib/constants.ts @@ -107,8 +107,14 @@ export const COMMON_LIGHT_STATE: Partial = { read: true, write: false }; - - +export const COMMON_SIREN_SWITCH: Partial = { + type: "boolean", + role: "switch", + name: "Control the siren", + read: true, + write: true, + desc: "Activate or deactivate the camera's siren", +}; export const COMMON_HISTORY_URL: Partial = { type: "string", role: "url", @@ -341,7 +347,9 @@ export const CHANNEL_NAME_SNAPSHOT: string = "Snapshot"; export const CHANNEL_NAME_HDSNAPSHOT: string = "HD Snapshot"; export const CHANNEL_NAME_LIVESTREAM: string = "Livestream"; export const CHANNEL_NAME_EVENTS: string = "Events"; +export const CHANNEL_NAME_SIREN: string = "Siren"; +export const STATE_ID_SIREN_SWITCH: string = "siren_switch"; export const STATE_ID_LIGHT_SWITCH: string = "light_switch"; export const STATE_ID_SNAPSHOT_REQUEST: string = "request"; export const STATE_ID_HDSNAPSHOT_REQUEST: string = "request"; diff --git a/src/lib/ownRingCamera.ts b/src/lib/ownRingCamera.ts index f38414b2..07876b7f 100644 --- a/src/lib/ownRingCamera.ts +++ b/src/lib/ownRingCamera.ts @@ -24,6 +24,7 @@ import { CHANNEL_NAME_HISTORY, CHANNEL_NAME_INFO, CHANNEL_NAME_LIGHT, + CHANNEL_NAME_SIREN, CHANNEL_NAME_LIVESTREAM, CHANNEL_NAME_SNAPSHOT, COMMON_DEBUG_REQUEST, @@ -55,6 +56,7 @@ import { COMMON_INFO_WIFI_NAME, COMMON_LIGHT_STATE, COMMON_LIGHT_SWITCH, + COMMON_SIREN_SWITCH, COMMON_LIVESTREAM_AUTO, COMMON_LIVESTREAM_DURATION, COMMON_LIVESTREAM_FILE, @@ -71,6 +73,7 @@ import { STATE_ID_DEBUG_REQUEST, STATE_ID_HDSNAPSHOT_REQUEST, STATE_ID_LIGHT_SWITCH, + STATE_ID_SIREN_SWITCH, STATE_ID_LIVESTREAM_DURATION, STATE_ID_LIVESTREAM_REQUEST, STATE_ID_SNAPSHOT_REQUEST, @@ -97,6 +100,7 @@ export class OwnRingCamera extends OwnRingDevice { private readonly infoChannelId: string; private readonly historyChannelId: string; private readonly lightChannelId: string; + private readonly sirenChannelId: string; private readonly eventsChannelId: string; private readonly snapshotChannelId: string; private readonly HDsnapshotChannelId: string; @@ -148,6 +152,7 @@ export class OwnRingCamera extends OwnRingDevice { this.infoChannelId = `${this.fullId}.${CHANNEL_NAME_INFO}`; this.historyChannelId = `${this.fullId}.${CHANNEL_NAME_HISTORY}`; this.lightChannelId = `${this.fullId}.${CHANNEL_NAME_LIGHT}`; + this.sirenChannelId = `${this.fullId}.${CHANNEL_NAME_SIREN}`; this.snapshotChannelId = `${this.fullId}.${CHANNEL_NAME_SNAPSHOT}`; this.HDsnapshotChannelId = `${this.fullId}.${CHANNEL_NAME_HDSNAPSHOT}`; this.liveStreamChannelId = `${this.fullId}.${CHANNEL_NAME_LIVESTREAM}`; @@ -348,26 +353,26 @@ export class OwnRingCamera extends OwnRingDevice { } public async toggleSiren(state: boolean): Promise { - if (this._ringDevice.hasSiren) { - this.debug(`Toggling siren state for ${this.shortId} to ${state}`); - await this._ringDevice.setSiren(state).then(() => { - this._adapter.upsertState(`${this.fullId}.Siren.state`, { - type: "boolean", - role: "switch", - read: true, - write: true, - name: "Control the siren", - desc: "Activate or deactivate the camera's siren" - }, state, true); - this.debug(`Siren state set to ${state} successfully.`); - }).catch((err: any) => { - this.catcher(`Couldn't toggle siren state for ${this.shortId}.`, err); - }); - } else { + if (!this._ringDevice.hasSiren) { this.warn(`Device ${this.shortId} does not support siren capabilities.`); + return; + } + this.debug(`Toggling siren state for ${this.shortId} to ${state}`); + try { + await this._ringDevice.setSiren(state); + this._adapter.upsertState( + `${this.sirenChannelId}.${STATE_ID_SIREN_SWITCH}`, + COMMON_SIREN_SWITCH, + state, + true + ); + this.debug(`Siren state set to ${state} successfully.`); + } catch (err) { + this.catcher(`Couldn't toggle siren state for ${this.shortId}.`, err); } } + public async takeSnapshot(uuid?: string, eventBased: boolean = false): Promise { this.silly(`${this.shortId}.takeSnapshot()`); @@ -501,18 +506,23 @@ export class OwnRingCamera extends OwnRingDevice { return; case "Siren": - if (stateID === "state") { + if (!this._ringDevice.hasSiren) { + return; + } + if (stateID === STATE_ID_SIREN_SWITCH) { const targetVal: boolean = state.val as boolean; this.debug(`Set siren for ${this.shortId} to value ${targetVal}`); - await this.toggleSiren(!!targetVal).catch((reason: any) => { - this.catcher("Couldn't toggle Siren.", reason); + this._ringDevice.setSiren(targetVal).then((success: boolean): void => { + if (success) { + this._adapter.upsertState(`${this.sirenChannelId}.${STATE_ID_SIREN_SWITCH}`, COMMON_SIREN_SWITCH, targetVal, true); + } }); - } - else { + } else { this.error(`Unknown State/Switch with channel "${channelID}" and state "${stateID}"`); } break; + case "Light": if (!this._ringDevice.hasLight) { return; @@ -598,17 +608,19 @@ export class OwnRingCamera extends OwnRingDevice { if (this._ringDevice.hasSiren) { this.debug(`Device with Siren Capabilities detected`); - this._adapter.createChannel(this.fullId, "Siren", { name: `Siren ${this.shortId}` }); - await this._adapter.upsertState(`${this.fullId}.Siren.state`, { - type: "boolean", - role: "switch", - read: true, - write: true, - name: "Control the siren", - desc: "Activate or deactivate the camera's siren" - }, false, true, true); + this._adapter.createChannel(this.fullId, CHANNEL_NAME_SIREN, { + name: `Siren ${this.shortId}`, + }); + await this._adapter.upsertState( + `${this.sirenChannelId}.${STATE_ID_SIREN_SWITCH}`, + COMMON_SIREN_SWITCH, + false, + true, + true + ); } + if (this._ringDevice.hasLight) { this.debug(`Device with Light Capabilities detected`); this._adapter.createChannel(this.fullId, CHANNEL_NAME_LIGHT, {name: `Light ${this.shortId}`});