mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-04-14 04:57:15 +00:00
feat: change to use Debug.LogMessage everywhere
This commit is contained in:
parent
4d0e3b1943
commit
ee4ccb0d1a
110 changed files with 1033 additions and 988 deletions
|
|
@ -12,6 +12,7 @@ using Newtonsoft.Json;
|
||||||
|
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core.Config;
|
using PepperDash.Essentials.Core.Config;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
//using PepperDash.Essentials.Devices.Common.Cameras;
|
//using PepperDash.Essentials.Devices.Common.Cameras;
|
||||||
|
|
||||||
|
|
@ -32,7 +33,7 @@ namespace PepperDash.Essentials.Core.Bridges
|
||||||
|
|
||||||
if (bridge == null)
|
if (bridge == null)
|
||||||
{
|
{
|
||||||
Debug.Console(0, "Unable to find advanced bridge with key: '{0}'", bridgeKey);
|
Debug.LogMessage(LogEventLevel.Information, "Unable to find advanced bridge with key: '{0}'", bridgeKey);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -58,7 +59,7 @@ namespace PepperDash.Essentials.Core.Bridges
|
||||||
|
|
||||||
if (bridge == null)
|
if (bridge == null)
|
||||||
{
|
{
|
||||||
Debug.Console(0, "Unable to find advanced bridge with key: '{0}'", bridgeKey);
|
Debug.LogMessage(LogEventLevel.Information, "Unable to find advanced bridge with key: '{0}'", bridgeKey);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -148,11 +149,11 @@ namespace PepperDash.Essentials.Core.Bridges
|
||||||
|
|
||||||
private void LinkDevices()
|
private void LinkDevices()
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "Linking Devices...");
|
Debug.LogMessage(LogEventLevel.Debug, this, "Linking Devices...");
|
||||||
|
|
||||||
if (PropertiesConfig.Devices == null)
|
if (PropertiesConfig.Devices == null)
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, Debug.ErrorLogLevel.Notice, "No devices linked to this bridge");
|
Debug.LogMessage(LogEventLevel.Debug, this, "No devices linked to this bridge");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -165,11 +166,11 @@ namespace PepperDash.Essentials.Core.Bridges
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
Debug.Console(1, this, "Linking Device: '{0}'", device.Key);
|
Debug.LogMessage(LogEventLevel.Debug, this, "Linking Device: '{0}'", device.Key);
|
||||||
|
|
||||||
if (!typeof(IBridgeAdvanced).IsAssignableFrom(device.GetType().GetCType()))
|
if (!typeof(IBridgeAdvanced).IsAssignableFrom(device.GetType().GetCType()))
|
||||||
{
|
{
|
||||||
Debug.Console(0, this, Debug.ErrorLogLevel.Notice,
|
Debug.LogMessage(LogEventLevel.Information, this,
|
||||||
"{0} is not compatible with this bridge type. Please use 'eiscapi' instead, or updae the device.",
|
"{0} is not compatible with this bridge type. Please use 'eiscapi' instead, or updae the device.",
|
||||||
device.Key);
|
device.Key);
|
||||||
continue;
|
continue;
|
||||||
|
|
@ -194,20 +195,20 @@ namespace PepperDash.Essentials.Core.Bridges
|
||||||
|
|
||||||
if (registerResult != eDeviceRegistrationUnRegistrationResponse.Success)
|
if (registerResult != eDeviceRegistrationUnRegistrationResponse.Success)
|
||||||
{
|
{
|
||||||
Debug.Console(2, this, Debug.ErrorLogLevel.Error, "Registration result: {0}", registerResult);
|
Debug.LogMessage(LogEventLevel.Verbose, this, "Registration result: {0}", registerResult);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Debug.Console(1, this, Debug.ErrorLogLevel.Notice, "EISC registration successful");
|
Debug.LogMessage(LogEventLevel.Debug, this, "EISC registration successful");
|
||||||
}
|
}
|
||||||
|
|
||||||
public void LinkRooms()
|
public void LinkRooms()
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "Linking Rooms...");
|
Debug.LogMessage(LogEventLevel.Debug, this, "Linking Rooms...");
|
||||||
|
|
||||||
if (PropertiesConfig.Rooms == null)
|
if (PropertiesConfig.Rooms == null)
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, Debug.ErrorLogLevel.Notice, "No rooms linked to this bridge.");
|
Debug.LogMessage(LogEventLevel.Debug, this, "No rooms linked to this bridge.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -217,7 +218,7 @@ namespace PepperDash.Essentials.Core.Bridges
|
||||||
|
|
||||||
if (rm == null)
|
if (rm == null)
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, Debug.ErrorLogLevel.Notice,
|
Debug.LogMessage(LogEventLevel.Debug, this,
|
||||||
"Room {0} does not implement IBridgeAdvanced. Skipping...", room.RoomKey);
|
"Room {0} does not implement IBridgeAdvanced. Skipping...", room.RoomKey);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
@ -239,7 +240,7 @@ namespace PepperDash.Essentials.Core.Bridges
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Debug.Console(2, this, "Unable to add join map with key '{0}'. Key already exists in JoinMaps dictionary", deviceKey);
|
Debug.LogMessage(LogEventLevel.Verbose, this, "Unable to add join map with key '{0}'. Key already exists in JoinMaps dictionary", deviceKey);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -248,11 +249,11 @@ namespace PepperDash.Essentials.Core.Bridges
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public virtual void PrintJoinMaps()
|
public virtual void PrintJoinMaps()
|
||||||
{
|
{
|
||||||
Debug.Console(0, this, "Join Maps for EISC IPID: {0}", Eisc.ID.ToString("X"));
|
Debug.LogMessage(LogEventLevel.Information, this, "Join Maps for EISC IPID: {0}", Eisc.ID.ToString("X"));
|
||||||
|
|
||||||
foreach (var joinMap in JoinMaps)
|
foreach (var joinMap in JoinMaps)
|
||||||
{
|
{
|
||||||
Debug.Console(0, "Join map for device '{0}':", joinMap.Key);
|
Debug.LogMessage(LogEventLevel.Information, "Join map for device '{0}':", joinMap.Key);
|
||||||
joinMap.Value.PrintJoinMapInfo();
|
joinMap.Value.PrintJoinMapInfo();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -261,11 +262,11 @@ namespace PepperDash.Essentials.Core.Bridges
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public virtual void MarkdownForBridge(string bridgeKey)
|
public virtual void MarkdownForBridge(string bridgeKey)
|
||||||
{
|
{
|
||||||
Debug.Console(0, this, "Writing Joinmaps to files for EISC IPID: {0}", Eisc.ID.ToString("X"));
|
Debug.LogMessage(LogEventLevel.Information, this, "Writing Joinmaps to files for EISC IPID: {0}", Eisc.ID.ToString("X"));
|
||||||
|
|
||||||
foreach (var joinMap in JoinMaps)
|
foreach (var joinMap in JoinMaps)
|
||||||
{
|
{
|
||||||
Debug.Console(0, "Generating markdown for device '{0}':", joinMap.Key);
|
Debug.LogMessage(LogEventLevel.Information, "Generating markdown for device '{0}':", joinMap.Key);
|
||||||
joinMap.Value.MarkdownJoinMapInfo(joinMap.Key, bridgeKey);
|
joinMap.Value.MarkdownJoinMapInfo(joinMap.Key, bridgeKey);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -280,11 +281,11 @@ namespace PepperDash.Essentials.Core.Bridges
|
||||||
|
|
||||||
if (joinMap == null)
|
if (joinMap == null)
|
||||||
{
|
{
|
||||||
Debug.Console(0, this, "Unable to find joinMap for device with key: '{0}'", deviceKey);
|
Debug.LogMessage(LogEventLevel.Information, this, "Unable to find joinMap for device with key: '{0}'", deviceKey);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Debug.Console(0, "Join map for device '{0}' on EISC '{1}':", deviceKey, Key);
|
Debug.LogMessage(LogEventLevel.Information, "Join map for device '{0}' on EISC '{1}':", deviceKey, Key);
|
||||||
joinMap.PrintJoinMapInfo();
|
joinMap.PrintJoinMapInfo();
|
||||||
}
|
}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
@ -297,11 +298,11 @@ namespace PepperDash.Essentials.Core.Bridges
|
||||||
|
|
||||||
if (joinMap == null)
|
if (joinMap == null)
|
||||||
{
|
{
|
||||||
Debug.Console(0, this, "Unable to find joinMap for device with key: '{0}'", deviceKey);
|
Debug.LogMessage(LogEventLevel.Information, this, "Unable to find joinMap for device with key: '{0}'", deviceKey);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Debug.Console(0, "Join map for device '{0}' on EISC '{1}':", deviceKey, Key);
|
Debug.LogMessage(LogEventLevel.Information, "Join map for device '{0}' on EISC '{1}':", deviceKey, Key);
|
||||||
joinMap.MarkdownJoinMapInfo(deviceKey, bridgeKey);
|
joinMap.MarkdownJoinMapInfo(deviceKey, bridgeKey);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -322,11 +323,11 @@ namespace PepperDash.Essentials.Core.Bridges
|
||||||
var uo = Eisc.BooleanOutput[join].UserObject as Action<bool>;
|
var uo = Eisc.BooleanOutput[join].UserObject as Action<bool>;
|
||||||
if (uo != null)
|
if (uo != null)
|
||||||
{
|
{
|
||||||
Debug.Console(2, this, "Executing Action: {0}", uo.ToString());
|
Debug.LogMessage(LogEventLevel.Verbose, this, "Executing Action: {0}", uo.ToString());
|
||||||
uo(Convert.ToBoolean(state));
|
uo(Convert.ToBoolean(state));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
Debug.Console(2, this, "User Action is null. Nothing to Execute");
|
Debug.LogMessage(LogEventLevel.Verbose, this, "User Action is null. Nothing to Execute");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "analog":
|
case "analog":
|
||||||
|
|
@ -334,34 +335,34 @@ namespace PepperDash.Essentials.Core.Bridges
|
||||||
var uo = Eisc.BooleanOutput[join].UserObject as Action<ushort>;
|
var uo = Eisc.BooleanOutput[join].UserObject as Action<ushort>;
|
||||||
if (uo != null)
|
if (uo != null)
|
||||||
{
|
{
|
||||||
Debug.Console(2, this, "Executing Action: {0}", uo.ToString());
|
Debug.LogMessage(LogEventLevel.Verbose, this, "Executing Action: {0}", uo.ToString());
|
||||||
uo(Convert.ToUInt16(state));
|
uo(Convert.ToUInt16(state));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
Debug.Console(2, this, "User Action is null. Nothing to Execute"); break;
|
Debug.LogMessage(LogEventLevel.Verbose, this, "User Action is null. Nothing to Execute"); break;
|
||||||
}
|
}
|
||||||
case "serial":
|
case "serial":
|
||||||
{
|
{
|
||||||
var uo = Eisc.BooleanOutput[join].UserObject as Action<string>;
|
var uo = Eisc.BooleanOutput[join].UserObject as Action<string>;
|
||||||
if (uo != null)
|
if (uo != null)
|
||||||
{
|
{
|
||||||
Debug.Console(2, this, "Executing Action: {0}", uo.ToString());
|
Debug.LogMessage(LogEventLevel.Verbose, this, "Executing Action: {0}", uo.ToString());
|
||||||
uo(Convert.ToString(state));
|
uo(Convert.ToString(state));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
Debug.Console(2, this, "User Action is null. Nothing to Execute");
|
Debug.LogMessage(LogEventLevel.Verbose, this, "User Action is null. Nothing to Execute");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
{
|
{
|
||||||
Debug.Console(2, "Unknown join type. Use digital/serial/analog");
|
Debug.LogMessage(LogEventLevel.Verbose, "Unknown join type. Use digital/serial/analog");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "Error: {0}", e);
|
Debug.LogMessage(LogEventLevel.Debug, this, "Error: {0}", e);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -375,12 +376,12 @@ namespace PepperDash.Essentials.Core.Bridges
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
Debug.Console(2, this, "EiscApiAdvanced change: {0} {1}={2}", args.Sig.Type, args.Sig.Number, args.Sig.StringValue);
|
Debug.LogMessage(LogEventLevel.Verbose, this, "EiscApiAdvanced change: {0} {1}={2}", args.Sig.Type, args.Sig.Number, args.Sig.StringValue);
|
||||||
var uo = args.Sig.UserObject;
|
var uo = args.Sig.UserObject;
|
||||||
|
|
||||||
if (uo == null) return;
|
if (uo == null) return;
|
||||||
|
|
||||||
Debug.Console(1, this, "Executing Action: {0}", uo.ToString());
|
Debug.LogMessage(LogEventLevel.Debug, this, "Executing Action: {0}", uo.ToString());
|
||||||
if (uo is Action<bool>)
|
if (uo is Action<bool>)
|
||||||
(uo as Action<bool>)(args.Sig.BoolValue);
|
(uo as Action<bool>)(args.Sig.BoolValue);
|
||||||
else if (uo is Action<ushort>)
|
else if (uo is Action<ushort>)
|
||||||
|
|
@ -390,7 +391,7 @@ namespace PepperDash.Essentials.Core.Bridges
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
Debug.Console(2, this, "Error in Eisc_SigChange handler: {0}", e);
|
Debug.LogMessage(LogEventLevel.Verbose, this, "Error in Eisc_SigChange handler: {0}", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -448,7 +449,7 @@ namespace PepperDash.Essentials.Core.Bridges
|
||||||
|
|
||||||
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
||||||
{
|
{
|
||||||
Debug.Console(1, "Factory Attempting to create new EiscApiAdvanced Device");
|
Debug.LogMessage(LogEventLevel.Debug, "Factory Attempting to create new EiscApiAdvanced Device");
|
||||||
|
|
||||||
var controlProperties = CommFactory.GetControlPropertiesConfig(dc);
|
var controlProperties = CommFactory.GetControlPropertiesConfig(dc);
|
||||||
|
|
||||||
|
|
@ -478,7 +479,7 @@ namespace PepperDash.Essentials.Core.Bridges
|
||||||
{
|
{
|
||||||
if (string.IsNullOrEmpty(controlProperties.RoomId))
|
if (string.IsNullOrEmpty(controlProperties.RoomId))
|
||||||
{
|
{
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Error, "Unable to build VC-4 EISC Client for device {0}. Room ID is missing or empty", dc.Key);
|
Debug.LogMessage(LogEventLevel.Information, "Unable to build VC-4 EISC Client for device {0}. Room ID is missing or empty", dc.Key);
|
||||||
eisc = null;
|
eisc = null;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@ using Crestron.SimplSharpPro;
|
||||||
using Crestron.SimplSharpPro.DM;
|
using Crestron.SimplSharpPro.DM;
|
||||||
|
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core
|
namespace PepperDash.Essentials.Core
|
||||||
{
|
{
|
||||||
|
|
@ -49,7 +50,7 @@ namespace PepperDash.Essentials.Core
|
||||||
OnDataReceived(cecDevice.Received.StringValue);
|
OnDataReceived(cecDevice.Received.StringValue);
|
||||||
else if (args.EventId == CecEventIds.ErrorFeedbackEventId)
|
else if (args.EventId == CecEventIds.ErrorFeedbackEventId)
|
||||||
if(cecDevice.ErrorFeedback.BoolValue)
|
if(cecDevice.ErrorFeedback.BoolValue)
|
||||||
Debug.Console(2, this, "CEC NAK Error");
|
Debug.LogMessage(LogEventLevel.Verbose, this, "CEC NAK Error");
|
||||||
}
|
}
|
||||||
|
|
||||||
void OnDataReceived(string s)
|
void OnDataReceived(string s)
|
||||||
|
|
@ -59,14 +60,14 @@ namespace PepperDash.Essentials.Core
|
||||||
{
|
{
|
||||||
var bytes = Encoding.GetEncoding(28591).GetBytes(s);
|
var bytes = Encoding.GetEncoding(28591).GetBytes(s);
|
||||||
if (StreamDebugging.RxStreamDebuggingIsEnabled)
|
if (StreamDebugging.RxStreamDebuggingIsEnabled)
|
||||||
Debug.Console(0, this, "Received: '{0}'", ComTextHelper.GetEscapedText(bytes));
|
Debug.LogMessage(LogEventLevel.Information, this, "Received: '{0}'", ComTextHelper.GetEscapedText(bytes));
|
||||||
bytesHandler(this, new GenericCommMethodReceiveBytesArgs(bytes));
|
bytesHandler(this, new GenericCommMethodReceiveBytesArgs(bytes));
|
||||||
}
|
}
|
||||||
var textHandler = TextReceived;
|
var textHandler = TextReceived;
|
||||||
if (textHandler != null)
|
if (textHandler != null)
|
||||||
{
|
{
|
||||||
if (StreamDebugging.RxStreamDebuggingIsEnabled)
|
if (StreamDebugging.RxStreamDebuggingIsEnabled)
|
||||||
Debug.Console(0, this, "Received: '{0}'", s);
|
Debug.LogMessage(LogEventLevel.Information, this, "Received: '{0}'", s);
|
||||||
textHandler(this, new GenericCommMethodReceiveTextArgs(s));
|
textHandler(this, new GenericCommMethodReceiveTextArgs(s));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -78,7 +79,7 @@ namespace PepperDash.Essentials.Core
|
||||||
if (Port == null)
|
if (Port == null)
|
||||||
return;
|
return;
|
||||||
if (StreamDebugging.TxStreamDebuggingIsEnabled)
|
if (StreamDebugging.TxStreamDebuggingIsEnabled)
|
||||||
Debug.Console(0, this, "Sending {0} characters of text: '{1}'", text.Length, text);
|
Debug.LogMessage(LogEventLevel.Information, this, "Sending {0} characters of text: '{1}'", text.Length, text);
|
||||||
Port.StreamCec.Send.StringValue = text;
|
Port.StreamCec.Send.StringValue = text;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -88,7 +89,7 @@ namespace PepperDash.Essentials.Core
|
||||||
return;
|
return;
|
||||||
var text = Encoding.GetEncoding(28591).GetString(bytes, 0, bytes.Length);
|
var text = Encoding.GetEncoding(28591).GetString(bytes, 0, bytes.Length);
|
||||||
if (StreamDebugging.TxStreamDebuggingIsEnabled)
|
if (StreamDebugging.TxStreamDebuggingIsEnabled)
|
||||||
Debug.Console(0, this, "Sending {0} bytes: '{1}'", bytes.Length, ComTextHelper.GetEscapedText(bytes));
|
Debug.LogMessage(LogEventLevel.Information, this, "Sending {0} bytes: '{1}'", bytes.Length, ComTextHelper.GetEscapedText(bytes));
|
||||||
Port.StreamCec.Send.StringValue = text;
|
Port.StreamCec.Send.StringValue = text;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ using Crestron.SimplSharp;
|
||||||
using Crestron.SimplSharpPro;
|
using Crestron.SimplSharpPro;
|
||||||
|
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core
|
namespace PepperDash.Essentials.Core
|
||||||
|
|
@ -43,7 +44,7 @@ namespace PepperDash.Essentials.Core
|
||||||
{
|
{
|
||||||
if (port == null)
|
if (port == null)
|
||||||
{
|
{
|
||||||
Debug.Console(0, this, "ERROR: Invalid com port, continuing but comms will not function");
|
Debug.LogMessage(LogEventLevel.Information, this, "ERROR: Invalid com port, continuing but comms will not function");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -58,7 +59,7 @@ namespace PepperDash.Essentials.Core
|
||||||
{
|
{
|
||||||
if (Port == null)
|
if (Port == null)
|
||||||
{
|
{
|
||||||
Debug.Console(0,this,Debug.ErrorLogLevel.Error, "Configured com Port for this device does not exist.");
|
Debug.LogMessage(LogEventLevel.Information, this, "Configured com Port for this device does not exist.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (Port.Parent is CrestronControlSystem)
|
if (Port.Parent is CrestronControlSystem)
|
||||||
|
|
@ -66,7 +67,7 @@ namespace PepperDash.Essentials.Core
|
||||||
var result = Port.Register();
|
var result = Port.Register();
|
||||||
if (result != eDeviceRegistrationUnRegistrationResponse.Success)
|
if (result != eDeviceRegistrationUnRegistrationResponse.Success)
|
||||||
{
|
{
|
||||||
Debug.Console(0, this, "ERROR: Cannot register Com port: {0}", result);
|
Debug.LogMessage(LogEventLevel.Information, this, "ERROR: Cannot register Com port: {0}", result);
|
||||||
return; // false
|
return; // false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -74,7 +75,7 @@ namespace PepperDash.Essentials.Core
|
||||||
var specResult = Port.SetComPortSpec(Spec);
|
var specResult = Port.SetComPortSpec(Spec);
|
||||||
if (specResult != 0)
|
if (specResult != 0)
|
||||||
{
|
{
|
||||||
Debug.Console(0, this, "WARNING: Cannot set comspec");
|
Debug.LogMessage(LogEventLevel.Information, this, "WARNING: Cannot set comspec");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Port.SerialDataReceived += Port_SerialDataReceived;
|
Port.SerialDataReceived += Port_SerialDataReceived;
|
||||||
|
|
@ -98,14 +99,14 @@ namespace PepperDash.Essentials.Core
|
||||||
{
|
{
|
||||||
var bytes = Encoding.GetEncoding(28591).GetBytes(s);
|
var bytes = Encoding.GetEncoding(28591).GetBytes(s);
|
||||||
if (StreamDebugging.RxStreamDebuggingIsEnabled)
|
if (StreamDebugging.RxStreamDebuggingIsEnabled)
|
||||||
Debug.Console(0, this, "Received: '{0}'", ComTextHelper.GetEscapedText(bytes));
|
Debug.LogMessage(LogEventLevel.Information, this, "Received: '{0}'", ComTextHelper.GetEscapedText(bytes));
|
||||||
bytesHandler(this, new GenericCommMethodReceiveBytesArgs(bytes));
|
bytesHandler(this, new GenericCommMethodReceiveBytesArgs(bytes));
|
||||||
}
|
}
|
||||||
var textHandler = TextReceived;
|
var textHandler = TextReceived;
|
||||||
if (textHandler != null)
|
if (textHandler != null)
|
||||||
{
|
{
|
||||||
if (StreamDebugging.RxStreamDebuggingIsEnabled)
|
if (StreamDebugging.RxStreamDebuggingIsEnabled)
|
||||||
Debug.Console(0, this, "Received: '{0}'", s);
|
Debug.LogMessage(LogEventLevel.Information, this, "Received: '{0}'", s);
|
||||||
textHandler(this, new GenericCommMethodReceiveTextArgs(s));
|
textHandler(this, new GenericCommMethodReceiveTextArgs(s));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -123,7 +124,7 @@ namespace PepperDash.Essentials.Core
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (StreamDebugging.TxStreamDebuggingIsEnabled)
|
if (StreamDebugging.TxStreamDebuggingIsEnabled)
|
||||||
Debug.Console(0, this, "Sending {0} characters of text: '{1}'", text.Length, text);
|
Debug.LogMessage(LogEventLevel.Information, this, "Sending {0} characters of text: '{1}'", text.Length, text);
|
||||||
Port.Send(text);
|
Port.Send(text);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -133,7 +134,7 @@ namespace PepperDash.Essentials.Core
|
||||||
return;
|
return;
|
||||||
var text = Encoding.GetEncoding(28591).GetString(bytes, 0, bytes.Length);
|
var text = Encoding.GetEncoding(28591).GetString(bytes, 0, bytes.Length);
|
||||||
if (StreamDebugging.TxStreamDebuggingIsEnabled)
|
if (StreamDebugging.TxStreamDebuggingIsEnabled)
|
||||||
Debug.Console(0, this, "Sending {0} bytes: '{1}'", bytes.Length, ComTextHelper.GetEscapedText(bytes));
|
Debug.LogMessage(LogEventLevel.Information, this, "Sending {0} bytes: '{1}'", bytes.Length, ComTextHelper.GetEscapedText(bytes));
|
||||||
|
|
||||||
Port.Send(text);
|
Port.Send(text);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -76,7 +76,7 @@ namespace PepperDash.Essentials.Core
|
||||||
|
|
||||||
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
|
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
|
||||||
{
|
{
|
||||||
//Debug.Console(2, "ReadJson type: " + objectType.Name);
|
//Debug.LogMessage(LogEventLevel.Verbose, "ReadJson type: " + objectType.Name);
|
||||||
if (objectType == typeof(ComPort.eComBaudRates))
|
if (objectType == typeof(ComPort.eComBaudRates))
|
||||||
return Enum.Parse(typeof(ComPort.eComBaudRates), "ComspecBaudRate" + reader.Value, false);
|
return Enum.Parse(typeof(ComPort.eComBaudRates), "ComspecBaudRate" + reader.Value, false);
|
||||||
else if (objectType == typeof(ComPort.eComDataBits))
|
else if (objectType == typeof(ComPort.eComDataBits))
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@ using Newtonsoft.Json;
|
||||||
using Newtonsoft.Json.Linq;
|
using Newtonsoft.Json.Linq;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core.Config;
|
using PepperDash.Essentials.Core.Config;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core
|
namespace PepperDash.Essentials.Core
|
||||||
{
|
{
|
||||||
|
|
@ -22,12 +23,12 @@ namespace PepperDash.Essentials.Core
|
||||||
{
|
{
|
||||||
return JsonConvert.DeserializeObject<EssentialsControlPropertiesConfig>
|
return JsonConvert.DeserializeObject<EssentialsControlPropertiesConfig>
|
||||||
(deviceConfig.Properties["control"].ToString());
|
(deviceConfig.Properties["control"].ToString());
|
||||||
//Debug.Console(2, "Control TEST: {0}", JsonConvert.SerializeObject(controlConfig));
|
//Debug.LogMessage(LogEventLevel.Verbose, "Control TEST: {0}", JsonConvert.SerializeObject(controlConfig));
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
|
|
||||||
Debug.Console(0, "ERROR: [{0}] Control properties deserialize failed:\r{1}", deviceConfig.Key, e);
|
Debug.LogMessage(LogEventLevel.Information, "ERROR: [{0}] Control properties deserialize failed:\r{1}", deviceConfig.Key, e);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -98,7 +99,7 @@ namespace PepperDash.Essentials.Core
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
Debug.Console(0, "Cannot create communication from JSON:\r{0}\r\rException:\r{1}",
|
Debug.LogMessage(LogEventLevel.Information, "Cannot create communication from JSON:\r{0}\r\rException:\r{1}",
|
||||||
deviceConfig.Properties.ToString(), e);
|
deviceConfig.Properties.ToString(), e);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -115,7 +116,7 @@ namespace PepperDash.Essentials.Core
|
||||||
var dev = GetIComPortsDeviceFromManagedDevice(config.ControlPortDevKey);
|
var dev = GetIComPortsDeviceFromManagedDevice(config.ControlPortDevKey);
|
||||||
if (dev != null && config.ControlPortNumber <= dev.NumberOfComPorts)
|
if (dev != null && config.ControlPortNumber <= dev.NumberOfComPorts)
|
||||||
return dev.ComPorts[config.ControlPortNumber];
|
return dev.ComPorts[config.ControlPortNumber];
|
||||||
Debug.Console(0,Debug.ErrorLogLevel.Notice, "GetComPort: Device '{0}' does not have com port {1}", config.ControlPortDevKey, config.ControlPortNumber);
|
Debug.LogMessage(LogEventLevel.Information, "GetComPort: Device '{0}' does not have com port {1}", config.ControlPortDevKey, config.ControlPortNumber);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -130,7 +131,7 @@ namespace PepperDash.Essentials.Core
|
||||||
{
|
{
|
||||||
var dev = DeviceManager.GetDeviceForKey(config.ControlPortDevKey);
|
var dev = DeviceManager.GetDeviceForKey(config.ControlPortDevKey);
|
||||||
|
|
||||||
Debug.Console(0, "GetCecPort: device '{0}' {1}", config.ControlPortDevKey, dev == null
|
Debug.LogMessage(LogEventLevel.Information, "GetCecPort: device '{0}' {1}", config.ControlPortDevKey, dev == null
|
||||||
? "is not valid, failed to get cec port"
|
? "is not valid, failed to get cec port"
|
||||||
: "found in device manager, attempting to get cec port");
|
: "found in device manager, attempting to get cec port");
|
||||||
|
|
||||||
|
|
@ -139,7 +140,7 @@ namespace PepperDash.Essentials.Core
|
||||||
|
|
||||||
if (String.IsNullOrEmpty(config.ControlPortName))
|
if (String.IsNullOrEmpty(config.ControlPortName))
|
||||||
{
|
{
|
||||||
Debug.Console(0, "GetCecPort: '{0}' - Configuration missing 'ControlPortName'", config.ControlPortDevKey);
|
Debug.LogMessage(LogEventLevel.Information, "GetCecPort: '{0}' - Configuration missing 'ControlPortName'", config.ControlPortDevKey);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -147,7 +148,7 @@ namespace PepperDash.Essentials.Core
|
||||||
var inputsOutputs = dev as IRoutingInputsOutputs;
|
var inputsOutputs = dev as IRoutingInputsOutputs;
|
||||||
if (inputsOutputs == null)
|
if (inputsOutputs == null)
|
||||||
{
|
{
|
||||||
Debug.Console(0, "GetCecPort: Device '{0}' does not support IRoutingInputsOutputs, failed to get CEC port called '{1}'",
|
Debug.LogMessage(LogEventLevel.Information, "GetCecPort: Device '{0}' does not support IRoutingInputsOutputs, failed to get CEC port called '{1}'",
|
||||||
config.ControlPortDevKey, config.ControlPortName);
|
config.ControlPortDevKey, config.ControlPortName);
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
|
|
@ -164,13 +165,13 @@ namespace PepperDash.Essentials.Core
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Debug.Console(1, "GetCecPort Exception Message: {0}", ex.Message);
|
Debug.LogMessage(LogEventLevel.Debug, "GetCecPort Exception Message: {0}", ex.Message);
|
||||||
Debug.Console(2, "GetCecPort Exception StackTrace: {0}", ex.StackTrace);
|
Debug.LogMessage(LogEventLevel.Verbose, "GetCecPort Exception StackTrace: {0}", ex.StackTrace);
|
||||||
if (ex.InnerException != null)
|
if (ex.InnerException != null)
|
||||||
Debug.Console(0, "GetCecPort Exception InnerException: {0}", ex.InnerException);
|
Debug.LogMessage(LogEventLevel.Information, "GetCecPort Exception InnerException: {0}", ex.InnerException);
|
||||||
}
|
}
|
||||||
|
|
||||||
Debug.Console(0, "GetCecPort: Device '{0}' does not have a CEC port called '{1}'",
|
Debug.LogMessage(LogEventLevel.Information, "GetCecPort: Device '{0}' does not have a CEC port called '{1}'",
|
||||||
config.ControlPortDevKey, config.ControlPortName);
|
config.ControlPortDevKey, config.ControlPortName);
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
|
|
@ -191,7 +192,7 @@ namespace PepperDash.Essentials.Core
|
||||||
{
|
{
|
||||||
var dev = DeviceManager.GetDeviceForKey(ComPortDevKey) as IComPorts;
|
var dev = DeviceManager.GetDeviceForKey(ComPortDevKey) as IComPorts;
|
||||||
if (dev == null)
|
if (dev == null)
|
||||||
Debug.Console(0, "ComPortConfig: Cannot find com port device '{0}'", ComPortDevKey);
|
Debug.LogMessage(LogEventLevel.Information, "ComPortConfig: Cannot find com port device '{0}'", ComPortDevKey);
|
||||||
return dev;
|
return dev;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -207,8 +208,6 @@ namespace PepperDash.Essentials.Core
|
||||||
[JsonConverter(typeof(ComSpecJsonConverter))]
|
[JsonConverter(typeof(ComSpecJsonConverter))]
|
||||||
public ComPort.ComPortSpec ComParams { get; set; }
|
public ComPort.ComPortSpec ComParams { get; set; }
|
||||||
|
|
||||||
public string RoomId { get; set; }
|
|
||||||
|
|
||||||
public string CresnetId { get; set; }
|
public string CresnetId { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ using Crestron.SimplSharp;
|
||||||
|
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core.Config;
|
using PepperDash.Essentials.Core.Config;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core
|
namespace PepperDash.Essentials.Core
|
||||||
|
|
@ -39,7 +40,7 @@ namespace PepperDash.Essentials.Core
|
||||||
public override bool CustomActivate()
|
public override bool CustomActivate()
|
||||||
{
|
{
|
||||||
Communication.Connect();
|
Communication.Connect();
|
||||||
CommunicationMonitor.StatusChange += (o, a) => { Debug.Console(2, this, "Communication monitor state: {0}", CommunicationMonitor.Status); };
|
CommunicationMonitor.StatusChange += (o, a) => { Debug.LogMessage(LogEventLevel.Verbose, this, "Communication monitor state: {0}", CommunicationMonitor.Status); };
|
||||||
CommunicationMonitor.Start();
|
CommunicationMonitor.Start();
|
||||||
|
|
||||||
CrestronConsole.AddNewConsoleCommand(SendLine, "send" + Key, "", ConsoleAccessLevelEnum.AccessOperator);
|
CrestronConsole.AddNewConsoleCommand(SendLine, "send" + Key, "", ConsoleAccessLevelEnum.AccessOperator);
|
||||||
|
|
@ -50,7 +51,7 @@ namespace PepperDash.Essentials.Core
|
||||||
void SendLine(string s)
|
void SendLine(string s)
|
||||||
{
|
{
|
||||||
//if (Debug.Level == 2)
|
//if (Debug.Level == 2)
|
||||||
// Debug.Console(2, this, " Send '{0}'", ComTextHelper.GetEscapedText(s));
|
// Debug.LogMessage(LogEventLevel.Verbose, this, " Send '{0}'", ComTextHelper.GetEscapedText(s));
|
||||||
Communication.SendText(s + LineEnding);
|
Communication.SendText(s + LineEnding);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -75,7 +76,7 @@ namespace PepperDash.Essentials.Core
|
||||||
|
|
||||||
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
||||||
{
|
{
|
||||||
Debug.Console(1, "Factory Attempting to create new Comm Mock Device");
|
Debug.LogMessage(LogEventLevel.Debug, "Factory Attempting to create new Comm Mock Device");
|
||||||
var comm = CommFactory.CreateCommForDevice(dc);
|
var comm = CommFactory.CreateCommForDevice(dc);
|
||||||
var props = Newtonsoft.Json.JsonConvert.DeserializeObject<ConsoleCommMockDevicePropertiesConfig>(
|
var props = Newtonsoft.Json.JsonConvert.DeserializeObject<ConsoleCommMockDevicePropertiesConfig>(
|
||||||
dc.Properties.ToString());
|
dc.Properties.ToString());
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@ using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core.Bridges;
|
using PepperDash.Essentials.Core.Bridges;
|
||||||
using PepperDash.Essentials.Core.Devices;
|
using PepperDash.Essentials.Core.Devices;
|
||||||
using PepperDash.Essentials.Core.Config;
|
using PepperDash.Essentials.Core.Config;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core
|
namespace PepperDash.Essentials.Core
|
||||||
|
|
@ -45,7 +46,7 @@ namespace PepperDash.Essentials.Core
|
||||||
|
|
||||||
public static IKeyed BuildDevice(DeviceConfig dc)
|
public static IKeyed BuildDevice(DeviceConfig dc)
|
||||||
{
|
{
|
||||||
Debug.Console(1, "Factory Attempting to create new Generic Comm Device");
|
Debug.LogMessage(LogEventLevel.Debug, "Factory Attempting to create new Generic Comm Device");
|
||||||
return new GenericComm(dc);
|
return new GenericComm(dc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -59,7 +60,7 @@ namespace PepperDash.Essentials.Core
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
Debug.Console(2, this, "Error deserializing port config: {0}", e);
|
Debug.LogMessage(LogEventLevel.Verbose, this, "Error deserializing port config: {0}", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -85,16 +86,16 @@ namespace PepperDash.Essentials.Core
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Debug.Console(0, this, "Please update config to use 'eiscapiadvanced' to get all join map features for this device.");
|
Debug.LogMessage(LogEventLevel.Information, this, "Please update config to use 'eiscapiadvanced' to get all join map features for this device.");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (CommPort == null)
|
if (CommPort == null)
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "Unable to link device '{0}'. CommPort is null", Key);
|
Debug.LogMessage(LogEventLevel.Debug, this, "Unable to link device '{0}'. CommPort is null", Key);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Debug.Console(1, this, "Linking to Trilist '{0}'", trilist.ID.ToString("X"));
|
Debug.LogMessage(LogEventLevel.Debug, this, "Linking to Trilist '{0}'", trilist.ID.ToString("X"));
|
||||||
|
|
||||||
// this is a permanent event handler. This cannot be -= from event
|
// this is a permanent event handler. This cannot be -= from event
|
||||||
CommPort.TextReceived += (s, a) =>
|
CommPort.TextReceived += (s, a) =>
|
||||||
|
|
@ -137,7 +138,7 @@ namespace PepperDash.Essentials.Core
|
||||||
|
|
||||||
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
||||||
{
|
{
|
||||||
Debug.Console(1, "Factory Attempting to create new Generic Comm Device");
|
Debug.LogMessage(LogEventLevel.Debug, "Factory Attempting to create new Generic Comm Device");
|
||||||
return new GenericComm(dc);
|
return new GenericComm(dc);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@ using Newtonsoft.Json;
|
||||||
using Newtonsoft.Json.Linq;
|
using Newtonsoft.Json.Linq;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core.Config;
|
using PepperDash.Essentials.Core.Config;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core
|
namespace PepperDash.Essentials.Core
|
||||||
{
|
{
|
||||||
|
|
@ -40,7 +41,7 @@ namespace PepperDash.Essentials.Core
|
||||||
return null;
|
return null;
|
||||||
if (control["method"].Value<string>() != "ir")
|
if (control["method"].Value<string>() != "ir")
|
||||||
{
|
{
|
||||||
Debug.Console(0, "IRPortHelper called with non-IR properties");
|
Debug.LogMessage(LogEventLevel.Information, "IRPortHelper called with non-IR properties");
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -50,7 +51,7 @@ namespace PepperDash.Essentials.Core
|
||||||
var portNum = control.Value<uint>("controlPortNumber");
|
var portNum = control.Value<uint>("controlPortNumber");
|
||||||
if (portDevKey == null || portNum == 0)
|
if (portDevKey == null || portNum == 0)
|
||||||
{
|
{
|
||||||
Debug.Console(1, "WARNING: Properties is missing port device or port number");
|
Debug.LogMessage(LogEventLevel.Debug, "WARNING: Properties is missing port device or port number");
|
||||||
return port;
|
return port;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -63,7 +64,7 @@ namespace PepperDash.Essentials.Core
|
||||||
|
|
||||||
if (irDev == null)
|
if (irDev == null)
|
||||||
{
|
{
|
||||||
Debug.Console(1, "[Config] Error, device with IR ports '{0}' not found", portDevKey);
|
Debug.LogMessage(LogEventLevel.Debug, "[Config] Error, device with IR ports '{0}' not found", portDevKey);
|
||||||
return port;
|
return port;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -76,7 +77,7 @@ namespace PepperDash.Essentials.Core
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Debug.Console(1, "[Config] Error, device '{0}' IR port {1} out of range",
|
Debug.LogMessage(LogEventLevel.Debug, "[Config] Error, device '{0}' IR port {1} out of range",
|
||||||
portDevKey, portNum);
|
portDevKey, portNum);
|
||||||
return port;
|
return port;
|
||||||
}
|
}
|
||||||
|
|
@ -87,14 +88,14 @@ namespace PepperDash.Essentials.Core
|
||||||
var irControllerKey = dc.Key + "-ir";
|
var irControllerKey = dc.Key + "-ir";
|
||||||
if (dc.Properties == null)
|
if (dc.Properties == null)
|
||||||
{
|
{
|
||||||
Debug.Console(0, "[{0}] WARNING: Device config does not include properties. IR will not function.", dc.Key);
|
Debug.LogMessage(LogEventLevel.Information, "[{0}] WARNING: Device config does not include properties. IR will not function.", dc.Key);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
var control = dc.Properties["control"];
|
var control = dc.Properties["control"];
|
||||||
if (control == null)
|
if (control == null)
|
||||||
{
|
{
|
||||||
Debug.Console(0,
|
Debug.LogMessage(LogEventLevel.Information,
|
||||||
"WARNING: Device config does not include control properties. IR will not function for {0}", dc.Key);
|
"WARNING: Device config does not include control properties. IR will not function for {0}", dc.Key);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
@ -105,13 +106,13 @@ namespace PepperDash.Essentials.Core
|
||||||
|
|
||||||
if (portDevKey == null)
|
if (portDevKey == null)
|
||||||
{
|
{
|
||||||
Debug.Console(0, "WARNING: control properties is missing ir device for {0}", dc.Key);
|
Debug.LogMessage(LogEventLevel.Information, "WARNING: control properties is missing ir device for {0}", dc.Key);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (portNum == 0)
|
if (portNum == 0)
|
||||||
{
|
{
|
||||||
Debug.Console(0, "WARNING: control properties is missing ir port number for {0}", dc.Key);
|
Debug.LogMessage(LogEventLevel.Information, "WARNING: control properties is missing ir port number for {0}", dc.Key);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -123,12 +124,12 @@ namespace PepperDash.Essentials.Core
|
||||||
|
|
||||||
if (irDev == null)
|
if (irDev == null)
|
||||||
{
|
{
|
||||||
Debug.Console(0, "WARNING: device with IR ports '{0}' not found", portDevKey);
|
Debug.LogMessage(LogEventLevel.Information, "WARNING: device with IR ports '{0}' not found", portDevKey);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
if (portNum > irDev.NumberOfIROutputPorts)
|
if (portNum > irDev.NumberOfIROutputPorts)
|
||||||
{
|
{
|
||||||
Debug.Console(0, "WARNING: device '{0}' IR port {1} out of range",
|
Debug.LogMessage(LogEventLevel.Information, "WARNING: device '{0}' IR port {1} out of range",
|
||||||
portDevKey, portNum);
|
portDevKey, portNum);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
@ -143,7 +144,7 @@ namespace PepperDash.Essentials.Core
|
||||||
|
|
||||||
public static IrOutputPortController GetIrOutputPortController(DeviceConfig config)
|
public static IrOutputPortController GetIrOutputPortController(DeviceConfig config)
|
||||||
{
|
{
|
||||||
Debug.Console(1, "Attempting to create new Ir Port Controller");
|
Debug.LogMessage(LogEventLevel.Debug, "Attempting to create new Ir Port Controller");
|
||||||
|
|
||||||
if (config == null)
|
if (config == null)
|
||||||
{
|
{
|
||||||
|
|
@ -165,7 +166,7 @@ namespace PepperDash.Essentials.Core
|
||||||
var irControllerKey = devConf.Key + "-ir";
|
var irControllerKey = devConf.Key + "-ir";
|
||||||
if (devConf.Properties == null)
|
if (devConf.Properties == null)
|
||||||
{
|
{
|
||||||
Debug.Console(0, "[{0}] WARNING: Device config does not include properties. IR will not function.", devConf.Key);
|
Debug.LogMessage(LogEventLevel.Information, "[{0}] WARNING: Device config does not include properties. IR will not function.", devConf.Key);
|
||||||
return new IrOutputPortController(irControllerKey, null, "");
|
return new IrOutputPortController(irControllerKey, null, "");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -173,7 +174,7 @@ namespace PepperDash.Essentials.Core
|
||||||
if (control == null)
|
if (control == null)
|
||||||
{
|
{
|
||||||
var c = new IrOutputPortController(irControllerKey, null, "");
|
var c = new IrOutputPortController(irControllerKey, null, "");
|
||||||
Debug.Console(0, c, "WARNING: Device config does not include control properties. IR will not function");
|
Debug.LogMessage(LogEventLevel.Information, c, "WARNING: Device config does not include control properties. IR will not function");
|
||||||
return c;
|
return c;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -184,14 +185,14 @@ namespace PepperDash.Essentials.Core
|
||||||
if (portDevKey == null)
|
if (portDevKey == null)
|
||||||
{
|
{
|
||||||
var c = new IrOutputPortController(irControllerKey, null, "");
|
var c = new IrOutputPortController(irControllerKey, null, "");
|
||||||
Debug.Console(0, c, "WARNING: control properties is missing ir device");
|
Debug.LogMessage(LogEventLevel.Information, c, "WARNING: control properties is missing ir device");
|
||||||
return c;
|
return c;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (portNum == 0)
|
if (portNum == 0)
|
||||||
{
|
{
|
||||||
var c = new IrOutputPortController(irControllerKey, null, "");
|
var c = new IrOutputPortController(irControllerKey, null, "");
|
||||||
Debug.Console(0, c, "WARNING: control properties is missing ir port number");
|
Debug.LogMessage(LogEventLevel.Information, c, "WARNING: control properties is missing ir port number");
|
||||||
return c;
|
return c;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -204,7 +205,7 @@ namespace PepperDash.Essentials.Core
|
||||||
if (irDev == null)
|
if (irDev == null)
|
||||||
{
|
{
|
||||||
var c = new IrOutputPortController(irControllerKey, null, "");
|
var c = new IrOutputPortController(irControllerKey, null, "");
|
||||||
Debug.Console(0, c, "WARNING: device with IR ports '{0}' not found", portDevKey);
|
Debug.LogMessage(LogEventLevel.Information, c, "WARNING: device with IR ports '{0}' not found", portDevKey);
|
||||||
return c;
|
return c;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -214,7 +215,7 @@ namespace PepperDash.Essentials.Core
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
var c = new IrOutputPortController(irControllerKey, null, "");
|
var c = new IrOutputPortController(irControllerKey, null, "");
|
||||||
Debug.Console(0, c, "WARNING: device '{0}' IR port {1} out of range",
|
Debug.LogMessage(LogEventLevel.Information, c, "WARNING: device '{0}' IR port {1} out of range",
|
||||||
portDevKey, portNum);
|
portDevKey, portNum);
|
||||||
return c;
|
return c;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@ using Newtonsoft.Json;
|
||||||
using Newtonsoft.Json.Linq;
|
using Newtonsoft.Json.Linq;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Core.Config;
|
using PepperDash.Core.Config;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core.Config
|
namespace PepperDash.Essentials.Core.Config
|
||||||
{
|
{
|
||||||
|
|
@ -27,7 +28,7 @@ namespace PepperDash.Essentials.Core.Config
|
||||||
|
|
||||||
public static bool LoadConfig2()
|
public static bool LoadConfig2()
|
||||||
{
|
{
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Notice, "Loading unmerged system/template portal configuration file.");
|
Debug.LogMessage(LogEventLevel.Information, "Loading unmerged system/template portal configuration file.");
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
// Check for local config file first
|
// Check for local config file first
|
||||||
|
|
@ -35,7 +36,7 @@ namespace PepperDash.Essentials.Core.Config
|
||||||
|
|
||||||
bool localConfigFound = false;
|
bool localConfigFound = false;
|
||||||
|
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Notice, "Attempting to load Local config file: '{0}'", filePath);
|
Debug.LogMessage(LogEventLevel.Information, "Attempting to load Local config file: '{0}'", filePath);
|
||||||
|
|
||||||
// Check for local config directory first
|
// Check for local config directory first
|
||||||
|
|
||||||
|
|
@ -45,7 +46,7 @@ namespace PepperDash.Essentials.Core.Config
|
||||||
{
|
{
|
||||||
if (configFiles.Length > 1)
|
if (configFiles.Length > 1)
|
||||||
{
|
{
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Error,
|
Debug.LogMessage(LogEventLevel.Information,
|
||||||
"****Error: Multiple Local Configuration files present. Please ensure only a single file exists and reset program.****");
|
"****Error: Multiple Local Configuration files present. Please ensure only a single file exists and reset program.****");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
@ -57,7 +58,7 @@ namespace PepperDash.Essentials.Core.Config
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Notice,
|
Debug.LogMessage(LogEventLevel.Information,
|
||||||
"Local Configuration file not present.", filePath);
|
"Local Configuration file not present.", filePath);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -67,33 +68,33 @@ namespace PepperDash.Essentials.Core.Config
|
||||||
{
|
{
|
||||||
filePath = Global.FilePathPrefix + Global.ConfigFileName;
|
filePath = Global.FilePathPrefix + Global.ConfigFileName;
|
||||||
|
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Notice, "Attempting to load Portal config file: '{0}'", filePath);
|
Debug.LogMessage(LogEventLevel.Information, "Attempting to load Portal config file: '{0}'", filePath);
|
||||||
|
|
||||||
configFiles = GetConfigFiles(filePath);
|
configFiles = GetConfigFiles(filePath);
|
||||||
|
|
||||||
if (configFiles != null)
|
if (configFiles != null)
|
||||||
{
|
{
|
||||||
Debug.Console(2, "{0} config files found matching pattern", configFiles.Length);
|
Debug.LogMessage(LogEventLevel.Verbose, "{0} config files found matching pattern", configFiles.Length);
|
||||||
|
|
||||||
if (configFiles.Length > 1)
|
if (configFiles.Length > 1)
|
||||||
{
|
{
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Error,
|
Debug.LogMessage(LogEventLevel.Information,
|
||||||
"****Error: Multiple Portal Configuration files present. Please ensure only a single file exists and reset program.****");
|
"****Error: Multiple Portal Configuration files present. Please ensure only a single file exists and reset program.****");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else if (configFiles.Length == 1)
|
else if (configFiles.Length == 1)
|
||||||
{
|
{
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Notice, "Found Portal config file: '{0}'", filePath);
|
Debug.LogMessage(LogEventLevel.Information, "Found Portal config file: '{0}'", filePath);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Notice, "No config file found.");
|
Debug.LogMessage(LogEventLevel.Information, "No config file found.");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Error,
|
Debug.LogMessage(LogEventLevel.Information,
|
||||||
"ERROR: Portal Configuration file not present. Please load file and reset program.");
|
"ERROR: Portal Configuration file not present. Please load file and reset program.");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
@ -111,13 +112,13 @@ namespace PepperDash.Essentials.Core.Config
|
||||||
// Read the file
|
// Read the file
|
||||||
using (StreamReader fs = new StreamReader(filePath))
|
using (StreamReader fs = new StreamReader(filePath))
|
||||||
{
|
{
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Notice, "Loading config file: '{0}'", filePath);
|
Debug.LogMessage(LogEventLevel.Information, "Loading config file: '{0}'", filePath);
|
||||||
|
|
||||||
if (localConfigFound)
|
if (localConfigFound)
|
||||||
{
|
{
|
||||||
ConfigObject = JObject.Parse(fs.ReadToEnd()).ToObject<EssentialsConfig>();
|
ConfigObject = JObject.Parse(fs.ReadToEnd()).ToObject<EssentialsConfig>();
|
||||||
|
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Notice, "Successfully Loaded Local Config");
|
Debug.LogMessage(LogEventLevel.Information, "Successfully Loaded Local Config");
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
@ -139,14 +140,14 @@ namespace PepperDash.Essentials.Core.Config
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Notice, "Successfully Loaded Merged Config");
|
Debug.LogMessage(LogEventLevel.Information, "Successfully Loaded Merged Config");
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Error, "ERROR: Config load failed: \r{0}", e);
|
Debug.LogMessage(LogEventLevel.Information, "ERROR: Config load failed: \r{0}", e);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -163,20 +164,20 @@ namespace PepperDash.Essentials.Core.Config
|
||||||
|
|
||||||
if (Directory.Exists(dir))
|
if (Directory.Exists(dir))
|
||||||
{
|
{
|
||||||
Debug.Console(1, "Searching in Directory '{0}'", dir);
|
Debug.LogMessage(LogEventLevel.Debug, "Searching in Directory '{0}'", dir);
|
||||||
// Get the directory info
|
// Get the directory info
|
||||||
var dirInfo = new DirectoryInfo(dir);
|
var dirInfo = new DirectoryInfo(dir);
|
||||||
|
|
||||||
// Get the file name
|
// Get the file name
|
||||||
var fileName = Path.GetFileName(filePath);
|
var fileName = Path.GetFileName(filePath);
|
||||||
Debug.Console(1, "For Config Files matching: '{0}'", fileName);
|
Debug.LogMessage(LogEventLevel.Debug, "For Config Files matching: '{0}'", fileName);
|
||||||
|
|
||||||
// Get the files that match from the directory
|
// Get the files that match from the directory
|
||||||
return dirInfo.GetFiles(fileName);
|
return dirInfo.GetFiles(fileName);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Notice,
|
Debug.LogMessage(LogEventLevel.Information,
|
||||||
"Directory not found: ", dir);
|
"Directory not found: ", dir);
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
|
|
@ -248,8 +249,8 @@ namespace PepperDash.Essentials.Core.Config
|
||||||
// Line 8
|
// Line 8
|
||||||
.Append(new string('*', debugStringWidth));
|
.Append(new string('*', debugStringWidth));
|
||||||
|
|
||||||
Debug.Console(2, Debug.ErrorLogLevel.Notice, "Found Local config file: '{0}'", filePath);
|
Debug.LogMessage(LogEventLevel.Verbose, "Found Local config file: '{0}'", filePath);
|
||||||
Debug.Console(0, newDebugString.ToString());
|
Debug.LogMessage(LogEventLevel.Information, newDebugString.ToString());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,7 @@ using Crestron.SimplSharp.Net.Http;
|
||||||
using Crestron.SimplSharpPro.Diagnostics;
|
using Crestron.SimplSharpPro.Diagnostics;
|
||||||
|
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core.Config
|
namespace PepperDash.Essentials.Core.Config
|
||||||
{
|
{
|
||||||
|
|
@ -21,7 +22,7 @@ namespace PepperDash.Essentials.Core.Config
|
||||||
|
|
||||||
public static void GetConfigFromServer(string url)
|
public static void GetConfigFromServer(string url)
|
||||||
{
|
{
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Notice, "Attempting to get new config from '{0}'", url);
|
Debug.LogMessage(LogEventLevel.Information, "Attempting to get new config from '{0}'", url);
|
||||||
|
|
||||||
// HTTP GET
|
// HTTP GET
|
||||||
var req = new HttpClientRequest();
|
var req = new HttpClientRequest();
|
||||||
|
|
@ -51,17 +52,17 @@ namespace PepperDash.Essentials.Core.Config
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Error, "Config Update Process Stopped. Failed to get config file from server: {0}", r.Code);
|
Debug.LogMessage(LogEventLevel.Information, "Config Update Process Stopped. Failed to get config file from server: {0}", r.Code);
|
||||||
OnStatusUpdate(eUpdateStatus.UpdateFailed);
|
OnStatusUpdate(eUpdateStatus.UpdateFailed);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Error, "Request for config from Server Failed: {0}", e);
|
Debug.LogMessage(LogEventLevel.Information, "Request for config from Server Failed: {0}", e);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
Debug.Console(1, "Error Getting Config from Server: {0}", e);
|
Debug.LogMessage(LogEventLevel.Debug, "Error Getting Config from Server: {0}", e);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -90,7 +91,7 @@ namespace PepperDash.Essentials.Core.Config
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
Debug.Console(1, "Error parsing new config: {0}", e);
|
Debug.LogMessage(LogEventLevel.Debug, "Error parsing new config: {0}", e);
|
||||||
|
|
||||||
OnStatusUpdate(eUpdateStatus.UpdateFailed);
|
OnStatusUpdate(eUpdateStatus.UpdateFailed);
|
||||||
}
|
}
|
||||||
|
|
@ -107,7 +108,7 @@ namespace PepperDash.Essentials.Core.Config
|
||||||
|
|
||||||
if (configFiles != null)
|
if (configFiles != null)
|
||||||
{
|
{
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Notice, "Existing config files found. Moving to Archive folder.");
|
Debug.LogMessage(LogEventLevel.Information, "Existing config files found. Moving to Archive folder.");
|
||||||
|
|
||||||
OnStatusUpdate(eUpdateStatus.ArchivingConfigs);
|
OnStatusUpdate(eUpdateStatus.ArchivingConfigs);
|
||||||
|
|
||||||
|
|
@ -115,7 +116,7 @@ namespace PepperDash.Essentials.Core.Config
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Notice, "No Existing config files found in '{0}'. Nothing to archive", filePath);
|
Debug.LogMessage(LogEventLevel.Information, "No Existing config files found in '{0}'. Nothing to archive", filePath);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -140,12 +141,12 @@ namespace PepperDash.Essentials.Core.Config
|
||||||
|
|
||||||
if(archivedConfigFiles != null || archivedConfigFiles.Length > 0)
|
if(archivedConfigFiles != null || archivedConfigFiles.Length > 0)
|
||||||
{
|
{
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Notice, "{0} Existing files found in archive folder. Deleting.", archivedConfigFiles.Length);
|
Debug.LogMessage(LogEventLevel.Information, "{0} Existing files found in archive folder. Deleting.", archivedConfigFiles.Length);
|
||||||
|
|
||||||
for (int i = 0; i < archivedConfigFiles.Length; i++ )
|
for (int i = 0; i < archivedConfigFiles.Length; i++ )
|
||||||
{
|
{
|
||||||
var file = archivedConfigFiles[i];
|
var file = archivedConfigFiles[i];
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Notice, "Deleting archived file: '{0}'", file.FullName);
|
Debug.LogMessage(LogEventLevel.Information, "Deleting archived file: '{0}'", file.FullName);
|
||||||
file.Delete();
|
file.Delete();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -155,7 +156,7 @@ namespace PepperDash.Essentials.Core.Config
|
||||||
// Move any files from the program folder to the archive folder
|
// Move any files from the program folder to the archive folder
|
||||||
foreach (var file in files)
|
foreach (var file in files)
|
||||||
{
|
{
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Notice, "Moving config file '{0}' to archive folder", file.FullName);
|
Debug.LogMessage(LogEventLevel.Information, "Moving config file '{0}' to archive folder", file.FullName);
|
||||||
|
|
||||||
// Moves the file and appends the .bak extension
|
// Moves the file and appends the .bak extension
|
||||||
var fileDest = archiveDirectoryPath + "/" + file.Name + ".bak";
|
var fileDest = archiveDirectoryPath + "/" + file.Name + ".bak";
|
||||||
|
|
@ -164,7 +165,7 @@ namespace PepperDash.Essentials.Core.Config
|
||||||
file.MoveTo(fileDest);
|
file.MoveTo(fileDest);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Warning, "Cannot move file to archive folder. Existing file already exists with same name: '{0}'", fileDest);
|
Debug.LogMessage(LogEventLevel.Information, "Cannot move file to archive folder. Existing file already exists with same name: '{0}'", fileDest);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -179,7 +180,7 @@ namespace PepperDash.Essentials.Core.Config
|
||||||
{
|
{
|
||||||
OnStatusUpdate(eUpdateStatus.DeletingLocalConfig);
|
OnStatusUpdate(eUpdateStatus.DeletingLocalConfig);
|
||||||
Directory.Delete(folderPath);
|
Directory.Delete(folderPath);
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Notice, "Local Config Found in '{0}'. Deleting.", folderPath);
|
Debug.LogMessage(LogEventLevel.Information, "Local Config Found in '{0}'. Deleting.", folderPath);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -188,7 +189,7 @@ namespace PepperDash.Essentials.Core.Config
|
||||||
/// </summary>
|
/// </summary>
|
||||||
static void RestartProgram()
|
static void RestartProgram()
|
||||||
{
|
{
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Notice, "Attempting to Reset Program");
|
Debug.LogMessage(LogEventLevel.Information, "Attempting to Reset Program");
|
||||||
|
|
||||||
OnStatusUpdate(eUpdateStatus.RestartingProgram);
|
OnStatusUpdate(eUpdateStatus.RestartingProgram);
|
||||||
|
|
||||||
|
|
@ -196,7 +197,7 @@ namespace PepperDash.Essentials.Core.Config
|
||||||
|
|
||||||
CrestronConsole.SendControlSystemCommand(string.Format("progreset -p:{0}", InitialParametersClass.ApplicationNumber), ref response);
|
CrestronConsole.SendControlSystemCommand(string.Format("progreset -p:{0}", InitialParametersClass.ApplicationNumber), ref response);
|
||||||
|
|
||||||
Debug.Console(1, "Console Response: {0}", response);
|
Debug.LogMessage(LogEventLevel.Debug, "Console Response: {0}", response);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@ using Crestron.SimplSharp.CrestronIO;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
using Newtonsoft.Json.Linq;
|
using Newtonsoft.Json.Linq;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core.Config
|
namespace PepperDash.Essentials.Core.Config
|
||||||
{
|
{
|
||||||
|
|
@ -42,7 +43,7 @@ namespace PepperDash.Essentials.Core.Config
|
||||||
// Replace the current properties JToken with the new one passed into this method
|
// Replace the current properties JToken with the new one passed into this method
|
||||||
deviceConfig.Properties = properties;
|
deviceConfig.Properties = properties;
|
||||||
|
|
||||||
Debug.Console(1, "Updated properties of device: '{0}'", deviceKey);
|
Debug.LogMessage(LogEventLevel.Debug, "Updated properties of device: '{0}'", deviceKey);
|
||||||
|
|
||||||
success = true;
|
success = true;
|
||||||
}
|
}
|
||||||
|
|
@ -62,7 +63,7 @@ namespace PepperDash.Essentials.Core.Config
|
||||||
{
|
{
|
||||||
ConfigReader.ConfigObject.Devices[deviceConfigIndex] = config;
|
ConfigReader.ConfigObject.Devices[deviceConfigIndex] = config;
|
||||||
|
|
||||||
Debug.Console(1, "Updated config of device: '{0}'", config.Key);
|
Debug.LogMessage(LogEventLevel.Debug, "Updated config of device: '{0}'", config.Key);
|
||||||
|
|
||||||
success = true;
|
success = true;
|
||||||
}
|
}
|
||||||
|
|
@ -82,7 +83,7 @@ namespace PepperDash.Essentials.Core.Config
|
||||||
{
|
{
|
||||||
ConfigReader.ConfigObject.Rooms[roomConfigIndex] = config;
|
ConfigReader.ConfigObject.Rooms[roomConfigIndex] = config;
|
||||||
|
|
||||||
Debug.Console(1, "Updated room of device: '{0}'", config.Key);
|
Debug.LogMessage(LogEventLevel.Debug, "Updated room of device: '{0}'", config.Key);
|
||||||
|
|
||||||
success = true;
|
success = true;
|
||||||
}
|
}
|
||||||
|
|
@ -102,7 +103,7 @@ namespace PepperDash.Essentials.Core.Config
|
||||||
|
|
||||||
WriteTimer.Reset(WriteTimeout);
|
WriteTimer.Reset(WriteTimeout);
|
||||||
|
|
||||||
Debug.Console(1, "Config File write timer has been reset.");
|
Debug.LogMessage(LogEventLevel.Debug, "Config File write timer has been reset.");
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
@ -128,9 +129,9 @@ namespace PepperDash.Essentials.Core.Config
|
||||||
if (WriteTimer != null)
|
if (WriteTimer != null)
|
||||||
WriteTimer.Stop();
|
WriteTimer.Stop();
|
||||||
|
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Notice, "Writing Configuration to file");
|
Debug.LogMessage(LogEventLevel.Information, "Writing Configuration to file");
|
||||||
|
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Notice, "Attempting to write config file: '{0}'", filePath);
|
Debug.LogMessage(LogEventLevel.Information, "Attempting to write config file: '{0}'", filePath);
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
|
@ -144,12 +145,12 @@ namespace PepperDash.Essentials.Core.Config
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Error, "Unable to enter FileLock");
|
Debug.LogMessage(LogEventLevel.Information, "Unable to enter FileLock");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Error, "Error: Config write failed: \r{0}", e);
|
Debug.LogMessage(LogEventLevel.Information, "Error: Config write failed: \r{0}", e);
|
||||||
}
|
}
|
||||||
finally
|
finally
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ using Crestron.SimplSharpPro.DeviceSupport;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Core.JsonStandardObjects;
|
using PepperDash.Core.JsonStandardObjects;
|
||||||
using PepperDash.Essentials.Core.Bridges;
|
using PepperDash.Essentials.Core.Bridges;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core
|
namespace PepperDash.Essentials.Core
|
||||||
{
|
{
|
||||||
|
|
@ -65,17 +66,17 @@ namespace PepperDash.Essentials.Core
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public override bool CustomActivate()
|
public override bool CustomActivate()
|
||||||
{
|
{
|
||||||
Debug.Console(0, this, "Activating");
|
Debug.LogMessage(LogEventLevel.Information, this, "Activating");
|
||||||
if (!PreventRegistration)
|
if (!PreventRegistration)
|
||||||
{
|
{
|
||||||
//Debug.Console(1, this, " Does not require registration. Skipping");
|
//Debug.LogMessage(LogEventLevel.Debug, this, " Does not require registration. Skipping");
|
||||||
|
|
||||||
if (Hardware.Registerable && !Hardware.Registered)
|
if (Hardware.Registerable && !Hardware.Registered)
|
||||||
{
|
{
|
||||||
var response = Hardware.RegisterWithLogging(Key);
|
var response = Hardware.RegisterWithLogging(Key);
|
||||||
if (response != eDeviceRegistrationUnRegistrationResponse.Success)
|
if (response != eDeviceRegistrationUnRegistrationResponse.Success)
|
||||||
{
|
{
|
||||||
//Debug.Console(0, this, "ERROR: Cannot register Crestron device: {0}", response);
|
//Debug.LogMessage(LogEventLevel.Information, this, "ERROR: Cannot register Crestron device: {0}", response);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -141,7 +142,7 @@ namespace PepperDash.Essentials.Core
|
||||||
|
|
||||||
void Hardware_OnlineStatusChange(GenericBase currentDevice, OnlineOfflineEventArgs args)
|
void Hardware_OnlineStatusChange(GenericBase currentDevice, OnlineOfflineEventArgs args)
|
||||||
{
|
{
|
||||||
Debug.Console(2, this, "OnlineStatusChange Event. Online = {0}", args.DeviceOnLine);
|
Debug.LogMessage(LogEventLevel.Verbose, this, "OnlineStatusChange Event. Online = {0}", args.DeviceOnLine);
|
||||||
|
|
||||||
if (!Hardware.Registered)
|
if (!Hardware.Registered)
|
||||||
{
|
{
|
||||||
|
|
@ -198,12 +199,11 @@ namespace PepperDash.Essentials.Core
|
||||||
public static eDeviceRegistrationUnRegistrationResponse RegisterWithLogging(this GenericBase device, string key)
|
public static eDeviceRegistrationUnRegistrationResponse RegisterWithLogging(this GenericBase device, string key)
|
||||||
{
|
{
|
||||||
var result = device.Register();
|
var result = device.Register();
|
||||||
var level = result == eDeviceRegistrationUnRegistrationResponse.Success ?
|
|
||||||
Debug.ErrorLogLevel.Notice : Debug.ErrorLogLevel.Error;
|
Debug.LogMessage(LogEventLevel.Information, "Register device result: '{0}', type '{1}', result {2}", key, device, result);
|
||||||
Debug.Console(0, level, "Register device result: '{0}', type '{1}', result {2}", key, device, result);
|
|
||||||
//if (result != eDeviceRegistrationUnRegistrationResponse.Success)
|
//if (result != eDeviceRegistrationUnRegistrationResponse.Success)
|
||||||
//{
|
//{
|
||||||
// Debug.Console(0, Debug.ErrorLogLevel.Error, "Cannot register device '{0}': {1}", key, result);
|
// Debug.LogMessage(LogEventLevel.Information, "Cannot register device '{0}': {1}", key, result);
|
||||||
//}
|
//}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -38,16 +38,16 @@ namespace PepperDash.Essentials.Core
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public override bool CustomActivate()
|
public override bool CustomActivate()
|
||||||
{
|
{
|
||||||
Debug.Console(0, this, "Activating");
|
Debug.LogMessage(LogEventLevel.Information, this, "Activating");
|
||||||
var response = Hardware.RegisterWithLogging(Key);
|
var response = Hardware.RegisterWithLogging(Key);
|
||||||
if (response != eDeviceRegistrationUnRegistrationResponse.Success)
|
if (response != eDeviceRegistrationUnRegistrationResponse.Success)
|
||||||
{
|
{
|
||||||
<<<<<<< HEAD
|
<<<<<<< HEAD
|
||||||
Debug.Console(0, this, "ERROR: Cannot register Crestron device: {0}", response);
|
Debug.LogMessage(LogEventLevel.Information, this, "ERROR: Cannot register Crestron device: {0}", response);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
=======
|
=======
|
||||||
Debug.Console(0, this, "ERROR: Cannot register Crestron device: {0}", response);
|
Debug.LogMessage(LogEventLevel.Information, this, "ERROR: Cannot register Crestron device: {0}", response);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
>>>>>>> origin/feature/ecs-342-neil
|
>>>>>>> origin/feature/ecs-342-neil
|
||||||
|
|
@ -119,7 +119,7 @@ namespace PepperDash.Essentials.Core
|
||||||
var result = device.Register();
|
var result = device.Register();
|
||||||
if (result != eDeviceRegistrationUnRegistrationResponse.Success)
|
if (result != eDeviceRegistrationUnRegistrationResponse.Success)
|
||||||
{
|
{
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Error, "Cannot register device '{0}': {1}", key, result);
|
Debug.LogMessage(LogEventLevel.Information, "Cannot register device '{0}': {1}", key, result);
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,7 @@ using Newtonsoft.Json;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core.Bridges;
|
using PepperDash.Essentials.Core.Bridges;
|
||||||
using PepperDash.Essentials.Core.Config;
|
using PepperDash.Essentials.Core.Config;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core.CrestronIO
|
namespace PepperDash.Essentials.Core.CrestronIO
|
||||||
|
|
@ -67,7 +68,7 @@ namespace PepperDash.Essentials.Core.CrestronIO
|
||||||
{
|
{
|
||||||
if (!Global.ControlSystem.SupportsDigitalInput)
|
if (!Global.ControlSystem.SupportsDigitalInput)
|
||||||
{
|
{
|
||||||
Debug.Console(0, "GetDigitalInput: Processor does not support Digital Inputs");
|
Debug.LogMessage(LogEventLevel.Information, "GetDigitalInput: Processor does not support Digital Inputs");
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
ioPortDevice = Global.ControlSystem;
|
ioPortDevice = Global.ControlSystem;
|
||||||
|
|
@ -77,20 +78,20 @@ namespace PepperDash.Essentials.Core.CrestronIO
|
||||||
var ioPortDev = DeviceManager.GetDeviceForKey(dc.PortDeviceKey) as IDigitalInputPorts;
|
var ioPortDev = DeviceManager.GetDeviceForKey(dc.PortDeviceKey) as IDigitalInputPorts;
|
||||||
if (ioPortDev == null)
|
if (ioPortDev == null)
|
||||||
{
|
{
|
||||||
Debug.Console(0, "GetDigitalInput: Device {0} is not a valid device", dc.PortDeviceKey);
|
Debug.LogMessage(LogEventLevel.Information, "GetDigitalInput: Device {0} is not a valid device", dc.PortDeviceKey);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
ioPortDevice = ioPortDev;
|
ioPortDevice = ioPortDev;
|
||||||
}
|
}
|
||||||
if (ioPortDevice == null)
|
if (ioPortDevice == null)
|
||||||
{
|
{
|
||||||
Debug.Console(0, "GetDigitalInput: Device '0' is not a valid IDigitalInputPorts Device", dc.PortDeviceKey);
|
Debug.LogMessage(LogEventLevel.Information, "GetDigitalInput: Device '0' is not a valid IDigitalInputPorts Device", dc.PortDeviceKey);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (dc.PortNumber > ioPortDevice.NumberOfDigitalInputPorts)
|
if (dc.PortNumber > ioPortDevice.NumberOfDigitalInputPorts)
|
||||||
{
|
{
|
||||||
Debug.Console(0, "GetDigitalInput: Device {0} does not contain a port {1}", dc.PortDeviceKey, dc.PortNumber);
|
Debug.LogMessage(LogEventLevel.Information, "GetDigitalInput: Device {0} does not contain a port {1}", dc.PortDeviceKey, dc.PortNumber);
|
||||||
}
|
}
|
||||||
|
|
||||||
return ioPortDevice.DigitalInputPorts[dc.PortNumber];
|
return ioPortDevice.DigitalInputPorts[dc.PortNumber];
|
||||||
|
|
@ -117,20 +118,20 @@ namespace PepperDash.Essentials.Core.CrestronIO
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Debug.Console(0, this, "Please update config to use 'eiscapiadvanced' to get all join map features for this device.");
|
Debug.LogMessage(LogEventLevel.Information, this, "Please update config to use 'eiscapiadvanced' to get all join map features for this device.");
|
||||||
}
|
}
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "Linking to Trilist '{0}'", trilist.ID.ToString("X"));
|
Debug.LogMessage(LogEventLevel.Debug, this, "Linking to Trilist '{0}'", trilist.ID.ToString("X"));
|
||||||
|
|
||||||
// Link feedback for input state
|
// Link feedback for input state
|
||||||
InputStateFeedback.LinkInputSig(trilist.BooleanInput[joinMap.InputState.JoinNumber]);
|
InputStateFeedback.LinkInputSig(trilist.BooleanInput[joinMap.InputState.JoinNumber]);
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "Unable to link device '{0}'. Input is null", Key);
|
Debug.LogMessage(LogEventLevel.Debug, this, "Unable to link device '{0}'. Input is null", Key);
|
||||||
Debug.Console(1, this, "Error: {0}", e);
|
Debug.LogMessage(LogEventLevel.Debug, this, "Error: {0}", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -147,7 +148,7 @@ namespace PepperDash.Essentials.Core.CrestronIO
|
||||||
|
|
||||||
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
||||||
{
|
{
|
||||||
Debug.Console(1, "Factory Attempting to create new Generic Digital Input Device");
|
Debug.LogMessage(LogEventLevel.Debug, "Factory Attempting to create new Generic Digital Input Device");
|
||||||
|
|
||||||
var props = JsonConvert.DeserializeObject<IOPortConfig>(dc.Properties.ToString());
|
var props = JsonConvert.DeserializeObject<IOPortConfig>(dc.Properties.ToString());
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,7 @@ using Newtonsoft.Json;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core.Bridges;
|
using PepperDash.Essentials.Core.Bridges;
|
||||||
using PepperDash.Essentials.Core.Config;
|
using PepperDash.Essentials.Core.Config;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core.CrestronIO
|
namespace PepperDash.Essentials.Core.CrestronIO
|
||||||
{
|
{
|
||||||
|
|
@ -48,7 +49,7 @@ namespace PepperDash.Essentials.Core.CrestronIO
|
||||||
|
|
||||||
if (RelayOutput == null)
|
if (RelayOutput == null)
|
||||||
{
|
{
|
||||||
Debug.Console(0, this, Debug.ErrorLogLevel.Error, "Unable to get parent relay device for device key {0} and port {1}", config.PortDeviceKey, config.PortNumber);
|
Debug.LogMessage(LogEventLevel.Information, this, "Unable to get parent relay device for device key {0} and port {1}", config.PortDeviceKey, config.PortNumber);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -69,7 +70,7 @@ namespace PepperDash.Essentials.Core.CrestronIO
|
||||||
{
|
{
|
||||||
if (!Global.ControlSystem.SupportsRelay)
|
if (!Global.ControlSystem.SupportsRelay)
|
||||||
{
|
{
|
||||||
Debug.Console(0, "Processor does not support relays");
|
Debug.LogMessage(LogEventLevel.Information, "Processor does not support relays");
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
relayDevice = Global.ControlSystem;
|
relayDevice = Global.ControlSystem;
|
||||||
|
|
@ -80,7 +81,7 @@ namespace PepperDash.Essentials.Core.CrestronIO
|
||||||
var essentialsDevice = DeviceManager.GetDeviceForKey(dc.PortDeviceKey);
|
var essentialsDevice = DeviceManager.GetDeviceForKey(dc.PortDeviceKey);
|
||||||
if (essentialsDevice == null)
|
if (essentialsDevice == null)
|
||||||
{
|
{
|
||||||
Debug.Console(0, "Device {0} was not found in Device Manager. Check configuration or for errors with device.", dc.PortDeviceKey);
|
Debug.LogMessage(LogEventLevel.Information, "Device {0} was not found in Device Manager. Check configuration or for errors with device.", dc.PortDeviceKey);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -88,7 +89,7 @@ namespace PepperDash.Essentials.Core.CrestronIO
|
||||||
|
|
||||||
if (relayDevice == null)
|
if (relayDevice == null)
|
||||||
{
|
{
|
||||||
Debug.Console(0, "Device {0} is not a valid relay parent. Please check configuration.", dc.PortDeviceKey);
|
Debug.LogMessage(LogEventLevel.Information, "Device {0} is not a valid relay parent. Please check configuration.", dc.PortDeviceKey);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -97,7 +98,7 @@ namespace PepperDash.Essentials.Core.CrestronIO
|
||||||
return relayDevice.RelayPorts[dc.PortNumber];
|
return relayDevice.RelayPorts[dc.PortNumber];
|
||||||
}
|
}
|
||||||
|
|
||||||
Debug.Console(0, "Device {0} does not contain a port {1}", dc.PortDeviceKey, dc.PortNumber);
|
Debug.LogMessage(LogEventLevel.Information, "Device {0} does not contain a port {1}", dc.PortDeviceKey, dc.PortNumber);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -165,16 +166,16 @@ namespace PepperDash.Essentials.Core.CrestronIO
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Debug.Console(0, this, "Please update config to use 'eiscapiadvanced' to get all join map features for this device.");
|
Debug.LogMessage(LogEventLevel.Information, this, "Please update config to use 'eiscapiadvanced' to get all join map features for this device.");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (RelayOutput == null)
|
if (RelayOutput == null)
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "Unable to link device '{0}'. Relay is null", Key);
|
Debug.LogMessage(LogEventLevel.Debug, this, "Unable to link device '{0}'. Relay is null", Key);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Debug.Console(1, this, "Linking to Trilist '{0}'", trilist.ID.ToString("X"));
|
Debug.LogMessage(LogEventLevel.Debug, this, "Linking to Trilist '{0}'", trilist.ID.ToString("X"));
|
||||||
|
|
||||||
trilist.SetBoolSigAction(joinMap.Relay.JoinNumber, b =>
|
trilist.SetBoolSigAction(joinMap.Relay.JoinNumber, b =>
|
||||||
{
|
{
|
||||||
|
|
@ -202,7 +203,7 @@ namespace PepperDash.Essentials.Core.CrestronIO
|
||||||
|
|
||||||
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
||||||
{
|
{
|
||||||
Debug.Console(1, "Factory Attempting to create new Generic Relay Device");
|
Debug.LogMessage(LogEventLevel.Debug, "Factory Attempting to create new Generic Relay Device");
|
||||||
|
|
||||||
var props = JsonConvert.DeserializeObject<IOPortConfig>(dc.Properties.ToString());
|
var props = JsonConvert.DeserializeObject<IOPortConfig>(dc.Properties.ToString());
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,7 @@ using PepperDash.Essentials.Core.Bridges;
|
||||||
|
|
||||||
|
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core.CrestronIO
|
namespace PepperDash.Essentials.Core.CrestronIO
|
||||||
{
|
{
|
||||||
|
|
@ -59,7 +60,7 @@ namespace PepperDash.Essentials.Core.CrestronIO
|
||||||
|
|
||||||
InputPort.VersiportChange += InputPort_VersiportChange;
|
InputPort.VersiportChange += InputPort_VersiportChange;
|
||||||
|
|
||||||
Debug.Console(1, this, "Created GenericVersiportAnalogInputDevice on port '{0}'. DisablePullUpResistor: '{1}'", config.PortNumber, InputPort.DisablePullUpResistor);
|
Debug.LogMessage(LogEventLevel.Debug, this, "Created GenericVersiportAnalogInputDevice on port '{0}'. DisablePullUpResistor: '{1}'", config.PortNumber, InputPort.DisablePullUpResistor);
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -76,7 +77,7 @@ namespace PepperDash.Essentials.Core.CrestronIO
|
||||||
|
|
||||||
void InputPort_VersiportChange(Versiport port, VersiportEventArgs args)
|
void InputPort_VersiportChange(Versiport port, VersiportEventArgs args)
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "Versiport change: {0}", args.Event);
|
Debug.LogMessage(LogEventLevel.Debug, this, "Versiport change: {0}", args.Event);
|
||||||
|
|
||||||
if(args.Event == eVersiportEvent.AnalogInChange)
|
if(args.Event == eVersiportEvent.AnalogInChange)
|
||||||
InputValueFeedback.FireUpdate();
|
InputValueFeedback.FireUpdate();
|
||||||
|
|
@ -102,12 +103,12 @@ namespace PepperDash.Essentials.Core.CrestronIO
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Debug.Console(0, this, "Please update config to use 'eiscapiadvanced' to get all join map features for this device.");
|
Debug.LogMessage(LogEventLevel.Information, this, "Please update config to use 'eiscapiadvanced' to get all join map features for this device.");
|
||||||
}
|
}
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "Linking to Trilist '{0}'", trilist.ID.ToString("X"));
|
Debug.LogMessage(LogEventLevel.Debug, this, "Linking to Trilist '{0}'", trilist.ID.ToString("X"));
|
||||||
|
|
||||||
// Link feedback for input state
|
// Link feedback for input state
|
||||||
InputValueFeedback.LinkInputSig(trilist.UShortInput[joinMap.InputValue.JoinNumber]);
|
InputValueFeedback.LinkInputSig(trilist.UShortInput[joinMap.InputValue.JoinNumber]);
|
||||||
|
|
@ -117,8 +118,8 @@ namespace PepperDash.Essentials.Core.CrestronIO
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "Unable to link device '{0}'. Input is null", Key);
|
Debug.LogMessage(LogEventLevel.Debug, this, "Unable to link device '{0}'. Input is null", Key);
|
||||||
Debug.Console(1, this, "Error: {0}", e);
|
Debug.LogMessage(LogEventLevel.Debug, this, "Error: {0}", e);
|
||||||
}
|
}
|
||||||
|
|
||||||
trilist.OnlineStatusChange += (d, args) =>
|
trilist.OnlineStatusChange += (d, args) =>
|
||||||
|
|
@ -147,7 +148,7 @@ namespace PepperDash.Essentials.Core.CrestronIO
|
||||||
{
|
{
|
||||||
if (!Global.ControlSystem.SupportsVersiport)
|
if (!Global.ControlSystem.SupportsVersiport)
|
||||||
{
|
{
|
||||||
Debug.Console(0, "GetVersiportAnalogInput: Processor does not support Versiports");
|
Debug.LogMessage(LogEventLevel.Information, "GetVersiportAnalogInput: Processor does not support Versiports");
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
ioPortDevice = Global.ControlSystem;
|
ioPortDevice = Global.ControlSystem;
|
||||||
|
|
@ -157,25 +158,25 @@ namespace PepperDash.Essentials.Core.CrestronIO
|
||||||
var ioPortDev = DeviceManager.GetDeviceForKey(dc.PortDeviceKey) as IIOPorts;
|
var ioPortDev = DeviceManager.GetDeviceForKey(dc.PortDeviceKey) as IIOPorts;
|
||||||
if (ioPortDev == null)
|
if (ioPortDev == null)
|
||||||
{
|
{
|
||||||
Debug.Console(0, "GetVersiportAnalogInput: Device {0} is not a valid device", dc.PortDeviceKey);
|
Debug.LogMessage(LogEventLevel.Information, "GetVersiportAnalogInput: Device {0} is not a valid device", dc.PortDeviceKey);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
ioPortDevice = ioPortDev;
|
ioPortDevice = ioPortDev;
|
||||||
}
|
}
|
||||||
if (ioPortDevice == null)
|
if (ioPortDevice == null)
|
||||||
{
|
{
|
||||||
Debug.Console(0, "GetVersiportAnalogInput: Device '0' is not a valid IIOPorts Device", dc.PortDeviceKey);
|
Debug.LogMessage(LogEventLevel.Information, "GetVersiportAnalogInput: Device '0' is not a valid IIOPorts Device", dc.PortDeviceKey);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (dc.PortNumber > ioPortDevice.NumberOfVersiPorts)
|
if (dc.PortNumber > ioPortDevice.NumberOfVersiPorts)
|
||||||
{
|
{
|
||||||
Debug.Console(0, "GetVersiportAnalogInput: Device {0} does not contain a port {1}", dc.PortDeviceKey, dc.PortNumber);
|
Debug.LogMessage(LogEventLevel.Information, "GetVersiportAnalogInput: Device {0} does not contain a port {1}", dc.PortDeviceKey, dc.PortNumber);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
if(!ioPortDevice.VersiPorts[dc.PortNumber].SupportsAnalogInput)
|
if(!ioPortDevice.VersiPorts[dc.PortNumber].SupportsAnalogInput)
|
||||||
{
|
{
|
||||||
Debug.Console(0, "GetVersiportAnalogInput: Device {0} does not support AnalogInput on port {1}", dc.PortDeviceKey, dc.PortNumber);
|
Debug.LogMessage(LogEventLevel.Information, "GetVersiportAnalogInput: Device {0} does not support AnalogInput on port {1}", dc.PortDeviceKey, dc.PortNumber);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -196,7 +197,7 @@ namespace PepperDash.Essentials.Core.CrestronIO
|
||||||
|
|
||||||
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
||||||
{
|
{
|
||||||
Debug.Console(1, "Factory Attempting to create new Generic Versiport Device");
|
Debug.LogMessage(LogEventLevel.Debug, "Factory Attempting to create new Generic Versiport Device");
|
||||||
|
|
||||||
var props = JsonConvert.DeserializeObject<IOPortConfig>(dc.Properties.ToString());
|
var props = JsonConvert.DeserializeObject<IOPortConfig>(dc.Properties.ToString());
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,7 @@ using PepperDash.Essentials.Core.Bridges;
|
||||||
|
|
||||||
|
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core.CrestronIO
|
namespace PepperDash.Essentials.Core.CrestronIO
|
||||||
{
|
{
|
||||||
|
|
@ -53,7 +54,7 @@ namespace PepperDash.Essentials.Core.CrestronIO
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Debug.Console(1, this, "Created GenericVersiportDigitalInputDevice on port '{0}'. DisablePullUpResistor: '{1}'", config.PortNumber, InputPort.DisablePullUpResistor);
|
Debug.LogMessage(LogEventLevel.Debug, this, "Created GenericVersiportDigitalInputDevice on port '{0}'. DisablePullUpResistor: '{1}'", config.PortNumber, InputPort.DisablePullUpResistor);
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -61,7 +62,7 @@ namespace PepperDash.Essentials.Core.CrestronIO
|
||||||
|
|
||||||
void InputPort_VersiportChange(Versiport port, VersiportEventArgs args)
|
void InputPort_VersiportChange(Versiport port, VersiportEventArgs args)
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "Versiport change: {0}", args.Event);
|
Debug.LogMessage(LogEventLevel.Debug, this, "Versiport change: {0}", args.Event);
|
||||||
|
|
||||||
if(args.Event == eVersiportEvent.DigitalInChange)
|
if(args.Event == eVersiportEvent.DigitalInChange)
|
||||||
InputStateFeedback.FireUpdate();
|
InputStateFeedback.FireUpdate();
|
||||||
|
|
@ -85,20 +86,20 @@ namespace PepperDash.Essentials.Core.CrestronIO
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Debug.Console(0, this, "Please update config to use 'eiscapiadvanced' to get all join map features for this device.");
|
Debug.LogMessage(LogEventLevel.Information, this, "Please update config to use 'eiscapiadvanced' to get all join map features for this device.");
|
||||||
}
|
}
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "Linking to Trilist '{0}'", trilist.ID.ToString("X"));
|
Debug.LogMessage(LogEventLevel.Debug, this, "Linking to Trilist '{0}'", trilist.ID.ToString("X"));
|
||||||
|
|
||||||
// Link feedback for input state
|
// Link feedback for input state
|
||||||
InputStateFeedback.LinkInputSig(trilist.BooleanInput[joinMap.InputState.JoinNumber]);
|
InputStateFeedback.LinkInputSig(trilist.BooleanInput[joinMap.InputState.JoinNumber]);
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "Unable to link device '{0}'. Input is null", Key);
|
Debug.LogMessage(LogEventLevel.Debug, this, "Unable to link device '{0}'. Input is null", Key);
|
||||||
Debug.Console(1, this, "Error: {0}", e);
|
Debug.LogMessage(LogEventLevel.Debug, this, "Error: {0}", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -114,7 +115,7 @@ namespace PepperDash.Essentials.Core.CrestronIO
|
||||||
{
|
{
|
||||||
if (!Global.ControlSystem.SupportsVersiport)
|
if (!Global.ControlSystem.SupportsVersiport)
|
||||||
{
|
{
|
||||||
Debug.Console(0, "GetVersiportDigitalInput: Processor does not support Versiports");
|
Debug.LogMessage(LogEventLevel.Information, "GetVersiportDigitalInput: Processor does not support Versiports");
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
ioPortDevice = Global.ControlSystem;
|
ioPortDevice = Global.ControlSystem;
|
||||||
|
|
@ -124,20 +125,20 @@ namespace PepperDash.Essentials.Core.CrestronIO
|
||||||
var ioPortDev = DeviceManager.GetDeviceForKey(dc.PortDeviceKey) as IIOPorts;
|
var ioPortDev = DeviceManager.GetDeviceForKey(dc.PortDeviceKey) as IIOPorts;
|
||||||
if (ioPortDev == null)
|
if (ioPortDev == null)
|
||||||
{
|
{
|
||||||
Debug.Console(0, "GetVersiportDigitalInput: Device {0} is not a valid device", dc.PortDeviceKey);
|
Debug.LogMessage(LogEventLevel.Information, "GetVersiportDigitalInput: Device {0} is not a valid device", dc.PortDeviceKey);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
ioPortDevice = ioPortDev;
|
ioPortDevice = ioPortDev;
|
||||||
}
|
}
|
||||||
if (ioPortDevice == null)
|
if (ioPortDevice == null)
|
||||||
{
|
{
|
||||||
Debug.Console(0, "GetVersiportDigitalInput: Device '0' is not a valid IIOPorts Device", dc.PortDeviceKey);
|
Debug.LogMessage(LogEventLevel.Information, "GetVersiportDigitalInput: Device '0' is not a valid IIOPorts Device", dc.PortDeviceKey);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (dc.PortNumber > ioPortDevice.NumberOfVersiPorts)
|
if (dc.PortNumber > ioPortDevice.NumberOfVersiPorts)
|
||||||
{
|
{
|
||||||
Debug.Console(0, "GetVersiportDigitalInput: Device {0} does not contain a port {1}", dc.PortDeviceKey, dc.PortNumber);
|
Debug.LogMessage(LogEventLevel.Information, "GetVersiportDigitalInput: Device {0} does not contain a port {1}", dc.PortDeviceKey, dc.PortNumber);
|
||||||
}
|
}
|
||||||
|
|
||||||
return ioPortDevice.VersiPorts[dc.PortNumber];
|
return ioPortDevice.VersiPorts[dc.PortNumber];
|
||||||
|
|
@ -156,7 +157,7 @@ namespace PepperDash.Essentials.Core.CrestronIO
|
||||||
|
|
||||||
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
||||||
{
|
{
|
||||||
Debug.Console(1, "Factory Attempting to create new Generic Versiport Device");
|
Debug.LogMessage(LogEventLevel.Debug, "Factory Attempting to create new Generic Versiport Device");
|
||||||
|
|
||||||
var props = JsonConvert.DeserializeObject<IOPortConfig>(dc.Properties.ToString());
|
var props = JsonConvert.DeserializeObject<IOPortConfig>(dc.Properties.ToString());
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,7 @@ using PepperDash.Essentials.Core.Bridges;
|
||||||
|
|
||||||
|
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core.CrestronIO
|
namespace PepperDash.Essentials.Core.CrestronIO
|
||||||
{
|
{
|
||||||
|
|
@ -48,7 +49,7 @@ namespace PepperDash.Essentials.Core.CrestronIO
|
||||||
|
|
||||||
if (!OutputPort.SupportsDigitalOutput)
|
if (!OutputPort.SupportsDigitalOutput)
|
||||||
{
|
{
|
||||||
Debug.Console(0, this, "Device does not support configuration as a Digital Output");
|
Debug.LogMessage(LogEventLevel.Information, this, "Device does not support configuration as a Digital Output");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -63,7 +64,7 @@ namespace PepperDash.Essentials.Core.CrestronIO
|
||||||
|
|
||||||
void OutputPort_VersiportChange(Versiport port, VersiportEventArgs args)
|
void OutputPort_VersiportChange(Versiport port, VersiportEventArgs args)
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "Versiport change: {0}", args.Event);
|
Debug.LogMessage(LogEventLevel.Debug, this, "Versiport change: {0}", args.Event);
|
||||||
|
|
||||||
if(args.Event == eVersiportEvent.DigitalOutChange)
|
if(args.Event == eVersiportEvent.DigitalOutChange)
|
||||||
OutputStateFeedback.FireUpdate();
|
OutputStateFeedback.FireUpdate();
|
||||||
|
|
@ -77,14 +78,14 @@ namespace PepperDash.Essentials.Core.CrestronIO
|
||||||
{
|
{
|
||||||
if (OutputPort.SupportsDigitalOutput)
|
if (OutputPort.SupportsDigitalOutput)
|
||||||
{
|
{
|
||||||
Debug.Console(0, this, "Passed the Check");
|
Debug.LogMessage(LogEventLevel.Information, this, "Passed the Check");
|
||||||
|
|
||||||
OutputPort.DigitalOut = state;
|
OutputPort.DigitalOut = state;
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Debug.Console(0, this, "Versiport does not support Digital Output Mode");
|
Debug.LogMessage(LogEventLevel.Information, this, "Versiport does not support Digital Output Mode");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -106,12 +107,12 @@ namespace PepperDash.Essentials.Core.CrestronIO
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Debug.Console(0, this, "Please update config to use 'eiscapiadvanced' to get all join map features for this device.");
|
Debug.LogMessage(LogEventLevel.Information, this, "Please update config to use 'eiscapiadvanced' to get all join map features for this device.");
|
||||||
}
|
}
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "Linking to Trilist '{0}'", trilist.ID.ToString("X"));
|
Debug.LogMessage(LogEventLevel.Debug, this, "Linking to Trilist '{0}'", trilist.ID.ToString("X"));
|
||||||
|
|
||||||
// Link feedback for input state
|
// Link feedback for input state
|
||||||
OutputStateFeedback.LinkInputSig(trilist.BooleanInput[joinMap.OutputState.JoinNumber]);
|
OutputStateFeedback.LinkInputSig(trilist.BooleanInput[joinMap.OutputState.JoinNumber]);
|
||||||
|
|
@ -119,8 +120,8 @@ namespace PepperDash.Essentials.Core.CrestronIO
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "Unable to link device '{0}'. Input is null", Key);
|
Debug.LogMessage(LogEventLevel.Debug, this, "Unable to link device '{0}'. Input is null", Key);
|
||||||
Debug.Console(1, this, "Error: {0}", e);
|
Debug.LogMessage(LogEventLevel.Debug, this, "Error: {0}", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -136,7 +137,7 @@ namespace PepperDash.Essentials.Core.CrestronIO
|
||||||
{
|
{
|
||||||
if (!Global.ControlSystem.SupportsVersiport)
|
if (!Global.ControlSystem.SupportsVersiport)
|
||||||
{
|
{
|
||||||
Debug.Console(0, "GetVersiportDigitalOuptut: Processor does not support Versiports");
|
Debug.LogMessage(LogEventLevel.Information, "GetVersiportDigitalOuptut: Processor does not support Versiports");
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
ioPortDevice = Global.ControlSystem;
|
ioPortDevice = Global.ControlSystem;
|
||||||
|
|
@ -146,20 +147,20 @@ namespace PepperDash.Essentials.Core.CrestronIO
|
||||||
var ioPortDev = DeviceManager.GetDeviceForKey(dc.PortDeviceKey) as IIOPorts;
|
var ioPortDev = DeviceManager.GetDeviceForKey(dc.PortDeviceKey) as IIOPorts;
|
||||||
if (ioPortDev == null)
|
if (ioPortDev == null)
|
||||||
{
|
{
|
||||||
Debug.Console(0, "GetVersiportDigitalOuptut: Device {0} is not a valid device", dc.PortDeviceKey);
|
Debug.LogMessage(LogEventLevel.Information, "GetVersiportDigitalOuptut: Device {0} is not a valid device", dc.PortDeviceKey);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
ioPortDevice = ioPortDev;
|
ioPortDevice = ioPortDev;
|
||||||
}
|
}
|
||||||
if (ioPortDevice == null)
|
if (ioPortDevice == null)
|
||||||
{
|
{
|
||||||
Debug.Console(0, "GetVersiportDigitalOuptut: Device '0' is not a valid IOPorts Device", dc.PortDeviceKey);
|
Debug.LogMessage(LogEventLevel.Information, "GetVersiportDigitalOuptut: Device '0' is not a valid IOPorts Device", dc.PortDeviceKey);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (dc.PortNumber > ioPortDevice.NumberOfVersiPorts)
|
if (dc.PortNumber > ioPortDevice.NumberOfVersiPorts)
|
||||||
{
|
{
|
||||||
Debug.Console(0, "GetVersiportDigitalOuptut: Device {0} does not contain a port {1}", dc.PortDeviceKey, dc.PortNumber);
|
Debug.LogMessage(LogEventLevel.Information, "GetVersiportDigitalOuptut: Device {0} does not contain a port {1}", dc.PortDeviceKey, dc.PortNumber);
|
||||||
}
|
}
|
||||||
var port = ioPortDevice.VersiPorts[dc.PortNumber];
|
var port = ioPortDevice.VersiPorts[dc.PortNumber];
|
||||||
return port;
|
return port;
|
||||||
|
|
@ -177,7 +178,7 @@ namespace PepperDash.Essentials.Core.CrestronIO
|
||||||
|
|
||||||
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
||||||
{
|
{
|
||||||
Debug.Console(1, "Factory Attempting to create new Generic Versiport Device");
|
Debug.LogMessage(LogEventLevel.Debug, "Factory Attempting to create new Generic Versiport Device");
|
||||||
|
|
||||||
var props = JsonConvert.DeserializeObject<IOPortConfig>(dc.Properties.ToString());
|
var props = JsonConvert.DeserializeObject<IOPortConfig>(dc.Properties.ToString());
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ using System.Linq;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using Crestron.SimplSharp;
|
using Crestron.SimplSharp;
|
||||||
using PepperDash.Essentials.Core;
|
using PepperDash.Essentials.Core;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core.DeviceInfo
|
namespace PepperDash.Essentials.Core.DeviceInfo
|
||||||
{
|
{
|
||||||
|
|
@ -48,7 +49,7 @@ namespace PepperDash.Essentials.Core.DeviceInfo
|
||||||
}
|
}
|
||||||
ArpTable.Clear();
|
ArpTable.Clear();
|
||||||
|
|
||||||
Debug.Console(2, "ConsoleResponse of 'showarptable' : {0}{1}", NewLine, consoleResponse);
|
Debug.LogMessage(LogEventLevel.Verbose, "ConsoleResponse of 'showarptable' : {0}{1}", NewLine, consoleResponse);
|
||||||
|
|
||||||
var myLines =
|
var myLines =
|
||||||
consoleResponse.Split(NewLineSplitter)
|
consoleResponse.Split(NewLineSplitter)
|
||||||
|
|
@ -68,7 +69,7 @@ namespace PepperDash.Essentials.Core.DeviceInfo
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Debug.Console(0, "Exception in \"RefreshArp\" : {0}", ex.Message);
|
Debug.LogMessage(LogEventLevel.Information, "Exception in \"RefreshArp\" : {0}", ex.Message);
|
||||||
error = true;
|
error = true;
|
||||||
}
|
}
|
||||||
finally
|
finally
|
||||||
|
|
@ -106,7 +107,7 @@ namespace PepperDash.Essentials.Core.DeviceInfo
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Debug.Console(0, "Unable to Santize Ip : {0}", ex.Message);
|
Debug.LogMessage(LogEventLevel.Information, "Unable to Santize Ip : {0}", ex.Message);
|
||||||
return ipAddressIn;
|
return ipAddressIn;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -126,7 +127,7 @@ namespace PepperDash.Essentials.Core.DeviceInfo
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Debug.Console(0, "Exception Resolving Hostname from IP Address : {0}", ex.Message);
|
Debug.LogMessage(LogEventLevel.Information, "Exception Resolving Hostname from IP Address : {0}", ex.Message);
|
||||||
return ipAddress;
|
return ipAddress;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -145,7 +146,7 @@ namespace PepperDash.Essentials.Core.DeviceInfo
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Debug.Console(0, "Exception Resolving IP Address from Hostname : {0}", ex.Message);
|
Debug.LogMessage(LogEventLevel.Information, "Exception Resolving IP Address from Hostname : {0}", ex.Message);
|
||||||
return hostName;
|
return hostName;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ using Crestron.SimplSharp;
|
||||||
|
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core.CrestronIO;
|
using PepperDash.Essentials.Core.CrestronIO;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core.Devices
|
namespace PepperDash.Essentials.Core.Devices
|
||||||
{
|
{
|
||||||
|
|
@ -45,7 +46,7 @@ namespace PepperDash.Essentials.Core.Devices
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "Error Getting Relays from processor:\n '{0}'", e);
|
Debug.LogMessage(LogEventLevel.Debug, this, "Error Getting Relays from processor:\n '{0}'", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@ using Crestron.SimplSharp.Reflection;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
|
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core
|
namespace PepperDash.Essentials.Core
|
||||||
|
|
@ -147,7 +148,7 @@ namespace PepperDash.Essentials.Core
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Debug.Console(1, "Unable to find Property: {0} on Device with path: {1}", propertyName, deviceObjectPath);
|
Debug.LogMessage(LogEventLevel.Debug, "Unable to find Property: {0} on Device with path: {1}", propertyName, deviceObjectPath);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -198,7 +199,7 @@ namespace PepperDash.Essentials.Core
|
||||||
var dev = DeviceManager.GetDeviceForKey(path[0]);
|
var dev = DeviceManager.GetDeviceForKey(path[0]);
|
||||||
if (dev == null)
|
if (dev == null)
|
||||||
{
|
{
|
||||||
Debug.Console(0, "Device {0} not found", path[0]);
|
Debug.LogMessage(LogEventLevel.Information, "Device {0} not found", path[0]);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -216,20 +217,20 @@ namespace PepperDash.Essentials.Core
|
||||||
var indexClose = objName.IndexOf(']');
|
var indexClose = objName.IndexOf(']');
|
||||||
if (indexClose == -1)
|
if (indexClose == -1)
|
||||||
{
|
{
|
||||||
Debug.Console(0, dev, "ERROR Unmatched index brackets");
|
Debug.LogMessage(LogEventLevel.Information, dev, "ERROR Unmatched index brackets");
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
// Get the index and strip quotes if any
|
// Get the index and strip quotes if any
|
||||||
indexStr = objName.Substring(indexOpen + 1, indexClose - indexOpen - 1).Replace("\"", "");
|
indexStr = objName.Substring(indexOpen + 1, indexClose - indexOpen - 1).Replace("\"", "");
|
||||||
objName = objName.Substring(0, indexOpen);
|
objName = objName.Substring(0, indexOpen);
|
||||||
Debug.Console(0, dev, " Checking for collection '{0}', index '{1}'", objName, indexStr);
|
Debug.LogMessage(LogEventLevel.Information, dev, " Checking for collection '{0}', index '{1}'", objName, indexStr);
|
||||||
}
|
}
|
||||||
|
|
||||||
CType oType = obj.GetType();
|
CType oType = obj.GetType();
|
||||||
var prop = oType.GetProperty(objName);
|
var prop = oType.GetProperty(objName);
|
||||||
if (prop == null)
|
if (prop == null)
|
||||||
{
|
{
|
||||||
Debug.Console(0, dev, "Property {0} not found on {1}", objName, path[i - 1]);
|
Debug.LogMessage(LogEventLevel.Information, dev, "Property {0} not found on {1}", objName, path[i - 1]);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
// if there's an index, try to get the property
|
// if there's an index, try to get the property
|
||||||
|
|
@ -237,7 +238,7 @@ namespace PepperDash.Essentials.Core
|
||||||
{
|
{
|
||||||
if (!typeof(ICollection).IsAssignableFrom(prop.PropertyType))
|
if (!typeof(ICollection).IsAssignableFrom(prop.PropertyType))
|
||||||
{
|
{
|
||||||
Debug.Console(0, dev, "Property {0} is not collection", objName);
|
Debug.LogMessage(LogEventLevel.Information, dev, "Property {0} is not collection", objName);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
var collection = prop.GetValue(obj, null) as ICollection;
|
var collection = prop.GetValue(obj, null) as ICollection;
|
||||||
|
|
@ -247,7 +248,7 @@ namespace PepperDash.Essentials.Core
|
||||||
var indexParams = indexedPropInfo.GetIndexParameters();
|
var indexParams = indexedPropInfo.GetIndexParameters();
|
||||||
if (indexParams.Length > 0)
|
if (indexParams.Length > 0)
|
||||||
{
|
{
|
||||||
Debug.Console(0, " Indexed, param type: {0}", indexParams[0].ParameterType.Name);
|
Debug.LogMessage(LogEventLevel.Information, " Indexed, param type: {0}", indexParams[0].ParameterType.Name);
|
||||||
var properParam = Convert.ChangeType(indexStr, indexParams[0].ParameterType,
|
var properParam = Convert.ChangeType(indexStr, indexParams[0].ParameterType,
|
||||||
System.Globalization.CultureInfo.InvariantCulture);
|
System.Globalization.CultureInfo.InvariantCulture);
|
||||||
try
|
try
|
||||||
|
|
@ -258,9 +259,9 @@ namespace PepperDash.Essentials.Core
|
||||||
catch (Crestron.SimplSharp.Reflection.TargetInvocationException e)
|
catch (Crestron.SimplSharp.Reflection.TargetInvocationException e)
|
||||||
{
|
{
|
||||||
if (e.InnerException is ArgumentOutOfRangeException)
|
if (e.InnerException is ArgumentOutOfRangeException)
|
||||||
Debug.Console(0, " Index Out of range");
|
Debug.LogMessage(LogEventLevel.Information, " Index Out of range");
|
||||||
else if (e.InnerException is KeyNotFoundException)
|
else if (e.InnerException is KeyNotFoundException)
|
||||||
Debug.Console(0, " Key not found");
|
Debug.LogMessage(LogEventLevel.Information, " Key not found");
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ using Crestron.SimplSharp;
|
||||||
using Crestron.SimplSharpPro;
|
using Crestron.SimplSharpPro;
|
||||||
|
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core
|
namespace PepperDash.Essentials.Core
|
||||||
|
|
@ -63,7 +64,7 @@ namespace PepperDash.Essentials.Core
|
||||||
DeviceCriticalSection.Enter();
|
DeviceCriticalSection.Enter();
|
||||||
AddDeviceEnabled = false;
|
AddDeviceEnabled = false;
|
||||||
// PreActivate all devices
|
// PreActivate all devices
|
||||||
Debug.Console(0,"****PreActivation starting...****");
|
Debug.LogMessage(LogEventLevel.Information,"****PreActivation starting...****");
|
||||||
foreach (var d in Devices.Values)
|
foreach (var d in Devices.Values)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
|
|
@ -73,12 +74,12 @@ namespace PepperDash.Essentials.Core
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
Debug.Console(0, d, "ERROR: Device {1} PreActivation failure: {0}", e.Message, d.Key);
|
Debug.LogMessage(LogEventLevel.Information, d, "ERROR: Device {1} PreActivation failure: {0}", e.Message, d.Key);
|
||||||
Debug.Console(1, d, "Stack Trace: {0}", e.StackTrace);
|
Debug.LogMessage(LogEventLevel.Debug, d, "Stack Trace: {0}", e.StackTrace);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Debug.Console(0, "****PreActivation complete****");
|
Debug.LogMessage(LogEventLevel.Information, "****PreActivation complete****");
|
||||||
Debug.Console(0, "****Activation starting...****");
|
Debug.LogMessage(LogEventLevel.Information, "****Activation starting...****");
|
||||||
|
|
||||||
// Activate all devices
|
// Activate all devices
|
||||||
foreach (var d in Devices.Values)
|
foreach (var d in Devices.Values)
|
||||||
|
|
@ -90,13 +91,13 @@ namespace PepperDash.Essentials.Core
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
Debug.Console(0, d, "ERROR: Device {1} Activation failure: {0}", e.Message, d.Key);
|
Debug.LogMessage(LogEventLevel.Information, d, "ERROR: Device {1} Activation failure: {0}", e.Message, d.Key);
|
||||||
Debug.Console(1, d, "Stack Trace: {0}", e.StackTrace);
|
Debug.LogMessage(LogEventLevel.Debug, d, "Stack Trace: {0}", e.StackTrace);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Debug.Console(0, "****Activation complete****");
|
Debug.LogMessage(LogEventLevel.Information, "****Activation complete****");
|
||||||
Debug.Console(0, "****PostActivation starting...****");
|
Debug.LogMessage(LogEventLevel.Information, "****PostActivation starting...****");
|
||||||
|
|
||||||
// PostActivate all devices
|
// PostActivate all devices
|
||||||
foreach (var d in Devices.Values)
|
foreach (var d in Devices.Values)
|
||||||
|
|
@ -108,12 +109,12 @@ namespace PepperDash.Essentials.Core
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
Debug.Console(0, d, "ERROR: Device {1} PostActivation failure: {0}", e.Message, d.Key);
|
Debug.LogMessage(LogEventLevel.Information, d, "ERROR: Device {1} PostActivation failure: {0}", e.Message, d.Key);
|
||||||
Debug.Console(1, d, "Stack Trace: {0}", e.StackTrace);
|
Debug.LogMessage(LogEventLevel.Debug, d, "Stack Trace: {0}", e.StackTrace);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Debug.Console(0, "****PostActivation complete****");
|
Debug.LogMessage(LogEventLevel.Information, "****PostActivation complete****");
|
||||||
|
|
||||||
OnAllDevicesActivated();
|
OnAllDevicesActivated();
|
||||||
}
|
}
|
||||||
|
|
@ -183,14 +184,14 @@ namespace PepperDash.Essentials.Core
|
||||||
|
|
||||||
private static void ListDevices(string s)
|
private static void ListDevices(string s)
|
||||||
{
|
{
|
||||||
Debug.Console(0, "{0} Devices registered with Device Manager:", Devices.Count);
|
Debug.LogMessage(LogEventLevel.Information, "{0} Devices registered with Device Manager:", Devices.Count);
|
||||||
var sorted = Devices.Values.ToList();
|
var sorted = Devices.Values.ToList();
|
||||||
sorted.Sort((a, b) => a.Key.CompareTo(b.Key));
|
sorted.Sort((a, b) => a.Key.CompareTo(b.Key));
|
||||||
|
|
||||||
foreach (var d in sorted)
|
foreach (var d in sorted)
|
||||||
{
|
{
|
||||||
var name = d is IKeyName ? (d as IKeyName).Name : "---";
|
var name = d is IKeyName ? (d as IKeyName).Name : "---";
|
||||||
Debug.Console(0, " [{0}] {1}", d.Key, name);
|
Debug.LogMessage(LogEventLevel.Information, " [{0}] {1}", d.Key, name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -199,13 +200,13 @@ namespace PepperDash.Essentials.Core
|
||||||
var dev = GetDeviceForKey(devKey);
|
var dev = GetDeviceForKey(devKey);
|
||||||
if (dev == null)
|
if (dev == null)
|
||||||
{
|
{
|
||||||
Debug.Console(0, "Device '{0}' not found", devKey);
|
Debug.LogMessage(LogEventLevel.Information, "Device '{0}' not found", devKey);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var statusDev = dev as IHasFeedback;
|
var statusDev = dev as IHasFeedback;
|
||||||
if (statusDev == null)
|
if (statusDev == null)
|
||||||
{
|
{
|
||||||
Debug.Console(0, "Device '{0}' does not have visible feedbacks", devKey);
|
Debug.LogMessage(LogEventLevel.Information, "Device '{0}' does not have visible feedbacks", devKey);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
statusDev.DumpFeedbacksToConsole(true);
|
statusDev.DumpFeedbacksToConsole(true);
|
||||||
|
|
@ -216,10 +217,10 @@ namespace PepperDash.Essentials.Core
|
||||||
// var dev = GetDeviceForKey(devKey);
|
// var dev = GetDeviceForKey(devKey);
|
||||||
// if (dev == null)
|
// if (dev == null)
|
||||||
// {
|
// {
|
||||||
// Debug.Console(0, "Device '{0}' not found", devKey);
|
// Debug.LogMessage(LogEventLevel.Information, "Device '{0}' not found", devKey);
|
||||||
// return;
|
// return;
|
||||||
// }
|
// }
|
||||||
// Debug.Console(0, "This needs to be reworked. Stay tuned.", devKey);
|
// Debug.LogMessage(LogEventLevel.Information, "This needs to be reworked. Stay tuned.", devKey);
|
||||||
//}
|
//}
|
||||||
|
|
||||||
private static void ListDeviceCommStatuses(string input)
|
private static void ListDeviceCommStatuses(string input)
|
||||||
|
|
@ -236,7 +237,7 @@ namespace PepperDash.Essentials.Core
|
||||||
|
|
||||||
//static void DoDeviceCommand(string command)
|
//static void DoDeviceCommand(string command)
|
||||||
//{
|
//{
|
||||||
// Debug.Console(0, "Not yet implemented. Stay tuned");
|
// Debug.LogMessage(LogEventLevel.Information, "Not yet implemented. Stay tuned");
|
||||||
//}
|
//}
|
||||||
|
|
||||||
public static void AddDevice(IKeyed newDev)
|
public static void AddDevice(IKeyed newDev)
|
||||||
|
|
@ -245,7 +246,7 @@ namespace PepperDash.Essentials.Core
|
||||||
{
|
{
|
||||||
if (!DeviceCriticalSection.TryEnter())
|
if (!DeviceCriticalSection.TryEnter())
|
||||||
{
|
{
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Error, "Currently unable to add devices to Device Manager. Please try again");
|
Debug.LogMessage(LogEventLevel.Information, "Currently unable to add devices to Device Manager. Please try again");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// Check for device with same key
|
// Check for device with same key
|
||||||
|
|
@ -255,13 +256,13 @@ namespace PepperDash.Essentials.Core
|
||||||
|
|
||||||
if (!AddDeviceEnabled)
|
if (!AddDeviceEnabled)
|
||||||
{
|
{
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Error, "All devices have been activated. Adding new devices is not allowed.");
|
Debug.LogMessage(LogEventLevel.Information, "All devices have been activated. Adding new devices is not allowed.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Devices.ContainsKey(newDev.Key))
|
if (Devices.ContainsKey(newDev.Key))
|
||||||
{
|
{
|
||||||
Debug.Console(0, newDev, "WARNING: A device with this key already exists. Not added to manager");
|
Debug.LogMessage(LogEventLevel.Information, newDev, "WARNING: A device with this key already exists. Not added to manager");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Devices.Add(newDev.Key, newDev);
|
Devices.Add(newDev.Key, newDev);
|
||||||
|
|
@ -280,13 +281,13 @@ namespace PepperDash.Essentials.Core
|
||||||
{
|
{
|
||||||
if (!DeviceCriticalSection.TryEnter())
|
if (!DeviceCriticalSection.TryEnter())
|
||||||
{
|
{
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Error,
|
Debug.LogMessage(LogEventLevel.Information,
|
||||||
"Currently unable to add devices to Device Manager. Please try again");
|
"Currently unable to add devices to Device Manager. Please try again");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (!AddDeviceEnabled)
|
if (!AddDeviceEnabled)
|
||||||
{
|
{
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Error,
|
Debug.LogMessage(LogEventLevel.Information,
|
||||||
"All devices have been activated. Adding new devices is not allowed.");
|
"All devices have been activated. Adding new devices is not allowed.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -299,7 +300,7 @@ namespace PepperDash.Essentials.Core
|
||||||
}
|
}
|
||||||
catch (ArgumentException ex)
|
catch (ArgumentException ex)
|
||||||
{
|
{
|
||||||
Debug.Console(0, "Error adding device with key {0} to Device Manager: {1}\r\nStack Trace: {2}",
|
Debug.LogMessage(LogEventLevel.Information, "Error adding device with key {0} to Device Manager: {1}\r\nStack Trace: {2}",
|
||||||
dev.Key, ex.Message, ex.StackTrace);
|
dev.Key, ex.Message, ex.StackTrace);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -322,7 +323,7 @@ namespace PepperDash.Essentials.Core
|
||||||
//if (_Devices.Contains(newDev))
|
//if (_Devices.Contains(newDev))
|
||||||
// _Devices.Remove(newDev);
|
// _Devices.Remove(newDev);
|
||||||
else
|
else
|
||||||
Debug.Console(0, "Device manager: Device '{0}' does not exist in manager. Cannot remove", newDev.Key);
|
Debug.LogMessage(LogEventLevel.Information, "Device manager: Device '{0}' does not exist in manager. Cannot remove", newDev.Key);
|
||||||
}
|
}
|
||||||
finally
|
finally
|
||||||
{
|
{
|
||||||
|
|
@ -364,7 +365,7 @@ namespace PepperDash.Essentials.Core
|
||||||
CrestronConsole.ConsoleCommandResponse(" Format: devsimreceive:P <device key> <string to send>");
|
CrestronConsole.ConsoleCommandResponse(" Format: devsimreceive:P <device key> <string to send>");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
//Debug.Console(2, "**** {0} - {1} ****", match.Groups[1].Value, match.Groups[2].Value);
|
//Debug.LogMessage(LogEventLevel.Verbose, "**** {0} - {1} ****", match.Groups[1].Value, match.Groups[2].Value);
|
||||||
|
|
||||||
var com = GetDeviceForKey(match.Groups[1].Value) as ComPortController;
|
var com = GetDeviceForKey(match.Groups[1].Value) as ComPortController;
|
||||||
if (com == null)
|
if (com == null)
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ using Crestron.SimplSharp.Reflection;
|
||||||
|
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core.Config;
|
using PepperDash.Essentials.Core.Config;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core
|
namespace PepperDash.Essentials.Core
|
||||||
{
|
{
|
||||||
|
|
@ -43,8 +44,8 @@ namespace PepperDash.Essentials.Core
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Debug.Console(0, this, Debug.ErrorLogLevel.Error, "Exception initializing device: {0}", ex.Message);
|
Debug.LogMessage(LogEventLevel.Error, this, "Exception initializing device: {0}", ex.Message);
|
||||||
Debug.Console(1, this, Debug.ErrorLogLevel.Error, "Stack Trace: {0}", ex.StackTrace);
|
Debug.LogMessage(LogEventLevel.Debug, this, "Stack Trace: {0}", ex.StackTrace);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
@ -71,7 +72,7 @@ namespace PepperDash.Essentials.Core
|
||||||
|
|
||||||
public DescriptionAttribute(string description)
|
public DescriptionAttribute(string description)
|
||||||
{
|
{
|
||||||
//Debug.Console(2, "Setting Description: {0}", description);
|
//Debug.LogMessage(LogEventLevel.Verbose, "Setting Description: {0}", description);
|
||||||
_Description = description;
|
_Description = description;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -88,7 +89,7 @@ namespace PepperDash.Essentials.Core
|
||||||
|
|
||||||
public ConfigSnippetAttribute(string configSnippet)
|
public ConfigSnippetAttribute(string configSnippet)
|
||||||
{
|
{
|
||||||
//Debug.Console(2, "Setting Config Snippet {0}", configSnippet);
|
//Debug.LogMessage(LogEventLevel.Verbose, "Setting Config Snippet {0}", configSnippet);
|
||||||
_ConfigSnippet = configSnippet;
|
_ConfigSnippet = configSnippet;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -117,7 +118,7 @@ namespace PepperDash.Essentials.Core
|
||||||
{
|
{
|
||||||
foreach (var typeName in TypeNames)
|
foreach (var typeName in TypeNames)
|
||||||
{
|
{
|
||||||
//Debug.Console(2, "Getting Description Attribute from class: '{0}'", typeof(T).FullName);
|
//Debug.LogMessage(LogEventLevel.Verbose, "Getting Description Attribute from class: '{0}'", typeof(T).FullName);
|
||||||
var descriptionAttribute = typeof(T).GetCustomAttributes(typeof(DescriptionAttribute), true) as DescriptionAttribute[];
|
var descriptionAttribute = typeof(T).GetCustomAttributes(typeof(DescriptionAttribute), true) as DescriptionAttribute[];
|
||||||
string description = descriptionAttribute[0].Description;
|
string description = descriptionAttribute[0].Description;
|
||||||
var snippetAttribute = typeof(T).GetCustomAttributes(typeof(ConfigSnippetAttribute), true) as ConfigSnippetAttribute[];
|
var snippetAttribute = typeof(T).GetCustomAttributes(typeof(ConfigSnippetAttribute), true) as ConfigSnippetAttribute[];
|
||||||
|
|
@ -151,7 +152,7 @@ namespace PepperDash.Essentials.Core
|
||||||
{
|
{
|
||||||
foreach (var typeName in TypeNames)
|
foreach (var typeName in TypeNames)
|
||||||
{
|
{
|
||||||
//Debug.Console(2, "Getting Description Attribute from class: '{0}'", typeof(T).FullName);
|
//Debug.LogMessage(LogEventLevel.Verbose, "Getting Description Attribute from class: '{0}'", typeof(T).FullName);
|
||||||
var descriptionAttribute = typeof(T).GetCustomAttributes(typeof(DescriptionAttribute), true) as DescriptionAttribute[];
|
var descriptionAttribute = typeof(T).GetCustomAttributes(typeof(DescriptionAttribute), true) as DescriptionAttribute[];
|
||||||
string description = descriptionAttribute[0].Description;
|
string description = descriptionAttribute[0].Description;
|
||||||
var snippetAttribute = typeof(T).GetCustomAttributes(typeof(ConfigSnippetAttribute), true) as ConfigSnippetAttribute[];
|
var snippetAttribute = typeof(T).GetCustomAttributes(typeof(ConfigSnippetAttribute), true) as ConfigSnippetAttribute[];
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@ using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core.Bridges;
|
using PepperDash.Essentials.Core.Bridges;
|
||||||
using PepperDash.Essentials.Core.Config;
|
using PepperDash.Essentials.Core.Config;
|
||||||
using PepperDash.Essentials.Core.Bridges.JoinMaps;
|
using PepperDash.Essentials.Core.Bridges.JoinMaps;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core.Devices
|
namespace PepperDash.Essentials.Core.Devices
|
||||||
{
|
{
|
||||||
|
|
@ -29,7 +30,7 @@ namespace PepperDash.Essentials.Core.Devices
|
||||||
_port = irPort;
|
_port = irPort;
|
||||||
if (_port == null)
|
if (_port == null)
|
||||||
{
|
{
|
||||||
Debug.Console(0, this, Debug.ErrorLogLevel.Error, "IR Port is null, device will not function");
|
Debug.LogMessage(LogEventLevel.Information, this, "IR Port is null, device will not function");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
DeviceManager.AddDevice(_port);
|
DeviceManager.AddDevice(_port);
|
||||||
|
|
@ -75,12 +76,12 @@ namespace PepperDash.Essentials.Core.Devices
|
||||||
|
|
||||||
if (_port.UseBridgeJoinMap)
|
if (_port.UseBridgeJoinMap)
|
||||||
{
|
{
|
||||||
Debug.Console(0, this, "Using new IR bridge join map");
|
Debug.LogMessage(LogEventLevel.Information, this, "Using new IR bridge join map");
|
||||||
|
|
||||||
var bridgeJoins = joinMap.Joins.Where((kv) => _port.IrFileCommands.Any(cmd => cmd == kv.Key)).ToDictionary(kv => kv.Key);
|
var bridgeJoins = joinMap.Joins.Where((kv) => _port.IrFileCommands.Any(cmd => cmd == kv.Key)).ToDictionary(kv => kv.Key);
|
||||||
if (bridgeJoins == null)
|
if (bridgeJoins == null)
|
||||||
{
|
{
|
||||||
Debug.Console(0, this, Debug.ErrorLogLevel.Error, "Failed to link new IR bridge join map");
|
Debug.LogMessage(LogEventLevel.Information, this, "Failed to link new IR bridge join map");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -93,7 +94,7 @@ namespace PepperDash.Essentials.Core.Devices
|
||||||
var joinDataValue = bridgeJoin.Value.Value;
|
var joinDataValue = bridgeJoin.Value.Value;
|
||||||
var joinNumber = bridgeJoin.Value.Value.JoinNumber;
|
var joinNumber = bridgeJoin.Value.Value.JoinNumber;
|
||||||
|
|
||||||
Debug.Console(2, this, @"bridgeJoin: Key-'{0}'
|
Debug.LogMessage(LogEventLevel.Verbose, this, @"bridgeJoin: Key-'{0}'
|
||||||
Value.Key-'{1}'
|
Value.Key-'{1}'
|
||||||
Value.JoinNumber-'{2}'
|
Value.JoinNumber-'{2}'
|
||||||
Value.Metadata.Description-'{3}'",
|
Value.Metadata.Description-'{3}'",
|
||||||
|
|
@ -110,7 +111,7 @@ Value.Metadata.Description-'{3}'",
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Debug.Console(0, this, "Using legacy IR join mapping based on available IR commands");
|
Debug.LogMessage(LogEventLevel.Information, this, "Using legacy IR join mapping based on available IR commands");
|
||||||
|
|
||||||
joinMap.Joins.Clear();
|
joinMap.Joins.Clear();
|
||||||
|
|
||||||
|
|
@ -141,7 +142,7 @@ Value.Metadata.Description-'{3}'",
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Debug.Console(0, this, "Please update config to use 'eiscapiadvanced' to get all join map features for this device.");
|
Debug.LogMessage(LogEventLevel.Information, this, "Please update config to use 'eiscapiadvanced' to get all join map features for this device.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -163,7 +164,7 @@ Value.Metadata.Description-'{3}'",
|
||||||
|
|
||||||
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
||||||
{
|
{
|
||||||
Debug.Console(1, "Factory Attempting to create new Generic IR Controller Device");
|
Debug.LogMessage(LogEventLevel.Debug, "Factory Attempting to create new Generic IR Controller Device");
|
||||||
|
|
||||||
var irPort = IRPortHelper.GetIrOutputPortController(dc);
|
var irPort = IRPortHelper.GetIrOutputPortController(dc);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ using System.Text;
|
||||||
using Crestron.SimplSharp;
|
using Crestron.SimplSharp;
|
||||||
|
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core.Devices
|
namespace PepperDash.Essentials.Core.Devices
|
||||||
|
|
@ -25,7 +26,7 @@ namespace PepperDash.Essentials.Core.Devices
|
||||||
// ------------------------------------------------------DELETE THIS
|
// ------------------------------------------------------DELETE THIS
|
||||||
CommunicationMonitor.StatusChange += (o, a) =>
|
CommunicationMonitor.StatusChange += (o, a) =>
|
||||||
{
|
{
|
||||||
Debug.Console(2, this, "Communication monitor status change: {0}", a.Status);
|
Debug.LogMessage(LogEventLevel.Verbose, this, "Communication monitor status change: {0}", a.Status);
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ using Crestron.SimplSharpPro.DeviceSupport;
|
||||||
using Crestron.SimplSharp.Reflection;
|
using Crestron.SimplSharp.Reflection;
|
||||||
|
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core
|
namespace PepperDash.Essentials.Core
|
||||||
{
|
{
|
||||||
|
|
@ -29,7 +30,7 @@ namespace PepperDash.Essentials.Core
|
||||||
var feedbacks = source.Feedbacks;
|
var feedbacks = source.Feedbacks;
|
||||||
if (feedbacks != null)
|
if (feedbacks != null)
|
||||||
{
|
{
|
||||||
Debug.Console(0, source, "\n\nAvailable feedbacks:");
|
Debug.LogMessage(LogEventLevel.Information, source, "\n\nAvailable feedbacks:");
|
||||||
foreach (var f in feedbacks)
|
foreach (var f in feedbacks)
|
||||||
{
|
{
|
||||||
string val = "";
|
string val = "";
|
||||||
|
|
@ -52,12 +53,12 @@ namespace PepperDash.Essentials.Core
|
||||||
type = "string";
|
type = "string";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Debug.Console(0, "{0,-12} {1, -25} {2}", type,
|
Debug.LogMessage(LogEventLevel.Information, "{0,-12} {1, -25} {2}", type,
|
||||||
(string.IsNullOrEmpty(f.Key) ? "-no key-" : f.Key), val);
|
(string.IsNullOrEmpty(f.Key) ? "-no key-" : f.Key), val);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
Debug.Console(0, source, "No available outputs:");
|
Debug.LogMessage(LogEventLevel.Information, source, "No available outputs:");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -4,6 +4,7 @@ using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using Crestron.SimplSharp;
|
using Crestron.SimplSharp;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core
|
namespace PepperDash.Essentials.Core
|
||||||
{
|
{
|
||||||
|
|
@ -84,14 +85,14 @@ namespace PepperDash.Essentials.Core
|
||||||
|
|
||||||
if (handler != null)
|
if (handler != null)
|
||||||
{
|
{
|
||||||
Debug.Console(1, "Device Usage Ended for: {0} at {1}. In use for {2} minutes.", Parent.Name, UsageEndTime, timeUsed.Minutes);
|
Debug.LogMessage(LogEventLevel.Debug, "Device Usage Ended for: {0} at {1}. In use for {2} minutes.", Parent.Name, UsageEndTime, timeUsed.Minutes);
|
||||||
handler(this, new DeviceUsageEventArgs() { UsageEndTime = UsageEndTime, MinutesUsed = timeUsed.Minutes });
|
handler(this, new DeviceUsageEventArgs() { UsageEndTime = UsageEndTime, MinutesUsed = timeUsed.Minutes });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
Debug.Console(1, "Error ending device usage: {0}", e);
|
Debug.LogMessage(LogEventLevel.Debug, "Error ending device usage: {0}", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,7 @@ using PepperDash.Essentials.Core.Config;
|
||||||
|
|
||||||
|
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core
|
namespace PepperDash.Essentials.Core
|
||||||
{
|
{
|
||||||
|
|
@ -46,7 +47,7 @@ namespace PepperDash.Essentials.Core
|
||||||
IrPort = port;
|
IrPort = port;
|
||||||
if (port == null)
|
if (port == null)
|
||||||
{
|
{
|
||||||
Debug.Console(0, this, "WARNING No valid IR Port assigned to controller. IR will not function");
|
Debug.LogMessage(LogEventLevel.Information, this, "WARNING No valid IR Port assigned to controller. IR will not function");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
LoadDriver(irDriverFilepath);
|
LoadDriver(irDriverFilepath);
|
||||||
|
|
@ -64,12 +65,12 @@ namespace PepperDash.Essentials.Core
|
||||||
|
|
||||||
if (IrPort == null)
|
if (IrPort == null)
|
||||||
{
|
{
|
||||||
Debug.Console(0, this, "WARNING No valid IR Port assigned to controller. IR will not function");
|
Debug.LogMessage(LogEventLevel.Information, this, "WARNING No valid IR Port assigned to controller. IR will not function");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var filePath = Global.FilePathPrefix + "ir" + Global.DirectorySeparator + config.Properties["control"]["irFile"].Value<string>();
|
var filePath = Global.FilePathPrefix + "ir" + Global.DirectorySeparator + config.Properties["control"]["irFile"].Value<string>();
|
||||||
Debug.Console(1, "*************Attempting to load IR file: {0}***************", filePath);
|
Debug.LogMessage(LogEventLevel.Debug, "*************Attempting to load IR file: {0}***************", filePath);
|
||||||
|
|
||||||
LoadDriver(filePath);
|
LoadDriver(filePath);
|
||||||
|
|
||||||
|
|
@ -79,10 +80,10 @@ namespace PepperDash.Essentials.Core
|
||||||
|
|
||||||
public void PrintAvailableCommands()
|
public void PrintAvailableCommands()
|
||||||
{
|
{
|
||||||
Debug.Console(2, this, "Available IR Commands in IR File {0}", IrPortUid);
|
Debug.LogMessage(LogEventLevel.Verbose, this, "Available IR Commands in IR File {0}", IrPortUid);
|
||||||
foreach (var cmd in IrPort.AvailableIRCmds())
|
foreach (var cmd in IrPort.AvailableIRCmds())
|
||||||
{
|
{
|
||||||
Debug.Console(2, this, "{0}", cmd);
|
Debug.LogMessage(LogEventLevel.Verbose, this, "{0}", cmd);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -93,7 +94,7 @@ namespace PepperDash.Essentials.Core
|
||||||
/// <param name="path"></param>
|
/// <param name="path"></param>
|
||||||
public void LoadDriver(string path)
|
public void LoadDriver(string path)
|
||||||
{
|
{
|
||||||
Debug.Console(2, this, "***Loading IR File***");
|
Debug.LogMessage(LogEventLevel.Verbose, this, "***Loading IR File***");
|
||||||
if (string.IsNullOrEmpty(path)) path = DriverFilepath;
|
if (string.IsNullOrEmpty(path)) path = DriverFilepath;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
|
@ -108,7 +109,7 @@ namespace PepperDash.Essentials.Core
|
||||||
{
|
{
|
||||||
DriverIsLoaded = false;
|
DriverIsLoaded = false;
|
||||||
var message = string.Format("WARNING IR Driver '{0}' failed to load", path);
|
var message = string.Format("WARNING IR Driver '{0}' failed to load", path);
|
||||||
Debug.Console(0, this, Debug.ErrorLogLevel.Error, message);
|
Debug.LogMessage(LogEventLevel.Information, this, message);
|
||||||
DriverLoaded.FireUpdate();
|
DriverLoaded.FireUpdate();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -119,15 +120,15 @@ namespace PepperDash.Essentials.Core
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public virtual void PressRelease(string command, bool state)
|
public virtual void PressRelease(string command, bool state)
|
||||||
{
|
{
|
||||||
Debug.Console(2, this, "IR:'{0}'={1}", command, state);
|
Debug.LogMessage(LogEventLevel.Verbose, this, "IR:'{0}'={1}", command, state);
|
||||||
if (IrPort == null)
|
if (IrPort == null)
|
||||||
{
|
{
|
||||||
Debug.Console(2, this, "WARNING No IR Port assigned to controller");
|
Debug.LogMessage(LogEventLevel.Verbose, this, "WARNING No IR Port assigned to controller");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (!DriverIsLoaded)
|
if (!DriverIsLoaded)
|
||||||
{
|
{
|
||||||
Debug.Console(2, this, "WARNING IR driver is not loaded");
|
Debug.LogMessage(LogEventLevel.Verbose, this, "WARNING IR driver is not loaded");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (state)
|
if (state)
|
||||||
|
|
@ -148,12 +149,12 @@ namespace PepperDash.Essentials.Core
|
||||||
{
|
{
|
||||||
if (IrPort == null)
|
if (IrPort == null)
|
||||||
{
|
{
|
||||||
Debug.Console(2, this, "WARNING No IR Port assigned to controller");
|
Debug.LogMessage(LogEventLevel.Verbose, this, "WARNING No IR Port assigned to controller");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (!DriverIsLoaded)
|
if (!DriverIsLoaded)
|
||||||
{
|
{
|
||||||
Debug.Console(2, this, "WARNING IR driver is not loaded");
|
Debug.LogMessage(LogEventLevel.Verbose, this, "WARNING IR driver is not loaded");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (IrPort.IsIRCommandAvailable(IrPortUid, command))
|
if (IrPort.IsIRCommandAvailable(IrPortUid, command))
|
||||||
|
|
@ -167,7 +168,7 @@ namespace PepperDash.Essentials.Core
|
||||||
/// </summary>
|
/// </summary>
|
||||||
protected void NoIrCommandError(string command)
|
protected void NoIrCommandError(string command)
|
||||||
{
|
{
|
||||||
Debug.Console(2, this, "Device {0}: IR Driver {1} does not contain command {2}",
|
Debug.LogMessage(LogEventLevel.Verbose, this, "Device {0}: IR Driver {1} does not contain command {2}",
|
||||||
Key, IrPort.IRDriverFileNameByIRDriverId(IrPortUid), command);
|
Key, IrPort.IRDriverFileNameByIRDriverId(IrPortUid), command);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ using PepperDash.Essentials.Core;
|
||||||
using PepperDash.Essentials.Core.Config;
|
using PepperDash.Essentials.Core.Config;
|
||||||
using PepperDash.Essentials.Core.Routing;
|
using PepperDash.Essentials.Core.Routing;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core.Devices
|
namespace PepperDash.Essentials.Core.Devices
|
||||||
{
|
{
|
||||||
|
|
@ -73,7 +74,7 @@ namespace PepperDash.Essentials.Core.Devices
|
||||||
|
|
||||||
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
||||||
{
|
{
|
||||||
Debug.Console(1, "Factory Attempting to create new InRoomPc Device");
|
Debug.LogMessage(LogEventLevel.Debug, "Factory Attempting to create new InRoomPc Device");
|
||||||
return new InRoomPc(dc.Key, dc.Name);
|
return new InRoomPc(dc.Key, dc.Name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ using PepperDash.Essentials.Core;
|
||||||
using PepperDash.Essentials.Core.Config;
|
using PepperDash.Essentials.Core.Config;
|
||||||
using PepperDash.Essentials.Core.Routing;
|
using PepperDash.Essentials.Core.Routing;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core.Devices
|
namespace PepperDash.Essentials.Core.Devices
|
||||||
{
|
{
|
||||||
|
|
@ -74,7 +75,7 @@ namespace PepperDash.Essentials.Core.Devices
|
||||||
|
|
||||||
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
||||||
{
|
{
|
||||||
Debug.Console(1, "Factory Attempting to create new Laptop Device");
|
Debug.LogMessage(LogEventLevel.Debug, "Factory Attempting to create new Laptop Device");
|
||||||
return new Core.Devices.Laptop(dc.Key, dc.Name);
|
return new Core.Devices.Laptop(dc.Key, dc.Name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,7 @@ using PepperDash.Essentials.Core;
|
||||||
using PepperDash.Essentials.Core.Config;
|
using PepperDash.Essentials.Core.Config;
|
||||||
using PepperDash.Essentials.Core.Bridges;
|
using PepperDash.Essentials.Core.Bridges;
|
||||||
using PepperDash.Essentials.Core.Routing;
|
using PepperDash.Essentials.Core.Routing;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core
|
namespace PepperDash.Essentials.Core
|
||||||
{
|
{
|
||||||
|
|
@ -43,8 +44,8 @@ namespace PepperDash.Essentials.Core
|
||||||
IrPort = new IrOutputPortController(key + "-ir", port, irDriverFilepath);
|
IrPort = new IrOutputPortController(key + "-ir", port, irDriverFilepath);
|
||||||
DeviceManager.AddDevice(IrPort);
|
DeviceManager.AddDevice(IrPort);
|
||||||
|
|
||||||
IsWarmingUpFeedback.OutputChange += (o, a) => Debug.Console(2, this, "Warming up={0}", _IsWarmingUp);
|
IsWarmingUpFeedback.OutputChange += (o, a) => Debug.LogMessage(LogEventLevel.Verbose, this, "Warming up={0}", _IsWarmingUp);
|
||||||
IsCoolingDownFeedback.OutputChange += (o, a) => Debug.Console(2, this, "Cooling down={0}", _IsCoolingDown);
|
IsCoolingDownFeedback.OutputChange += (o, a) => Debug.LogMessage(LogEventLevel.Verbose, this, "Cooling down={0}", _IsCoolingDown);
|
||||||
|
|
||||||
InputPorts.AddRange(new RoutingPortCollection<RoutingInputPort>
|
InputPorts.AddRange(new RoutingPortCollection<RoutingInputPort>
|
||||||
{
|
{
|
||||||
|
|
@ -170,7 +171,7 @@ namespace PepperDash.Essentials.Core
|
||||||
/// <param name="inputSelector">A delegate containing the input selector method to call</param>
|
/// <param name="inputSelector">A delegate containing the input selector method to call</param>
|
||||||
public override void ExecuteSwitch(object inputSelector)
|
public override void ExecuteSwitch(object inputSelector)
|
||||||
{
|
{
|
||||||
Debug.Console(2, this, "Switching to input '{0}'", (inputSelector as Action).ToString());
|
Debug.LogMessage(LogEventLevel.Verbose, this, "Switching to input '{0}'", (inputSelector as Action).ToString());
|
||||||
|
|
||||||
Action finishSwitch = () =>
|
Action finishSwitch = () =>
|
||||||
{
|
{
|
||||||
|
|
@ -213,7 +214,7 @@ namespace PepperDash.Essentials.Core
|
||||||
|
|
||||||
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
||||||
{
|
{
|
||||||
Debug.Console(1, "Factory Attempting to create new BasicIrDisplay Device");
|
Debug.LogMessage(LogEventLevel.Debug, "Factory Attempting to create new BasicIrDisplay Device");
|
||||||
var ir = IRPortHelper.GetIrPort(dc.Properties);
|
var ir = IRPortHelper.GetIrPort(dc.Properties);
|
||||||
if (ir != null)
|
if (ir != null)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,7 @@ using Crestron.SimplSharpPro.DM.Endpoints.Transmitters;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core.Bridges;
|
using PepperDash.Essentials.Core.Bridges;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core
|
namespace PepperDash.Essentials.Core
|
||||||
|
|
@ -113,7 +114,7 @@ namespace PepperDash.Essentials.Core
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Debug.Console(0,this,"Please update config to use 'eiscapiadvanced' to get all join map features for this device.");
|
Debug.LogMessage(LogEventLevel.Information,this,"Please update config to use 'eiscapiadvanced' to get all join map features for this device.");
|
||||||
}
|
}
|
||||||
|
|
||||||
LinkDisplayToApi(displayDevice, trilist, joinMap);
|
LinkDisplayToApi(displayDevice, trilist, joinMap);
|
||||||
|
|
@ -121,8 +122,8 @@ namespace PepperDash.Essentials.Core
|
||||||
|
|
||||||
protected void LinkDisplayToApi(DisplayBase displayDevice, BasicTriList trilist, DisplayControllerJoinMap joinMap)
|
protected void LinkDisplayToApi(DisplayBase displayDevice, BasicTriList trilist, DisplayControllerJoinMap joinMap)
|
||||||
{
|
{
|
||||||
Debug.Console(1, "Linking to Trilist '{0}'", trilist.ID.ToString("X"));
|
Debug.LogMessage(LogEventLevel.Debug, "Linking to Trilist '{0}'", trilist.ID.ToString("X"));
|
||||||
Debug.Console(0, "Linking to Display: {0}", displayDevice.Name);
|
Debug.LogMessage(LogEventLevel.Information, "Linking to Display: {0}", displayDevice.Name);
|
||||||
|
|
||||||
trilist.StringInput[joinMap.Name.JoinNumber].StringValue = displayDevice.Name;
|
trilist.StringInput[joinMap.Name.JoinNumber].StringValue = displayDevice.Name;
|
||||||
|
|
||||||
|
|
@ -144,7 +145,7 @@ namespace PepperDash.Essentials.Core
|
||||||
{
|
{
|
||||||
trilist.SetBool(joinMap.IsTwoWayDisplay.JoinNumber, true);
|
trilist.SetBool(joinMap.IsTwoWayDisplay.JoinNumber, true);
|
||||||
|
|
||||||
twoWayDisplay.CurrentInputFeedback.OutputChange += (o, a) => Debug.Console(0, "CurrentInputFeedback_OutputChange {0}", a.StringValue);
|
twoWayDisplay.CurrentInputFeedback.OutputChange += (o, a) => Debug.LogMessage(LogEventLevel.Information, "CurrentInputFeedback_OutputChange {0}", a.StringValue);
|
||||||
|
|
||||||
|
|
||||||
inputNumberFeedback.LinkInputSig(trilist.UShortInput[joinMap.InputSelect.JoinNumber]);
|
inputNumberFeedback.LinkInputSig(trilist.UShortInput[joinMap.InputSelect.JoinNumber]);
|
||||||
|
|
@ -198,16 +199,16 @@ namespace PepperDash.Essentials.Core
|
||||||
var tempKey = inputKeys.ElementAt(i);
|
var tempKey = inputKeys.ElementAt(i);
|
||||||
trilist.SetSigTrueAction((ushort)(joinMap.InputSelectOffset.JoinNumber + i),
|
trilist.SetSigTrueAction((ushort)(joinMap.InputSelectOffset.JoinNumber + i),
|
||||||
() => displayDevice.ExecuteSwitch(displayDevice.InputPorts[tempKey].Selector));
|
() => displayDevice.ExecuteSwitch(displayDevice.InputPorts[tempKey].Selector));
|
||||||
Debug.Console(2, displayDevice, "Setting Input Select Action on Digital Join {0} to Input: {1}",
|
Debug.LogMessage(LogEventLevel.Verbose, displayDevice, "Setting Input Select Action on Digital Join {0} to Input: {1}",
|
||||||
joinMap.InputSelectOffset.JoinNumber + i, displayDevice.InputPorts[tempKey].Key.ToString());
|
joinMap.InputSelectOffset.JoinNumber + i, displayDevice.InputPorts[tempKey].Key.ToString());
|
||||||
trilist.StringInput[(ushort)(joinMap.InputNamesOffset.JoinNumber + i)].StringValue = displayDevice.InputPorts[i].Key.ToString();
|
trilist.StringInput[(ushort)(joinMap.InputNamesOffset.JoinNumber + i)].StringValue = displayDevice.InputPorts[i].Key.ToString();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
Debug.Console(0, displayDevice, Debug.ErrorLogLevel.Warning, "Device has {0} inputs. The Join Map allows up to {1} inputs. Discarding inputs {2} - {3} from bridge.",
|
Debug.LogMessage(LogEventLevel.Information, displayDevice, "Device has {0} inputs. The Join Map allows up to {1} inputs. Discarding inputs {2} - {3} from bridge.",
|
||||||
displayDevice.InputPorts.Count, joinMap.InputNamesOffset.JoinSpan, i + 1, displayDevice.InputPorts.Count);
|
displayDevice.InputPorts.Count, joinMap.InputNamesOffset.JoinSpan, i + 1, displayDevice.InputPorts.Count);
|
||||||
}
|
}
|
||||||
|
|
||||||
Debug.Console(2, displayDevice, "Setting Input Select Action on Analog Join {0}", joinMap.InputSelect);
|
Debug.LogMessage(LogEventLevel.Verbose, displayDevice, "Setting Input Select Action on Analog Join {0}", joinMap.InputSelect);
|
||||||
trilist.SetUShortSigAction(joinMap.InputSelect.JoinNumber, (a) =>
|
trilist.SetUShortSigAction(joinMap.InputSelect.JoinNumber, (a) =>
|
||||||
{
|
{
|
||||||
if (a == 0)
|
if (a == 0)
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,7 @@ using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core.Bridges;
|
using PepperDash.Essentials.Core.Bridges;
|
||||||
using PepperDash.Essentials.Core.Routing;
|
using PepperDash.Essentials.Core.Routing;
|
||||||
using PepperDash.Essentials.Core.Config;
|
using PepperDash.Essentials.Core.Config;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core
|
namespace PepperDash.Essentials.Core
|
||||||
{
|
{
|
||||||
|
|
@ -36,7 +37,7 @@ namespace PepperDash.Essentials.Core
|
||||||
{
|
{
|
||||||
return () =>
|
return () =>
|
||||||
{
|
{
|
||||||
Debug.Console(2, this, "*************************************************** Display Power is {0}", _PowerIsOn ? "on" : "off");
|
Debug.LogMessage(LogEventLevel.Verbose, this, "*************************************************** Display Power is {0}", _PowerIsOn ? "on" : "off");
|
||||||
return _PowerIsOn;
|
return _PowerIsOn;
|
||||||
};
|
};
|
||||||
} }
|
} }
|
||||||
|
|
@ -46,7 +47,7 @@ namespace PepperDash.Essentials.Core
|
||||||
{
|
{
|
||||||
return () =>
|
return () =>
|
||||||
{
|
{
|
||||||
Debug.Console(2, this, "*************************************************** {0}", _IsCoolingDown ? "Display is cooling down" : "Display has finished cooling down");
|
Debug.LogMessage(LogEventLevel.Verbose, this, "*************************************************** {0}", _IsCoolingDown ? "Display is cooling down" : "Display has finished cooling down");
|
||||||
return _IsCoolingDown;
|
return _IsCoolingDown;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
@ -57,7 +58,7 @@ namespace PepperDash.Essentials.Core
|
||||||
{
|
{
|
||||||
return () =>
|
return () =>
|
||||||
{
|
{
|
||||||
Debug.Console(2, this, "*************************************************** {0}", _IsWarmingUp ? "Display is warming up" : "Display has finished warming up");
|
Debug.LogMessage(LogEventLevel.Verbose, this, "*************************************************** {0}", _IsWarmingUp ? "Display is warming up" : "Display has finished warming up");
|
||||||
return _IsWarmingUp;
|
return _IsWarmingUp;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
@ -119,7 +120,7 @@ namespace PepperDash.Essentials.Core
|
||||||
// Fake cool-down cycle
|
// Fake cool-down cycle
|
||||||
CooldownTimer = new CTimer(o =>
|
CooldownTimer = new CTimer(o =>
|
||||||
{
|
{
|
||||||
Debug.Console(2, this, "Cooldown timer ending");
|
Debug.LogMessage(LogEventLevel.Verbose, this, "Cooldown timer ending");
|
||||||
_IsCoolingDown = false;
|
_IsCoolingDown = false;
|
||||||
IsCoolingDownFeedback.InvokeFireUpdate();
|
IsCoolingDownFeedback.InvokeFireUpdate();
|
||||||
_PowerIsOn = false;
|
_PowerIsOn = false;
|
||||||
|
|
@ -138,7 +139,7 @@ namespace PepperDash.Essentials.Core
|
||||||
|
|
||||||
public override void ExecuteSwitch(object selector)
|
public override void ExecuteSwitch(object selector)
|
||||||
{
|
{
|
||||||
Debug.Console(2, this, "ExecuteSwitch: {0}", selector);
|
Debug.LogMessage(LogEventLevel.Verbose, this, "ExecuteSwitch: {0}", selector);
|
||||||
|
|
||||||
if (!_PowerIsOn)
|
if (!_PowerIsOn)
|
||||||
{
|
{
|
||||||
|
|
@ -180,7 +181,7 @@ namespace PepperDash.Essentials.Core
|
||||||
{
|
{
|
||||||
//while (pressRelease)
|
//while (pressRelease)
|
||||||
//{
|
//{
|
||||||
Debug.Console(2, this, "Volume Down {0}", pressRelease);
|
Debug.LogMessage(LogEventLevel.Verbose, this, "Volume Down {0}", pressRelease);
|
||||||
if (pressRelease)
|
if (pressRelease)
|
||||||
{
|
{
|
||||||
var newLevel = _FakeVolumeLevel + VolumeInterval;
|
var newLevel = _FakeVolumeLevel + VolumeInterval;
|
||||||
|
|
@ -194,7 +195,7 @@ namespace PepperDash.Essentials.Core
|
||||||
{
|
{
|
||||||
//while (pressRelease)
|
//while (pressRelease)
|
||||||
//{
|
//{
|
||||||
Debug.Console(2, this, "Volume Up {0}", pressRelease);
|
Debug.LogMessage(LogEventLevel.Verbose, this, "Volume Up {0}", pressRelease);
|
||||||
if (pressRelease)
|
if (pressRelease)
|
||||||
{
|
{
|
||||||
var newLevel = _FakeVolumeLevel - VolumeInterval;
|
var newLevel = _FakeVolumeLevel - VolumeInterval;
|
||||||
|
|
@ -229,7 +230,7 @@ namespace PepperDash.Essentials.Core
|
||||||
|
|
||||||
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
||||||
{
|
{
|
||||||
Debug.Console(1, "Factory Attempting to create new Mock Display Device");
|
Debug.LogMessage(LogEventLevel.Debug, "Factory Attempting to create new Mock Display Device");
|
||||||
return new MockDisplay(dc.Key, dc.Name);
|
return new MockDisplay(dc.Key, dc.Name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ using Crestron.SimplSharp.Reflection;
|
||||||
using Newtonsoft.Json.Linq;
|
using Newtonsoft.Json.Linq;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core.Config;
|
using PepperDash.Essentials.Core.Config;
|
||||||
|
using Serilog.Events;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
|
@ -44,7 +45,7 @@ namespace PepperDash.Essentials.Core
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Error, "Unable to load type: '{1}' DeviceFactory: {0}", e, type.Name);
|
Debug.LogMessage(LogEventLevel.Information, "Unable to load type: '{1}' DeviceFactory: {0}", e, type.Name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -64,17 +65,17 @@ namespace PepperDash.Essentials.Core
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public static void AddFactoryForType(string typeName, Func<DeviceConfig, IKeyed> method)
|
public static void AddFactoryForType(string typeName, Func<DeviceConfig, IKeyed> method)
|
||||||
{
|
{
|
||||||
//Debug.Console(1, Debug.ErrorLogLevel.Notice, "Adding factory method for type '{0}'", typeName);
|
//Debug.LogMessage(LogEventLevel.Debug, "Adding factory method for type '{0}'", typeName);
|
||||||
DeviceFactory.FactoryMethods.Add(typeName, new DeviceFactoryWrapper() { FactoryMethod = method});
|
DeviceFactory.FactoryMethods.Add(typeName, new DeviceFactoryWrapper() { FactoryMethod = method});
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void AddFactoryForType(string typeName, string description, CType cType, Func<DeviceConfig, IKeyed> method)
|
public static void AddFactoryForType(string typeName, string description, CType cType, Func<DeviceConfig, IKeyed> method)
|
||||||
{
|
{
|
||||||
//Debug.Console(1, Debug.ErrorLogLevel.Notice, "Adding factory method for type '{0}'", typeName);
|
//Debug.LogMessage(LogEventLevel.Debug, "Adding factory method for type '{0}'", typeName);
|
||||||
|
|
||||||
if(FactoryMethods.ContainsKey(typeName))
|
if(FactoryMethods.ContainsKey(typeName))
|
||||||
{
|
{
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Error, "Unable to add type: '{0}'. Already exists in DeviceFactory", typeName);
|
Debug.LogMessage(LogEventLevel.Information, "Unable to add type: '{0}'. Already exists in DeviceFactory", typeName);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -104,7 +105,7 @@ namespace PepperDash.Essentials.Core
|
||||||
if (secretProvider == null) return null;
|
if (secretProvider == null) return null;
|
||||||
var secret = secretProvider.GetSecret(data.Key);
|
var secret = secretProvider.GetSecret(data.Key);
|
||||||
if (secret != null) return (string) secret.Value;
|
if (secret != null) return (string) secret.Value;
|
||||||
Debug.Console(1,
|
Debug.LogMessage(LogEventLevel.Debug,
|
||||||
"Unable to retrieve secret {0}{1} - Make sure you've added it to the secrets provider",
|
"Unable to retrieve secret {0}{1} - Make sure you've added it to the secrets provider",
|
||||||
data.Provider, data.Key);
|
data.Provider, data.Key);
|
||||||
return String.Empty;
|
return String.Empty;
|
||||||
|
|
@ -121,7 +122,7 @@ namespace PepperDash.Essentials.Core
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Notice, "Loading '{0}' from Essentials Core", dc.Type);
|
Debug.LogMessage(LogEventLevel.Information, "Loading '{0}' from Essentials Core", dc.Type);
|
||||||
|
|
||||||
var localDc = new DeviceConfig(dc);
|
var localDc = new DeviceConfig(dc);
|
||||||
|
|
||||||
|
|
@ -142,24 +143,24 @@ namespace PepperDash.Essentials.Core
|
||||||
CheckForSecrets(jProp);
|
CheckForSecrets(jProp);
|
||||||
}
|
}
|
||||||
|
|
||||||
Debug.Console(2, "typeName = {0}", typeName);
|
Debug.LogMessage(LogEventLevel.Verbose, "typeName = {0}", typeName);
|
||||||
// Check for types that have been added by plugin dlls.
|
// Check for types that have been added by plugin dlls.
|
||||||
return !FactoryMethods.ContainsKey(typeName) ? null : FactoryMethods[typeName].FactoryMethod(localDc);
|
return !FactoryMethods.ContainsKey(typeName) ? null : FactoryMethods[typeName].FactoryMethod(localDc);
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Error, "Exception occurred while creating device {0}: {1}", dc.Key, ex.Message);
|
Debug.LogMessage(LogEventLevel.Error, "Exception occurred while creating device {0}: {1}", dc.Key, ex.Message);
|
||||||
|
|
||||||
Debug.Console(2, "{0}", ex.StackTrace);
|
Debug.LogMessage(LogEventLevel.Verbose, "{0}", ex.StackTrace);
|
||||||
|
|
||||||
if (ex.InnerException == null)
|
if (ex.InnerException == null)
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Error, "Inner exception while creating device {0}: {1}", dc.Key,
|
Debug.LogMessage(LogEventLevel.Error, "Inner exception while creating device {0}: {1}", dc.Key,
|
||||||
ex.InnerException.Message);
|
ex.InnerException.Message);
|
||||||
Debug.Console(2, "{0}", ex.InnerException.StackTrace);
|
Debug.LogMessage(LogEventLevel.Verbose, "{0}", ex.InnerException.StackTrace);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,8 @@
|
||||||
|
|
||||||
using Crestron.SimplSharp.Reflection;
|
using Crestron.SimplSharp.Reflection;
|
||||||
using Newtonsoft.Json.Linq;
|
|
||||||
using Newtonsoft.Json.Linq;
|
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core.Config;
|
using PepperDash.Essentials.Core.Config;
|
||||||
|
using Serilog.Events;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
|
@ -31,7 +30,7 @@ namespace PepperDash.Essentials.Core
|
||||||
}
|
}
|
||||||
catch( Exception e )
|
catch( Exception e )
|
||||||
{
|
{
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Error, "Unable to load extension device: '{1}' ProcessorExtensionDeviceFactory: {0}", e, extension.Name);
|
Debug.LogMessage(LogEventLevel.Information, "Unable to load extension device: '{1}' ProcessorExtensionDeviceFactory: {0}", e, extension.Name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -52,17 +51,17 @@ namespace PepperDash.Essentials.Core
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public static void AddFactoryForType(string extensionName, Func<DeviceConfig, IKeyed> method)
|
public static void AddFactoryForType(string extensionName, Func<DeviceConfig, IKeyed> method)
|
||||||
{
|
{
|
||||||
//Debug.Console(1, Debug.ErrorLogLevel.Notice, "Adding factory method for type '{0}'", typeName);
|
//Debug.LogMessage(LogEventLevel.Debug, "Adding factory method for type '{0}'", typeName);
|
||||||
ProcessorExtensionDeviceFactory.ProcessorExtensionFactoryMethods.Add(extensionName, new DeviceFactoryWrapper() { FactoryMethod = method });
|
ProcessorExtensionDeviceFactory.ProcessorExtensionFactoryMethods.Add(extensionName, new DeviceFactoryWrapper() { FactoryMethod = method });
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void AddFactoryForType(string extensionName, string description, CType cType, Func<DeviceConfig, IKeyed> method)
|
public static void AddFactoryForType(string extensionName, string description, CType cType, Func<DeviceConfig, IKeyed> method)
|
||||||
{
|
{
|
||||||
//Debug.Console(1, Debug.ErrorLogLevel.Notice, "Adding factory method for type '{0}'", typeName);
|
//Debug.LogMessage(LogEventLevel.Debug, "Adding factory method for type '{0}'", typeName);
|
||||||
|
|
||||||
if (ProcessorExtensionFactoryMethods.ContainsKey(extensionName))
|
if (ProcessorExtensionFactoryMethods.ContainsKey(extensionName))
|
||||||
{
|
{
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Error, "Unable to add extension device: '{0}'. Already exists in ProcessorExtensionDeviceFactory", extensionName);
|
Debug.LogMessage(LogEventLevel.Information, "Unable to add extension device: '{0}'. Already exists in ProcessorExtensionDeviceFactory", extensionName);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -92,7 +91,7 @@ namespace PepperDash.Essentials.Core
|
||||||
if (secretProvider == null) return null;
|
if (secretProvider == null) return null;
|
||||||
var secret = secretProvider.GetSecret(data.Key);
|
var secret = secretProvider.GetSecret(data.Key);
|
||||||
if (secret != null) return (string)secret.Value;
|
if (secret != null) return (string)secret.Value;
|
||||||
Debug.Console(1,
|
Debug.LogMessage(LogEventLevel.Debug,
|
||||||
"Unable to retrieve secret {0}{1} - Make sure you've added it to the secrets provider",
|
"Unable to retrieve secret {0}{1} - Make sure you've added it to the secrets provider",
|
||||||
data.Provider, data.Key);
|
data.Provider, data.Key);
|
||||||
return String.Empty;
|
return String.Empty;
|
||||||
|
|
@ -108,7 +107,7 @@ namespace PepperDash.Essentials.Core
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Notice, "Loading '{0}' from Essentials Core", dc.Type);
|
Debug.LogMessage(LogEventLevel.Information, "Loading '{0}' from Essentials Core", dc.Type);
|
||||||
|
|
||||||
var localDc = new DeviceConfig(dc);
|
var localDc = new DeviceConfig(dc);
|
||||||
|
|
||||||
|
|
@ -128,24 +127,24 @@ namespace PepperDash.Essentials.Core
|
||||||
CheckForSecrets(jProp);
|
CheckForSecrets(jProp);
|
||||||
}
|
}
|
||||||
|
|
||||||
Debug.Console(2, "typeName = {0}", typeName);
|
Debug.LogMessage(LogEventLevel.Verbose, "typeName = {0}", typeName);
|
||||||
// Check for types that have been added by plugin dlls.
|
// Check for types that have been added by plugin dlls.
|
||||||
return !ProcessorExtensionFactoryMethods.ContainsKey(typeName) ? null : ProcessorExtensionFactoryMethods[typeName].FactoryMethod(localDc);
|
return !ProcessorExtensionFactoryMethods.ContainsKey(typeName) ? null : ProcessorExtensionFactoryMethods[typeName].FactoryMethod(localDc);
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Error, "Exception occurred while creating device {0}: {1}", dc.Key, ex.Message);
|
Debug.LogMessage(LogEventLevel.Information, "Exception occurred while creating device {0}: {1}", dc.Key, ex.Message);
|
||||||
|
|
||||||
Debug.Console(2, "{0}", ex.StackTrace);
|
Debug.LogMessage(LogEventLevel.Verbose, "{0}", ex.StackTrace);
|
||||||
|
|
||||||
if (ex.InnerException == null)
|
if (ex.InnerException == null)
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Error, "Inner exception while creating device {0}: {1}", dc.Key,
|
Debug.LogMessage(LogEventLevel.Information, "Inner exception while creating device {0}: {1}", dc.Key,
|
||||||
ex.InnerException.Message);
|
ex.InnerException.Message);
|
||||||
Debug.Console(2, "{0}", ex.InnerException.StackTrace);
|
Debug.LogMessage(LogEventLevel.Verbose, "{0}", ex.InnerException.StackTrace);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ using Crestron.SimplSharp;
|
||||||
using Crestron.SimplSharp.CrestronIO;
|
using Crestron.SimplSharp.CrestronIO;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using Crestron.SimplSharpPro.CrestronThread;
|
using Crestron.SimplSharpPro.CrestronThread;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core
|
namespace PepperDash.Essentials.Core
|
||||||
{
|
{
|
||||||
|
|
@ -26,7 +27,7 @@ namespace PepperDash.Essentials.Core
|
||||||
string fullFilePath = Global.FilePathPrefix + fileName;
|
string fullFilePath = Global.FilePathPrefix + fileName;
|
||||||
DirectoryInfo dirInfo = new DirectoryInfo(Path.GetDirectoryName(fullFilePath));
|
DirectoryInfo dirInfo = new DirectoryInfo(Path.GetDirectoryName(fullFilePath));
|
||||||
var files = dirInfo.GetFiles(Path.GetFileName(fullFilePath));
|
var files = dirInfo.GetFiles(Path.GetFileName(fullFilePath));
|
||||||
Debug.Console(0, "FileIO found: {0}, {1}", files.Count(), fullFilePath);
|
Debug.LogMessage(LogEventLevel.Information, "FileIO found: {0}, {1}", files.Count(), fullFilePath);
|
||||||
if (files.Count() > 0)
|
if (files.Count() > 0)
|
||||||
{
|
{
|
||||||
return files;
|
return files;
|
||||||
|
|
@ -42,7 +43,7 @@ namespace PepperDash.Essentials.Core
|
||||||
string fullFilePath = Global.FilePathPrefix + fileName;
|
string fullFilePath = Global.FilePathPrefix + fileName;
|
||||||
DirectoryInfo dirInfo = new DirectoryInfo(Path.GetDirectoryName(fullFilePath));
|
DirectoryInfo dirInfo = new DirectoryInfo(Path.GetDirectoryName(fullFilePath));
|
||||||
var files = dirInfo.GetFiles(Path.GetFileName(fullFilePath));
|
var files = dirInfo.GetFiles(Path.GetFileName(fullFilePath));
|
||||||
Debug.Console(0, "FileIO found: {0}, {1}", files.Count(), fullFilePath);
|
Debug.LogMessage(LogEventLevel.Information, "FileIO found: {0}, {1}", files.Count(), fullFilePath);
|
||||||
if (files.Count() > 0)
|
if (files.Count() > 0)
|
||||||
{
|
{
|
||||||
return files.FirstOrDefault();
|
return files.FirstOrDefault();
|
||||||
|
|
@ -67,7 +68,7 @@ namespace PepperDash.Essentials.Core
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Error, "Error: FileIO read failed: \r{0}", e);
|
Debug.LogMessage(LogEventLevel.Information, "Error: FileIO read failed: \r{0}", e);
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -84,7 +85,7 @@ namespace PepperDash.Essentials.Core
|
||||||
if (fileLock.TryEnter())
|
if (fileLock.TryEnter())
|
||||||
{
|
{
|
||||||
DirectoryInfo dirInfo = new DirectoryInfo(file.DirectoryName);
|
DirectoryInfo dirInfo = new DirectoryInfo(file.DirectoryName);
|
||||||
Debug.Console(2, "FileIO Getting Data {0}", file.FullName);
|
Debug.LogMessage(LogEventLevel.Verbose, "FileIO Getting Data {0}", file.FullName);
|
||||||
|
|
||||||
if (File.Exists(file.FullName))
|
if (File.Exists(file.FullName))
|
||||||
{
|
{
|
||||||
|
|
@ -95,20 +96,20 @@ namespace PepperDash.Essentials.Core
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Debug.Console(2, "File {0} does not exsist", file.FullName);
|
Debug.LogMessage(LogEventLevel.Verbose, "File {0} does not exsist", file.FullName);
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Error, "FileIO Unable to enter FileLock");
|
Debug.LogMessage(LogEventLevel.Information, "FileIO Unable to enter FileLock");
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Error, "Error: FileIO read failed: \r{0}", e);
|
Debug.LogMessage(LogEventLevel.Information, "Error: FileIO read failed: \r{0}", e);
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
finally
|
finally
|
||||||
|
|
@ -128,7 +129,7 @@ namespace PepperDash.Essentials.Core
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Error, "Error: FileIO read failed: \r{0}", e);
|
Debug.LogMessage(LogEventLevel.Information, "Error: FileIO read failed: \r{0}", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -140,7 +141,7 @@ namespace PepperDash.Essentials.Core
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Error, "Error: FileIO read failed: \r{0}", e);
|
Debug.LogMessage(LogEventLevel.Information, "Error: FileIO read failed: \r{0}", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -152,7 +153,7 @@ namespace PepperDash.Essentials.Core
|
||||||
if (fileLock.TryEnter())
|
if (fileLock.TryEnter())
|
||||||
{
|
{
|
||||||
DirectoryInfo dirInfo = new DirectoryInfo(file.Name);
|
DirectoryInfo dirInfo = new DirectoryInfo(file.Name);
|
||||||
Debug.Console(2, "FileIO Getting Data {0}", file.FullName);
|
Debug.LogMessage(LogEventLevel.Verbose, "FileIO Getting Data {0}", file.FullName);
|
||||||
|
|
||||||
|
|
||||||
if (File.Exists(file.FullName))
|
if (File.Exists(file.FullName))
|
||||||
|
|
@ -164,20 +165,20 @@ namespace PepperDash.Essentials.Core
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Debug.Console(2, "File {0} Does not exsist", file.FullName);
|
Debug.LogMessage(LogEventLevel.Verbose, "File {0} Does not exsist", file.FullName);
|
||||||
data = "";
|
data = "";
|
||||||
}
|
}
|
||||||
GotFileEvent.Invoke(null, new FileEventArgs(data));
|
GotFileEvent.Invoke(null, new FileEventArgs(data));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Error, "FileIO Unable to enter FileLock");
|
Debug.LogMessage(LogEventLevel.Information, "FileIO Unable to enter FileLock");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Error, "Error: FileIO read failed: \r{0}", e);
|
Debug.LogMessage(LogEventLevel.Information, "Error: FileIO read failed: \r{0}", e);
|
||||||
data = "";
|
data = "";
|
||||||
}
|
}
|
||||||
finally
|
finally
|
||||||
|
|
@ -207,13 +208,13 @@ namespace PepperDash.Essentials.Core
|
||||||
_WriteFileThread = new Thread((O) => _WriteFileMethod(data, Global.FilePathPrefix + "/" + filePath), null, Thread.eThreadStartOptions.CreateSuspended);
|
_WriteFileThread = new Thread((O) => _WriteFileMethod(data, Global.FilePathPrefix + "/" + filePath), null, Thread.eThreadStartOptions.CreateSuspended);
|
||||||
_WriteFileThread.Priority = Thread.eThreadPriority.LowestPriority;
|
_WriteFileThread.Priority = Thread.eThreadPriority.LowestPriority;
|
||||||
_WriteFileThread.Start();
|
_WriteFileThread.Start();
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Notice, "New WriteFile Thread");
|
Debug.LogMessage(LogEventLevel.Information, "New WriteFile Thread");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static object _WriteFileMethod(string data, string filePath)
|
static object _WriteFileMethod(string data, string filePath)
|
||||||
{
|
{
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Notice, "Attempting to write file: '{0}'", filePath);
|
Debug.LogMessage(LogEventLevel.Information, "Attempting to write file: '{0}'", filePath);
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
|
@ -229,13 +230,13 @@ namespace PepperDash.Essentials.Core
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Error, "FileIO Unable to enter FileLock");
|
Debug.LogMessage(LogEventLevel.Information, "FileIO Unable to enter FileLock");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Error, "Error: FileIO write failed: \r{0}", e);
|
Debug.LogMessage(LogEventLevel.Error, "Error: FileIO write failed: \r{0}", e);
|
||||||
}
|
}
|
||||||
finally
|
finally
|
||||||
{
|
{
|
||||||
|
|
@ -259,7 +260,7 @@ namespace PepperDash.Essentials.Core
|
||||||
var file = FileIO.GetFile("\\user\\*FileIOTest*");
|
var file = FileIO.GetFile("\\user\\*FileIOTest*");
|
||||||
|
|
||||||
var readData = FileIO.ReadDataFromFile(file);
|
var readData = FileIO.ReadDataFromFile(file);
|
||||||
Debug.Console(0, "Returned {0}", readData);
|
Debug.LogMessage(LogEventLevel.Information, "Returned {0}", readData);
|
||||||
File.Delete(file.FullName);
|
File.Delete(file.FullName);
|
||||||
if (testData == readData)
|
if (testData == readData)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,7 @@ using Crestron.SimplSharpPro.Fusion;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core.Config;
|
using PepperDash.Essentials.Core.Config;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core.Fusion
|
namespace PepperDash.Essentials.Core.Fusion
|
||||||
{
|
{
|
||||||
|
|
@ -128,7 +129,7 @@ namespace PepperDash.Essentials.Core.Fusion
|
||||||
|
|
||||||
if (File.Exists(oldGuidFilePath))
|
if (File.Exists(oldGuidFilePath))
|
||||||
{
|
{
|
||||||
Debug.Console(0, this, "Migrating from old Fusion GUID file to new Fusion GUID File");
|
Debug.LogMessage(LogEventLevel.Information, this, "Migrating from old Fusion GUID file to new Fusion GUID File");
|
||||||
|
|
||||||
File.Copy(oldGuidFilePath, guidFilePath);
|
File.Copy(oldGuidFilePath, guidFilePath);
|
||||||
|
|
||||||
|
|
@ -172,7 +173,7 @@ namespace PepperDash.Essentials.Core.Fusion
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
Debug.Console(0, this, Debug.ErrorLogLevel.Error, "Error Building Fusion System Controller: {0}", e);
|
Debug.LogMessage(LogEventLevel.Information, this, "Error Building Fusion System Controller: {0}", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -231,7 +232,7 @@ namespace PepperDash.Essentials.Core.Fusion
|
||||||
{
|
{
|
||||||
if (string.IsNullOrEmpty(filePath))
|
if (string.IsNullOrEmpty(filePath))
|
||||||
{
|
{
|
||||||
Debug.Console(0, this, "Error writing guid file. No path specified.");
|
Debug.LogMessage(LogEventLevel.Information, this, "Error writing guid file. No path specified.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -246,7 +247,7 @@ namespace PepperDash.Essentials.Core.Fusion
|
||||||
|
|
||||||
fileLock.Enter();
|
fileLock.Enter();
|
||||||
|
|
||||||
Debug.Console(1, this, "Writing GUIDs to file");
|
Debug.LogMessage(LogEventLevel.Debug, this, "Writing GUIDs to file");
|
||||||
|
|
||||||
_guiDs = FusionOccSensor == null
|
_guiDs = FusionOccSensor == null
|
||||||
? new FusionRoomGuids(Room.Name, _ipId, RoomGuid, FusionStaticAssets)
|
? new FusionRoomGuids(Room.Name, _ipId, RoomGuid, FusionStaticAssets)
|
||||||
|
|
@ -260,11 +261,11 @@ namespace PepperDash.Essentials.Core.Fusion
|
||||||
sw.Flush();
|
sw.Flush();
|
||||||
}
|
}
|
||||||
|
|
||||||
Debug.Console(1, this, "Guids successfully written to file '{0}'", filePath);
|
Debug.LogMessage(LogEventLevel.Debug, this, "Guids successfully written to file '{0}'", filePath);
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
Debug.Console(0, this, "Error writing guid file: {0}", e);
|
Debug.LogMessage(LogEventLevel.Information, this, "Error writing guid file: {0}", e);
|
||||||
}
|
}
|
||||||
finally
|
finally
|
||||||
{
|
{
|
||||||
|
|
@ -283,7 +284,7 @@ namespace PepperDash.Essentials.Core.Fusion
|
||||||
{
|
{
|
||||||
if (string.IsNullOrEmpty(filePath))
|
if (string.IsNullOrEmpty(filePath))
|
||||||
{
|
{
|
||||||
Debug.Console(0, this, Debug.ErrorLogLevel.Notice, "Error reading guid file. No path specified.");
|
Debug.LogMessage(LogEventLevel.Information, this, "Error reading guid file. No path specified.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -309,20 +310,20 @@ namespace PepperDash.Essentials.Core.Fusion
|
||||||
FusionStaticAssets = _guiDs.StaticAssets;
|
FusionStaticAssets = _guiDs.StaticAssets;
|
||||||
}
|
}
|
||||||
|
|
||||||
Debug.Console(0, this, Debug.ErrorLogLevel.Notice, "Fusion Guids successfully read from file: {0}",
|
Debug.LogMessage(LogEventLevel.Information, this, "Fusion Guids successfully read from file: {0}",
|
||||||
filePath);
|
filePath);
|
||||||
|
|
||||||
Debug.Console(1, this, "\r\n********************\r\n\tRoom Name: {0}\r\n\tIPID: {1:X}\r\n\tRoomGuid: {2}\r\n*******************", Room.Name, _ipId, RoomGuid);
|
Debug.LogMessage(LogEventLevel.Debug, this, "\r\n********************\r\n\tRoom Name: {0}\r\n\tIPID: {1:X}\r\n\tRoomGuid: {2}\r\n*******************", Room.Name, _ipId, RoomGuid);
|
||||||
|
|
||||||
foreach (var item in FusionStaticAssets)
|
foreach (var item in FusionStaticAssets)
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "\nAsset Name: {0}\nAsset No: {1}\n Guid: {2}", item.Value.Name,
|
Debug.LogMessage(LogEventLevel.Debug, this, "\nAsset Name: {0}\nAsset No: {1}\n Guid: {2}", item.Value.Name,
|
||||||
item.Value.SlotNumber, item.Value.InstanceId);
|
item.Value.SlotNumber, item.Value.InstanceId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
Debug.Console(0, this, Debug.ErrorLogLevel.Notice, "Error reading guid file: {0}", e);
|
Debug.LogMessage(LogEventLevel.Information, this, "Error reading guid file: {0}", e);
|
||||||
}
|
}
|
||||||
finally
|
finally
|
||||||
{
|
{
|
||||||
|
|
@ -335,7 +336,7 @@ namespace PepperDash.Essentials.Core.Fusion
|
||||||
|
|
||||||
protected virtual void CreateSymbolAndBasicSigs(uint ipId)
|
protected virtual void CreateSymbolAndBasicSigs(uint ipId)
|
||||||
{
|
{
|
||||||
Debug.Console(0, this, Debug.ErrorLogLevel.Notice, "Creating Fusion Room symbol with GUID: {0} and IP-ID {1:X2}", RoomGuid, ipId);
|
Debug.LogMessage(LogEventLevel.Information, this, "Creating Fusion Room symbol with GUID: {0} and IP-ID {1:X2}", RoomGuid, ipId);
|
||||||
|
|
||||||
FusionRoom = new FusionRoom(ipId, Global.ControlSystem, Room.Name, RoomGuid);
|
FusionRoom = new FusionRoom(ipId, Global.ControlSystem, Room.Name, RoomGuid);
|
||||||
FusionRoom.ExtenderRoomViewSchedulingDataReservedSigs.Use();
|
FusionRoom.ExtenderRoomViewSchedulingDataReservedSigs.Use();
|
||||||
|
|
@ -554,7 +555,7 @@ namespace PepperDash.Essentials.Core.Fusion
|
||||||
"</Parameters>\n" +
|
"</Parameters>\n" +
|
||||||
"</RequestAction>\n";
|
"</RequestAction>\n";
|
||||||
|
|
||||||
Debug.Console(2, this, "Sending Fusion ActionRequest: \n{0}", actionRequest);
|
Debug.LogMessage(LogEventLevel.Verbose, this, "Sending Fusion ActionRequest: \n{0}", actionRequest);
|
||||||
|
|
||||||
FusionRoom.ExtenderFusionRoomDataReservedSigs.ActionQuery.StringValue = actionRequest;
|
FusionRoom.ExtenderFusionRoomDataReservedSigs.ActionQuery.StringValue = actionRequest;
|
||||||
|
|
||||||
|
|
@ -605,7 +606,7 @@ namespace PepperDash.Essentials.Core.Fusion
|
||||||
"<RequestSchedule><RequestID>FullSchedleRequest</RequestID><RoomID>{0}</RoomID><Start>{1}</Start><HourSpan>24</HourSpan></RequestSchedule>",
|
"<RequestSchedule><RequestID>FullSchedleRequest</RequestID><RoomID>{0}</RoomID><Start>{1}</Start><HourSpan>24</HourSpan></RequestSchedule>",
|
||||||
RoomGuid, currentTime);
|
RoomGuid, currentTime);
|
||||||
|
|
||||||
Debug.Console(2, this, "Sending Fusion ScheduleQuery: \n{0}", requestTest);
|
Debug.LogMessage(LogEventLevel.Verbose, this, "Sending Fusion ScheduleQuery: \n{0}", requestTest);
|
||||||
|
|
||||||
FusionRoom.ExtenderRoomViewSchedulingDataReservedSigs.ScheduleQuery.StringValue = requestTest;
|
FusionRoom.ExtenderRoomViewSchedulingDataReservedSigs.ScheduleQuery.StringValue = requestTest;
|
||||||
|
|
||||||
|
|
@ -633,7 +634,7 @@ namespace PepperDash.Essentials.Core.Fusion
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "Error parsing console command: {0}", e);
|
Debug.LogMessage(LogEventLevel.Debug, this, "Error parsing console command: {0}", e);
|
||||||
}
|
}
|
||||||
|
|
||||||
ModifyMeetingEndTime(requestId, extendMinutes);
|
ModifyMeetingEndTime(requestId, extendMinutes);
|
||||||
|
|
@ -648,7 +649,7 @@ namespace PepperDash.Essentials.Core.Fusion
|
||||||
{
|
{
|
||||||
if (_currentMeeting == null)
|
if (_currentMeeting == null)
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "No meeting in progress. Unable to modify end time.");
|
Debug.LogMessage(LogEventLevel.Debug, this, "No meeting in progress. Unable to modify end time.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -667,13 +668,13 @@ namespace PepperDash.Essentials.Core.Fusion
|
||||||
"<RequestAction><RequestID>{0}</RequestID><RoomID>{1}</RoomID><ActionID>MeetingChange</ActionID><Parameters><Parameter ID = 'MeetingID' Value = '{2}' /><Parameter ID = 'EndTime' Value = '{3}' /></Parameters></RequestAction>"
|
"<RequestAction><RequestID>{0}</RequestID><RoomID>{1}</RoomID><ActionID>MeetingChange</ActionID><Parameters><Parameter ID = 'MeetingID' Value = '{2}' /><Parameter ID = 'EndTime' Value = '{3}' /></Parameters></RequestAction>"
|
||||||
, requestId, RoomGuid, _currentMeeting.MeetingID, extendMinutes);
|
, requestId, RoomGuid, _currentMeeting.MeetingID, extendMinutes);
|
||||||
|
|
||||||
Debug.Console(1, this, "Sending MeetingChange Request: \n{0}", requestTest);
|
Debug.LogMessage(LogEventLevel.Debug, this, "Sending MeetingChange Request: \n{0}", requestTest);
|
||||||
|
|
||||||
FusionRoom.ExtenderFusionRoomDataReservedSigs.ActionQuery.StringValue = requestTest;
|
FusionRoom.ExtenderFusionRoomDataReservedSigs.ActionQuery.StringValue = requestTest;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "Invalid time specified");
|
Debug.LogMessage(LogEventLevel.Debug, this, "Invalid time specified");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -716,11 +717,11 @@ namespace PepperDash.Essentials.Core.Fusion
|
||||||
"</Event>" +
|
"</Event>" +
|
||||||
"</CreateSchedule>";
|
"</CreateSchedule>";
|
||||||
|
|
||||||
Debug.Console(2, this, "Sending CreateMeeting Request: \n{0}", createMeetingRequest);
|
Debug.LogMessage(LogEventLevel.Verbose, this, "Sending CreateMeeting Request: \n{0}", createMeetingRequest);
|
||||||
|
|
||||||
FusionRoom.ExtenderRoomViewSchedulingDataReservedSigs.CreateMeeting.StringValue = createMeetingRequest;
|
FusionRoom.ExtenderRoomViewSchedulingDataReservedSigs.CreateMeeting.StringValue = createMeetingRequest;
|
||||||
|
|
||||||
//Debug.Console(1, this, "Sending CreateMeeting Request: \n{0}", command);
|
//Debug.LogMessage(LogEventLevel.Debug, this, "Sending CreateMeeting Request: \n{0}", command);
|
||||||
|
|
||||||
//FusionRoom.ExtenderRoomViewSchedulingDataReservedSigs.CreateMeeting.StringValue = command;
|
//FusionRoom.ExtenderRoomViewSchedulingDataReservedSigs.CreateMeeting.StringValue = command;
|
||||||
}
|
}
|
||||||
|
|
@ -733,7 +734,7 @@ namespace PepperDash.Essentials.Core.Fusion
|
||||||
protected void ExtenderFusionRoomDataReservedSigs_DeviceExtenderSigChange(DeviceExtender currentDeviceExtender,
|
protected void ExtenderFusionRoomDataReservedSigs_DeviceExtenderSigChange(DeviceExtender currentDeviceExtender,
|
||||||
SigEventArgs args)
|
SigEventArgs args)
|
||||||
{
|
{
|
||||||
Debug.Console(2, this, "Event: {0}\n Sig: {1}\nFusionResponse:\n{2}", args.Event, args.Sig.Name,
|
Debug.LogMessage(LogEventLevel.Verbose, this, "Event: {0}\n Sig: {1}\nFusionResponse:\n{2}", args.Event, args.Sig.Name,
|
||||||
args.Sig.StringValue);
|
args.Sig.StringValue);
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -802,7 +803,7 @@ namespace PepperDash.Essentials.Core.Fusion
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "Error parsing ActionQueryResponse: {0}", e);
|
Debug.LogMessage(LogEventLevel.Debug, this, "Error parsing ActionQueryResponse: {0}", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (args.Sig == FusionRoom.ExtenderFusionRoomDataReservedSigs.LocalDateTimeQueryResponse)
|
else if (args.Sig == FusionRoom.ExtenderFusionRoomDataReservedSigs.LocalDateTimeQueryResponse)
|
||||||
|
|
@ -825,20 +826,20 @@ namespace PepperDash.Essentials.Core.Fusion
|
||||||
|
|
||||||
var currentTime = DateTime.Parse(tempLocalDateTime);
|
var currentTime = DateTime.Parse(tempLocalDateTime);
|
||||||
|
|
||||||
Debug.Console(1, this, "DateTime from Fusion Server: {0}", currentTime);
|
Debug.LogMessage(LogEventLevel.Debug, this, "DateTime from Fusion Server: {0}", currentTime);
|
||||||
|
|
||||||
// Parse time and date from response and insert values
|
// Parse time and date from response and insert values
|
||||||
CrestronEnvironment.SetTimeAndDate((ushort) currentTime.Hour, (ushort) currentTime.Minute,
|
CrestronEnvironment.SetTimeAndDate((ushort) currentTime.Hour, (ushort) currentTime.Minute,
|
||||||
(ushort) currentTime.Second, (ushort) currentTime.Month, (ushort) currentTime.Day,
|
(ushort) currentTime.Second, (ushort) currentTime.Month, (ushort) currentTime.Day,
|
||||||
(ushort) currentTime.Year);
|
(ushort) currentTime.Year);
|
||||||
|
|
||||||
Debug.Console(1, this, "Processor time set to {0}", CrestronEnvironment.GetLocalTime());
|
Debug.LogMessage(LogEventLevel.Debug, this, "Processor time set to {0}", CrestronEnvironment.GetLocalTime());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "Error parsing LocalDateTimeQueryResponse: {0}", e);
|
Debug.LogMessage(LogEventLevel.Debug, this, "Error parsing LocalDateTimeQueryResponse: {0}", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (args.Sig == FusionRoom.ExtenderFusionRoomDataReservedSigs.RoomConfigResponse)
|
else if (args.Sig == FusionRoom.ExtenderFusionRoomDataReservedSigs.RoomConfigResponse)
|
||||||
|
|
@ -847,7 +848,7 @@ namespace PepperDash.Essentials.Core.Fusion
|
||||||
|
|
||||||
var roomConfigResponseArgs = args.Sig.StringValue.Replace("&", "and");
|
var roomConfigResponseArgs = args.Sig.StringValue.Replace("&", "and");
|
||||||
|
|
||||||
Debug.Console(2, this, "Fusion Response: \n {0}", roomConfigResponseArgs);
|
Debug.LogMessage(LogEventLevel.Verbose, this, "Fusion Response: \n {0}", roomConfigResponseArgs);
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
|
@ -912,7 +913,7 @@ namespace PepperDash.Essentials.Core.Fusion
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "Error parsing Custom Properties response: {0}", e);
|
Debug.LogMessage(LogEventLevel.Debug, this, "Error parsing Custom Properties response: {0}", e);
|
||||||
}
|
}
|
||||||
//PrintRoomInfo();
|
//PrintRoomInfo();
|
||||||
//getRoomInfoBusy = false;
|
//getRoomInfoBusy = false;
|
||||||
|
|
@ -928,7 +929,7 @@ namespace PepperDash.Essentials.Core.Fusion
|
||||||
protected void FusionRoomSchedule_DeviceExtenderSigChange(DeviceExtender currentDeviceExtender,
|
protected void FusionRoomSchedule_DeviceExtenderSigChange(DeviceExtender currentDeviceExtender,
|
||||||
SigEventArgs args)
|
SigEventArgs args)
|
||||||
{
|
{
|
||||||
Debug.Console(2, this, "Scehdule Response Event: {0}\n Sig: {1}\nFusionResponse:\n{2}", args.Event,
|
Debug.LogMessage(LogEventLevel.Verbose, this, "Scehdule Response Event: {0}\n Sig: {1}\nFusionResponse:\n{2}", args.Event,
|
||||||
args.Sig.Name, args.Sig.StringValue);
|
args.Sig.Name, args.Sig.StringValue);
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -980,7 +981,7 @@ namespace PepperDash.Essentials.Core.Fusion
|
||||||
}
|
}
|
||||||
else if (element.Name == "Event")
|
else if (element.Name == "Event")
|
||||||
{
|
{
|
||||||
Debug.Console(2, this, "Event Found:\n{0}", element.OuterXml);
|
Debug.LogMessage(LogEventLevel.Verbose, this, "Event Found:\n{0}", element.OuterXml);
|
||||||
|
|
||||||
var reader = new XmlReader(element.OuterXml);
|
var reader = new XmlReader(element.OuterXml);
|
||||||
|
|
||||||
|
|
@ -1024,12 +1025,12 @@ namespace PepperDash.Essentials.Core.Fusion
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "Error parsing ScheduleResponse: {0}", e);
|
Debug.LogMessage(LogEventLevel.Debug, this, "Error parsing ScheduleResponse: {0}", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (args.Sig == FusionRoom.ExtenderRoomViewSchedulingDataReservedSigs.CreateResponse)
|
else if (args.Sig == FusionRoom.ExtenderRoomViewSchedulingDataReservedSigs.CreateResponse)
|
||||||
{
|
{
|
||||||
Debug.Console(2, this, "Create Meeting Response Event: {0}\n Sig: {1}\nFusionResponse:\n{2}", args.Event,
|
Debug.LogMessage(LogEventLevel.Verbose, this, "Create Meeting Response Event: {0}\n Sig: {1}\nFusionResponse:\n{2}", args.Event,
|
||||||
args.Sig.Name, args.Sig.StringValue);
|
args.Sig.Name, args.Sig.StringValue);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1043,16 +1044,16 @@ namespace PepperDash.Essentials.Core.Fusion
|
||||||
{
|
{
|
||||||
if (_currentSchedule.Meetings.Count > 0)
|
if (_currentSchedule.Meetings.Count > 0)
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "Today's Schedule for '{0}'\n", Room.Name);
|
Debug.LogMessage(LogEventLevel.Debug, this, "Today's Schedule for '{0}'\n", Room.Name);
|
||||||
|
|
||||||
foreach (var e in _currentSchedule.Meetings)
|
foreach (var e in _currentSchedule.Meetings)
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "Subject: {0}", e.Subject);
|
Debug.LogMessage(LogEventLevel.Debug, this, "Subject: {0}", e.Subject);
|
||||||
Debug.Console(1, this, "Organizer: {0}", e.Organizer);
|
Debug.LogMessage(LogEventLevel.Debug, this, "Organizer: {0}", e.Organizer);
|
||||||
Debug.Console(1, this, "MeetingID: {0}", e.MeetingID);
|
Debug.LogMessage(LogEventLevel.Debug, this, "MeetingID: {0}", e.MeetingID);
|
||||||
Debug.Console(1, this, "Start Time: {0}", e.dtStart);
|
Debug.LogMessage(LogEventLevel.Debug, this, "Start Time: {0}", e.dtStart);
|
||||||
Debug.Console(1, this, "End Time: {0}", e.dtEnd);
|
Debug.LogMessage(LogEventLevel.Debug, this, "End Time: {0}", e.dtEnd);
|
||||||
Debug.Console(1, this, "Duration: {0}\n", e.DurationInMinutes);
|
Debug.LogMessage(LogEventLevel.Debug, this, "Duration: {0}\n", e.DurationInMinutes);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1110,7 +1111,7 @@ namespace PepperDash.Essentials.Core.Fusion
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "WARNING: Config source list '{0}' not found for room '{1}'",
|
Debug.LogMessage(LogEventLevel.Debug, this, "WARNING: Config source list '{0}' not found for room '{1}'",
|
||||||
Room.SourceListKey, Room.Key);
|
Room.SourceListKey, Room.Key);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1144,18 +1145,18 @@ namespace PepperDash.Essentials.Core.Fusion
|
||||||
e.UsageEndTime.ToString("yyyy-MM-dd"), e.UsageEndTime.ToString("HH:mm:ss"),
|
e.UsageEndTime.ToString("yyyy-MM-dd"), e.UsageEndTime.ToString("HH:mm:ss"),
|
||||||
@group, deviceTracker.Parent.Name, e.MinutesUsed, "-", currentMeetingId);
|
@group, deviceTracker.Parent.Name, e.MinutesUsed, "-", currentMeetingId);
|
||||||
|
|
||||||
Debug.Console(1, this, "Device usage for: {0} ended at {1}. In use for {2} minutes",
|
Debug.LogMessage(LogEventLevel.Debug, this, "Device usage for: {0} ended at {1}. In use for {2} minutes",
|
||||||
deviceTracker.Parent.Name, e.UsageEndTime, e.MinutesUsed);
|
deviceTracker.Parent.Name, e.UsageEndTime, e.MinutesUsed);
|
||||||
|
|
||||||
FusionRoom.DeviceUsage.InputSig.StringValue = deviceUsage;
|
FusionRoom.DeviceUsage.InputSig.StringValue = deviceUsage;
|
||||||
|
|
||||||
Debug.Console(1, this, "Device usage string: {0}", deviceUsage);
|
Debug.LogMessage(LogEventLevel.Debug, this, "Device usage string: {0}", deviceUsage);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
protected void TryAddRouteActionSigs(string attrName, uint attrNum, string routeKey, Device pSrc)
|
protected void TryAddRouteActionSigs(string attrName, uint attrNum, string routeKey, Device pSrc)
|
||||||
{
|
{
|
||||||
Debug.Console(2, this, "Creating attribute '{0}' with join {1} for source {2}",
|
Debug.LogMessage(LogEventLevel.Verbose, this, "Creating attribute '{0}' with join {1} for source {2}",
|
||||||
attrName, attrNum, pSrc.Key);
|
attrName, attrNum, pSrc.Key);
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
|
@ -1176,7 +1177,7 @@ namespace PepperDash.Essentials.Core.Fusion
|
||||||
}
|
}
|
||||||
catch (Exception)
|
catch (Exception)
|
||||||
{
|
{
|
||||||
Debug.Console(2, this, "Error creating Fusion signal {0} {1} for device '{2}'. THIS NEEDS REWORKING",
|
Debug.LogMessage(LogEventLevel.Verbose, this, "Error creating Fusion signal {0} {1} for device '{2}'. THIS NEEDS REWORKING",
|
||||||
attrNum, attrName, pSrc.Key);
|
attrNum, attrName, pSrc.Key);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1205,7 +1206,7 @@ namespace PepperDash.Essentials.Core.Fusion
|
||||||
//var keyNum = ExtractNumberFromKey(dev.Key);
|
//var keyNum = ExtractNumberFromKey(dev.Key);
|
||||||
//if (keyNum == -1)
|
//if (keyNum == -1)
|
||||||
//{
|
//{
|
||||||
// Debug.Console(1, this, "WARNING: Cannot link device '{0}' to numbered Fusion monitoring attributes",
|
// Debug.LogMessage(LogEventLevel.Debug, this, "WARNING: Cannot link device '{0}' to numbered Fusion monitoring attributes",
|
||||||
// dev.Key);
|
// dev.Key);
|
||||||
// continue;
|
// continue;
|
||||||
//}
|
//}
|
||||||
|
|
@ -1277,7 +1278,7 @@ namespace PepperDash.Essentials.Core.Fusion
|
||||||
sigD.InputSig.BoolValue = smd.CommunicationMonitor.Status == MonitorStatus.IsOk;
|
sigD.InputSig.BoolValue = smd.CommunicationMonitor.Status == MonitorStatus.IsOk;
|
||||||
smd.CommunicationMonitor.StatusChange +=
|
smd.CommunicationMonitor.StatusChange +=
|
||||||
(o, a) => { sigD.InputSig.BoolValue = a.Status == MonitorStatus.IsOk; };
|
(o, a) => { sigD.InputSig.BoolValue = a.Status == MonitorStatus.IsOk; };
|
||||||
Debug.Console(0, this, "Linking '{0}' communication monitor to Fusion '{1}'", dev.Key, attrName);
|
Debug.LogMessage(LogEventLevel.Information, this, "Linking '{0}' communication monitor to Fusion '{1}'", dev.Key, attrName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1306,7 +1307,7 @@ namespace PepperDash.Essentials.Core.Fusion
|
||||||
var defaultDisplay = hasDefaultDisplay.DefaultDisplay as DisplayBase;
|
var defaultDisplay = hasDefaultDisplay.DefaultDisplay as DisplayBase;
|
||||||
if (defaultDisplay == null)
|
if (defaultDisplay == null)
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "Cannot link null display to Fusion because default display is null");
|
Debug.LogMessage(LogEventLevel.Debug, this, "Cannot link null display to Fusion because default display is null");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1374,7 +1375,7 @@ namespace PepperDash.Essentials.Core.Fusion
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "Error setting up display in Fusion: {0}", e);
|
Debug.LogMessage(LogEventLevel.Debug, this, "Error setting up display in Fusion: {0}", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1467,7 +1468,7 @@ namespace PepperDash.Essentials.Core.Fusion
|
||||||
if (md != null)
|
if (md != null)
|
||||||
{
|
{
|
||||||
_errorMessageRollUp.AddMonitor(md.CommunicationMonitor);
|
_errorMessageRollUp.AddMonitor(md.CommunicationMonitor);
|
||||||
Debug.Console(2, this, "Adding '{0}' to room's overall error monitor",
|
Debug.LogMessage(LogEventLevel.Verbose, this, "Adding '{0}' to room's overall error monitor",
|
||||||
md.CommunicationMonitor.Parent.Key);
|
md.CommunicationMonitor.Parent.Key);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1704,19 +1705,19 @@ namespace PepperDash.Essentials.Core.Fusion
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
Debug.Console(0, "Adding Fusion Static Asset '{0}' to slot {1} with GUID: '{2}'", name, number, instanceId);
|
Debug.LogMessage(LogEventLevel.Information, "Adding Fusion Static Asset '{0}' to slot {1} with GUID: '{2}'", name, number, instanceId);
|
||||||
|
|
||||||
fr.AddAsset(eAssetType.StaticAsset, number, name, type, instanceId);
|
fr.AddAsset(eAssetType.StaticAsset, number, name, type, instanceId);
|
||||||
return fr.UserConfigurableAssetDetails[number].Asset as FusionStaticAsset;
|
return fr.UserConfigurableAssetDetails[number].Asset as FusionStaticAsset;
|
||||||
}
|
}
|
||||||
catch (InvalidOperationException ex)
|
catch (InvalidOperationException ex)
|
||||||
{
|
{
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Notice, "Error creating Static Asset for device: '{0}'. Check that multiple devices don't have missing or duplicate uid properties in configuration. /r/nError: {1}", name, ex);
|
Debug.LogMessage(LogEventLevel.Information, "Error creating Static Asset for device: '{0}'. Check that multiple devices don't have missing or duplicate uid properties in configuration. /r/nError: {1}", name, ex);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
Debug.Console(2, Debug.ErrorLogLevel.Error, "Error creating Static Asset: {0}", e);
|
Debug.LogMessage(LogEventLevel.Verbose, "Error creating Static Asset: {0}", e);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1726,7 +1727,7 @@ namespace PepperDash.Essentials.Core.Fusion
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
Debug.Console(0, "Adding Fusion Occupancy Sensor Asset '{0}' to slot {1} with GUID: '{2}'", name, number,
|
Debug.LogMessage(LogEventLevel.Information, "Adding Fusion Occupancy Sensor Asset '{0}' to slot {1} with GUID: '{2}'", name, number,
|
||||||
instanceId);
|
instanceId);
|
||||||
|
|
||||||
fr.AddAsset(eAssetType.OccupancySensor, number, name, type, instanceId);
|
fr.AddAsset(eAssetType.OccupancySensor, number, name, type, instanceId);
|
||||||
|
|
@ -1734,12 +1735,12 @@ namespace PepperDash.Essentials.Core.Fusion
|
||||||
}
|
}
|
||||||
catch (InvalidOperationException ex)
|
catch (InvalidOperationException ex)
|
||||||
{
|
{
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Notice, "Error creating Static Asset for device: '{0}'. Check that multiple devices don't have missing or duplicate uid properties in configuration. Error: {1}", name, ex);
|
Debug.LogMessage(LogEventLevel.Information, "Error creating Static Asset for device: '{0}'. Check that multiple devices don't have missing or duplicate uid properties in configuration. Error: {1}", name, ex);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
Debug.Console(2, Debug.ErrorLogLevel.Error, "Error creating Static Asset: {0}", e);
|
Debug.LogMessage(LogEventLevel.Error, "Error creating Static Asset: {0}", e);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,7 @@ using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core;
|
using PepperDash.Essentials.Core;
|
||||||
using PepperDash.Essentials.Core.Config;
|
using PepperDash.Essentials.Core.Config;
|
||||||
using PepperDash.Essentials.Core.Devices;
|
using PepperDash.Essentials.Core.Devices;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core.Fusion
|
namespace PepperDash.Essentials.Core.Fusion
|
||||||
{
|
{
|
||||||
|
|
@ -38,7 +39,7 @@ namespace PepperDash.Essentials.Core.Fusion
|
||||||
|
|
||||||
if (device is RoomOnToDefaultSourceWhenOccupied)
|
if (device is RoomOnToDefaultSourceWhenOccupied)
|
||||||
{
|
{
|
||||||
Debug.Console(1, "Mapping Room on via Occupancy values from Fusion");
|
Debug.LogMessage(LogEventLevel.Debug, "Mapping Room on via Occupancy values from Fusion");
|
||||||
|
|
||||||
var devProps = JsonConvert.DeserializeObject<RoomOnToDefaultSourceWhenOccupiedConfig>(deviceConfig.Properties.ToString());
|
var devProps = JsonConvert.DeserializeObject<RoomOnToDefaultSourceWhenOccupiedConfig>(deviceConfig.Properties.ToString());
|
||||||
|
|
||||||
|
|
@ -89,18 +90,18 @@ namespace PepperDash.Essentials.Core.Fusion
|
||||||
// Set the room name
|
// Set the room name
|
||||||
if (!string.IsNullOrEmpty(roomInfo.Name))
|
if (!string.IsNullOrEmpty(roomInfo.Name))
|
||||||
{
|
{
|
||||||
Debug.Console(1, "Current Room Name: {0}. New Room Name: {1}", deviceConfig.Name, roomInfo.Name);
|
Debug.LogMessage(LogEventLevel.Debug, "Current Room Name: {0}. New Room Name: {1}", deviceConfig.Name, roomInfo.Name);
|
||||||
// Set the name in config
|
// Set the name in config
|
||||||
deviceConfig.Name = roomInfo.Name;
|
deviceConfig.Name = roomInfo.Name;
|
||||||
|
|
||||||
Debug.Console(1, "Room Name Successfully Changed.");
|
Debug.LogMessage(LogEventLevel.Debug, "Room Name Successfully Changed.");
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set the help message
|
// Set the help message
|
||||||
var helpMessage = roomInfo.FusionCustomProperties.FirstOrDefault(p => p.ID.Equals("RoomHelpMessage"));
|
var helpMessage = roomInfo.FusionCustomProperties.FirstOrDefault(p => p.ID.Equals("RoomHelpMessage"));
|
||||||
if (helpMessage != null)
|
if (helpMessage != null)
|
||||||
{
|
{
|
||||||
//Debug.Console(1, "Current Help Message: {0}. New Help Message: {1}", deviceConfig.Properties["help"]["message"].Value<string>(ToString()), helpMessage.CustomFieldValue);
|
//Debug.LogMessage(LogEventLevel.Debug, "Current Help Message: {0}. New Help Message: {1}", deviceConfig.Properties["help"]["message"].Value<string>(ToString()), helpMessage.CustomFieldValue);
|
||||||
deviceConfig.Properties["helpMessage"] = (string)helpMessage.CustomFieldValue;
|
deviceConfig.Properties["helpMessage"] = (string)helpMessage.CustomFieldValue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -113,7 +114,7 @@ namespace PepperDash.Essentials.Core.Fusion
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
Debug.Console(1, "FusionCustomPropetiesBridge: Error mapping properties: {0}", e);
|
Debug.LogMessage(LogEventLevel.Debug, "FusionCustomPropetiesBridge: Error mapping properties: {0}", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using Crestron.SimplSharp;
|
using Crestron.SimplSharp;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core.Fusion
|
namespace PepperDash.Essentials.Core.Fusion
|
||||||
{
|
{
|
||||||
|
|
@ -45,7 +46,7 @@ namespace PepperDash.Essentials.Core.Fusion
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
programs[i] = item;
|
programs[i] = item;
|
||||||
Debug.Console(1, "Program {0}: {1}", i, item.Name);
|
Debug.LogMessage(LogEventLevel.Debug, "Program {0}: {1}", i, item.Name);
|
||||||
}
|
}
|
||||||
return programs;
|
return programs;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ using Crestron.SimplSharp;
|
||||||
using Crestron.SimplSharpPro.Fusion;
|
using Crestron.SimplSharpPro.Fusion;
|
||||||
|
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core.Fusion
|
namespace PepperDash.Essentials.Core.Fusion
|
||||||
{
|
{
|
||||||
|
|
@ -74,7 +75,7 @@ namespace PepperDash.Essentials.Core.Fusion
|
||||||
{
|
{
|
||||||
var slotNum = GetNextAvailableAssetNumber(room);
|
var slotNum = GetNextAvailableAssetNumber(room);
|
||||||
|
|
||||||
Debug.Console(2, "Adding Fusion Asset: {0} of Type: {1} at Slot Number: {2} with GUID: {3}", assetName, type, slotNum, instanceId);
|
Debug.LogMessage(LogEventLevel.Verbose, "Adding Fusion Asset: {0} of Type: {1} at Slot Number: {2} with GUID: {3}", assetName, type, slotNum, instanceId);
|
||||||
|
|
||||||
var tempAsset = new FusionAsset(slotNum, assetName, type, instanceId);
|
var tempAsset = new FusionAsset(slotNum, assetName, type, instanceId);
|
||||||
|
|
||||||
|
|
@ -105,7 +106,7 @@ namespace PepperDash.Essentials.Core.Fusion
|
||||||
else
|
else
|
||||||
slotNum = slotNum + 1;
|
slotNum = slotNum + 1;
|
||||||
|
|
||||||
Debug.Console(2, "#Next available fusion asset number is: {0}", slotNum);
|
Debug.LogMessage(LogEventLevel.Verbose, "#Next available fusion asset number is: {0}", slotNum);
|
||||||
|
|
||||||
return slotNum;
|
return slotNum;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,7 @@ using PepperDash.Essentials.License;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
using Newtonsoft.Json.Linq;
|
using Newtonsoft.Json.Linq;
|
||||||
using Newtonsoft.Json.Schema;
|
using Newtonsoft.Json.Schema;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core
|
namespace PepperDash.Essentials.Core
|
||||||
|
|
@ -169,28 +170,28 @@ namespace PepperDash.Essentials.Core
|
||||||
{
|
{
|
||||||
if (Regex.Match(AssemblyVersion, @"^(\d*).(\d*).(\d*).*").Groups[1].Value == "0")
|
if (Regex.Match(AssemblyVersion, @"^(\d*).(\d*).(\d*).*").Groups[1].Value == "0")
|
||||||
{
|
{
|
||||||
Debug.Console(2, "Running Local Build. Bypassing Dependency Check.");
|
Debug.LogMessage(LogEventLevel.Verbose, "Running Local Build. Bypassing Dependency Check.");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (developmentVersions == null)
|
if (developmentVersions == null)
|
||||||
{
|
{
|
||||||
Debug.Console(0,
|
Debug.LogMessage(LogEventLevel.Information,
|
||||||
"Development Plugin does not specify a list of versions. Loading plugin may not work as expected. Checking Minumum version");
|
"Development Plugin does not specify a list of versions. Loading plugin may not work as expected. Checking Minumum version");
|
||||||
return IsRunningMinimumVersionOrHigher(minimumVersion);
|
return IsRunningMinimumVersionOrHigher(minimumVersion);
|
||||||
}
|
}
|
||||||
|
|
||||||
Debug.Console(2, "Comparing running version '{0}' to minimum versions '{1}'", AssemblyVersion, developmentVersions);
|
Debug.LogMessage(LogEventLevel.Verbose, "Comparing running version '{0}' to minimum versions '{1}'", AssemblyVersion, developmentVersions);
|
||||||
|
|
||||||
var versionMatch = developmentVersions.FirstOrDefault(x => x == AssemblyVersion);
|
var versionMatch = developmentVersions.FirstOrDefault(x => x == AssemblyVersion);
|
||||||
|
|
||||||
if (String.IsNullOrEmpty(versionMatch))
|
if (String.IsNullOrEmpty(versionMatch))
|
||||||
{
|
{
|
||||||
Debug.Console(0, "Essentials Build does not match any builds required for plugin load. Bypassing Plugin Load.");
|
Debug.LogMessage(LogEventLevel.Information, "Essentials Build does not match any builds required for plugin load. Bypassing Plugin Load.");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
Debug.Console(2, "Essentials Build {0} matches list of development builds", AssemblyVersion);
|
Debug.LogMessage(LogEventLevel.Verbose, "Essentials Build {0} matches list of development builds", AssemblyVersion);
|
||||||
return IsRunningMinimumVersionOrHigher(minimumVersion);
|
return IsRunningMinimumVersionOrHigher(minimumVersion);
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -204,11 +205,11 @@ namespace PepperDash.Essentials.Core
|
||||||
/// <returns>Returns true if the running version meets or exceeds the minimum specified version</returns>
|
/// <returns>Returns true if the running version meets or exceeds the minimum specified version</returns>
|
||||||
public static bool IsRunningMinimumVersionOrHigher(string minimumVersion)
|
public static bool IsRunningMinimumVersionOrHigher(string minimumVersion)
|
||||||
{
|
{
|
||||||
Debug.Console(2, "Comparing running version '{0}' to minimum version '{1}'", AssemblyVersion, minimumVersion);
|
Debug.LogMessage(LogEventLevel.Verbose, "Comparing running version '{0}' to minimum version '{1}'", AssemblyVersion, minimumVersion);
|
||||||
|
|
||||||
if (String.IsNullOrEmpty(minimumVersion))
|
if (String.IsNullOrEmpty(minimumVersion))
|
||||||
{
|
{
|
||||||
Debug.Console(0,"Plugin does not specify a minimum version. Loading plugin may not work as expected. Proceeding with loading plugin");
|
Debug.LogMessage(LogEventLevel.Information,"Plugin does not specify a minimum version. Loading plugin may not work as expected. Proceeding with loading plugin");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -227,7 +228,7 @@ namespace PepperDash.Essentials.Core
|
||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
{
|
{
|
||||||
Debug.Console(2, "unable to parse minimum version {0}. Bypassing plugin load.", minimumVersion);
|
Debug.LogMessage(LogEventLevel.Verbose, "unable to parse minimum version {0}. Bypassing plugin load.", minimumVersion);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -238,7 +239,7 @@ namespace PepperDash.Essentials.Core
|
||||||
return runtimeVer.CompareTo(minimumVer) >= 0;
|
return runtimeVer.CompareTo(minimumVer) >= 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
Debug.Console(2, "Running Local Build. Bypassing Dependency Check.");
|
Debug.LogMessage(LogEventLevel.Verbose, "Running Local Build. Bypassing Dependency Check.");
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@ using Crestron.SimplSharp.Scheduler;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core.Fusion;
|
using PepperDash.Essentials.Core.Fusion;
|
||||||
using PepperDash.Essentials.Room.Config;
|
using PepperDash.Essentials.Room.Config;
|
||||||
|
using Serilog.Events;
|
||||||
using Activator = System.Activator;
|
using Activator = System.Activator;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core
|
namespace PepperDash.Essentials.Core
|
||||||
|
|
@ -38,7 +39,7 @@ namespace PepperDash.Essentials.Core
|
||||||
{
|
{
|
||||||
if (!EventGroups.ContainsKey(groupName))
|
if (!EventGroups.ContainsKey(groupName))
|
||||||
{
|
{
|
||||||
Debug.Console(0,
|
Debug.LogMessage(LogEventLevel.Information,
|
||||||
"[Scheduler]: Unable to delete events from group '{0}'. Group not found in EventGroups dictionary.",
|
"[Scheduler]: Unable to delete events from group '{0}'. Group not found in EventGroups dictionary.",
|
||||||
groupName);
|
groupName);
|
||||||
return;
|
return;
|
||||||
|
|
@ -50,38 +51,38 @@ namespace PepperDash.Essentials.Core
|
||||||
{
|
{
|
||||||
group.ClearAllEvents();
|
group.ClearAllEvents();
|
||||||
|
|
||||||
Debug.Console(0, "[Scheduler]: All events deleted from group '{0}'", groupName);
|
Debug.LogMessage(LogEventLevel.Information, "[Scheduler]: All events deleted from group '{0}'", groupName);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
Debug.Console(0,
|
Debug.LogMessage(LogEventLevel.Information,
|
||||||
"[Scheduler]: Unable to delete events from group '{0}'. Group not found in EventGroups dictionary.",
|
"[Scheduler]: Unable to delete events from group '{0}'. Group not found in EventGroups dictionary.",
|
||||||
groupName);
|
groupName);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ListAllEventGroups(string command)
|
static void ListAllEventGroups(string command)
|
||||||
{
|
{
|
||||||
Debug.Console(0, "Event Groups:");
|
Debug.LogMessage(LogEventLevel.Information, "Event Groups:");
|
||||||
foreach (var group in EventGroups)
|
foreach (var group in EventGroups)
|
||||||
{
|
{
|
||||||
Debug.Console(0, "{0}", group.Key);
|
Debug.LogMessage(LogEventLevel.Information, "{0}", group.Key);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ListAllEventsForGroup(string args)
|
static void ListAllEventsForGroup(string args)
|
||||||
{
|
{
|
||||||
Debug.Console(0, "Getting events for group {0}...", args);
|
Debug.LogMessage(LogEventLevel.Information, "Getting events for group {0}...", args);
|
||||||
|
|
||||||
ScheduledEventGroup group;
|
ScheduledEventGroup group;
|
||||||
|
|
||||||
if (!EventGroups.TryGetValue(args, out group))
|
if (!EventGroups.TryGetValue(args, out group))
|
||||||
{
|
{
|
||||||
Debug.Console(0, "Unabled to get event group for key {0}", args);
|
Debug.LogMessage(LogEventLevel.Information, "Unabled to get event group for key {0}", args);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach (var evt in group.ScheduledEvents)
|
foreach (var evt in group.ScheduledEvents)
|
||||||
{
|
{
|
||||||
Debug.Console(0,
|
Debug.LogMessage(LogEventLevel.Information,
|
||||||
@"
|
@"
|
||||||
****Event key {0}****
|
****Event key {0}****
|
||||||
Event date/time: {1}
|
Event date/time: {1}
|
||||||
|
|
@ -137,7 +138,7 @@ Recurrence Days: {5}
|
||||||
|
|
||||||
var dayOfWeek = eventTime.DayOfWeek;
|
var dayOfWeek = eventTime.DayOfWeek;
|
||||||
|
|
||||||
Debug.Console(1, "[Scheduler]: eventTime day of week is: {0}", dayOfWeek);
|
Debug.LogMessage(LogEventLevel.Debug, "[Scheduler]: eventTime day of week is: {0}", dayOfWeek);
|
||||||
|
|
||||||
switch (dayOfWeek)
|
switch (dayOfWeek)
|
||||||
{
|
{
|
||||||
|
|
@ -185,7 +186,7 @@ Recurrence Days: {5}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Debug.Console(1, "[Scheduler]: eventTime day of week matches recurrence days: {0}", isMatch);
|
Debug.LogMessage(LogEventLevel.Debug, "[Scheduler]: eventTime day of week matches recurrence days: {0}", isMatch);
|
||||||
|
|
||||||
return isMatch;
|
return isMatch;
|
||||||
}
|
}
|
||||||
|
|
@ -204,7 +205,7 @@ Recurrence Days: {5}
|
||||||
{
|
{
|
||||||
if (group == null)
|
if (group == null)
|
||||||
{
|
{
|
||||||
Debug.Console(0, "Unable to create event. Group is null");
|
Debug.LogMessage(LogEventLevel.Information, "Unable to create event. Group is null");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var scheduledEvent = new ScheduledEvent(config.Key, group)
|
var scheduledEvent = new ScheduledEvent(config.Key, group)
|
||||||
|
|
@ -224,12 +225,12 @@ Recurrence Days: {5}
|
||||||
eventTime = eventTime.AddDays(1);
|
eventTime = eventTime.AddDays(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
Debug.Console(2, "[Scheduler] Current Date day of week: {0} recurrence days: {1}", eventTime.DayOfWeek,
|
Debug.LogMessage(LogEventLevel.Verbose, "[Scheduler] Current Date day of week: {0} recurrence days: {1}", eventTime.DayOfWeek,
|
||||||
config.Days);
|
config.Days);
|
||||||
|
|
||||||
var dayOfWeekConverted = ConvertDayOfWeek(eventTime);
|
var dayOfWeekConverted = ConvertDayOfWeek(eventTime);
|
||||||
|
|
||||||
Debug.Console(1, "[Scheduler] eventTime Day: {0}", dayOfWeekConverted);
|
Debug.LogMessage(LogEventLevel.Debug, "[Scheduler] eventTime Day: {0}", dayOfWeekConverted);
|
||||||
|
|
||||||
while (!dayOfWeekConverted.IsFlagSet(config.Days))
|
while (!dayOfWeekConverted.IsFlagSet(config.Days))
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,7 @@ using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core.Config;
|
using PepperDash.Essentials.Core.Config;
|
||||||
|
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core
|
namespace PepperDash.Essentials.Core
|
||||||
{
|
{
|
||||||
|
|
@ -57,11 +58,11 @@ namespace PepperDash.Essentials.Core
|
||||||
|
|
||||||
if (!ConfigReader.ConfigObject.JoinMaps.ContainsKey(joinMapKey))
|
if (!ConfigReader.ConfigObject.JoinMaps.ContainsKey(joinMapKey))
|
||||||
{
|
{
|
||||||
Debug.Console(2, "No Join Map found in config with key: '{0}'", joinMapKey);
|
Debug.LogMessage(LogEventLevel.Verbose, "No Join Map found in config with key: '{0}'", joinMapKey);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
Debug.Console(2, "Attempting to load custom join map with key: {0}", joinMapKey);
|
Debug.LogMessage(LogEventLevel.Verbose, "Attempting to load custom join map with key: {0}", joinMapKey);
|
||||||
|
|
||||||
var joinMapJToken = ConfigReader.ConfigObject.JoinMaps[joinMapKey];
|
var joinMapJToken = ConfigReader.ConfigObject.JoinMaps[joinMapKey];
|
||||||
|
|
||||||
|
|
@ -74,7 +75,7 @@ namespace PepperDash.Essentials.Core
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
Debug.Console(2, "Error getting join map for key: '{0}'. Error: {1}", joinMapKey, e);
|
Debug.LogMessage(LogEventLevel.Verbose, "Error getting join map for key: '{0}'. Error: {1}", joinMapKey, e);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -120,7 +121,7 @@ namespace PepperDash.Essentials.Core
|
||||||
|
|
||||||
if (value == null)
|
if (value == null)
|
||||||
{
|
{
|
||||||
Debug.Console(0, "Unable to cast base class to {0}", type.Name);
|
Debug.LogMessage(LogEventLevel.Information, "Unable to cast base class to {0}", type.Name);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -271,7 +272,7 @@ namespace PepperDash.Essentials.Core
|
||||||
|
|
||||||
if (!Joins.TryGetValue(customJoinData.Key, out join))
|
if (!Joins.TryGetValue(customJoinData.Key, out join))
|
||||||
{
|
{
|
||||||
Debug.Console(2, "No matching key found in join map for: '{0}'", customJoinData.Key);
|
Debug.LogMessage(LogEventLevel.Verbose, "No matching key found in join map for: '{0}'", customJoinData.Key);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -453,7 +454,7 @@ namespace PepperDash.Essentials.Core
|
||||||
errorKey = item.Key;
|
errorKey = item.Key;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
Debug.Console(0, "Unable to decode join metadata {1}- {0}", e.Message, !String.IsNullOrEmpty(errorKey) ? (' ' + errorKey) : String.Empty);
|
Debug.LogMessage(LogEventLevel.Information, "Unable to decode join metadata {1}- {0}", e.Message, !String.IsNullOrEmpty(errorKey) ? (' ' + errorKey) : String.Empty);
|
||||||
return String.Format(stringFormatter,
|
return String.Format(stringFormatter,
|
||||||
dataArray["joinNumber"],
|
dataArray["joinNumber"],
|
||||||
dataArray["joinSpan"],
|
dataArray["joinSpan"],
|
||||||
|
|
@ -505,7 +506,7 @@ namespace PepperDash.Essentials.Core
|
||||||
if (attribute == null) return name;
|
if (attribute == null) return name;
|
||||||
|
|
||||||
name = attribute.Name;
|
name = attribute.Name;
|
||||||
Debug.Console(2, "JoinName Attribute value: {0}", name);
|
Debug.LogMessage(LogEventLevel.Verbose, "JoinName Attribute value: {0}", name);
|
||||||
return name;
|
return name;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -519,7 +520,7 @@ namespace PepperDash.Essentials.Core
|
||||||
|
|
||||||
public JoinNameAttribute(string name)
|
public JoinNameAttribute(string name)
|
||||||
{
|
{
|
||||||
Debug.Console(2, "Setting Attribute Name: {0}", name);
|
Debug.LogMessage(LogEventLevel.Verbose, "Setting Attribute Name: {0}", name);
|
||||||
_Name = name;
|
_Name = name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@ using Crestron.SimplSharp.CrestronDataStore;
|
||||||
using PepperDash.Essentials.Core;
|
using PepperDash.Essentials.Core;
|
||||||
|
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
|
|
||||||
namespace PepperDash.Essentials.License
|
namespace PepperDash.Essentials.License
|
||||||
|
|
@ -69,7 +70,7 @@ namespace PepperDash.Essentials.License
|
||||||
{
|
{
|
||||||
IsValid = isValid;
|
IsValid = isValid;
|
||||||
CrestronDataStoreStatic.SetGlobalBoolValue("MockLicense", isValid);
|
CrestronDataStoreStatic.SetGlobalBoolValue("MockLicense", isValid);
|
||||||
Debug.Console(0, "Mock License is{0} valid", IsValid ? "" : " not");
|
Debug.LogMessage(LogEventLevel.Information, "Mock License is{0} valid", IsValid ? "" : " not");
|
||||||
LicenseIsValid.FireUpdate();
|
LicenseIsValid.FireUpdate();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@ using Crestron.SimplSharpPro.DeviceSupport;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core.Bridges;
|
using PepperDash.Essentials.Core.Bridges;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core.Lighting
|
namespace PepperDash.Essentials.Core.Lighting
|
||||||
{
|
{
|
||||||
|
|
@ -41,7 +42,7 @@ namespace PepperDash.Essentials.Core.Lighting
|
||||||
|
|
||||||
public void SimulateSceneSelect(string sceneName)
|
public void SimulateSceneSelect(string sceneName)
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "Simulating selection of scene '{0}'", sceneName);
|
Debug.LogMessage(LogEventLevel.Debug, this, "Simulating selection of scene '{0}'", sceneName);
|
||||||
|
|
||||||
var scene = LightingScenes.FirstOrDefault(s => s.Name.Equals(sceneName));
|
var scene = LightingScenes.FirstOrDefault(s => s.Name.Equals(sceneName));
|
||||||
|
|
||||||
|
|
@ -89,7 +90,7 @@ namespace PepperDash.Essentials.Core.Lighting
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Debug.Console(0, this, "Please update config to use 'eiscapiadvanced' to get all join map features for this device.");
|
Debug.LogMessage(LogEventLevel.Information, this, "Please update config to use 'eiscapiadvanced' to get all join map features for this device.");
|
||||||
}
|
}
|
||||||
|
|
||||||
return LinkLightingToApi(lightingDevice, trilist, joinMap);
|
return LinkLightingToApi(lightingDevice, trilist, joinMap);
|
||||||
|
|
@ -97,9 +98,9 @@ namespace PepperDash.Essentials.Core.Lighting
|
||||||
|
|
||||||
protected GenericLightingJoinMap LinkLightingToApi(LightingBase lightingDevice, BasicTriList trilist, GenericLightingJoinMap joinMap)
|
protected GenericLightingJoinMap LinkLightingToApi(LightingBase lightingDevice, BasicTriList trilist, GenericLightingJoinMap joinMap)
|
||||||
{
|
{
|
||||||
Debug.Console(1, "Linking to Trilist '{0}'", trilist.ID.ToString("X"));
|
Debug.LogMessage(LogEventLevel.Debug, "Linking to Trilist '{0}'", trilist.ID.ToString("X"));
|
||||||
|
|
||||||
Debug.Console(0, "Linking to Lighting Type {0}", lightingDevice.GetType().Name.ToString());
|
Debug.LogMessage(LogEventLevel.Information, "Linking to Lighting Type {0}", lightingDevice.GetType().Name.ToString());
|
||||||
|
|
||||||
// GenericLighitng Actions & FeedBack
|
// GenericLighitng Actions & FeedBack
|
||||||
trilist.SetUShortSigAction(joinMap.SelectScene.JoinNumber, u => lightingDevice.SelectScene(lightingDevice.LightingScenes[u]));
|
trilist.SetUShortSigAction(joinMap.SelectScene.JoinNumber, u => lightingDevice.SelectScene(lightingDevice.LightingScenes[u]));
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@ using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core;
|
using PepperDash.Essentials.Core;
|
||||||
using PepperDash.Essentials.Core.Config;
|
using PepperDash.Essentials.Core.Config;
|
||||||
using PepperDash.Essentials.Core.CrestronIO;
|
using PepperDash.Essentials.Core.CrestronIO;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core.Privacy
|
namespace PepperDash.Essentials.Core.Privacy
|
||||||
|
|
@ -79,14 +80,14 @@ namespace PepperDash.Essentials.Core.Privacy
|
||||||
if (greenLed != null)
|
if (greenLed != null)
|
||||||
GreenLedRelay = greenLed;
|
GreenLedRelay = greenLed;
|
||||||
else
|
else
|
||||||
Debug.Console(0, this, "Unable to add Green LED device");
|
Debug.LogMessage(LogEventLevel.Information, this, "Unable to add Green LED device");
|
||||||
|
|
||||||
var redLed = DeviceManager.GetDeviceForKey(Config.RedLedRelay.DeviceKey) as GenericRelayDevice;
|
var redLed = DeviceManager.GetDeviceForKey(Config.RedLedRelay.DeviceKey) as GenericRelayDevice;
|
||||||
|
|
||||||
if (redLed != null)
|
if (redLed != null)
|
||||||
RedLedRelay = redLed;
|
RedLedRelay = redLed;
|
||||||
else
|
else
|
||||||
Debug.Console(0, this, "Unable to add Red LED device");
|
Debug.LogMessage(LogEventLevel.Information, this, "Unable to add Red LED device");
|
||||||
|
|
||||||
AddPostActivationAction(() => {
|
AddPostActivationAction(() => {
|
||||||
PrivacyDevice.PrivacyModeIsOnFeedback.OutputChange -= PrivacyModeIsOnFeedback_OutputChange;
|
PrivacyDevice.PrivacyModeIsOnFeedback.OutputChange -= PrivacyModeIsOnFeedback_OutputChange;
|
||||||
|
|
@ -114,7 +115,7 @@ namespace PepperDash.Essentials.Core.Privacy
|
||||||
|
|
||||||
void PrivacyModeIsOnFeedback_OutputChange(object sender, EventArgs e)
|
void PrivacyModeIsOnFeedback_OutputChange(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "Privacy mode change: {0}", sender as BoolFeedback);
|
Debug.LogMessage(LogEventLevel.Debug, this, "Privacy mode change: {0}", sender as BoolFeedback);
|
||||||
CheckPrivacyMode();
|
CheckPrivacyMode();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -244,7 +245,7 @@ namespace PepperDash.Essentials.Core.Privacy
|
||||||
|
|
||||||
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
||||||
{
|
{
|
||||||
Debug.Console(1, "Factory Attempting to create new MIcrophonePrivacyController Device");
|
Debug.LogMessage(LogEventLevel.Debug, "Factory Attempting to create new MIcrophonePrivacyController Device");
|
||||||
var props = Newtonsoft.Json.JsonConvert.DeserializeObject<Core.Privacy.MicrophonePrivacyControllerConfig>(dc.Properties.ToString());
|
var props = Newtonsoft.Json.JsonConvert.DeserializeObject<Core.Privacy.MicrophonePrivacyControllerConfig>(dc.Properties.ToString());
|
||||||
|
|
||||||
return new Core.Privacy.MicrophonePrivacyController(dc.Key, props);
|
return new Core.Privacy.MicrophonePrivacyController(dc.Key, props);
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@ using Crestron.SimplSharpPro.DeviceSupport;
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
|
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core
|
namespace PepperDash.Essentials.Core
|
||||||
|
|
@ -232,7 +233,7 @@ namespace PepperDash.Essentials.Core
|
||||||
StartErrorTimers();
|
StartErrorTimers();
|
||||||
if (Client.IsConnected)
|
if (Client.IsConnected)
|
||||||
{
|
{
|
||||||
//Debug.Console(2, this, "Polling");
|
//Debug.LogMessage(LogEventLevel.Verbose, this, "Polling");
|
||||||
if(PollAction != null)
|
if(PollAction != null)
|
||||||
PollAction.Invoke();
|
PollAction.Invoke();
|
||||||
else
|
else
|
||||||
|
|
@ -240,7 +241,7 @@ namespace PepperDash.Essentials.Core
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Debug.Console(2, this, "Comm not connected");
|
Debug.LogMessage(LogEventLevel.Verbose, this, "Comm not connected");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@ using PepperDash.Core;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
using Newtonsoft.Json.Converters;
|
using Newtonsoft.Json.Converters;
|
||||||
using PepperDash.Essentials.Core.Bridges;
|
using PepperDash.Essentials.Core.Bridges;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core.Monitoring
|
namespace PepperDash.Essentials.Core.Monitoring
|
||||||
{
|
{
|
||||||
|
|
@ -61,7 +62,7 @@ namespace PepperDash.Essentials.Core.Monitoring
|
||||||
public SystemMonitorController(string key)
|
public SystemMonitorController(string key)
|
||||||
: base(key)
|
: base(key)
|
||||||
{
|
{
|
||||||
Debug.Console(2, this, "Adding SystemMonitorController.");
|
Debug.LogMessage(LogEventLevel.Verbose, this, "Adding SystemMonitorController.");
|
||||||
|
|
||||||
SystemMonitor.ProgramInitialization.ProgramInitializationUnderUserControl = true;
|
SystemMonitor.ProgramInitialization.ProgramInitializationUnderUserControl = true;
|
||||||
|
|
||||||
|
|
@ -175,11 +176,11 @@ namespace PepperDash.Essentials.Core.Monitoring
|
||||||
{
|
{
|
||||||
EthernetStatusFeedbackCollection = new Dictionary<short, EthernetStatusFeedbacks>();
|
EthernetStatusFeedbackCollection = new Dictionary<short, EthernetStatusFeedbacks>();
|
||||||
|
|
||||||
Debug.Console(2, "Creating {0} EthernetStatusFeedbacks", InitialParametersClass.NumberOfEthernetInterfaces);
|
Debug.LogMessage(LogEventLevel.Verbose, "Creating {0} EthernetStatusFeedbacks", InitialParametersClass.NumberOfEthernetInterfaces);
|
||||||
|
|
||||||
for (short i = 0; i < InitialParametersClass.NumberOfEthernetInterfaces; i++)
|
for (short i = 0; i < InitialParametersClass.NumberOfEthernetInterfaces; i++)
|
||||||
{
|
{
|
||||||
Debug.Console(2, "Creating EthernetStatusFeedback for Interface {0}", i);
|
Debug.LogMessage(LogEventLevel.Verbose, "Creating EthernetStatusFeedback for Interface {0}", i);
|
||||||
var ethernetInterface = new EthernetStatusFeedbacks(i);
|
var ethernetInterface = new EthernetStatusFeedbacks(i);
|
||||||
EthernetStatusFeedbackCollection.Add(i, ethernetInterface);
|
EthernetStatusFeedbackCollection.Add(i, ethernetInterface);
|
||||||
}
|
}
|
||||||
|
|
@ -260,11 +261,11 @@ namespace PepperDash.Essentials.Core.Monitoring
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Debug.Console(0, this, "Please update config to use 'eiscapiadvanced' to get all join map features for this device.");
|
Debug.LogMessage(LogEventLevel.Information, this, "Please update config to use 'eiscapiadvanced' to get all join map features for this device.");
|
||||||
}
|
}
|
||||||
|
|
||||||
Debug.Console(1, "Linking to Trilist '{0}'", trilist.ID.ToString("X"));
|
Debug.LogMessage(LogEventLevel.Debug, "Linking to Trilist '{0}'", trilist.ID.ToString("X"));
|
||||||
Debug.Console(2, this, "Linking API starting at join: {0}", joinStart);
|
Debug.LogMessage(LogEventLevel.Verbose, this, "Linking API starting at join: {0}", joinStart);
|
||||||
|
|
||||||
TimeZoneFeedback.LinkInputSig(trilist.UShortInput[joinMap.TimeZone.JoinNumber]);
|
TimeZoneFeedback.LinkInputSig(trilist.UShortInput[joinMap.TimeZone.JoinNumber]);
|
||||||
TimeZoneTextFeedback.LinkInputSig(trilist.StringInput[joinMap.TimeZoneName.JoinNumber]);
|
TimeZoneTextFeedback.LinkInputSig(trilist.StringInput[joinMap.TimeZoneName.JoinNumber]);
|
||||||
|
|
@ -366,8 +367,8 @@ namespace PepperDash.Essentials.Core.Monitoring
|
||||||
/// <param name="args"></param>
|
/// <param name="args"></param>
|
||||||
private void SystemMonitor_ProgramChange(Program sender, ProgramEventArgs args)
|
private void SystemMonitor_ProgramChange(Program sender, ProgramEventArgs args)
|
||||||
{
|
{
|
||||||
Debug.Console(2, this, "Program Change Detected for slot: {0}", sender.Number);
|
Debug.LogMessage(LogEventLevel.Verbose, this, "Program Change Detected for slot: {0}", sender.Number);
|
||||||
Debug.Console(2, this, "Event Type: {0}", args.EventType);
|
Debug.LogMessage(LogEventLevel.Verbose, this, "Event Type: {0}", args.EventType);
|
||||||
|
|
||||||
var program = ProgramStatusFeedbackCollection[sender.Number];
|
var program = ProgramStatusFeedbackCollection[sender.Number];
|
||||||
|
|
||||||
|
|
@ -400,7 +401,7 @@ namespace PepperDash.Essentials.Core.Monitoring
|
||||||
/// <param name="args"></param>
|
/// <param name="args"></param>
|
||||||
private void TimeZoneInformation_TimeZoneChange(TimeZoneEventArgs args)
|
private void TimeZoneInformation_TimeZoneChange(TimeZoneEventArgs args)
|
||||||
{
|
{
|
||||||
Debug.Console(2, this, "Time Zone Change Detected.");
|
Debug.LogMessage(LogEventLevel.Verbose, this, "Time Zone Change Detected.");
|
||||||
TimeZoneFeedback.FireUpdate();
|
TimeZoneFeedback.FireUpdate();
|
||||||
TimeZoneTextFeedback.FireUpdate();
|
TimeZoneTextFeedback.FireUpdate();
|
||||||
|
|
||||||
|
|
@ -425,28 +426,28 @@ namespace PepperDash.Essentials.Core.Monitoring
|
||||||
|
|
||||||
public EthernetStatusFeedbacks(short adapterIndex)
|
public EthernetStatusFeedbacks(short adapterIndex)
|
||||||
{
|
{
|
||||||
Debug.Console(2, "Ethernet Information for interface {0}", adapterIndex);
|
Debug.LogMessage(LogEventLevel.Verbose, "Ethernet Information for interface {0}", adapterIndex);
|
||||||
Debug.Console(2, "Adapter Index: {1} Hostname: {0}", CrestronEthernetHelper.GetEthernetParameter(
|
Debug.LogMessage(LogEventLevel.Verbose, "Adapter Index: {1} Hostname: {0}", CrestronEthernetHelper.GetEthernetParameter(
|
||||||
CrestronEthernetHelper.ETHERNET_PARAMETER_TO_GET.GET_HOSTNAME, adapterIndex), adapterIndex);
|
CrestronEthernetHelper.ETHERNET_PARAMETER_TO_GET.GET_HOSTNAME, adapterIndex), adapterIndex);
|
||||||
Debug.Console(2, "Adapter Index: {1} Current IP Address: {0}", CrestronEthernetHelper.GetEthernetParameter(
|
Debug.LogMessage(LogEventLevel.Verbose, "Adapter Index: {1} Current IP Address: {0}", CrestronEthernetHelper.GetEthernetParameter(
|
||||||
CrestronEthernetHelper.ETHERNET_PARAMETER_TO_GET.GET_CURRENT_IP_ADDRESS, adapterIndex), adapterIndex);
|
CrestronEthernetHelper.ETHERNET_PARAMETER_TO_GET.GET_CURRENT_IP_ADDRESS, adapterIndex), adapterIndex);
|
||||||
Debug.Console(2, "Adapter Index: {1} Current Subnet Mask: {0}", CrestronEthernetHelper.GetEthernetParameter(
|
Debug.LogMessage(LogEventLevel.Verbose, "Adapter Index: {1} Current Subnet Mask: {0}", CrestronEthernetHelper.GetEthernetParameter(
|
||||||
CrestronEthernetHelper.ETHERNET_PARAMETER_TO_GET.GET_CURRENT_IP_MASK, adapterIndex), adapterIndex);
|
CrestronEthernetHelper.ETHERNET_PARAMETER_TO_GET.GET_CURRENT_IP_MASK, adapterIndex), adapterIndex);
|
||||||
Debug.Console(2, "Adapter Index: {1} Current Router: {0}", CrestronEthernetHelper.GetEthernetParameter(
|
Debug.LogMessage(LogEventLevel.Verbose, "Adapter Index: {1} Current Router: {0}", CrestronEthernetHelper.GetEthernetParameter(
|
||||||
CrestronEthernetHelper.ETHERNET_PARAMETER_TO_GET.GET_CURRENT_ROUTER, adapterIndex), adapterIndex);
|
CrestronEthernetHelper.ETHERNET_PARAMETER_TO_GET.GET_CURRENT_ROUTER, adapterIndex), adapterIndex);
|
||||||
Debug.Console(2, "Adapter Index: {1} Static IP Address: {0}", CrestronEthernetHelper.GetEthernetParameter(
|
Debug.LogMessage(LogEventLevel.Verbose, "Adapter Index: {1} Static IP Address: {0}", CrestronEthernetHelper.GetEthernetParameter(
|
||||||
CrestronEthernetHelper.ETHERNET_PARAMETER_TO_GET.GET_STATIC_IPADDRESS, adapterIndex), adapterIndex);
|
CrestronEthernetHelper.ETHERNET_PARAMETER_TO_GET.GET_STATIC_IPADDRESS, adapterIndex), adapterIndex);
|
||||||
Debug.Console(2, "Adapter Index: {1} Static Subnet Mask: {0}", CrestronEthernetHelper.GetEthernetParameter(
|
Debug.LogMessage(LogEventLevel.Verbose, "Adapter Index: {1} Static Subnet Mask: {0}", CrestronEthernetHelper.GetEthernetParameter(
|
||||||
CrestronEthernetHelper.ETHERNET_PARAMETER_TO_GET.GET_STATIC_IPMASK, adapterIndex), adapterIndex);
|
CrestronEthernetHelper.ETHERNET_PARAMETER_TO_GET.GET_STATIC_IPMASK, adapterIndex), adapterIndex);
|
||||||
Debug.Console(2, "Adapter Index: {1} Static Router: {0}", CrestronEthernetHelper.GetEthernetParameter(
|
Debug.LogMessage(LogEventLevel.Verbose, "Adapter Index: {1} Static Router: {0}", CrestronEthernetHelper.GetEthernetParameter(
|
||||||
CrestronEthernetHelper.ETHERNET_PARAMETER_TO_GET.GET_STATIC_ROUTER, adapterIndex), adapterIndex);
|
CrestronEthernetHelper.ETHERNET_PARAMETER_TO_GET.GET_STATIC_ROUTER, adapterIndex), adapterIndex);
|
||||||
Debug.Console(2, "Adapter Index: {1} DNS Servers: {0}", CrestronEthernetHelper.GetEthernetParameter(
|
Debug.LogMessage(LogEventLevel.Verbose, "Adapter Index: {1} DNS Servers: {0}", CrestronEthernetHelper.GetEthernetParameter(
|
||||||
CrestronEthernetHelper.ETHERNET_PARAMETER_TO_GET.GET_DNS_SERVER, adapterIndex), adapterIndex);
|
CrestronEthernetHelper.ETHERNET_PARAMETER_TO_GET.GET_DNS_SERVER, adapterIndex), adapterIndex);
|
||||||
Debug.Console(2, "Adapter Index: {1} DHCP State: {0}", CrestronEthernetHelper.GetEthernetParameter(
|
Debug.LogMessage(LogEventLevel.Verbose, "Adapter Index: {1} DHCP State: {0}", CrestronEthernetHelper.GetEthernetParameter(
|
||||||
CrestronEthernetHelper.ETHERNET_PARAMETER_TO_GET.GET_CURRENT_DHCP_STATE, adapterIndex), adapterIndex);
|
CrestronEthernetHelper.ETHERNET_PARAMETER_TO_GET.GET_CURRENT_DHCP_STATE, adapterIndex), adapterIndex);
|
||||||
Debug.Console(2, "Adapter Index: {1} Domain Name: {0}", CrestronEthernetHelper.GetEthernetParameter(
|
Debug.LogMessage(LogEventLevel.Verbose, "Adapter Index: {1} Domain Name: {0}", CrestronEthernetHelper.GetEthernetParameter(
|
||||||
CrestronEthernetHelper.ETHERNET_PARAMETER_TO_GET.GET_DOMAIN_NAME, adapterIndex), adapterIndex);
|
CrestronEthernetHelper.ETHERNET_PARAMETER_TO_GET.GET_DOMAIN_NAME, adapterIndex), adapterIndex);
|
||||||
Debug.Console(2, "Adapter Index: {1} MAC Address: {0}", CrestronEthernetHelper.GetEthernetParameter(
|
Debug.LogMessage(LogEventLevel.Verbose, "Adapter Index: {1} MAC Address: {0}", CrestronEthernetHelper.GetEthernetParameter(
|
||||||
CrestronEthernetHelper.ETHERNET_PARAMETER_TO_GET.GET_MAC_ADDRESS, adapterIndex), adapterIndex);
|
CrestronEthernetHelper.ETHERNET_PARAMETER_TO_GET.GET_MAC_ADDRESS, adapterIndex), adapterIndex);
|
||||||
HostNameFeedback =
|
HostNameFeedback =
|
||||||
new StringFeedback(
|
new StringFeedback(
|
||||||
|
|
@ -585,13 +586,13 @@ namespace PepperDash.Essentials.Core.Monitoring
|
||||||
|
|
||||||
private void GetProgramInfo(object o)
|
private void GetProgramInfo(object o)
|
||||||
{
|
{
|
||||||
Debug.Console(2, "Attempting to get program info for slot: {0}", Program.Number);
|
Debug.LogMessage(LogEventLevel.Verbose, "Attempting to get program info for slot: {0}", Program.Number);
|
||||||
|
|
||||||
string response = null;
|
string response = null;
|
||||||
|
|
||||||
if (Program.RegistrationState == eProgramRegistrationState.Unregister || Program.OperatingState == eProgramOperatingState.Stop)
|
if (Program.RegistrationState == eProgramRegistrationState.Unregister || Program.OperatingState == eProgramOperatingState.Stop)
|
||||||
{
|
{
|
||||||
Debug.Console(2, "Program {0} not registered. Setting default values for program information.",
|
Debug.LogMessage(LogEventLevel.Verbose, "Program {0} not registered. Setting default values for program information.",
|
||||||
Program.Number);
|
Program.Number);
|
||||||
|
|
||||||
ProgramInfo = new ProgramInfo(Program.Number)
|
ProgramInfo = new ProgramInfo(Program.Number)
|
||||||
|
|
@ -608,14 +609,14 @@ namespace PepperDash.Essentials.Core.Monitoring
|
||||||
|
|
||||||
if (!success)
|
if (!success)
|
||||||
{
|
{
|
||||||
Debug.Console(2, "Progcomments Attempt Unsuccessful for slot: {0}", Program.Number);
|
Debug.LogMessage(LogEventLevel.Verbose, "Progcomments Attempt Unsuccessful for slot: {0}", Program.Number);
|
||||||
UpdateFeedbacks();
|
UpdateFeedbacks();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (response.ToLower().Contains("bad or incomplete"))
|
if (response.ToLower().Contains("bad or incomplete"))
|
||||||
{
|
{
|
||||||
Debug.Console(2,
|
Debug.LogMessage(LogEventLevel.Verbose,
|
||||||
"Program in slot {0} not running. Setting default ProgramInfo for slot: {0}",
|
"Program in slot {0} not running. Setting default ProgramInfo for slot: {0}",
|
||||||
Program.Number);
|
Program.Number);
|
||||||
|
|
||||||
|
|
@ -665,7 +666,7 @@ namespace PepperDash.Essentials.Core.Monitoring
|
||||||
ProgramInfo.Environment = ParseConsoleData(response, "Source Env", ": ", "\n");
|
ProgramInfo.Environment = ParseConsoleData(response, "Source Env", ": ", "\n");
|
||||||
ProgramInfo.Programmer = ParseConsoleData(response, "Programmer", ": ", "\n");
|
ProgramInfo.Programmer = ParseConsoleData(response, "Programmer", ": ", "\n");
|
||||||
}
|
}
|
||||||
Debug.Console(2, "Program info for slot {0} successfully updated", Program.Number);
|
Debug.LogMessage(LogEventLevel.Verbose, "Program info for slot {0} successfully updated", Program.Number);
|
||||||
|
|
||||||
UpdateFeedbacks();
|
UpdateFeedbacks();
|
||||||
}
|
}
|
||||||
|
|
@ -684,7 +685,7 @@ namespace PepperDash.Essentials.Core.Monitoring
|
||||||
|
|
||||||
public void OnProgramInfoChanged()
|
public void OnProgramInfoChanged()
|
||||||
{
|
{
|
||||||
//Debug.Console(1, "Firing ProgramInfoChanged for slot: {0}", Program.Number);
|
//Debug.LogMessage(LogEventLevel.Debug, "Firing ProgramInfoChanged for slot: {0}", Program.Number);
|
||||||
var handler = ProgramInfoChanged;
|
var handler = ProgramInfoChanged;
|
||||||
if (handler != null)
|
if (handler != null)
|
||||||
{
|
{
|
||||||
|
|
@ -698,19 +699,25 @@ namespace PepperDash.Essentials.Core.Monitoring
|
||||||
|
|
||||||
if (data.Length <= 0) return outputData;
|
if (data.Length <= 0) return outputData;
|
||||||
|
|
||||||
|
if (!data.Contains(line))
|
||||||
|
{
|
||||||
|
return outputData;
|
||||||
|
}
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
//Debug.Console(2, "ParseConsoleData Data: {0}, Line {1}, startStirng {2}, endString {3}", data, line, startString, endString);
|
//Debug.LogMessage(LogEventLevel.Verbose, "ParseConsoleData Data: {0}, Line {1}, startStirng {2}, endString {3}", data, line, startString, endString);
|
||||||
var linePosition = data.IndexOf(line, StringComparison.Ordinal);
|
var linePosition = data.IndexOf(line, StringComparison.Ordinal);
|
||||||
var startPosition = data.IndexOf(startString, linePosition, StringComparison.Ordinal) +
|
var startPosition = data.IndexOf(startString, linePosition, StringComparison.Ordinal) +
|
||||||
startString.Length;
|
startString.Length;
|
||||||
var endPosition = data.IndexOf(endString, startPosition, StringComparison.Ordinal);
|
var endPosition = data.IndexOf(endString, startPosition, StringComparison.Ordinal);
|
||||||
outputData = data.Substring(startPosition, endPosition - startPosition).Trim();
|
outputData = data.Substring(startPosition, endPosition - startPosition).Trim();
|
||||||
//Debug.Console(2, "ParseConsoleData Return: {0}", outputData);
|
//Debug.LogMessage(LogEventLevel.Verbose, "ParseConsoleData Return: {0}", outputData);
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
Debug.Console(1, "Error Parsing Console Data:\r{0}", e);
|
Debug.LogMessage(LogEventLevel.Error, "Error Parsing Console Data: {0}", e);
|
||||||
|
Debug.LogMessage(LogEventLevel.Verbose, "Stack Trace: {stackTrace}", e.StackTrace);
|
||||||
}
|
}
|
||||||
|
|
||||||
return outputData;
|
return outputData;
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Crestron.SimplSharp.SDK.ProgramLibrary" Version="2.20.42" />
|
<PackageReference Include="Crestron.SimplSharp.SDK.ProgramLibrary" Version="2.20.42" />
|
||||||
<PackageReference Include="PepperDashCore" Version="2.0.0-alpha-393" />
|
<PackageReference Include="PepperDashCore" Version="2.0.0-beta-400" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="Crestron\CrestronGenericBaseDevice.cs.orig" />
|
<None Include="Crestron\CrestronGenericBaseDevice.cs.orig" />
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@ using Crestron.SimplSharp.Reflection;
|
||||||
|
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core;
|
using PepperDash.Essentials.Core;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
namespace PepperDash.Essentials
|
namespace PepperDash.Essentials
|
||||||
{
|
{
|
||||||
|
|
@ -51,12 +52,12 @@ namespace PepperDash.Essentials
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public static void AddProgramAssemblies()
|
public static void AddProgramAssemblies()
|
||||||
{
|
{
|
||||||
Debug.Console(2, "Getting Assemblies loaded with Essentials");
|
Debug.LogMessage(LogEventLevel.Verbose, "Getting Assemblies loaded with Essentials");
|
||||||
// Get the loaded assembly filenames
|
// Get the loaded assembly filenames
|
||||||
var appDi = new DirectoryInfo(Global.ApplicationDirectoryPathPrefix);
|
var appDi = new DirectoryInfo(Global.ApplicationDirectoryPathPrefix);
|
||||||
var assemblyFiles = appDi.GetFiles("*.dll");
|
var assemblyFiles = appDi.GetFiles("*.dll");
|
||||||
|
|
||||||
Debug.Console(2, "Found {0} Assemblies", assemblyFiles.Length);
|
Debug.LogMessage(LogEventLevel.Verbose, "Found {0} Assemblies", assemblyFiles.Length);
|
||||||
|
|
||||||
foreach (var fi in assemblyFiles)
|
foreach (var fi in assemblyFiles)
|
||||||
{
|
{
|
||||||
|
|
@ -92,11 +93,11 @@ namespace PepperDash.Essentials
|
||||||
|
|
||||||
if (Debug.Level > 1)
|
if (Debug.Level > 1)
|
||||||
{
|
{
|
||||||
Debug.Console(2, "Loaded Assemblies:");
|
Debug.LogMessage(LogEventLevel.Verbose, "Loaded Assemblies:");
|
||||||
|
|
||||||
foreach (var assembly in LoadedAssemblies)
|
foreach (var assembly in LoadedAssemblies)
|
||||||
{
|
{
|
||||||
Debug.Console(2, "Assembly: {0}", assembly.Name);
|
Debug.LogMessage(LogEventLevel.Verbose, "Assembly: {0}", assembly.Name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -118,7 +119,7 @@ namespace PepperDash.Essentials
|
||||||
/// <param name="fileName"></param>
|
/// <param name="fileName"></param>
|
||||||
static LoadedAssembly LoadAssembly(string filePath)
|
static LoadedAssembly LoadAssembly(string filePath)
|
||||||
{
|
{
|
||||||
//Debug.Console(2, "Attempting to load {0}", filePath);
|
//Debug.LogMessage(LogEventLevel.Verbose, "Attempting to load {0}", filePath);
|
||||||
var assembly = Assembly.LoadFrom(filePath);
|
var assembly = Assembly.LoadFrom(filePath);
|
||||||
if (assembly != null)
|
if (assembly != null)
|
||||||
{
|
{
|
||||||
|
|
@ -126,12 +127,12 @@ namespace PepperDash.Essentials
|
||||||
|
|
||||||
var loadedAssembly = new LoadedAssembly(assembly.GetName().Name, assyVersion, assembly);
|
var loadedAssembly = new LoadedAssembly(assembly.GetName().Name, assyVersion, assembly);
|
||||||
LoadedAssemblies.Add(loadedAssembly);
|
LoadedAssemblies.Add(loadedAssembly);
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Notice, "Loaded assembly '{0}', version {1}", loadedAssembly.Name, loadedAssembly.Version);
|
Debug.LogMessage(LogEventLevel.Information, "Loaded assembly '{0}', version {1}", loadedAssembly.Name, loadedAssembly.Version);
|
||||||
return loadedAssembly;
|
return loadedAssembly;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Notice, "Unable to load assembly: '{0}'", filePath);
|
Debug.LogMessage(LogEventLevel.Information, "Unable to load assembly: '{0}'", filePath);
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
|
|
@ -168,17 +169,17 @@ namespace PepperDash.Essentials
|
||||||
/// <returns>True if file already matches loaded assembly file.</returns>
|
/// <returns>True if file already matches loaded assembly file.</returns>
|
||||||
public static bool CheckIfAssemblyLoaded(string name)
|
public static bool CheckIfAssemblyLoaded(string name)
|
||||||
{
|
{
|
||||||
Debug.Console(2, "Checking if assembly: {0} is loaded...", name);
|
Debug.LogMessage(LogEventLevel.Verbose, "Checking if assembly: {0} is loaded...", name);
|
||||||
var loadedAssembly = LoadedAssemblies.FirstOrDefault(s => s.Name.Equals(name));
|
var loadedAssembly = LoadedAssemblies.FirstOrDefault(s => s.Name.Equals(name));
|
||||||
|
|
||||||
if (loadedAssembly != null)
|
if (loadedAssembly != null)
|
||||||
{
|
{
|
||||||
Debug.Console(2, "Assembly already loaded.");
|
Debug.LogMessage(LogEventLevel.Verbose, "Assembly already loaded.");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Debug.Console(2, "Assembly not loaded.");
|
Debug.LogMessage(LogEventLevel.Verbose, "Assembly not loaded.");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -201,7 +202,7 @@ namespace PepperDash.Essentials
|
||||||
/// </summary>
|
/// </summary>
|
||||||
static void MoveDllAssemblies()
|
static void MoveDllAssemblies()
|
||||||
{
|
{
|
||||||
Debug.Console(0, "Looking for .dll assemblies from plugins folder...");
|
Debug.LogMessage(LogEventLevel.Information, "Looking for .dll assemblies from plugins folder...");
|
||||||
|
|
||||||
var pluginDi = new DirectoryInfo(_pluginDirectory);
|
var pluginDi = new DirectoryInfo(_pluginDirectory);
|
||||||
var pluginFiles = pluginDi.GetFiles("*.dll");
|
var pluginFiles = pluginDi.GetFiles("*.dll");
|
||||||
|
|
@ -218,7 +219,7 @@ namespace PepperDash.Essentials
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
Debug.Console(0, "Found .dll: {0}", pluginFile.Name);
|
Debug.LogMessage(LogEventLevel.Information, "Found .dll: {0}", pluginFile.Name);
|
||||||
|
|
||||||
if (!CheckIfAssemblyLoaded(pluginFile.Name))
|
if (!CheckIfAssemblyLoaded(pluginFile.Name))
|
||||||
{
|
{
|
||||||
|
|
@ -229,27 +230,27 @@ namespace PepperDash.Essentials
|
||||||
// Check if there is a previous file in the loadedPlugins directory and delete
|
// Check if there is a previous file in the loadedPlugins directory and delete
|
||||||
if (File.Exists(filePath))
|
if (File.Exists(filePath))
|
||||||
{
|
{
|
||||||
Debug.Console(0, "Found existing file in loadedPlugins: {0} Deleting and moving new file to replace it", filePath);
|
Debug.LogMessage(LogEventLevel.Information, "Found existing file in loadedPlugins: {0} Deleting and moving new file to replace it", filePath);
|
||||||
File.Delete(filePath);
|
File.Delete(filePath);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Move the file
|
// Move the file
|
||||||
File.Move(pluginFile.FullName, filePath);
|
File.Move(pluginFile.FullName, filePath);
|
||||||
Debug.Console(2, "Moved {0} to {1}", pluginFile.FullName, filePath);
|
Debug.LogMessage(LogEventLevel.Verbose, "Moved {0} to {1}", pluginFile.FullName, filePath);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Notice, "Skipping assembly: {0}. There is already an assembly with that name loaded.", pluginFile.FullName);
|
Debug.LogMessage(LogEventLevel.Information, "Skipping assembly: {0}. There is already an assembly with that name loaded.", pluginFile.FullName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
Debug.Console(2, "Error with plugin file {0} . Exception: {1}", pluginFile.FullName, e);
|
Debug.LogMessage(LogEventLevel.Verbose, "Error with plugin file {0} . Exception: {1}", pluginFile.FullName, e);
|
||||||
continue; //catching any load issues and continuing. There will be exceptions loading Crestron .dlls from the cplz Probably should do something different here
|
continue; //catching any load issues and continuing. There will be exceptions loading Crestron .dlls from the cplz Probably should do something different here
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Debug.Console(0, "Done with .dll assemblies");
|
Debug.LogMessage(LogEventLevel.Information, "Done with .dll assemblies");
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
@ -257,7 +258,7 @@ namespace PepperDash.Essentials
|
||||||
/// </summary>
|
/// </summary>
|
||||||
static void UnzipAndMoveCplzArchives()
|
static void UnzipAndMoveCplzArchives()
|
||||||
{
|
{
|
||||||
Debug.Console(0, "Looking for .cplz archives from plugins folder...");
|
Debug.LogMessage(LogEventLevel.Information, "Looking for .cplz archives from plugins folder...");
|
||||||
var di = new DirectoryInfo(_pluginDirectory);
|
var di = new DirectoryInfo(_pluginDirectory);
|
||||||
var zFiles = di.GetFiles("*.cplz");
|
var zFiles = di.GetFiles("*.cplz");
|
||||||
|
|
||||||
|
|
@ -274,9 +275,9 @@ namespace PepperDash.Essentials
|
||||||
Directory.CreateDirectory(_tempDirectory);
|
Directory.CreateDirectory(_tempDirectory);
|
||||||
var tempDi = new DirectoryInfo(_tempDirectory);
|
var tempDi = new DirectoryInfo(_tempDirectory);
|
||||||
|
|
||||||
Debug.Console(0, "Found cplz: {0}. Unzipping into temp plugins directory", zfi.Name);
|
Debug.LogMessage(LogEventLevel.Information, "Found cplz: {0}. Unzipping into temp plugins directory", zfi.Name);
|
||||||
var result = CrestronZIP.Unzip(zfi.FullName, tempDi.FullName);
|
var result = CrestronZIP.Unzip(zfi.FullName, tempDi.FullName);
|
||||||
Debug.Console(0, "UnZip Result: {0}", result.ToString());
|
Debug.LogMessage(LogEventLevel.Information, "UnZip Result: {0}", result.ToString());
|
||||||
|
|
||||||
var tempFiles = tempDi.GetFiles("*.dll");
|
var tempFiles = tempDi.GetFiles("*.dll");
|
||||||
foreach (var tempFile in tempFiles)
|
foreach (var tempFile in tempFiles)
|
||||||
|
|
@ -292,22 +293,22 @@ namespace PepperDash.Essentials
|
||||||
// Check if there is a previous file in the loadedPlugins directory and delete
|
// Check if there is a previous file in the loadedPlugins directory and delete
|
||||||
if (File.Exists(filePath))
|
if (File.Exists(filePath))
|
||||||
{
|
{
|
||||||
Debug.Console(0, "Found existing file in loadedPlugins: {0} Deleting and moving new file to replace it", filePath);
|
Debug.LogMessage(LogEventLevel.Information, "Found existing file in loadedPlugins: {0} Deleting and moving new file to replace it", filePath);
|
||||||
File.Delete(filePath);
|
File.Delete(filePath);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Move the file
|
// Move the file
|
||||||
File.Move(tempFile.FullName, filePath);
|
File.Move(tempFile.FullName, filePath);
|
||||||
Debug.Console(2, "Moved {0} to {1}", tempFile.FullName, filePath);
|
Debug.LogMessage(LogEventLevel.Verbose, "Moved {0} to {1}", tempFile.FullName, filePath);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Notice, "Skipping assembly: {0}. There is already an assembly with that name loaded.", tempFile.FullName);
|
Debug.LogMessage(LogEventLevel.Information, "Skipping assembly: {0}. There is already an assembly with that name loaded.", tempFile.FullName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
Debug.Console(2, "Assembly {0} is not a custom assembly. Exception: {1}", tempFile.FullName, e);
|
Debug.LogMessage(LogEventLevel.Verbose, "Assembly {0} is not a custom assembly. Exception: {1}", tempFile.FullName, e);
|
||||||
continue; //catching any load issues and continuing. There will be exceptions loading Crestron .dlls from the cplz Probably should do something different here
|
continue; //catching any load issues and continuing. There will be exceptions loading Crestron .dlls from the cplz Probably should do something different here
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -317,7 +318,7 @@ namespace PepperDash.Essentials
|
||||||
zfi.Delete();
|
zfi.Delete();
|
||||||
}
|
}
|
||||||
|
|
||||||
Debug.Console(0, "Done with .cplz archives");
|
Debug.LogMessage(LogEventLevel.Information, "Done with .cplz archives");
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
@ -325,11 +326,11 @@ namespace PepperDash.Essentials
|
||||||
/// </summary>
|
/// </summary>
|
||||||
static void LoadPluginAssemblies()
|
static void LoadPluginAssemblies()
|
||||||
{
|
{
|
||||||
Debug.Console(0, "Loading assemblies from loadedPlugins folder...");
|
Debug.LogMessage(LogEventLevel.Information, "Loading assemblies from loadedPlugins folder...");
|
||||||
var pluginDi = new DirectoryInfo(_loadedPluginsDirectoryPath);
|
var pluginDi = new DirectoryInfo(_loadedPluginsDirectoryPath);
|
||||||
var pluginFiles = pluginDi.GetFiles("*.dll");
|
var pluginFiles = pluginDi.GetFiles("*.dll");
|
||||||
|
|
||||||
Debug.Console(2, "Found {0} plugin assemblies to load", pluginFiles.Length);
|
Debug.LogMessage(LogEventLevel.Verbose, "Found {0} plugin assemblies to load", pluginFiles.Length);
|
||||||
|
|
||||||
foreach (var pluginFile in pluginFiles)
|
foreach (var pluginFile in pluginFiles)
|
||||||
{
|
{
|
||||||
|
|
@ -338,7 +339,7 @@ namespace PepperDash.Essentials
|
||||||
LoadedPluginFolderAssemblies.Add(loadedAssembly);
|
LoadedPluginFolderAssemblies.Add(loadedAssembly);
|
||||||
}
|
}
|
||||||
|
|
||||||
Debug.Console(0, "All Plugins Loaded.");
|
Debug.LogMessage(LogEventLevel.Information, "All Plugins Loaded.");
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
@ -346,7 +347,7 @@ namespace PepperDash.Essentials
|
||||||
/// </summary>
|
/// </summary>
|
||||||
static void LoadCustomPluginTypes()
|
static void LoadCustomPluginTypes()
|
||||||
{
|
{
|
||||||
Debug.Console(0, "Loading Custom Plugin Types...");
|
Debug.LogMessage(LogEventLevel.Information, "Loading Custom Plugin Types...");
|
||||||
foreach (var loadedAssembly in LoadedPluginFolderAssemblies)
|
foreach (var loadedAssembly in LoadedPluginFolderAssemblies)
|
||||||
{
|
{
|
||||||
// iteratate this assembly's classes, looking for "LoadPlugin()" methods
|
// iteratate this assembly's classes, looking for "LoadPlugin()" methods
|
||||||
|
|
@ -357,13 +358,13 @@ namespace PepperDash.Essentials
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
types = assy.GetTypes();
|
types = assy.GetTypes();
|
||||||
Debug.Console(1, $"Got types for assembly {assy.GetName().Name}");
|
Debug.LogMessage(LogEventLevel.Debug, $"Got types for assembly {assy.GetName().Name}");
|
||||||
}
|
}
|
||||||
catch (TypeLoadException e)
|
catch (TypeLoadException e)
|
||||||
{
|
{
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Warning, "Unable to get types for assembly {0}: {1}",
|
Debug.LogMessage(LogEventLevel.Error, "Unable to get types for assembly {0}: {1}",
|
||||||
loadedAssembly.Name, e.Message);
|
loadedAssembly.Name, e.Message);
|
||||||
Debug.Console(2, e.StackTrace);
|
Debug.LogMessage(LogEventLevel.Verbose, e.StackTrace);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -371,34 +372,20 @@ namespace PepperDash.Essentials
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
//Debug.Console(0, $"Checking if type {type.Name} is IPluginDeviceFactory");
|
|
||||||
|
|
||||||
//Debug.Console(0, $"{type.Name} is plugin factory: {typeof(IPluginDeviceFactory).IsAssignableFrom(type) && !type.IsAbstract}");
|
|
||||||
|
|
||||||
if (typeof (IPluginDeviceFactory).IsAssignableFrom(type) && !type.IsAbstract)
|
if (typeof (IPluginDeviceFactory).IsAssignableFrom(type) && !type.IsAbstract)
|
||||||
{
|
{
|
||||||
var plugin =
|
var plugin =
|
||||||
(IPluginDeviceFactory) Crestron.SimplSharp.Reflection.Activator.CreateInstance(type);
|
(IPluginDeviceFactory) Crestron.SimplSharp.Reflection.Activator.CreateInstance(type);
|
||||||
LoadCustomPlugin(plugin, loadedAssembly);
|
LoadCustomPlugin(plugin, loadedAssembly);
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
var methods = type.GetMethods(BindingFlags.Public | BindingFlags.Static);
|
|
||||||
var loadPlugin = methods.FirstOrDefault(m => m.Name.Equals("LoadPlugin"));
|
|
||||||
if (loadPlugin != null)
|
|
||||||
{
|
|
||||||
LoadCustomLegacyPlugin(type, loadPlugin, loadedAssembly);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
catch (NotSupportedException e)
|
catch (NotSupportedException)
|
||||||
{
|
{
|
||||||
//this happens for dlls that aren't PD dlls, like ports of Mono classes into S#. Swallowing.
|
//this happens for dlls that aren't PD dlls, like ports of Mono classes into S#. Swallowing.
|
||||||
|
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
Debug.Console(2, "Load Plugin not found. {0}.{2} is not a plugin factory. Exception: {1}",
|
Debug.LogMessage(LogEventLevel.Error, "Load Plugin not found. {0}.{2} is not a plugin factory. Exception: {1}",
|
||||||
loadedAssembly.Name, e.Message, type.Name);
|
loadedAssembly.Name, e.Message, type.Name);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
@ -407,15 +394,15 @@ namespace PepperDash.Essentials
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Warning, "Error Loading assembly {0}: {1}",
|
Debug.LogMessage(LogEventLevel.Information, "Error Loading assembly {0}: {1}",
|
||||||
loadedAssembly.Name, e.Message);
|
loadedAssembly.Name, e.Message);
|
||||||
Debug.Console(2, "{0}", e.StackTrace);
|
Debug.LogMessage(LogEventLevel.Verbose, "{0}", e.StackTrace);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// plugin dll will be loaded. Any classes in plugin should have a static constructor
|
// plugin dll will be loaded. Any classes in plugin should have a static constructor
|
||||||
// that registers that class with the Core.DeviceFactory
|
// that registers that class with the Core.DeviceFactory
|
||||||
Debug.Console(0, "Done Loading Custom Plugin Types.");
|
Debug.LogMessage(LogEventLevel.Information, "Done Loading Custom Plugin Types.");
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
@ -433,17 +420,17 @@ namespace PepperDash.Essentials
|
||||||
|
|
||||||
if (!passed)
|
if (!passed)
|
||||||
{
|
{
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Error,
|
Debug.LogMessage(LogEventLevel.Information,
|
||||||
"\r\n********************\r\n\tPlugin indicates minimum Essentials version {0}. Dependency check failed. Skipping Plugin {1}\r\n********************",
|
"\r\n********************\r\n\tPlugin indicates minimum Essentials version {0}. Dependency check failed. Skipping Plugin {1}\r\n********************",
|
||||||
plugin.MinimumEssentialsFrameworkVersion, loadedAssembly.Name);
|
plugin.MinimumEssentialsFrameworkVersion, loadedAssembly.Name);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Notice, "Passed plugin passed dependency check (required version {0})", plugin.MinimumEssentialsFrameworkVersion);
|
Debug.LogMessage(LogEventLevel.Information, "Passed plugin passed dependency check (required version {0})", plugin.MinimumEssentialsFrameworkVersion);
|
||||||
}
|
}
|
||||||
|
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Notice, "Loading plugin: {0}", loadedAssembly.Name);
|
Debug.LogMessage(LogEventLevel.Information, "Loading plugin: {0}", loadedAssembly.Name);
|
||||||
plugin.LoadTypeFactories();
|
plugin.LoadTypeFactories();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -454,14 +441,14 @@ namespace PepperDash.Essentials
|
||||||
/// <param name="loadPlugin"></param>
|
/// <param name="loadPlugin"></param>
|
||||||
static void LoadCustomLegacyPlugin(CType type, MethodInfo loadPlugin, LoadedAssembly loadedAssembly)
|
static void LoadCustomLegacyPlugin(CType type, MethodInfo loadPlugin, LoadedAssembly loadedAssembly)
|
||||||
{
|
{
|
||||||
Debug.Console(2, "LoadPlugin method found in {0}", type.Name);
|
Debug.LogMessage(LogEventLevel.Verbose, "LoadPlugin method found in {0}", type.Name);
|
||||||
|
|
||||||
var fields = type.GetFields(BindingFlags.Public | BindingFlags.Static);
|
var fields = type.GetFields(BindingFlags.Public | BindingFlags.Static);
|
||||||
|
|
||||||
var minimumVersion = fields.FirstOrDefault(p => p.Name.Equals("MinimumEssentialsFrameworkVersion"));
|
var minimumVersion = fields.FirstOrDefault(p => p.Name.Equals("MinimumEssentialsFrameworkVersion"));
|
||||||
if (minimumVersion != null)
|
if (minimumVersion != null)
|
||||||
{
|
{
|
||||||
Debug.Console(2, "MinimumEssentialsFrameworkVersion found");
|
Debug.LogMessage(LogEventLevel.Verbose, "MinimumEssentialsFrameworkVersion found");
|
||||||
|
|
||||||
var minimumVersionString = minimumVersion.GetValue(null) as string;
|
var minimumVersionString = minimumVersion.GetValue(null) as string;
|
||||||
|
|
||||||
|
|
@ -471,25 +458,25 @@ namespace PepperDash.Essentials
|
||||||
|
|
||||||
if (!passed)
|
if (!passed)
|
||||||
{
|
{
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Error, "Plugin indicates minimum Essentials version {0}. Dependency check failed. Skipping Plugin", minimumVersionString);
|
Debug.LogMessage(LogEventLevel.Information, "Plugin indicates minimum Essentials version {0}. Dependency check failed. Skipping Plugin", minimumVersionString);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Notice, "Passed plugin passed dependency check (required version {0})", minimumVersionString);
|
Debug.LogMessage(LogEventLevel.Information, "Passed plugin passed dependency check (required version {0})", minimumVersionString);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Warning, "MinimumEssentialsFrameworkVersion found but not set. Loading plugin, but your mileage may vary.");
|
Debug.LogMessage(LogEventLevel.Information, "MinimumEssentialsFrameworkVersion found but not set. Loading plugin, but your mileage may vary.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Warning, "MinimumEssentialsFrameworkVersion not found. Loading plugin, but your mileage may vary.");
|
Debug.LogMessage(LogEventLevel.Information, "MinimumEssentialsFrameworkVersion not found. Loading plugin, but your mileage may vary.");
|
||||||
}
|
}
|
||||||
|
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Notice, "Loading legacy plugin: {0}", loadedAssembly.Name);
|
Debug.LogMessage(LogEventLevel.Information, "Loading legacy plugin: {0}", loadedAssembly.Name);
|
||||||
loadPlugin.Invoke(null, null);
|
loadPlugin.Invoke(null, null);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -501,7 +488,7 @@ namespace PepperDash.Essentials
|
||||||
{
|
{
|
||||||
if (Directory.Exists(_pluginDirectory))
|
if (Directory.Exists(_pluginDirectory))
|
||||||
{
|
{
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Notice, "Plugins directory found, checking for plugins");
|
Debug.LogMessage(LogEventLevel.Information, "Plugins directory found, checking for plugins");
|
||||||
|
|
||||||
// Deal with any .dll files
|
// Deal with any .dll files
|
||||||
MoveDllAssemblies();
|
MoveDllAssemblies();
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@ using PepperDash.Core;
|
||||||
|
|
||||||
//using SSMono.IO;
|
//using SSMono.IO;
|
||||||
using PepperDash.Core.WebApi.Presets;
|
using PepperDash.Core.WebApi.Presets;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core.Presets
|
namespace PepperDash.Essentials.Core.Presets
|
||||||
{
|
{
|
||||||
|
|
@ -62,7 +63,7 @@ namespace PepperDash.Essentials.Core.Presets
|
||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
{
|
{
|
||||||
Debug.Console(0, "DevicePresets '{0}', not attached to INumericKeypad device. Ignoring", key);
|
Debug.LogMessage(LogEventLevel.Information, "DevicePresets '{0}', not attached to INumericKeypad device. Ignoring", key);
|
||||||
_dialFunctions = null;
|
_dialFunctions = null;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -112,7 +113,7 @@ namespace PepperDash.Essentials.Core.Presets
|
||||||
{
|
{
|
||||||
_filePath = ListPathPrefix + path;
|
_filePath = ListPathPrefix + path;
|
||||||
|
|
||||||
Debug.Console(2, this, "Setting presets file path to {0}", _filePath);
|
Debug.LogMessage(LogEventLevel.Verbose, this, "Setting presets file path to {0}", _filePath);
|
||||||
LoadChannels();
|
LoadChannels();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -122,7 +123,7 @@ namespace PepperDash.Essentials.Core.Presets
|
||||||
{
|
{
|
||||||
_fileOps.Enter();
|
_fileOps.Enter();
|
||||||
|
|
||||||
Debug.Console(2, this, "Loading presets from {0}", _filePath);
|
Debug.LogMessage(LogEventLevel.Verbose, this, "Loading presets from {0}", _filePath);
|
||||||
PresetsAreLoaded = false;
|
PresetsAreLoaded = false;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
|
@ -132,7 +133,7 @@ namespace PepperDash.Essentials.Core.Presets
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
Debug.Console(2, this,
|
Debug.LogMessage(LogEventLevel.Verbose, this,
|
||||||
"LoadChannels: Error reading presets file. These presets will be empty:\r '{0}'\r Error:{1}",
|
"LoadChannels: Error reading presets file. These presets will be empty:\r '{0}'\r Error:{1}",
|
||||||
_filePath, e.Message);
|
_filePath, e.Message);
|
||||||
// Just save a default empty list
|
// Just save a default empty list
|
||||||
|
|
@ -168,7 +169,7 @@ namespace PepperDash.Essentials.Core.Presets
|
||||||
}
|
}
|
||||||
if (_dialFunctions == null)
|
if (_dialFunctions == null)
|
||||||
{
|
{
|
||||||
Debug.Console(1, "DevicePresets '{0}', not attached to keypad device. Ignoring channel", Key);
|
Debug.LogMessage(LogEventLevel.Debug, "DevicePresets '{0}', not attached to keypad device. Ignoring channel", Key);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ using Crestron.SimplSharpPro;
|
||||||
using Crestron.SimplSharpPro.DeviceSupport;
|
using Crestron.SimplSharpPro.DeviceSupport;
|
||||||
|
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core.Presets
|
namespace PepperDash.Essentials.Core.Presets
|
||||||
|
|
@ -41,7 +42,7 @@ namespace PepperDash.Essentials.Core.Presets
|
||||||
var chan = View.ShowNumbers ? Channel.Channel : "";
|
var chan = View.ShowNumbers ? Channel.Channel : "";
|
||||||
Owner.StringInputSig(Index, 2).StringValue = chan;
|
Owner.StringInputSig(Index, 2).StringValue = chan;
|
||||||
var url = View.Model.ImagesLocalHostPrefix + View.Model.ImagesPathPrefix + Channel.IconUrl;
|
var url = View.Model.ImagesLocalHostPrefix + View.Model.ImagesPathPrefix + Channel.IconUrl;
|
||||||
Debug.Console(2, "icon url={0}", url);
|
Debug.LogMessage(LogEventLevel.Verbose, "icon url={0}", url);
|
||||||
var icon = View.ShowIcon ? url : "";
|
var icon = View.ShowIcon ? url : "";
|
||||||
Owner.StringInputSig(Index, 3).StringValue = icon;
|
Owner.StringInputSig(Index, 3).StringValue = icon;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ using System.Collections.Concurrent;
|
||||||
using System.Threading;
|
using System.Threading;
|
||||||
using Crestron.SimplSharp;
|
using Crestron.SimplSharp;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
|
using Serilog.Events;
|
||||||
using Thread = Crestron.SimplSharpPro.CrestronThread.Thread;
|
using Thread = Crestron.SimplSharpPro.CrestronThread.Thread;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core.Queues
|
namespace PepperDash.Essentials.Core.Queues
|
||||||
|
|
@ -179,7 +180,7 @@ namespace PepperDash.Essentials.Core.Queues
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
//Debug.Console(2, this, "Processing queue item: '{0}'", item.ToString());
|
//Debug.LogMessage(LogEventLevel.Verbose, this, "Processing queue item: '{0}'", item.ToString());
|
||||||
item.Dispatch();
|
item.Dispatch();
|
||||||
|
|
||||||
if (_delayEnabled)
|
if (_delayEnabled)
|
||||||
|
|
@ -191,13 +192,13 @@ namespace PepperDash.Essentials.Core.Queues
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Debug.Console(0, this, Debug.ErrorLogLevel.Error, "Caught an exception in the Queue: {1}:{0}", ex.Message, ex);
|
Debug.LogMessage(LogEventLevel.Information, this, "Caught an exception in the Queue: {1}:{0}", ex.Message, ex);
|
||||||
Debug.Console(2, this, Debug.ErrorLogLevel.Error, "Stack Trace: {0}", ex.StackTrace);
|
Debug.LogMessage(LogEventLevel.Verbose, this, "Stack Trace: {0}", ex.StackTrace);
|
||||||
|
|
||||||
if (ex.InnerException != null)
|
if (ex.InnerException != null)
|
||||||
{
|
{
|
||||||
Debug.Console(0, this, Debug.ErrorLogLevel.Error, "---\r\n{0}", ex.InnerException.Message);
|
Debug.LogMessage(LogEventLevel.Information, this, "---\r\n{0}", ex.InnerException.Message);
|
||||||
Debug.Console(2, this, Debug.ErrorLogLevel.Error, "Stack Trace: {0}", ex.InnerException.StackTrace);
|
Debug.LogMessage(LogEventLevel.Verbose, this, "Stack Trace: {0}", ex.InnerException.StackTrace);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -211,7 +212,7 @@ namespace PepperDash.Essentials.Core.Queues
|
||||||
{
|
{
|
||||||
if (Disposed)
|
if (Disposed)
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "Queue has been disposed. Enqueuing messages not allowed while program is stopping.");
|
Debug.LogMessage(LogEventLevel.Debug, this, "Queue has been disposed. Enqueuing messages not allowed while program is stopping.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -243,7 +244,7 @@ namespace PepperDash.Essentials.Core.Queues
|
||||||
{
|
{
|
||||||
using (_waitHandle)
|
using (_waitHandle)
|
||||||
{
|
{
|
||||||
Debug.Console(2, this, "Disposing...");
|
Debug.LogMessage(LogEventLevel.Verbose, this, "Disposing...");
|
||||||
_queue.Enqueue(null);
|
_queue.Enqueue(null);
|
||||||
_waitHandle.Set();
|
_waitHandle.Set();
|
||||||
_worker.Join();
|
_worker.Join();
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@ namespace PepperDash.Essentials.Core
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public static double Scale(double input, double inMin, double inMax, double outMin, double outMax)
|
public static double Scale(double input, double inMin, double inMax, double outMin, double outMax)
|
||||||
{
|
{
|
||||||
//Debug.Console(2, this, "Scaling (double) input '{0}' with min '{1}'/max '{2}' to output range min '{3}'/max '{4}'", input, inMin, inMax, outMin, outMax);
|
//Debug.LogMessage(LogEventLevel.Verbose, this, "Scaling (double) input '{0}' with min '{1}'/max '{2}' to output range min '{3}'/max '{4}'", input, inMin, inMax, outMin, outMax);
|
||||||
|
|
||||||
double inputRange = inMax - inMin;
|
double inputRange = inMax - inMin;
|
||||||
|
|
||||||
|
|
@ -32,7 +32,7 @@ namespace PepperDash.Essentials.Core
|
||||||
|
|
||||||
var output = (((input - inMin) * outputRange) / inputRange) + outMin;
|
var output = (((input - inMin) * outputRange) / inputRange) + outMin;
|
||||||
|
|
||||||
// Debug.Console(2, this, "Scaled output '{0}'", output);
|
// Debug.LogMessage(LogEventLevel.Verbose, this, "Scaled output '{0}'", output);
|
||||||
|
|
||||||
return output;
|
return output;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ using Crestron.SimplSharp;
|
||||||
using Crestron.SimplSharpPro;
|
using Crestron.SimplSharpPro;
|
||||||
|
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core
|
namespace PepperDash.Essentials.Core
|
||||||
{
|
{
|
||||||
|
|
@ -33,7 +34,7 @@ namespace PepperDash.Essentials.Core
|
||||||
RepeatDelay = repeatDelay;
|
RepeatDelay = repeatDelay;
|
||||||
RepeatTime = repeatTime;
|
RepeatTime = repeatTime;
|
||||||
if (SignedMode && (MinValue < -32768 || MaxValue > 32767))
|
if (SignedMode && (MinValue < -32768 || MaxValue > 32767))
|
||||||
Debug.Console(1, "UshortSigIncrementer has signed values that exceed range of -32768, 32767");
|
Debug.LogMessage(LogEventLevel.Debug, "UshortSigIncrementer has signed values that exceed range of -32768, 32767");
|
||||||
}
|
}
|
||||||
|
|
||||||
public void StartUp()
|
public void StartUp()
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,7 @@ using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core;
|
using PepperDash.Essentials.Core;
|
||||||
using PepperDash.Essentials.Core.Config;
|
using PepperDash.Essentials.Core.Config;
|
||||||
using PepperDash.Essentials.Core.Devices;
|
using PepperDash.Essentials.Core.Devices;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core
|
namespace PepperDash.Essentials.Core
|
||||||
{
|
{
|
||||||
|
|
@ -63,14 +64,14 @@ namespace PepperDash.Essentials.Core
|
||||||
Room.RoomOccupancyIsSet += new EventHandler<EventArgs>(RoomOccupancyIsSet);
|
Room.RoomOccupancyIsSet += new EventHandler<EventArgs>(RoomOccupancyIsSet);
|
||||||
|
|
||||||
else
|
else
|
||||||
Debug.Console(1, this, "Room has no RoomOccupancy object set");
|
Debug.LogMessage(LogEventLevel.Debug, this, "Room has no RoomOccupancy object set");
|
||||||
|
|
||||||
var fusionRoomKey = PropertiesConfig.RoomKey + "-fusion";
|
var fusionRoomKey = PropertiesConfig.RoomKey + "-fusion";
|
||||||
|
|
||||||
FusionRoom = DeviceManager.GetDeviceForKey(fusionRoomKey) as Core.Fusion.EssentialsHuddleSpaceFusionSystemControllerBase;
|
FusionRoom = DeviceManager.GetDeviceForKey(fusionRoomKey) as Core.Fusion.EssentialsHuddleSpaceFusionSystemControllerBase;
|
||||||
|
|
||||||
if (FusionRoom == null)
|
if (FusionRoom == null)
|
||||||
Debug.Console(1, this, "Unable to get Fusion Room from Device Manager with key: {0}", fusionRoomKey);
|
Debug.LogMessage(LogEventLevel.Debug, this, "Unable to get Fusion Room from Device Manager with key: {0}", fusionRoomKey);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -96,14 +97,14 @@ namespace PepperDash.Essentials.Core
|
||||||
|
|
||||||
if (FeatureEnabledTime != null)
|
if (FeatureEnabledTime != null)
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "Enabled Time: {0}", FeatureEnabledTime.ToString());
|
Debug.LogMessage(LogEventLevel.Debug, this, "Enabled Time: {0}", FeatureEnabledTime.ToString());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
Debug.Console(1, this, "Unable to parse {0} to DateTime", PropertiesConfig.OccupancyStartTime);
|
Debug.LogMessage(LogEventLevel.Debug, this, "Unable to parse {0} to DateTime", PropertiesConfig.OccupancyStartTime);
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "Unable to parse OccupancyStartTime property: {0} \n Error: {1}", PropertiesConfig.OccupancyStartTime, e);
|
Debug.LogMessage(LogEventLevel.Debug, this, "Unable to parse OccupancyStartTime property: {0} \n Error: {1}", PropertiesConfig.OccupancyStartTime, e);
|
||||||
}
|
}
|
||||||
|
|
||||||
try
|
try
|
||||||
|
|
@ -112,14 +113,14 @@ namespace PepperDash.Essentials.Core
|
||||||
|
|
||||||
if (FeatureDisabledTime != null)
|
if (FeatureDisabledTime != null)
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "Disabled Time: {0}", FeatureDisabledTime.ToString());
|
Debug.LogMessage(LogEventLevel.Debug, this, "Disabled Time: {0}", FeatureDisabledTime.ToString());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
Debug.Console(1, this, "Unable to parse {0} to DateTime", PropertiesConfig.OccupancyEndTime);
|
Debug.LogMessage(LogEventLevel.Debug, this, "Unable to parse {0} to DateTime", PropertiesConfig.OccupancyEndTime);
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "Unable to parse a DateTime config value \n Error: {1}", e);
|
Debug.LogMessage(LogEventLevel.Debug, this, "Unable to parse a DateTime config value \n Error: {1}", e);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!PropertiesConfig.EnableRoomOnWhenOccupied)
|
if (!PropertiesConfig.EnableRoomOnWhenOccupied)
|
||||||
|
|
@ -138,7 +139,7 @@ namespace PepperDash.Essentials.Core
|
||||||
FeatureEnabled = CheckIfFeatureShouldBeEnabled();
|
FeatureEnabled = CheckIfFeatureShouldBeEnabled();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
Debug.Console(1, this, "Unable to get room from Device Manager with key: {0}", PropertiesConfig.RoomKey);
|
Debug.LogMessage(LogEventLevel.Debug, this, "Unable to get room from Device Manager with key: {0}", PropertiesConfig.RoomKey);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -165,13 +166,13 @@ namespace PepperDash.Essentials.Core
|
||||||
{
|
{
|
||||||
Room.RoomOccupancy.RoomIsOccupiedFeedback.OutputChange -= RoomIsOccupiedFeedback_OutputChange;
|
Room.RoomOccupancy.RoomIsOccupiedFeedback.OutputChange -= RoomIsOccupiedFeedback_OutputChange;
|
||||||
Room.RoomOccupancy.RoomIsOccupiedFeedback.OutputChange += new EventHandler<FeedbackEventArgs>(RoomIsOccupiedFeedback_OutputChange);
|
Room.RoomOccupancy.RoomIsOccupiedFeedback.OutputChange += new EventHandler<FeedbackEventArgs>(RoomIsOccupiedFeedback_OutputChange);
|
||||||
Debug.Console(1, this, "Subscribed to RoomOccupancy status from: '{0}'", Room.Key);
|
Debug.LogMessage(LogEventLevel.Debug, this, "Subscribed to RoomOccupancy status from: '{0}'", Room.Key);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void FeatureEventGroup_UserGroupCallBack(ScheduledEvent SchEvent, ScheduledEventCommon.eCallbackReason type)
|
void FeatureEventGroup_UserGroupCallBack(ScheduledEvent SchEvent, ScheduledEventCommon.eCallbackReason type)
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, Debug.ErrorLogLevel.Notice, "{0}:{1} @ {2}", SchEvent.Name, type, DateTime.Now);
|
Debug.LogMessage(LogEventLevel.Debug, this, "{0}:{1} @ {2}", SchEvent.Name, type, DateTime.Now);
|
||||||
|
|
||||||
if (type == ScheduledEventCommon.eCallbackReason.NormalExpiration)
|
if (type == ScheduledEventCommon.eCallbackReason.NormalExpiration)
|
||||||
{
|
{
|
||||||
|
|
@ -183,13 +184,13 @@ namespace PepperDash.Essentials.Core
|
||||||
if (PropertiesConfig.EnableRoomOnWhenOccupied)
|
if (PropertiesConfig.EnableRoomOnWhenOccupied)
|
||||||
FeatureEnabled = true;
|
FeatureEnabled = true;
|
||||||
|
|
||||||
Debug.Console(1, this, "*****Feature Enabled by event.*****");
|
Debug.LogMessage(LogEventLevel.Debug, this, "*****Feature Enabled by event.*****");
|
||||||
}
|
}
|
||||||
else if (SchEvent.Name == FeatureDisableEventName)
|
else if (SchEvent.Name == FeatureDisableEventName)
|
||||||
{
|
{
|
||||||
FeatureEnabled = false;
|
FeatureEnabled = false;
|
||||||
|
|
||||||
Debug.Console(1, this, "*****Feature Disabled by event.*****");
|
Debug.LogMessage(LogEventLevel.Debug, this, "*****Feature Disabled by event.*****");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -204,7 +205,7 @@ namespace PepperDash.Essentials.Core
|
||||||
|
|
||||||
if(PropertiesConfig.EnableRoomOnWhenOccupied)
|
if(PropertiesConfig.EnableRoomOnWhenOccupied)
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "Current Time: {0} \n FeatureEnabledTime: {1} \n FeatureDisabledTime: {2}", DateTime.Now, FeatureEnabledTime, FeatureDisabledTime);
|
Debug.LogMessage(LogEventLevel.Debug, this, "Current Time: {0} \n FeatureEnabledTime: {1} \n FeatureDisabledTime: {2}", DateTime.Now, FeatureEnabledTime, FeatureDisabledTime);
|
||||||
|
|
||||||
if (DateTime.Now.TimeOfDay.CompareTo(FeatureEnabledTime.TimeOfDay) >= 0 && FeatureDisabledTime.TimeOfDay.CompareTo(DateTime.Now.TimeOfDay) > 0)
|
if (DateTime.Now.TimeOfDay.CompareTo(FeatureEnabledTime.TimeOfDay) >= 0 && FeatureDisabledTime.TimeOfDay.CompareTo(DateTime.Now.TimeOfDay) > 0)
|
||||||
{
|
{
|
||||||
|
|
@ -216,9 +217,9 @@ namespace PepperDash.Essentials.Core
|
||||||
}
|
}
|
||||||
|
|
||||||
if(enabled)
|
if(enabled)
|
||||||
Debug.Console(1, this, "*****Feature Enabled*****");
|
Debug.LogMessage(LogEventLevel.Debug, this, "*****Feature Enabled*****");
|
||||||
else
|
else
|
||||||
Debug.Console(1, this, "*****Feature Disabled*****");
|
Debug.LogMessage(LogEventLevel.Debug, this, "*****Feature Disabled*****");
|
||||||
|
|
||||||
return enabled;
|
return enabled;
|
||||||
}
|
}
|
||||||
|
|
@ -230,7 +231,7 @@ namespace PepperDash.Essentials.Core
|
||||||
/// <param name="e"></param>
|
/// <param name="e"></param>
|
||||||
void RoomIsOccupiedFeedback_OutputChange(object sender, FeedbackEventArgs e)
|
void RoomIsOccupiedFeedback_OutputChange(object sender, FeedbackEventArgs e)
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "RoomIsOccupiedFeeback.OutputChange event fired. e.BoolValue: {0}", e.BoolValue);
|
Debug.LogMessage(LogEventLevel.Debug, this, "RoomIsOccupiedFeeback.OutputChange event fired. e.BoolValue: {0}", e.BoolValue);
|
||||||
if(e.BoolValue)
|
if(e.BoolValue)
|
||||||
{
|
{
|
||||||
// Occupancy detected
|
// Occupancy detected
|
||||||
|
|
@ -242,7 +243,7 @@ namespace PepperDash.Essentials.Core
|
||||||
if (essentialsRoom != null) {
|
if (essentialsRoom != null) {
|
||||||
if (!essentialsRoom.OnFeedback.BoolValue)
|
if (!essentialsRoom.OnFeedback.BoolValue)
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "Powering Room on to default source");
|
Debug.LogMessage(LogEventLevel.Debug, this, "Powering Room on to default source");
|
||||||
|
|
||||||
var defaultRouteRoom = Room as IRunDefaultPresentRoute;
|
var defaultRouteRoom = Room as IRunDefaultPresentRoute;
|
||||||
|
|
||||||
|
|
@ -260,7 +261,7 @@ namespace PepperDash.Essentials.Core
|
||||||
|
|
||||||
void CreateEvent(ScheduledEvent schEvent, string name)
|
void CreateEvent(ScheduledEvent schEvent, string name)
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "Adding Event: '{0}'", name);
|
Debug.LogMessage(LogEventLevel.Debug, this, "Adding Event: '{0}'", name);
|
||||||
// Create the event
|
// Create the event
|
||||||
if (schEvent == null)
|
if (schEvent == null)
|
||||||
schEvent = new ScheduledEvent(name, FeatureEventGroup);
|
schEvent = new ScheduledEvent(name, FeatureEventGroup);
|
||||||
|
|
@ -290,19 +291,19 @@ namespace PepperDash.Essentials.Core
|
||||||
else
|
else
|
||||||
eventTime = FeatureEnabledTime;
|
eventTime = FeatureEnabledTime;
|
||||||
|
|
||||||
Debug.Console(1, this, "eventTime (before recurrence check): {0}", eventTime);
|
Debug.LogMessage(LogEventLevel.Debug, this, "eventTime (before recurrence check): {0}", eventTime);
|
||||||
|
|
||||||
// Check day of week against recurrence days and move date ahead as necessary to avoid throwing an exception by trying to set the event
|
// Check day of week against recurrence days and move date ahead as necessary to avoid throwing an exception by trying to set the event
|
||||||
// start date on a day of the week that doesn't match teh recurrence values
|
// start date on a day of the week that doesn't match teh recurrence values
|
||||||
while(!SchedulerUtilities.CheckIfDayOfWeekMatchesRecurrenceDays(eventTime, eventRecurrennce))
|
while(!SchedulerUtilities.CheckIfDayOfWeekMatchesRecurrenceDays(eventTime, eventRecurrennce))
|
||||||
{
|
{
|
||||||
eventTime = eventTime.AddDays(1);
|
eventTime = eventTime.AddDays(1);
|
||||||
Debug.Console(1, this, "eventTime does not fall on a recurrence weekday. eventTime: {0}", eventTime);
|
Debug.LogMessage(LogEventLevel.Debug, this, "eventTime does not fall on a recurrence weekday. eventTime: {0}", eventTime);
|
||||||
}
|
}
|
||||||
|
|
||||||
schEvent.DateAndTime.SetAbsoluteEventTime(eventTime);
|
schEvent.DateAndTime.SetAbsoluteEventTime(eventTime);
|
||||||
|
|
||||||
Debug.Console(1, this, "Event '{0}' Absolute time set to {1}", schEvent.Name, schEvent.DateAndTime.ToString());
|
Debug.LogMessage(LogEventLevel.Debug, this, "Event '{0}' Absolute time set to {1}", schEvent.Name, schEvent.DateAndTime.ToString());
|
||||||
|
|
||||||
//CalculateAndSetAcknowledgeExpirationTimeout(schEvent, FeatureEnabledTime, FeatureDisabledTime);
|
//CalculateAndSetAcknowledgeExpirationTimeout(schEvent, FeatureEnabledTime, FeatureDisabledTime);
|
||||||
|
|
||||||
|
|
@ -319,7 +320,7 @@ namespace PepperDash.Essentials.Core
|
||||||
else
|
else
|
||||||
schEvent.DateAndTime.SetAbsoluteEventTime(FeatureDisabledTime);
|
schEvent.DateAndTime.SetAbsoluteEventTime(FeatureDisabledTime);
|
||||||
|
|
||||||
Debug.Console(1, this, "Event '{0}' Absolute time set to {1}", schEvent.Name, schEvent.DateAndTime.ToString());
|
Debug.LogMessage(LogEventLevel.Debug, this, "Event '{0}' Absolute time set to {1}", schEvent.Name, schEvent.DateAndTime.ToString());
|
||||||
|
|
||||||
CalculateAndSetAcknowledgeExpirationTimeout(schEvent, FeatureDisabledTime, FeatureEnabledTime);
|
CalculateAndSetAcknowledgeExpirationTimeout(schEvent, FeatureDisabledTime, FeatureEnabledTime);
|
||||||
|
|
||||||
|
|
@ -329,10 +330,10 @@ namespace PepperDash.Essentials.Core
|
||||||
|
|
||||||
void CalculateAndSetAcknowledgeExpirationTimeout(ScheduledEvent schEvent, DateTime time1, DateTime time2)
|
void CalculateAndSetAcknowledgeExpirationTimeout(ScheduledEvent schEvent, DateTime time1, DateTime time2)
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "time1.Hour = {0}", time1.Hour);
|
Debug.LogMessage(LogEventLevel.Debug, this, "time1.Hour = {0}", time1.Hour);
|
||||||
Debug.Console(1, this, "time2.Hour = {0}", time2.Hour);
|
Debug.LogMessage(LogEventLevel.Debug, this, "time2.Hour = {0}", time2.Hour);
|
||||||
Debug.Console(1, this, "time1.Minute = {0}", time1.Minute);
|
Debug.LogMessage(LogEventLevel.Debug, this, "time1.Minute = {0}", time1.Minute);
|
||||||
Debug.Console(1, this, "time2.Minute = {0}", time2.Minute);
|
Debug.LogMessage(LogEventLevel.Debug, this, "time2.Minute = {0}", time2.Minute);
|
||||||
|
|
||||||
// Calculate the Acknowledge Expiration timer to be the time between the enable and dispable events, less one minute
|
// Calculate the Acknowledge Expiration timer to be the time between the enable and dispable events, less one minute
|
||||||
var ackHours = time2.Hour - time1.Hour;
|
var ackHours = time2.Hour - time1.Hour;
|
||||||
|
|
@ -340,14 +341,14 @@ namespace PepperDash.Essentials.Core
|
||||||
ackHours = ackHours + 24;
|
ackHours = ackHours + 24;
|
||||||
var ackMinutes = time2.Minute - time1.Minute;
|
var ackMinutes = time2.Minute - time1.Minute;
|
||||||
|
|
||||||
Debug.Console(1, this, "ackHours = {0}, ackMinutes = {1}", ackHours, ackMinutes);
|
Debug.LogMessage(LogEventLevel.Debug, this, "ackHours = {0}, ackMinutes = {1}", ackHours, ackMinutes);
|
||||||
|
|
||||||
var ackTotalMinutes = ((ackHours * 60) + ackMinutes) - 1;
|
var ackTotalMinutes = ((ackHours * 60) + ackMinutes) - 1;
|
||||||
|
|
||||||
var ackExpHour = ackTotalMinutes / 60;
|
var ackExpHour = ackTotalMinutes / 60;
|
||||||
var ackExpMinutes = ackTotalMinutes % 60;
|
var ackExpMinutes = ackTotalMinutes % 60;
|
||||||
|
|
||||||
Debug.Console(1, this, "Acknowledge Expiration Timeout: {0} hours, {1} minutes", ackExpHour, ackExpMinutes);
|
Debug.LogMessage(LogEventLevel.Debug, this, "Acknowledge Expiration Timeout: {0} hours, {1} minutes", ackExpHour, ackExpMinutes);
|
||||||
|
|
||||||
schEvent.AcknowledgeExpirationTimeout.Hour = (ushort)(ackHours);
|
schEvent.AcknowledgeExpirationTimeout.Hour = (ushort)(ackHours);
|
||||||
schEvent.AcknowledgeExpirationTimeout.Minute = (ushort)(ackExpMinutes);
|
schEvent.AcknowledgeExpirationTimeout.Minute = (ushort)(ackExpMinutes);
|
||||||
|
|
@ -401,12 +402,12 @@ namespace PepperDash.Essentials.Core
|
||||||
// Check if existing event has same time and recurrence as config values
|
// Check if existing event has same time and recurrence as config values
|
||||||
|
|
||||||
FeatureEnableEvent = FeatureEventGroup.ScheduledEvents[FeatureEnableEventName];
|
FeatureEnableEvent = FeatureEventGroup.ScheduledEvents[FeatureEnableEventName];
|
||||||
Debug.Console(1, this, "Enable event already found in group");
|
Debug.LogMessage(LogEventLevel.Debug, this, "Enable event already found in group");
|
||||||
|
|
||||||
// Check config times and days against DateAndTime of existing event. If different, delete existing event and create new event
|
// Check config times and days against DateAndTime of existing event. If different, delete existing event and create new event
|
||||||
if(!CheckExistingEventTimeForMatch(FeatureEnableEvent, FeatureEnabledTime) || !CheckExistingEventRecurrenceForMatch(FeatureEnableEvent, CalculateDaysOfWeekRecurrence()))
|
if(!CheckExistingEventTimeForMatch(FeatureEnableEvent, FeatureEnabledTime) || !CheckExistingEventRecurrenceForMatch(FeatureEnableEvent, CalculateDaysOfWeekRecurrence()))
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "Existing event does not match new config properties. Deleting exisiting event: '{0}'", FeatureEnableEvent.Name);
|
Debug.LogMessage(LogEventLevel.Debug, this, "Existing event does not match new config properties. Deleting exisiting event: '{0}'", FeatureEnableEvent.Name);
|
||||||
FeatureEventGroup.DeleteEvent(FeatureEnableEvent);
|
FeatureEventGroup.DeleteEvent(FeatureEnableEvent);
|
||||||
|
|
||||||
FeatureEnableEvent = null;
|
FeatureEnableEvent = null;
|
||||||
|
|
@ -429,12 +430,12 @@ namespace PepperDash.Essentials.Core
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
FeatureDisableEvent = FeatureEventGroup.ScheduledEvents[FeatureDisableEventName];
|
FeatureDisableEvent = FeatureEventGroup.ScheduledEvents[FeatureDisableEventName];
|
||||||
Debug.Console(1, this, "Disable event already found in group");
|
Debug.LogMessage(LogEventLevel.Debug, this, "Disable event already found in group");
|
||||||
|
|
||||||
// Check config times against DateAndTime of existing event. If different, delete existing event and create new event
|
// Check config times against DateAndTime of existing event. If different, delete existing event and create new event
|
||||||
if(!CheckExistingEventTimeForMatch(FeatureDisableEvent, FeatureDisabledTime))
|
if(!CheckExistingEventTimeForMatch(FeatureDisableEvent, FeatureDisabledTime))
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "Existing event does not match new config properties. Deleting exisiting event: '{0}'", FeatureDisableEvent.Name);
|
Debug.LogMessage(LogEventLevel.Debug, this, "Existing event does not match new config properties. Deleting exisiting event: '{0}'", FeatureDisableEvent.Name);
|
||||||
|
|
||||||
FeatureEventGroup.DeleteEvent(FeatureDisableEvent);
|
FeatureEventGroup.DeleteEvent(FeatureDisableEvent);
|
||||||
|
|
||||||
|
|
@ -484,7 +485,7 @@ namespace PepperDash.Essentials.Core
|
||||||
if(PropertiesConfig.EnableRoomOnWhenOccupied)
|
if(PropertiesConfig.EnableRoomOnWhenOccupied)
|
||||||
FeatureEnabled = true;
|
FeatureEnabled = true;
|
||||||
|
|
||||||
Debug.Console(1, this, "RoomOnToDefaultSourceWhenOccupied Feature Enabled.");
|
Debug.LogMessage(LogEventLevel.Debug, this, "RoomOnToDefaultSourceWhenOccupied Feature Enabled.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -499,7 +500,7 @@ namespace PepperDash.Essentials.Core
|
||||||
{
|
{
|
||||||
FeatureEnabled = false;
|
FeatureEnabled = false;
|
||||||
|
|
||||||
Debug.Console(1, this, "RoomOnToDefaultSourceWhenOccupied Feature Disabled.");
|
Debug.LogMessage(LogEventLevel.Debug, this, "RoomOnToDefaultSourceWhenOccupied Feature Disabled.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -549,7 +550,7 @@ namespace PepperDash.Essentials.Core
|
||||||
|
|
||||||
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
||||||
{
|
{
|
||||||
Debug.Console(1, "Factory Attempting to create new RoomOnToDefaultSourceWhenOccupied Device");
|
Debug.LogMessage(LogEventLevel.Debug, "Factory Attempting to create new RoomOnToDefaultSourceWhenOccupied Device");
|
||||||
return new RoomOnToDefaultSourceWhenOccupied(dc);
|
return new RoomOnToDefaultSourceWhenOccupied(dc);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ using System.Text;
|
||||||
using Crestron.SimplSharp;
|
using Crestron.SimplSharp;
|
||||||
|
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core
|
namespace PepperDash.Essentials.Core
|
||||||
{
|
{
|
||||||
|
|
@ -184,7 +185,7 @@ namespace PepperDash.Essentials.Core
|
||||||
{
|
{
|
||||||
_currentScenario.Activate();
|
_currentScenario.Activate();
|
||||||
|
|
||||||
Debug.Console(1, this, "Current Scenario: {0}", _currentScenario.Name);
|
Debug.LogMessage(LogEventLevel.Debug, this, "Current Scenario: {0}", _currentScenario.Name);
|
||||||
}
|
}
|
||||||
|
|
||||||
var handler = RoomCombinationScenarioChanged;
|
var handler = RoomCombinationScenarioChanged;
|
||||||
|
|
@ -234,7 +235,7 @@ namespace PepperDash.Essentials.Core
|
||||||
{
|
{
|
||||||
if (isInAutoMode)
|
if (isInAutoMode)
|
||||||
{
|
{
|
||||||
Debug.Console(0, this, "Cannot set room combination scenario when in auto mode. Set to auto mode first.");
|
Debug.LogMessage(LogEventLevel.Information, this, "Cannot set room combination scenario when in auto mode. Set to auto mode first.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -245,7 +246,7 @@ namespace PepperDash.Essentials.Core
|
||||||
// Set the parition states from the scenario manually
|
// Set the parition states from the scenario manually
|
||||||
if (scenario != null)
|
if (scenario != null)
|
||||||
{
|
{
|
||||||
Debug.Console(0, this, "Manually setting scenario to '{0}'", scenario.Key);
|
Debug.LogMessage(LogEventLevel.Information, this, "Manually setting scenario to '{0}'", scenario.Key);
|
||||||
foreach (var partitionState in scenario.PartitionStates)
|
foreach (var partitionState in scenario.PartitionStates)
|
||||||
{
|
{
|
||||||
var partition = Partitions.FirstOrDefault((p) => p.Key.Equals(partitionState.PartitionKey));
|
var partition = Partitions.FirstOrDefault((p) => p.Key.Equals(partitionState.PartitionKey));
|
||||||
|
|
@ -254,24 +255,24 @@ namespace PepperDash.Essentials.Core
|
||||||
{
|
{
|
||||||
if (partitionState.PartitionPresent)
|
if (partitionState.PartitionPresent)
|
||||||
{
|
{
|
||||||
Debug.Console(0, this, "Manually setting state to Present for: '{0}'", partition.Key);
|
Debug.LogMessage(LogEventLevel.Information, this, "Manually setting state to Present for: '{0}'", partition.Key);
|
||||||
partition.SetPartitionStatePresent();
|
partition.SetPartitionStatePresent();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Debug.Console(0, this, "Manually setting state to Not Present for: '{0}'", partition.Key);
|
Debug.LogMessage(LogEventLevel.Information, this, "Manually setting state to Not Present for: '{0}'", partition.Key);
|
||||||
partition.SetPartitionStateNotPresent();
|
partition.SetPartitionStateNotPresent();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "Unable to find partition with key: '{0}'", partitionState.PartitionKey);
|
Debug.LogMessage(LogEventLevel.Debug, this, "Unable to find partition with key: '{0}'", partitionState.PartitionKey);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "Unable to find scenario with key: '{0}'", scenarioKey);
|
Debug.LogMessage(LogEventLevel.Debug, this, "Unable to find scenario with key: '{0}'", scenarioKey);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -287,7 +288,7 @@ namespace PepperDash.Essentials.Core
|
||||||
|
|
||||||
public override EssentialsDevice BuildDevice(PepperDash.Essentials.Core.Config.DeviceConfig dc)
|
public override EssentialsDevice BuildDevice(PepperDash.Essentials.Core.Config.DeviceConfig dc)
|
||||||
{
|
{
|
||||||
Debug.Console(1, "Factory Attempting to create new EssentialsRoomCombiner Device");
|
Debug.LogMessage(LogEventLevel.Debug, "Factory Attempting to create new EssentialsRoomCombiner Device");
|
||||||
|
|
||||||
var props = dc.Properties.ToObject<EssentialsRoomCombinerPropertiesConfig>();
|
var props = dc.Properties.ToObject<EssentialsRoomCombinerPropertiesConfig>();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@ using Crestron.SimplSharp;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
|
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core
|
namespace PepperDash.Essentials.Core
|
||||||
{
|
{
|
||||||
|
|
@ -56,7 +57,7 @@ namespace PepperDash.Essentials.Core
|
||||||
|
|
||||||
public void Activate()
|
public void Activate()
|
||||||
{
|
{
|
||||||
Debug.Console(1, "Activating Scenario: '{0}' with {1} action(s) defined", Name, activationActions.Count);
|
Debug.LogMessage(LogEventLevel.Debug, "Activating Scenario: '{0}' with {1} action(s) defined", Name, activationActions.Count);
|
||||||
|
|
||||||
if (activationActions != null)
|
if (activationActions != null)
|
||||||
{
|
{
|
||||||
|
|
@ -72,7 +73,7 @@ namespace PepperDash.Essentials.Core
|
||||||
|
|
||||||
public void Deactivate()
|
public void Deactivate()
|
||||||
{
|
{
|
||||||
Debug.Console(1, "Deactivating Scenario: '{0}' with {1} action(s) defined", Name, deactivationActions.Count);
|
Debug.LogMessage(LogEventLevel.Debug, "Deactivating Scenario: '{0}' with {1} action(s) defined", Name, deactivationActions.Count);
|
||||||
|
|
||||||
if (deactivationActions != null)
|
if (deactivationActions != null)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ using Newtonsoft.Json;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core;
|
using PepperDash.Essentials.Core;
|
||||||
using PepperDash.Essentials.Core.Privacy;
|
using PepperDash.Essentials.Core.Privacy;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Room.Config
|
namespace PepperDash.Essentials.Room.Config
|
||||||
{
|
{
|
||||||
|
|
@ -39,7 +40,7 @@ namespace PepperDash.Essentials.Room.Config
|
||||||
var microphonePrivacy = props.MicrophonePrivacy;
|
var microphonePrivacy = props.MicrophonePrivacy;
|
||||||
if (microphonePrivacy == null)
|
if (microphonePrivacy == null)
|
||||||
{
|
{
|
||||||
Debug.Console(0, "Cannot create microphone privacy with null properties");
|
Debug.LogMessage(LogEventLevel.Information, "Cannot create microphone privacy with null properties");
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
// Get the MicrophonePrivacy device from the device manager
|
// Get the MicrophonePrivacy device from the device manager
|
||||||
|
|
@ -47,7 +48,7 @@ namespace PepperDash.Essentials.Room.Config
|
||||||
// Set this room as the IPrivacy device
|
// Set this room as the IPrivacy device
|
||||||
if (mP == null)
|
if (mP == null)
|
||||||
{
|
{
|
||||||
Debug.Console(0, "ERROR: Selected device {0} is not MicrophonePrivacyController", props.MicrophonePrivacy.DeviceKey);
|
Debug.LogMessage(LogEventLevel.Information, "ERROR: Selected device {0} is not MicrophonePrivacyController", props.MicrophonePrivacy.DeviceKey);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
mP.SetPrivacyDevice(room);
|
mP.SetPrivacyDevice(room);
|
||||||
|
|
@ -56,7 +57,7 @@ namespace PepperDash.Essentials.Room.Config
|
||||||
|
|
||||||
if (behaviour == null)
|
if (behaviour == null)
|
||||||
{
|
{
|
||||||
Debug.Console(0, "WARNING: No behaviour defined for MicrophonePrivacyController");
|
Debug.LogMessage(LogEventLevel.Information, "WARNING: No behaviour defined for MicrophonePrivacyController");
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
if (behaviour == "trackroomstate")
|
if (behaviour == "trackroomstate")
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@ using PepperDash.Essentials.Core;
|
||||||
using PepperDash.Essentials.Core.Config;
|
using PepperDash.Essentials.Core.Config;
|
||||||
using PepperDash.Essentials.Core.Devices;
|
using PepperDash.Essentials.Core.Devices;
|
||||||
using PepperDash.Essentials.Core.DeviceTypeInterfaces;
|
using PepperDash.Essentials.Core.DeviceTypeInterfaces;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core
|
namespace PepperDash.Essentials.Core
|
||||||
{
|
{
|
||||||
|
|
@ -211,14 +212,14 @@ namespace PepperDash.Essentials.Core
|
||||||
var mcBridge = DeviceManager.GetDeviceForKey(mcBridgeKey);
|
var mcBridge = DeviceManager.GetDeviceForKey(mcBridgeKey);
|
||||||
if (mcBridge == null)
|
if (mcBridge == null)
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "*********************Mobile Control Bridge Not found for this room.");
|
Debug.LogMessage(LogEventLevel.Debug, this, "*********************Mobile Control Bridge Not found for this room.");
|
||||||
IsMobileControlEnabled = false;
|
IsMobileControlEnabled = false;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
MobileControlRoomBridge = mcBridge as IMobileControlRoomMessenger;
|
MobileControlRoomBridge = mcBridge as IMobileControlRoomMessenger;
|
||||||
Debug.Console(1, this, "*********************Mobile Control Bridge found and enabled for this room");
|
Debug.LogMessage(LogEventLevel.Debug, this, "*********************Mobile Control Bridge found and enabled for this room");
|
||||||
IsMobileControlEnabled = true;
|
IsMobileControlEnabled = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -236,7 +237,7 @@ namespace PepperDash.Essentials.Core
|
||||||
case eVacancyMode.InShutdownWarning:
|
case eVacancyMode.InShutdownWarning:
|
||||||
{
|
{
|
||||||
StartShutdown(eShutdownType.Vacancy);
|
StartShutdown(eShutdownType.Vacancy);
|
||||||
Debug.Console(0, this, Debug.ErrorLogLevel.Notice, "Shutting Down due to vacancy.");
|
Debug.LogMessage(LogEventLevel.Information, this, "Shutting Down due to vacancy.");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
|
|
@ -259,7 +260,7 @@ namespace PepperDash.Essentials.Core
|
||||||
ShutdownType = type;
|
ShutdownType = type;
|
||||||
ShutdownPromptTimer.Start();
|
ShutdownPromptTimer.Start();
|
||||||
|
|
||||||
Debug.Console(0, this, Debug.ErrorLogLevel.Notice, "ShutdownPromptTimer Started. Type: {0}. Seconds: {1}", ShutdownType, ShutdownPromptTimer.SecondsToCount);
|
Debug.LogMessage(LogEventLevel.Information, this, "ShutdownPromptTimer Started. Type: {0}. Seconds: {1}", ShutdownType, ShutdownPromptTimer.SecondsToCount);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void StartRoomVacancyTimer(eVacancyMode mode)
|
public void StartRoomVacancyTimer(eVacancyMode mode)
|
||||||
|
|
@ -273,7 +274,7 @@ namespace PepperDash.Essentials.Core
|
||||||
VacancyMode = mode;
|
VacancyMode = mode;
|
||||||
RoomVacancyShutdownTimer.Start();
|
RoomVacancyShutdownTimer.Start();
|
||||||
|
|
||||||
Debug.Console(0, this, Debug.ErrorLogLevel.Notice, "Vacancy Timer Started. Mode: {0}. Seconds: {1}", VacancyMode, RoomVacancyShutdownTimer.SecondsToCount);
|
Debug.LogMessage(LogEventLevel.Information, this, "Vacancy Timer Started. Mode: {0}. Seconds: {1}", VacancyMode, RoomVacancyShutdownTimer.SecondsToCount);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
@ -305,12 +306,12 @@ namespace PepperDash.Essentials.Core
|
||||||
{
|
{
|
||||||
if (statusProvider == null)
|
if (statusProvider == null)
|
||||||
{
|
{
|
||||||
Debug.Console(0, this, "ERROR: Occupancy sensor device is null");
|
Debug.LogMessage(LogEventLevel.Information, this, "ERROR: Occupancy sensor device is null");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Debug.Console(0, this, Debug.ErrorLogLevel.Notice, "Room Occupancy set to device: '{0}'", (statusProvider as Device).Key);
|
Debug.LogMessage(LogEventLevel.Information, this, "Room Occupancy set to device: '{0}'", (statusProvider as Device).Key);
|
||||||
Debug.Console(0, this, Debug.ErrorLogLevel.Notice, "Timeout Minutes from Config is: {0}", timeoutMinutes);
|
Debug.LogMessage(LogEventLevel.Information, this, "Timeout Minutes from Config is: {0}", timeoutMinutes);
|
||||||
|
|
||||||
// If status provider is fusion, set flag to remote
|
// If status provider is fusion, set flag to remote
|
||||||
if (statusProvider is Core.Fusion.EssentialsHuddleSpaceFusionSystemControllerBase)
|
if (statusProvider is Core.Fusion.EssentialsHuddleSpaceFusionSystemControllerBase)
|
||||||
|
|
@ -319,7 +320,7 @@ namespace PepperDash.Essentials.Core
|
||||||
if(timeoutMinutes > 0)
|
if(timeoutMinutes > 0)
|
||||||
RoomVacancyShutdownSeconds = timeoutMinutes * 60;
|
RoomVacancyShutdownSeconds = timeoutMinutes * 60;
|
||||||
|
|
||||||
Debug.Console(0, this, Debug.ErrorLogLevel.Notice, "RoomVacancyShutdownSeconds set to {0}", RoomVacancyShutdownSeconds);
|
Debug.LogMessage(LogEventLevel.Information, this, "RoomVacancyShutdownSeconds set to {0}", RoomVacancyShutdownSeconds);
|
||||||
|
|
||||||
RoomOccupancy = statusProvider;
|
RoomOccupancy = statusProvider;
|
||||||
|
|
||||||
|
|
@ -351,13 +352,13 @@ namespace PepperDash.Essentials.Core
|
||||||
{
|
{
|
||||||
if (RoomOccupancy.RoomIsOccupiedFeedback.BoolValue == false && AllowVacancyTimerToStart())
|
if (RoomOccupancy.RoomIsOccupiedFeedback.BoolValue == false && AllowVacancyTimerToStart())
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, Debug.ErrorLogLevel.Notice, "Notice: Vacancy Detected");
|
Debug.LogMessage(LogEventLevel.Debug, this, "Notice: Vacancy Detected");
|
||||||
// Trigger the timer when the room is vacant
|
// Trigger the timer when the room is vacant
|
||||||
StartRoomVacancyTimer(eVacancyMode.InInitialVacancy);
|
StartRoomVacancyTimer(eVacancyMode.InInitialVacancy);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, Debug.ErrorLogLevel.Notice, "Notice: Occupancy Detected");
|
Debug.LogMessage(LogEventLevel.Debug, this, "Notice: Occupancy Detected");
|
||||||
// Reset the timer when the room is occupied
|
// Reset the timer when the room is occupied
|
||||||
RoomVacancyShutdownTimer.Cancel();
|
RoomVacancyShutdownTimer.Cancel();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ using Crestron.SimplSharpPro;
|
||||||
using Crestron.SimplSharpPro.DM;
|
using Crestron.SimplSharpPro.DM;
|
||||||
|
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core
|
namespace PepperDash.Essentials.Core
|
||||||
|
|
@ -65,7 +66,7 @@ namespace PepperDash.Essentials.Core
|
||||||
|
|
||||||
RouteRequests[destination.Key] = routeRequest;
|
RouteRequests[destination.Key] = routeRequest;
|
||||||
|
|
||||||
Debug.Console(2, "******************************************************** Device: {0} is cooling down and already has a routing request stored. Storing new route request to route to source key: {1}", destination.Key, routeRequest.Source.Key);
|
Debug.LogMessage(LogEventLevel.Verbose, "******************************************************** Device: {0} is cooling down and already has a routing request stored. Storing new route request to route to source key: {1}", destination.Key, routeRequest.Source.Key);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -79,14 +80,14 @@ namespace PepperDash.Essentials.Core
|
||||||
|
|
||||||
RouteRequests.Add(destination.Key, routeRequest);
|
RouteRequests.Add(destination.Key, routeRequest);
|
||||||
|
|
||||||
Debug.Console(2, "******************************************************** Device: {0} is cooling down. Storing route request to route to source key: {1}", destination.Key, routeRequest.Source.Key);
|
Debug.LogMessage(LogEventLevel.Verbose, "******************************************************** Device: {0} is cooling down. Storing route request to route to source key: {1}", destination.Key, routeRequest.Source.Key);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (RouteRequests.ContainsKey(destination.Key) && coolingDevice != null && coolingDevice.IsCoolingDownFeedback.BoolValue == false)
|
if (RouteRequests.ContainsKey(destination.Key) && coolingDevice != null && coolingDevice.IsCoolingDownFeedback.BoolValue == false)
|
||||||
{
|
{
|
||||||
RouteRequests.Remove(destination.Key);
|
RouteRequests.Remove(destination.Key);
|
||||||
Debug.Console(2, "******************************************************** Device: {0} is NOT cooling down. Removing stored route request and routing to source key: {1}", destination.Key, routeRequest.Source.Key);
|
Debug.LogMessage(LogEventLevel.Verbose, "******************************************************** Device: {0} is NOT cooling down. Removing stored route request and routing to source key: {1}", destination.Key, routeRequest.Source.Key);
|
||||||
}
|
}
|
||||||
|
|
||||||
destination.ReleaseRoute();
|
destination.ReleaseRoute();
|
||||||
|
|
@ -100,7 +101,7 @@ namespace PepperDash.Essentials.Core
|
||||||
var newRoute = request.Destination.GetRouteToSource(request.Source, request.SignalType);
|
var newRoute = request.Destination.GetRouteToSource(request.Source, request.SignalType);
|
||||||
if (newRoute == null) return;
|
if (newRoute == null) return;
|
||||||
RouteDescriptorCollection.DefaultCollection.AddRouteDescriptor(newRoute);
|
RouteDescriptorCollection.DefaultCollection.AddRouteDescriptor(newRoute);
|
||||||
Debug.Console(2, request.Destination, "Executing full route");
|
Debug.LogMessage(LogEventLevel.Verbose, request.Destination, "Executing full route");
|
||||||
newRoute.ExecuteRoutes();
|
newRoute.ExecuteRoutes();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -125,7 +126,7 @@ namespace PepperDash.Essentials.Core
|
||||||
var current = RouteDescriptorCollection.DefaultCollection.RemoveRouteDescriptor(destination);
|
var current = RouteDescriptorCollection.DefaultCollection.RemoveRouteDescriptor(destination);
|
||||||
if (current != null)
|
if (current != null)
|
||||||
{
|
{
|
||||||
Debug.Console(1, destination, "Releasing current route: {0}", current.Source.Key);
|
Debug.LogMessage(LogEventLevel.Debug, destination, "Releasing current route: {0}", current.Source.Key);
|
||||||
current.ReleaseRoutes();
|
current.ReleaseRoutes();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -143,25 +144,25 @@ namespace PepperDash.Essentials.Core
|
||||||
// if it's a single signal type, find the route
|
// if it's a single signal type, find the route
|
||||||
if ((signalType & (eRoutingSignalType.Audio & eRoutingSignalType.Video)) == (eRoutingSignalType.Audio & eRoutingSignalType.Video))
|
if ((signalType & (eRoutingSignalType.Audio & eRoutingSignalType.Video)) == (eRoutingSignalType.Audio & eRoutingSignalType.Video))
|
||||||
{
|
{
|
||||||
Debug.Console(1, destination, "Attempting to build source route from {0}", source.Key);
|
Debug.LogMessage(LogEventLevel.Debug, destination, "Attempting to build source route from {0}", source.Key);
|
||||||
if (!destination.GetRouteToSource(source, null, null, signalType, 0, routeDescr))
|
if (!destination.GetRouteToSource(source, null, null, signalType, 0, routeDescr))
|
||||||
routeDescr = null;
|
routeDescr = null;
|
||||||
}
|
}
|
||||||
// otherwise, audioVideo needs to be handled as two steps.
|
// otherwise, audioVideo needs to be handled as two steps.
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Debug.Console(1, destination, "Attempting to build audio and video routes from {0}", source.Key);
|
Debug.LogMessage(LogEventLevel.Debug, destination, "Attempting to build audio and video routes from {0}", source.Key);
|
||||||
var audioSuccess = destination.GetRouteToSource(source, null, null, eRoutingSignalType.Audio, 0, routeDescr);
|
var audioSuccess = destination.GetRouteToSource(source, null, null, eRoutingSignalType.Audio, 0, routeDescr);
|
||||||
if (!audioSuccess)
|
if (!audioSuccess)
|
||||||
Debug.Console(1, destination, "Cannot find audio route to {0}", source.Key);
|
Debug.LogMessage(LogEventLevel.Debug, destination, "Cannot find audio route to {0}", source.Key);
|
||||||
var videoSuccess = destination.GetRouteToSource(source, null, null, eRoutingSignalType.Video, 0, routeDescr);
|
var videoSuccess = destination.GetRouteToSource(source, null, null, eRoutingSignalType.Video, 0, routeDescr);
|
||||||
if (!videoSuccess)
|
if (!videoSuccess)
|
||||||
Debug.Console(1, destination, "Cannot find video route to {0}", source.Key);
|
Debug.LogMessage(LogEventLevel.Debug, destination, "Cannot find video route to {0}", source.Key);
|
||||||
if (!audioSuccess && !videoSuccess)
|
if (!audioSuccess && !videoSuccess)
|
||||||
routeDescr = null;
|
routeDescr = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
//Debug.Console(1, destination, "Route{0} discovered", routeDescr == null ? " NOT" : "");
|
//Debug.LogMessage(LogEventLevel.Debug, destination, "Route{0} discovered", routeDescr == null ? " NOT" : "");
|
||||||
return routeDescr;
|
return routeDescr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -183,7 +184,7 @@ namespace PepperDash.Essentials.Core
|
||||||
eRoutingSignalType signalType, int cycle, RouteDescriptor routeTable)
|
eRoutingSignalType signalType, int cycle, RouteDescriptor routeTable)
|
||||||
{
|
{
|
||||||
cycle++;
|
cycle++;
|
||||||
Debug.Console(2, "GetRouteToSource: {0} {1}--> {2}", cycle, source.Key, destination.Key);
|
Debug.LogMessage(LogEventLevel.Verbose, "GetRouteToSource: {0} {1}--> {2}", cycle, source.Key, destination.Key);
|
||||||
|
|
||||||
RoutingInputPort goodInputPort = null;
|
RoutingInputPort goodInputPort = null;
|
||||||
var destDevInputTies = TieLineCollection.Default.Where(t =>
|
var destDevInputTies = TieLineCollection.Default.Where(t =>
|
||||||
|
|
@ -199,7 +200,7 @@ namespace PepperDash.Essentials.Core
|
||||||
}
|
}
|
||||||
else // no direct-connect. Walk back devices.
|
else // no direct-connect. Walk back devices.
|
||||||
{
|
{
|
||||||
Debug.Console(2, destination, "is not directly connected to {0}. Walking down tie lines", source.Key);
|
Debug.LogMessage(LogEventLevel.Verbose, destination, "is not directly connected to {0}. Walking down tie lines", source.Key);
|
||||||
|
|
||||||
// No direct tie? Run back out on the inputs' attached devices...
|
// No direct tie? Run back out on the inputs' attached devices...
|
||||||
// Only the ones that are routing devices
|
// Only the ones that are routing devices
|
||||||
|
|
@ -214,12 +215,12 @@ namespace PepperDash.Essentials.Core
|
||||||
{
|
{
|
||||||
var upstreamDeviceOutputPort = inputTieToTry.SourcePort;
|
var upstreamDeviceOutputPort = inputTieToTry.SourcePort;
|
||||||
var upstreamRoutingDevice = upstreamDeviceOutputPort.ParentDevice as IRoutingInputsOutputs;
|
var upstreamRoutingDevice = upstreamDeviceOutputPort.ParentDevice as IRoutingInputsOutputs;
|
||||||
Debug.Console(2, destination, "Trying to find route on {0}", upstreamRoutingDevice.Key);
|
Debug.LogMessage(LogEventLevel.Verbose, destination, "Trying to find route on {0}", upstreamRoutingDevice.Key);
|
||||||
|
|
||||||
// Check if this previous device has already been walked
|
// Check if this previous device has already been walked
|
||||||
if (alreadyCheckedDevices.Contains(upstreamRoutingDevice))
|
if (alreadyCheckedDevices.Contains(upstreamRoutingDevice))
|
||||||
{
|
{
|
||||||
Debug.Console(2, destination, "Skipping input {0} on {1}, this was already checked", upstreamRoutingDevice.Key, destination.Key);
|
Debug.LogMessage(LogEventLevel.Verbose, destination, "Skipping input {0} on {1}, this was already checked", upstreamRoutingDevice.Key, destination.Key);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
// haven't seen this device yet. Do it. Pass the output port to the next
|
// haven't seen this device yet. Do it. Pass the output port to the next
|
||||||
|
|
@ -228,7 +229,7 @@ namespace PepperDash.Essentials.Core
|
||||||
alreadyCheckedDevices, signalType, cycle, routeTable);
|
alreadyCheckedDevices, signalType, cycle, routeTable);
|
||||||
if (upstreamRoutingSuccess)
|
if (upstreamRoutingSuccess)
|
||||||
{
|
{
|
||||||
Debug.Console(2, destination, "Upstream device route found");
|
Debug.LogMessage(LogEventLevel.Verbose, destination, "Upstream device route found");
|
||||||
goodInputPort = inputTieToTry.DestinationPort;
|
goodInputPort = inputTieToTry.DestinationPort;
|
||||||
break; // Stop looping the inputs in this cycle
|
break; // Stop looping the inputs in this cycle
|
||||||
}
|
}
|
||||||
|
|
@ -238,7 +239,7 @@ namespace PepperDash.Essentials.Core
|
||||||
// we have a route on corresponding inputPort. *** Do the route ***
|
// we have a route on corresponding inputPort. *** Do the route ***
|
||||||
if (goodInputPort != null)
|
if (goodInputPort != null)
|
||||||
{
|
{
|
||||||
//Debug.Console(2, destination, "adding RouteDescriptor");
|
//Debug.LogMessage(LogEventLevel.Verbose, destination, "adding RouteDescriptor");
|
||||||
if (outputPortToUse == null)
|
if (outputPortToUse == null)
|
||||||
{
|
{
|
||||||
// it's a sink device
|
// it's a sink device
|
||||||
|
|
@ -249,12 +250,12 @@ namespace PepperDash.Essentials.Core
|
||||||
routeTable.Routes.Add(new RouteSwitchDescriptor (outputPortToUse, goodInputPort));
|
routeTable.Routes.Add(new RouteSwitchDescriptor (outputPortToUse, goodInputPort));
|
||||||
}
|
}
|
||||||
else // device is merely IRoutingInputOutputs
|
else // device is merely IRoutingInputOutputs
|
||||||
Debug.Console(2, destination, " No routing. Passthrough device");
|
Debug.LogMessage(LogEventLevel.Verbose, destination, " No routing. Passthrough device");
|
||||||
//Debug.Console(2, destination, "Exiting cycle {0}", cycle);
|
//Debug.LogMessage(LogEventLevel.Verbose, destination, "Exiting cycle {0}", cycle);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
Debug.Console(2, destination, "No route found to {0}", source.Key);
|
Debug.LogMessage(LogEventLevel.Verbose, destination, "No route found to {0}", source.Key);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -294,7 +295,7 @@ namespace PepperDash.Essentials.Core
|
||||||
{
|
{
|
||||||
if (RouteDescriptors.Any(t => t.Destination == descriptor.Destination))
|
if (RouteDescriptors.Any(t => t.Destination == descriptor.Destination))
|
||||||
{
|
{
|
||||||
Debug.Console(1, descriptor.Destination,
|
Debug.LogMessage(LogEventLevel.Debug, descriptor.Destination,
|
||||||
"Route to [{0}] already exists in global routes table", descriptor.Source.Key);
|
"Route to [{0}] already exists in global routes table", descriptor.Source.Key);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -350,7 +351,7 @@ namespace PepperDash.Essentials.Core
|
||||||
{
|
{
|
||||||
foreach (var route in Routes)
|
foreach (var route in Routes)
|
||||||
{
|
{
|
||||||
Debug.Console(2, "ExecuteRoutes: {0}", route.ToString());
|
Debug.LogMessage(LogEventLevel.Verbose, "ExecuteRoutes: {0}", route.ToString());
|
||||||
if (route.SwitchingDevice is IRoutingSink)
|
if (route.SwitchingDevice is IRoutingSink)
|
||||||
{
|
{
|
||||||
var device = route.SwitchingDevice as IRoutingSinkWithSwitching;
|
var device = route.SwitchingDevice as IRoutingSinkWithSwitching;
|
||||||
|
|
@ -363,7 +364,7 @@ namespace PepperDash.Essentials.Core
|
||||||
{
|
{
|
||||||
(route.SwitchingDevice as IRouting).ExecuteSwitch(route.InputPort.Selector, route.OutputPort.Selector, SignalType);
|
(route.SwitchingDevice as IRouting).ExecuteSwitch(route.InputPort.Selector, route.OutputPort.Selector, SignalType);
|
||||||
route.OutputPort.InUseTracker.AddUser(Destination, "destination-" + SignalType);
|
route.OutputPort.InUseTracker.AddUser(Destination, "destination-" + SignalType);
|
||||||
Debug.Console(2, "Output port {0} routing. Count={1}", route.OutputPort.Key, route.OutputPort.InUseTracker.InUseCountFeedback.UShortValue);
|
Debug.LogMessage(LogEventLevel.Verbose, "Output port {0} routing. Count={1}", route.OutputPort.Key, route.OutputPort.InUseTracker.InUseCountFeedback.UShortValue);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -381,7 +382,7 @@ namespace PepperDash.Essentials.Core
|
||||||
// Pull the route from the port. Whatever is watching the output's in use tracker is
|
// Pull the route from the port. Whatever is watching the output's in use tracker is
|
||||||
// responsible for responding appropriately.
|
// responsible for responding appropriately.
|
||||||
route.OutputPort.InUseTracker.RemoveUser(Destination, "destination-" + SignalType);
|
route.OutputPort.InUseTracker.RemoveUser(Destination, "destination-" + SignalType);
|
||||||
Debug.Console(2, "Port {0} releasing. Count={1}", route.OutputPort.Key, route.OutputPort.InUseTracker.InUseCountFeedback.UShortValue);
|
Debug.LogMessage(LogEventLevel.Verbose, "Port {0} releasing. Count={1}", route.OutputPort.Key, route.OutputPort.InUseTracker.InUseCountFeedback.UShortValue);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -187,7 +187,7 @@ namespace PepperDash.Essentials.Core
|
||||||
// return null;
|
// return null;
|
||||||
// var port = sourceDev.OutputPorts[portKey];
|
// var port = sourceDev.OutputPorts[portKey];
|
||||||
// if (port == null)
|
// if (port == null)
|
||||||
// Debug.Console(0, "WARNING: Device '{0}' does does not contain output port '{1}'", deviceKey, portKey);
|
// Debug.LogMessage(LogEventLevel.Information, "WARNING: Device '{0}' does does not contain output port '{1}'", deviceKey, portKey);
|
||||||
// return port;
|
// return port;
|
||||||
//}
|
//}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@ using Newtonsoft.Json;
|
||||||
using Newtonsoft.Json.Linq;
|
using Newtonsoft.Json.Linq;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core;
|
using PepperDash.Essentials.Core;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core.Config
|
namespace PepperDash.Essentials.Core.Config
|
||||||
{
|
{
|
||||||
|
|
@ -29,7 +30,7 @@ namespace PepperDash.Essentials.Core.Config
|
||||||
/// <returns>null if config data does not match ports, cards or devices</returns>
|
/// <returns>null if config data does not match ports, cards or devices</returns>
|
||||||
public TieLine GetTieLine()
|
public TieLine GetTieLine()
|
||||||
{
|
{
|
||||||
Debug.Console(0, "Build TieLine: {0}", this);
|
Debug.LogMessage(LogEventLevel.Information, "Build TieLine: {0}", this);
|
||||||
// Get the source device
|
// Get the source device
|
||||||
var sourceDev = DeviceManager.GetDeviceForKey(SourceKey) as IRoutingOutputs;
|
var sourceDev = DeviceManager.GetDeviceForKey(SourceKey) as IRoutingOutputs;
|
||||||
if (sourceDev == null)
|
if (sourceDev == null)
|
||||||
|
|
@ -108,7 +109,7 @@ namespace PepperDash.Essentials.Core.Config
|
||||||
|
|
||||||
void LogError(string msg)
|
void LogError(string msg)
|
||||||
{
|
{
|
||||||
Debug.Console(1, "WARNING: Cannot create tie line: {0}:\r {1}", msg, this);
|
Debug.LogMessage(LogEventLevel.Debug, "WARNING: Cannot create tie line: {0}:\r {1}", msg, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override string ToString()
|
public override string ToString()
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@
|
||||||
using Crestron.SimplSharp;
|
using Crestron.SimplSharp;
|
||||||
using Crestron.SimplSharp.CrestronDataStore;
|
using Crestron.SimplSharp.CrestronDataStore;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core
|
namespace PepperDash.Essentials.Core
|
||||||
|
|
@ -46,7 +47,7 @@ namespace PepperDash.Essentials.Core
|
||||||
returnCode = CrestronDataStoreStatic.clearGlobal(key);
|
returnCode = CrestronDataStoreStatic.clearGlobal(key);
|
||||||
if (returnCode == CrestronDataStore.CDS_ERROR.CDS_SUCCESS)
|
if (returnCode == CrestronDataStore.CDS_ERROR.CDS_SUCCESS)
|
||||||
{
|
{
|
||||||
Debug.Console(0, this, "Successfully removed secret \"{0}\"", secret);
|
Debug.LogMessage(LogEventLevel.Information, this, "Successfully removed secret \"{0}\"", secret);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -56,12 +57,12 @@ namespace PepperDash.Essentials.Core
|
||||||
returnCode = CrestronDataStoreStatic.SetGlobalStringValue(key, secret);
|
returnCode = CrestronDataStoreStatic.SetGlobalStringValue(key, secret);
|
||||||
if (returnCode == CrestronDataStore.CDS_ERROR.CDS_SUCCESS)
|
if (returnCode == CrestronDataStore.CDS_ERROR.CDS_SUCCESS)
|
||||||
{
|
{
|
||||||
Debug.Console(0, this, "Successfully set secret \"{0}\"", secret);
|
Debug.LogMessage(LogEventLevel.Information, this, "Successfully set secret \"{0}\"", secret);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Debug.Console(0, this, Debug.ErrorLogLevel.Notice, "Unable to set secret for {0}:{1} - {2}", Key, key, returnCode.ToString());
|
Debug.LogMessage(LogEventLevel.Information, this, "Unable to set secret for {0}:{1} - {2}", Key, key, returnCode.ToString());
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -78,10 +79,10 @@ namespace PepperDash.Essentials.Core
|
||||||
switch (getErrorCode)
|
switch (getErrorCode)
|
||||||
{
|
{
|
||||||
case CrestronDataStore.CDS_ERROR.CDS_SUCCESS:
|
case CrestronDataStore.CDS_ERROR.CDS_SUCCESS:
|
||||||
Debug.Console(2, this, "Secret Successfully retrieved for {0}:{1}", Key, key);
|
Debug.LogMessage(LogEventLevel.Verbose, this, "Secret Successfully retrieved for {0}:{1}", Key, key);
|
||||||
return new CrestronSecret(key, mySecret, this);
|
return new CrestronSecret(key, mySecret, this);
|
||||||
default:
|
default:
|
||||||
Debug.Console(0, this, Debug.ErrorLogLevel.Notice, "Unable to retrieve secret for {0}:{1} - {2}",
|
Debug.LogMessage(LogEventLevel.Information, this, "Unable to retrieve secret for {0}:{1} - {2}",
|
||||||
Key, key, getErrorCode.ToString());
|
Key, key, getErrorCode.ToString());
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ using Crestron.SimplSharp;
|
||||||
using Crestron.SimplSharp.CrestronDataStore;
|
using Crestron.SimplSharp.CrestronDataStore;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using Crestron.SimplSharpPro;
|
using Crestron.SimplSharpPro;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core
|
namespace PepperDash.Essentials.Core
|
||||||
|
|
@ -47,7 +48,7 @@ namespace PepperDash.Essentials.Core
|
||||||
returnCode = CrestronDataStoreStatic.clearLocal(key);
|
returnCode = CrestronDataStoreStatic.clearLocal(key);
|
||||||
if (returnCode == CrestronDataStore.CDS_ERROR.CDS_SUCCESS)
|
if (returnCode == CrestronDataStore.CDS_ERROR.CDS_SUCCESS)
|
||||||
{
|
{
|
||||||
Debug.Console(0, this, "Successfully removed secret \"{0}\"", secret);
|
Debug.LogMessage(LogEventLevel.Information, this, "Successfully removed secret \"{0}\"", secret);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -57,12 +58,12 @@ namespace PepperDash.Essentials.Core
|
||||||
returnCode = CrestronDataStoreStatic.SetLocalStringValue(key, secret);
|
returnCode = CrestronDataStoreStatic.SetLocalStringValue(key, secret);
|
||||||
if (returnCode == CrestronDataStore.CDS_ERROR.CDS_SUCCESS)
|
if (returnCode == CrestronDataStore.CDS_ERROR.CDS_SUCCESS)
|
||||||
{
|
{
|
||||||
Debug.Console(0, this, "Successfully set secret \"{0}\"", secret);
|
Debug.LogMessage(LogEventLevel.Information, this, "Successfully set secret \"{0}\"", secret);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Debug.Console(0, this, Debug.ErrorLogLevel.Notice, "Unable to set secret for {0}:{1} - {2}", Key, key, returnCode.ToString());
|
Debug.LogMessage(LogEventLevel.Information, this, "Unable to set secret for {0}:{1} - {2}", Key, key, returnCode.ToString());
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -79,10 +80,10 @@ namespace PepperDash.Essentials.Core
|
||||||
switch (getErrorCode)
|
switch (getErrorCode)
|
||||||
{
|
{
|
||||||
case CrestronDataStore.CDS_ERROR.CDS_SUCCESS:
|
case CrestronDataStore.CDS_ERROR.CDS_SUCCESS:
|
||||||
Debug.Console(2, this, "Secret Successfully retrieved for {0}:{1}", Key, key);
|
Debug.LogMessage(LogEventLevel.Verbose, this, "Secret Successfully retrieved for {0}:{1}", Key, key);
|
||||||
return new CrestronSecret(key, mySecret, this);
|
return new CrestronSecret(key, mySecret, this);
|
||||||
default:
|
default:
|
||||||
Debug.Console(0, this, Debug.ErrorLogLevel.Notice, "Unable to retrieve secret for {0}:{1} - {2}",
|
Debug.LogMessage(LogEventLevel.Information, this, "Unable to retrieve secret for {0}:{1} - {2}",
|
||||||
Key, key, getErrorCode.ToString());
|
Key, key, getErrorCode.ToString());
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using Crestron.SimplSharp;
|
using Crestron.SimplSharp;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core
|
namespace PepperDash.Essentials.Core
|
||||||
{
|
{
|
||||||
|
|
@ -59,7 +60,7 @@ namespace PepperDash.Essentials.Core
|
||||||
|
|
||||||
if (secret == null)
|
if (secret == null)
|
||||||
{
|
{
|
||||||
Debug.Console(1, "SecretsManager unable to retrieve SecretProvider with the key '{0}'", key);
|
Debug.LogMessage(LogEventLevel.Debug, "SecretsManager unable to retrieve SecretProvider with the key '{0}'", key);
|
||||||
}
|
}
|
||||||
return secret;
|
return secret;
|
||||||
}
|
}
|
||||||
|
|
@ -147,10 +148,10 @@ namespace PepperDash.Essentials.Core
|
||||||
if (!Secrets.ContainsKey(key))
|
if (!Secrets.ContainsKey(key))
|
||||||
{
|
{
|
||||||
Secrets.Add(key, provider);
|
Secrets.Add(key, provider);
|
||||||
Debug.Console(1, "Secrets provider '{0}' added to SecretsManager", key);
|
Debug.LogMessage(LogEventLevel.Debug, "Secrets provider '{0}' added to SecretsManager", key);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Notice, "Unable to add Provider '{0}' to Secrets. Provider with that key already exists", key );
|
Debug.LogMessage(LogEventLevel.Information, "Unable to add Provider '{0}' to Secrets. Provider with that key already exists", key );
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
@ -164,16 +165,16 @@ namespace PepperDash.Essentials.Core
|
||||||
if (!Secrets.ContainsKey(key))
|
if (!Secrets.ContainsKey(key))
|
||||||
{
|
{
|
||||||
Secrets.Add(key, provider);
|
Secrets.Add(key, provider);
|
||||||
Debug.Console(1, "Secrets provider '{0}' added to SecretsManager", key);
|
Debug.LogMessage(LogEventLevel.Debug, "Secrets provider '{0}' added to SecretsManager", key);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (overwrite)
|
if (overwrite)
|
||||||
{
|
{
|
||||||
Secrets.Add(key, provider);
|
Secrets.Add(key, provider);
|
||||||
Debug.Console(1, Debug.ErrorLogLevel.Notice, "Provider with the key '{0}' already exists in secrets. Overwriting with new secrets provider.", key);
|
Debug.LogMessage(LogEventLevel.Debug, "Provider with the key '{0}' already exists in secrets. Overwriting with new secrets provider.", key);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Notice, "Unable to add Provider '{0}' to Secrets. Provider with that key already exists", key);
|
Debug.LogMessage(LogEventLevel.Information, "Unable to add Provider '{0}' to Secrets. Provider with that key already exists", key);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void SetSecretProcess(string cmd)
|
private static void SetSecretProcess(string cmd)
|
||||||
|
|
@ -274,7 +275,7 @@ namespace PepperDash.Essentials.Core
|
||||||
{
|
{
|
||||||
var secretPresent = provider.TestSecret(key);
|
var secretPresent = provider.TestSecret(key);
|
||||||
|
|
||||||
Debug.Console(2, provider, "SecretsProvider {0} {1} contain a secret entry for {2}", provider.Key, secretPresent ? "does" : "does not", key);
|
Debug.LogMessage(LogEventLevel.Verbose, provider, "SecretsProvider {0} {1} contain a secret entry for {2}", provider.Key, secretPresent ? "does" : "does not", key);
|
||||||
|
|
||||||
if (!secretPresent)
|
if (!secretPresent)
|
||||||
return
|
return
|
||||||
|
|
@ -294,7 +295,7 @@ namespace PepperDash.Essentials.Core
|
||||||
{
|
{
|
||||||
var secretPresent = provider.TestSecret(key);
|
var secretPresent = provider.TestSecret(key);
|
||||||
|
|
||||||
Debug.Console(2, provider, "SecretsProvider {0} {1} contain a secret entry for {2}", provider.Key, secretPresent ? "does" : "does not", key);
|
Debug.LogMessage(LogEventLevel.Verbose, provider, "SecretsProvider {0} {1} contain a secret entry for {2}", provider.Key, secretPresent ? "does" : "does not", key);
|
||||||
|
|
||||||
if (secretPresent)
|
if (secretPresent)
|
||||||
return
|
return
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ using Crestron.SimplSharpPro;
|
||||||
using Crestron.SimplSharpPro.DeviceSupport;
|
using Crestron.SimplSharpPro.DeviceSupport;
|
||||||
|
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core.SmartObjects
|
namespace PepperDash.Essentials.Core.SmartObjects
|
||||||
|
|
@ -47,12 +48,12 @@ namespace PepperDash.Essentials.Core.SmartObjects
|
||||||
var c = Count;
|
var c = Count;
|
||||||
NameSigOffset = nameSigOffset;
|
NameSigOffset = nameSigOffset;
|
||||||
MaxCount = SmartObject.BooleanOutput.Count(s => s.Name.EndsWith("Pressed"));
|
MaxCount = SmartObject.BooleanOutput.Count(s => s.Name.EndsWith("Pressed"));
|
||||||
//Debug.Console(2, "Smart object {0} has {1} max", so.ID, MaxCount);
|
//Debug.LogMessage(LogEventLevel.Verbose, "Smart object {0} has {1} max", so.ID, MaxCount);
|
||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
{
|
{
|
||||||
var msg = string.Format("SmartObjectDynamicList: Smart Object {0:X2}-{1} is not a dynamic list. Ignoring", so.Device.ID, so.ID);
|
var msg = string.Format("SmartObjectDynamicList: Smart Object {0:X2}-{1} is not a dynamic list. Ignoring", so.Device.ID, so.ID);
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Error, msg);
|
Debug.LogMessage(LogEventLevel.Information, msg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -72,7 +73,7 @@ namespace PepperDash.Essentials.Core.SmartObjects
|
||||||
//}
|
//}
|
||||||
//catch(Exception e)
|
//catch(Exception e)
|
||||||
//{
|
//{
|
||||||
// Debug.Console(1, "Cannot set Dynamic List item {0} on smart object {1}", index, SmartObject.ID);
|
// Debug.LogMessage(LogEventLevel.Debug, "Cannot set Dynamic List item {0} on smart object {1}", index, SmartObject.ID);
|
||||||
// ErrorLog.Warn(e.ToString());
|
// ErrorLog.Warn(e.ToString());
|
||||||
//}
|
//}
|
||||||
}
|
}
|
||||||
|
|
@ -120,7 +121,7 @@ namespace PepperDash.Essentials.Core.SmartObjects
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public void ClearActions()
|
public void ClearActions()
|
||||||
{
|
{
|
||||||
Debug.Console(2, "SO CLEAR");
|
Debug.LogMessage(LogEventLevel.Verbose, "SO CLEAR");
|
||||||
for(ushort i = 1; i <= MaxCount; i++)
|
for(ushort i = 1; i <= MaxCount; i++)
|
||||||
SmartObject.BooleanOutput[string.Format("Item {0} Pressed", i)].UserObject = null;
|
SmartObject.BooleanOutput[string.Format("Item {0} Pressed", i)].UserObject = null;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ using Crestron.SimplSharpPro;
|
||||||
using Crestron.SimplSharpPro.DeviceSupport;
|
using Crestron.SimplSharpPro.DeviceSupport;
|
||||||
|
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core.SmartObjects
|
namespace PepperDash.Essentials.Core.SmartObjects
|
||||||
{
|
{
|
||||||
|
|
@ -45,7 +46,7 @@ namespace PepperDash.Essentials.Core.SmartObjects
|
||||||
if (SmartObject.BooleanOutput.Contains(name))
|
if (SmartObject.BooleanOutput.Contains(name))
|
||||||
return SmartObject.BooleanOutput[name];
|
return SmartObject.BooleanOutput[name];
|
||||||
else
|
else
|
||||||
Debug.Console(0, "WARNING: Cannot get signal. Smart object {0} on trilist {1:x2} does not contain signal '{2}'",
|
Debug.LogMessage(LogEventLevel.Information, "WARNING: Cannot get signal. Smart object {0} on trilist {1:x2} does not contain signal '{2}'",
|
||||||
SmartObject.ID, SmartObject.Device.ID, name);
|
SmartObject.ID, SmartObject.Device.ID, name);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
@ -61,7 +62,7 @@ namespace PepperDash.Essentials.Core.SmartObjects
|
||||||
SmartObject.BooleanOutput[name].UserObject = a;
|
SmartObject.BooleanOutput[name].UserObject = a;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Debug.Console(0, "WARNING: Cannot set action. Smart object {0} on trilist {1:x2} does not contain signal '{2}'",
|
Debug.LogMessage(LogEventLevel.Information, "WARNING: Cannot set action. Smart object {0} on trilist {1:x2} does not contain signal '{2}'",
|
||||||
SmartObject.ID, SmartObject.Device.ID, name);
|
SmartObject.ID, SmartObject.Device.ID, name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -83,7 +83,7 @@
|
||||||
// // Handler to route source changes into list feedback
|
// // Handler to route source changes into list feedback
|
||||||
// void CurrentRoom_PresentationSourceChange(object sender, EssentialsRoomSourceChangeEventArgs args)
|
// void CurrentRoom_PresentationSourceChange(object sender, EssentialsRoomSourceChangeEventArgs args)
|
||||||
// {
|
// {
|
||||||
// Debug.Console(2, "SRL received source change");
|
// Debug.LogMessage(LogEventLevel.Verbose, "SRL received source change");
|
||||||
// ClearPresentationSourceFb(args.OldSource);
|
// ClearPresentationSourceFb(args.OldSource);
|
||||||
// SetPresentationSourceFb(args.NewSource);
|
// SetPresentationSourceFb(args.NewSource);
|
||||||
// }
|
// }
|
||||||
|
|
@ -131,7 +131,7 @@
|
||||||
// // Should be able to see if there is not enough buttons right here
|
// // Should be able to see if there is not enough buttons right here
|
||||||
// if (nameSig == null)
|
// if (nameSig == null)
|
||||||
// {
|
// {
|
||||||
// Debug.Console(0, "ERROR: Item {0} does not exist on source list SRL", index);
|
// Debug.LogMessage(LogEventLevel.Information, "ERROR: Item {0} does not exist on source list SRL", index);
|
||||||
// return;
|
// return;
|
||||||
// }
|
// }
|
||||||
// nameSig.StringValue = srcDevice.Name;
|
// nameSig.StringValue = srcDevice.Name;
|
||||||
|
|
@ -148,7 +148,7 @@
|
||||||
// var status = videoDev.GetVideoStatuses();
|
// var status = videoDev.GetVideoStatuses();
|
||||||
// if (status != null)
|
// if (status != null)
|
||||||
// {
|
// {
|
||||||
// Debug.Console(1, "Linking {0} video status to SRL", videoDev.Key);
|
// Debug.LogMessage(LogEventLevel.Debug, "Linking {0} video status to SRL", videoDev.Key);
|
||||||
// videoDev.GetVideoStatuses().VideoSyncFeedback.LinkInputSig(owner.BoolInputSig(index, 3));
|
// videoDev.GetVideoStatuses().VideoSyncFeedback.LinkInputSig(owner.BoolInputSig(index, 3));
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@ using Crestron.SimplSharpPro.DeviceSupport;
|
||||||
using Crestron.SimplSharpPro.UI;
|
using Crestron.SimplSharpPro.UI;
|
||||||
|
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core
|
namespace PepperDash.Essentials.Core
|
||||||
|
|
@ -53,7 +54,7 @@ namespace PepperDash.Essentials.Core
|
||||||
// Fail cleanly if not defined
|
// Fail cleanly if not defined
|
||||||
if (triList.SmartObjects == null || triList.SmartObjects.Count == 0)
|
if (triList.SmartObjects == null || triList.SmartObjects.Count == 0)
|
||||||
{
|
{
|
||||||
Debug.Console(0, "TriList {0:X2} Smart objects have not been loaded", triList.ID, smartObjectId);
|
Debug.LogMessage(LogEventLevel.Information, "TriList {0:X2} Smart objects have not been loaded", triList.ID, smartObjectId);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (triList.SmartObjects.TryGetValue(smartObjectId, out obj))
|
if (triList.SmartObjects.TryGetValue(smartObjectId, out obj))
|
||||||
|
|
@ -68,13 +69,13 @@ namespace PepperDash.Essentials.Core
|
||||||
// Count the enable lines to see what max items is
|
// Count the enable lines to see what max items is
|
||||||
MaxDefinedItems = (ushort)SRL.BooleanInput
|
MaxDefinedItems = (ushort)SRL.BooleanInput
|
||||||
.Where(s => s.Name.Contains("Enable")).Count();
|
.Where(s => s.Name.Contains("Enable")).Count();
|
||||||
Debug.Console(2, "SRL {0} contains max {1} items", SRL.ID, MaxDefinedItems);
|
Debug.LogMessage(LogEventLevel.Verbose, "SRL {0} contains max {1} items", SRL.ID, MaxDefinedItems);
|
||||||
|
|
||||||
SRL.SigChange -= new SmartObjectSigChangeEventHandler(SRL_SigChange);
|
SRL.SigChange -= new SmartObjectSigChangeEventHandler(SRL_SigChange);
|
||||||
SRL.SigChange += new SmartObjectSigChangeEventHandler(SRL_SigChange);
|
SRL.SigChange += new SmartObjectSigChangeEventHandler(SRL_SigChange);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
Debug.Console(0, "ERROR: TriList 0x{0:X2} Cannot load smart object {1}. Verify correct SGD file is loaded",
|
Debug.LogMessage(LogEventLevel.Information, "ERROR: TriList 0x{0:X2} Cannot load smart object {1}. Verify correct SGD file is loaded",
|
||||||
triList.ID, smartObjectId);
|
triList.ID, smartObjectId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ using System.Text;
|
||||||
using Crestron.SimplSharp;
|
using Crestron.SimplSharp;
|
||||||
|
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core
|
namespace PepperDash.Essentials.Core
|
||||||
{
|
{
|
||||||
|
|
@ -49,7 +50,7 @@ namespace PepperDash.Essentials.Core
|
||||||
|
|
||||||
var timeSpan = FinishTime - DateTime.Now;
|
var timeSpan = FinishTime - DateTime.Now;
|
||||||
|
|
||||||
Debug.Console(2, this,
|
Debug.LogMessage(LogEventLevel.Verbose, this,
|
||||||
"timeSpan.Minutes == {0}, timeSpan.Seconds == {1}, timeSpan.TotalSeconds == {2}",
|
"timeSpan.Minutes == {0}, timeSpan.Seconds == {1}, timeSpan.TotalSeconds == {2}",
|
||||||
timeSpan.Minutes, timeSpan.Seconds, timeSpan.TotalSeconds);
|
timeSpan.Minutes, timeSpan.Seconds, timeSpan.TotalSeconds);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,7 @@ using PepperDash.Essentials.Core;
|
||||||
using PepperDash.Essentials.Core.Config;
|
using PepperDash.Essentials.Core.Config;
|
||||||
|
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core.Timers
|
namespace PepperDash.Essentials.Core.Timers
|
||||||
|
|
@ -62,14 +63,14 @@ namespace PepperDash.Essentials.Core.Timers
|
||||||
public void StartTimer()
|
public void StartTimer()
|
||||||
{
|
{
|
||||||
CleanUpTimer();
|
CleanUpTimer();
|
||||||
Debug.Console(0, this, "Starting Timer");
|
Debug.LogMessage(LogEventLevel.Information, this, "Starting Timer");
|
||||||
|
|
||||||
_timer = new CTimer(TimerElapsedCallback, GetActionFromConfig(eRetriggerableTimerEvents.Elapsed), _timerIntervalMs, _timerIntervalMs);
|
_timer = new CTimer(TimerElapsedCallback, GetActionFromConfig(eRetriggerableTimerEvents.Elapsed), _timerIntervalMs, _timerIntervalMs);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void StopTimer()
|
public void StopTimer()
|
||||||
{
|
{
|
||||||
Debug.Console(0, this, "Stopping Timer");
|
Debug.LogMessage(LogEventLevel.Information, this, "Stopping Timer");
|
||||||
_timer.Stop();
|
_timer.Stop();
|
||||||
|
|
||||||
ExecuteAction(GetActionFromConfig(eRetriggerableTimerEvents.Stopped));
|
ExecuteAction(GetActionFromConfig(eRetriggerableTimerEvents.Stopped));
|
||||||
|
|
@ -90,11 +91,11 @@ namespace PepperDash.Essentials.Core.Timers
|
||||||
/// <param name="o"></param>
|
/// <param name="o"></param>
|
||||||
private void TimerElapsedCallback(object action)
|
private void TimerElapsedCallback(object action)
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, Debug.ErrorLogLevel.Notice, "Timer Elapsed. Executing Action");
|
Debug.LogMessage(LogEventLevel.Debug, this, "Timer Elapsed. Executing Action");
|
||||||
|
|
||||||
if (action == null)
|
if (action == null)
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "Timer elapsed but unable to execute action. Action is null.");
|
Debug.LogMessage(LogEventLevel.Debug, this, "Timer elapsed but unable to execute action. Action is null.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -103,7 +104,7 @@ namespace PepperDash.Essentials.Core.Timers
|
||||||
ExecuteAction(devAction);
|
ExecuteAction(devAction);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Debug.Console(2, this, "Unable to cast action as DeviceActionWrapper. Cannot Execute");
|
Debug.LogMessage(LogEventLevel.Verbose, this, "Unable to cast action as DeviceActionWrapper. Cannot Execute");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -119,7 +120,7 @@ namespace PepperDash.Essentials.Core.Timers
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
Debug.Console(2, this, "Error Executing Action: {0}", e);
|
Debug.LogMessage(LogEventLevel.Verbose, this, "Error Executing Action: {0}", e);
|
||||||
}
|
}
|
||||||
//finally // Not sure this is needed
|
//finally // Not sure this is needed
|
||||||
//{
|
//{
|
||||||
|
|
@ -169,7 +170,7 @@ namespace PepperDash.Essentials.Core.Timers
|
||||||
|
|
||||||
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
||||||
{
|
{
|
||||||
Debug.Console(1, "Factory Attempting to create new RetriggerableTimer Device");
|
Debug.LogMessage(LogEventLevel.Debug, "Factory Attempting to create new RetriggerableTimer Device");
|
||||||
|
|
||||||
return new RetriggerableTimer(dc.Key, dc);
|
return new RetriggerableTimer(dc.Key, dc);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@
|
||||||
using Crestron.SimplSharp;
|
using Crestron.SimplSharp;
|
||||||
using Crestron.SimplSharpPro.DeviceSupport;
|
using Crestron.SimplSharpPro.DeviceSupport;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core
|
namespace PepperDash.Essentials.Core
|
||||||
{
|
{
|
||||||
|
|
@ -177,7 +178,7 @@ namespace PepperDash.Essentials.Core
|
||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
{
|
{
|
||||||
Debug.Console(1, "Error Waking Panel. Maybe testing with Xpanel?");
|
Debug.LogMessage(LogEventLevel.Debug, "Error Waking Panel. Maybe testing with Xpanel?");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ using System.Globalization;
|
||||||
using Crestron.SimplSharpPro;
|
using Crestron.SimplSharpPro;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core.Touchpanels
|
namespace PepperDash.Essentials.Core.Touchpanels
|
||||||
{
|
{
|
||||||
|
|
@ -23,14 +24,14 @@ namespace PepperDash.Essentials.Core.Touchpanels
|
||||||
_touchpanel = processor.ControllerTouchScreenSlotDevice as MPC3Basic;
|
_touchpanel = processor.ControllerTouchScreenSlotDevice as MPC3Basic;
|
||||||
if (_touchpanel == null)
|
if (_touchpanel == null)
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "Failed to construct MPC3 Touchpanel Controller with key {0}, check configuration", key);
|
Debug.LogMessage(LogEventLevel.Debug, this, "Failed to construct MPC3 Touchpanel Controller with key {0}, check configuration", key);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_touchpanel.Registerable)
|
if (_touchpanel.Registerable)
|
||||||
{
|
{
|
||||||
var registrationResponse = _touchpanel.Register();
|
var registrationResponse = _touchpanel.Register();
|
||||||
Debug.Console(0, this, "touchpanel registration response: {0}", registrationResponse);
|
Debug.LogMessage(LogEventLevel.Information, this, "touchpanel registration response: {0}", registrationResponse);
|
||||||
}
|
}
|
||||||
|
|
||||||
_touchpanel.BaseEvent += _touchpanel_BaseEvent;
|
_touchpanel.BaseEvent += _touchpanel_BaseEvent;
|
||||||
|
|
@ -40,7 +41,7 @@ namespace PepperDash.Essentials.Core.Touchpanels
|
||||||
_buttons = buttons;
|
_buttons = buttons;
|
||||||
if (_buttons == null)
|
if (_buttons == null)
|
||||||
{
|
{
|
||||||
Debug.Console(1, this,
|
Debug.LogMessage(LogEventLevel.Debug, this,
|
||||||
"Button properties are null, failed to setup MPC3 Touch Controller, check configuration");
|
"Button properties are null, failed to setup MPC3 Touch Controller, check configuration");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -67,7 +68,7 @@ namespace PepperDash.Essentials.Core.Touchpanels
|
||||||
{
|
{
|
||||||
if (config == null)
|
if (config == null)
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "Button '{0}' config is null, unable to initialize", key);
|
Debug.LogMessage(LogEventLevel.Debug, this, "Button '{0}' config is null, unable to initialize", key);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -139,7 +140,7 @@ namespace PepperDash.Essentials.Core.Touchpanels
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Debug.Console(0, this, "InitializeButton: key-'{0}' enabledFb-'{1}', disabledFb-'{2}'",
|
Debug.LogMessage(LogEventLevel.Information, this, "InitializeButton: key-'{0}' enabledFb-'{1}', disabledFb-'{2}'",
|
||||||
key, enabledFb ?? (object)"null", disabledFb ?? (object)"null");
|
key, enabledFb ?? (object)"null", disabledFb ?? (object)"null");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -150,11 +151,11 @@ namespace PepperDash.Essentials.Core.Touchpanels
|
||||||
/// <param name="config"></param>
|
/// <param name="config"></param>
|
||||||
public void InitializeButtonFeedback(string key, KeypadButton config)
|
public void InitializeButtonFeedback(string key, KeypadButton config)
|
||||||
{
|
{
|
||||||
//Debug.Console(1, this, "Initializing button '{0}' feedback...", key);
|
//Debug.LogMessage(LogEventLevel.Debug, this, "Initializing button '{0}' feedback...", key);
|
||||||
|
|
||||||
if (config == null)
|
if (config == null)
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "Button '{0}' config is null, skipping.", key);
|
Debug.LogMessage(LogEventLevel.Debug, this, "Button '{0}' config is null, skipping.", key);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -165,7 +166,7 @@ namespace PepperDash.Essentials.Core.Touchpanels
|
||||||
var buttonFeedback = config.Feedback;
|
var buttonFeedback = config.Feedback;
|
||||||
if (buttonFeedback == null || string.IsNullOrEmpty(buttonFeedback.DeviceKey))
|
if (buttonFeedback == null || string.IsNullOrEmpty(buttonFeedback.DeviceKey))
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "Button '{0}' feedback not configured, skipping.",
|
Debug.LogMessage(LogEventLevel.Debug, this, "Button '{0}' feedback not configured, skipping.",
|
||||||
key);
|
key);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -177,7 +178,7 @@ namespace PepperDash.Essentials.Core.Touchpanels
|
||||||
var device = DeviceManager.GetDeviceForKey(buttonFeedback.DeviceKey) as Device;
|
var device = DeviceManager.GetDeviceForKey(buttonFeedback.DeviceKey) as Device;
|
||||||
if (device == null)
|
if (device == null)
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "Button '{0}' feedback deviceKey '{1}' not found.",
|
Debug.LogMessage(LogEventLevel.Debug, this, "Button '{0}' feedback deviceKey '{1}' not found.",
|
||||||
key, buttonFeedback.DeviceKey);
|
key, buttonFeedback.DeviceKey);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -185,13 +186,13 @@ namespace PepperDash.Essentials.Core.Touchpanels
|
||||||
deviceFeedback = device.GetFeedbackProperty(buttonFeedback.FeedbackName);
|
deviceFeedback = device.GetFeedbackProperty(buttonFeedback.FeedbackName);
|
||||||
if (deviceFeedback == null)
|
if (deviceFeedback == null)
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "Button '{0}' feedbackName property '{1}' not found.",
|
Debug.LogMessage(LogEventLevel.Debug, this, "Button '{0}' feedbackName property '{1}' not found.",
|
||||||
key, buttonFeedback.FeedbackName);
|
key, buttonFeedback.FeedbackName);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO [ ] verify if this can replace the current method
|
// TODO [ ] verify if this can replace the current method
|
||||||
//Debug.Console(0, this, "deviceFeedback.GetType().Name: '{0}'", deviceFeedback.GetType().Name);
|
//Debug.LogMessage(LogEventLevel.Information, this, "deviceFeedback.GetType().Name: '{0}'", deviceFeedback.GetType().Name);
|
||||||
//switch (feedback.GetType().Name.ToLower())
|
//switch (feedback.GetType().Name.ToLower())
|
||||||
//{
|
//{
|
||||||
// case("boolfeedback"):
|
// case("boolfeedback"):
|
||||||
|
|
@ -210,11 +211,11 @@ namespace PepperDash.Essentials.Core.Touchpanels
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "InitializeButtonFeedback (button '{1}', deviceKey '{2}') Exception Message: {0}",
|
Debug.LogMessage(LogEventLevel.Debug, this, "InitializeButtonFeedback (button '{1}', deviceKey '{2}') Exception Message: {0}",
|
||||||
ex.Message, key, buttonFeedback.DeviceKey);
|
ex.Message, key, buttonFeedback.DeviceKey);
|
||||||
Debug.Console(2, this, "InitializeButtonFeedback (button '{1}', deviceKey '{2}') Exception StackTrace: {0}",
|
Debug.LogMessage(LogEventLevel.Verbose, this, "InitializeButtonFeedback (button '{1}', deviceKey '{2}') Exception StackTrace: {0}",
|
||||||
ex.StackTrace, key, buttonFeedback.DeviceKey);
|
ex.StackTrace, key, buttonFeedback.DeviceKey);
|
||||||
if (ex.InnerException != null) Debug.Console(2, this, "InitializeButtonFeedback (button '{1}', deviceKey '{2}') InnerException: {0}",
|
if (ex.InnerException != null) Debug.LogMessage(LogEventLevel.Verbose, this, "InitializeButtonFeedback (button '{1}', deviceKey '{2}') InnerException: {0}",
|
||||||
ex.InnerException, key, buttonFeedback.DeviceKey);
|
ex.InnerException, key, buttonFeedback.DeviceKey);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
|
@ -276,12 +277,12 @@ namespace PepperDash.Essentials.Core.Touchpanels
|
||||||
|
|
||||||
private void _touchpanel_BaseEvent(GenericBase device, BaseEventArgs args)
|
private void _touchpanel_BaseEvent(GenericBase device, BaseEventArgs args)
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "BaseEvent: eventId-'{0}', index-'{1}'", args.EventId, args.Index);
|
Debug.LogMessage(LogEventLevel.Debug, this, "BaseEvent: eventId-'{0}', index-'{1}'", args.EventId, args.Index);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void _touchpanel_ButtonStateChange(GenericBase device, Crestron.SimplSharpPro.DeviceSupport.ButtonEventArgs args)
|
private void _touchpanel_ButtonStateChange(GenericBase device, Crestron.SimplSharpPro.DeviceSupport.ButtonEventArgs args)
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "ButtonStateChange: buttonNumber-'{0}' buttonName-'{1}', buttonState-'{2}'", args.Button.Number, args.Button.Name, args.NewButtonState);
|
Debug.LogMessage(LogEventLevel.Debug, this, "ButtonStateChange: buttonNumber-'{0}' buttonName-'{1}', buttonState-'{2}'", args.Button.Number, args.Button.Name, args.NewButtonState);
|
||||||
var type = args.NewButtonState.ToString();
|
var type = args.NewButtonState.ToString();
|
||||||
|
|
||||||
if (_buttons.ContainsKey(args.Button.Number.ToString(CultureInfo.InvariantCulture)))
|
if (_buttons.ContainsKey(args.Button.Number.ToString(CultureInfo.InvariantCulture)))
|
||||||
|
|
@ -296,7 +297,7 @@ namespace PepperDash.Essentials.Core.Touchpanels
|
||||||
|
|
||||||
private void _touchpanel_PanelStateChange(GenericBase device, BaseEventArgs args)
|
private void _touchpanel_PanelStateChange(GenericBase device, BaseEventArgs args)
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "PanelStateChange: eventId-'{0}', index-'{1}'", args.EventId, args.Index);
|
Debug.LogMessage(LogEventLevel.Debug, this, "PanelStateChange: eventId-'{0}', index-'{1}'", args.EventId, args.Index);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
@ -307,7 +308,7 @@ namespace PepperDash.Essentials.Core.Touchpanels
|
||||||
/// <param name="type"></param>
|
/// <param name="type"></param>
|
||||||
public void Press(string buttonKey, string type)
|
public void Press(string buttonKey, string type)
|
||||||
{
|
{
|
||||||
Debug.Console(2, this, "Press: buttonKey-'{0}', type-'{1}'", buttonKey, type);
|
Debug.LogMessage(LogEventLevel.Verbose, this, "Press: buttonKey-'{0}', type-'{1}'", buttonKey, type);
|
||||||
|
|
||||||
// TODO: In future, consider modifying this to generate actions at device activation time
|
// TODO: In future, consider modifying this to generate actions at device activation time
|
||||||
// to prevent the need to dynamically call the method via reflection on each button press
|
// to prevent the need to dynamically call the method via reflection on each button press
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ using Crestron.SimplSharpPro.DeviceSupport;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core;
|
using PepperDash.Essentials.Core;
|
||||||
using PepperDash.Essentials.Core.Presets;
|
using PepperDash.Essentials.Core.Presets;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core.PageManagers
|
namespace PepperDash.Essentials.Core.PageManagers
|
||||||
{
|
{
|
||||||
|
|
@ -164,7 +165,7 @@ namespace PepperDash.Essentials.Core.PageManagers
|
||||||
// Bad config case
|
// Bad config case
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Debug.Console(1, stb, "WARNING: Not configured to show any UI elements");
|
Debug.LogMessage(LogEventLevel.Debug, stb, "WARNING: Not configured to show any UI elements");
|
||||||
FixedVisibilityJoins = new uint[] { 10091 };
|
FixedVisibilityJoins = new uint[] { 10091 };
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@ using PepperDash.Core;
|
||||||
using Crestron.SimplSharpPro.UI;
|
using Crestron.SimplSharpPro.UI;
|
||||||
using Crestron.SimplSharp.CrestronIO;
|
using Crestron.SimplSharp.CrestronIO;
|
||||||
using Crestron.SimplSharpPro;
|
using Crestron.SimplSharpPro;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core.UI
|
namespace PepperDash.Essentials.Core.UI
|
||||||
{
|
{
|
||||||
|
|
@ -33,7 +34,7 @@ namespace PepperDash.Essentials.Core.UI
|
||||||
|
|
||||||
if (panel == null)
|
if (panel == null)
|
||||||
{
|
{
|
||||||
Debug.Console(0, this, "Panel is not valid. Touchpanel class WILL NOT work correctly");
|
Debug.LogMessage(LogEventLevel.Information, this, "Panel is not valid. Touchpanel class WILL NOT work correctly");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -55,19 +56,19 @@ namespace PepperDash.Essentials.Core.UI
|
||||||
|
|
||||||
AddPreActivationAction(() => {
|
AddPreActivationAction(() => {
|
||||||
if (Panel.Register() != eDeviceRegistrationUnRegistrationResponse.Success)
|
if (Panel.Register() != eDeviceRegistrationUnRegistrationResponse.Success)
|
||||||
Debug.Console(0, this, Debug.ErrorLogLevel.Notice, "WARNING: Registration failed. Continuing, but panel may not function: {0}", Panel.RegistrationFailureReason);
|
Debug.LogMessage(LogEventLevel.Information, this, "WARNING: Registration failed. Continuing, but panel may not function: {0}", Panel.RegistrationFailureReason);
|
||||||
|
|
||||||
// Give up cleanly if SGD is not present.
|
// Give up cleanly if SGD is not present.
|
||||||
var sgdName = Global.FilePathPrefix + "sgd" + Global.DirectorySeparator + _config.SgdFile;
|
var sgdName = Global.FilePathPrefix + "sgd" + Global.DirectorySeparator + _config.SgdFile;
|
||||||
if (!File.Exists(sgdName))
|
if (!File.Exists(sgdName))
|
||||||
{
|
{
|
||||||
Debug.Console(0, this, "Smart object file '{0}' not present in User folder. Looking for embedded file", sgdName);
|
Debug.LogMessage(LogEventLevel.Information, this, "Smart object file '{0}' not present in User folder. Looking for embedded file", sgdName);
|
||||||
|
|
||||||
sgdName = Global.ApplicationDirectoryPathPrefix + Global.DirectorySeparator + "SGD" + Global.DirectorySeparator + _config.SgdFile;
|
sgdName = Global.ApplicationDirectoryPathPrefix + Global.DirectorySeparator + "SGD" + Global.DirectorySeparator + _config.SgdFile;
|
||||||
|
|
||||||
if (!File.Exists(sgdName))
|
if (!File.Exists(sgdName))
|
||||||
{
|
{
|
||||||
Debug.Console(0, this, "Unable to find SGD file '{0}' in User sgd or application SGD folder. Exiting touchpanel load.", sgdName);
|
Debug.LogMessage(LogEventLevel.Information, this, "Unable to find SGD file '{0}' in User sgd or application SGD folder. Exiting touchpanel load.", sgdName);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -154,7 +155,7 @@ namespace PepperDash.Essentials.Core.UI
|
||||||
|
|
||||||
private void Panel_SigChange(object currentDevice, Crestron.SimplSharpPro.SigEventArgs args)
|
private void Panel_SigChange(object currentDevice, Crestron.SimplSharpPro.SigEventArgs args)
|
||||||
{
|
{
|
||||||
Debug.Console(5, this, "Sig change: {0} {1}={2}", args.Sig.Type, args.Sig.Number, args.Sig.StringValue);
|
Debug.LogMessage(LogEventLevel.Verbose, this, "Sig change: {0} {1}={2}", args.Sig.Type, args.Sig.Number, args.Sig.StringValue);
|
||||||
var uo = args.Sig.UserObject;
|
var uo = args.Sig.UserObject;
|
||||||
if (uo is Action<bool>)
|
if (uo is Action<bool>)
|
||||||
(uo as Action<bool>)(args.Sig.BoolValue);
|
(uo as Action<bool>)(args.Sig.BoolValue);
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,7 @@ using PepperDash.Essentials.Core;
|
||||||
using PepperDash.Essentials.Core.Config;
|
using PepperDash.Essentials.Core.Config;
|
||||||
|
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core.Utilities
|
namespace PepperDash.Essentials.Core.Utilities
|
||||||
{
|
{
|
||||||
|
|
@ -51,11 +52,11 @@ namespace PepperDash.Essentials.Core.Utilities
|
||||||
{
|
{
|
||||||
if (_worker !=null && _worker.ThreadState == Thread.eThreadStates.ThreadRunning)
|
if (_worker !=null && _worker.ThreadState == Thread.eThreadStates.ThreadRunning)
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "Thread already running. Cannot Start Sequence");
|
Debug.LogMessage(LogEventLevel.Debug, this, "Thread already running. Cannot Start Sequence");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Debug.Console(1, this, "Starting Action Sequence");
|
Debug.LogMessage(LogEventLevel.Debug, this, "Starting Action Sequence");
|
||||||
_allowActionsToExecute = true;
|
_allowActionsToExecute = true;
|
||||||
AddActionsToQueue();
|
AddActionsToQueue();
|
||||||
_worker = new Thread(ProcessActions, null, Thread.eThreadStartOptions.Running);
|
_worker = new Thread(ProcessActions, null, Thread.eThreadStartOptions.Running);
|
||||||
|
|
@ -66,7 +67,7 @@ namespace PepperDash.Essentials.Core.Utilities
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public void StopSequence()
|
public void StopSequence()
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "Stopping Action Sequence");
|
Debug.LogMessage(LogEventLevel.Debug, this, "Stopping Action Sequence");
|
||||||
_allowActionsToExecute = false;
|
_allowActionsToExecute = false;
|
||||||
_worker.Abort();
|
_worker.Abort();
|
||||||
}
|
}
|
||||||
|
|
@ -76,7 +77,7 @@ namespace PepperDash.Essentials.Core.Utilities
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private void AddActionsToQueue()
|
private void AddActionsToQueue()
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "Adding {0} actions to queue", _propertiesConfig.ActionSequence.Count);
|
Debug.LogMessage(LogEventLevel.Debug, this, "Adding {0} actions to queue", _propertiesConfig.ActionSequence.Count);
|
||||||
|
|
||||||
for (int i = 0; i < _propertiesConfig.ActionSequence.Count; i++)
|
for (int i = 0; i < _propertiesConfig.ActionSequence.Count; i++)
|
||||||
{
|
{
|
||||||
|
|
@ -115,7 +116,7 @@ namespace PepperDash.Essentials.Core.Utilities
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
Debug.Console(2, this, "Error Executing Action: {0}", e);
|
Debug.LogMessage(LogEventLevel.Verbose, this, "Error Executing Action: {0}", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -152,7 +153,7 @@ namespace PepperDash.Essentials.Core.Utilities
|
||||||
|
|
||||||
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
||||||
{
|
{
|
||||||
Debug.Console(1, "Factory Attempting to create new ActionSequence Device");
|
Debug.LogMessage(LogEventLevel.Debug, "Factory Attempting to create new ActionSequence Device");
|
||||||
|
|
||||||
return new ActionSequence(dc.Key, dc);
|
return new ActionSequence(dc.Key, dc);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ using Crestron.SimplSharp.WebScripting;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Core.Web;
|
using PepperDash.Core.Web;
|
||||||
using PepperDash.Essentials.Core.Web.RequestHandlers;
|
using PepperDash.Essentials.Core.Web.RequestHandlers;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core.Web
|
namespace PepperDash.Essentials.Core.Web
|
||||||
{
|
{
|
||||||
|
|
@ -206,7 +207,7 @@ namespace PepperDash.Essentials.Core.Web
|
||||||
if (response.Contains("OFF")) return;
|
if (response.Contains("OFF")) return;
|
||||||
|
|
||||||
var is4Series = eCrestronSeries.Series4 == (Global.ProcessorSeries & eCrestronSeries.Series4);
|
var is4Series = eCrestronSeries.Series4 == (Global.ProcessorSeries & eCrestronSeries.Series4);
|
||||||
Debug.Console(DebugTrace, Debug.ErrorLogLevel.Notice, "Starting Essentials Web API on {0} Appliance", is4Series ? "4-series" : "3-series");
|
Debug.LogMessage(LogEventLevel.Verbose, "Starting Essentials Web API on {0} Appliance", is4Series ? "4-series" : "3-series");
|
||||||
|
|
||||||
_server.Start();
|
_server.Start();
|
||||||
|
|
||||||
|
|
@ -216,7 +217,7 @@ namespace PepperDash.Essentials.Core.Web
|
||||||
}
|
}
|
||||||
|
|
||||||
// Automatically start CWS when running on a server (Linux OS, Virtual Control)
|
// Automatically start CWS when running on a server (Linux OS, Virtual Control)
|
||||||
Debug.Console(DebugTrace, Debug.ErrorLogLevel.Notice, "Starting Essentials Web API on Virtual Control Server");
|
Debug.LogMessage(LogEventLevel.Verbose, "Starting Essentials Web API on Virtual Control Server");
|
||||||
|
|
||||||
_server.Start();
|
_server.Start();
|
||||||
|
|
||||||
|
|
@ -232,7 +233,7 @@ namespace PepperDash.Essentials.Core.Web
|
||||||
/// </example>
|
/// </example>
|
||||||
public void GetPaths()
|
public void GetPaths()
|
||||||
{
|
{
|
||||||
Debug.Console(DebugTrace, this, "{0}", new String('-', 50));
|
Debug.LogMessage(LogEventLevel.Verbose, this, "{0}", new String('-', 50));
|
||||||
|
|
||||||
var currentIp = CrestronEthernetHelper.GetEthernetParameter(
|
var currentIp = CrestronEthernetHelper.GetEthernetParameter(
|
||||||
CrestronEthernetHelper.ETHERNET_PARAMETER_TO_GET.GET_CURRENT_IP_ADDRESS, 0);
|
CrestronEthernetHelper.ETHERNET_PARAMETER_TO_GET.GET_CURRENT_IP_ADDRESS, 0);
|
||||||
|
|
@ -244,20 +245,20 @@ namespace PepperDash.Essentials.Core.Web
|
||||||
? string.Format("http(s)://{0}/VirtualControl/Rooms/{1}/cws{2}", hostname, InitialParametersClass.RoomId, BasePath)
|
? string.Format("http(s)://{0}/VirtualControl/Rooms/{1}/cws{2}", hostname, InitialParametersClass.RoomId, BasePath)
|
||||||
: string.Format("http(s)://{0}/cws{1}", currentIp, BasePath);
|
: string.Format("http(s)://{0}/cws{1}", currentIp, BasePath);
|
||||||
|
|
||||||
Debug.Console(DebugTrace, this, "Server:{0}", path);
|
Debug.LogMessage(LogEventLevel.Verbose, this, "Server:{0}", path);
|
||||||
|
|
||||||
var routeCollection = _server.GetRouteCollection();
|
var routeCollection = _server.GetRouteCollection();
|
||||||
if (routeCollection == null)
|
if (routeCollection == null)
|
||||||
{
|
{
|
||||||
Debug.Console(DebugTrace, this, "Server route collection is null");
|
Debug.LogMessage(LogEventLevel.Verbose, this, "Server route collection is null");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Debug.Console(DebugTrace, this, "Configured Routes:");
|
Debug.LogMessage(LogEventLevel.Verbose, this, "Configured Routes:");
|
||||||
foreach (var route in routeCollection)
|
foreach (var route in routeCollection)
|
||||||
{
|
{
|
||||||
Debug.Console(DebugTrace, this, "{0}: {1}/{2}", route.Name, path, route.Url);
|
Debug.LogMessage(LogEventLevel.Verbose, this, "{0}: {1}/{2}", route.Name, path, route.Url);
|
||||||
}
|
}
|
||||||
Debug.Console(DebugTrace, this, "{0}", new String('-', 50));
|
Debug.LogMessage(LogEventLevel.Verbose, this, "{0}", new String('-', 50));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core.Config;
|
using PepperDash.Essentials.Core.Config;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core.Web
|
namespace PepperDash.Essentials.Core.Web
|
||||||
{
|
{
|
||||||
|
|
@ -13,12 +14,12 @@ namespace PepperDash.Essentials.Core.Web
|
||||||
|
|
||||||
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
||||||
{
|
{
|
||||||
Debug.Console(1, "Factory Attempting to create new Essentials Web API Server");
|
Debug.LogMessage(LogEventLevel.Debug, "Factory Attempting to create new Essentials Web API Server");
|
||||||
|
|
||||||
var props = dc.Properties.ToObject<EssentialsWebApiPropertiesConfig>();
|
var props = dc.Properties.ToObject<EssentialsWebApiPropertiesConfig>();
|
||||||
if (props != null) return new EssentialsWebApi(dc.Key, dc.Name, props);
|
if (props != null) return new EssentialsWebApi(dc.Key, dc.Name, props);
|
||||||
|
|
||||||
Debug.Console(1, "Factory failed to create new Essentials Web API Server");
|
Debug.LogMessage(LogEventLevel.Debug, "Factory failed to create new Essentials Web API Server");
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ using Crestron.SimplSharpPro.EthernetCommunication;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Core.Web.RequestHandlers;
|
using PepperDash.Core.Web.RequestHandlers;
|
||||||
|
using Serilog.Events;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
|
@ -44,7 +45,7 @@ namespace PepperDash.Essentials.Core.Web.RequestHandlers
|
||||||
|
|
||||||
if (!Debug.WebsocketSink.IsRunning)
|
if (!Debug.WebsocketSink.IsRunning)
|
||||||
{
|
{
|
||||||
Debug.Console(0, "Starting WS Server");
|
Debug.LogMessage(LogEventLevel.Information, "Starting WS Server");
|
||||||
// Generate a random port within a specified range
|
// Generate a random port within a specified range
|
||||||
port = new Random().Next(65435, 65535);
|
port = new Random().Next(65435, 65535);
|
||||||
// Start the WS Server
|
// Start the WS Server
|
||||||
|
|
@ -59,7 +60,7 @@ namespace PepperDash.Essentials.Core.Web.RequestHandlers
|
||||||
url = Debug.WebsocketSink.Url
|
url = Debug.WebsocketSink.Url
|
||||||
};
|
};
|
||||||
|
|
||||||
Debug.Console(0, "Debug Session URL: {0}", url);
|
Debug.LogMessage(LogEventLevel.Information, "Debug Session URL: {0}", url);
|
||||||
|
|
||||||
// Return the port number with the full url of the WS Server
|
// Return the port number with the full url of the WS Server
|
||||||
var res = JsonConvert.SerializeObject(data);
|
var res = JsonConvert.SerializeObject(data);
|
||||||
|
|
@ -73,7 +74,7 @@ namespace PepperDash.Essentials.Core.Web.RequestHandlers
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
Debug.Console(0, "Error: {0}", e);
|
Debug.LogMessage(LogEventLevel.Information, "Error: {0}", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -89,7 +90,7 @@ namespace PepperDash.Essentials.Core.Web.RequestHandlers
|
||||||
context.Response.StatusDescription = "OK";
|
context.Response.StatusDescription = "OK";
|
||||||
context.Response.End();
|
context.Response.End();
|
||||||
|
|
||||||
Debug.Console(0, "Websocket Debug Session Stopped");
|
Debug.LogMessage(LogEventLevel.Information, "Websocket Debug Session Stopped");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@
|
||||||
using Crestron.SimplSharp.WebScripting;
|
using Crestron.SimplSharp.WebScripting;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Core.Web.RequestHandlers;
|
using PepperDash.Core.Web.RequestHandlers;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core.Web.RequestHandlers
|
namespace PepperDash.Essentials.Core.Web.RequestHandlers
|
||||||
{
|
{
|
||||||
|
|
@ -53,9 +54,9 @@ namespace PepperDash.Essentials.Core.Web.RequestHandlers
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Debug.Console(1, "Exception Message: {0}", ex.Message);
|
Debug.LogMessage(LogEventLevel.Error, "Exception Message: {0}", ex.Message);
|
||||||
Debug.Console(2, "Exception Stack Trace: {0}", ex.StackTrace);
|
Debug.LogMessage(LogEventLevel.Verbose, "Exception Stack Trace: {0}", ex.StackTrace);
|
||||||
if(ex.InnerException != null) Debug.Console(2, "Exception Inner: {0}", ex.InnerException);
|
if(ex.InnerException != null) Debug.LogMessage(LogEventLevel.Error, "Exception Inner: {0}", ex.InnerException);
|
||||||
|
|
||||||
context.Response.StatusCode = 400;
|
context.Response.StatusCode = 400;
|
||||||
context.Response.StatusDescription = "Bad Request";
|
context.Response.StatusDescription = "Bad Request";
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@ using PepperDash.Essentials.Core;
|
||||||
using PepperDash.Essentials.Core.Config;
|
using PepperDash.Essentials.Core.Config;
|
||||||
|
|
||||||
using PepperDash.Essentials.Core.Routing;
|
using PepperDash.Essentials.Core.Routing;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Devices.Common
|
namespace PepperDash.Essentials.Devices.Common
|
||||||
{
|
{
|
||||||
|
|
@ -109,7 +110,7 @@ namespace PepperDash.Essentials.Devices.Common
|
||||||
|
|
||||||
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
||||||
{
|
{
|
||||||
Debug.Console(1, "Factory Attempting to create new GenericAudioOutWithVolumeFactory Device");
|
Debug.LogMessage(LogEventLevel.Debug, "Factory Attempting to create new GenericAudioOutWithVolumeFactory Device");
|
||||||
var zone = dc.Properties.Value<uint>("zone");
|
var zone = dc.Properties.Value<uint>("zone");
|
||||||
return new GenericAudioOutWithVolume(dc.Key, dc.Name,
|
return new GenericAudioOutWithVolume(dc.Key, dc.Name,
|
||||||
dc.Properties.Value<string>("volumeDeviceKey"), zone);
|
dc.Properties.Value<string>("volumeDeviceKey"), zone);
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@ using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core;
|
using PepperDash.Essentials.Core;
|
||||||
using PepperDash.Essentials.Core.Config;
|
using PepperDash.Essentials.Core.Config;
|
||||||
using PepperDash.Essentials.Devices.Common.Codec;
|
using PepperDash.Essentials.Devices.Common.Codec;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Devices.Common.AudioCodec
|
namespace PepperDash.Essentials.Devices.Common.AudioCodec
|
||||||
{
|
{
|
||||||
|
|
@ -25,7 +26,7 @@ namespace PepperDash.Essentials.Devices.Common.AudioCodec
|
||||||
{
|
{
|
||||||
if (!IsInCall)
|
if (!IsInCall)
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "Dial: {0}", number);
|
Debug.LogMessage(LogEventLevel.Debug, this, "Dial: {0}", number);
|
||||||
var call = new CodecActiveCallItem()
|
var call = new CodecActiveCallItem()
|
||||||
{
|
{
|
||||||
Name = "Mock Outgoing Call",
|
Name = "Mock Outgoing Call",
|
||||||
|
|
@ -42,20 +43,20 @@ namespace PepperDash.Essentials.Devices.Common.AudioCodec
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "Already in call. Cannot dial new call.");
|
Debug.LogMessage(LogEventLevel.Debug, this, "Already in call. Cannot dial new call.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void EndCall(CodecActiveCallItem call)
|
public override void EndCall(CodecActiveCallItem call)
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "EndCall");
|
Debug.LogMessage(LogEventLevel.Debug, this, "EndCall");
|
||||||
ActiveCalls.Remove(call);
|
ActiveCalls.Remove(call);
|
||||||
SetNewCallStatusAndFireCallStatusChange(eCodecCallStatus.Disconnected, call);
|
SetNewCallStatusAndFireCallStatusChange(eCodecCallStatus.Disconnected, call);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void EndAllCalls()
|
public override void EndAllCalls()
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "EndAllCalls");
|
Debug.LogMessage(LogEventLevel.Debug, this, "EndAllCalls");
|
||||||
for (int i = ActiveCalls.Count - 1; i >= 0; i--)
|
for (int i = ActiveCalls.Count - 1; i >= 0; i--)
|
||||||
{
|
{
|
||||||
var call = ActiveCalls[i];
|
var call = ActiveCalls[i];
|
||||||
|
|
@ -66,20 +67,20 @@ namespace PepperDash.Essentials.Devices.Common.AudioCodec
|
||||||
|
|
||||||
public override void AcceptCall(CodecActiveCallItem call)
|
public override void AcceptCall(CodecActiveCallItem call)
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "AcceptCall");
|
Debug.LogMessage(LogEventLevel.Debug, this, "AcceptCall");
|
||||||
SetNewCallStatusAndFireCallStatusChange(eCodecCallStatus.Connecting, call);
|
SetNewCallStatusAndFireCallStatusChange(eCodecCallStatus.Connecting, call);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void RejectCall(CodecActiveCallItem call)
|
public override void RejectCall(CodecActiveCallItem call)
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "RejectCall");
|
Debug.LogMessage(LogEventLevel.Debug, this, "RejectCall");
|
||||||
ActiveCalls.Remove(call);
|
ActiveCalls.Remove(call);
|
||||||
SetNewCallStatusAndFireCallStatusChange(eCodecCallStatus.Disconnected, call);
|
SetNewCallStatusAndFireCallStatusChange(eCodecCallStatus.Disconnected, call);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void SendDtmf(string s)
|
public override void SendDtmf(string s)
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "BEEP BOOP SendDTMF: {0}", s);
|
Debug.LogMessage(LogEventLevel.Debug, this, "BEEP BOOP SendDTMF: {0}", s);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
@ -88,7 +89,7 @@ namespace PepperDash.Essentials.Devices.Common.AudioCodec
|
||||||
/// <param name="url"></param>
|
/// <param name="url"></param>
|
||||||
public void TestIncomingAudioCall(string number)
|
public void TestIncomingAudioCall(string number)
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "TestIncomingAudioCall from {0}", number);
|
Debug.LogMessage(LogEventLevel.Debug, this, "TestIncomingAudioCall from {0}", number);
|
||||||
var call = new CodecActiveCallItem() { Name = number, Id = number, Number = number, Type = eCodecCallType.Audio, Direction = eCodecCallDirection.Incoming };
|
var call = new CodecActiveCallItem() { Name = number, Id = number, Number = number, Type = eCodecCallType.Audio, Direction = eCodecCallDirection.Incoming };
|
||||||
ActiveCalls.Add(call);
|
ActiveCalls.Add(call);
|
||||||
SetNewCallStatusAndFireCallStatusChange(eCodecCallStatus.Ringing, call);
|
SetNewCallStatusAndFireCallStatusChange(eCodecCallStatus.Ringing, call);
|
||||||
|
|
@ -122,7 +123,7 @@ namespace PepperDash.Essentials.Devices.Common.AudioCodec
|
||||||
|
|
||||||
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
||||||
{
|
{
|
||||||
Debug.Console(1, "Factory Attempting to create new MockAc Device");
|
Debug.LogMessage(LogEventLevel.Debug, "Factory Attempting to create new MockAc Device");
|
||||||
var props = Newtonsoft.Json.JsonConvert.DeserializeObject<AudioCodec.MockAcPropertiesConfig>(dc.Properties.ToString());
|
var props = Newtonsoft.Json.JsonConvert.DeserializeObject<AudioCodec.MockAcPropertiesConfig>(dc.Properties.ToString());
|
||||||
return new AudioCodec.MockAC(dc.Key, dc.Name, props);
|
return new AudioCodec.MockAC(dc.Key, dc.Name, props);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,7 @@ using PepperDash.Essentials.Core.Presets;
|
||||||
using PepperDash.Essentials.Devices.Common.Codec;
|
using PepperDash.Essentials.Devices.Common.Codec;
|
||||||
|
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Devices.Common.Cameras
|
namespace PepperDash.Essentials.Devices.Common.Cameras
|
||||||
{
|
{
|
||||||
|
|
@ -101,7 +102,7 @@ namespace PepperDash.Essentials.Devices.Common.Cameras
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Debug.Console(0, this, "Please update config to use 'eiscapiadvanced' to get all join map features for this device.");
|
Debug.LogMessage(LogEventLevel.Information, this, "Please update config to use 'eiscapiadvanced' to get all join map features for this device.");
|
||||||
}
|
}
|
||||||
|
|
||||||
var customJoins = JoinMapHelper.TryGetJoinMapAdvancedForDevice(joinMapKey);
|
var customJoins = JoinMapHelper.TryGetJoinMapAdvancedForDevice(joinMapKey);
|
||||||
|
|
@ -111,8 +112,8 @@ namespace PepperDash.Essentials.Devices.Common.Cameras
|
||||||
joinMap.SetCustomJoinData(customJoins);
|
joinMap.SetCustomJoinData(customJoins);
|
||||||
}
|
}
|
||||||
|
|
||||||
Debug.Console(1, "Linking to Trilist '{0}'", trilist.ID.ToString("X"));
|
Debug.LogMessage(LogEventLevel.Debug, "Linking to Trilist '{0}'", trilist.ID.ToString("X"));
|
||||||
Debug.Console(0, "Linking to Bridge Type {0}", cameraDevice.GetType().Name.ToString());
|
Debug.LogMessage(LogEventLevel.Information, "Linking to Bridge Type {0}", cameraDevice.GetType().Name.ToString());
|
||||||
|
|
||||||
var commMonitor = cameraDevice as ICommunicationMonitor;
|
var commMonitor = cameraDevice as ICommunicationMonitor;
|
||||||
commMonitor.CommunicationMonitor.IsOnlineFeedback.LinkInputSig(
|
commMonitor.CommunicationMonitor.IsOnlineFeedback.LinkInputSig(
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,7 @@ using System.Text.RegularExpressions;
|
||||||
using Crestron.SimplSharp.Reflection;
|
using Crestron.SimplSharp.Reflection;
|
||||||
|
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Devices.Common.Cameras
|
namespace PepperDash.Essentials.Devices.Common.Cameras
|
||||||
{
|
{
|
||||||
|
|
@ -161,7 +162,7 @@ namespace PepperDash.Essentials.Devices.Common.Cameras
|
||||||
Communication.Connect();
|
Communication.Connect();
|
||||||
|
|
||||||
|
|
||||||
CommunicationMonitor.StatusChange += (o, a) => { Debug.Console(2, this, "Communication monitor state: {0}", CommunicationMonitor.Status); };
|
CommunicationMonitor.StatusChange += (o, a) => { Debug.LogMessage(LogEventLevel.Verbose, this, "Communication monitor state: {0}", CommunicationMonitor.Status); };
|
||||||
CommunicationMonitor.Start();
|
CommunicationMonitor.Start();
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -176,7 +177,7 @@ namespace PepperDash.Essentials.Devices.Common.Cameras
|
||||||
|
|
||||||
void socket_ConnectionChange(object sender, GenericSocketStatusChageEventArgs e)
|
void socket_ConnectionChange(object sender, GenericSocketStatusChageEventArgs e)
|
||||||
{
|
{
|
||||||
Debug.Console(2, this, "Socket Status Change: {0}", e.Client.ClientStatus.ToString());
|
Debug.LogMessage(LogEventLevel.Verbose, this, "Socket Status Change: {0}", e.Client.ClientStatus.ToString());
|
||||||
|
|
||||||
if (e.Client.IsConnected)
|
if (e.Client.IsConnected)
|
||||||
{
|
{
|
||||||
|
|
@ -193,7 +194,7 @@ namespace PepperDash.Essentials.Devices.Common.Cameras
|
||||||
{
|
{
|
||||||
|
|
||||||
if (Debug.Level == 2) // This check is here to prevent following string format from building unnecessarily on level 0 or 1
|
if (Debug.Level == 2) // This check is here to prevent following string format from building unnecessarily on level 0 or 1
|
||||||
Debug.Console(2, this, "Sending:{0}", ComTextHelper.GetEscapedText(b));
|
Debug.LogMessage(LogEventLevel.Verbose, this, "Sending:{0}", ComTextHelper.GetEscapedText(b));
|
||||||
|
|
||||||
Communication.SendBytes(b);
|
Communication.SendBytes(b);
|
||||||
}
|
}
|
||||||
|
|
@ -209,7 +210,7 @@ namespace PepperDash.Essentials.Devices.Common.Cameras
|
||||||
IncomingBuffer.CopyTo(newBytes, 0);
|
IncomingBuffer.CopyTo(newBytes, 0);
|
||||||
e.Bytes.CopyTo(newBytes, IncomingBuffer.Length);
|
e.Bytes.CopyTo(newBytes, IncomingBuffer.Length);
|
||||||
if (Debug.Level == 2) // This check is here to prevent following string format from building unnecessarily on level 0 or 1
|
if (Debug.Level == 2) // This check is here to prevent following string format from building unnecessarily on level 0 or 1
|
||||||
Debug.Console(2, this, "Received:{0}", ComTextHelper.GetEscapedText(newBytes));
|
Debug.LogMessage(LogEventLevel.Verbose, this, "Received:{0}", ComTextHelper.GetEscapedText(newBytes));
|
||||||
|
|
||||||
byte[] message = new byte[] { };
|
byte[] message = new byte[] { };
|
||||||
|
|
||||||
|
|
@ -238,7 +239,7 @@ namespace PepperDash.Essentials.Devices.Common.Cameras
|
||||||
case 0x40:
|
case 0x40:
|
||||||
{
|
{
|
||||||
// ACK received
|
// ACK received
|
||||||
Debug.Console(2, this, "ACK Received");
|
Debug.LogMessage(LogEventLevel.Verbose, this, "ACK Received");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 0x50:
|
case 0x50:
|
||||||
|
|
@ -247,7 +248,7 @@ namespace PepperDash.Essentials.Devices.Common.Cameras
|
||||||
if (message[2] == 0xFF)
|
if (message[2] == 0xFF)
|
||||||
{
|
{
|
||||||
// Completion received
|
// Completion received
|
||||||
Debug.Console(2, this, "Completion Received");
|
Debug.LogMessage(LogEventLevel.Verbose, this, "Completion Received");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
@ -260,7 +261,7 @@ namespace PepperDash.Essentials.Devices.Common.Cameras
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Debug.Console(2, this, "Response Queue is empty. Nothing to dequeue.");
|
Debug.LogMessage(LogEventLevel.Verbose, this, "Response Queue is empty. Nothing to dequeue.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -275,37 +276,37 @@ namespace PepperDash.Essentials.Devices.Common.Cameras
|
||||||
case 0x01:
|
case 0x01:
|
||||||
{
|
{
|
||||||
// Message Length Error
|
// Message Length Error
|
||||||
Debug.Console(2, this, "Error from device: Message Length Error");
|
Debug.LogMessage(LogEventLevel.Verbose, this, "Error from device: Message Length Error");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 0x02:
|
case 0x02:
|
||||||
{
|
{
|
||||||
// Syntax Error
|
// Syntax Error
|
||||||
Debug.Console(2, this, "Error from device: Syntax Error");
|
Debug.LogMessage(LogEventLevel.Verbose, this, "Error from device: Syntax Error");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 0x03:
|
case 0x03:
|
||||||
{
|
{
|
||||||
// Command Buffer Full
|
// Command Buffer Full
|
||||||
Debug.Console(2, this, "Error from device: Command Buffer Full");
|
Debug.LogMessage(LogEventLevel.Verbose, this, "Error from device: Command Buffer Full");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 0x04:
|
case 0x04:
|
||||||
{
|
{
|
||||||
// Command Cancelled
|
// Command Cancelled
|
||||||
Debug.Console(2, this, "Error from device: Command Cancelled");
|
Debug.LogMessage(LogEventLevel.Verbose, this, "Error from device: Command Cancelled");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 0x05:
|
case 0x05:
|
||||||
{
|
{
|
||||||
// No Socket
|
// No Socket
|
||||||
Debug.Console(2, this, "Error from device: No Socket");
|
Debug.LogMessage(LogEventLevel.Verbose, this, "Error from device: No Socket");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 0x41:
|
case 0x41:
|
||||||
{
|
{
|
||||||
// Command not executable
|
// Command not executable
|
||||||
Debug.Console(2, this, "Error from device: Command not executable");
|
Debug.LogMessage(LogEventLevel.Verbose, this, "Error from device: Command not executable");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -327,7 +328,7 @@ namespace PepperDash.Essentials.Devices.Common.Cameras
|
||||||
}
|
}
|
||||||
catch (Exception err)
|
catch (Exception err)
|
||||||
{
|
{
|
||||||
Debug.Console(2, this, "Error parsing feedback: {0}", err);
|
Debug.LogMessage(LogEventLevel.Verbose, this, "Error parsing feedback: {0}", err);
|
||||||
}
|
}
|
||||||
finally
|
finally
|
||||||
{
|
{
|
||||||
|
|
@ -645,7 +646,7 @@ namespace PepperDash.Essentials.Devices.Common.Cameras
|
||||||
|
|
||||||
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
||||||
{
|
{
|
||||||
Debug.Console(1, "Factory Attempting to create new CameraVisca Device");
|
Debug.LogMessage(LogEventLevel.Debug, "Factory Attempting to create new CameraVisca Device");
|
||||||
var comm = CommFactory.CreateCommForDevice(dc);
|
var comm = CommFactory.CreateCommForDevice(dc);
|
||||||
var props = Newtonsoft.Json.JsonConvert.DeserializeObject<Cameras.CameraViscaPropertiesConfig>(
|
var props = Newtonsoft.Json.JsonConvert.DeserializeObject<Cameras.CameraViscaPropertiesConfig>(
|
||||||
dc.Properties.ToString());
|
dc.Properties.ToString());
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@ using Crestron.SimplSharp;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
|
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Devices.Common.Codec
|
namespace PepperDash.Essentials.Devices.Common.Codec
|
||||||
{
|
{
|
||||||
|
|
@ -93,7 +94,7 @@ namespace PepperDash.Essentials.Devices.Common.Codec
|
||||||
/// <param name="meeting"></param>
|
/// <param name="meeting"></param>
|
||||||
private void OnMeetingChange(eMeetingEventChangeType changeType, Meeting meeting)
|
private void OnMeetingChange(eMeetingEventChangeType changeType, Meeting meeting)
|
||||||
{
|
{
|
||||||
Debug.Console(2, "*****************OnMeetingChange. id: {0} changeType: {1}**********************", meeting.Id, changeType);
|
Debug.LogMessage(LogEventLevel.Verbose, "*****************OnMeetingChange. id: {0} changeType: {1}**********************", meeting.Id, changeType);
|
||||||
if (changeType != (changeType & meeting.NotifiedChangeTypes))
|
if (changeType != (changeType & meeting.NotifiedChangeTypes))
|
||||||
{
|
{
|
||||||
// Add this change type to the NotifiedChangeTypes
|
// Add this change type to the NotifiedChangeTypes
|
||||||
|
|
@ -107,7 +108,7 @@ namespace PepperDash.Essentials.Devices.Common.Codec
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Debug.Console(2, "Meeting: {0} already notified of changeType: {1}", meeting.Id, changeType);
|
Debug.LogMessage(LogEventLevel.Verbose, "Meeting: {0} already notified of changeType: {1}", meeting.Id, changeType);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -127,22 +128,22 @@ namespace PepperDash.Essentials.Devices.Common.Codec
|
||||||
|
|
||||||
if (eMeetingEventChangeType.MeetingStartWarning != (m.NotifiedChangeTypes & eMeetingEventChangeType.MeetingStartWarning) && m.TimeToMeetingStart.TotalMinutes <= m.MeetingWarningMinutes.TotalMinutes && m.TimeToMeetingStart.Seconds > 0) // Meeting is about to start
|
if (eMeetingEventChangeType.MeetingStartWarning != (m.NotifiedChangeTypes & eMeetingEventChangeType.MeetingStartWarning) && m.TimeToMeetingStart.TotalMinutes <= m.MeetingWarningMinutes.TotalMinutes && m.TimeToMeetingStart.Seconds > 0) // Meeting is about to start
|
||||||
{
|
{
|
||||||
Debug.Console(2, "********************* MeetingStartWarning. TotalMinutes: {0} Seconds: {1}", m.TimeToMeetingStart.TotalMinutes, m.TimeToMeetingStart.Seconds);
|
Debug.LogMessage(LogEventLevel.Verbose, "********************* MeetingStartWarning. TotalMinutes: {0} Seconds: {1}", m.TimeToMeetingStart.TotalMinutes, m.TimeToMeetingStart.Seconds);
|
||||||
changeType = eMeetingEventChangeType.MeetingStartWarning;
|
changeType = eMeetingEventChangeType.MeetingStartWarning;
|
||||||
}
|
}
|
||||||
else if (eMeetingEventChangeType.MeetingStart != (m.NotifiedChangeTypes & eMeetingEventChangeType.MeetingStart) && Math.Abs(m.TimeToMeetingStart.TotalMinutes) < meetingTimeEpsilon) // Meeting Start
|
else if (eMeetingEventChangeType.MeetingStart != (m.NotifiedChangeTypes & eMeetingEventChangeType.MeetingStart) && Math.Abs(m.TimeToMeetingStart.TotalMinutes) < meetingTimeEpsilon) // Meeting Start
|
||||||
{
|
{
|
||||||
Debug.Console(2, "********************* MeetingStart");
|
Debug.LogMessage(LogEventLevel.Verbose, "********************* MeetingStart");
|
||||||
changeType = eMeetingEventChangeType.MeetingStart;
|
changeType = eMeetingEventChangeType.MeetingStart;
|
||||||
}
|
}
|
||||||
else if (eMeetingEventChangeType.MeetingEndWarning != (m.NotifiedChangeTypes & eMeetingEventChangeType.MeetingEndWarning) && m.TimeToMeetingEnd.TotalMinutes <= m.MeetingWarningMinutes.TotalMinutes && m.TimeToMeetingEnd.Seconds > 0) // Meeting is about to end
|
else if (eMeetingEventChangeType.MeetingEndWarning != (m.NotifiedChangeTypes & eMeetingEventChangeType.MeetingEndWarning) && m.TimeToMeetingEnd.TotalMinutes <= m.MeetingWarningMinutes.TotalMinutes && m.TimeToMeetingEnd.Seconds > 0) // Meeting is about to end
|
||||||
{
|
{
|
||||||
Debug.Console(2, "********************* MeetingEndWarning. TotalMinutes: {0} Seconds: {1}", m.TimeToMeetingEnd.TotalMinutes, m.TimeToMeetingEnd.Seconds);
|
Debug.LogMessage(LogEventLevel.Verbose, "********************* MeetingEndWarning. TotalMinutes: {0} Seconds: {1}", m.TimeToMeetingEnd.TotalMinutes, m.TimeToMeetingEnd.Seconds);
|
||||||
changeType = eMeetingEventChangeType.MeetingEndWarning;
|
changeType = eMeetingEventChangeType.MeetingEndWarning;
|
||||||
}
|
}
|
||||||
else if (eMeetingEventChangeType.MeetingEnd != (m.NotifiedChangeTypes & eMeetingEventChangeType.MeetingEnd) && Math.Abs(m.TimeToMeetingEnd.TotalMinutes) < meetingTimeEpsilon) // Meeting has ended
|
else if (eMeetingEventChangeType.MeetingEnd != (m.NotifiedChangeTypes & eMeetingEventChangeType.MeetingEnd) && Math.Abs(m.TimeToMeetingEnd.TotalMinutes) < meetingTimeEpsilon) // Meeting has ended
|
||||||
{
|
{
|
||||||
Debug.Console(2, "********************* MeetingEnd");
|
Debug.LogMessage(LogEventLevel.Verbose, "********************* MeetingEnd");
|
||||||
changeType = eMeetingEventChangeType.MeetingEnd;
|
changeType = eMeetingEventChangeType.MeetingEnd;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -214,7 +215,7 @@ namespace PepperDash.Essentials.Devices.Common.Codec
|
||||||
{
|
{
|
||||||
var joinable = StartTime.AddMinutes(-MinutesBeforeMeeting) <= DateTime.Now
|
var joinable = StartTime.AddMinutes(-MinutesBeforeMeeting) <= DateTime.Now
|
||||||
&& DateTime.Now <= EndTime.AddSeconds(-_joinableCooldownSeconds);
|
&& DateTime.Now <= EndTime.AddSeconds(-_joinableCooldownSeconds);
|
||||||
//Debug.Console(2, "Meeting Id: {0} joinable: {1}", Id, joinable);
|
//Debug.LogMessage(LogEventLevel.Verbose, "Meeting Id: {0} joinable: {1}", Id, joinable);
|
||||||
return joinable;
|
return joinable;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ using System.Linq;
|
||||||
using Crestron.SimplSharp.Reflection;
|
using Crestron.SimplSharp.Reflection;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core;
|
using PepperDash.Essentials.Core;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Devices.Common
|
namespace PepperDash.Essentials.Devices.Common
|
||||||
{
|
{
|
||||||
|
|
@ -29,7 +30,7 @@ namespace PepperDash.Essentials.Devices.Common
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Error, "Unable to load type: '{1}' DeviceFactory: {0}", e, type.Name);
|
Debug.LogMessage(LogEventLevel.Information, "Unable to load type: '{1}' DeviceFactory: {0}", e, type.Name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@ using PepperDash.Essentials.Core;
|
||||||
using PepperDash.Essentials.Core.Bridges;
|
using PepperDash.Essentials.Core.Bridges;
|
||||||
using PepperDash.Essentials.Core.Config;
|
using PepperDash.Essentials.Core.Config;
|
||||||
using PepperDash.Essentials.Core.Routing;
|
using PepperDash.Essentials.Core.Routing;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Devices.Common.Displays
|
namespace PepperDash.Essentials.Devices.Common.Displays
|
||||||
{
|
{
|
||||||
|
|
@ -39,8 +40,8 @@ namespace PepperDash.Essentials.Devices.Common.Displays
|
||||||
IrPort = new IrOutputPortController(key + "-ir", port, irDriverFilepath);
|
IrPort = new IrOutputPortController(key + "-ir", port, irDriverFilepath);
|
||||||
DeviceManager.AddDevice(IrPort);
|
DeviceManager.AddDevice(IrPort);
|
||||||
|
|
||||||
IsWarmingUpFeedback.OutputChange += (o, a) => Debug.Console(2, this, "Warming up={0}", _IsWarmingUp);
|
IsWarmingUpFeedback.OutputChange += (o, a) => Debug.LogMessage(LogEventLevel.Verbose, this, "Warming up={0}", _IsWarmingUp);
|
||||||
IsCoolingDownFeedback.OutputChange += (o, a) => Debug.Console(2, this, "Cooling down={0}", _IsCoolingDown);
|
IsCoolingDownFeedback.OutputChange += (o, a) => Debug.LogMessage(LogEventLevel.Verbose, this, "Cooling down={0}", _IsCoolingDown);
|
||||||
|
|
||||||
InputPorts.AddRange(new RoutingPortCollection<RoutingInputPort>
|
InputPorts.AddRange(new RoutingPortCollection<RoutingInputPort>
|
||||||
{
|
{
|
||||||
|
|
@ -166,7 +167,7 @@ namespace PepperDash.Essentials.Devices.Common.Displays
|
||||||
/// <param name="inputSelector">A delegate containing the input selector method to call</param>
|
/// <param name="inputSelector">A delegate containing the input selector method to call</param>
|
||||||
public override void ExecuteSwitch(object inputSelector)
|
public override void ExecuteSwitch(object inputSelector)
|
||||||
{
|
{
|
||||||
Debug.Console(2, this, "Switching to input '{0}'", (inputSelector as Action).ToString());
|
Debug.LogMessage(LogEventLevel.Verbose, this, "Switching to input '{0}'", (inputSelector as Action).ToString());
|
||||||
|
|
||||||
Action finishSwitch = () =>
|
Action finishSwitch = () =>
|
||||||
{
|
{
|
||||||
|
|
@ -208,7 +209,7 @@ namespace PepperDash.Essentials.Devices.Common.Displays
|
||||||
|
|
||||||
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
||||||
{
|
{
|
||||||
Debug.Console(1, "Factory Attempting to create new BasicIrDisplay Device");
|
Debug.LogMessage(LogEventLevel.Debug, "Factory Attempting to create new BasicIrDisplay Device");
|
||||||
var ir = IRPortHelper.GetIrPort(dc.Properties);
|
var ir = IRPortHelper.GetIrPort(dc.Properties);
|
||||||
if (ir != null)
|
if (ir != null)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@ using PepperDash.Essentials.Core.Bridges;
|
||||||
using Feedback = PepperDash.Essentials.Core.Feedback;
|
using Feedback = PepperDash.Essentials.Core.Feedback;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
using PepperDash.Essentials.Core.DeviceTypeInterfaces;
|
using PepperDash.Essentials.Core.DeviceTypeInterfaces;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Devices.Common.Displays
|
namespace PepperDash.Essentials.Devices.Common.Displays
|
||||||
{
|
{
|
||||||
|
|
@ -114,7 +115,7 @@ namespace PepperDash.Essentials.Devices.Common.Displays
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Debug.Console(0,this,"Please update config to use 'eiscapiadvanced' to get all join map features for this device.");
|
Debug.LogMessage(LogEventLevel.Information,this,"Please update config to use 'eiscapiadvanced' to get all join map features for this device.");
|
||||||
}
|
}
|
||||||
|
|
||||||
LinkDisplayToApi(displayDevice, trilist, joinMap);
|
LinkDisplayToApi(displayDevice, trilist, joinMap);
|
||||||
|
|
@ -122,8 +123,8 @@ namespace PepperDash.Essentials.Devices.Common.Displays
|
||||||
|
|
||||||
protected void LinkDisplayToApi(DisplayBase displayDevice, BasicTriList trilist, DisplayControllerJoinMap joinMap)
|
protected void LinkDisplayToApi(DisplayBase displayDevice, BasicTriList trilist, DisplayControllerJoinMap joinMap)
|
||||||
{
|
{
|
||||||
Debug.Console(1, "Linking to Trilist '{0}'", trilist.ID.ToString("X"));
|
Debug.LogMessage(LogEventLevel.Debug, "Linking to Trilist '{0}'", trilist.ID.ToString("X"));
|
||||||
Debug.Console(0, "Linking to Display: {0}", displayDevice.Name);
|
Debug.LogMessage(LogEventLevel.Information, "Linking to Display: {0}", displayDevice.Name);
|
||||||
|
|
||||||
trilist.StringInput[joinMap.Name.JoinNumber].StringValue = displayDevice.Name;
|
trilist.StringInput[joinMap.Name.JoinNumber].StringValue = displayDevice.Name;
|
||||||
|
|
||||||
|
|
@ -145,7 +146,7 @@ namespace PepperDash.Essentials.Devices.Common.Displays
|
||||||
{
|
{
|
||||||
trilist.SetBool(joinMap.IsTwoWayDisplay.JoinNumber, true);
|
trilist.SetBool(joinMap.IsTwoWayDisplay.JoinNumber, true);
|
||||||
|
|
||||||
twoWayDisplay.CurrentInputFeedback.OutputChange += (o, a) => Debug.Console(0, "CurrentInputFeedback_OutputChange {0}", a.StringValue);
|
twoWayDisplay.CurrentInputFeedback.OutputChange += (o, a) => Debug.LogMessage(LogEventLevel.Information, "CurrentInputFeedback_OutputChange {0}", a.StringValue);
|
||||||
|
|
||||||
|
|
||||||
inputNumberFeedback.LinkInputSig(trilist.UShortInput[joinMap.InputSelect.JoinNumber]);
|
inputNumberFeedback.LinkInputSig(trilist.UShortInput[joinMap.InputSelect.JoinNumber]);
|
||||||
|
|
@ -199,16 +200,16 @@ namespace PepperDash.Essentials.Devices.Common.Displays
|
||||||
var tempKey = inputKeys.ElementAt(i);
|
var tempKey = inputKeys.ElementAt(i);
|
||||||
trilist.SetSigTrueAction((ushort)(joinMap.InputSelectOffset.JoinNumber + i),
|
trilist.SetSigTrueAction((ushort)(joinMap.InputSelectOffset.JoinNumber + i),
|
||||||
() => displayDevice.ExecuteSwitch(displayDevice.InputPorts[tempKey].Selector));
|
() => displayDevice.ExecuteSwitch(displayDevice.InputPorts[tempKey].Selector));
|
||||||
Debug.Console(2, displayDevice, "Setting Input Select Action on Digital Join {0} to Input: {1}",
|
Debug.LogMessage(LogEventLevel.Verbose, displayDevice, "Setting Input Select Action on Digital Join {0} to Input: {1}",
|
||||||
joinMap.InputSelectOffset.JoinNumber + i, displayDevice.InputPorts[tempKey].Key.ToString());
|
joinMap.InputSelectOffset.JoinNumber + i, displayDevice.InputPorts[tempKey].Key.ToString());
|
||||||
trilist.StringInput[(ushort)(joinMap.InputNamesOffset.JoinNumber + i)].StringValue = displayDevice.InputPorts[i].Key.ToString();
|
trilist.StringInput[(ushort)(joinMap.InputNamesOffset.JoinNumber + i)].StringValue = displayDevice.InputPorts[i].Key.ToString();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
Debug.Console(0, displayDevice, Debug.ErrorLogLevel.Warning, "Device has {0} inputs. The Join Map allows up to {1} inputs. Discarding inputs {2} - {3} from bridge.",
|
Debug.LogMessage(LogEventLevel.Information, displayDevice, "Device has {0} inputs. The Join Map allows up to {1} inputs. Discarding inputs {2} - {3} from bridge.",
|
||||||
displayDevice.InputPorts.Count, joinMap.InputNamesOffset.JoinSpan, i + 1, displayDevice.InputPorts.Count);
|
displayDevice.InputPorts.Count, joinMap.InputNamesOffset.JoinSpan, i + 1, displayDevice.InputPorts.Count);
|
||||||
}
|
}
|
||||||
|
|
||||||
Debug.Console(2, displayDevice, "Setting Input Select Action on Analog Join {0}", joinMap.InputSelect);
|
Debug.LogMessage(LogEventLevel.Verbose, displayDevice, "Setting Input Select Action on Analog Join {0}", joinMap.InputSelect);
|
||||||
trilist.SetUShortSigAction(joinMap.InputSelect.JoinNumber, (a) =>
|
trilist.SetUShortSigAction(joinMap.InputSelect.JoinNumber, (a) =>
|
||||||
{
|
{
|
||||||
if (a == 0)
|
if (a == 0)
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@ using PepperDash.Essentials.Core;
|
||||||
using PepperDash.Essentials.Core.Bridges;
|
using PepperDash.Essentials.Core.Bridges;
|
||||||
using PepperDash.Essentials.Core.DeviceTypeInterfaces;
|
using PepperDash.Essentials.Core.DeviceTypeInterfaces;
|
||||||
using PepperDash.Essentials.Core.Routing;
|
using PepperDash.Essentials.Core.Routing;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Devices.Common.Displays
|
namespace PepperDash.Essentials.Devices.Common.Displays
|
||||||
{
|
{
|
||||||
|
|
@ -25,7 +26,7 @@ namespace PepperDash.Essentials.Devices.Common.Displays
|
||||||
{
|
{
|
||||||
return () =>
|
return () =>
|
||||||
{
|
{
|
||||||
Debug.Console(2, this, "*************************************************** Display Power is {0}", _PowerIsOn ? "on" : "off");
|
Debug.LogMessage(LogEventLevel.Verbose, this, "*************************************************** Display Power is {0}", _PowerIsOn ? "on" : "off");
|
||||||
return _PowerIsOn;
|
return _PowerIsOn;
|
||||||
};
|
};
|
||||||
} }
|
} }
|
||||||
|
|
@ -35,7 +36,7 @@ namespace PepperDash.Essentials.Devices.Common.Displays
|
||||||
{
|
{
|
||||||
return () =>
|
return () =>
|
||||||
{
|
{
|
||||||
Debug.Console(2, this, "*************************************************** {0}", _IsCoolingDown ? "Display is cooling down" : "Display has finished cooling down");
|
Debug.LogMessage(LogEventLevel.Verbose, this, "*************************************************** {0}", _IsCoolingDown ? "Display is cooling down" : "Display has finished cooling down");
|
||||||
return _IsCoolingDown;
|
return _IsCoolingDown;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
@ -46,7 +47,7 @@ namespace PepperDash.Essentials.Devices.Common.Displays
|
||||||
{
|
{
|
||||||
return () =>
|
return () =>
|
||||||
{
|
{
|
||||||
Debug.Console(2, this, "*************************************************** {0}", _IsWarmingUp ? "Display is warming up" : "Display has finished warming up");
|
Debug.LogMessage(LogEventLevel.Verbose, this, "*************************************************** {0}", _IsWarmingUp ? "Display is warming up" : "Display has finished warming up");
|
||||||
return _IsWarmingUp;
|
return _IsWarmingUp;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
@ -122,7 +123,7 @@ namespace PepperDash.Essentials.Devices.Common.Displays
|
||||||
// Fake cool-down cycle
|
// Fake cool-down cycle
|
||||||
CooldownTimer = new CTimer(o =>
|
CooldownTimer = new CTimer(o =>
|
||||||
{
|
{
|
||||||
Debug.Console(2, this, "Cooldown timer ending");
|
Debug.LogMessage(LogEventLevel.Verbose, this, "Cooldown timer ending");
|
||||||
_IsCoolingDown = false;
|
_IsCoolingDown = false;
|
||||||
IsCoolingDownFeedback.InvokeFireUpdate();
|
IsCoolingDownFeedback.InvokeFireUpdate();
|
||||||
_PowerIsOn = false;
|
_PowerIsOn = false;
|
||||||
|
|
@ -141,7 +142,7 @@ namespace PepperDash.Essentials.Devices.Common.Displays
|
||||||
|
|
||||||
public override void ExecuteSwitch(object selector)
|
public override void ExecuteSwitch(object selector)
|
||||||
{
|
{
|
||||||
Debug.Console(2, this, "ExecuteSwitch: {0}", selector);
|
Debug.LogMessage(LogEventLevel.Verbose, this, "ExecuteSwitch: {0}", selector);
|
||||||
|
|
||||||
if (!_PowerIsOn)
|
if (!_PowerIsOn)
|
||||||
{
|
{
|
||||||
|
|
@ -167,7 +168,7 @@ namespace PepperDash.Essentials.Devices.Common.Displays
|
||||||
|
|
||||||
if (currentInput != null)
|
if (currentInput != null)
|
||||||
{
|
{
|
||||||
Debug.Console(2, this, "SetInput: {0}", selector);
|
Debug.LogMessage(LogEventLevel.Verbose, this, "SetInput: {0}", selector);
|
||||||
currentInput.IsSelected = false;
|
currentInput.IsSelected = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -214,7 +215,7 @@ namespace PepperDash.Essentials.Devices.Common.Displays
|
||||||
{
|
{
|
||||||
//while (pressRelease)
|
//while (pressRelease)
|
||||||
//{
|
//{
|
||||||
Debug.Console(2, this, "Volume Down {0}", pressRelease);
|
Debug.LogMessage(LogEventLevel.Verbose, this, "Volume Down {0}", pressRelease);
|
||||||
if (pressRelease)
|
if (pressRelease)
|
||||||
{
|
{
|
||||||
var newLevel = _FakeVolumeLevel + VolumeInterval;
|
var newLevel = _FakeVolumeLevel + VolumeInterval;
|
||||||
|
|
@ -228,7 +229,7 @@ namespace PepperDash.Essentials.Devices.Common.Displays
|
||||||
{
|
{
|
||||||
//while (pressRelease)
|
//while (pressRelease)
|
||||||
//{
|
//{
|
||||||
Debug.Console(2, this, "Volume Up {0}", pressRelease);
|
Debug.LogMessage(LogEventLevel.Verbose, this, "Volume Up {0}", pressRelease);
|
||||||
if (pressRelease)
|
if (pressRelease)
|
||||||
{
|
{
|
||||||
var newLevel = _FakeVolumeLevel - VolumeInterval;
|
var newLevel = _FakeVolumeLevel - VolumeInterval;
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@
|
||||||
using PepperDash.Essentials.Core;
|
using PepperDash.Essentials.Core;
|
||||||
using PepperDash.Essentials.Core.Config;
|
using PepperDash.Essentials.Core.Config;
|
||||||
using PepperDash.Essentials.Core.Routing;
|
using PepperDash.Essentials.Core.Routing;
|
||||||
|
using Serilog.Events;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
|
@ -55,7 +56,7 @@ namespace PepperDash.Essentials.Devices.Common.Generic
|
||||||
|
|
||||||
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
||||||
{
|
{
|
||||||
Debug.Console(1, "Factory Attempting to create new Generic Source Device");
|
Debug.LogMessage(LogEventLevel.Debug, "Factory Attempting to create new Generic Source Device");
|
||||||
return new GenericSource(dc.Key, dc.Name);
|
return new GenericSource(dc.Key, dc.Name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@ using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core;
|
using PepperDash.Essentials.Core;
|
||||||
using PepperDash.Essentials.Core.Config;
|
using PepperDash.Essentials.Core.Config;
|
||||||
using PepperDash.Essentials.Core.Routing;
|
using PepperDash.Essentials.Core.Routing;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Devices.Common
|
namespace PepperDash.Essentials.Devices.Common
|
||||||
{
|
{
|
||||||
|
|
@ -50,7 +51,7 @@ namespace PepperDash.Essentials.Devices.Common
|
||||||
|
|
||||||
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
||||||
{
|
{
|
||||||
Debug.Console(1, "Factory Attempting to create new Generic Source Device");
|
Debug.LogMessage(LogEventLevel.Debug, "Factory Attempting to create new Generic Source Device");
|
||||||
return new GenericSource(dc.Key, dc.Name);
|
return new GenericSource(dc.Key, dc.Name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,7 @@ using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core;
|
using PepperDash.Essentials.Core;
|
||||||
using PepperDash.Essentials.Core.Bridges;
|
using PepperDash.Essentials.Core.Bridges;
|
||||||
using PepperDash.Essentials.Core.Lighting;
|
using PepperDash.Essentials.Core.Lighting;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Devices.Common.Lighting
|
namespace PepperDash.Essentials.Devices.Common.Lighting
|
||||||
{
|
{
|
||||||
|
|
@ -43,7 +44,7 @@ namespace PepperDash.Essentials.Devices.Common.Lighting
|
||||||
|
|
||||||
public void SimulateSceneSelect(string sceneName)
|
public void SimulateSceneSelect(string sceneName)
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "Simulating selection of scene '{0}'", sceneName);
|
Debug.LogMessage(LogEventLevel.Debug, this, "Simulating selection of scene '{0}'", sceneName);
|
||||||
|
|
||||||
var scene = LightingScenes.FirstOrDefault(s => s.Name.Equals(sceneName));
|
var scene = LightingScenes.FirstOrDefault(s => s.Name.Equals(sceneName));
|
||||||
|
|
||||||
|
|
@ -91,7 +92,7 @@ namespace PepperDash.Essentials.Devices.Common.Lighting
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Debug.Console(0, this, "Please update config to use 'eiscapiadvanced' to get all join map features for this device.");
|
Debug.LogMessage(LogEventLevel.Information, this, "Please update config to use 'eiscapiadvanced' to get all join map features for this device.");
|
||||||
}
|
}
|
||||||
|
|
||||||
return LinkLightingToApi(lightingDevice, trilist, joinMap);
|
return LinkLightingToApi(lightingDevice, trilist, joinMap);
|
||||||
|
|
@ -99,9 +100,9 @@ namespace PepperDash.Essentials.Devices.Common.Lighting
|
||||||
|
|
||||||
protected GenericLightingJoinMap LinkLightingToApi(LightingBase lightingDevice, BasicTriList trilist, GenericLightingJoinMap joinMap)
|
protected GenericLightingJoinMap LinkLightingToApi(LightingBase lightingDevice, BasicTriList trilist, GenericLightingJoinMap joinMap)
|
||||||
{
|
{
|
||||||
Debug.Console(1, "Linking to Trilist '{0}'", trilist.ID.ToString("X"));
|
Debug.LogMessage(LogEventLevel.Debug, "Linking to Trilist '{0}'", trilist.ID.ToString("X"));
|
||||||
|
|
||||||
Debug.Console(0, "Linking to Lighting Type {0}", lightingDevice.GetType().Name.ToString());
|
Debug.LogMessage(LogEventLevel.Information, "Linking to Lighting Type {0}", lightingDevice.GetType().Name.ToString());
|
||||||
|
|
||||||
// GenericLighitng Actions & FeedBack
|
// GenericLighitng Actions & FeedBack
|
||||||
trilist.SetUShortSigAction(joinMap.SelectScene.JoinNumber, u => lightingDevice.SelectScene(lightingDevice.LightingScenes[u]));
|
trilist.SetUShortSigAction(joinMap.SelectScene.JoinNumber, u => lightingDevice.SelectScene(lightingDevice.LightingScenes[u]));
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,6 @@
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Crestron.SimplSharp.SDK.ProgramLibrary" Version="2.20.42" />
|
<PackageReference Include="Crestron.SimplSharp.SDK.ProgramLibrary" Version="2.20.42" />
|
||||||
<PackageReference Include="PepperDashCore" Version="2.0.0-alpha-393" />
|
<PackageReference Include="PepperDashCore" Version="2.0.0-beta-400" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
|
|
@ -15,6 +15,7 @@ using PepperDash.Essentials.Core.Config;
|
||||||
using PepperDash.Essentials.Core.Presets;
|
using PepperDash.Essentials.Core.Presets;
|
||||||
using PepperDash.Essentials.Core.Routing;
|
using PepperDash.Essentials.Core.Routing;
|
||||||
using PepperDash.Essentials.Core.DeviceTypeInterfaces;
|
using PepperDash.Essentials.Core.DeviceTypeInterfaces;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Devices.Common
|
namespace PepperDash.Essentials.Devices.Common
|
||||||
{
|
{
|
||||||
|
|
@ -386,11 +387,11 @@ namespace PepperDash.Essentials.Devices.Common
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Debug.Console(0, this, "Please update config to use 'eiscapiadvanced' to get all join map features for this device.");
|
Debug.LogMessage(LogEventLevel.Information, this, "Please update config to use 'eiscapiadvanced' to get all join map features for this device.");
|
||||||
}
|
}
|
||||||
|
|
||||||
Debug.Console(1, "Linking to Trilist '{0}'", trilist.ID.ToString("X"));
|
Debug.LogMessage(LogEventLevel.Debug, "Linking to Trilist '{0}'", trilist.ID.ToString("X"));
|
||||||
Debug.Console(0, "Linking to SetTopBox: {0}", Name);
|
Debug.LogMessage(LogEventLevel.Information, "Linking to SetTopBox: {0}", Name);
|
||||||
|
|
||||||
trilist.OnlineStatusChange += new OnlineStatusChangeEventHandler((o, a) =>
|
trilist.OnlineStatusChange += new OnlineStatusChangeEventHandler((o, a) =>
|
||||||
{
|
{
|
||||||
|
|
@ -504,7 +505,7 @@ namespace PepperDash.Essentials.Devices.Common
|
||||||
|
|
||||||
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
||||||
{
|
{
|
||||||
Debug.Console(1, "Factory Attempting to create new SetTopBox Device");
|
Debug.LogMessage(LogEventLevel.Debug, "Factory Attempting to create new SetTopBox Device");
|
||||||
var irCont = IRPortHelper.GetIrOutputPortController(dc);
|
var irCont = IRPortHelper.GetIrOutputPortController(dc);
|
||||||
var config = dc.Properties.ToObject<SetTopBoxPropertiesConfig>();
|
var config = dc.Properties.ToObject<SetTopBoxPropertiesConfig>();
|
||||||
var stb = new IRSetTopBoxBase(dc.Key, dc.Name, irCont, config);
|
var stb = new IRSetTopBoxBase(dc.Key, dc.Name, irCont, config);
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ using PepperDash.Essentials.Core;
|
||||||
using PepperDash.Essentials.Core.Config;
|
using PepperDash.Essentials.Core.Config;
|
||||||
using PepperDash.Essentials.Core.CrestronIO;
|
using PepperDash.Essentials.Core.CrestronIO;
|
||||||
using PepperDash.Essentials.Core.Shades;
|
using PepperDash.Essentials.Core.Shades;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Devices.Common.Shades
|
namespace PepperDash.Essentials.Devices.Common.Shades
|
||||||
{
|
{
|
||||||
|
|
@ -47,21 +48,21 @@ namespace PepperDash.Essentials.Devices.Common.Shades
|
||||||
|
|
||||||
public override void Open()
|
public override void Open()
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "Opening Shade: '{0}'", this.Name);
|
Debug.LogMessage(LogEventLevel.Debug, this, "Opening Shade: '{0}'", this.Name);
|
||||||
|
|
||||||
PulseOutput(OpenRelay, RelayPulseTime);
|
PulseOutput(OpenRelay, RelayPulseTime);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void Stop()
|
public override void Stop()
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "Stopping Shade: '{0}'", this.Name);
|
Debug.LogMessage(LogEventLevel.Debug, this, "Stopping Shade: '{0}'", this.Name);
|
||||||
|
|
||||||
PulseOutput(StopOrPresetRelay, RelayPulseTime);
|
PulseOutput(StopOrPresetRelay, RelayPulseTime);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void Close()
|
public override void Close()
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "Closing Shade: '{0}'", this.Name);
|
Debug.LogMessage(LogEventLevel.Debug, this, "Closing Shade: '{0}'", this.Name);
|
||||||
|
|
||||||
PulseOutput(CloseRelay, RelayPulseTime);
|
PulseOutput(CloseRelay, RelayPulseTime);
|
||||||
}
|
}
|
||||||
|
|
@ -87,7 +88,7 @@ namespace PepperDash.Essentials.Devices.Common.Shades
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "Error: Unable to get relay on port '{0}' from device with key '{1}'", relayConfig.PortNumber, relayConfig.PortDeviceKey);
|
Debug.LogMessage(LogEventLevel.Debug, this, "Error: Unable to get relay on port '{0}' from device with key '{1}'", relayConfig.PortNumber, relayConfig.PortDeviceKey);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -117,7 +118,7 @@ namespace PepperDash.Essentials.Devices.Common.Shades
|
||||||
|
|
||||||
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
||||||
{
|
{
|
||||||
Debug.Console(1, "Factory Attempting to create new Generic Comm Device");
|
Debug.LogMessage(LogEventLevel.Debug, "Factory Attempting to create new Generic Comm Device");
|
||||||
var props = Newtonsoft.Json.JsonConvert.DeserializeObject<RelayControlledShadeConfigProperties>(dc.Properties.ToString());
|
var props = Newtonsoft.Json.JsonConvert.DeserializeObject<RelayControlledShadeConfigProperties>(dc.Properties.ToString());
|
||||||
|
|
||||||
return new RelayControlledShade(dc.Key, dc.Name, props);
|
return new RelayControlledShade(dc.Key, dc.Name, props);
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core;
|
using PepperDash.Essentials.Core;
|
||||||
using PepperDash.Essentials.Core.Config;
|
using PepperDash.Essentials.Core.Config;
|
||||||
using PepperDash.Essentials.Core.Shades;
|
using PepperDash.Essentials.Core.Shades;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Devices.Common.Shades
|
namespace PepperDash.Essentials.Devices.Common.Shades
|
||||||
{
|
{
|
||||||
|
|
@ -63,7 +64,7 @@ namespace PepperDash.Essentials.Devices.Common.Shades
|
||||||
|
|
||||||
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
||||||
{
|
{
|
||||||
Debug.Console(1, "Factory Attempting to create new ShadeController Device");
|
Debug.LogMessage(LogEventLevel.Debug, "Factory Attempting to create new ShadeController Device");
|
||||||
var props = Newtonsoft.Json.JsonConvert.DeserializeObject<ShadeControllerConfigProperties>(dc.Properties.ToString());
|
var props = Newtonsoft.Json.JsonConvert.DeserializeObject<ShadeControllerConfigProperties>(dc.Properties.ToString());
|
||||||
|
|
||||||
return new ShadeController(dc.Key, dc.Name, props);
|
return new ShadeController(dc.Key, dc.Name, props);
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ using PepperDash.Essentials.Core;
|
||||||
using PepperDash.Essentials.Core.Config;
|
using PepperDash.Essentials.Core.Config;
|
||||||
using PepperDash.Essentials.Core.Routing;
|
using PepperDash.Essentials.Core.Routing;
|
||||||
using PepperDash.Essentials.Devices.Common.Sources;
|
using PepperDash.Essentials.Devices.Common.Sources;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Devices.Common.SoftCodec
|
namespace PepperDash.Essentials.Devices.Common.SoftCodec
|
||||||
|
|
@ -40,19 +41,19 @@ namespace PepperDash.Essentials.Devices.Common.SoftCodec
|
||||||
{
|
{
|
||||||
CrestronInvoke.BeginInvoke(o =>
|
CrestronInvoke.BeginInvoke(o =>
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "Run route action '{0}' on SourceList: {1}", routeKey, sourceListKey);
|
Debug.LogMessage(LogEventLevel.Debug, this, "Run route action '{0}' on SourceList: {1}", routeKey, sourceListKey);
|
||||||
|
|
||||||
var dict = ConfigReader.ConfigObject.GetSourceListForKey(sourceListKey);
|
var dict = ConfigReader.ConfigObject.GetSourceListForKey(sourceListKey);
|
||||||
if (dict == null)
|
if (dict == null)
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "WARNING: Config source list '{0}' not found", sourceListKey);
|
Debug.LogMessage(LogEventLevel.Debug, this, "WARNING: Config source list '{0}' not found", sourceListKey);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Try to get the list item by it's string key
|
// Try to get the list item by it's string key
|
||||||
if (!dict.ContainsKey(routeKey))
|
if (!dict.ContainsKey(routeKey))
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "WARNING: No item '{0}' found on config list '{1}'",
|
Debug.LogMessage(LogEventLevel.Debug, this, "WARNING: No item '{0}' found on config list '{1}'",
|
||||||
routeKey, sourceListKey);
|
routeKey, sourceListKey);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -97,7 +98,7 @@ namespace PepperDash.Essentials.Devices.Common.SoftCodec
|
||||||
|
|
||||||
if (dest == null)
|
if (dest == null)
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "Cannot route, unknown destination '{0}'", route.DestinationKey);
|
Debug.LogMessage(LogEventLevel.Debug, this, "Cannot route, unknown destination '{0}'", route.DestinationKey);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -112,7 +113,7 @@ namespace PepperDash.Essentials.Devices.Common.SoftCodec
|
||||||
var source = DeviceManager.GetDeviceForKey(route.SourceKey) as IRoutingOutputs;
|
var source = DeviceManager.GetDeviceForKey(route.SourceKey) as IRoutingOutputs;
|
||||||
if (source == null)
|
if (source == null)
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "Cannot route unknown source '{0}' to {1}", route.SourceKey, route.DestinationKey);
|
Debug.LogMessage(LogEventLevel.Debug, this, "Cannot route unknown source '{0}' to {1}", route.SourceKey, route.DestinationKey);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
dest.ReleaseAndMakeRoute(source, route.Type);
|
dest.ReleaseAndMakeRoute(source, route.Type);
|
||||||
|
|
@ -169,7 +170,7 @@ namespace PepperDash.Essentials.Devices.Common.SoftCodec
|
||||||
|
|
||||||
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
||||||
{
|
{
|
||||||
Debug.Console(1, "Factory Attempting to create new BlueJeansPc Device");
|
Debug.LogMessage(LogEventLevel.Debug, "Factory Attempting to create new BlueJeansPc Device");
|
||||||
return new SoftCodec.BlueJeansPc(dc.Key, dc.Name);
|
return new SoftCodec.BlueJeansPc(dc.Key, dc.Name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core;
|
using PepperDash.Essentials.Core;
|
||||||
using PepperDash.Essentials.Core.Config;
|
using PepperDash.Essentials.Core.Config;
|
||||||
|
using Serilog.Events;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
|
@ -73,7 +74,7 @@ namespace PepperDash.Essentials.Devices.Common.SoftCodec
|
||||||
|
|
||||||
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
||||||
{
|
{
|
||||||
Debug.Console(1, "Attempting to create new Generic SoftCodec Device");
|
Debug.LogMessage(LogEventLevel.Debug, "Attempting to create new Generic SoftCodec Device");
|
||||||
|
|
||||||
var props = dc.Properties.ToObject<GenericSoftCodecProperties>();
|
var props = dc.Properties.ToObject<GenericSoftCodecProperties>();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core;
|
using PepperDash.Essentials.Core;
|
||||||
using PepperDash.Essentials.Core.Config;
|
using PepperDash.Essentials.Core.Config;
|
||||||
using PepperDash.Essentials.Core.Routing;
|
using PepperDash.Essentials.Core.Routing;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Devices.Common.Sources
|
namespace PepperDash.Essentials.Devices.Common.Sources
|
||||||
{
|
{
|
||||||
|
|
@ -68,7 +69,7 @@ namespace PepperDash.Essentials.Devices.Common.Sources
|
||||||
|
|
||||||
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
||||||
{
|
{
|
||||||
Debug.Console(1, "Factory Attempting to create new InRoomPc Device");
|
Debug.LogMessage(LogEventLevel.Debug, "Factory Attempting to create new InRoomPc Device");
|
||||||
return new InRoomPc(dc.Key, dc.Name);
|
return new InRoomPc(dc.Key, dc.Name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue