Can successfully start an activity on power on.
This commit is contained in:
18
src/index.ts
18
src/index.ts
@@ -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`);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user