Skip to content

Instantly share code, notes, and snippets.

@LarsBergqvist
Last active November 4, 2016 14:54
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save LarsBergqvist/a3413e241764e272a9c4823bc3ec0696 to your computer and use it in GitHub Desktop.
Save LarsBergqvist/a3413e241764e272a9c4823bc3ec0696 to your computer and use it in GitHub Desktop.
REST api for remote controlled outlets
from flask import Flask, jsonify, request, render_template, abort
from outletdefinitions import outlets
import codesender
app = Flask(__name__)
@app.route("/Outlets/api/outlets", methods=["GET"])
def get_outlets():
return jsonify({"outlets" : outlets})
@app.route("/Outlets/",methods=["GET"])
def index():
return render_template("index.html")
@app.route("/Outlets/api/outlets/<int:groupNumber>/<int:buttonNumber>",methods=["PUT"])
def clickButton(groupNumber, buttonNumber):
state=request.json.get("state")
if (state is None):
abort(400)
if (state.lower() != 'on' and state.lower() != 'off'):
abort(400)
codesender.sendCode(groupNumber,buttonNumber,state)
return state
if __name__ == "__main__":
app.debug = True
app.run(host="0.0.0.0",port=5000)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment