41 lines
725 B
Python
Executable File
41 lines
725 B
Python
Executable File
#!/usr/bin/env python
|
|
|
|
"""
|
|
SMS Mail Alarm Sending Helper
|
|
"""
|
|
|
|
from datetime import datetime
|
|
|
|
from smash.epicsutils import make_alarms, main_loop
|
|
from smash.notifier import Notifier
|
|
from smash.recipients import read_recipients_file
|
|
from smash.rules import read_rules_file
|
|
|
|
|
|
fn = "recipients.cfg"
|
|
recipients = read_recipients_file(fn)
|
|
|
|
fn = "rules.cfg"
|
|
rules = read_rules_file(fn)
|
|
|
|
|
|
n = Notifier()
|
|
n.add(print)
|
|
#n.add_many(recipients)
|
|
print(n)
|
|
print()
|
|
|
|
|
|
def cb(pvname=None, value=None, comparison=None, trip_point=None, timestamp=None, **kwargs):
|
|
dtts = datetime.fromtimestamp(timestamp)
|
|
n.notify(f"[{dtts}] {pvname}: {value} {comparison} {trip_point}")
|
|
|
|
|
|
alarms = make_alarms(rules, cb)
|
|
#print(alarms)
|
|
|
|
main_loop()
|
|
|
|
|
|
|