feature/drone #5
@ -1 +0,0 @@
|
||||
source /nvm.sh
|
36
.drone.yml
36
.drone.yml
@ -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
|
||||
|
22
deploy.sh
22
deploy.sh
@ -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
|
@ -3,5 +3,8 @@
|
||||
{
|
||||
"path": "."
|
||||
}
|
||||
]
|
||||
],
|
||||
"settings": {
|
||||
"editor.tabSize": 2
|
||||
}
|
||||
}
|
@ -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",
|
||||
|
@ -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>;
|
||||
}
|
10
src/Models/Config/ISequence.ts
Normal file
10
src/Models/Config/ISequence.ts
Normal file
@ -0,0 +1,10 @@
|
||||
export interface ISequence {
|
||||
name: string;
|
||||
steps: Array<IStep>;
|
||||
}
|
||||
|
||||
export interface IStep {
|
||||
deviceName: string;
|
||||
deviceCommand: string;
|
||||
delay: number;
|
||||
}
|
@ -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[] = [];
|
||||
|
Loading…
Reference in New Issue
Block a user