threaded Pushover
This commit is contained in:
+13
-10
@@ -41,7 +41,6 @@ GPIO.setup(PIN_DOOR_CLOSED, GPIO.IN, GPIO.PUD_UP)
|
||||
GPIO.setup(PIN_SENSOR_GATE, GPIO.IN, GPIO.PUD_UP)
|
||||
|
||||
def pushover(message):
|
||||
logger.info(message)
|
||||
response = requests.post("https://api.pushover.net/1/messages.json", data = {
|
||||
"token": "a9k1uyzypuaz1yszqqdzmp17s6r5q2",
|
||||
"user": "ukja84pd2n2cmxvdrnfwdrf8eo1wc5",
|
||||
@@ -49,6 +48,10 @@ def pushover(message):
|
||||
})
|
||||
logger.info(response)
|
||||
|
||||
def logpush(message):
|
||||
logger.info(message)
|
||||
Thread(target=pushover,args=[message]).start()
|
||||
|
||||
|
||||
# move robomower into safe zone
|
||||
def mower_safety():
|
||||
@@ -56,38 +59,38 @@ def mower_safety():
|
||||
response = requests.get("http://192.168.178.54/json?cmd=status&user=lewe&pass=nFdcX3sMD115WAap")
|
||||
#response = '{"name": "Rasi", "id": "C7697E", "status": {"status": 17, "distance": 0, "stopped": false, "duration": 4290, "mode": 2, "battery": 100, "hours": 90}, "timer": {"status": 0}, "wlan": {"signal": -86}, "health": {"temperature": 23, "humidity": 25}, "clock": {"date": "2021-05-13", "time": "14:23:27", "unix": 1620915807}, "successful": true}'
|
||||
except requests.exceptions.RequestException as e:
|
||||
pushover("couldn't reach mower (retrieving status)")
|
||||
logpush("couldn't reach mower (retrieving status)")
|
||||
return None
|
||||
status = json.loads(response.text)
|
||||
#status = json.loads(jsonstr)
|
||||
if (status["status"]["status"] in [2, 3, 5]):
|
||||
if (status["status"]["distance"] < 20):
|
||||
pushover("mower, freeze")
|
||||
logpush("mower, freeze")
|
||||
try:
|
||||
#response = requests.get("http://192.168.178.54/json?cmd=mode&mode=job&remotestart=2&user=lewe&pass=nFdcX3sMD115WAap")
|
||||
response = requests.get("http://192.168.178.54/json?cmd=stop&user=lewe&pass=nFdcX3sMD115WAap")
|
||||
except requests.exceptions.RequestException as e:
|
||||
pushover("couldn't reach mower (freeze)")
|
||||
logpush("couldn't reach mower (freeze)")
|
||||
else:
|
||||
pushover("mower in the back yard, keep going")
|
||||
logpush("mower in the back yard, keep going")
|
||||
else:
|
||||
if (status["status"]["status"] == 17 and (datetime.datetime.now().hour < 6 or datetime.datetime.now().hour > 13)):
|
||||
pushover("mower's asleep, leave it alone")
|
||||
logpush("mower's asleep, leave it alone")
|
||||
else:
|
||||
pushover("lock mower in garage")
|
||||
logpush("lock mower in garage")
|
||||
try:
|
||||
response = requests.get("http://192.168.178.54/json?cmd=mode&mode=home&user=lewe&pass=nFdcX3sMD115WAap")
|
||||
except requests.exceptions.RequestException as e:
|
||||
pushover("couldn't reach mower (lock)")
|
||||
logpush("couldn't reach mower (lock)")
|
||||
|
||||
|
||||
# robomower back to auto mode after gate has been closed
|
||||
def mower_auto():
|
||||
pushover("set mower back to auto mode")
|
||||
logpush("set mower back to auto mode")
|
||||
try:
|
||||
response = requests.get("http://192.168.178.54/json?cmd=mode&mode=auto&user=lewe&pass=nFdcX3sMD115WAap")
|
||||
except requests.exceptions.RequestException as e:
|
||||
pushover("couldn't reach mower (auto mode)")
|
||||
logpush("couldn't reach mower (auto mode)")
|
||||
return None
|
||||
|
||||
def garage_button(channel):
|
||||
|
||||
Reference in New Issue
Block a user