From 13a12b3e47f689ccb62d83868ff04a46a9f36367 Mon Sep 17 00:00:00 2001 From: Alexandre <44178713+alexbelgium@users.noreply.github.com> Date: Tue, 4 Feb 2025 11:49:36 +0100 Subject: [PATCH] At most 1 notification every 30 minutes https://github.com/alexbelgium/hassio-addons/issues/1749 --- birdnet-pi/rootfs/custom-services.d/30-monitoring.sh | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/birdnet-pi/rootfs/custom-services.d/30-monitoring.sh b/birdnet-pi/rootfs/custom-services.d/30-monitoring.sh index bb9889dac..9aad1db5a 100755 --- a/birdnet-pi/rootfs/custom-services.d/30-monitoring.sh +++ b/birdnet-pi/rootfs/custom-services.d/30-monitoring.sh @@ -26,6 +26,7 @@ srv="birdnet_recording" srv2="birdnet_analysis" ingest_dir="$RECS_DIR/StreamData" counter=10 +last_notification_time=0 # Ensure directories and permissions mkdir -p "$ingest_dir" @@ -35,6 +36,15 @@ chmod -R 755 "$ingest_dir" # Function to send notifications using Apprise apprisealert() { local issue_message="$1" + local current_time=$(date +%s) + local time_diff=$((current_time - last_notification_time)) + + # Check if 30 minutes have passed since the last notification + if ((time_diff < 1800)); then + log_yellow "Notification suppressed to avoid spamming (last sent $time_diff seconds ago)" + return + fi + local notification="" local stopped_service="
Stopped services: " @@ -59,6 +69,7 @@ apprisealert() { TITLE="BirdNET-Analyzer Alert" if [[ -f "$HOME/BirdNET-Pi/birdnet/bin/apprise" && -s "$HOME/BirdNET-Pi/apprise.txt" ]]; then "$HOME/BirdNET-Pi/birdnet/bin/apprise" -vv -t "$TITLE" -b "$notification" --input-format=html --config="$HOME/BirdNET-Pi/apprise.txt" + last_notification_time=$current_time else log_red "Apprise not configured or missing!" fi