Projet de remplacement du "RPiPasserelle" d'Otec.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

heatpump.py 894B

1234567891011121314151617181920212223242526272829303132
  1. #!/usr/bin/env python3
  2. from datetime import datetime
  3. from starlette.routing import Router, Route
  4. from starlette.responses import JSONResponse
  5. from .config import config
  6. from .lib import shift_response
  7. import uvicorn
  8. from pyheatpump.models import *
  9. def get_variable_values(request):
  10. res = {}
  11. if 'time' not in request.path_params.keys():
  12. h = Heatpump(config.get('heatpump', 'mac_address'), None)
  13. else:
  14. time = datetime.fromisoformat(request.params['time'])
  15. h = Heatpump(config.get('heatpump', 'mac_address'), request.params['time'])
  16. return JSONResponse(shift_response(h.__dict__()))
  17. ROUTES=[
  18. Route('/', get_variable_values, methods=['GET']),
  19. Route('/{time}', get_variable_values, methods=['GET'])
  20. ]
  21. app = Router(routes=ROUTES)
  22. if __name__ == '__main__':
  23. uvicorn.run('pyHeatpump:heatpump.app',
  24. host='127.0.0.1',
  25. port=8000)