updates
This commit is contained in:
parent
a8cd68d114
commit
06d905ae57
@ -49,9 +49,9 @@ def dashboard():
|
||||
data = fetch_all_data()[:5]
|
||||
|
||||
# Convert figure to JSON for rendering in template
|
||||
graph_json = history_graph('Home')
|
||||
|
||||
return render_template('index.html', data=data, temperature=None, graph_json=graph_json)
|
||||
temp_graph_json = history_graph_temp()
|
||||
HR_graph_json = history_graph_HR()
|
||||
return render_template('index.html', data=data, temperature=None, temp_graph_json=temp_graph_json, HR_graph_json=HR_graph_json)
|
||||
|
||||
#Route to display the sensor history
|
||||
@app.route('/history')
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@ -27,7 +27,7 @@ def create_database(db_name):
|
||||
Sensor TEXT,
|
||||
Timestamp TEXT,
|
||||
Temp INT,
|
||||
HR INTEGER,
|
||||
HR INT,
|
||||
Bat INT,
|
||||
FOREIGN KEY (Sensor) REFERENCES Sensors(Name))''')
|
||||
|
||||
@ -145,21 +145,62 @@ def print_email_settings():
|
||||
# Close the connection
|
||||
conn.close()
|
||||
|
||||
def history_graph(sensor):
|
||||
def history_graph_temp():
|
||||
# Fetch sensor data
|
||||
data = fetch_data_by_sensor(sensor)
|
||||
df = pd.DataFrame(data, columns=['ID', 'Sensor', 'Timestamp', 'Temp', 'HR', 'Bat'])
|
||||
# Create traces for temperature and HR
|
||||
trace_temp = go.Scatter(x=df['Timestamp'], y=df['Temp'], mode='lines', name='Temperature')
|
||||
trace_hr = go.Scatter(x=df['Timestamp'], y=df['HR'], mode='lines', name='Humidity Rate')
|
||||
sensorList = fetch_all_sensor()
|
||||
Trace = ['','' ,'' ]
|
||||
i =0
|
||||
for mac, name in sensorList:
|
||||
|
||||
data = fetch_data_by_sensor(name)
|
||||
#print(data)
|
||||
df = pd.DataFrame(data, columns=['ID', 'Sensor', 'Timestamp', 'Temp', 'HR', 'Bat'])
|
||||
# Create traces for temperature
|
||||
Trace[i] = go.Scatter(x=df['Timestamp'], y=df['Temp'], mode='lines', name=name)
|
||||
#print(Trace[i])
|
||||
i+=1
|
||||
#print(trace_temp)
|
||||
# Create layout
|
||||
layout = go.Layout(title='Last Hour of History',
|
||||
layout = go.Layout(title='Graph Temp history',
|
||||
xaxis=dict(title='Time'),
|
||||
yaxis=dict(title='Value'))
|
||||
yaxis=dict(title='Temperature in °C'))
|
||||
|
||||
# Create figure
|
||||
fig = go.Figure(data=[trace_temp, trace_hr], layout=layout)
|
||||
fig = go.Figure(data=[Trace[0], Trace[1], Trace[2] ], layout=layout )
|
||||
|
||||
# Convert figure to JSON for rendering in template
|
||||
graph_json = fig.to_json()
|
||||
#print(graph_json)
|
||||
return graph_json
|
||||
|
||||
|
||||
def history_graph_HR():
|
||||
# Fetch sensor data
|
||||
sensorList = fetch_all_sensor()
|
||||
Trace = ['','','']
|
||||
i = 0
|
||||
|
||||
|
||||
for mac, name in sensorList:
|
||||
|
||||
data = fetch_data_by_sensor(name)
|
||||
df = pd.DataFrame(data, columns=['ID', 'Sensor', 'Timestamp', 'Temp', 'HR', 'Bat'])
|
||||
# Create traces for temperature
|
||||
Trace[i] = go.Scatter(x=df['Timestamp'], y=df['HR'], mode='lines', name=name)
|
||||
#print(Trace[i])
|
||||
i+=1
|
||||
|
||||
|
||||
#print(trace_temp)
|
||||
# Create layout
|
||||
layout = go.Layout(title='Graph HR history',
|
||||
xaxis=dict(title='Time'),
|
||||
yaxis=dict(title='Humidity Rate in % '))
|
||||
|
||||
# Create figure
|
||||
fig = go.Figure(data=[Trace[0], Trace[1], Trace[2] ], layout=layout )
|
||||
|
||||
# Convert figure to JSON for rendering in template
|
||||
graph_json = fig.to_json()
|
||||
#print(graph_json)
|
||||
return graph_json
|
||||
@ -3,6 +3,7 @@
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<script src="https://cdn.plot.ly/plotly-latest.min.js"></script>
|
||||
<title>Sensor Data Dashboard</title>
|
||||
<!-- <link rel="stylesheet" href="/css"> -->
|
||||
<style>body {
|
||||
@ -85,14 +86,16 @@
|
||||
<p>Unable to fetch weather data.</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
<h1>Last Hour of History</h1>
|
||||
<div id="graph"></div>
|
||||
<h1>History in graphs</h1>
|
||||
<div id="graph_temp"></div>
|
||||
<div id="graph_hr"></div>
|
||||
<script>
|
||||
// Parse JSON data
|
||||
var graphData = {{ graph_json | safe }};
|
||||
|
||||
var temp_graphData = {{ temp_graph_json | safe }};
|
||||
var HR_graphData = {{ HR_graph_json | safe }};
|
||||
// Render graph
|
||||
Plotly.newPlot('graph', graphData.data, graphData.layout);
|
||||
Plotly.newPlot('graph_temp', temp_graphData.data, temp_graphData.layout);
|
||||
Plotly.newPlot('graph_hr', HR_graphData.data, HR_graphData.layout);
|
||||
</script>
|
||||
<script>
|
||||
// Refresh the page every 10 seconds
|
||||
|
||||
Loading…
Reference in New Issue
Block a user