improvements
- De limits zijn nu smooth in de tijd (linear interpolation) - De slopes zijn nu strakker voor de comp grafiek - De melding toont nu ook de hours_since_last_bolus
This commit is contained in:
parent
2fe11e857a
commit
153ce6b02e
1 changed files with 16 additions and 11 deletions
|
|
@ -33,18 +33,20 @@ headers = {
|
||||||
limits_table = [
|
limits_table = [
|
||||||
[ [20, 99], # hour 0 constants after compensating /c [max_level, max_pos_slope, max_neg_slope]
|
[ [20, 99], # hour 0 constants after compensating /c [max_level, max_pos_slope, max_neg_slope]
|
||||||
[16, 99], # hour 1
|
[16, 99], # hour 1
|
||||||
[12, 6], # hour 2
|
[12, 3], # hour 2
|
||||||
[10, 6], # hour 3
|
[10, 3], # hour 3
|
||||||
[10, 6] ], # hour 4
|
[10, 4], # hour 4
|
||||||
[ [20, 99], # hour 0 constants after eating /e [max_level, max_pos_slope, max_neg_slope]
|
[10, 4] ], # extra dunplicate
|
||||||
|
[ [22, 99], # hour 0 constants after eating /e [max_level, max_pos_slope, max_neg_slope]
|
||||||
[18, 99], # hour 1
|
[18, 99], # hour 1
|
||||||
[14, 6], # hour 2
|
[15, 6], # hour 2
|
||||||
[12, 6], # hour 3
|
[12, 6], # hour 3
|
||||||
[10, 6] ] # hour 4
|
[10, 4], # hour 4
|
||||||
|
[10, 4] ] # extra dunplicate
|
||||||
]
|
]
|
||||||
|
|
||||||
limits_max_hours = 4 # nr of hours in the above lists
|
limits_max_hours = 4 # nr of hours in the above lists
|
||||||
last_bolus_time = time.time()-7200
|
last_bolus_time = time.time()-3600
|
||||||
last_bolus_type = 0
|
last_bolus_type = 0
|
||||||
|
|
||||||
GLUC_READOUT_PERIOD = 5 # in minutes
|
GLUC_READOUT_PERIOD = 5 # in minutes
|
||||||
|
|
@ -90,13 +92,16 @@ def main(url_main, headers_main):
|
||||||
print(f"time.time: {time.time()}")
|
print(f"time.time: {time.time()}")
|
||||||
print(f"last_bolus_time: {last_bolus_time}")
|
print(f"last_bolus_time: {last_bolus_time}")
|
||||||
seconds_since_last_bolus = time.time() - last_bolus_time
|
seconds_since_last_bolus = time.time() - last_bolus_time
|
||||||
hours_since_last_bolus = int(min((seconds_since_last_bolus / 3600) , limits_max_hours))
|
hours_since_last_bolus = min((seconds_since_last_bolus / 3600) , limits_max_hours)
|
||||||
print(f"hrs after last bolus: {hours_since_last_bolus}")
|
print(f"hrs after last bolus: {round(hours_since_last_bolus, 1)}")
|
||||||
|
|
||||||
if ((gluc_value > limits_table[last_bolus_type][hours_since_last_bolus][0]) or
|
# linear interpolation of gluc_upper_limit = a[int] + (a[int+1]-a[n]) * frac_part
|
||||||
|
gluc_upper_limit = limits_table[last_bolus_type][int(hours_since_last_bolus)][0] +
|
||||||
|
(limits_table[last_bolus_type][int(hours_since_last_bolus+1)][0] - limits_table[last_bolus_type][int(hours_since_last_bolus)][0]) * (hours_since_last_bolus-int(hours_since_last_bolus))
|
||||||
|
if ((gluc_value > gluc_upper_limit) or
|
||||||
(gluc_slope > limits_table[last_bolus_type][hours_since_last_bolus][1])):
|
(gluc_slope > limits_table[last_bolus_type][hours_since_last_bolus][1])):
|
||||||
print("Hey joh check je glucosepeil !")
|
print("Hey joh check je glucosepeil !")
|
||||||
Mqtt.publish(send_topic, "Hey joh check je glucosepeil !")
|
Mqtt.publish(send_topic, f"Hey joh check peil ! (lastbolus -{round(hours_since_last_bolus, 1)})")
|
||||||
|
|
||||||
|
|
||||||
else: # Request has failed
|
else: # Request has failed
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue