diff --git a/Essentials Core/PepperDashEssentialsBase/Global/JobTimer.cs b/Essentials Core/PepperDashEssentialsBase/Global/JobTimer.cs index 9f98dd9f..83159c12 100644 --- a/Essentials Core/PepperDashEssentialsBase/Global/JobTimer.cs +++ b/Essentials Core/PepperDashEssentialsBase/Global/JobTimer.cs @@ -72,6 +72,7 @@ namespace PepperDash.Essentials.Core public enum eJobTimerCycleTypes { + RunEveryDay, RunEveryHour, RunEveryHalfHour, RunEveryMinute diff --git a/Essentials/PepperDashEssentials/OTHER/Fusion/EssentialsHuddleSpaceFusionSystemControllerBase.cs b/Essentials/PepperDashEssentials/OTHER/Fusion/EssentialsHuddleSpaceFusionSystemControllerBase.cs index 40da2213..b2c9eac0 100644 --- a/Essentials/PepperDashEssentials/OTHER/Fusion/EssentialsHuddleSpaceFusionSystemControllerBase.cs +++ b/Essentials/PepperDashEssentials/OTHER/Fusion/EssentialsHuddleSpaceFusionSystemControllerBase.cs @@ -97,6 +97,8 @@ namespace PepperDash.Essentials.Fusion CTimer PushNotificationTimer = null; + CTimer DailyTimeRequestTimer = null; + // Default poll time is 5 min unless overridden by config value public long SchedulePollInterval = 300000; @@ -465,16 +467,35 @@ namespace PepperDash.Essentials.Fusion // Request current Fusion Server Time + RequestLocalDateTime(null); - string timeRequestID = "TimeRequest"; + // Setup timer to request time daily + if (DailyTimeRequestTimer != null && !DailyTimeRequestTimer.Disposed) + { + DailyTimeRequestTimer.Stop(); + DailyTimeRequestTimer.Dispose(); + } - string timeRequest = string.Format("{0}", timeRequestID); + DailyTimeRequestTimer = new CTimer(RequestLocalDateTime, null, 86400000, 86400000); - FusionRoom.ExtenderFusionRoomDataReservedSigs.LocalDateTimeQuery.StringValue = timeRequest; + DailyTimeRequestTimer.Reset(86400000, 86400000); } } + /// + /// Requests the local date and time from the Fusion Server + /// + /// + public void RequestLocalDateTime(object callbackObject) + { + string timeRequestID = "TimeRequest"; + + string timeRequest = string.Format("{0}", timeRequestID); + + FusionRoom.ExtenderFusionRoomDataReservedSigs.LocalDateTimeQuery.StringValue = timeRequest; + } + /// /// Generates a room schedule request for this room for the next 24 hours. /// diff --git a/Release Package/PepperDashEssentials.cpz b/Release Package/PepperDashEssentials.cpz index 914d6224..bc273ffd 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 341615c7..5e719af1 100644 Binary files a/Release Package/PepperDashEssentials.dll and b/Release Package/PepperDashEssentials.dll differ