properly defines the IsWarming/Cooling FeedbackFuncs and fires feedbacks

This commit is contained in:
Neil Dorin
2020-12-18 14:34:15 -07:00
parent 522c107ce6
commit 870f2f8fa6

View File

@@ -28,6 +28,33 @@ namespace PepperDash.Essentials
private Dictionary<string, string> _currentPresets; private Dictionary<string, string> _currentPresets;
private ScheduledEventGroup _roomScheduledEventGroup; private ScheduledEventGroup _roomScheduledEventGroup;
/// <summary>
///
/// </summary>
protected override Func<bool> IsWarmingFeedbackFunc
{
get
{
return () =>
{
return _displays.All(kv => kv.Value.IsWarmingUpFeedback.BoolValue);
};
}
}
/// <summary>
///
/// </summary>
protected override Func<bool> IsCoolingFeedbackFunc
{
get
{
return () =>
{
return _displays.All(kv => kv.Value.IsCoolingDownFeedback.BoolValue);
};
}
}
public EssentialsTechRoom(DeviceConfig config) : base(config) public EssentialsTechRoom(DeviceConfig config) : base(config)
{ {
_config = config.Properties.ToObject<EssentialsTechRoomConfig>(); _config = config.Properties.ToObject<EssentialsTechRoomConfig>();
@@ -111,7 +138,12 @@ namespace PepperDash.Essentials
foreach (var display in _displays) foreach (var display in _displays)
{ {
display.Value.PowerIsOnFeedback.OutputChange += display.Value.PowerIsOnFeedback.OutputChange +=
(sender, args) => RoomPowerIsOnFeedback.InvokeFireUpdate(); (sender, args) =>
{
RoomPowerIsOnFeedback.InvokeFireUpdate();
IsWarmingUpFeedback.InvokeFireUpdate();
IsCoolingDownFeedback.InvokeFireUpdate();
};
} }
} }
@@ -281,16 +313,6 @@ namespace PepperDash.Essentials
#region Overrides of EssentialsRoomBase #region Overrides of EssentialsRoomBase
protected override Func<bool> IsWarmingFeedbackFunc
{
get { return () => false; }
}
protected override Func<bool> IsCoolingFeedbackFunc
{
get { return () => false; }
}
protected override Func<bool> OnFeedbackFunc protected override Func<bool> OnFeedbackFunc
{ {
get { return () => RoomPowerIsOn; } get { return () => RoomPowerIsOn; }