diff --git a/Essentials Core/PepperDashEssentialsBase/Config/InfoConfig.cs b/Essentials Core/PepperDashEssentialsBase/Config/InfoConfig.cs index 32469b53..b11d8608 100644 --- a/Essentials Core/PepperDashEssentialsBase/Config/InfoConfig.cs +++ b/Essentials Core/PepperDashEssentialsBase/Config/InfoConfig.cs @@ -1,4 +1,6 @@ -using System; +using System; + +using Crestron.SimplSharp.Reflection; using Newtonsoft.Json; @@ -19,7 +21,10 @@ namespace PepperDash.Essentials.Core.Config public string Type { get; set; } [JsonProperty("version")] - public string Version { get; set; } + public string Version { get; set; } + + [JsonProperty("runtimeInfo")] + public RuntimeInfo RuntimeInfo { get; set; } [JsonProperty("comment")] public string Comment { get; set; } @@ -30,7 +35,34 @@ namespace PepperDash.Essentials.Core.Config Date = DateTime.Now; Type = ""; Version = ""; - Comment = ""; + Comment = ""; + + RuntimeInfo = new RuntimeInfo(); } - } + } + + + /// + /// Represents runtime information about the program/processor + /// + public class RuntimeInfo + { + /// + /// The name of the running application + /// + [JsonProperty("appName")] + public string AppName { get; set; } + + /// + /// The Assembly version of the running application + /// + [JsonProperty("assemblyVersion")] + public string AssemblyVersion { get; set; } + + /// + /// The OS Version of the processor (Firmware Version) + /// + [JsonProperty("osVersion")] + public string OsVersion { get; set; } + } } \ No newline at end of file diff --git a/Essentials/PepperDashEssentials/Config/EssentialsConfig.cs b/Essentials/PepperDashEssentials/Config/EssentialsConfig.cs index f0d38425..80f410bc 100644 --- a/Essentials/PepperDashEssentials/Config/EssentialsConfig.cs +++ b/Essentials/PepperDashEssentials/Config/EssentialsConfig.cs @@ -22,6 +22,7 @@ namespace PepperDash.Essentials [JsonProperty("template_url")] public string TemplateUrl { get; set; } + //public CotijaConfig Cotija { get; private set; } public string SystemUuid diff --git a/Essentials/PepperDashEssentials/PepperDashEssentials.csproj b/Essentials/PepperDashEssentials/PepperDashEssentials.csproj index 7fca516d..21bff4a7 100644 --- a/Essentials/PepperDashEssentials/PepperDashEssentials.csproj +++ b/Essentials/PepperDashEssentials/PepperDashEssentials.csproj @@ -99,6 +99,10 @@ False ..\..\..\..\..\..\..\ProgramData\Crestron\SDK\SimplSharpPro.exe + + False + ..\..\..\..\..\..\ProgramData\Crestron\SDK\SimplSharpReflectionInterface.dll + diff --git a/Essentials/PepperDashEssentials/Room/Cotija/CotijaSystemController.cs b/Essentials/PepperDashEssentials/Room/Cotija/CotijaSystemController.cs index d55e38a2..e5e64a1a 100644 --- a/Essentials/PepperDashEssentials/Room/Cotija/CotijaSystemController.cs +++ b/Essentials/PepperDashEssentials/Room/Cotija/CotijaSystemController.cs @@ -5,6 +5,7 @@ using System.Text; using System.Text.RegularExpressions; using Crestron.SimplSharp; using Crestron.SimplSharp.CrestronIO; +using Crestron.SimplSharp.Reflection; using Crestron.SimplSharpPro.CrestronThread; using Crestron.SimplSharp.CrestronWebSocketClient; using Crestron.SimplSharpPro; @@ -208,6 +209,11 @@ namespace PepperDash.Essentials try { var confObject = ConfigReader.ConfigObject; + confObject.Info.RuntimeInfo.AppName = Assembly.GetExecutingAssembly().GetName().Name; + var version = Assembly.GetExecutingAssembly().GetName().Version; + confObject.Info.RuntimeInfo.AssemblyVersion = string.Format("v{0}.{1}.{2}", version.Major, version.Minor, version.Build); + confObject.Info.RuntimeInfo.OsVersion = Crestron.SimplSharp.CrestronEnvironment.OSVersion.Firmware; + string postBody = JsonConvert.SerializeObject(confObject); SystemUuid = confObject.SystemUuid; diff --git a/Release Package/PepperDashEssentials.cpz b/Release Package/PepperDashEssentials.cpz index fe9a98cb..b54b3671 100644 Binary files a/Release Package/PepperDashEssentials.cpz and b/Release Package/PepperDashEssentials.cpz differ diff --git a/Release Package/PepperDashEssentials.dll b/Release Package/PepperDashEssentials.dll index b674fc3f..1e64fedc 100644 Binary files a/Release Package/PepperDashEssentials.dll and b/Release Package/PepperDashEssentials.dll differ