diff --git a/PepperDashEssentials/Room/Types/EssentialsHuddleVtc1Room.cs b/PepperDashEssentials/Room/Types/EssentialsHuddleVtc1Room.cs
index e622983f..d04de3cc 100644
--- a/PepperDashEssentials/Room/Types/EssentialsHuddleVtc1Room.cs
+++ b/PepperDashEssentials/Room/Types/EssentialsHuddleVtc1Room.cs
@@ -745,6 +745,28 @@ namespace PepperDash.Essentials
{
//Implement this
}
+
+ protected override bool AllowVacancyTimerToStart()
+ {
+ bool allowVideo = true;
+ bool allowAudio = true;
+
+ if (VideoCodec != null)
+ {
+ Debug.Console(2,this, Debug.ErrorLogLevel.Notice, "Room {0} {1} in a video call", Key, VideoCodec.IsInCall ? "is" : "is not");
+ allowVideo = !VideoCodec.IsInCall;
+ }
+
+ if (AudioCodec != null)
+ {
+ Debug.Console(2,this, Debug.ErrorLogLevel.Notice, "Room {0} {1} in an audio call", Key, AudioCodec.IsInCall ? "is" : "is not");
+ allowAudio = !AudioCodec.IsInCall;
+ }
+
+ Debug.Console(2, this, "Room {0} allowing vacancy timer to start: {1}", Key, allowVideo && allowAudio);
+
+ return allowVideo && allowAudio;
+ }
///
/// Does what it says
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Room/EssentialsRoomBase.cs b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Room/EssentialsRoomBase.cs
index 352cbfcd..f5e3dee8 100644
--- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Room/EssentialsRoomBase.cs
+++ b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Room/EssentialsRoomBase.cs
@@ -343,7 +343,7 @@ namespace PepperDash.Essentials.Core
void RoomIsOccupiedFeedback_OutputChange(object sender, EventArgs e)
{
- if (RoomOccupancy.RoomIsOccupiedFeedback.BoolValue == false)
+ if (RoomOccupancy.RoomIsOccupiedFeedback.BoolValue == false && AllowVacancyTimerToStart())
{
Debug.Console(1, this, Debug.ErrorLogLevel.Notice, "Notice: Vacancy Detected");
// Trigger the timer when the room is vacant
@@ -362,6 +362,15 @@ namespace PepperDash.Essentials.Core
///
///
public abstract void RoomVacatedForTimeoutPeriod(object o);
+
+ ///
+ /// Allow the vacancy event from an occupancy sensor to turn the room off.
+ ///
+ /// If the timer should be allowed. Defaults to true
+ protected virtual bool AllowVacancyTimerToStart()
+ {
+ return true;
+ }
}
///