fix: add logic to prevent vacancy from triggering room off if room is in

a call
This commit is contained in:
Andrew Welker
2022-11-21 10:28:08 -07:00
parent f262c1a3bb
commit 1b43fba37e
2 changed files with 32 additions and 2 deletions

View File

@@ -746,6 +746,24 @@ namespace PepperDash.Essentials
//Implement this //Implement this
} }
protected override bool AllowVacancyTimerToStart()
{
bool allowVideo = true;
bool allowAudio = true;
if (VideoCodec != null)
{
allowVideo = !VideoCodec.IsInCall;
}
if (AudioCodec != null)
{
allowAudio = !AudioCodec.IsInCall;
}
return allowVideo && allowAudio;
}
/// <summary> /// <summary>
/// Does what it says /// Does what it says
/// </summary> /// </summary>

View File

@@ -343,7 +343,7 @@ namespace PepperDash.Essentials.Core
void RoomIsOccupiedFeedback_OutputChange(object sender, EventArgs e) 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"); Debug.Console(1, this, Debug.ErrorLogLevel.Notice, "Notice: Vacancy Detected");
// Trigger the timer when the room is vacant // Trigger the timer when the room is vacant
@@ -361,7 +361,19 @@ namespace PepperDash.Essentials.Core
/// Executes when RoomVacancyShutdownTimer expires. Used to trigger specific room actions as needed. Must nullify the timer object when executed /// Executes when RoomVacancyShutdownTimer expires. Used to trigger specific room actions as needed. Must nullify the timer object when executed
/// </summary> /// </summary>
/// <param name="o"></param> /// <param name="o"></param>
public abstract void RoomVacatedForTimeoutPeriod(object o); public abstract void RoomVacatedForTimeoutPeriod(object o)
{
}
/// <summary>
/// Allow the vacancy event from an occupancy sensor to turn the room off.
/// </summary>
/// <returns>If the timer should be allowed. Defaults to true</returns>
protected virtual bool AllowVacancyTimerToStart()
{
return true;
}
} }
/// <summary> /// <summary>