mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-02-16 21:24:54 +00:00
Merge pull request #855 from PepperDash/feature/cenodtcpoe-sensor-sensitivity-configuration
Feature/cenodtcpoe sensor sensitivity configuration
This commit is contained in:
@@ -46,6 +46,14 @@ namespace PepperDash.Essentials.Core.Bridges
|
|||||||
public JoinDataComplete RawOccupancyUsFeedback = new JoinDataComplete(new JoinData { JoinNumber = 7, JoinSpan = 1 },
|
public JoinDataComplete RawOccupancyUsFeedback = new JoinDataComplete(new JoinData { JoinNumber = 7, JoinSpan = 1 },
|
||||||
new JoinMetadata { Description = "Raw Occupancy Us Feedback", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
|
new JoinMetadata { Description = "Raw Occupancy Us Feedback", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
|
||||||
|
|
||||||
|
[JoinName("IdentityModeOn")]
|
||||||
|
public JoinDataComplete IdentityMode = new JoinDataComplete(new JoinData { JoinNumber = 8, JoinSpan = 1 },
|
||||||
|
new JoinMetadata { Description = "Enable Identity Mode", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
|
||||||
|
|
||||||
|
[JoinName("IdentityModeFeedback")]
|
||||||
|
public JoinDataComplete IdentityModeFeedback = new JoinDataComplete(new JoinData { JoinNumber = 8, JoinSpan = 1 },
|
||||||
|
new JoinMetadata { Description = "Identity Mode Feedback", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
|
||||||
|
|
||||||
[JoinName("EnableLedFlash")]
|
[JoinName("EnableLedFlash")]
|
||||||
public JoinDataComplete EnableLedFlash = new JoinDataComplete(new JoinData { JoinNumber = 11, JoinSpan = 1 },
|
public JoinDataComplete EnableLedFlash = new JoinDataComplete(new JoinData { JoinNumber = 11, JoinSpan = 1 },
|
||||||
new JoinMetadata { Description = "Enable Led Flash", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
|
new JoinMetadata { Description = "Enable Led Flash", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using System.Resources;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using Crestron.SimplSharp;
|
using Crestron.SimplSharp;
|
||||||
using Crestron.SimplSharpPro.DeviceSupport;
|
using Crestron.SimplSharpPro.DeviceSupport;
|
||||||
@@ -61,6 +62,8 @@ namespace PepperDash.Essentials.Core
|
|||||||
|
|
||||||
public BoolFeedback RawOccupancyUsFeedback { get; private set; }
|
public BoolFeedback RawOccupancyUsFeedback { get; private set; }
|
||||||
|
|
||||||
|
public BoolFeedback IdentityModeFeedback { get; private set; }
|
||||||
|
|
||||||
// Debug properties
|
// Debug properties
|
||||||
public bool InTestMode { get; private set; }
|
public bool InTestMode { get; private set; }
|
||||||
|
|
||||||
@@ -117,6 +120,8 @@ namespace PepperDash.Essentials.Core
|
|||||||
|
|
||||||
RawOccupancyUsFeedback = new BoolFeedback(() => OccSensor.RawOccupancyDetectedByUltrasonicSensorFeedback.BoolValue);
|
RawOccupancyUsFeedback = new BoolFeedback(() => OccSensor.RawOccupancyDetectedByUltrasonicSensorFeedback.BoolValue);
|
||||||
|
|
||||||
|
IdentityModeFeedback = new BoolFeedback(()=>OccSensor.IdentityModeOnFeedback.BoolValue);
|
||||||
|
|
||||||
UltrasonicSensitivityInVacantStateFeedback = new IntFeedback(() => (int)OccSensor.UltrasonicSensorSensitivityInVacantStateFeedback);
|
UltrasonicSensitivityInVacantStateFeedback = new IntFeedback(() => (int)OccSensor.UltrasonicSensorSensitivityInVacantStateFeedback);
|
||||||
|
|
||||||
UltrasonicSensitivityInOccupiedStateFeedback = new IntFeedback(() => (int)OccSensor.UltrasonicSensorSensitivityInOccupiedStateFeedback);
|
UltrasonicSensitivityInOccupiedStateFeedback = new IntFeedback(() => (int)OccSensor.UltrasonicSensorSensitivityInOccupiedStateFeedback);
|
||||||
@@ -199,6 +204,27 @@ namespace PepperDash.Essentials.Core
|
|||||||
{
|
{
|
||||||
SetAndWhenVacatedState((bool)PropertiesConfig.AndWhenVacatedState);
|
SetAndWhenVacatedState((bool)PropertiesConfig.AndWhenVacatedState);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO [ ] feature/cenoodtcpoe-sensor-sensitivity-configuration
|
||||||
|
if (PropertiesConfig.UsSensitivityOccupied != null)
|
||||||
|
{
|
||||||
|
SetUsSensitivityOccupied((ushort)PropertiesConfig.UsSensitivityOccupied);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (PropertiesConfig.UsSensitivityVacant != null)
|
||||||
|
{
|
||||||
|
SetUsSensitivityVacant((ushort)PropertiesConfig.UsSensitivityVacant);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (PropertiesConfig.PirSensitivityOccupied != null)
|
||||||
|
{
|
||||||
|
SetPirSensitivityOccupied((ushort)PropertiesConfig.PirSensitivityOccupied);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (PropertiesConfig.PirSensitivityVacant != null)
|
||||||
|
{
|
||||||
|
SetPirSensitivityVacant((ushort)PropertiesConfig.PirSensitivityVacant);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -279,7 +305,21 @@ namespace PepperDash.Essentials.Core
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
/// Sets the identity mode on or off
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="state"></param>
|
||||||
|
public void SetIdentityMode(bool state)
|
||||||
|
{
|
||||||
|
if (state)
|
||||||
|
OccSensor.IdentityModeOn();
|
||||||
|
else
|
||||||
|
OccSensor.IdentityModeOff();
|
||||||
|
|
||||||
|
Debug.Console(1, this, "Identity Mode: {0}", OccSensor.IdentityModeOnFeedback.BoolValue ? "On" : "Off");
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
/// Enables or disables the PIR sensor
|
/// Enables or disables the PIR sensor
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="state"></param>
|
/// <param name="state"></param>
|
||||||
@@ -506,6 +546,54 @@ namespace PepperDash.Essentials.Core
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sets the US sensor sensitivity for occupied state
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="sensitivity"></param>
|
||||||
|
public void SetUsSensitivityOccupied(ushort sensitivity)
|
||||||
|
{
|
||||||
|
var level = (eSensitivityLevel) sensitivity;
|
||||||
|
if (level == 0) return;
|
||||||
|
|
||||||
|
OccSensor.UltrasonicSensorSensitivityInOccupiedState = level;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sets the US sensor sensitivity for vacant state
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="sensitivity"></param>
|
||||||
|
public void SetUsSensitivityVacant(ushort sensitivity)
|
||||||
|
{
|
||||||
|
var level = (eSensitivityLevel)sensitivity;
|
||||||
|
if (level == 0) return;
|
||||||
|
|
||||||
|
OccSensor.UltrasonicSensorSensitivityInVacantState = level;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sets the PIR sensor sensitivity for occupied state
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="sensitivity"></param>
|
||||||
|
public void SetPirSensitivityOccupied(ushort sensitivity)
|
||||||
|
{
|
||||||
|
var level = (eSensitivityLevel)sensitivity;
|
||||||
|
if (level == 0) return;
|
||||||
|
|
||||||
|
OccSensor.PassiveInfraredSensorSensitivityInOccupiedState = level;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sets the PIR sensor sensitivity for vacant state
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="sensitivity"></param>
|
||||||
|
public void SetPirSensitivityVacant(ushort sensitivity)
|
||||||
|
{
|
||||||
|
var level = (eSensitivityLevel)sensitivity;
|
||||||
|
if (level == 0) return;
|
||||||
|
|
||||||
|
OccSensor.PassiveInfraredSensorSensitivityInVacantState = level;
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Method to print current settings to console
|
/// Method to print current settings to console
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -647,8 +735,11 @@ namespace PepperDash.Essentials.Core
|
|||||||
|
|
||||||
//Sensor Raw States
|
//Sensor Raw States
|
||||||
occController.RawOccupancyPirFeedback.LinkInputSig(trilist.BooleanInput[joinMap.RawOccupancyPirFeedback.JoinNumber]);
|
occController.RawOccupancyPirFeedback.LinkInputSig(trilist.BooleanInput[joinMap.RawOccupancyPirFeedback.JoinNumber]);
|
||||||
occController.RawOccupancyUsFeedback.LinkInputSig(trilist.BooleanInput[joinMap.RawOccupancyUsFeedback.JoinNumber]);
|
occController.RawOccupancyUsFeedback.LinkInputSig(trilist.BooleanInput[joinMap.RawOccupancyUsFeedback.JoinNumber]);
|
||||||
|
|
||||||
|
// Identity mode
|
||||||
|
trilist.SetBoolSigAction(joinMap.IdentityMode.JoinNumber, occController.SetIdentityMode);
|
||||||
|
occController.IdentityModeFeedback.LinkInputSig(trilist.BooleanInput[joinMap.IdentityModeFeedback.JoinNumber]);
|
||||||
}
|
}
|
||||||
|
|
||||||
public class CenOdtOccupancySensorBaseControllerFactory : EssentialsDeviceFactory<CenOdtOccupancySensorBaseController>
|
public class CenOdtOccupancySensorBaseControllerFactory : EssentialsDeviceFactory<CenOdtOccupancySensorBaseController>
|
||||||
|
|||||||
@@ -47,5 +47,35 @@ namespace PepperDash.Essentials.Core
|
|||||||
|
|
||||||
[JsonProperty("andWhenVacatedState")]
|
[JsonProperty("andWhenVacatedState")]
|
||||||
public bool? AndWhenVacatedState { get; set; }
|
public bool? AndWhenVacatedState { get; set; }
|
||||||
|
|
||||||
|
// PoE Sensors: CenOdtCPoe
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sets the sensitivity level for US while sensor is in occupied state
|
||||||
|
/// 1 = low; 2 = medium; 3 = high; 4 = xlow; 5 = 2xlow; 6 = 3xlow
|
||||||
|
/// </summary>
|
||||||
|
[JsonProperty("usSensitivityOccupied")]
|
||||||
|
public ushort? UsSensitivityOccupied { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sets the sensitivity level for US while sensor is in vacant state
|
||||||
|
/// 1 = low; 2 = medium; 3 = high; 4 = xlow; 5 = 2xlow; 6 = 3xlow
|
||||||
|
/// </summary>
|
||||||
|
[JsonProperty("usSensitivityVacant")]
|
||||||
|
public ushort? UsSensitivityVacant { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sets the sensitivity level for PIR while sensor is in occupied state
|
||||||
|
/// 1 = low; 2 = medium; 3 = high
|
||||||
|
/// </summary>
|
||||||
|
[JsonProperty("pirSensitivityOccupied")]
|
||||||
|
public ushort? PirSensitivityOccupied { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sets the sensitivity level for PIR while sensor is in vacant state
|
||||||
|
/// 1 = low; 2 = medium; 3 = high
|
||||||
|
/// </summary>
|
||||||
|
[JsonProperty("pirSensitivityVacant")]
|
||||||
|
public ushort? PirSensitivityVacant { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user