diff --git a/.gitmodules b/.gitmodules
index 07e762c..726935e 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,3 +1,3 @@
[submodule "EssentialsBuilds"]
path = EssentialsBuilds
- url = https://bitbucket.org/Pepperdash_Products/essentials-builds.git
+url=https://github.com/PepperDash/Essentials-Builds.git
\ No newline at end of file
diff --git a/EssentialsBuilds b/EssentialsBuilds
index 2a6c167..855dccd 160000
--- a/EssentialsBuilds
+++ b/EssentialsBuilds
@@ -1 +1 @@
-Subproject commit 2a6c167efbd9b3770821d11effd846fabae4f8be
+Subproject commit 855dccd0d41aac272512f58d6bcd4764307bbb14
diff --git a/PDT.EssentialsPluginTemplate.EPI/EssentailsPluginTemplate.cs b/PDT.EssentialsPluginTemplate.EPI/EssentailsPluginTemplate.cs
index 07f6aa6..b80b595 100644
--- a/PDT.EssentialsPluginTemplate.EPI/EssentailsPluginTemplate.cs
+++ b/PDT.EssentialsPluginTemplate.EPI/EssentailsPluginTemplate.cs
@@ -12,29 +12,35 @@ using PepperDash.Core;
namespace EssentialsPluginTemplateEPI
{
- public class EssentialsPluginTemplate : Device
-
+ public class EssentialsPluginTemplate
{
+ ///
+ /// This string is used to define the minimum version of the
+ /// Essentials Framework required for this plugin
+ ///
+ public static string MinimumEssentialsFrameworkVersion = "1.4.23";
+
+ ///
+ /// This method will get called by Essentials when this plugin is loaded.
+ /// Use it to add factory methods for all new Device types defined in this plugin
+ ///
public static void LoadPlugin()
{
PepperDash.Essentials.Core.DeviceFactory.AddFactoryForType("EssentialsPluginTemplate", EssentialsPluginTemplate.BuildDevice);
}
- public static EssentialsPluginTemplate BuildDevice(DeviceConfig dc)
+ ///
+ /// Builds an instance of the device type
+ ///
+ /// The device configuration
+ /// The device
+ public static EssentialsPluginTemplateDevice BuildDevice(DeviceConfig dc)
{
- var config = JsonConvert.DeserializeObject(dc.Properties.ToString());
- var newMe = new EssentialsPluginTemplate(dc.Key, dc.Name, config);
- return newMe;
+ var config = JsonConvert.DeserializeObject(dc.Properties.ToString());
+ var newDevice = new EssentialsPluginTemplateDevice(dc.Key, dc.Name, config);
+ return newDevice;
}
-
- GenericSecureTcpIpClient_ForServer Client;
-
- public EssentialsPluginTemplate(string key, string name, EssentialsPluginTemplateConfigObject config)
- : base(key, name)
- {
-
- }
}
}
diff --git a/PDT.EssentialsPluginTemplate.EPI/EssentialsPluginTemplateConfigObject.cs b/PDT.EssentialsPluginTemplate.EPI/EssentialsPluginTemplateConfigObject.cs
index 715707c..22f9a10 100644
--- a/PDT.EssentialsPluginTemplate.EPI/EssentialsPluginTemplateConfigObject.cs
+++ b/PDT.EssentialsPluginTemplate.EPI/EssentialsPluginTemplateConfigObject.cs
@@ -4,9 +4,23 @@ using System.Linq;
using System.Text;
using Crestron.SimplSharp;
+using PepperDash.Core;
+
+using Newtonsoft.Json;
+
namespace EssentialsPluginTemplateEPI
{
- public class EssentialsPluginTemplateConfigObject
+ ///
+ /// Example of a config class that represents the structure of the Properties object of a DeviceConfig
+ ///
+ public class EssentialsPluginTemplatePropertiesConfig
{
+ ///
+ /// Control properties if needed to communicate with device
+ ///
+ [JsonProperty("control")]
+ ControlPropertiesConfig Control { get; set; }
+
+
}
}
\ No newline at end of file
diff --git a/PDT.EssentialsPluginTemplate.EPI/EssentialsPluginTemplateDevice.cs b/PDT.EssentialsPluginTemplate.EPI/EssentialsPluginTemplateDevice.cs
new file mode 100644
index 0000000..434dde4
--- /dev/null
+++ b/PDT.EssentialsPluginTemplate.EPI/EssentialsPluginTemplateDevice.cs
@@ -0,0 +1,38 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using Crestron.SimplSharp;
+using Crestron.SimplSharpPro.DeviceSupport;
+
+using PepperDash.Essentials;
+using PepperDash.Essentials.Core;
+using PepperDash.Essentials.Core.Config;
+using PepperDash.Core;
+
+namespace EssentialsPluginTemplateEPI
+{
+ ///
+ /// Example of a plugin device
+ ///
+ public class EssentialsPluginTemplateDevice : Device, IBridge
+ {
+ ///
+ /// Device Constructor. Called by
+ ///
+ ///
+ ///
+ ///
+ public EssentialsPluginTemplateDevice(string key, string name, EssentialsPluginTemplatePropertiesConfig config)
+ : base(key, name)
+ {
+
+ }
+
+ public void LinkToApi(BasicTriList trilist, uint joinStart, string joinMapKey)
+ {
+
+
+ }
+ }
+}
\ No newline at end of file
diff --git a/PDT.EssentialsPluginTemplate.EPI/PDT.EssentialsPluginTemplate.EPI.csproj b/PDT.EssentialsPluginTemplate.EPI/PDT.EssentialsPluginTemplate.EPI.csproj
index 4413a7d..5a9ae47 100644
--- a/PDT.EssentialsPluginTemplate.EPI/PDT.EssentialsPluginTemplate.EPI.csproj
+++ b/PDT.EssentialsPluginTemplate.EPI/PDT.EssentialsPluginTemplate.EPI.csproj
@@ -95,6 +95,7 @@
+
diff --git a/PDT.EssentialsPluginTemplate.EPI/PDT.EssentialsPluginTemplate.EPI.suo b/PDT.EssentialsPluginTemplate.EPI/PDT.EssentialsPluginTemplate.EPI.suo
index 8754faa..3b9a273 100644
Binary files a/PDT.EssentialsPluginTemplate.EPI/PDT.EssentialsPluginTemplate.EPI.suo and b/PDT.EssentialsPluginTemplate.EPI/PDT.EssentialsPluginTemplate.EPI.suo differ
diff --git a/PDT.EssentialsPluginTemplate.EPI/PDT.EssentialsPluginTemplate.projectinfo b/PDT.EssentialsPluginTemplate.EPI/PDT.EssentialsPluginTemplate.projectinfo
new file mode 100644
index 0000000..a449593
Binary files /dev/null and b/PDT.EssentialsPluginTemplate.EPI/PDT.EssentialsPluginTemplate.projectinfo differ