adding notifications for each detection
This commit is contained in:
@@ -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.')
|
||||
|
||||
Reference in New Issue
Block a user