Simplified config parsing

This commit is contained in:
watsonb8
2020-01-01 00:17:37 -05:00
parent fb260c5532
commit 80ac6423e5
7 changed files with 91 additions and 265 deletions

View File

@@ -1,5 +1,5 @@
import { Activity } from '../Models/Activity';
import { Matrix } from '../Models/Matrix';
import { IActivity } from '../Models/Activity';
import { IMatrix } from '../Models/Matrix';
import { IAccessory } from './IAccessory';
import callbackify from '../Util/Callbackify';
import HarmonyDataProvider from '../DataProviders/HarmonyDataProvider';
@@ -31,7 +31,7 @@ export enum RemoteKey {
export interface IControlUnitProps {
dataProvider: HarmonyDataProvider,
displayName: string,
activities: Array<Activity>,
activities: Array<IActivity>,
api: any,
log: any,
homebridge: any,
@@ -55,7 +55,7 @@ export class ControlUnit implements IAccessory {
private inputServices: Array<HAPNodeJS.Service | undefined> = [];
//Harmony fields
private activities: Array<Activity> = [];
private activities: Array<IActivity> = [];
private dataProvider: HarmonyDataProvider;
public platformAccessory: any;
@@ -180,10 +180,10 @@ export class ControlUnit implements IAccessory {
* Event handler for GET active identifier characteristic
*/
private onGetActiveIdentifier = async () => {
let currentActivity: Activity = this.dataProvider.getIsActive(this.name)!;
let currentActivity: IActivity = this.dataProvider.getIsActive(this.name)!;
let identifier: number = 0;
if (currentActivity) {
identifier = this.activities.findIndex(e => e.displayName === currentActivity.displayName);
identifier = this.activities.findIndex(e => e.DisplayName === currentActivity.DisplayName);
}
return identifier;
}
@@ -240,13 +240,13 @@ export class ControlUnit implements IAccessory {
*/
private configureInputSourceService(): void {
let inputs: Array<HAPNodeJS.Service> = [];
this.activities.forEach((activity: Activity, index: number) => {
let inputService = new Service.InputSource(activity.displayName, 'activity' + activity.displayName);
this.activities.forEach((activity: IActivity, index: number) => {
let inputService = new Service.InputSource(activity.DisplayName, 'activity' + activity.DisplayName);
inputService
.setCharacteristic(Characteristic.Identifier, index)
.setCharacteristic(
Characteristic.ConfiguredName,
activity.displayName)
activity.DisplayName)
.setCharacteristic(
Characteristic.IsConfigured,
//@ts-ignore