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

@@ -745,6 +745,24 @@ namespace PepperDash.Essentials
{
//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>
/// Does what it says

View File

@@ -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
@@ -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
/// </summary>
/// <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>