23 lines
701 B
Python
23 lines
701 B
Python
from flask import render_template
|
|
from homeassistant_api import HomeassistantAPIError
|
|
|
|
from app import webapp
|
|
from app.models.callback import Callback
|
|
from app.homeassistant import HomeAssistant
|
|
|
|
@webapp.route('/hook/<uuid>')
|
|
def hook(uuid:str):
|
|
callback = None
|
|
|
|
try:
|
|
callback = Callback.get_callback(uuid)
|
|
except:
|
|
return render_template("error/404.html"), 404
|
|
|
|
try:
|
|
HomeAssistant.getInstance().trigger_service(callback.domain, callback.service, callback.entity, callback.data)
|
|
except HomeassistantAPIError as e:
|
|
return render_template("error/500.html", error=str(e)), 500
|
|
|
|
return render_template("hook.html", name=callback.name, note=callback.note)
|