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,15 +2,16 @@ import { Activity } from '../Models/Activity';
import { Matrix } from '../Models/Matrix';
import { IAccessory } from './IAccessory';
import callbackify from '../Util/Callbackify';
import HarmonyDataProvider from '../DataProviders/HarmonyDataProvider';
let Service: HAPNodeJS.Service;
let Characteristic: HAPNodeJS.Characteristic;
let Api: any;
export interface IControlUnitProps {
dataProvider: HarmonyDataProvider,
displayName: string,
activities: Array<Activity>,
matrix: Matrix,
api: any,
log: any,
}
@@ -34,7 +35,7 @@ export class ControlUnit implements IAccessory {
//Harmony fields
private activities: Array<Activity> = [];
private matrix: Matrix;
private dataProvider: HarmonyDataProvider;
/**
* Constructor
@@ -50,7 +51,8 @@ export class ControlUnit implements IAccessory {
this.name = this.displayName;
this.activities = props.activities;
this.matrix = props.matrix;
this.dataProvider = props.dataProvider;
//Configure services
this.configureTvService();
@@ -100,12 +102,19 @@ export class ControlUnit implements IAccessory {
//TODO
private onSetAccessoryActive = async (value: any) => {
this.log(`set active + ${value}`);
switch (value) {
case 0: this.dataProvider.powerOff(this.name); break;
case 1: this.dataProvider.powerOn(this.name, this.activities[0]); break;
}
}
//TODO
private onGetAccessoryActive = async () => {
this.log(`get active`)
return Characteristic.Active.Active;
//@ts-ignore
return this.dataProvider.getIsActive ? Characteristic.Active.Active : Characteristic.Active.Inactive
// return Characteristic.Active.Active;
}
//TODO