Fehlermeldungen via Pushover.net
Verfasst: Fr 7. Jul 2017, 14:36
https://pushover.net ist ein Service für Pushmeldungen. Clients gibt es für Android, iOS, Chrome/Firefox/Safari Browser, macOS, Windows und Linux.
Hier ist mal ein kleiner Python client, der den Roboter abfragt und im Fall einer Fehlermeldung eine entsprechende Nachricht verschickt. Für Leute mit pushover Account sicher interessant.
Hier ist mal ein kleiner Python client, der den Roboter abfragt und im Fall einer Fehlermeldung eine entsprechende Nachricht verschickt. Für Leute mit pushover Account sicher interessant.
Code: Alles auswählen
#!/usr/bin/python
# coding=utf-8
#
# Pushover error notification for robonect
#
# Copyright 2017 Andreas Thienemann, licensed under GPLv3+
host = '192.168.3.24'
user = None
pwd = None
po_token = 'eigenen_pushover_token_hier_einfuegen'
po_user = 'eigenen_pushover_user_hier_einfuegen'
import requests
def fetch_status(host, cmd, user=None, pwd=None):
payload = {'cmd': 'status'}
if user is not None and pwd is not None:
payload.update(user=user, pwd=pwd)
result = requests.get('http://{}/json'.format(host), params=payload)
return result.json()
def parse_for_error(response):
# 7: Error
if not response['successful']:
raise Exception('Remote call not succesful.')
if response['status']['status'] == 7:
name = response['name']
error = response['error']['error_message']
errortime = response['error']['time'][0:5]
return (name, error, errortime)
return None
def alert(error, po_token, po_user):
payload = {
'token': po_token,
'user': po_user,
'message' : '{} Fehler seit {}: {}.'.format(error[0], error[2], error[1]),
'title': 'Robonect Fehlermeldung',
'priority': '1',
}
requests.post('http://api.pushover.net/1/messages.json', data=payload)
response = fetch_status(host, 'status', user, pwd)
error = parse_for_error(response)
if error:
alert(error, po_token, po_user)