From 5c016fb4b8d2520a0037541af58f0dc414fe4e56 Mon Sep 17 00:00:00 2001 From: Neil Dorin Date: Mon, 24 Nov 2025 17:14:34 -0700 Subject: [PATCH] feat: implement IHasFeedback interface in IEssentialsRoomFusionController --- .../Fusion/IEssentialsRoomFusionController.cs | 29 ++++++++++++++----- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/src/PepperDash.Essentials.Core/Fusion/IEssentialsRoomFusionController.cs b/src/PepperDash.Essentials.Core/Fusion/IEssentialsRoomFusionController.cs index 1f21cbe6..59a78ffb 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,18 @@ 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); + Feedbacks.Add(RoomOccupancyRemoteStringFeedback); + Feedbacks.Add(RoomIsOccupiedFeedback); + + } catch (Exception e) { @@ -303,10 +315,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 +347,11 @@ namespace PepperDash.Essentials.Core.Fusion #endregion + + /// + public FeedbackCollection Feedbacks { get; private set; } = new FeedbackCollection(); + + /// /// ScheduleChange event /// @@ -1772,7 +1785,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 +1831,12 @@ namespace PepperDash.Essentials.Core.Fusion _helpRequestStatus = eFusionHelpResponse.None; } - if(_helpRequestStatus == eFusionHelpResponse.None) + if (_helpRequestStatus == eFusionHelpResponse.None) { _helpRequestSent = false; HelpRequestSentFeedback.FireUpdate(); } - + HelpRequestStatusFeedback.FireUpdate(); }