diff --git a/PepperDashEssentials/AppServer/CotijaSystemController.cs b/PepperDashEssentials/AppServer/CotijaSystemController.cs
index 74ca8e9d..b2e3c9dd 100644
--- a/PepperDashEssentials/AppServer/CotijaSystemController.cs
+++ b/PepperDashEssentials/AppServer/CotijaSystemController.cs
@@ -67,6 +67,9 @@ namespace PepperDash.Essentials
public CotijaSystemController(string key, string name, CotijaConfig config) : base(key, name)
{
Config = config;
+
+ SystemUuid = ConfigReader.ConfigObject.SystemUuid;
+
Debug.Console(0, this, "Mobile UI controller initializing for server:{0}", config.ServerUrl);
CrestronConsole.AddNewConsoleCommand(AuthorizeSystem,
@@ -97,6 +100,21 @@ namespace PepperDash.Essentials
}
+ ///
+ /// If config rooms is empty or null then go
+ ///
+ ///
+ public override bool CustomActivate()
+ {
+ if (ConfigReader.ConfigObject.Rooms == null || ConfigReader.ConfigObject.Rooms.Count == 0)
+ {
+ Debug.Console(1, this, Debug.ErrorLogLevel.Notice, "Config contains no rooms. Registering with Server.");
+ RegisterSystemToServer();
+ }
+
+ return base.CustomActivate();
+ }
+
///
///
///
@@ -177,7 +195,7 @@ namespace PepperDash.Essentials
else
{
Debug.Console(0, this, "Adding room bridge and sending configuration");
- SystemUuid = ConfigReader.ConfigObject.SystemUuid;
+ //SystemUuid = ConfigReader.ConfigObject.SystemUuid;
RegisterSystemToServer();
}
}
@@ -190,7 +208,7 @@ namespace PepperDash.Essentials
void bridge_ConfigurationIsReady(object sender, EventArgs e)
{
Debug.Console(1, this, "Bridge ready. Registering");
- SystemUuid = ConfigReader.ConfigObject.SystemUuid;
+ //SystemUuid = ConfigReader.ConfigObject.SystemUuid;
// send the configuration object to the server
RegisterSystemToServer();
}
@@ -210,7 +228,7 @@ namespace PepperDash.Essentials
///
void AuthorizeSystem(string code)
{
- SystemUuid = ConfigReader.ConfigObject.SystemUuid;
+ //SystemUuid = ConfigReader.ConfigObject.SystemUuid;
if (string.IsNullOrEmpty(SystemUuid))
{
@@ -315,7 +333,6 @@ namespace PepperDash.Essentials
void ConnectWebsocketClient()
{
-
Debug.Console(1, this, "Initializing Stream client to server.");
if (WSClient != null)
diff --git a/PepperDashEssentials/AppServer/Messengers/MessengerBase.cs b/PepperDashEssentials/AppServer/Messengers/MessengerBase.cs
index 30f79da2..f9833afb 100644
--- a/PepperDashEssentials/AppServer/Messengers/MessengerBase.cs
+++ b/PepperDashEssentials/AppServer/Messengers/MessengerBase.cs
@@ -68,11 +68,14 @@ namespace PepperDash.Essentials.AppServer.Messengers
/// The contents of the content object
protected void PostStatusMessage(object contentObject)
{
- AppServerController.SendMessageToServer(JObject.FromObject(new
- {
- type = MessagePath,
- content = contentObject
- }));
+ if (AppServerController != null)
+ {
+ AppServerController.SendMessageToServer(JObject.FromObject(new
+ {
+ type = MessagePath,
+ content = contentObject
+ }));
+ }
}
}
}
\ No newline at end of file
diff --git a/PepperDashEssentials/AppServer/Messengers/SystemMonitorMessenger.cs b/PepperDashEssentials/AppServer/Messengers/SystemMonitorMessenger.cs
index 51030e92..6f59cf05 100644
--- a/PepperDashEssentials/AppServer/Messengers/SystemMonitorMessenger.cs
+++ b/PepperDashEssentials/AppServer/Messengers/SystemMonitorMessenger.cs
@@ -6,6 +6,7 @@ using Crestron.SimplSharp;
using Newtonsoft.Json;
+using PepperDash.Core;
using PepperDash.Essentials.Core.Monitoring;
namespace PepperDash.Essentials.AppServer.Messengers
@@ -45,6 +46,8 @@ namespace PepperDash.Essentials.AppServer.Messengers
{
var programInfo = JsonConvert.DeserializeObject(serializedProgramInfo);
+ Debug.Console(2, "Posting Status Message: {0}", programInfo.ToString());
+
PostStatusMessage(programInfo);
}
@@ -70,6 +73,8 @@ namespace PepperDash.Essentials.AppServer.Messengers
void SendSystemMonitorStatusMessage()
{
+ Debug.Console(2, "Posting System Monitor Status Message.");
+
// This takes a while, launch a new thread
CrestronInvoke.BeginInvoke((o) =>
{
diff --git a/PepperDashEssentials/Bridges/BridgeFactory.cs b/PepperDashEssentials/Bridges/BridgeFactory.cs
index 90adc115..8079aa80 100644
--- a/PepperDashEssentials/Bridges/BridgeFactory.cs
+++ b/PepperDashEssentials/Bridges/BridgeFactory.cs
@@ -30,7 +30,7 @@ namespace PepperDash.Essentials
var typeName = dc.Type.ToLower();
var groupName = dc.Group.ToLower();
- Debug.Console(0, "Name {0}, Key {1}, Type {2}, Properties {3}", name, key, type, properties.ToString());
+ //Debug.Console(2, "Name {0}, Key {1}, Type {2}, Properties {3}", name, key, type, properties.ToString());
if (typeName == "eiscapi")
{
diff --git a/PepperDashEssentials/Bridges/SystemMonitorBridge.cs b/PepperDashEssentials/Bridges/SystemMonitorBridge.cs
index ba0c1874..3702792f 100644
--- a/PepperDashEssentials/Bridges/SystemMonitorBridge.cs
+++ b/PepperDashEssentials/Bridges/SystemMonitorBridge.cs
@@ -23,7 +23,7 @@ namespace PepperDash.Essentials.Bridges
joinMap.OffsetJoinNumbers(joinStart);
- Debug.Console(1, systemMonitorController, "Linking API starting at join: {0}", joinStart);
+ //Debug.Console(1, systemMonitorController, "Linking API starting at join: {0}", joinStart);
systemMonitorController.TimeZoneFeedback.LinkInputSig(trilist.UShortInput[joinMap.TimeZone]);
//trilist.SetUShortSigAction(joinMap.TimeZone, new Action(u => systemMonitorController.SetTimeZone(u)));
@@ -44,7 +44,7 @@ namespace PepperDash.Essentials.Bridges
// TODO: link feedbacks for each program slot
var programNumber = p.Value.Program.Number;
- Debug.Console(1, systemMonitorController, "Linking API for Program Slot: {0} starting at join: {1}", programNumber, programSlotJoinStart);
+ //Debug.Console(1, systemMonitorController, "Linking API for Program Slot: {0} starting at join: {1}", programNumber, programSlotJoinStart);
trilist.SetBoolSigAction(programSlotJoinStart + joinMap.ProgramStart, new Action
(b => SystemMonitor.ProgramCollection[programNumber].OperatingState = eProgramOperatingState.Start));
diff --git a/PepperDashEssentials/ControlSystem.cs b/PepperDashEssentials/ControlSystem.cs
index 63e417f8..de3fca36 100644
--- a/PepperDashEssentials/ControlSystem.cs
+++ b/PepperDashEssentials/ControlSystem.cs
@@ -233,6 +233,8 @@ namespace PepperDash.Essentials
var messenger = new PepperDash.Essentials.AppServer.Messengers.SystemMonitorMessenger
(key, sysMon, "/device/systemMonitor");
+ messenger.RegisterWithAppServer(appServer);
+
DeviceManager.AddDevice(messenger);
diff --git a/essentials-framework b/essentials-framework
index 3d81472a..1d210d80 160000
--- a/essentials-framework
+++ b/essentials-framework
@@ -1 +1 @@
-Subproject commit 3d81472afdcf8713ec92c44d9a1521bfb2261738
+Subproject commit 1d210d80f8c142d5281bbc7138aab17bc4c14c7b