mirror of
https://github.com/Manuel83/craftbeerpi3
synced 2026-08-10 02:55:27 +02:00
Allow modifying chart data in plugins
This commit is contained in:
@@ -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 = map(self.convert_chart_data_to_json, cbpi.get_controller(kettle.logic).get("class").chart(kettle))
|
||||||
result.append({"name": "Target Temp", "data": self.read_log_as_json("kettle", kettle.id)})
|
|
||||||
|
|
||||||
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 = map(self.convert_chart_data_to_json, cbpi.get_fermentation_controller(fermenter.logic).get("class").chart(fermenter))
|
||||||
result.append({"name": "Target Temp", "data": self.read_log_as_json("fermenter", fermenter.id)})
|
|
||||||
return json.dumps(result)
|
return json.dumps(result)
|
||||||
|
|
||||||
@route('/download/<file>')
|
@route('/download/<file>')
|
||||||
|
|||||||
Reference in New Issue
Block a user