diff --git a/src/PepperDash.Essentials.Core/Fusion/IEssentialsRoomFusionController.cs b/src/PepperDash.Essentials.Core/Fusion/IEssentialsRoomFusionController.cs index 1f21cbe6..593c9cce 100644 --- a/src/PepperDash.Essentials.Core/Fusion/IEssentialsRoomFusionController.cs +++ b/src/PepperDash.Essentials.Core/Fusion/IEssentialsRoomFusionController.cs @@ -20,7 +20,7 @@ namespace PepperDash.Essentials.Core.Fusion /// /// Represents a EssentialsHuddleSpaceFusionSystemControllerBase /// - public class IEssentialsRoomFusionController : EssentialsDevice, IOccupancyStatusProvider, IFusionHelpRequest + public class IEssentialsRoomFusionController : EssentialsDevice, IOccupancyStatusProvider, IFusionHelpRequest, IHasFeedback { private IEssentialsRoomFusionControllerPropertiesConfig _config; @@ -240,6 +240,19 @@ namespace PepperDash.Essentials.Core.Fusion this.LogDebug("Occupancy setup complete"); + HelpRequestResponseFeedback = new StringFeedback("HelpRequestResponse", () => FusionRoom.Help.OutputSig.StringValue); + + HelpRequestSentFeedback = new BoolFeedback("HelpRequestSent", () => _helpRequestSent); + HelpRequestStatusFeedback = new StringFeedback("HelpRequestStatus", () => _helpRequestStatus.ToString()); + + Feedbacks.Add(HelpRequestResponseFeedback); + Feedbacks.Add(HelpRequestSentFeedback); + Feedbacks.Add(HelpRequestStatusFeedback); + if (RoomOccupancyRemoteStringFeedback != null) + Feedbacks.Add(RoomOccupancyRemoteStringFeedback); + if (RoomIsOccupiedFeedback != null) + Feedbacks.Add(RoomIsOccupiedFeedback); + } catch (Exception e) { @@ -303,10 +316,6 @@ namespace PepperDash.Essentials.Core.Fusion FusionRVI.GenerateFileForAllFusionDevices(); - HelpRequestResponseFeedback = new StringFeedback("HelpRequestResponse", () => FusionRoom.Help.OutputSig.StringValue); - - HelpRequestSentFeedback = new BoolFeedback("HelpRequestSent", () => _helpRequestSent); - HelpRequestStatusFeedback = new StringFeedback("HelpRequestStatus", () => _helpRequestStatus.ToString()); } /// @@ -339,6 +348,11 @@ namespace PepperDash.Essentials.Core.Fusion #endregion + + /// + public FeedbackCollection Feedbacks { get; private set; } = new FeedbackCollection(); + + /// /// ScheduleChange event /// @@ -1772,7 +1786,7 @@ namespace PepperDash.Essentials.Core.Fusion { if (args.EventId == FusionEventIds.HelpMessageReceivedEventId) { - this.LogInformation( "Help message received from Fusion for room '{0}'", + this.LogInformation("Help message received from Fusion for room '{0}'", Room.Name); this.LogDebug("Help message content: {0}", FusionRoom.Help.OutputSig.StringValue); @@ -1818,12 +1832,12 @@ namespace PepperDash.Essentials.Core.Fusion _helpRequestStatus = eFusionHelpResponse.None; } - if(_helpRequestStatus == eFusionHelpResponse.None) + if (_helpRequestStatus == eFusionHelpResponse.None) { _helpRequestSent = false; HelpRequestSentFeedback.FireUpdate(); } - + HelpRequestStatusFeedback.FireUpdate(); } diff --git a/src/PepperDash.Essentials.Devices.Common/Generic/GenericSink.cs b/src/PepperDash.Essentials.Devices.Common/Generic/GenericSink.cs index 03c58b2c..8f2fc1e2 100644 --- a/src/PepperDash.Essentials.Devices.Common/Generic/GenericSink.cs +++ b/src/PepperDash.Essentials.Devices.Common/Generic/GenericSink.cs @@ -1,5 +1,6 @@ using System.Collections.Generic; using PepperDash.Core; +using PepperDash.Core.Logging; using PepperDash.Essentials.Core; using PepperDash.Essentials.Core.Config; using Serilog.Events; @@ -73,7 +74,7 @@ namespace PepperDash.Essentials.Devices.Common.Generic /// public void ExecuteSwitch(object inputSelector) { - throw new System.NotImplementedException(); + this.LogDebug("GenericSink Executing Switch to: {inputSelector}", inputSelector); } }