Adds proper xml string to send to RemoteOccupancyInfo

Resovles #226
This commit is contained in:
Trevor Payne
2020-06-04 15:23:20 -05:00
parent eab0d2b1d7
commit 9517eaa0b0

View File

@@ -117,6 +117,9 @@ namespace PepperDash.Essentials.Core.Fusion
public BoolFeedback RoomIsOccupiedFeedback { get; private set; } public BoolFeedback RoomIsOccupiedFeedback { get; private set; }
private string _roomOccupancyRemoteString;
public StringFeedback RoomOccupancyRemoteStringFeedback { get; private set; }
protected Func<bool> RoomIsOccupiedFeedbackFunc protected Func<bool> RoomIsOccupiedFeedbackFunc
{ {
get get
@@ -1368,10 +1371,21 @@ namespace PepperDash.Essentials.Core.Fusion
//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.LinkInputSig(occSensorAsset.RoomOccupied.InputSig);
Room.RoomOccupancy.RoomIsOccupiedFeedback.OutputChange += RoomIsOccupiedFeedback_OutputChange;
RoomOccupancyRemoteStringFeedback.LinkInputSig(occSensorAsset.RoomOccupancyInfo.InputSig);
//} //}
} }
void RoomIsOccupiedFeedback_OutputChange(object sender, FeedbackEventArgs e)
{
_roomOccupancyRemoteString = e.BoolValue ? @"<Occupancy><Type>Local</Type><State>Occupied</State></Occupancy>"
: @"<Occupancy><Type>Local</Type><State>Unoccupied</State></Occupancy>";
RoomOccupancyRemoteStringFeedback.FireUpdate();
}
/// <summary> /// <summary>
/// Helper to get the number from the end of a device's key string /// Helper to get the number from the end of a device's key string
/// </summary> /// </summary>