Started the EssentialsLightBridge class

This commit is contained in:
Jason T Alborough
2018-08-25 07:28:40 -04:00
parent 759635b364
commit daf44ae797
2 changed files with 100 additions and 0 deletions

View File

@@ -0,0 +1,99 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Crestron.SimplSharp;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using PepperDash.Essentials.Core;
using PepperDash.Essentials.Core.Config;
using PepperDash.Essentials.DM;
using PepperDash.Core;
using PepperDash.Essentials.Core.Routing;
using Crestron.SimplSharpPro;
using Crestron.SimplSharpPro.EthernetCommunication;
using Crestron.SimplSharpPro.DM;
namespace PepperDash.Essentials
{
public class EssentialsLightsBridge : PepperDash.Core.Device
{
public EssentialsLightsBridgeProperties Properties;
public List<BridgeApiEisc> BridgeApiEiscs;
private PepperDash.Essentials.Core.Lighting.LightingBase Lights;
private EssentialsLightsBridgeApiMap ApiMap = new EssentialsLightsBridgeApiMap();
public EssentialsLightsBridge(string key, string name, JToken properties)
: base(key, name)
{
Properties = JsonConvert.DeserializeObject<EssentialsLightsBridgeProperties>(properties.ToString());
}
public override bool CustomActivate() {
// Create EiscApis
try
{
foreach (var device in DeviceManager.AllDevices)
{
if (device.Key == this.Properties.connectionDeviceKey)
{
Debug.Console(2, "deviceKey {0} Matches", device.Key);
Lights = DeviceManager.GetDeviceForKey(device.Key) as PepperDash.Essentials.Core.Lighting.LightingBase;
break;
}
else
{
Debug.Console(2, "deviceKey {0} doesn't match", device.Key);
}
}
if (Properties.EiscApiIpids != null && Lights != null)
{
foreach (string Ipid in Properties.EiscApiIpids)
{
var ApiEisc = new BridgeApiEisc(Ipid);
Debug.Console(2, "Connecting EiscApi {0} to {1}", ApiEisc.Ipid, TVOneCorio.Name);
ushort x = 1;
Lights.Is
var tempDevice = Lights as PepperDash.Core.Device;
tempDevice.
.OnlineFeedback.LinkInputSig(ApiEisc.Eisc.BooleanInput[ApiMap.Online]);
}
}
Debug.Console(2, "Name {0} Activated", this.Name);
return true;
}
catch (Exception e) {
Debug.Console(0, "Bridge {0}", e);
return false;
}
}
}
public class EssentialsLightsBridgeProperties
{
public string connectionDeviceKey;
public string[] EiscApiIpids;
}
public class EssentialsLightsBridgeApiMap
{
public ushort CallPreset = 1;
public ushort PresetFeedback = 1;
public ushort Online = 1;
public EssentialsLightsBridgeApiMap()
{
}
}
}

View File

@@ -106,6 +106,7 @@
<ItemGroup>
<Compile Include="Audio\EssentialsVolumeLevelConfig.cs" />
<Compile Include="Bridges\Bridges.BridgeFactory.cs" />
<Compile Include="Bridges\EssentialsLightsBridge.cs" />
<Compile Include="Bridges\EssentialTVOne.cs" />
<Compile Include="Bridges\EssentialDsp.cs" />
<Compile Include="Configuration ORIGINAL\Builders\TPConfig.cs" />