Skip to content

Commit 9d6086c

Browse files
committed
Add Metrics for Smart Start and Bug Fix
Added a few new metrics for the Smart Start feature. As a part of implementing this, discovered a bug where the Smart Start profile, last profile would not be selected. This bug has been fixed and should all work properly.
1 parent 6ef5816 commit 9d6086c

3 files changed

Lines changed: 78 additions & 3 deletions

File tree

common.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -306,7 +306,11 @@ def DefaultControl():
306306
('fanontime', 0),
307307
('fanontime_c', 0), # Converted Fan On Time
308308
('smokeplus', True),
309-
('grill_settemp', 0)
309+
('grill_settemp', 0),
310+
('smart_start_profile', 0), # Smart Start Profile Selected
311+
('startup_temp', 0), # Smart Start Start Up Temp
312+
('p_mode', 0), # P_mode selected
313+
('auger_cycle_time', 0), # Auger Cycle Time
310314
]
311315

312316
def DefaultMetrics():

control.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -336,6 +336,10 @@ def WorkCycle(mode, grill_platform, adc_device, display_device, dist_device):
336336
OffTime = 45 + (settings['cycle_data']['PMode'] * 10) # Auger Off Time
337337
CycleTime = OnTime + OffTime # Total Cycle Time
338338
CycleRatio = OnTime / CycleTime # Ratio of OnTime to CycleTime
339+
# Write Metrics (note these will be overwritten if smart start is enabled)
340+
metrics['p_mode'] = settings['cycle_data']['PMode']
341+
metrics['auger_cycle_time'] = settings['cycle_data']['SmokeCycleTime']
342+
WriteMetrics(metrics)
339343

340344
if mode == 'Shutdown':
341345
OnTime = 0 # Auger On Time
@@ -441,12 +445,21 @@ def WorkCycle(mode, grill_platform, adc_device, display_device, dist_device):
441445
control['smartstart']['profile_selected'] = profile_selected
442446
WriteControl(control)
443447
break # Break out of the loop
448+
if profile_selected == len(settings['smartstart']['temp_range_list'])-1:
449+
control['smartstart']['profile_selected'] = profile_selected + 1
450+
WriteControl(control)
444451
# Apply the profile
445452
profile_selected = control['smartstart']['profile_selected']
446453
OnTime = settings['smartstart']['profiles'][profile_selected]['augerontime'] # Auger On Time (Default 15s)
447454
OffTime = 45 + (settings['smartstart']['profiles'][profile_selected]['p_mode'] * 10) # Auger Off Time
448455
CycleTime = OnTime + OffTime # Total Cycle Time
449456
CycleRatio = OnTime / CycleTime # Ratio of OnTime to CycleTime
457+
# Write Metrics
458+
metrics['smart_start_profile'] = profile_selected
459+
metrics['startup_temp'] = control['smartstart']['startuptemp']
460+
metrics['p_mode'] = settings['smartstart']['profiles'][profile_selected]['p_mode']
461+
metrics['auger_cycle_time'] = settings['smartstart']['profiles'][profile_selected]['augerontime']
462+
WriteMetrics(metrics)
450463

451464
# Set the start time
452465
starttime = time.time()

templates/_macro_metrics.html

Lines changed: 60 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,26 @@
4444
<td>{{ metric['estusage_m'] }}</td>
4545
<td>{{ metric['estusage_i'] }}</td>
4646
</tr>
47+
<tr>
48+
<th scope="row">Smart Start Profile</th>
49+
<td>{{ metric['smart_start_profile'] }}</td>
50+
<td>{{ metric['smart_start_profile'] }}</td>
51+
</tr>
52+
<tr>
53+
<th scope="row">Smart Startup Temp</th>
54+
<td>{{ metric['startup_temp'] }}</td>
55+
<td>{{ metric['startup_temp'] }}{{ units }}</td>
56+
</tr>
57+
<tr>
58+
<th scope="row">P Mode</th>
59+
<td>{{ metric['p_mode'] }}</td>
60+
<td>{{ metric['p_mode'] }}</td>
61+
</tr>
62+
<tr>
63+
<th scope="row">Auger Cycle Time</th>
64+
<td>{{ metric['auger_cycle_time'] }}</td>
65+
<td>{{ metric['auger_cycle_time'] }}s</td>
66+
</tr>
4767

4868
</tbody>
4969
</table>
@@ -110,7 +130,26 @@
110130
<td>{{ metric['estusage_m'] }}</td>
111131
<td>{{ metric['estusage_i'] }}</td>
112132
</tr>
113-
133+
<tr>
134+
<th scope="row">Smart Start Profile</th>
135+
<td>{{ metric['smart_start_profile'] }}</td>
136+
<td>{{ metric['smart_start_profile'] }}</td>
137+
</tr>
138+
<tr>
139+
<th scope="row">Smart Startup Temp</th>
140+
<td>{{ metric['startup_temp'] }}</td>
141+
<td>{{ metric['startup_temp'] }}{{ units }}</td>
142+
</tr>
143+
<tr>
144+
<th scope="row">P Mode</th>
145+
<td>{{ metric['p_mode'] }}</td>
146+
<td>{{ metric['p_mode'] }}</td>
147+
</tr>
148+
<tr>
149+
<th scope="row">Auger Cycle Time</th>
150+
<td>{{ metric['auger_cycle_time'] }}</td>
151+
<td>{{ metric['auger_cycle_time'] }}s</td>
152+
</tr>
114153
</tbody>
115154
</table>
116155
</div>
@@ -226,7 +265,26 @@
226265
{% endif %}
227266
</td>
228267
</tr>
229-
268+
<tr>
269+
<th scope="row">Smart Start Profile</th>
270+
<td>{{ metric['smart_start_profile'] }}</td>
271+
<td>{{ metric['smart_start_profile'] }}</td>
272+
</tr>
273+
<tr>
274+
<th scope="row">Smart Startup Temp</th>
275+
<td>{{ metric['startup_temp'] }}</td>
276+
<td>{{ metric['startup_temp'] }}{{ units }}</td>
277+
</tr>
278+
<tr>
279+
<th scope="row">P Mode</th>
280+
<td>{{ metric['p_mode'] }}</td>
281+
<td>{{ metric['p_mode'] }}</td>
282+
</tr>
283+
<tr>
284+
<th scope="row">Auger Cycle Time</th>
285+
<td>{{ metric['auger_cycle_time'] }}</td>
286+
<td>{{ metric['auger_cycle_time'] }}s</td>
287+
</tr>
230288
</tbody>
231289
</table>
232290
</div>

0 commit comments

Comments
 (0)