diff --git a/scripts/config.php b/scripts/config.php index 86d1b2c..f9d0aba 100644 --- a/scripts/config.php +++ b/scripts/config.php @@ -105,7 +105,7 @@ if (!isset($_SERVER['PHP_AUTH_USER'])) {

Pushed iOS Notifications can be setup and enabled for New Species notifications. Be sure to "Enable" the "Pushed Notifications" in "Tools" > "Services" if you would like to use this feature. Sorry, Android users, this only works on iOS.

- +

Apprise Notifications can be setup and enabled for New Species notifications.

diff --git a/scripts/server.py b/scripts/server.py index d025f32..b81f13e 100755 --- a/scripts/server.py +++ b/scripts/server.py @@ -24,6 +24,7 @@ from time import sleep import pytz from tzlocal import get_localzone from pathlib import Path +import apprise HEADER = 64 @@ -203,6 +204,17 @@ def analyzeAudioData(chunks, lat, lon, week, sensitivity, overlap,): return detections +def sendAppriseNotifications(species,confidence): + apobj = apprise.Apprise() + config = apprise.AppriseConfig() + config.add(userDir + '/BirdNET-Pi/apprise.txt') + apobj.add(config) + + apobj.notify( + body='A '+species+' was just detected with a confidence of '+confidence, + title='New BirdNET-Pi Detection', + ) + def writeResultsToFile(detections, min_conf, path): print('WRITING RESULTS TO', path, '...', end=' ') @@ -212,6 +224,8 @@ def writeResultsToFile(detections, min_conf, path): for d in detections: for entry in detections[d]: if entry[1] >= min_conf and ((entry[0] in INCLUDE_LIST or len(INCLUDE_LIST) == 0) and (entry[0] not in EXCLUDE_LIST or len(EXCLUDE_LIST) == 0) ): + if os.path.getsize(userDir + '/BirdNET-Pi/apprise.txt') > 0: + sendAppriseNotifications(str(entry[0]),str(entry[1])); rfile.write(d + ';' + entry[0].replace('_', ';') + ';' + str(entry[1]) + '\n') rcnt += 1 print('DONE! WROTE', rcnt, 'RESULTS.')