From 845071c27419aa5ba139787f16dffdad1898ef15 Mon Sep 17 00:00:00 2001 From: Brandon Watson Date: Mon, 7 Jun 2021 20:46:30 -0400 Subject: [PATCH] Squashed commit of the following: commit 93132ab8684436e48ae05165193d88ee22f40ced Author: Brandon Watson Date: Mon Jun 7 20:40:00 2021 -0400 excluding publishing on PRs commit 496dd42cfda82308185eb7cd52a300a7484d9053 Author: Brandon Watson Date: Mon Jun 7 20:38:37 2021 -0400 Only publishing master branch commit 57e82789fbe3de9a0da2d87a30dd01b3736d1478 Author: Brandon Watson Date: Mon Jun 7 20:36:16 2021 -0400 WIP commit ecc54ad3c30a0f6e781561787f74bdd2b556fc17 Author: Brandon Watson Date: Mon Jun 7 20:35:29 2021 -0400 WIP commit 6d3cd651be3a5aeae97a3aa94901c8eb97c05591 Author: Brandon Watson Date: Mon Jun 7 20:30:18 2021 -0400 Attempting to use drone commit in preid commit c60387a98746f1fb5dbd4244fedfed95e065a1ef Author: Brandon Watson Date: Mon Jun 7 20:16:46 2021 -0400 Adding sequence file commit d8a5e7541d437d8208c75a4ba80f34bfc572194a Author: Brandon Watson Date: Mon Jun 7 20:16:11 2021 -0400 Prettier commit 34fcc1df1aa2aa954e647e62e3ccfebbc0b9dc9e Author: Brandon Watson Date: Mon Jun 7 20:14:33 2021 -0400 Updating pre-release command commit 6c8ce2116477214ba1e09a9a97a190b0b4633dc8 Author: Brandon Watson Date: Mon Jun 7 20:03:41 2021 -0400 Updating drone config commit b6d9317a1e4ff2056fb5efd48a8f02a7b1d35a64 Author: Brandon Watson Date: Wed Jun 2 21:58:35 2021 -0400 Revert "Using email alias" This reverts commit d1a3b802938ee213c8d03867730ec260688b20e0. commit d1a3b802938ee213c8d03867730ec260688b20e0 Author: Brandon Watson Date: Wed Jun 2 21:57:22 2021 -0400 Using email alias commit 027d1711ada5485bf7091f217bb5ce6e967c89b4 Author: Brandon Watson Date: Wed Jun 2 21:36:07 2021 -0400 Removing bash_profile commit ed06d7ecd0ccf8fb9651c8ba2a879c2abe1d2828 Author: Brandon Watson Date: Wed Jun 2 21:23:46 2021 -0400 WIP commit d3c37b18b9576b9d485d80c7923e92dfcb2fe808 Author: Brandon Watson Date: Wed Jun 2 21:22:35 2021 -0400 Updating registry path --- .drone.yml | 34 +++++++++++++++++++++++++++++++++- deploy.sh | 22 ---------------------- harmony.code-workspace | 5 ++++- src/Models/Config/IConfig.ts | 24 +++++++++++++----------- src/Models/Config/ISequence.ts | 10 ++++++++++ src/platform.ts | 6 +++--- 6 files changed, 63 insertions(+), 38 deletions(-) delete mode 100755 deploy.sh create mode 100644 src/Models/Config/ISequence.ts diff --git a/.drone.yml b/.drone.yml index 6f77b97..cbb0a0f 100644 --- a/.drone.yml +++ b/.drone.yml @@ -18,7 +18,37 @@ steps: - npm install - npm run build - - name: publish + - name: version + image: node + commands: + - export version=`node -p "require('./package.json').version"` + - export commit=`echo $DRONE_COMMIT | cut -c1-5` + - npm version prerelease --preid=$commit --git-tag-version=false --allow-same-version=true + when: + event: + exclude: + - tag + - pull_request + include: + - master + + - name: publish pre + image: plugins/npm + settings: + username: admin + password: + from_secret: npm_password + email: brandon@watsonlabs.net + registry: "http://linuxhost.me:4873/" + when: + event: + exclude: + - tag + - pull_request + include: + - master + + - name: publish tagged version image: plugins/npm settings: username: admin @@ -29,6 +59,8 @@ steps: when: event: - tag + exclude: + - pull_request notify: image: drillster/drone-email diff --git a/deploy.sh b/deploy.sh deleted file mode 100755 index 4c0f7d3..0000000 --- a/deploy.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/bash -remote_user="bmw" -remote_server="linuxhost.me" -deploy_location="/home/bmw/homebridge-harmony-control" -homebridge_location="/var/lib/homebridge/" - -#build -tsc --build -#copy files to remote machine -scp -r bin $remote_user@$remote_server:$deploy_location -scp package.json $remote_user@$remote_server:$deploy_location - -#install package -ssh -t $remote_user@$remote_server "sudo npm install -g --unsafe-perm $deploy_location" - -#restart service -ssh -t -ssh -t $remote_user@$remote_server "sudo systemctl restart homebridge.service" -ssh -t $remote_user@$remote_server "sudo systemctl status homebridge.service" - -echo done -exit diff --git a/harmony.code-workspace b/harmony.code-workspace index 362d7c2..50a3257 100644 --- a/harmony.code-workspace +++ b/harmony.code-workspace @@ -3,5 +3,8 @@ { "path": "." } - ] + ], + "settings": { + "editor.tabSize": 2 + } } \ No newline at end of file diff --git a/src/Models/Config/IConfig.ts b/src/Models/Config/IConfig.ts index 2c1e9b0..95832e8 100644 --- a/src/Models/Config/IConfig.ts +++ b/src/Models/Config/IConfig.ts @@ -2,19 +2,21 @@ import { IMatrix } from "./IMatrix"; import { IActivity } from "./IActivity"; import { IDeviceButton } from "./IDeviceButton"; import { IDeviceConfig } from "./IDeviceConfig"; -import { IHub } from './IHub'; +import { IHub } from "./IHub"; +import { ISequence } from "./ISequence"; export interface IControlUnit { - DisplayName: string; - Activities: Array; + DisplayName: string; + Activities: Array; } export interface IConfig { - hubIp: string; - EmitDevicesOnStartup: boolean; - Matrix: IMatrix; - ControlUnits: Array; - DeviceButtons: Array; - Devices: Array; - Hubs: Array; -} \ No newline at end of file + hubIp: string; + EmitDevicesOnStartup: boolean; + Matrix: IMatrix; + ControlUnits: Array; + DeviceButtons: Array; + Sequences: Array; + Devices: Array; + Hubs: Array; +} diff --git a/src/Models/Config/ISequence.ts b/src/Models/Config/ISequence.ts new file mode 100644 index 0000000..9ea26c3 --- /dev/null +++ b/src/Models/Config/ISequence.ts @@ -0,0 +1,10 @@ +export interface ISequence { + name: string; + steps: Array; +} + +export interface IStep { + deviceName: string; + deviceCommand: string; + delay: number; +} diff --git a/src/platform.ts b/src/platform.ts index ef24806..3614aaf 100644 --- a/src/platform.ts +++ b/src/platform.ts @@ -22,7 +22,7 @@ export class Platform implements DynamicPlatformPlugin { ) { this.log.debug("Finished initializing platform:", config.name); - this.config = (config as unknown) as IConfig; + this.config = config as unknown as IConfig; //construct data provider const dataProvider = new HarmonyDataProvider({ hubs: this.config.Hubs, @@ -70,8 +70,8 @@ export class Platform implements DynamicPlatformPlugin { } public readonly Service: typeof Service = this.api.hap.Service; - public readonly Characteristic: typeof Characteristic = this.api.hap - .Characteristic; + public readonly Characteristic: typeof Characteristic = + this.api.hap.Characteristic; // this is used to track restored cached accessories public readonly accessories: PlatformAccessory[] = [];