Add support to expose names - fix some issues with feedbacks from occ sensors

This commit is contained in:
Trevor Payne
2020-03-03 12:37:19 -06:00
parent cd15b4e93b
commit 6c32c6154e
4 changed files with 155 additions and 134 deletions

View File

@@ -31,6 +31,7 @@ namespace PepperDash.Essentials.Bridges
#region Single and Dual Sensor Stuff #region Single and Dual Sensor Stuff
occController.IsOnline.LinkInputSig(trilist.BooleanInput[joinMap.IsOnline]); occController.IsOnline.LinkInputSig(trilist.BooleanInput[joinMap.IsOnline]);
trilist.StringInput[joinMap.Name].StringValue = occController.Name;
// Occupied status // Occupied status
trilist.SetSigTrueAction(joinMap.ForceOccupied, new Action(() => occController.ForceOccupied())); trilist.SetSigTrueAction(joinMap.ForceOccupied, new Action(() => occController.ForceOccupied()));
@@ -38,6 +39,7 @@ namespace PepperDash.Essentials.Bridges
occController.RoomIsOccupiedFeedback.LinkInputSig(trilist.BooleanInput[joinMap.RoomOccupiedFeedback]); occController.RoomIsOccupiedFeedback.LinkInputSig(trilist.BooleanInput[joinMap.RoomOccupiedFeedback]);
occController.RoomIsOccupiedFeedback.LinkComplementInputSig(trilist.BooleanInput[joinMap.RoomVacantFeedback]); occController.RoomIsOccupiedFeedback.LinkComplementInputSig(trilist.BooleanInput[joinMap.RoomVacantFeedback]);
occController.RawOccupancyFeedback.LinkInputSig(trilist.BooleanInput[joinMap.RawOccupancyFeedback]); occController.RawOccupancyFeedback.LinkInputSig(trilist.BooleanInput[joinMap.RawOccupancyFeedback]);
trilist.SetBoolSigAction(joinMap.EnableRawStates, new Action<bool>((b) => occController.EnableRawStates(b)));
// Timouts // Timouts
trilist.SetUShortSigAction(joinMap.Timeout, new Action<ushort>((u) => occController.SetRemoteTimeout(u))); trilist.SetUShortSigAction(joinMap.Timeout, new Action<ushort>((u) => occController.SetRemoteTimeout(u)));

View File

@@ -137,6 +137,10 @@ namespace PepperDash.Essentials.Bridges
public uint PirSensitivityInVacantState { get; set; } public uint PirSensitivityInVacantState { get; set; }
#endregion #endregion
#region Serial
public uint Name { get; set; }
#endregion
public GlsOccupancySensorBaseJoinMap() public GlsOccupancySensorBaseJoinMap()
{ {
IsOnline = 1; IsOnline = 1;
@@ -178,6 +182,9 @@ namespace PepperDash.Essentials.Bridges
UsSensitivityInVacantState = 6; UsSensitivityInVacantState = 6;
PirSensitivityInOccupiedState = 7; PirSensitivityInOccupiedState = 7;
PirSensitivityInVacantState = 8; PirSensitivityInVacantState = 8;
Name = 1;
} }
public override void OffsetJoinNumbers(uint joinStart) public override void OffsetJoinNumbers(uint joinStart)
@@ -224,6 +231,8 @@ namespace PepperDash.Essentials.Bridges
UsSensitivityInVacantState = UsSensitivityInVacantState + joinOffset; UsSensitivityInVacantState = UsSensitivityInVacantState + joinOffset;
PirSensitivityInOccupiedState = PirSensitivityInOccupiedState + joinOffset; PirSensitivityInOccupiedState = PirSensitivityInOccupiedState + joinOffset;
PirSensitivityInVacantState = PirSensitivityInVacantState + joinOffset; PirSensitivityInVacantState = PirSensitivityInVacantState + joinOffset;
Name = Name + joinOffset;
} }
} }

View File

@@ -77,6 +77,16 @@ namespace PepperDash.Essentials.Devices.Common.Occupancy
UltrasonicSensitivityInOccupiedStateFeedback.FireUpdate(); UltrasonicSensitivityInOccupiedStateFeedback.FireUpdate();
else if (args.EventId == GlsOccupancySensorBase.UsSensitivityInVacantStateFeedbackEventId) else if (args.EventId == GlsOccupancySensorBase.UsSensitivityInVacantStateFeedbackEventId)
UltrasonicSensitivityInVacantStateFeedback.FireUpdate(); UltrasonicSensitivityInVacantStateFeedback.FireUpdate();
else if (args.EventId == GlsOccupancySensorBase.RawOccupancyPirFeedbackEventId)
{
Debug.Console(2, this, "Occsensor has had Raw PIR");
RawOccupancyPirFeedback.FireUpdate();
}
else if (args.EventId == GlsOccupancySensorBase.RawOccupancyUsFeedbackEventId)
{
Debug.Console(2, this, "Occsensor has had Raw US");
RawOccupancyUsFeedback.FireUpdate();
}
base.OccSensor_GlsOccupancySensorChange(device, args); base.OccSensor_GlsOccupancySensorChange(device, args);
} }