Skip to content

Commit f8b9381

Browse files
committed
Documentation
1 parent 70d3ba4 commit f8b9381

File tree

4 files changed

+80
-2
lines changed

4 files changed

+80
-2
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,11 @@ An implementation of ZWave Plus using the 2024a public specification.
1616
#### Getting Started:
1717
* See our [Examples Page](Examples.md)
1818

19-
#### Work in progress:
19+
#### Not Supported:
2020
* Multicast is not fully implemented (including secure multicast)
2121

2222
#### Other Projects
23-
* Check out my other projects for [HomeKit](https://github.com/SmartHomeOS/HomeKitDotNet)
23+
* Check out my other projects for [HomeKit](https://github.com/SmartHomeOS/HomeKitDotNet) and [Matter](https://github.com/SmartHomeOS/MatterDotNet).
2424

2525
Support is always appreciated:<br/><a href="https://www.buymeacoffee.com/jdomnitz" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-red.png" alt="Buy Me A Pizza" style="height: 60px !important;width: 217px !important;" ></a>
2626

ZWaveDotNet/CommandClasses/Enums/FanMode.cs

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,19 +12,59 @@
1212

1313
namespace ZWaveDotNet.CommandClasses.Enums
1414
{
15+
/// <summary>
16+
/// Current mode of an HVAC fan
17+
/// </summary>
1518
public enum FanMode
1619
{
20+
/// <summary>
21+
/// <b>Version 1</b>: Will turn the manual fan operation off unless turned on by the manufacturer specific “auto low” algorithms.
22+
/// </summary>
1723
AUTO_LOW = 0x0,
24+
/// <summary>
25+
/// <b>Version 1</b>: Will turn the manual fan operation on. Low speed is selected.
26+
/// </summary>
1827
LOW = 0x1,
28+
/// <summary>
29+
/// <b>Version 1</b>: Will turn the manual fan operation off unless turned on by the manufacturer specific “auto high” algorithms.
30+
/// </summary>
1931
AUTO_HIGH = 0x2,
32+
/// <summary>
33+
/// <b>Version 1</b>: Will turn the manual fan operation on. High speed is selected.
34+
/// </summary>
2035
HIGH = 0x3,
36+
/// <summary>
37+
/// <b>Version 2</b>: Will turn the manual fan operation off unless turned on by the manufacturer specific “auto medium” algorithms.
38+
/// </summary>
2139
AUTO_MEDIUM = 0x4,
40+
/// <summary>
41+
/// <b>Version 2</b>: Will turn the manual fan operation on. Medium speed is selected.
42+
/// </summary>
2243
MEDIUM = 0x5,
44+
/// <summary>
45+
/// <b>Version 3</b>: Will turn the manual fan operation off unless turned on by the manufacturer specific circumlation algorithms.
46+
/// </summary>
2347
CIRCULATION = 0x6,
48+
/// <summary>
49+
/// <b>Version 3</b>: Will turn the manual fan operation off unless turned on by the manufacturer specific “humidity circulation” algorithms.
50+
/// </summary>
2451
HUMIDITY_CIRCULATION = 0x7,
52+
/// <summary>
53+
/// <b>Version 4</b>: Will turn the manual fan operation off unless turned on by the manufacturer specific “left &amp; right” circulation algorithms.
54+
/// </summary>
2555
LEFT_RIGHT = 0x8,
56+
/// <summary>
57+
/// <b>Version 4</b>: Will turn the manual fan operation off unless turned on by the manufacturer specific “up &amp; down” circulation algorithms.
58+
/// </summary>
2659
UP_DOWN = 0x9,
60+
/// <summary>
61+
/// <b>Version 4</b>: Will turn the manual fan operation off unless turned on by the manufacturer specific “quiet” algorithms.
62+
/// </summary>
2763
QUIET = 0xA,
64+
/// <summary>
65+
/// <b>Version 5</b>: Will turn the manual fan operation off unless turned on by the manufacturer specific circulation algorithms.
66+
/// This mode will circulate fresh air from the outside.
67+
/// </summary>
2868
EXTERNAL_CIRCULATION = 0xB
2969
}
3070
}

ZWaveDotNet/CommandClasses/Proprietary.cs

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,14 @@
1515
using ZWaveDotNet.Entities;
1616
using ZWaveDotNet.Enums;
1717
using ZWaveDotNet.SerialAPI;
18+
using static System.Runtime.InteropServices.JavaScript.JSType;
1819

1920
namespace ZWaveDotNet.CommandClasses
2021
{
22+
/// <summary>
23+
/// The Proprietary Command Class is used to transfer data between devices.
24+
/// The data content MUST be vendor specific and commands MUST NOT provide any value-add with respect to the Home Automation application in general.
25+
/// </summary>
2126
[CCVersion(CommandClass.Proprietary)]
2227
public class Proprietary : CommandClassBase
2328
{
@@ -35,6 +40,12 @@ enum ProprietaryCommand : byte
3540

3641
internal Proprietary(Node node, byte endpoint) : base(node, endpoint, CommandClass.Proprietary) { }
3742

43+
/// <summary>
44+
/// This command is used to request data from a device.
45+
/// </summary>
46+
/// <param name="cancellationToken"></param>
47+
/// <returns></returns>
48+
/// <exception cref="MethodAccessException"></exception>
3849
public async Task<ProprietaryReport> Get(CancellationToken cancellationToken = default)
3950
{
4051
if (node.ID == Node.BROADCAST_ID)
@@ -43,6 +54,12 @@ public async Task<ProprietaryReport> Get(CancellationToken cancellationToken = d
4354
return new ProprietaryReport(response.Payload);
4455
}
4556

57+
/// <summary>
58+
/// This command is used to transfer data to a device.
59+
/// </summary>
60+
/// <param name="payload"></param>
61+
/// <param name="cancellationToken"></param>
62+
/// <returns></returns>
4663
public async Task Set(byte[] payload, CancellationToken cancellationToken = default)
4764
{
4865
await SendCommand(ProprietaryCommand.Set, cancellationToken, payload);

ZWaveDotNet/CommandClasses/ThermostatFanMode.cs

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,10 @@
2020

2121
namespace ZWaveDotNet.CommandClasses
2222
{
23+
/// <summary>
24+
/// The Thermostat Fan Mode Command Class is an extension to support control and status monitoring functions of air-conditioning devices
25+
/// in order to achieve a global framework that covers the majority of generic functions implemented by world-wide air-conditioning manufacturer.
26+
/// </summary>
2327
[CCVersion(CommandClass.ThermostatFanMode, 5)]
2428
public class ThermostatFanMode : CommandClassBase
2529
{
@@ -39,12 +43,24 @@ enum ThermostatFanModeCommand
3943

4044
internal ThermostatFanMode(Node node, byte endpoint) : base(node, endpoint, CommandClass.ThermostatFanMode) { }
4145

46+
/// <summary>
47+
/// <b>Version 1</b>: This command is used to request the fan mode in the device.
48+
/// </summary>
49+
/// <param name="cancellationToken"></param>
50+
/// <returns></returns>
4251
public async Task<ThermostatFanModeReport> Get(CancellationToken cancellationToken = default)
4352
{
4453
ReportMessage response = await SendReceive(ThermostatFanModeCommand.Get, ThermostatFanModeCommand.Report, cancellationToken);
4554
return new ThermostatFanModeReport(response.Payload.Span);
4655
}
4756

57+
/// <summary>
58+
/// <b>Version 1</b>: This command is used to set the fan mode in the device.
59+
/// </summary>
60+
/// <param name="value"></param>
61+
/// <param name="off"><b>Version 2</b>: Switch the fan off in any mode</param>
62+
/// <param name="cancellationToken"></param>
63+
/// <returns></returns>
4864
public async Task Set(FanMode value, bool off, CancellationToken cancellationToken = default)
4965
{
5066
byte cmd = (byte)value;
@@ -53,6 +69,11 @@ public async Task Set(FanMode value, bool off, CancellationToken cancellationTok
5369
await SendCommand(ThermostatFanModeCommand.Set, cancellationToken, cmd);
5470
}
5571

72+
/// <summary>
73+
/// <b>Version 1</b>: This command is used to request the supported fan modes from the device.
74+
/// </summary>
75+
/// <param name="cancellationToken"></param>
76+
/// <returns></returns>
5677
public async Task<FanMode[]> GetSupportedModes(CancellationToken cancellationToken = default)
5778
{
5879
ReportMessage response = await SendReceive(ThermostatFanModeCommand.SupportedGet, ThermostatFanModeCommand.SupportedReport, cancellationToken);

0 commit comments

Comments
 (0)