diff --git a/PepperDashEssentials/OTHER/Fusion/EssentialsHuddleSpaceFusionSystemControllerBase.cs b/PepperDashEssentials/OTHER/Fusion/EssentialsHuddleSpaceFusionSystemControllerBase.cs index d6e307a8..609597d8 100644 --- a/PepperDashEssentials/OTHER/Fusion/EssentialsHuddleSpaceFusionSystemControllerBase.cs +++ b/PepperDashEssentials/OTHER/Fusion/EssentialsHuddleSpaceFusionSystemControllerBase.cs @@ -832,7 +832,7 @@ namespace PepperDash.Essentials.Fusion if (handler != null) handler(this, new EventArgs()); - CustomPropertiesBridge.EvaluateRoomInfo(roomInformation); + CustomPropertiesBridge.EvaluateRoomInfo(Room.Key, roomInformation); } } catch (Exception e) diff --git a/PepperDashEssentials/OTHER/Fusion/FusionCustomPropertiesBridge.cs b/PepperDashEssentials/OTHER/Fusion/FusionCustomPropertiesBridge.cs index 03a5cd37..6dface95 100644 --- a/PepperDashEssentials/OTHER/Fusion/FusionCustomPropertiesBridge.cs +++ b/PepperDashEssentials/OTHER/Fusion/FusionCustomPropertiesBridge.cs @@ -6,6 +6,7 @@ using Crestron.SimplSharp; using PepperDash.Core; using PepperDash.Essentials.Core; +using PepperDash.Essentials.Core.Config; using PepperDash.Essentials.Room.Behaviours; namespace PepperDash.Essentials.Fusion @@ -20,7 +21,7 @@ namespace PepperDash.Essentials.Fusion /// Evaluates the room info and custom properties from Fusion and updates the system properties aa needed /// /// - public void EvaluateRoomInfo(RoomInformation roomInfo) + public void EvaluateRoomInfo(string roomKey, RoomInformation roomInfo) { var runtimeConfigurableDevices = DeviceManager.AllDevices.Where(d => d is IRuntimeConfigurableDevice); @@ -28,6 +29,7 @@ namespace PepperDash.Essentials.Fusion { foreach (var device in runtimeConfigurableDevices) { + // Get the current device config so new values can be overwritten over existing var deviceConfig = (device as IRuntimeConfigurableDevice).GetDeviceConfig(); if (device is RoomOnToDefaultSourceWhenOccupied) @@ -77,8 +79,19 @@ namespace PepperDash.Essentials.Fusion deviceConfig = devConfig; } + // Set the config on the device (device as IRuntimeConfigurableDevice).SetDeviceConfig(deviceConfig); } + + //var roomConfig = ConfigReader.ConfigObject.Rooms.FirstOrDefault(r => r.Key.Equals(roomKey); + + //if(roomConfig != null) + //{ + // roomConfig.Name = roomInfo.Name; + + // // Update HelpMessage in room properties + // roomConfig.Properties. + //} } catch (Exception e) { diff --git a/PepperDashEssentials/Room/Behaviours/RoomOnToDefaultSourceWhenOccupied.cs b/PepperDashEssentials/Room/Behaviours/RoomOnToDefaultSourceWhenOccupied.cs index 0c13c8af..823ed2b7 100644 --- a/PepperDashEssentials/Room/Behaviours/RoomOnToDefaultSourceWhenOccupied.cs +++ b/PepperDashEssentials/Room/Behaviours/RoomOnToDefaultSourceWhenOccupied.cs @@ -258,9 +258,11 @@ namespace PepperDash.Essentials.Room.Behaviours // Set up its initial properties - schEvent.Acknowledgeable = true; + if(!schEvent.Acknowledgeable) + schEvent.Acknowledgeable = true; - schEvent.Persistent = true; + if(!schEvent.Persistent) + schEvent.Persistent = true; schEvent.DateAndTime.SetFirstDayOfWeek(ScheduledEventCommon.eFirstDayOfWeek.Sunday); diff --git a/Release Package/PepperDashEssentials.cpz b/Release Package/PepperDashEssentials.cpz index 8cc18d25..080afe06 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 5c33078b..b8495e2e 100644 Binary files a/Release Package/PepperDashEssentials.dll and b/Release Package/PepperDashEssentials.dll differ