feat: Add Apprise-based notification system with rule engine #4
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
This PR introduces a comprehensive notification system using Apprise, enabling BirdNET-Pi to send alerts via multiple services (email, Discord, Slack, etc.) based on configurable detection rules.
Key Features
DetectionQueryServiceTechnical Details
New Components
ApprisePlatformService: Core notification delivery service with platform configurationNotificationRuleProcessor: Rule evaluation and detection filtering engineNotificationManager: Orchestrates notification workflow with buffering supportDatabase Changes
get_detections_in_time_window()toDetectionQueryServicefor efficient rule filteringget_vernacular_name()toSpeciesDatabaseServicefor common name lookupsQuality Assurance
Testing
All tests passing with comprehensive coverage:
Breaking Changes
None - this is a new feature that extends existing notification system.
Documentation
Configuration examples included in test fixtures. User documentation will follow in separate PR.