diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Crestron IO/Inputs/CenIoDigIn104Controller.cs b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Crestron IO/Inputs/CenIoDigIn104Controller.cs
index 5112f3aa..bdbcc2e9 100644
--- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Crestron IO/Inputs/CenIoDigIn104Controller.cs
+++ b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Crestron IO/Inputs/CenIoDigIn104Controller.cs
@@ -16,7 +16,7 @@ namespace PepperDash.Essentials.Core
/// Wrapper class for CEN-IO-DIGIN-104 digital input module
///
[Description("Wrapper class for the CEN-IO-DIGIN-104 diginal input module")]
- public class CenIoDigIn104Controller : EssentialsDevice, IDigitalInputPorts
+ public class CenIoDigIn104Controller : CrestronGenericBaseDevice, IDigitalInputPorts
{
public CenIoDi104 Di104 { get; private set; }
@@ -52,10 +52,17 @@ namespace PepperDash.Essentials.Core
{
Debug.Console(1, "Factory Attempting to create new CEN-DIGIN-104 Device");
- var control = CommFactory.GetControlPropertiesConfig(dc);
- var ipid = control.IpIdInt;
-
- return new CenIoDigIn104Controller(dc.Key, dc.Name, new Crestron.SimplSharpPro.GeneralIO.CenIoDi104(ipid, Global.ControlSystem));
+ var control = CommFactory.GetControlPropertiesConfig(dc);
+ if (control == null)
+ {
+ Debug.Console(1, "Factory failed to create a new CEN-DIGIN-104 Device, control properties not found");
+ return null;
+ }
+ var ipid = control.IpIdInt;
+ if (ipid != 0) return new CenIoDigIn104Controller(dc.Key, dc.Name, new CenIoDi104(ipid, Global.ControlSystem));
+
+ Debug.Console(1, "Factory failed to create a new CEN-IO-IR-104 Device using IP-ID-{0}", ipid);
+ return null;
}
}
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Crestron IO/Ir/CenIoIr104Controller.cs b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Crestron IO/Ir/CenIoIr104Controller.cs
index c516c03e..3fa45dd7 100644
--- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Crestron IO/Ir/CenIoIr104Controller.cs
+++ b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Crestron IO/Ir/CenIoIr104Controller.cs
@@ -1,93 +1,93 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using Crestron.SimplSharp;
-using Crestron.SimplSharpPro;
-using Crestron.SimplSharpPro.GeneralIO;
-using PepperDash.Essentials.Core.Config;
-
-
-using PepperDash.Core;
-
-namespace PepperDash.Essentials.Core
-{
- ///
- /// Wrapper class for CEN-IO-IR-104 module
- ///
- [Description("Wrapper class for the CEN-IO-IR-104 module")]
- public class CenIoIr104Controller : EssentialsDevice, IIROutputPorts
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using Crestron.SimplSharp;
+using Crestron.SimplSharpPro;
+using Crestron.SimplSharpPro.GeneralIO;
+using PepperDash.Essentials.Core.Config;
+
+
+using PepperDash.Core;
+
+namespace PepperDash.Essentials.Core
+{
+ ///
+ /// Wrapper class for CEN-IO-IR-104 module
+ ///
+ [Description("Wrapper class for the CEN-IO-IR-104 module")]
+ public class CenIoIr104Controller : CrestronGenericBaseDevice, IIROutputPorts
{
- private readonly CenIoIr104 _ir104;
-
+ private readonly CenIoIr104 _ir104;
+
///
/// Constructor
///
///
///
- ///
- public CenIoIr104Controller(string key, string name, CenIoIr104 ir104)
- : base(key, name)
- {
- _ir104 = ir104;
- }
-
+ ///
+ public CenIoIr104Controller(string key, string name, CenIoIr104 ir104)
+ : base(key, name, ir104)
+ {
+ _ir104 = ir104;
+ }
+
#region IDigitalInputPorts Members
///
/// IR port collection
///
- public CrestronCollection IROutputPorts
- {
- get { return _ir104.IROutputPorts; }
+ public CrestronCollection IROutputPorts
+ {
+ get { return _ir104.IROutputPorts; }
}
///
/// Number of relay ports property
///
- public int NumberOfIROutputPorts
- {
- get { return _ir104.NumberOfIROutputPorts; }
- }
-
+ public int NumberOfIROutputPorts
+ {
+ get { return _ir104.NumberOfIROutputPorts; }
+ }
+
#endregion
- }
-
+ }
+
///
/// CEN-IO-IR-104 controller fatory
- ///
- public class CenIoIr104ControllerFactory : EssentialsDeviceFactory
- {
+ ///
+ public class CenIoIr104ControllerFactory : EssentialsDeviceFactory
+ {
///
/// Constructor
- ///
- public CenIoIr104ControllerFactory()
- {
- TypeNames = new List() { "cenioir104" };
- }
-
+ ///
+ public CenIoIr104ControllerFactory()
+ {
+ TypeNames = new List() { "cenioir104" };
+ }
+
///
/// Build device CEN-IO-IR-104
///
///
- ///
- public override EssentialsDevice BuildDevice(DeviceConfig dc)
- {
- Debug.Console(1, "Factory Attempting to create new CEN-IO-IR-104 Device");
-
+ ///
+ public override EssentialsDevice BuildDevice(DeviceConfig dc)
+ {
+ Debug.Console(1, "Factory Attempting to create new CEN-IO-IR-104 Device");
+
var control = CommFactory.GetControlPropertiesConfig(dc);
if (control == null)
{
- Debug.Console(1, "Factory failed to create a new CEN-IO-IR-104 Device");
+ Debug.Console(1, "Factory failed to create a new CEN-IO-IR-104 Device, control properties not found");
return null;
- }
-
- var ipid = control.IpIdInt;
+ }
+
+ var ipid = control.IpIdInt;
if(ipid != 0) return new CenIoIr104Controller(dc.Key, dc.Name, new CenIoIr104(ipid, Global.ControlSystem));
Debug.Console(1, "Factory failed to create a new CEN-IO-IR-104 Device using IP-ID-{0}", ipid);
- return null;
- }
- }
-
+ return null;
+ }
+ }
+
}
\ No newline at end of file
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Crestron IO/Relay/CenIoRy104Controller.cs b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Crestron IO/Relay/CenIoRy104Controller.cs
index 19ca8438..e9963f4d 100644
--- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Crestron IO/Relay/CenIoRy104Controller.cs
+++ b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Crestron IO/Relay/CenIoRy104Controller.cs
@@ -10,7 +10,7 @@ namespace PepperDash.Essentials.Core
/// Wrapper class for CEN-IO-RY-104 relay module
///
[Description("Wrapper class for the CEN-IO-RY-104 relay module")]
- public class CenIoRy104Controller : EssentialsDevice, IRelayPorts
+ public class CenIoRy104Controller : CrestronGenericBaseDevice, IRelayPorts
{
private readonly CenIoRy104 _ry104;
@@ -21,7 +21,7 @@ namespace PepperDash.Essentials.Core
///
///
public CenIoRy104Controller(string key, string name, CenIoRy104 ry104)
- : base(key, name)
+ : base(key, name, ry104)
{
_ry104 = ry104;
}
@@ -62,8 +62,8 @@ namespace PepperDash.Essentials.Core
var controlPropertiesConfig = CommFactory.GetControlPropertiesConfig(dc);
if (controlPropertiesConfig == null)
- {
- Debug.Console(1, "Factory failed to create a new CEN-IO-RY-104 Device");
+ {
+ Debug.Console(1, "Factory failed to create a new CEN-IO-RY-104 Device, control properties not found");
return null;
}