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)