feat: change to use Debug.LogMessage everywhere

This commit is contained in:
Andrew Welker 2024-03-21 13:44:08 -05:00
parent 4d0e3b1943
commit ee4ccb0d1a
110 changed files with 1033 additions and 988 deletions

View file

@ -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;
} }

View file

@ -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;
} }

View file

@ -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);
} }

View file

@ -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))

View file

@ -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>

View file

@ -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());

View file

@ -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);
} }
} }

View file

@ -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;
} }

View file

@ -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());
} }
} }

View file

@ -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);
} }
} }

View file

@ -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
{ {

View file

@ -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;
} }

View file

@ -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;
} }

View file

@ -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());

View file

@ -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());

View file

@ -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());

View file

@ -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());

View file

@ -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());

View file

@ -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;
} }
} }

View file

@ -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);
} }
} }
} }

View file

@ -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;
} }
} }

View file

@ -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)

View file

@ -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[];

View file

@ -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);

View file

@ -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);
}; };
} }

View file

@ -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:");
} }
} }
} }

View file

@ -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);
} }
} }
} }

View file

@ -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);
} }
} }

View file

@ -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);
} }
} }

View file

@ -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);
} }
} }

View file

@ -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)
{ {

View file

@ -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)

View file

@ -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);
} }
} }

View file

@ -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;
} }
} }

View file

@ -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;
} }
} }

View file

@ -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)
{ {

View file

@ -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;
} }
} }

View file

@ -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);
} }
} }
} }

View file

@ -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;
} }

View file

@ -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;
} }

View file

@ -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;
/* /*

View file

@ -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))
{ {

View file

@ -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;
} }

View file

@ -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();
} }

View file

@ -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]));

View file

@ -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);

View file

@ -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");
} }
} }
} }

View file

@ -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;

View file

@ -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" />

View file

@ -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();

View file

@ -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;
} }

View file

@ -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;
} }

View file

@ -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();

View file

@ -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;
} }

View file

@ -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()

View file

@ -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);
} }
} }

View file

@ -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>();

View file

@ -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)
{ {

View file

@ -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")

View file

@ -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();
} }

View file

@ -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);
} }
} }
} }

View file

@ -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;
//} //}

View file

@ -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()

View file

@ -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;
} }

View file

@ -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;
} }

View file

@ -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

View file

@ -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;
} }

View file

@ -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);
} }
} }

View file

@ -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));
// } // }
// } // }

View file

@ -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);
} }

View file

@ -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);

View file

@ -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);
} }

View file

@ -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?");
} }
} }

View file

@ -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

View file

@ -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 };
} }

View file

@ -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);

View file

@ -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);
} }

View file

@ -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));
} }
} }
} }

View file

@ -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;
} }
} }

View file

@ -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");
} }
} }

View file

@ -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";

View file

@ -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);

View file

@ -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);
} }

View file

@ -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(

View file

@ -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());

View file

@ -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;
} }
} }

View file

@ -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);
} }
} }
} }

View file

@ -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)
{ {

View file

@ -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)

View file

@ -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;

View file

@ -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);
} }
} }

View file

@ -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);
} }
} }

View file

@ -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]));

View file

@ -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>

View file

@ -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);

View file

@ -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);

View file

@ -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);

View file

@ -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);
} }
} }

View file

@ -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>();

View file

@ -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