feature/drone #5

Closed
watsonb8 wants to merge 14 commits from feature/drone into master
8 changed files with 65 additions and 41 deletions

View File

@ -1 +0,0 @@
source /nvm.sh

View File

@ -18,17 +18,49 @@ 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"
registry: "http://linuxhost.me:4873/"
when:
event:
exclude:
- tag
- pull_request
include:
- master
- name: publish tagged version
image: plugins/npm
settings:
username: admin
password:
from_secret: npm_password
email: brandon@watsonlabs.net
registry: "http://linuxhost.me:4873/"
when:
event:
- tag
exclude:
- pull_request
notify:
image: drillster/drone-email

View File

@ -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

View File

@ -3,5 +3,8 @@
{
"path": "."
}
]
],
"settings": {
"editor.tabSize": 2
}
}

View File

@ -4,7 +4,7 @@
"description": "Homebridge platform to control smart home equipment by room.",
"main": "bin/index.js",
"publishConfig": {
"registry": "http://10.22.1.31:4873/"
"registry": "http://linuxhost.me:4873/"
},
"scripts": {
"build": "tsc --build",

View File

@ -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<IActivity>;
DisplayName: string;
Activities: Array<IActivity>;
}
export interface IConfig {
hubIp: string;
EmitDevicesOnStartup: boolean;
Matrix: IMatrix;
ControlUnits: Array<IControlUnit>;
DeviceButtons: Array<IDeviceButton>;
Devices: Array<IDeviceConfig>;
Hubs: Array<IHub>;
}
hubIp: string;
EmitDevicesOnStartup: boolean;
Matrix: IMatrix;
ControlUnits: Array<IControlUnit>;
DeviceButtons: Array<IDeviceButton>;
Sequences: Array<ISequence>;
Devices: Array<IDeviceConfig>;
Hubs: Array<IHub>;
}

View File

@ -0,0 +1,10 @@
export interface ISequence {
name: string;
steps: Array<IStep>;
}
export interface IStep {
deviceName: string;
deviceCommand: string;
delay: number;
}

View File

@ -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[] = [];