| @@ -74,6 +74,14 @@ class ControllerBase(object): | |||||
| class KettleController(ControllerBase, ActorController, SensorController): | class KettleController(ControllerBase, ActorController, SensorController): | ||||
| @staticmethod | |||||
| def chart(kettle): | |||||
| result = [] | |||||
| result.append({"name": "Temp", "data_type": "sensor", "data_id": kettle.sensor}) | |||||
| result.append({"name": "Target Temp", "data_type": "kettle", "data_id": kettle.id}) | |||||
| return result | |||||
| def __init__(self, *args, **kwds): | def __init__(self, *args, **kwds): | ||||
| ControllerBase.__init__(self, *args, **kwds) | ControllerBase.__init__(self, *args, **kwds) | ||||
| self.kettle_id = kwds.get("kettle_id") | self.kettle_id = kwds.get("kettle_id") | ||||
| @@ -107,6 +115,13 @@ class KettleController(ControllerBase, ActorController, SensorController): | |||||
| class FermenterController(ControllerBase, ActorController, SensorController): | class FermenterController(ControllerBase, ActorController, SensorController): | ||||
| @staticmethod | |||||
| def chart(fermenter): | |||||
| result = [] | |||||
| result.append({"name": "Temp", "data_type": "sensor", "data_id": fermenter.sensor}) | |||||
| result.append({"name": "Target Temp", "data_type": "fermenter", "data_id": fermenter.id}) | |||||
| return result | |||||
| def __init__(self, *args, **kwds): | def __init__(self, *args, **kwds): | ||||
| ControllerBase.__init__(self, *args, **kwds) | ControllerBase.__init__(self, *args, **kwds) | ||||
| self.fermenter_id = kwds.get("fermenter_id") | self.fermenter_id = kwds.get("fermenter_id") | ||||
| @@ -65,6 +65,8 @@ class LogView(FlaskView): | |||||
| pass | pass | ||||
| return array | return array | ||||
| def convert_chart_data_to_json(self, chart_data): | |||||
| return {"name": chart_data["name"], "data": self.read_log_as_json(chart_data["data_type"], chart_data["data_id"])} | |||||
| @route('/<t>/<int:id>', methods=["POST"]) | @route('/<t>/<int:id>', methods=["POST"]) | ||||
| def get_logs_as_json(self, t, id): | def get_logs_as_json(self, t, id): | ||||
| @@ -76,13 +78,12 @@ class LogView(FlaskView): | |||||
| if t == "k": | if t == "k": | ||||
| kettle = cbpi.cache.get("kettle").get(id) | kettle = cbpi.cache.get("kettle").get(id) | ||||
| result.append({"name": "Temp", "data": self.read_log_as_json("sensor", kettle.sensor)}) | |||||
| result.append({"name": "Target Temp", "data": self.read_log_as_json("kettle", kettle.id)}) | |||||
| result = map(self.convert_chart_data_to_json, cbpi.get_controller(kettle.logic).get("class").chart(kettle)) | |||||
| if t == "f": | if t == "f": | ||||
| fermenter = cbpi.cache.get("fermenter").get(id) | fermenter = cbpi.cache.get("fermenter").get(id) | ||||
| result.append({"name": "Temp", "data": self.read_log_as_json("sensor", fermenter.sensor)}) | |||||
| result.append({"name": "Target Temp", "data": self.read_log_as_json("fermenter", fermenter.id)}) | |||||
| result = map(self.convert_chart_data_to_json, cbpi.get_fermentation_controller(fermenter.logic).get("class").chart(fermenter)) | |||||
| return json.dumps(result) | return json.dumps(result) | ||||
| @route('/download/<file>') | @route('/download/<file>') | ||||
| @@ -1,6 +1,11 @@ | |||||
| #!/usr/bin/env python | #!/usr/bin/env python | ||||
| from modules import socketio, app | |||||
| from modules import socketio, app, cbpi | |||||
| socketio.run(app, host='0.0.0.0') | |||||
| try: | |||||
| port = int(cbpi.get_config_parameter('port', '5000')) | |||||
| except ValueError: | |||||
| port = 5000 | |||||
| socketio.run(app, host='0.0.0.0', port=port) | |||||
| @@ -0,0 +1 @@ | |||||
| INSERT OR IGNORE INTO config VALUES ('port', 5000, 'number', 'Port to run server (requires restart)', NULL ); | |||||