mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-02-15 12:44:58 +00:00
Merge pull request #1015 from PepperDash/hotfix/shade-interface-updates
fix(essentials): Updates to shade interfaces to clarify functionality
This commit is contained in:
@@ -97,10 +97,10 @@ namespace PepperDash.Essentials
|
|||||||
{
|
{
|
||||||
TriList.SetSigFalseAction(ButtonPressJoinBase + 1, ShadeDevice.Open);
|
TriList.SetSigFalseAction(ButtonPressJoinBase + 1, ShadeDevice.Open);
|
||||||
|
|
||||||
TriList.SetSigFalseAction(ButtonPressJoinBase + 2, (ShadeDevice as IShadesOpenCloseStop).StopOrPreset);
|
TriList.SetSigFalseAction(ButtonPressJoinBase + 2, (ShadeDevice as IShadesOpenCloseStop).Stop);
|
||||||
|
|
||||||
if(ShadeDevice is RelayControlledShade)
|
if (ShadeDevice is IShadesOpenCloseStop)
|
||||||
TriList.SetString(StringJoinBase + 2, (ShadeDevice as RelayControlledShade).StopOrPresetButtonLabel);
|
TriList.SetString(StringJoinBase + 2, "Stop");
|
||||||
|
|
||||||
TriList.SetSigFalseAction(ButtonPressJoinBase + 3, ShadeDevice.Close);
|
TriList.SetSigFalseAction(ButtonPressJoinBase + 3, ShadeDevice.Close);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ namespace PepperDash.Essentials.Core.Shades
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Requirements for a device that implements basic Open/Close shade control
|
/// Requirements for a device that implements basic Open/Close shade control
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Obsolete("Please use IShadesOpenCloseStop instead")]
|
||||||
public interface IShadesOpenClose
|
public interface IShadesOpenClose
|
||||||
{
|
{
|
||||||
void Open();
|
void Open();
|
||||||
@@ -28,15 +29,26 @@ namespace PepperDash.Essentials.Core.Shades
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Requirements for a device that implements basic Open/Close/Stop shade control (Uses 3 relays)
|
/// Requirements for a device that implements basic Open/Close/Stop shade control (Uses 3 relays)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public interface IShadesOpenCloseStop : IShadesOpenClose
|
public interface IShadesOpenCloseStop
|
||||||
{
|
{
|
||||||
void StopOrPreset();
|
void Open();
|
||||||
|
void Close();
|
||||||
|
void Stop();
|
||||||
|
}
|
||||||
|
|
||||||
|
public interface IShadesOpenClosePreset : IShadesOpenCloseStop
|
||||||
|
{
|
||||||
|
void RecallPreset(uint presetNumber);
|
||||||
|
void SavePreset(uint presetNumber);
|
||||||
string StopOrPresetButtonLabel { get; }
|
string StopOrPresetButtonLabel { get; }
|
||||||
|
|
||||||
|
event EventHandler PresetSaved;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Requirements for a shade that implements press/hold raise/lower functions
|
/// Requirements for a shade that implements press/hold raise/lower functions
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Obsolete("Please use IShadesOpenCloseStop instead")]
|
||||||
public interface IShadesRaiseLower
|
public interface IShadesRaiseLower
|
||||||
{
|
{
|
||||||
void Raise(bool state);
|
void Raise(bool state);
|
||||||
@@ -55,7 +67,7 @@ namespace PepperDash.Essentials.Core.Shades
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Requirements for a shade/scene that is open or closed
|
/// Requirements for a shade/scene that is open or closed
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public interface IShadesOpenClosedFeedback: IShadesOpenClose
|
public interface IShadesOpenClosedFeedback: IShadesOpenCloseStop
|
||||||
{
|
{
|
||||||
BoolFeedback ShadeIsOpenFeedback { get; }
|
BoolFeedback ShadeIsOpenFeedback { get; }
|
||||||
BoolFeedback ShadeIsClosedFeedback { get; }
|
BoolFeedback ShadeIsClosedFeedback { get; }
|
||||||
@@ -64,13 +76,14 @@ namespace PepperDash.Essentials.Core.Shades
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
///
|
///
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public interface IShadesStop
|
[Obsolete("Please use IShadesOpenCloseStop instead")]
|
||||||
|
public interface IShadesStop
|
||||||
{
|
{
|
||||||
void Stop();
|
void Stop();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
///
|
/// Used to implement raise/stop/lower/stop from single button
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public interface IShadesStopOrMove
|
public interface IShadesStopOrMove
|
||||||
{
|
{
|
||||||
@@ -82,7 +95,7 @@ namespace PepperDash.Essentials.Core.Shades
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Basic feedback for shades/scene stopped
|
/// Basic feedback for shades/scene stopped
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public interface IShadesStopFeedback
|
public interface IShadesStopFeedback : IShadesOpenCloseStop
|
||||||
{
|
{
|
||||||
BoolFeedback IsStoppedFeedback { get; }
|
BoolFeedback IsStoppedFeedback { get; }
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ namespace PepperDash.Essentials.Core.Shades
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Base class for a shade device
|
/// Base class for a shade device
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public abstract class ShadeBase : EssentialsDevice, IShadesOpenClose
|
public abstract class ShadeBase : EssentialsDevice, IShadesOpenCloseStop
|
||||||
{
|
{
|
||||||
public ShadeBase(string key, string name)
|
public ShadeBase(string key, string name)
|
||||||
: base(key, name)
|
: base(key, name)
|
||||||
@@ -23,7 +23,7 @@ namespace PepperDash.Essentials.Core.Shades
|
|||||||
#region iShadesOpenClose Members
|
#region iShadesOpenClose Members
|
||||||
|
|
||||||
public abstract void Open();
|
public abstract void Open();
|
||||||
public abstract void StopOrPreset();
|
public abstract void Stop();
|
||||||
public abstract void Close();
|
public abstract void Close();
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|||||||
@@ -56,9 +56,9 @@ namespace PepperDash.Essentials.Devices.Common.Environment.Somfy
|
|||||||
PulseOutput(OpenRelay, RelayPulseTime);
|
PulseOutput(OpenRelay, RelayPulseTime);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void StopOrPreset()
|
public override void Stop()
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "Stopping or recalling preset on Shade: '{0}'", this.Name);
|
Debug.Console(1, this, "Stopping Shade: '{0}'", this.Name);
|
||||||
|
|
||||||
PulseOutput(StopOrPresetRelay, RelayPulseTime);
|
PulseOutput(StopOrPresetRelay, RelayPulseTime);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user