Added average, clear, and max temps sections
This commit is contained in:
parent
cb67f7e3c3
commit
7140f38ba4
1 changed files with 37 additions and 1 deletions
|
|
@ -17,6 +17,14 @@ TEMP_LIMITS = {
|
||||||
# REGEX
|
# REGEX
|
||||||
REGEX_COLORS = re.compile(r'\033\[\d+;?1?m')
|
REGEX_COLORS = re.compile(r'\033\[\d+;?1?m')
|
||||||
|
|
||||||
|
def clear_temps(sensor_data):
|
||||||
|
"""Clear saved temps but keep structure, returns dict."""
|
||||||
|
for _section, _adapters in sensor_data.items():
|
||||||
|
for _adapter, _sources in _adapters.items():
|
||||||
|
for _source, _data in _sources.items():
|
||||||
|
_data['Temps'] = []
|
||||||
|
return sensor_data
|
||||||
|
|
||||||
def fix_sensor_str(s):
|
def fix_sensor_str(s):
|
||||||
"""Cleanup string and return str."""
|
"""Cleanup string and return str."""
|
||||||
s = re.sub(r'^(\w+)-(\w+)-(\w+)', r'\1 (\2 \3)', s, re.IGNORECASE)
|
s = re.sub(r'^(\w+)-(\w+)-(\w+)', r'\1 (\2 \3)', s, re.IGNORECASE)
|
||||||
|
|
@ -88,13 +96,41 @@ def get_sensor_data():
|
||||||
# Done
|
# Done
|
||||||
return sensor_data
|
return sensor_data
|
||||||
|
|
||||||
|
def save_max_temp(sensor_data):
|
||||||
|
"""Record max temps seen this session, returns dict."""
|
||||||
|
for _section, _adapters in sensor_data.items():
|
||||||
|
for _adapter, _sources in _adapters.items():
|
||||||
|
for _source, _data in _sources.items():
|
||||||
|
_data['Max'] = max(_data['Temps'])
|
||||||
|
|
||||||
|
# Done
|
||||||
|
return sensor_data
|
||||||
|
|
||||||
|
def save_average_temp(sensor_data, save_label, seconds=10):
|
||||||
|
"""Calculate average temps and record under save_label, returns dict."""
|
||||||
|
clear_temps(sensor_data)
|
||||||
|
|
||||||
|
# Get temps
|
||||||
|
for i in range(seconds):
|
||||||
|
sensor_data = update_sensor_data(sensor_data)
|
||||||
|
sleep(1)
|
||||||
|
|
||||||
|
# Calculate averages
|
||||||
|
for _section, _adapters in sensor_data.items():
|
||||||
|
for _adapter, _sources in _adapters.items():
|
||||||
|
for _source, _data in _sources.items():
|
||||||
|
_data[save_label] = sum(_data['Temps']) / len(_data['Temps'])
|
||||||
|
|
||||||
|
# Done
|
||||||
|
return sensor_data
|
||||||
|
|
||||||
def update_sensor_data(sensor_data):
|
def update_sensor_data(sensor_data):
|
||||||
"""Read sensors and update existing sensor_data, returns dict."""
|
"""Read sensors and update existing sensor_data, returns dict."""
|
||||||
json_data = get_raw_sensor_data()
|
json_data = get_raw_sensor_data()
|
||||||
for _section, _adapters in sensor_data.items():
|
for _section, _adapters in sensor_data.items():
|
||||||
for _adapter, _sources in _adapters.items():
|
for _adapter, _sources in _adapters.items():
|
||||||
for _source, _data in _sources.items():
|
for _source, _data in _sources.items():
|
||||||
_label = _ddata['Label']
|
_label = _data['Label']
|
||||||
_temp = json_data[_adapter][_source][_label]
|
_temp = json_data[_adapter][_source][_label]
|
||||||
_data['Temps'].append(_temp)
|
_data['Temps'].append(_temp)
|
||||||
return sensor_data
|
return sensor_data
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue