Can successfully start an activity on power on.

This commit is contained in:
watsonb8
2019-06-16 11:19:32 -04:00
parent ea5b7ba054
commit a7ae259567
6 changed files with 313 additions and 13 deletions

View File

@@ -2,6 +2,7 @@ import { ControlUnit } from "./Accessories/ControlUnit";
import { Activity } from "./Models/Activity";
import { DeviceSetupItem } from "./Models/DeviceSetupItem";
import { Input, Output, Matrix } from "./Models/Matrix";
import HarmonyDataProvider from "./DataProviders/HarmonyDataProvider";
export default function (homebridge: any) {
homebridge.registerPlatform(
@@ -29,9 +30,14 @@ class HarmonyMatrixPlatform {
* @param callback
*/
accessories(callback: (accessories: Array<ControlUnit>) => void) {
//Parse ip
let hubIp: string = this.config["hubIp"];
//Parse matrix
let configInputs: any = this.config["Matrix"]["Inputs"];
let configOutputs: any = this.config["Matrix"]["Outputs"];
let matrixName: string = this.config["Matrix"]["DeviceName"];
let inputs: Array<Input> = [];
let outputs: Array<Output> = [];
@@ -62,6 +68,14 @@ class HarmonyMatrixPlatform {
let matrix = new Matrix({
inputs: inputs,
outputs: outputs,
deviceName: matrixName,
});
//construct data provider
let dataProvider = new HarmonyDataProvider({
hubAddress: hubIp,
matrix: matrix,
log: this.log,
});
//Parse control units
@@ -78,7 +92,7 @@ class HarmonyMatrixPlatform {
configDevices.forEach((configDevice: any) => {
//Add device
devices.push(new DeviceSetupItem({
deviceId: configDevice["DeviceName"],
deviceName: configDevice["DeviceName"],
input: configDevice["Input"]
}));
this.log(`INFO - Added device '${configDevice["DeviceName"]}' for activity '${configActivity["DisplayName"]}'`);
@@ -98,11 +112,11 @@ class HarmonyMatrixPlatform {
//Add control unit
controlUnits.push(new ControlUnit({
dataProvider: dataProvider,
displayName: configControlUnit["DisplayName"],
api: this.api,
log: this.log,
activities: activities,
matrix: matrix,
}));
this.log(`INFO - Added ControlUnit`);
});