diff --git a/Essentials Devices Common/Essentials Devices Common/Occupancy/EssentialsGlsOccupancySensorBaseController.cs b/Essentials Devices Common/Essentials Devices Common/Occupancy/EssentialsGlsOccupancySensorBaseController.cs index 60ea5c63..bc49561f 100644 --- a/Essentials Devices Common/Essentials Devices Common/Occupancy/EssentialsGlsOccupancySensorBaseController.cs +++ b/Essentials Devices Common/Essentials Devices Common/Occupancy/EssentialsGlsOccupancySensorBaseController.cs @@ -16,10 +16,25 @@ namespace PepperDash.Essentials.Devices.Common.Occupancy public BoolFeedback RoomIsOccupiedFeedback { get; private set; } + public Func RoomIsOccupiedFeedbackFunc + { + get + { + return () => OccSensor.OccupancyDetectedFeedback.BoolValue; + } + } + public EssentialsGlsOccupancySensorBaseController(string key, string name, GlsOccupancySensorBase sensor, GlsOccupancySensorConfigurationProperties props) : base(key, name, sensor) { + OccSensor = sensor; + OccSensor.GlsOccupancySensorChange += new GlsOccupancySensorChangeEventHandler(sensor_GlsOccupancySensorChange); + } + + void sensor_GlsOccupancySensorChange(GlsOccupancySensorBase device, GlsOccupancySensorChangeEventArgs args) + { + RoomIsOccupiedFeedback.FireUpdate(); } } diff --git a/Essentials/PepperDashEssentials/Properties/AssemblyInfo.cs b/Essentials/PepperDashEssentials/Properties/AssemblyInfo.cs index e9174846..34c6d31f 100644 --- a/Essentials/PepperDashEssentials/Properties/AssemblyInfo.cs +++ b/Essentials/PepperDashEssentials/Properties/AssemblyInfo.cs @@ -4,5 +4,5 @@ [assembly: AssemblyCompany("PepperDash Technology Corp")] [assembly: AssemblyProduct("PepperDashEssentials")] [assembly: AssemblyCopyright("Copyright © PepperDash Technology Corp 2017")] -[assembly: AssemblyVersion("1.0.17.*")] +[assembly: AssemblyVersion("1.0.18.*")] diff --git a/Essentials/PepperDashEssentials/Room/Types/EssentialsRoomBase.cs b/Essentials/PepperDashEssentials/Room/Types/EssentialsRoomBase.cs index 60f87c7b..2c47f322 100644 --- a/Essentials/PepperDashEssentials/Room/Types/EssentialsRoomBase.cs +++ b/Essentials/PepperDashEssentials/Room/Types/EssentialsRoomBase.cs @@ -123,8 +123,11 @@ namespace PepperDash.Essentials StartRoomVacancyTimer(eVacancyMode.InShutdownWarning); break; case eVacancyMode.InShutdownWarning: - StartShutdown(eShutdownType.Vacancy); - break; + { + StartShutdown(eShutdownType.Vacancy); + Debug.Console(0, this, "Shutting Down due to vacancy."); + break; + } default: break; } @@ -154,6 +157,8 @@ namespace PepperDash.Essentials RoomVacancyShutdownTimer.SecondsToCount = RoomVacancyShutdownSeconds; VacancyMode = mode; RoomVacancyShutdownTimer.Start(); + + Debug.Console(0, this, "Vacancy Timer Started."); } /// @@ -196,13 +201,15 @@ namespace PepperDash.Essentials { if ((sender as IOccupancyStatusProvider).RoomIsOccupiedFeedback.BoolValue == false) { + Debug.Console(0, this, "Vacancy Detected"); // Trigger the timer when the room is vacant StartRoomVacancyTimer(eVacancyMode.InInitialVacancy); } else { + Debug.Console(0, this, "Occupancy Detected"); // Reset the timer when the room is occupied - if(RoomVacancyShutdownTimer.IsRunningFeedback.BoolValue) + RoomVacancyShutdownTimer.Cancel(); } } diff --git a/Release Package/PepperDashEssentials.cpz b/Release Package/PepperDashEssentials.cpz index 4b73e9de..b5d50f9b 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 1a2b2536..2082dca9 100644 Binary files a/Release Package/PepperDashEssentials.dll and b/Release Package/PepperDashEssentials.dll differ