HaKafkaNet 10.2.0
Prefix Reserved
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package HaKafkaNet --version 10.2.0
NuGet\Install-Package HaKafkaNet -Version 10.2.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="HaKafkaNet" Version="10.2.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add HaKafkaNet --version 10.2.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: HaKafkaNet, 10.2.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install HaKafkaNet as a Cake Addin #addin nuget:?package=HaKafkaNet&version=10.2.0 // Install HaKafkaNet as a Cake Tool #tool nuget:?package=HaKafkaNet&version=10.2.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
HaKafkaNet
A framework for creating Home Assistant automations in .NET and C#.
Kafka ensures automations are durable and state is restored between restarts.
It was created with the following goals:
- Create Home Assistant automations in .NET / C# with abilities to:
- track/retrieve states of all entities in Home Assistant
- respond to Home Assistant state changes
- call Home Assistant RESTful services
- Enable all automation code to be fully unit testable
Why ha-kafka-net ?
- Strongly typed access to entities
- Durable - Automations that survive restarts. See also Event Timings
- Fast - Automations run in parallel and asynchronously.
- UI to manage your automations and inspect Kafka consumers.
- Observability through
- Pre-built automations
- Extensible framework - create your own reusable automations
- Extend automation factory with extension methods
- Create your own automamtions from scratch
- Automation builder with fluent syntax for quickly creating automations.
- Full unit testability and componet level testing with Test Harness
- MIT license
Example
Example of multiple durable automations. See Tutorial for more examples.
registrar.TryRegister(
_factory.SunRiseAutomation(
cancelToken => _api.TurnOff("light.night_light", cancelToken)),
_factory.SunSetAutomation(
cancelToken => _api.TurnOn("light.night_light", cancelToken),
TimeSpan.FromMinutes(-10))
);
See Documentation for full details.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net8.0
- FastEndpoints (>= 5.29.0)
- KafkaFlow (>= 3.0.10)
- KafkaFlow.Admin (>= 3.0.10)
- KafkaFlow.Admin.Dashboard (>= 3.0.10)
- KafkaFlow.Admin.WebApi (>= 3.0.10)
- KafkaFlow.Extensions.Hosting (>= 3.0.10)
- KafkaFlow.LogHandler.Console (>= 3.0.10)
- KafkaFlow.LogHandler.Microsoft (>= 3.0.10)
- KafkaFlow.Microsoft.DependencyInjection (>= 3.0.10)
- KafkaFlow.Serializer.JsonCore (>= 3.0.10)
- Microsoft.Extensions.Configuration.Binder (>= 8.0.2)
- NLog (>= 5.3.4)
- NLog.Web.AspNetCore (>= 5.3.15)
- OpenTelemetry (>= 1.9.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on HaKafkaNet:
Package | Downloads |
---|---|
HaKafkaNet.TestHarness
A library containing test helpers for HaKafkaNet. |
GitHub repositories (1)
Showing the top 1 popular GitHub repositories that depend on HaKafkaNet:
Repository | Stars |
---|---|
leosperry/ha-kafka-net
Integration that uses Home Assistant Kafka integration for creating home automations in .NET and C#
|
Version | Downloads | Last updated |
---|---|---|
10.2.1 | 122 | 12/7/2024 |
10.2.0 | 90 | 11/29/2024 |
10.1.1 | 94 | 11/21/2024 |
10.1.0 | 100 | 11/10/2024 |
10.0.2 | 89 | 10/27/2024 |
10.0.1 | 87 | 10/26/2024 |
10.0.0 | 102 | 10/25/2024 |
9.2.2 | 113 | 10/13/2024 |
9.2.1 | 95 | 10/12/2024 |
9.2.0 | 115 | 10/12/2024 |
9.1.0 | 97 | 10/5/2024 |
9.0.1 | 139 | 9/27/2024 |
9.0.0-beta | 73 | 9/27/2024 |
8.1.1 | 119 | 9/7/2024 |
8.1.0 | 131 | 9/1/2024 |
8.0.0 | 116 | 8/10/2024 |
7.1.3 | 110 | 7/7/2024 |
7.1.2 | 115 | 6/22/2024 |
7.0.0 | 114 | 6/19/2024 |
6.1.2 | 132 | 6/8/2024 |
6.1.1 | 137 | 5/5/2024 |
6.1.0 | 150 | 4/17/2024 |
6.0.0 | 135 | 4/12/2024 |
5.5.5 | 109 | 4/10/2024 |
5.5.4 | 113 | 4/9/2024 |
5.5.3 | 111 | 4/9/2024 |
5.5.2 | 117 | 4/1/2024 |
5.5.1 | 106 | 3/29/2024 |
5.5.0 | 99 | 3/28/2024 |
5.4.0 | 96 | 3/26/2024 |
5.3.0 | 162 | 3/24/2024 |
5.2.0 | 121 | 3/22/2024 |
5.1.0 | 137 | 3/18/2024 |
5.1.0-prerelease | 124 | 3/17/2024 |
5.0.0 | 117 | 3/12/2024 |
4.2.0 | 142 | 3/9/2024 |
4.1.5 | 126 | 3/1/2024 |
4.1.4 | 122 | 2/29/2024 |
4.1.3 | 114 | 2/28/2024 |
4.1.2 | 114 | 2/27/2024 |
4.1.1 | 110 | 2/27/2024 |
4.0.1 | 117 | 2/25/2024 |
4.0.0 | 125 | 2/23/2024 |
4.0.0-prerelease | 95 | 2/20/2024 |
3.0.2 | 115 | 2/14/2024 |
3.0.1 | 115 | 2/12/2024 |
3.0.0 | 138 | 2/11/2024 |
3.0.0-prerelease | 101 | 2/10/2024 |
2.1.3 | 141 | 2/5/2024 |
2.1.2 | 127 | 2/5/2024 |
2.1.1 | 140 | 2/4/2024 |
2.1.0 | 154 | 2/4/2024 |
2.0.0 | 159 | 1/31/2024 |
1.1.1-prerelease | 121 | 1/31/2024 |
1.1.0 | 119 | 1/21/2024 |
1.0.0 | 110 | 1/19/2024 |
0.3.0 | 105 | 1/18/2024 |
0.2.0 | 115 | 1/15/2024 |
0.1.1 | 116 | 1/14/2024 |
0.1.0 | 113 | 1/13/2024 |
0.0.1 | 125 | 1/13/2024 |