Re-enabled cotija for huddle room:

This commit is contained in:
Heath Volmer
2018-02-14 08:52:47 -07:00
parent 2a4ed67bee
commit 2fbd645bf0
7 changed files with 47 additions and 35 deletions

View File

@@ -245,9 +245,10 @@ namespace PepperDash.Essentials
Debug.Console(1, "Room is EssentialsHuddleSpaceRoom, attempting to add to DeviceManager with Fusion"); Debug.Console(1, "Room is EssentialsHuddleSpaceRoom, attempting to add to DeviceManager with Fusion");
DeviceManager.AddDevice(new EssentialsHuddleSpaceFusionSystemControllerBase((EssentialsHuddleSpaceRoom)room, 0xf1)); DeviceManager.AddDevice(new EssentialsHuddleSpaceFusionSystemControllerBase((EssentialsHuddleSpaceRoom)room, 0xf1));
Debug.Console(0, "******* RE-ENABLE COTIJA PROPERLY *******"); // Cotija bridge
//var bridge = new CotijaEssentialsHuddleSpaceRoomBridge(room as EssentialsHuddleSpaceRoom); var bridge = new CotijaEssentialsHuddleSpaceRoomBridge(room as EssentialsHuddleSpaceRoom);
//AddBridgePostActivationHelper(bridge); AddBridgePostActivationHelper(bridge); // Lets things happen later when all devices are present
DeviceManager.AddDevice(bridge);
} }
else if (room is EssentialsHuddleVtc1Room) else if (room is EssentialsHuddleVtc1Room)
{ {

View File

@@ -4,5 +4,5 @@
[assembly: AssemblyCompany("PepperDash Technology Corp")] [assembly: AssemblyCompany("PepperDash Technology Corp")]
[assembly: AssemblyProduct("PepperDashEssentials")] [assembly: AssemblyProduct("PepperDashEssentials")]
[assembly: AssemblyCopyright("Copyright © PepperDash Technology Corp 2017")] [assembly: AssemblyCopyright("Copyright © PepperDash Technology Corp 2017")]
[assembly: AssemblyVersion("1.0.36.*")] [assembly: AssemblyVersion("1.0.37.*")]

View File

@@ -111,10 +111,12 @@ namespace PepperDash.Essentials
var b = bridge as IDelayedConfiguration; var b = bridge as IDelayedConfiguration;
if (b != null) if (b != null)
{ {
Debug.Console(0, this, "Adding room bridge with delayed configuration");
b.ConfigurationIsReady += new EventHandler<EventArgs>(bridge_ConfigurationIsReady); b.ConfigurationIsReady += new EventHandler<EventArgs>(bridge_ConfigurationIsReady);
} }
else else
{ {
Debug.Console(0, this, "Adding room bridge and sending configuration");
RegisterSystemToServer(); RegisterSystemToServer();
} }
} }
@@ -200,9 +202,9 @@ namespace PepperDash.Essentials
} }
else else
{ {
Client = new HttpClient(); var regClient = new HttpClient();
Client.Verbose = true; regClient.Verbose = true;
Client.KeepAlive = true; regClient.KeepAlive = true;
string url = string.Format("http://{0}/api/system/join/{1}", Config.ServerUrl, SystemUuid); string url = string.Format("http://{0}/api/system/join/{1}", Config.ServerUrl, SystemUuid);
Debug.Console(1, this, "Joining server at {0}", url); Debug.Console(1, this, "Joining server at {0}", url);
@@ -213,7 +215,7 @@ namespace PepperDash.Essentials
request.Header.SetHeaderValue("Content-Type", "application/json"); request.Header.SetHeaderValue("Content-Type", "application/json");
request.ContentString = postBody; request.ContentString = postBody;
var err = Client.DispatchAsync(request, PostConnectionCallback); var err = regClient.DispatchAsync(request, PostConnectionCallback);
} }
} }

View File

@@ -22,10 +22,11 @@ namespace PepperDash.Essentials
} }
/// <summary> /// <summary>
/// /// Set the parent. Does nothing else. Override to add functionality such
/// as adding actions to parent
/// </summary> /// </summary>
/// <param name="parent"></param> /// <param name="parent"></param>
public void AddParent(CotijaSystemController parent) public virtual void AddParent(CotijaSystemController parent)
{ {
Parent = parent; Parent = parent;
} }

View File

@@ -24,30 +24,39 @@ namespace PepperDash.Essentials
base("cotijaController", "Cotija Controller") base("cotijaController", "Cotija Controller")
{ {
Room = room; Room = room;
}
/// <summary>
/// Override of base: calls base to add parent and then registers actions and events.
/// </summary>
/// <param name="parent"></param>
public override void AddParent(CotijaSystemController parent)
{
base.AddParent(parent);
// we add actions to the messaging system with a path, and a related action. Custom action // we add actions to the messaging system with a path, and a related action. Custom action
// content objects can be handled in the controller's LineReceived method - and perhaps other // content objects can be handled in the controller's LineReceived method - and perhaps other
// sub-controller parsing could be attached to these classes, so that the systemController // sub-controller parsing could be attached to these classes, so that the systemController
// doesn't need to know about everything. // doesn't need to know about everything.
// Source Changes and room off // Source Changes and room off
Parent.AddAction(string.Format(@"/room/{0}/status",Room.Key), new Action(() => Room_RoomFullStatus(Room))); Parent.AddAction(string.Format(@"/room/{0}/status", Room.Key), new Action(() => Room_RoomFullStatus(Room)));
Parent.AddAction(string.Format(@"/room/{0}/source", Room.Key), new Action<SourceSelectMessageContent>(c => room.RunRouteAction(c.SourceListItem))); Parent.AddAction(string.Format(@"/room/{0}/source", Room.Key), new Action<SourceSelectMessageContent>(c => Room.RunRouteAction(c.SourceListItem)));
Parent.AddAction(string.Format(@"/room/{0}/defaultsource", Room.Key), new Action(Room.RunDefaultRoute)); Parent.AddAction(string.Format(@"/room/{0}/defaultsource", Room.Key), new Action(Room.RunDefaultRoute));
Parent.AddAction(string.Format(@"/room/{0}/masterVolumeLevel", Room.Key), new Action<ushort>(u => Parent.AddAction(string.Format(@"/room/{0}/masterVolumeLevel", Room.Key), new Action<ushort>(u =>
(room.CurrentVolumeControls as IBasicVolumeWithFeedback).SetVolume(u))); (Room.CurrentVolumeControls as IBasicVolumeWithFeedback).SetVolume(u)));
Parent.AddAction(string.Format(@"/room/{0}/masterVolumeMuteToggle", Room.Key), new Action(() => room.CurrentVolumeControls.MuteToggle())); Parent.AddAction(string.Format(@"/room/{0}/masterVolumeMuteToggle", Room.Key), new Action(() => Room.CurrentVolumeControls.MuteToggle()));
Parent.AddAction(string.Format(@"/room/{0}/shutdownStart", Room.Key), new Action(() => room.StartShutdown(eShutdownType.Manual))); Parent.AddAction(string.Format(@"/room/{0}/shutdownStart", Room.Key), new Action(() => Room.StartShutdown(eShutdownType.Manual)));
Parent.AddAction(string.Format(@"/room/{0}/shutdownEnd", Room.Key), new Action(() => room.ShutdownPromptTimer.Finish())); Parent.AddAction(string.Format(@"/room/{0}/shutdownEnd", Room.Key), new Action(() => Room.ShutdownPromptTimer.Finish()));
Parent.AddAction(string.Format(@"/room/{0}/shutdownCancel", Room.Key), new Action(() => room.ShutdownPromptTimer.Cancel())); Parent.AddAction(string.Format(@"/room/{0}/shutdownCancel", Room.Key), new Action(() => Room.ShutdownPromptTimer.Cancel()));
Room.CurrentSingleSourceChange += new SourceInfoChangeHandler(Room_CurrentSingleSourceChange); Room.CurrentSingleSourceChange += new SourceInfoChangeHandler(Room_CurrentSingleSourceChange);
Room.CurrentVolumeDeviceChange += new EventHandler<VolumeDeviceChangeEventArgs>(Room_CurrentVolumeDeviceChange); Room.CurrentVolumeDeviceChange += new EventHandler<VolumeDeviceChangeEventArgs>(Room_CurrentVolumeDeviceChange);
Room.OnFeedback.OutputChange += new EventHandler<EventArgs>(OnFeedback_OutputChange); Room.OnFeedback.OutputChange += new EventHandler<EventArgs>(OnFeedback_OutputChange);
Room.IsCoolingDownFeedback.OutputChange += new EventHandler<EventArgs>(IsCoolingDownFeedback_OutputChange); Room.IsCoolingDownFeedback.OutputChange += new EventHandler<EventArgs>(IsCoolingDownFeedback_OutputChange);
Room.IsWarmingUpFeedback.OutputChange += new EventHandler<EventArgs>(IsWarmingUpFeedback_OutputChange); Room.IsWarmingUpFeedback.OutputChange += new EventHandler<EventArgs>(IsWarmingUpFeedback_OutputChange);
@@ -55,21 +64,20 @@ namespace PepperDash.Essentials
Room.ShutdownPromptTimer.HasFinished += new EventHandler<EventArgs>(ShutdownPromptTimer_HasFinished); Room.ShutdownPromptTimer.HasFinished += new EventHandler<EventArgs>(ShutdownPromptTimer_HasFinished);
Room.ShutdownPromptTimer.WasCancelled += new EventHandler<EventArgs>(ShutdownPromptTimer_WasCancelled); Room.ShutdownPromptTimer.WasCancelled += new EventHandler<EventArgs>(ShutdownPromptTimer_WasCancelled);
// Registers for initial volume events, if possible // Registers for initial volume events, if possible
var currentVolumeDevice = Room.CurrentVolumeControls; var currentVolumeDevice = Room.CurrentVolumeControls;
if (currentVolumeDevice != null) if (currentVolumeDevice != null)
{ {
if (currentVolumeDevice is IBasicVolumeWithFeedback) if (currentVolumeDevice is IBasicVolumeWithFeedback)
{ {
var newDev = currentVolumeDevice as IBasicVolumeWithFeedback; var newDev = currentVolumeDevice as IBasicVolumeWithFeedback;
newDev.MuteFeedback.OutputChange += new EventHandler<EventArgs>(VolumeLevelFeedback_OutputChange); newDev.MuteFeedback.OutputChange += new EventHandler<EventArgs>(VolumeLevelFeedback_OutputChange);
newDev.VolumeLevelFeedback.OutputChange += new EventHandler<EventArgs>(VolumeLevelFeedback_OutputChange); newDev.VolumeLevelFeedback.OutputChange += new EventHandler<EventArgs>(VolumeLevelFeedback_OutputChange);
} }
} }
}
}
/// <summary> /// <summary>
/// Handler for cancelled shutdown /// Handler for cancelled shutdown