diff --git a/essentials-framework/Essentials Devices Common/Essentials Devices Common/Occupancy/GlsOccupancySensorBaseController.cs b/essentials-framework/Essentials Devices Common/Essentials Devices Common/Occupancy/GlsOccupancySensorBaseController.cs
index a735d9a8..380a090a 100644
--- a/essentials-framework/Essentials Devices Common/Essentials Devices Common/Occupancy/GlsOccupancySensorBaseController.cs
+++ b/essentials-framework/Essentials Devices Common/Essentials Devices Common/Occupancy/GlsOccupancySensorBaseController.cs
@@ -103,6 +103,18 @@ namespace PepperDash.Essentials.Devices.Common.Occupancy
PirSensitivityInOccupiedStateFeedback.FireUpdate();
else if (args.EventId == GlsOccupancySensorBase.PirSensitivityInVacantStateFeedbackEventId)
PirSensitivityInVacantStateFeedback.FireUpdate();
+ }
+
+ protected virtual void OccSensor_BaseEvent(Crestron.SimplSharpPro.GenericBase device, Crestron.SimplSharpPro.BaseEventArgs args)
+ {
+ Debug.Console(2, this, "GlsOccupancySensorChange EventId: {0}", args.EventId);
+
+ if (args.EventId == Crestron.SimplSharpPro.GeneralIO.GlsOccupancySensorBase.RoomOccupiedFeedbackEventId
+ || args.EventId == Crestron.SimplSharpPro.GeneralIO.GlsOccupancySensorBase.RoomVacantFeedbackEventId)
+ {
+ Debug.Console(1, this, "Occupancy State: {0}", OccSensor.OccupancyDetectedFeedback.BoolValue);
+ RoomIsOccupiedFeedback.FireUpdate();
+ }
else if (args.EventId == GlsOccupancySensorBase.TimeoutFeedbackEventId)
CurrentTimeoutFeedback.FireUpdate();
else if (args.EventId == GlsOccupancySensorBase.TimeoutLocalFeedbackEventId)
@@ -117,18 +129,6 @@ namespace PepperDash.Essentials.Devices.Common.Occupancy
ExternalPhotoSensorValue.FireUpdate();
}
- void OccSensor_BaseEvent(Crestron.SimplSharpPro.GenericBase device, Crestron.SimplSharpPro.BaseEventArgs args)
- {
- Debug.Console(2, this, "GlsOccupancySensorChange EventId: {0}", args.EventId);
-
- if (args.EventId == Crestron.SimplSharpPro.GeneralIO.GlsOccupancySensorBase.RoomOccupiedFeedbackEventId
- || args.EventId == Crestron.SimplSharpPro.GeneralIO.GlsOccupancySensorBase.RoomVacantFeedbackEventId)
- {
- Debug.Console(1, this, "Occupancy State: {0}", OccSensor.OccupancyDetectedFeedback.BoolValue);
- RoomIsOccupiedFeedback.FireUpdate();
- }
- }
-
public void SetTestMode(bool mode)
{
InTestMode = mode;
diff --git a/essentials-framework/Essentials Devices Common/Essentials Devices Common/Occupancy/GlsOdtOccupancySensorController.cs b/essentials-framework/Essentials Devices Common/Essentials Devices Common/Occupancy/GlsOdtOccupancySensorController.cs
index 4280cf88..16e449bf 100644
--- a/essentials-framework/Essentials Devices Common/Essentials Devices Common/Occupancy/GlsOdtOccupancySensorController.cs
+++ b/essentials-framework/Essentials Devices Common/Essentials Devices Common/Occupancy/GlsOdtOccupancySensorController.cs
@@ -69,28 +69,30 @@ namespace PepperDash.Essentials.Devices.Common.Occupancy
UltrasonicAEnabledFeedback.FireUpdate();
else if (args.EventId == GlsOccupancySensorBase.UsBEnabledFeedbackEventId)
UltrasonicBEnabledFeedback.FireUpdate();
- else if (args.EventId == GlsOccupancySensorBase.RawOccupancyPirFeedbackEventId)
- RawOccupancyPirFeedback.FireUpdate();
- else if (args.EventId == GlsOccupancySensorBase.RawOccupancyUsFeedbackEventId)
- RawOccupancyUsFeedback.FireUpdate();
else if (args.EventId == GlsOccupancySensorBase.UsSensitivityInOccupiedStateFeedbackEventId)
UltrasonicSensitivityInOccupiedStateFeedback.FireUpdate();
else if (args.EventId == GlsOccupancySensorBase.UsSensitivityInVacantStateFeedbackEventId)
UltrasonicSensitivityInVacantStateFeedback.FireUpdate();
- else if (args.EventId == GlsOccupancySensorBase.RawOccupancyPirFeedbackEventId)
- {
- Debug.Console(2, this, "Occsensor has had Raw PIR");
- RawOccupancyPirFeedback.FireUpdate();
- }
- else if (args.EventId == GlsOccupancySensorBase.RawOccupancyUsFeedbackEventId)
- {
- Debug.Console(2, this, "Occsensor has had Raw US");
- RawOccupancyUsFeedback.FireUpdate();
- }
base.OccSensor_GlsOccupancySensorChange(device, args);
}
+ ///
+ /// Overrides the base class event delegate to fire feedbacks for event IDs that pertain to this extended class.
+ /// Then calls the base delegate method to ensure any common event IDs are captured.
+ ///
+ ///
+ ///
+ protected override void OccSensor_BaseEvent(Crestron.SimplSharpPro.GenericBase device, Crestron.SimplSharpPro.BaseEventArgs args)
+ {
+ if (args.EventId == GlsOccupancySensorBase.RawOccupancyPirFeedbackEventId)
+ RawOccupancyPirFeedback.FireUpdate();
+ else if (args.EventId == GlsOccupancySensorBase.RawOccupancyUsFeedbackEventId)
+ RawOccupancyUsFeedback.FireUpdate();
+
+ base.OccSensor_BaseEvent(device, args);
+ }
+
///
/// Sets the OrWhenVacated state
///