Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/ClusterM/tuyanet.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexey 'Cluster' Avdyukhin <clusterrr@clusterrr.com>2022-07-05 20:28:29 +0300
committerAlexey 'Cluster' Avdyukhin <clusterrr@clusterrr.com>2022-07-05 20:28:29 +0300
commit4613c0d9cb51640bc647c540fed19668db2112e9 (patch)
tree3b4e45c9809fa04d91fabc2d9fa7c6f65ccfd415
parent372b4331b4871ad1b2c26aa569793d89c9a97220 (diff)
Docstrings.
-rw-r--r--TuyaApi.cs3
-rw-r--r--TuyaDevice.cs15
2 files changed, 12 insertions, 6 deletions
diff --git a/TuyaApi.cs b/TuyaApi.cs
index a3e4c83..6df85ad 100644
--- a/TuyaApi.cs
+++ b/TuyaApi.cs
@@ -113,6 +113,7 @@ namespace com.clusterrr.TuyaNet
/// <param name="headers">Additional headers.</param>
/// <param name="noToken">Execute query without token.</param>
/// <param name="forceTokenRefresh">Refresh access token even it's not expired.</param>
+ /// <param name="cancellationToken">Cancellation token.</param>
/// <returns>JSON string with response.</returns>
public async Task<string> RequestAsync(Method method, string uri, string body = null, Dictionary<string, string> headers = null, bool noToken = false, bool forceTokenRefresh = false, CancellationToken cancellationToken = default)
{
@@ -213,6 +214,7 @@ namespace com.clusterrr.TuyaNet
/// </summary>
/// <param name="deviceId">Device ID.</param>
/// <param name="forceTokenRefresh">Refresh access token even it's not expired.</param>
+ /// <param name="cancellationToken">Cancellation token.</param>
/// <returns>Device info.</returns>
public async Task<TuyaDeviceApiInfo> GetDeviceInfoAsync(string deviceId, bool forceTokenRefresh = false, CancellationToken cancellationToken = default)
{
@@ -227,6 +229,7 @@ namespace com.clusterrr.TuyaNet
/// </summary>
/// <param name="anyDeviceId">ID of any registered device.</param>
/// <param name="forceTokenRefresh">Refresh access token even it's not expired.</param>
+ /// <param name="cancellationToken">Cancellation token.</param>
/// <returns>Array of devices info.</returns>
public async Task<TuyaDeviceApiInfo[]> GetAllDevicesInfoAsync(string anyDeviceId, bool forceTokenRefresh = false, CancellationToken cancellationToken = default)
{
diff --git a/TuyaDevice.cs b/TuyaDevice.cs
index 30f764c..da607cf 100644
--- a/TuyaDevice.cs
+++ b/TuyaDevice.cs
@@ -150,6 +150,7 @@ namespace com.clusterrr.TuyaNet
/// <param name="retries">Number of retries in case of network error (default - 2).</param>
/// <param name="nullRetries">Number of retries in case of empty answer (default - 1).</param>
/// <param name="overrideRecvTimeout">Override receive timeout (default - ReceiveTimeout property).</param>
+ /// <param name="cancellationToken">Cancellation token.</param>
/// <returns>Parsed and decrypred received data as instance of TuyaLocalResponse.</returns>
public async Task<TuyaLocalResponse> SendAsync(TuyaCommand command, string json, int retries = 2, int nullRetries = 1, int? overrideRecvTimeout = null, CancellationToken cancellationToken = default)
=> DecodeResponse(await SendAsync(EncodeRequest(command, json), retries, nullRetries, overrideRecvTimeout, cancellationToken));
@@ -161,6 +162,7 @@ namespace com.clusterrr.TuyaNet
/// <param name="retries">Number of retries in case of network error (default - 2).</param>
/// <param name="nullRetries">Number of retries in case of empty answer (default - 1).</param>
/// <param name="overrideRecvTimeout">Override receive timeout (default - ReceiveTimeout property).</param>
+ /// <param name="cancellationToken">Cancellation token.</param>
/// <returns>Received data (raw).</returns>
public async Task<byte[]> SendAsync(byte[] data, int retries = 2, int nullRetries = 1, int? overrideRecvTimeout = null, CancellationToken cancellationToken = default)
{
@@ -237,12 +239,8 @@ namespace com.clusterrr.TuyaNet
}
if ((result.Length <= 28) && (nullRetries > 0)) // empty response
{
- try
- {
- await Task.Delay(NullRetriesInterval, cancellationToken);
- result = await ReceiveAsync(stream, nullRetries - 1, overrideRecvTimeout: overrideRecvTimeout, cancellationToken);
- }
- catch { }
+ await Task.Delay(NullRetriesInterval, cancellationToken);
+ result = await ReceiveAsync(stream, nullRetries - 1, overrideRecvTimeout: overrideRecvTimeout, cancellationToken);
}
return result;
}
@@ -253,6 +251,7 @@ namespace com.clusterrr.TuyaNet
/// <param name="retries">Number of retries in case of network error (default - 2).</param>
/// <param name="nullRetries">Number of retries in case of empty answer (default - 1).</param>
/// <param name="overrideRecvTimeout">Override receive timeout (default - ReceiveTimeout property).</param>
+ /// <param name="cancellationToken">Cancellation token.</param>
/// <returns>Dictionary of DP numbers and values.</returns>
public async Task<Dictionary<int, object>> GetDpsAsync(int retries = 5, int nullRetries = 1, int? overrideRecvTimeout = null, CancellationToken cancellationToken = default)
{
@@ -274,6 +273,7 @@ namespace com.clusterrr.TuyaNet
/// <param name="nullRetries">Number of retries in case of empty answer (default - 1).</param>
/// <param name="overrideRecvTimeout">Override receive timeout (default - ReceiveTimeout property).</param>
/// <param name="allowEmptyResponse">Do not throw exception on empty Response</param>
+ /// <param name="cancellationToken">Cancellation token.</param>
/// <returns>Dictionary of DP numbers and values.</returns>
public async Task<Dictionary<int, object>> SetDpAsync(int dp, object value, int retries = 2, int nullRetries = 1, int? overrideRecvTimeout = null, bool allowEmptyResponse = false, CancellationToken cancellationToken = default)
=> await SetDpsAsync(new Dictionary<int, object> { { dp, value } }, retries, nullRetries, overrideRecvTimeout, allowEmptyResponse, cancellationToken);
@@ -286,6 +286,7 @@ namespace com.clusterrr.TuyaNet
/// <param name="nullRetries">Number of retries in case of empty answer (default - 1).</param>
/// <param name="overrideRecvTimeout">Override receive timeout (default - ReceiveTimeout property).</param>
/// <param name="allowEmptyResponse">Do not throw exception on empty Response</param>
+ /// <param name="cancellationToken">Cancellation token.</param>
/// <returns>Dictionary of DP numbers and values.</returns>
public async Task<Dictionary<int, object>> SetDpsAsync(Dictionary<int, object> dps, int retries = 2, int nullRetries = 1, int? overrideRecvTimeout = null, bool allowEmptyResponse = false, CancellationToken cancellationToken = default)
{
@@ -315,6 +316,7 @@ namespace com.clusterrr.TuyaNet
/// <param name="retries">Number of retries in case of network error (default - 2).</param>
/// <param name="nullRetries">Number of retries in case of empty answer (default - 1).</param>
/// <param name="overrideRecvTimeout">Override receive timeout (default - ReceiveTimeout property).</param>
+ /// <param name="cancellationToken">Cancellation token.</param>
/// <returns>Dictionary of DP numbers and values.</returns>
public async Task<Dictionary<int, object>> UpdateDpsAsync(IEnumerable<int> dpIds, int retries = 5, int nullRetries = 1, int? overrideRecvTimeout = null, CancellationToken cancellationToken = default)
{
@@ -336,6 +338,7 @@ namespace com.clusterrr.TuyaNet
/// Get current local key from Tuya Cloud API
/// </summary>
/// <param name="forceTokenRefresh">Refresh access token even it's not expired.</param>
+ /// <param name="cancellationToken">Cancellation token.</param>
public async Task RefreshLocalKeyAsync(bool forceTokenRefresh = false, CancellationToken cancellationToken = default)
{
if (string.IsNullOrEmpty(accessId)) throw new ArgumentException("Access ID is not specified", "accessId");