CasCap.Api.DoorBird.Sinks
0.10.22
Prefix Reserved
dotnet add package CasCap.Api.DoorBird.Sinks --version 0.10.22
NuGet\Install-Package CasCap.Api.DoorBird.Sinks -Version 0.10.22
<PackageReference Include="CasCap.Api.DoorBird.Sinks" Version="0.10.22" />
<PackageVersion Include="CasCap.Api.DoorBird.Sinks" Version="0.10.22" />
<PackageReference Include="CasCap.Api.DoorBird.Sinks" />
paket add CasCap.Api.DoorBird.Sinks --version 0.10.22
#r "nuget: CasCap.Api.DoorBird.Sinks, 0.10.22"
#:package CasCap.Api.DoorBird.Sinks@0.10.22
#addin nuget:?package=CasCap.Api.DoorBird.Sinks&version=0.10.22
#tool nuget:?package=CasCap.Api.DoorBird.Sinks&version=0.10.22
CasCap.Api.DoorBird.Sinks
Pluggable event sink implementations for the DoorBird door station integration library (CasCap.Api.DoorBird). Sinks persist DoorBirdEvent instances to external storage backends and are loaded based on the feature's SinkConfig.
Installation
dotnet add package CasCap.Api.DoorBird.Sinks
Purpose
This project provides additional IEventSink<DoorBirdEvent> implementations beyond the default in-memory and Console sinks that ship with CasCap.Api.DoorBird. The sink assembly is scanned by AddDoorBirdWithExtraSinks() at startup, and only sinks whose SinkTypeAttribute name is Enabled = true in DoorBirdConfig.Sinks are registered.
Sinks
| Sink class | SinkType |
Description |
|---|---|---|
DoorBirdSinkRedisService |
"Redis" |
Maintains running event counts and last-seen timestamps per event type (doorbell, motion, RFID, relay) in a Redis hash. Also implements IDoorBirdQuery. |
DoorBirdSinkAzureTablesService |
"AzureTables" |
Writes individual DoorBirdEvent rows to a line-items Azure Table and upserts a single snapshot row with aggregate counts and timestamps. |
DoorBirdSinkAzBlobService |
"AzureBlob" |
Enqueues captured JPEG image bytes to BlobStatics.UploadQueue for asynchronous upload to Azure Blob Storage by BlobProcessorBgService. |
BlobProcessorBgService |
— | Background service that reads from BlobStatics.UploadQueue and uploads each JPEG blob to Azure Blob Storage via IDoorBirdAzBlobStorageService. |
Configuration
Sinks are enabled in DoorBirdConfig.Sinks.AvailableSinks. Example appsettings.json fragment:
{
"CasCap": {
"DoorBirdConfig": {
"Sinks": {
"AvailableSinks": {
"Redis": {
"Enabled": true,
"Settings": {
"SnapshotValues": "doorbird:snapshot"
}
},
"AzureTables": { "Enabled": true },
"AzureBlob": { "Enabled": true },
}
}
}
}
}
Dependencies
Project references
| Project | Purpose |
|---|---|
CasCap.Api.DoorBird |
Core DoorBird integration library, DoorBirdEvent, DoorBirdConfig |
CasCap.Api.Azure.Auth |
Azure authentication and AzureAuthConfig for Storage credential resolution |
CasCap.Api.Azure.Storage |
Azure Table/Blob 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.DoorBird (>= 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.DoorBird (>= 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.