CasCap.Api.Knx.Sinks
0.10.22
Prefix Reserved
dotnet add package CasCap.Api.Knx.Sinks --version 0.10.22
NuGet\Install-Package CasCap.Api.Knx.Sinks -Version 0.10.22
<PackageReference Include="CasCap.Api.Knx.Sinks" Version="0.10.22" />
<PackageVersion Include="CasCap.Api.Knx.Sinks" Version="0.10.22" />
<PackageReference Include="CasCap.Api.Knx.Sinks" />
paket add CasCap.Api.Knx.Sinks --version 0.10.22
#r "nuget: CasCap.Api.Knx.Sinks, 0.10.22"
#:package CasCap.Api.Knx.Sinks@0.10.22
#addin nuget:?package=CasCap.Api.Knx.Sinks&version=0.10.22
#tool nuget:?package=CasCap.Api.Knx.Sinks&version=0.10.22
CasCap.Api.Knx.Sinks
Pluggable event sink implementations for the KNX building automation integration library (CasCap.Api.Knx). Sinks persist KnxEvent instances to external storage backends and are loaded based on the feature's SinkConfig.
Installation
dotnet add package CasCap.Api.Knx.Sinks
Purpose
This project provides additional IEventSink<KnxEvent> implementations beyond the default in-memory, Console, Redis, Channel, OpenTelemetry, and gRPC sinks that ship with CasCap.Api.Knx. The sink assembly is scanned by AddKnxWithExtraSinks() at startup, and only sinks whose SinkTypeAttribute name is Enabled = true in KnxConfig.Sinks are registered.
Sinks
| Sink class | SinkType |
Description |
|---|---|---|
KnxSinkRedisService |
"Redis" |
Stores the latest decoded group-address value in a Redis hash and maintains per-group-address sorted sets of historical telegrams for time-range queries. Also implements IKnxQuery. |
KnxSinkAzureTablesService |
"AzureTables" |
Writes individual KnxEvent rows to a line-items Azure Table and maintains a rolling snapshot table where each group address is a column. |
KnxSinkAzureTablesCemiService |
"AzureTablesCemi" |
Batches raw CEMI L-Data frames to a separate Azure Table for low-level protocol analysis and replay. |
Configuration
Sinks are enabled in KnxConfig.Sinks.AvailableSinks. Example appsettings.json fragment:
{
"CasCap": {
"KnxConfig": {
"Sinks": {
"AvailableSinks": {
"Redis": {
"Enabled": true,
"Settings": {
"SnapshotValues": "knx:snapshot"
}
},
"AzureTables": { "Enabled": true },
"AzureTablesCemi": { "Enabled": true }
}
}
}
}
}
Dependencies
Project references
| Project | Purpose |
|---|---|
CasCap.Api.Knx |
Core KNX integration library, KnxEvent, KnxConfig, IKnxState |
CasCap.Api.Azure.Auth |
Azure authentication and AzureAuthConfig for Table Storage credential resolution |
CasCap.Api.Azure.Storage |
Azure Table Storage entity types and base services |
CasCap.Common.Caching |
Redis caching abstractions |
License
This project is released under The Unlicense. See the LICENSE file for 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. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- CasCap.Api.Azure.Auth (>= 1.5.0)
- CasCap.Api.Azure.Storage (>= 1.5.0)
- CasCap.Api.Knx (>= 0.10.22)
- CasCap.Common.Caching (>= 4.12.1)
-
net8.0
- CasCap.Api.Azure.Auth (>= 1.5.0)
- CasCap.Api.Azure.Storage (>= 1.5.0)
- CasCap.Api.Knx (>= 0.10.22)
- CasCap.Common.Caching (>= 4.12.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.