From dfe094eabbc6579f2915b466628ebc50445c7358 Mon Sep 17 00:00:00 2001 From: Just Jam Date: Thu, 21 Nov 2024 22:31:03 +0000 Subject: [PATCH 1/3] Updating current state characteristic --- src/accessories/virtualAccessoryGarageDoor.ts | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/accessories/virtualAccessoryGarageDoor.ts b/src/accessories/virtualAccessoryGarageDoor.ts index 4cb3583..8d1fecf 100644 --- a/src/accessories/virtualAccessoryGarageDoor.ts +++ b/src/accessories/virtualAccessoryGarageDoor.ts @@ -124,7 +124,15 @@ export class GarageDoor extends Accessory { this.saveState(this.storagePath, this.stateStorageKey, this.states.GarageDoorState); } - this.platform.log.info(`[${this.accessoryConfiguration.accessoryName}] Setting Target Door State: ${this.getStateName(this.states.GarageDoorState)}`); + // CurrentDoorState CLOSING/OPENING + // Timer + // CurrentDoorState OPEN/CLOSED + this.service!.setCharacteristic(this.platform.Characteristic.CurrentDoorState, (this.states.GarageDoorState)); + // eslint-disable-next-line max-len + this.platform.log.info(`[${this.accessoryConfiguration.accessoryName}] Setting Current Garage Door State: ${this.getStateName(this.states.GarageDoorState)}`); + + // eslint-disable-next-line max-len + this.platform.log.info(`[${this.accessoryConfiguration.accessoryName}] Setting Target Garage Door State: ${this.getStateName(this.states.GarageDoorState)}`); } /** From cf7e04603c2999051f6238b0258e1660f1ed6f46 Mon Sep 17 00:00:00 2001 From: Just Jam Date: Sat, 23 Nov 2024 18:23:04 +0000 Subject: [PATCH 2/3] Added close/open delay --- src/accessories/virtualAccessoryGarageDoor.ts | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/src/accessories/virtualAccessoryGarageDoor.ts b/src/accessories/virtualAccessoryGarageDoor.ts index 8d1fecf..2e668d2 100644 --- a/src/accessories/virtualAccessoryGarageDoor.ts +++ b/src/accessories/virtualAccessoryGarageDoor.ts @@ -124,15 +124,21 @@ export class GarageDoor extends Accessory { this.saveState(this.storagePath, this.stateStorageKey, this.states.GarageDoorState); } - // CurrentDoorState CLOSING/OPENING - // Timer - // CurrentDoorState OPEN/CLOSED - this.service!.setCharacteristic(this.platform.Characteristic.CurrentDoorState, (this.states.GarageDoorState)); - // eslint-disable-next-line max-len - this.platform.log.info(`[${this.accessoryConfiguration.accessoryName}] Setting Current Garage Door State: ${this.getStateName(this.states.GarageDoorState)}`); - // eslint-disable-next-line max-len this.platform.log.info(`[${this.accessoryConfiguration.accessoryName}] Setting Target Garage Door State: ${this.getStateName(this.states.GarageDoorState)}`); + + // CurrentDoorState CLOSING/OPENING + const transition: number = (this.states.GarageDoorState === GarageDoor.OPEN) ? GarageDoor.OPENING : GarageDoor.CLOSING; + this.service!.setCharacteristic(this.platform.Characteristic.CurrentDoorState, (transition)); + this.platform.log.info(`[${this.accessoryConfiguration.accessoryName}] Setting Curent Garage Door State: ${this.getStateName(transition)}`); + + // CurrentDoorState CLOSED/OPEN with 3 second delay + const transitionDelayMillis: number = 3 * 1000; + setTimeout(() => { + this.service!.setCharacteristic(this.platform.Characteristic.CurrentDoorState, (this.states.GarageDoorState)); + // eslint-disable-next-line max-len + this.platform.log.info(`[${this.accessoryConfiguration.accessoryName}] Setting Current Garage Door State: ${this.getStateName(this.states.GarageDoorState)}`); + }, transitionDelayMillis); } /** From 7ed96871c548ea0dcb78df24e4d33277f80fcf52 Mon Sep 17 00:00:00 2001 From: Just Jam Date: Sat, 23 Nov 2024 18:26:09 +0000 Subject: [PATCH 3/3] Bumped version to 1.0.5 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1ed6473..affe7e6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "homebridge-virtual-accessories", - "version": "1.0.4", + "version": "1.0.5", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "homebridge-virtual-accessories", - "version": "1.0.4", + "version": "1.0.5", "license": "Apache-2.0", "dependencies": { "@js-joda/core": "^5.6.3", diff --git a/package.json b/package.json index 042dec8..2e0d3f5 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "homebridge-virtual-accessories", "displayName": "Virtual Accessories for Homebridge", "type": "module", - "version": "1.0.4", + "version": "1.0.5", "description": "Virtual accessories for Homebridge.", "author": "justjam2013", "license": "Apache-2.0",