-
-
Notifications
You must be signed in to change notification settings - Fork 66
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Use input booleans instead of switch for app state (#613)
* Use helpers for app-state * Fix warning * Review comments * Fix Dispose at the end
- Loading branch information
1 parent
80274cb
commit a3537f8
Showing
9 changed files
with
318 additions
and
243 deletions.
There are no files selected for viewing
14 changes: 14 additions & 0 deletions
14
src/Client/NetDaemon.HassClient/Common/Exceptions/HomeAssistantApiCallException.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
using System.Net; | ||
|
||
namespace NetDaemon.Client.Internal.Exceptions; | ||
|
||
[SuppressMessage("", "RCS1194")] | ||
public class HomeAssistantApiCallException : ApplicationException | ||
{ | ||
public HttpStatusCode Code { get; private set; } | ||
public HomeAssistantApiCallException(string? message, HttpStatusCode code) : base(message) | ||
{ | ||
Code = code; | ||
} | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
11 changes: 11 additions & 0 deletions
11
src/Client/NetDaemon.HassClient/Internal/HomeAssistant/Commands/CreateHelperCommandBase.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
namespace NetDaemon.Client.Internal.HomeAssistant.Commands; | ||
|
||
internal record CreateHelperCommandBase : CommandMessage | ||
{ | ||
public CreateHelperCommandBase(string helperType) | ||
{ | ||
Type = $"{helperType}/create"; | ||
} | ||
[JsonPropertyName("name")] public string Name { get; init; } = string.Empty; | ||
[JsonPropertyName("icon")] public string Icon { get; init; } = string.Empty; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
369 changes: 185 additions & 184 deletions
369
src/Runtime/NetDaemon.Runtime.Tests/Internal/AppStateManagerTests.cs
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
17 changes: 17 additions & 0 deletions
17
src/Runtime/NetDaemon.Runtime/Internal/HomeAssistantConnectionExtensions.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
using NetDaemon.Runtime.Internal.Model; | ||
|
||
namespace NetDaemon.Runtime.Internal; | ||
|
||
internal static class HomeAssistantConnectionExtensions | ||
{ | ||
public static async Task<InputBooleanHelper?> CreateInputBooleanHelperAsync( | ||
this IHomeAssistantConnection connection, | ||
string name, CancellationToken cancelToken) | ||
{ | ||
return await connection.SendCommandAndReturnResponseAsync<CreateInputBooleanHelperCommand, InputBooleanHelper?>( | ||
new CreateInputBooleanHelperCommand | ||
{ | ||
Name = name | ||
}, cancelToken); | ||
} | ||
} |
14 changes: 14 additions & 0 deletions
14
src/Runtime/NetDaemon.Runtime/Internal/Model/CreateInputBooleanHelperCommand.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
using System.Text.Json.Serialization; | ||
using NetDaemon.Client.Common.HomeAssistant.Model; | ||
|
||
namespace NetDaemon.Runtime.Internal.Model; | ||
|
||
internal record CreateInputBooleanHelperCommand : CommandMessage | ||
{ | ||
public CreateInputBooleanHelperCommand() | ||
{ | ||
Type = "input_boolean/create"; | ||
} | ||
|
||
[JsonPropertyName("name")] public string Name { get; init; } = string.Empty; | ||
} |
10 changes: 10 additions & 0 deletions
10
src/Runtime/NetDaemon.Runtime/Internal/Model/HassHelper.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
using System.Text.Json.Serialization; | ||
|
||
namespace NetDaemon.Runtime.Internal.Model; | ||
|
||
internal record InputBooleanHelper | ||
{ | ||
[JsonPropertyName("name")] public string Name { get; init; } = string.Empty; | ||
[JsonPropertyName("icon")] public string? Icon { get; init; } | ||
[JsonPropertyName("id")] public string Id { get; init; } = string.Empty; | ||
} |