merge branch 'development' into feature-2.0.0/move-dm-to-library

This commit is contained in:
Andrew Welker
2023-10-26 23:07:55 -05:00
82 changed files with 4763 additions and 2412 deletions

View File

@@ -40,7 +40,7 @@ namespace PepperDash.Essentials.Core
ScheduledEventGroup FeatureEventGroup;
public IEssentialsRoom Room { get; private set; }
public IRoomOccupancy Room { get; private set; }
private Fusion.EssentialsHuddleSpaceFusionSystemControllerBase FusionRoom;
@@ -86,7 +86,7 @@ namespace PepperDash.Essentials.Core
/// </summary>
void SetUpDevice()
{
Room = DeviceManager.GetDeviceForKey(PropertiesConfig.RoomKey) as IEssentialsRoom;
Room = DeviceManager.GetDeviceForKey(PropertiesConfig.RoomKey) as IRoomOccupancy;
if (Room != null)
{
@@ -237,12 +237,23 @@ namespace PepperDash.Essentials.Core
if (FeatureEnabled)
{
// Check room power state first
if (!Room.OnFeedback.BoolValue)
{
Debug.Console(1, this, "Powering Room on to default source");
Room.RunDefaultPresentRoute();
var essentialsRoom = Room as IEssentialsRoom;
if (essentialsRoom != null) {
if (!essentialsRoom.OnFeedback.BoolValue)
{
Debug.Console(1, this, "Powering Room on to default source");
var defaultRouteRoom = Room as IRunDefaultPresentRoute;
if (defaultRouteRoom != null)
{
defaultRouteRoom.RunDefaultPresentRoute();
}
}
}
// Check room power state first
}
}
}

View File

@@ -37,7 +37,7 @@ namespace PepperDash.Essentials.Core
public BoolFeedback IsWarmingUpFeedback { get; private set; }
public BoolFeedback IsCoolingDownFeedback { get; private set; }
public IOccupancyStatusProvider RoomOccupancy { get; private set; }
public IOccupancyStatusProvider RoomOccupancy { get; protected set; }
public bool OccupancyStatusProviderIsRemote { get; private set; }

View File

@@ -17,15 +17,10 @@ namespace PepperDash.Essentials.Core
/// </summary>
public interface IEssentialsRoom : IKeyName, IReconfigurableDevice, IRunDefaultPresentRoute, IEnvironmentalControls
{
BoolFeedback OnFeedback { get; }
event EventHandler<EventArgs> RoomOccupancyIsSet;
BoolFeedback OnFeedback { get; }
BoolFeedback IsWarmingUpFeedback { get; }
BoolFeedback IsCoolingDownFeedback { get; }
IOccupancyStatusProvider RoomOccupancy { get; }
bool OccupancyStatusProviderIsRemote { get; }
BoolFeedback IsCoolingDownFeedback { get; }
bool IsMobileControlEnabled { get; }
IMobileControlRoomBridge MobileControlRoomBridge { get; }
@@ -35,31 +30,16 @@ namespace PepperDash.Essentials.Core
SecondsCountdownTimer ShutdownPromptTimer { get; }
int ShutdownPromptSeconds { get; }
int ShutdownVacancySeconds { get; }
eShutdownType ShutdownType { get; }
EssentialsRoomEmergencyBase Emergency { get; }
Core.Privacy.MicrophonePrivacyController MicrophonePrivacy { get; }
eShutdownType ShutdownType { get; }
string LogoUrlLightBkgnd { get; }
string LogoUrlDarkBkgnd { get; }
eVacancyMode VacancyMode { get; }
void StartShutdown(eShutdownType type);
bool ZeroVolumeWhenSwtichingVolumeDevices { get; }
void Shutdown();
void StartShutdown(eShutdownType type);
void StartRoomVacancyTimer(eVacancyMode mode);
void Shutdown();
void SetRoomOccupancy(IOccupancyStatusProvider statusProvider, int timeoutMinutes);
void PowerOnToDefaultOrLastSource();
void SetDefaultLevels();
void RoomVacatedForTimeoutPeriod(object o);
void PowerOnToDefaultOrLastSource();
}
}

View File

@@ -41,7 +41,6 @@ namespace PepperDash.Essentials.Core
void RunRouteAction(string routeKey, string sourceListKey);
void RunRouteAction(string routeKey, string sourceListKey, Action successCallback);
}
/// <summary>
@@ -78,4 +77,30 @@ namespace PepperDash.Essentials.Core
bool HasEnvironmentalControlDevices { get; }
}
public interface IRoomOccupancy:IKeyed
{
IOccupancyStatusProvider RoomOccupancy { get; }
bool OccupancyStatusProviderIsRemote { get; }
void SetRoomOccupancy(IOccupancyStatusProvider statusProvider, int timeoutMinutes);
void RoomVacatedForTimeoutPeriod(object o);
void StartRoomVacancyTimer(eVacancyMode mode);
eVacancyMode VacancyMode { get; }
event EventHandler<EventArgs> RoomOccupancyIsSet;
}
public interface IEmergency
{
EssentialsRoomEmergencyBase Emergency { get; }
}
public interface IMicrophonePrivacy
{
Core.Privacy.MicrophonePrivacyController MicrophonePrivacy { get; }
}
}