[routes][heatpump] use the Heatpump model

This commit is contained in:
Maxime Alves LIRMM@home 2020-08-02 21:23:27 +02:00
commit 5c42ff849d

View file

@ -1,4 +1,5 @@
#!/usr/bin/env python3
from datetime import datetime
from starlette.routing import Router, Route
from starlette.responses import JSONResponse
from .config import config
@ -8,16 +9,18 @@ from pyheatpump.models import *
def get_variable_values(request):
res = {}
for var_type_id, var_type in VariableType.getall().items():
res[var_type_id] = {}
for address, value in var_type.get_variables_values().items():
res[var_type_id][address] = value
if 'time' not in request.path_params.keys():
h = Heatpump(config.get('heatpump', 'mac_address', None))
else:
time = datetime.fromisoformat(request.params['time'])
h = Heatpump(config.get('heatpump', 'mac_address', request.params['time']))
return JSONResponse(res)
return JSONResponse(h.__dict__())
ROUTES=[
Route('/', get_variable_values, methods=['GET'])
Route('/', get_variable_values, methods=['GET']),
Route('/{time}', get_variable_values, methods=['GET'])
]
app = Router(routes=ROUTES)