diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Fusion/EssentialsHuddleSpaceFusionSystemControllerBase.cs b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Fusion/EssentialsHuddleSpaceFusionSystemControllerBase.cs
index 1134f3e2..2fb9db12 100644
--- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Fusion/EssentialsHuddleSpaceFusionSystemControllerBase.cs
+++ b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Fusion/EssentialsHuddleSpaceFusionSystemControllerBase.cs
@@ -105,7 +105,9 @@ namespace PepperDash.Essentials.Core.Fusion
// Default poll time is 5 min unless overridden by config value
public long SchedulePollInterval = 300000;
- public long PushNotificationTimeout = 5000;
+ public long PushNotificationTimeout = 5000;
+
+ private const string RemoteOccupancyXml = "Local{0}";
protected Dictionary FusionStaticAssets;
@@ -115,7 +117,10 @@ namespace PepperDash.Essentials.Core.Fusion
// For use with occ sensor attached to a scheduling panel in Fusion
protected FusionOccupancySensorAsset FusionOccSensor;
- public BoolFeedback RoomIsOccupiedFeedback { get; private set; }
+ public BoolFeedback RoomIsOccupiedFeedback { get; private set; }
+
+ private string _roomOccupancyRemoteString;
+ public StringFeedback RoomOccupancyRemoteStringFeedback { get; private set; }
protected Func RoomIsOccupiedFeedbackFunc
{
@@ -1365,14 +1370,24 @@ namespace PepperDash.Essentials.Core.Fusion
var occSensorShutdownMinutes = FusionRoom.CreateOffsetUshortSig(70, "Occ Shutdown - Minutes", eSigIoMask.InputOutputSig);
// Tie to method on occupancy object
- //occSensorShutdownMinutes.OutputSig.UserObject(new Action(ushort)(b => Room.OccupancyObj.SetShutdownMinutes(b));
+ //occSensorShutdownMinutes.OutputSig.UserObject(new Action(ushort)(b => Room.OccupancyObj.SetShutdownMinutes(b));
+
+
+ RoomOccupancyRemoteStringFeedback = new StringFeedback(() => _roomOccupancyRemoteString);
+ Room.RoomOccupancy.RoomIsOccupiedFeedback.LinkInputSig(occSensorAsset.RoomOccupied.InputSig);
+ Room.RoomOccupancy.RoomIsOccupiedFeedback.OutputChange += RoomIsOccupiedFeedback_OutputChange;
+ RoomOccupancyRemoteStringFeedback.LinkInputSig(occSensorAsset.RoomOccupancyInfo.InputSig);
-
- Room.RoomOccupancy.RoomIsOccupiedFeedback.LinkInputSig(occSensorAsset.RoomOccupied.InputSig);
//}
- }
-
- ///
+ }
+
+ void RoomIsOccupiedFeedback_OutputChange(object sender, FeedbackEventArgs e)
+ {
+ _roomOccupancyRemoteString = String.Format(RemoteOccupancyXml, e.BoolValue ? "Occupied" : "Unoccupied");
+ RoomOccupancyRemoteStringFeedback.FireUpdate();
+ }
+
+ ///
/// Helper to get the number from the end of a device's key string
///
/// -1 if no number matched