diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Config/DeviceConfig.cs b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Config/DeviceConfig.cs
index 1d9ed1c2..5c1ee54c 100644
--- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Config/DeviceConfig.cs
+++ b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Config/DeviceConfig.cs
@@ -1,35 +1,35 @@
-using System;
-using System.Collections.Generic;
-using Crestron.SimplSharp;
-using Crestron.SimplSharp.CrestronIO;
-using Crestron.SimplSharpPro;
-
-using Newtonsoft.Json;
-using Newtonsoft.Json.Linq;
-using PepperDash.Core;
-using PepperDash.Essentials.Core;
-
-namespace PepperDash.Essentials.Core.Config
-{
- public class DeviceConfig
- {
- [JsonProperty("key")]
- public string Key { get; set; }
-
- [JsonProperty("uid")]
- public int Uid { get; set; }
-
- [JsonProperty("name")]
- public string Name { get; set; }
-
- [JsonProperty("group")]
- public string Group { get; set; }
-
- [JsonProperty("type")]
- public string Type { get; set; }
-
- [JsonProperty("properties")]
- [JsonConverter(typeof(DevicePropertiesConverter))]
+using System;
+using System.Collections.Generic;
+using Crestron.SimplSharp;
+using Crestron.SimplSharp.CrestronIO;
+using Crestron.SimplSharpPro;
+
+using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
+using PepperDash.Core;
+using PepperDash.Essentials.Core;
+
+namespace PepperDash.Essentials.Core.Config
+{
+ public class DeviceConfig
+ {
+ [JsonProperty("key")]
+ public string Key { get; set; }
+
+ [JsonProperty("uid")]
+ public int Uid { get; set; }
+
+ [JsonProperty("name")]
+ public string Name { get; set; }
+
+ [JsonProperty("group")]
+ public string Group { get; set; }
+
+ [JsonProperty("type")]
+ public string Type { get; set; }
+
+ [JsonProperty("properties")]
+ [JsonConverter(typeof(DevicePropertiesConverter))]
public JToken Properties { get; set; }
public DeviceConfig(DeviceConfig dc)
@@ -39,39 +39,42 @@ namespace PepperDash.Essentials.Core.Config
Name = dc.Name;
Group = dc.Group;
Type = dc.Type;
- Properties = JToken.FromObject(dc.Properties);
+
+ Properties = JToken.Parse(dc.Properties.ToString());
+
+ //Properties = JToken.FromObject(dc.Properties);
}
public DeviceConfig() {}
- }
-
- ///
- ///
- ///
- public class DevicePropertiesConverter : JsonConverter
- {
-
- public override bool CanConvert(Type objectType)
- {
- return objectType == typeof(JToken);
- }
-
- public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
- {
- return JToken.ReadFrom(reader);
- }
-
- public override bool CanWrite
- {
- get
- {
- return false;
- }
- }
-
- public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
- {
- throw new NotImplementedException("SOD OFF HOSER");
- }
- }
+ }
+
+ ///
+ ///
+ ///
+ public class DevicePropertiesConverter : JsonConverter
+ {
+
+ public override bool CanConvert(Type objectType)
+ {
+ return objectType == typeof(JToken);
+ }
+
+ public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
+ {
+ return JToken.ReadFrom(reader);
+ }
+
+ public override bool CanWrite
+ {
+ get
+ {
+ return false;
+ }
+ }
+
+ public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
+ {
+ throw new NotImplementedException("SOD OFF HOSER");
+ }
+ }
}
\ No newline at end of file
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/ReconfigurableDevice.cs b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/ReconfigurableDevice.cs
index 3239e192..a54f728d 100644
--- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/ReconfigurableDevice.cs
+++ b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/ReconfigurableDevice.cs
@@ -59,7 +59,7 @@ namespace PepperDash.Essentials.Core.Devices
///
/// Used by the extending class to allow for any custom actions to be taken (tell the ConfigWriter to write config, etc)
///
- ///
+ ///
protected virtual void CustomSetConfig(DeviceConfig config)
{
ConfigWriter.UpdateDeviceConfig(config);
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Secrets/CrestronSecretsProvider.cs b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Secrets/CrestronSecretsProvider.cs
index 3e0a5964..0c531a08 100644
--- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Secrets/CrestronSecretsProvider.cs
+++ b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Secrets/CrestronSecretsProvider.cs
@@ -36,21 +36,22 @@ namespace PepperDash.Essentials.Core
public bool SetSecret(string key, object value)
{
var secret = value as string;
+ CrestronDataStore.CDS_ERROR returnCode;
+
if (String.IsNullOrEmpty(secret))
{
- Debug.Console(2, this, "Unable to set secret for {0}:{1} - value is empty.", Key, key);
- return false;
+ returnCode = CrestronDataStoreStatic.clearLocal(key);
+ if (returnCode == CrestronDataStore.CDS_ERROR.CDS_SUCCESS) return true;
}
- var setErrorCode = CrestronDataStoreStatic.SetLocalStringValue(key, secret);
- switch (setErrorCode)
+
+ else
{
- case CrestronDataStore.CDS_ERROR.CDS_SUCCESS:
- Debug.Console(1, this,"Secret Successfully Set for {0}:{1}", Key, key);
- return true;
- default:
- Debug.Console(2, this, Debug.ErrorLogLevel.Notice, "Unable to set secret for {0}:{1} - {2}", Key, key, setErrorCode.ToString());
- return false;
+ returnCode = CrestronDataStoreStatic.SetLocalStringValue(key, secret);
+ if (returnCode == CrestronDataStore.CDS_ERROR.CDS_SUCCESS) return true;
}
+
+ Debug.Console(0, this, Debug.ErrorLogLevel.Notice, "Unable to set secret for {0}:{1} - {2}", Key, key, returnCode.ToString());
+ return false;
}
///