mirror of
https://github.com/PiBrewing/craftbeerpi4.git
synced 2024-11-09 17:07:43 +01:00
hopefully this commit works!
This commit is contained in:
parent
41018182de
commit
16190124d0
2 changed files with 20 additions and 10 deletions
|
@ -31,13 +31,8 @@ class LogController:
|
|||
self.influxdb = self.cbpi.config.get("INFLUXDB", "No")
|
||||
if self.logfiles == "Yes":
|
||||
if name not in self.datalogger:
|
||||
<<<<<<< HEAD
|
||||
max_bytes = int(self.cbpi.config.get("SENSOR_LOG_MAX_BYTES", 100000))
|
||||
backup_count = int(self.cbpi.config.get("SENSOR_LOG_BACKUP_COUNT", 3))
|
||||
=======
|
||||
max_bytes = self.cbpi.config.get("SENSOR_LOG_MAX_BYTES", 1048576)
|
||||
backup_count = self.cbpi.config.get("SENSOR_LOG_BACKUP_COUNT", 3)
|
||||
>>>>>>> 5ea4160b4f6b7a7c759323cc01b0e40a05bca4b9
|
||||
|
||||
data_logger = logging.getLogger('cbpi.sensor.%s' % name)
|
||||
data_logger.propagate = False
|
||||
|
@ -47,7 +42,7 @@ class LogController:
|
|||
self.datalogger[name] = data_logger
|
||||
|
||||
formatted_time = strftime("%Y-%m-%d %H:%M:%S", localtime())
|
||||
self.datalogger[name].info("%s,%s" % (formatted_time, value))
|
||||
self.datalogger[name].info("%s,%s" % (formatted_time, str(value)))
|
||||
if self.influxdb == "Yes":
|
||||
self.influxdbcloud = self.cbpi.config.get("INFLUXDBCLOUD", "No")
|
||||
self.influxdbaddr = self.cbpi.config.get("INFLUXDBADDR", None)
|
||||
|
@ -121,7 +116,6 @@ class LogController:
|
|||
for name in names:
|
||||
# get all log names
|
||||
all_filenames = glob.glob('./logs/sensor_%s.log*' % name)
|
||||
|
||||
# concat all logs
|
||||
df = pd.concat([pd.read_csv(f, parse_dates=True, date_parser=dateparse, index_col='DateTime', names=['DateTime', name], header=None) for f in all_filenames])
|
||||
logging.info("Read all files for {}".format(names))
|
||||
|
@ -130,6 +124,14 @@ class LogController:
|
|||
df = df[name].resample(sample_rate).max()
|
||||
logging.info("Sampled now for {}".format(names))
|
||||
df = df.dropna()
|
||||
# take every nth row so that total number of rows does not exceed max_rows * 2
|
||||
max_rows = 500
|
||||
total_rows = df.shape[0]
|
||||
if (total_rows > 0) and (total_rows > max_rows):
|
||||
nth = int(total_rows/max_rows)
|
||||
if nth > 1:
|
||||
df = df.iloc[::nth]
|
||||
|
||||
if result is None:
|
||||
result = df
|
||||
else:
|
||||
|
@ -142,7 +144,9 @@ class LogController:
|
|||
data[name] = result[name].interpolate(limit_direction='both', limit=10).tolist()
|
||||
else:
|
||||
data[name] = result.interpolate().tolist()
|
||||
|
||||
logging.info("Send Log for {}".format(names))
|
||||
|
||||
return data
|
||||
|
||||
async def get_data2(self, ids) -> dict:
|
||||
|
@ -151,7 +155,12 @@ class LogController:
|
|||
|
||||
result = dict()
|
||||
for id in ids:
|
||||
df = pd.read_csv("./logs/sensor_%s.log" % id, parse_dates=True, date_parser=dateparse, index_col='DateTime', names=['DateTime',"Values"], header=None)
|
||||
# df = pd.read_csv("./logs/sensor_%s.log" % id, parse_dates=True, date_parser=dateparse, index_col='DateTime', names=['DateTime',"Values"], header=None)
|
||||
# concat all logs
|
||||
all_filenames = glob.glob('./logs/sensor_%s.log*' % id)
|
||||
df = pd.concat([pd.read_csv(f, parse_dates=True, date_parser=dateparse, index_col='DateTime', names=['DateTime', 'Values'], header=None) for f in all_filenames])
|
||||
df = df.resample('60s').max()
|
||||
df = df.dropna()
|
||||
result[id] = {"time": df.index.astype(str).tolist(), "value":df.Values.tolist()}
|
||||
return result
|
||||
|
||||
|
|
|
@ -47,7 +47,8 @@ class ConfigUpdate(CBPiExtension):
|
|||
influxdbcloud = self.cbpi.config.get("INFLUXDBCLOUD", None)
|
||||
mqttupdate = self.cbpi.config.get("MQTTUpdate", None)
|
||||
PRESSURE_UNIT = self.cbpi.config.get("PRESSURE_UNIT", None)
|
||||
|
||||
SENSOR_LOG_BACKUP_COUNT = self.cbpi.config.get("SENSOR_LOG_BACKUP_COUNT", None)
|
||||
SENSOR_LOG_MAX_BYTES = self.cbpi.config.get("SENSOR_LOG_MAX_BYTES", None)
|
||||
|
||||
if boil_temp is None:
|
||||
logger.info("INIT Boil Temp Setting")
|
||||
|
|
Loading…
Reference in a new issue