Code re-organization

This commit is contained in:
watsonb8
2020-01-01 23:39:07 -05:00
parent 020a2fc240
commit 672362a9a4
6 changed files with 28 additions and 27 deletions

View File

@@ -1,13 +1,7 @@
import { ControlUnit } from "./Accessories/ControlUnit";
import { DeviceButton } from './Accessories/DeviceButton';
import { IActivity } from "./Models/Config/IActivity";
import { IDeviceSetupItem } from "./Models/Config/IDeviceSetupItem";
import { IInput, IOutput, IMatrix } from "./Models/Config/IMatrix";
import * as Accessories from "./Accessories";
import HarmonyDataProvider from "./DataProviders/HarmonyDataProvider";
import { IConfig, IControlUnit } from "./Models/Config/IConfig";
import { IDeviceButton } from "./Models/Config/IDeviceButton";
import { IAccessory } from "./Accessories/IAccessory";
import { IDevice, ICommand } from "./Models/IDevice";
import * as Config from "./Models/Config";
import { IDevice } from "./Models";
let Accessory: any;
let Homebridge: any;
@@ -29,10 +23,10 @@ export default function (homebridge: any) {
class HarmonyMatrixPlatform {
log: any = {};
config: IConfig;
config: Config.IConfig;
api: any;
dataProvider: HarmonyDataProvider | null;
accessoryList: Array<IAccessory> = [];
accessoryList: Array<Accessories.IAccessory> = [];
constructor(log: any, config: any, api: any) {
this.log = log;
@@ -74,8 +68,8 @@ class HarmonyMatrixPlatform {
this.log(`Publishing external accessories`);
//This is required in order to have multiple tv remotes on one platform
this.accessoryList.forEach((accessory: IAccessory) => {
if (accessory instanceof ControlUnit) {
this.accessoryList.forEach((accessory: Accessories.IAccessory) => {
if (accessory instanceof Accessories.ControlUnit) {
this.api.publishExternalAccessories("HarmonyMatrixPlatform", [accessory.platformAccessory]);
}
})
@@ -85,11 +79,11 @@ class HarmonyMatrixPlatform {
* Called by homebridge to gather accessories.
* @param callback
*/
accessories(callback: (accessories: Array<IAccessory>) => void) {
accessories(callback: (accessories: Array<Accessories.IAccessory>) => void) {
//Add control units
this.config.ControlUnits.forEach((unit: IControlUnit) => {
this.accessoryList.push(new ControlUnit({
this.config.ControlUnits.forEach((unit: Config.IControlUnit) => {
this.accessoryList.push(new Accessories.ControlUnit({
dataProvider: this.dataProvider!,
displayName: unit.DisplayName,
api: this.api,
@@ -100,8 +94,8 @@ class HarmonyMatrixPlatform {
});
//Add device buttons
this.config.DeviceButtons.forEach((button: IDeviceButton) => {
this.accessoryList.push(new DeviceButton({
this.config.DeviceButtons.forEach((button: Config.IDeviceButton) => {
this.accessoryList.push(new Accessories.DeviceButton({
dataProvider: this.dataProvider!,
buttonName: button.ButtonName,
displayName: button.DisplayName,