NTFPRCS work + docs

This commit is contained in:
Jokob-sk
2024-01-04 15:28:43 +11:00
parent cff6f6393d
commit d530576e9b
11 changed files with 87 additions and 120 deletions

View File

@@ -1,6 +1,6 @@
## Overview
Plugin to run regular database cleanup tasks. It is strongly recommended to have an hourly or at least daily schedule running.
Plugin supplying settings for Notification Processing.
### Usage

View File

@@ -28,6 +28,41 @@
],
"settings": [
{
"function": "INCLUDED_SECTIONS",
"type": "text.multiselect",
"default_value": ["new_devices", "down_devices", "events"],
"options": ["new_devices", "down_devices", "events", "plugins"],
"localized": ["name", "description"],
"name": [
{
"language_code": "en_us",
"string": "Notify on"
},
{
"language_code": "de_de",
"string": "Benachrichtigungen"
},
{
"language_code": "es_es",
"string": "Notificar en"
}
],
"description": [
{
"language_code": "en_us",
"string": "Specifies which events trigger notifications. Remove the event type(s) you do not want to get notified on. This setting overrides device-specific settings in the UI. (<code>CTRL + Click</code> to select/deselect)."
},
{
"language_code": "de_de",
"string": "Spezifiziert, bei welchen Events Benachrichtigungen versendet werden. Entfernen Sie die Eventtypen, bei welchen Sie nicht benachrichtigt werden wollen. Diese Einstellung überschreibt gerätespezifische Einstellungen im UI. (<code>STRG + klicken</code> zum aus-/abwählen)."
},
{
"language_code": "es_es",
"string": "Especifica que eventos envían notificaciones. Elimina los tipos de eventos de los que no quieras recibir notificaciones. Este ajuste sobreescribe los ajustes específicos de los dispositivos en la interfaz. (<code>CTRL + Clic</code> para seleccionar / deseleccionar)."
}
]
},
{
"function": "alert_down_time",
"type": "integer",

View File

@@ -1,66 +0,0 @@
#!/usr/bin/env python
import os
import pathlib
import argparse
import sys
import hashlib
import csv
import sqlite3
from io import StringIO
from datetime import datetime
sys.path.append("/home/pi/pialert/front/plugins")
sys.path.append('/home/pi/pialert/pialert')
from plugin_helper import Plugin_Object, Plugin_Objects, decodeBase64
from logger import mylog, append_line_to_file
from helper import timeNowTZ, get_setting_value
from const import logPath, pialertPath, fullDbPath
CUR_PATH = str(pathlib.Path(__file__).parent.resolve())
LOG_FILE = os.path.join(CUR_PATH, 'script.log')
RESULT_FILE = os.path.join(CUR_PATH, 'last_result.log')
pluginName = 'NTFPRCS'
def main():
mylog('verbose', [f'[{pluginName}] In script'])
# TODO
# process_notifications(fullDbPath)
mylog('verbose', [f'[{pluginName}] Script finished'])
return 0
#===============================================================================
# Cleanup / upkeep database
#===============================================================================
def process_notifications (dbPath):
# Connect to the PiAlert SQLite database
conn = sqlite3.connect(dbPath)
cursor = conn.cursor()
# Cleanup Events
# mylog('verbose', [f'[DBCLNP] Events: Delete all older than {str(DAYS_TO_KEEP_EVENTS)} days (DAYS_TO_KEEP_EVENTS setting)'])
# cursor.execute (f"""DELETE FROM Events
# WHERE eve_DateTime <= date('now', '-{str(DAYS_TO_KEEP_EVENTS)} day')""")
conn.commit()
# Close the database connection
conn.close()
#===============================================================================
# BEGIN
#===============================================================================
if __name__ == '__main__':
main()