mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-02-16 05:05:00 +00:00
Add support to expose names - fix some issues with feedbacks from occ sensors
This commit is contained in:
@@ -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)));
|
||||||
|
|||||||
@@ -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;
|
||||||
@@ -177,7 +181,10 @@ namespace PepperDash.Essentials.Bridges
|
|||||||
UsSensitivityInOccupiedState = 5;
|
UsSensitivityInOccupiedState = 5;
|
||||||
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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,65 +1,65 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using Crestron.SimplSharp;
|
using Crestron.SimplSharp;
|
||||||
using Crestron.SimplSharpPro.GeneralIO;
|
using Crestron.SimplSharpPro.GeneralIO;
|
||||||
|
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core;
|
using PepperDash.Essentials.Core;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Devices.Common.Occupancy
|
namespace PepperDash.Essentials.Devices.Common.Occupancy
|
||||||
{
|
{
|
||||||
public class GlsOdtOccupancySensorController : GlsOccupancySensorBaseController
|
public class GlsOdtOccupancySensorController : GlsOccupancySensorBaseController
|
||||||
{
|
{
|
||||||
public new GlsOdtCCn OccSensor { get; private set; }
|
public new GlsOdtCCn OccSensor { get; private set; }
|
||||||
|
|
||||||
public BoolFeedback OrWhenVacatedFeedback { get; private set; }
|
public BoolFeedback OrWhenVacatedFeedback { get; private set; }
|
||||||
|
|
||||||
public BoolFeedback AndWhenVacatedFeedback { get; private set; }
|
public BoolFeedback AndWhenVacatedFeedback { get; private set; }
|
||||||
|
|
||||||
public BoolFeedback UltrasonicAEnabledFeedback { get; private set; }
|
public BoolFeedback UltrasonicAEnabledFeedback { get; private set; }
|
||||||
|
|
||||||
public BoolFeedback UltrasonicBEnabledFeedback { get; private set; }
|
public BoolFeedback UltrasonicBEnabledFeedback { get; private set; }
|
||||||
|
|
||||||
public IntFeedback UltrasonicSensitivityInVacantStateFeedback { get; private set; }
|
public IntFeedback UltrasonicSensitivityInVacantStateFeedback { get; private set; }
|
||||||
|
|
||||||
public IntFeedback UltrasonicSensitivityInOccupiedStateFeedback { get; private set; }
|
public IntFeedback UltrasonicSensitivityInOccupiedStateFeedback { get; private set; }
|
||||||
|
|
||||||
public BoolFeedback RawOccupancyPirFeedback { get; private set; }
|
public BoolFeedback RawOccupancyPirFeedback { get; private set; }
|
||||||
|
|
||||||
public BoolFeedback RawOccupancyUsFeedback { get; private set; }
|
public BoolFeedback RawOccupancyUsFeedback { get; private set; }
|
||||||
|
|
||||||
|
|
||||||
public GlsOdtOccupancySensorController(string key, string name, GlsOdtCCn sensor)
|
public GlsOdtOccupancySensorController(string key, string name, GlsOdtCCn sensor)
|
||||||
: base(key, name, sensor)
|
: base(key, name, sensor)
|
||||||
{
|
{
|
||||||
OccSensor = sensor;
|
OccSensor = sensor;
|
||||||
|
|
||||||
AndWhenVacatedFeedback = new BoolFeedback(() => OccSensor.AndWhenVacatedFeedback.BoolValue);
|
AndWhenVacatedFeedback = new BoolFeedback(() => OccSensor.AndWhenVacatedFeedback.BoolValue);
|
||||||
|
|
||||||
OrWhenVacatedFeedback = new BoolFeedback(() => OccSensor.OrWhenVacatedFeedback.BoolValue);
|
OrWhenVacatedFeedback = new BoolFeedback(() => OccSensor.OrWhenVacatedFeedback.BoolValue);
|
||||||
|
|
||||||
UltrasonicAEnabledFeedback = new BoolFeedback(() => OccSensor.UsAEnabledFeedback.BoolValue);
|
UltrasonicAEnabledFeedback = new BoolFeedback(() => OccSensor.UsAEnabledFeedback.BoolValue);
|
||||||
|
|
||||||
UltrasonicBEnabledFeedback = new BoolFeedback(() => OccSensor.UsBEnabledFeedback.BoolValue);
|
UltrasonicBEnabledFeedback = new BoolFeedback(() => OccSensor.UsBEnabledFeedback.BoolValue);
|
||||||
|
|
||||||
RawOccupancyPirFeedback = new BoolFeedback(() => OccSensor.RawOccupancyPirFeedback.BoolValue);
|
RawOccupancyPirFeedback = new BoolFeedback(() => OccSensor.RawOccupancyPirFeedback.BoolValue);
|
||||||
|
|
||||||
RawOccupancyUsFeedback = new BoolFeedback(() => OccSensor.RawOccupancyUsFeedback.BoolValue);
|
RawOccupancyUsFeedback = new BoolFeedback(() => OccSensor.RawOccupancyUsFeedback.BoolValue);
|
||||||
|
|
||||||
UltrasonicSensitivityInVacantStateFeedback = new IntFeedback(() => OccSensor.UsSensitivityInVacantStateFeedback.UShortValue);
|
UltrasonicSensitivityInVacantStateFeedback = new IntFeedback(() => OccSensor.UsSensitivityInVacantStateFeedback.UShortValue);
|
||||||
|
|
||||||
UltrasonicSensitivityInOccupiedStateFeedback = new IntFeedback(() => OccSensor.UsSensitivityInOccupiedStateFeedback.UShortValue);
|
UltrasonicSensitivityInOccupiedStateFeedback = new IntFeedback(() => OccSensor.UsSensitivityInOccupiedStateFeedback.UShortValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Overrides the base class event delegate to fire feedbacks for event IDs that pertain to this extended class.
|
/// Overrides the base class event delegate to fire feedbacks for event IDs that pertain to this extended class.
|
||||||
/// Then calls the base delegate method to ensure any common event IDs are captured.
|
/// Then calls the base delegate method to ensure any common event IDs are captured.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="device"></param>
|
/// <param name="device"></param>
|
||||||
/// <param name="args"></param>
|
/// <param name="args"></param>
|
||||||
protected override void OccSensor_GlsOccupancySensorChange(GlsOccupancySensorBase device, GlsOccupancySensorChangeEventArgs args)
|
protected override void OccSensor_GlsOccupancySensorChange(GlsOccupancySensorBase device, GlsOccupancySensorChangeEventArgs args)
|
||||||
{
|
{
|
||||||
if (args.EventId == GlsOccupancySensorBase.AndWhenVacatedFeedbackEventId)
|
if (args.EventId == GlsOccupancySensorBase.AndWhenVacatedFeedbackEventId)
|
||||||
AndWhenVacatedFeedback.FireUpdate();
|
AndWhenVacatedFeedback.FireUpdate();
|
||||||
@@ -77,83 +77,93 @@ 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)
|
||||||
base.OccSensor_GlsOccupancySensorChange(device, args);
|
{
|
||||||
}
|
Debug.Console(2, this, "Occsensor has had Raw PIR");
|
||||||
|
RawOccupancyPirFeedback.FireUpdate();
|
||||||
/// <summary>
|
}
|
||||||
/// Sets the OrWhenVacated state
|
else if (args.EventId == GlsOccupancySensorBase.RawOccupancyUsFeedbackEventId)
|
||||||
/// </summary>
|
{
|
||||||
/// <param name="state"></param>
|
Debug.Console(2, this, "Occsensor has had Raw US");
|
||||||
public void SetOrWhenVacatedState(bool state)
|
RawOccupancyUsFeedback.FireUpdate();
|
||||||
{
|
}
|
||||||
OccSensor.OrWhenVacated.BoolValue = state;
|
|
||||||
}
|
base.OccSensor_GlsOccupancySensorChange(device, args);
|
||||||
|
}
|
||||||
/// <summary>
|
|
||||||
/// Sets the AndWhenVacated state
|
/// <summary>
|
||||||
/// </summary>
|
/// Sets the OrWhenVacated state
|
||||||
/// <param name="state"></param>
|
/// </summary>
|
||||||
public void SetAndWhenVacatedState(bool state)
|
/// <param name="state"></param>
|
||||||
{
|
public void SetOrWhenVacatedState(bool state)
|
||||||
OccSensor.AndWhenVacated.BoolValue = state;
|
{
|
||||||
}
|
OccSensor.OrWhenVacated.BoolValue = state;
|
||||||
|
}
|
||||||
/// <summary>
|
|
||||||
/// Enables or disables the Ultrasonic A sensor
|
/// <summary>
|
||||||
/// </summary>
|
/// Sets the AndWhenVacated state
|
||||||
/// <param name="state"></param>
|
/// </summary>
|
||||||
public void SetUsAEnable(bool state)
|
/// <param name="state"></param>
|
||||||
{
|
public void SetAndWhenVacatedState(bool state)
|
||||||
if (state)
|
{
|
||||||
{
|
OccSensor.AndWhenVacated.BoolValue = state;
|
||||||
OccSensor.EnableUsA.BoolValue = state;
|
}
|
||||||
OccSensor.DisableUsA.BoolValue = !state;
|
|
||||||
}
|
/// <summary>
|
||||||
else
|
/// Enables or disables the Ultrasonic A sensor
|
||||||
{
|
/// </summary>
|
||||||
OccSensor.EnableUsA.BoolValue = state;
|
/// <param name="state"></param>
|
||||||
OccSensor.DisableUsA.BoolValue = !state;
|
public void SetUsAEnable(bool state)
|
||||||
}
|
{
|
||||||
}
|
if (state)
|
||||||
|
{
|
||||||
|
OccSensor.EnableUsA.BoolValue = state;
|
||||||
/// <summary>
|
OccSensor.DisableUsA.BoolValue = !state;
|
||||||
/// Enables or disables the Ultrasonic B sensor
|
}
|
||||||
/// </summary>
|
else
|
||||||
/// <param name="state"></param>
|
{
|
||||||
public void SetUsBEnable(bool state)
|
OccSensor.EnableUsA.BoolValue = state;
|
||||||
{
|
OccSensor.DisableUsA.BoolValue = !state;
|
||||||
if (state)
|
}
|
||||||
{
|
}
|
||||||
OccSensor.EnableUsB.BoolValue = state;
|
|
||||||
OccSensor.DisableUsB.BoolValue = !state;
|
|
||||||
}
|
/// <summary>
|
||||||
else
|
/// Enables or disables the Ultrasonic B sensor
|
||||||
{
|
/// </summary>
|
||||||
OccSensor.EnableUsB.BoolValue = state;
|
/// <param name="state"></param>
|
||||||
OccSensor.DisableUsB.BoolValue = !state;
|
public void SetUsBEnable(bool state)
|
||||||
}
|
{
|
||||||
}
|
if (state)
|
||||||
|
{
|
||||||
public void IncrementUsSensitivityInOccupiedState(bool pressRelease)
|
OccSensor.EnableUsB.BoolValue = state;
|
||||||
{
|
OccSensor.DisableUsB.BoolValue = !state;
|
||||||
OccSensor.IncrementUsSensitivityInOccupiedState.BoolValue = pressRelease;
|
}
|
||||||
}
|
else
|
||||||
|
{
|
||||||
public void DecrementUsSensitivityInOccupiedState(bool pressRelease)
|
OccSensor.EnableUsB.BoolValue = state;
|
||||||
{
|
OccSensor.DisableUsB.BoolValue = !state;
|
||||||
OccSensor.DecrementUsSensitivityInOccupiedState.BoolValue = pressRelease;
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void IncrementUsSensitivityInVacantState(bool pressRelease)
|
public void IncrementUsSensitivityInOccupiedState(bool pressRelease)
|
||||||
{
|
{
|
||||||
OccSensor.IncrementUsSensitivityInVacantState.BoolValue = pressRelease;
|
OccSensor.IncrementUsSensitivityInOccupiedState.BoolValue = pressRelease;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void DecrementUsSensitivityInVacantState(bool pressRelease)
|
public void DecrementUsSensitivityInOccupiedState(bool pressRelease)
|
||||||
{
|
{
|
||||||
OccSensor.DecrementUsSensitivityInVacantState.BoolValue = pressRelease;
|
OccSensor.DecrementUsSensitivityInOccupiedState.BoolValue = pressRelease;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
public void IncrementUsSensitivityInVacantState(bool pressRelease)
|
||||||
|
{
|
||||||
|
OccSensor.IncrementUsSensitivityInVacantState.BoolValue = pressRelease;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void DecrementUsSensitivityInVacantState(bool pressRelease)
|
||||||
|
{
|
||||||
|
OccSensor.DecrementUsSensitivityInVacantState.BoolValue = pressRelease;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user