diff --git a/src/PepperDash.Essentials.Core/Comm and IR/ComPortController.cs b/src/PepperDash.Essentials.Core/Comm and IR/ComPortController.cs
index 6abed156..ec679fae 100644
--- a/src/PepperDash.Essentials.Core/Comm and IR/ComPortController.cs
+++ b/src/PepperDash.Essentials.Core/Comm and IR/ComPortController.cs
@@ -91,13 +91,17 @@ namespace PepperDash.Essentials.Core
return;
}
- var result = Port.Register();
- if (result != eDeviceRegistrationUnRegistrationResponse.Success)
+
+ if (Port.Parent is CrestronControlSystem || Port.Parent is CenIoCom102)
{
- this.LogError($"Cannot register {Key} using {Port.Parent.GetType().Name}-comport-{Port.ID} (result == {result})");
- return;
+ var result = Port.Register();
+ if (result != eDeviceRegistrationUnRegistrationResponse.Success)
+ {
+ this.LogError($"Cannot register {Key} using {Port.Parent.GetType().Name}-comport-{Port.ID} (result == {result})");
+ return;
+ }
+ this.LogInformation($"Successfully registered {Key} using {Port.Parent.GetType().Name}-comport-{Port.ID} (result == {result})");
}
- this.LogInformation($"Successfully registered {Key} using {Port.Parent.GetType().Name}-comport-{Port.ID} (result == {result})");
var specResult = Port.SetComPortSpec(Spec);
if (specResult != 0)
@@ -107,38 +111,6 @@ namespace PepperDash.Essentials.Core
}
this.LogInformation($"Successfully set comspec for {Key} using {Port.Parent.GetType().Name}-comport-{Port.ID} (result == {specResult})");
-
- // TODO [ ] - Remove debug logging once verified working
- // if (Port.Parent is CenIoCom102)
- // {
- // Port.PropertyChanged += (s, e) =>
- // {
- // this.LogInformation($@"RegisterAndConfigureComPort: PropertyChanged Fired >>
- // comPort-'{Port.ID}',
- // Property Changed-'{e.Property}',
- // Value Changed-'{e.Value}',
- // deviceName-'{Port.DeviceName}',
- // parentDevice-'{Port.ParentDevice}',
- // parent-`{Port.Parent}`,
- // online-`{Port.IsOnline}`,
- // present-`{Port.Present}`,
- // supportedBaudRates-'{Port.SupportedBaudRates}'");
- // };
- // Port.ExtendedInformationChanged += (s, e) =>
- // {
-
- // this.LogInformation($@"RegisterAndConfigureComPort: ExtendedInformationChanged Fired >>
- // comPort-'{Port.ID}',
- // {e.Protocol},
- // {e.BaudRate},
- // {e.Parity},
- // {e.DataBits},
- // {e.StopBits},
- // HW Handshake-'{e.HardwareHandshakeSetting}',
- // SW Handshake-'{e.SoftwareHandshakeSetting}'");
- // };
- // }
-
Port.SerialDataReceived += Port_SerialDataReceived;
}
diff --git a/src/PepperDash.Essentials.Core/Config/Essentials/EssentialsConfig.cs b/src/PepperDash.Essentials.Core/Config/Essentials/EssentialsConfig.cs
index 7108762b..b08f458c 100644
--- a/src/PepperDash.Essentials.Core/Config/Essentials/EssentialsConfig.cs
+++ b/src/PepperDash.Essentials.Core/Config/Essentials/EssentialsConfig.cs
@@ -11,11 +11,11 @@ using PepperDash.Core;
namespace PepperDash.Essentials.Core.Config
{
- ///
- /// Loads the ConfigObject from the file
- ///
- public class EssentialsConfig : BasicConfig
- {
+ ///
+ /// Loads the ConfigObject from the file
+ ///
+ public class EssentialsConfig : BasicConfig
+ {
///
/// Gets or sets the SystemUrl
///
@@ -32,21 +32,22 @@ namespace PepperDash.Essentials.Core.Config
/// Gets the SystemUuid extracted from the SystemUrl
///
[JsonProperty("systemUuid")]
- public string SystemUuid
+ public string SystemUuid
{
get
{
- if (string.IsNullOrEmpty(SystemUrl))
- return "missing url";
+ if (string.IsNullOrEmpty(SystemUrl))
+ return "missing url";
- if (SystemUrl.Contains("#"))
- {
- var result = Regex.Match(SystemUrl, @"https?:\/\/.*\/systems\/(.*)\/#.*");
- string uuid = result.Groups[1].Value;
- return uuid;
- } else
- {
- var result = Regex.Match(SystemUrl, @"https?:\/\/.*\/systems\/(.*)\/.*");
+ if (SystemUrl.Contains("#"))
+ {
+ var result = Regex.Match(SystemUrl, @"https?:\/\/.*\/systems\/(.*)\/#.*");
+ string uuid = result.Groups[1].Value;
+ return uuid;
+ }
+ else
+ {
+ var result = Regex.Match(SystemUrl, @"https?:\/\/.*\/systems\/detail\/(.*)\/.*");
string uuid = result.Groups[1].Value;
return uuid;
}
@@ -57,21 +58,22 @@ namespace PepperDash.Essentials.Core.Config
/// Gets the TemplateUuid extracted from the TemplateUrl
///
[JsonProperty("templateUuid")]
- public string TemplateUuid
+ public string TemplateUuid
{
get
{
- if (string.IsNullOrEmpty(TemplateUrl))
- return "missing template url";
+ if (string.IsNullOrEmpty(TemplateUrl))
+ return "missing template url";
- if (TemplateUrl.Contains("#"))
- {
- var result = Regex.Match(TemplateUrl, @"https?:\/\/.*\/templates\/(.*)\/#.*");
- string uuid = result.Groups[1].Value;
- return uuid;
- } else
- {
- var result = Regex.Match(TemplateUrl, @"https?:\/\/.*\/system-templates\/(.*)\/system-template-versions\/(.*)\/.*");
+ if (TemplateUrl.Contains("#"))
+ {
+ var result = Regex.Match(TemplateUrl, @"https?:\/\/.*\/templates\/(.*)\/#.*");
+ string uuid = result.Groups[1].Value;
+ return uuid;
+ }
+ else
+ {
+ var result = Regex.Match(TemplateUrl, @"https?:\/\/.*\/system-templates\/detail\/(.*)\/system-template-versions\/detail\/(.*)\/.*");
string uuid = result.Groups[2].Value;
return uuid;
}
@@ -97,7 +99,7 @@ namespace PepperDash.Essentials.Core.Config
{
Rooms = new List();
}
- }
+ }
///
/// Represents version data for Essentials and its packages
@@ -147,7 +149,7 @@ namespace PepperDash.Essentials.Core.Config
/// Represents a SystemTemplateConfigs
///
public class SystemTemplateConfigs
- {
+ {
///
/// Gets or sets the System
///
@@ -157,5 +159,5 @@ namespace PepperDash.Essentials.Core.Config
/// Gets or sets the Template
///
public EssentialsConfig Template { get; set; }
- }
+ }
}
\ No newline at end of file
diff --git a/src/PepperDash.Essentials.Core/Routing/RoutingFeedbackManager.cs b/src/PepperDash.Essentials.Core/Routing/RoutingFeedbackManager.cs
index 9afdb33d..c51cec58 100644
--- a/src/PepperDash.Essentials.Core/Routing/RoutingFeedbackManager.cs
+++ b/src/PepperDash.Essentials.Core/Routing/RoutingFeedbackManager.cs
@@ -98,7 +98,7 @@ namespace PepperDash.Essentials.Core.Routing
/// The currently selected input port on the destination device.
private void UpdateDestination(IRoutingSinkWithSwitching destination, RoutingInputPort inputPort)
{
- // Debug.LogMessage(Serilog.Events.LogEventLevel.Verbose, "Updating destination {destination} with inputPort {inputPort}", this,destination?.Key, inputPort?.Key);
+ Debug.LogMessage(Serilog.Events.LogEventLevel.Verbose, "Updating destination {destination} with inputPort {inputPort}", this, destination?.Key, inputPort?.Key);
if(inputPort == null)
{
diff --git a/src/PepperDash.Essentials.Devices.Common/Generic/GenericSink.cs b/src/PepperDash.Essentials.Devices.Common/Generic/GenericSink.cs
index a44eb012..03c58b2c 100644
--- a/src/PepperDash.Essentials.Devices.Common/Generic/GenericSink.cs
+++ b/src/PepperDash.Essentials.Devices.Common/Generic/GenericSink.cs
@@ -9,7 +9,7 @@ namespace PepperDash.Essentials.Devices.Common.Generic
///
/// Represents a GenericSink
///
- public class GenericSink : EssentialsDevice, IRoutingSinkWithInputPort
+ public class GenericSink : EssentialsDevice, IRoutingSinkWithSwitchingWithInputPort
{
///
/// Initializes a new instance of the GenericSink class
@@ -20,7 +20,7 @@ namespace PepperDash.Essentials.Devices.Common.Generic
{
InputPorts = new RoutingPortCollection();
- var inputPort = new RoutingInputPort(RoutingPortNames.AnyVideoIn, eRoutingSignalType.AudioVideo, eRoutingPortConnectionType.Hdmi, null, this);
+ var inputPort = new RoutingInputPort(RoutingPortNames.AnyVideoIn, eRoutingSignalType.AudioVideo | eRoutingSignalType.SecondaryAudio, eRoutingPortConnectionType.Hdmi, null, this);
InputPorts.Add(inputPort);
}
@@ -66,6 +66,15 @@ namespace PepperDash.Essentials.Devices.Common.Generic
/// Event fired when the current source changes
///
public event SourceInfoChangeHandler CurrentSourceChange;
+
+ ///
+ public event InputChangedEventHandler InputChanged;
+
+ ///
+ public void ExecuteSwitch(object inputSelector)
+ {
+ throw new System.NotImplementedException();
+ }
}
///
diff --git a/src/PepperDash.Essentials.MobileControl.Messengers/Messengers/MessengerBase.cs b/src/PepperDash.Essentials.MobileControl.Messengers/Messengers/MessengerBase.cs
index 6fc80adc..3031f4ba 100644
--- a/src/PepperDash.Essentials.MobileControl.Messengers/Messengers/MessengerBase.cs
+++ b/src/PepperDash.Essentials.MobileControl.Messengers/Messengers/MessengerBase.cs
@@ -194,7 +194,6 @@ namespace PepperDash.Essentials.AppServer.Messengers
{
if (!enableMessengerSubscriptions)
{
- this.LogWarning("Messenger subscriptions not enabled");
return;
}
@@ -218,7 +217,6 @@ namespace PepperDash.Essentials.AppServer.Messengers
{
if (!enableMessengerSubscriptions)
{
- this.LogWarning("Messenger subscriptions not enabled");
return;
}
@@ -238,7 +236,7 @@ namespace PepperDash.Essentials.AppServer.Messengers
return;
}
- this.LogInformation("Client with ID {clientId} unsubscribed", clientId);
+ this.LogDebug("Client with ID {clientId} unsubscribed", clientId);
}
///
@@ -272,7 +270,8 @@ namespace PepperDash.Essentials.AppServer.Messengers
}
catch (Exception ex)
{
- this.LogError(ex, "Exception posting status message for {messagePath} to {clientId}", MessagePath, clientId ?? "all clients");
+ this.LogError("Exception posting status message for {messagePath} to {clientId}: {message}", MessagePath, clientId ?? "all clients", ex.Message);
+ this.LogDebug(ex, "Stack trace: ");
}
}
@@ -301,7 +300,8 @@ namespace PepperDash.Essentials.AppServer.Messengers
}
catch (Exception ex)
{
- this.LogError(ex, "Exception posting status message for {type} to {clientId}", type, clientId ?? "all clients");
+ this.LogError("Exception posting status message for {type} to {clientId}: {message}", type, clientId ?? "all clients", ex.Message);
+ this.LogDebug(ex, "Stack trace: ");
}
}
diff --git a/src/PepperDash.Essentials.MobileControl/MobileControlSystemController.cs b/src/PepperDash.Essentials.MobileControl/MobileControlSystemController.cs
index 2fe20391..45ff814a 100644
--- a/src/PepperDash.Essentials.MobileControl/MobileControlSystemController.cs
+++ b/src/PepperDash.Essentials.MobileControl/MobileControlSystemController.cs
@@ -1312,6 +1312,11 @@ namespace PepperDash.Essentials
///
public override void Initialize()
{
+ if (!Config.EnableMessengerSubscriptions)
+ {
+ this.LogWarning("Messenger subscriptions disabled. add \"enableMessengerSubscriptions\": true to config for {key} to enable.", Key);
+ }
+
foreach (var messenger in _messengers)
{
try