add IGNORE_ZERO_UNIT_BASAL

This commit is contained in:
James Woglom
2024-10-05 12:55:59 -04:00
parent b80d52662b
commit 0417fb9fd8
2 changed files with 15 additions and 3 deletions
+1
View File
@@ -79,6 +79,7 @@ NIGHTSCOUT_PROFILE_UPLOAD_MODE = get_one_of('NIGHTSCOUT_PROFILE_UPLOAD_MODE', 'a
# Default Nightscout profile segment fields which aren't stored by Tandem # Default Nightscout profile segment fields which aren't stored by Tandem
NIGHTSCOUT_PROFILE_CARBS_HR_VALUE = get('NIGHTSCOUT_PROFILE_CARBS_HR_VALUE', '20') NIGHTSCOUT_PROFILE_CARBS_HR_VALUE = get('NIGHTSCOUT_PROFILE_CARBS_HR_VALUE', '20')
NIGHTSCOUT_PROFILE_DELAY_VALUE = get('NIGHTSCOUT_PROFILE_DELAY_VALUE', '20') NIGHTSCOUT_PROFILE_DELAY_VALUE = get('NIGHTSCOUT_PROFILE_DELAY_VALUE', '20')
IGNORE_ZERO_UNIT_BASAL = get_bool('IGNORE_ZERO_UNIT_BASAL', 'false')
ENABLE_TESTING_MODES = get_bool('ENABLE_TESTING_MODES', 'false') ENABLE_TESTING_MODES = get_bool('ENABLE_TESTING_MODES', 'false')
SKIP_NS_LAST_UPLOADED_CHECK = get_bool('SKIP_NS_LAST_UPLOADED_CHECK', 'false') SKIP_NS_LAST_UPLOADED_CHECK = get_bool('SKIP_NS_LAST_UPLOADED_CHECK', 'false')
@@ -1,6 +1,7 @@
import logging import logging
import arrow import arrow
from ...secret import IGNORE_ZERO_UNIT_BASAL
from ...features import DEFAULT_FEATURES from ...features import DEFAULT_FEATURES
from ... import features from ... import features
from ...eventparser.generic import Events, decode_raw_events, EVENT_LEN from ...eventparser.generic import Events, decode_raw_events, EVENT_LEN
@@ -54,7 +55,9 @@ class ProcessBasal:
ns_entries = [] ns_entries = []
for item in with_duration: for item in with_duration:
ns_entries.append(self.basal_to_nsentry(*item)) ns = self.basal_to_nsentry(*item)
if ns:
ns_entries.append(ns)
return ns_entries return ns_entries
@@ -73,16 +76,24 @@ class ProcessBasal:
def basal_to_nsentry(self, start, duration, event): def basal_to_nsentry(self, start, duration, event):
if type(event) == eventtypes.LidBasalRateChange: if type(event) == eventtypes.LidBasalRateChange:
value = insulin_float_round(event.commandedbasalrate)
if IGNORE_ZERO_UNIT_BASAL and value < 0.01:
logger.info("Ignoring basal entry with %.2f unit basal because IGNORE_ZERO_UNIT_BASAL=true: %s" % (value, event))
return None
return NightscoutEntry.basal( return NightscoutEntry.basal(
value = insulin_float_round(event.commandedbasalrate), value = value,
duration_mins = duration.seconds / 60, duration_mins = duration.seconds / 60,
created_at = start.format(), created_at = start.format(),
reason = ', '.join(bitmask_to_list(event.changetype)), reason = ', '.join(bitmask_to_list(event.changetype)),
pump_event_id = "%s" % event.eventId pump_event_id = "%s" % event.eventId
) )
if type(event) == eventtypes.LidBasalDelivery: if type(event) == eventtypes.LidBasalDelivery:
value = insulin_milliunits_to_real(event.commandedRate)
if IGNORE_ZERO_UNIT_BASAL and value < 0.01:
logger.info("Ignoring basal entry with %.2f unit basal because IGNORE_ZERO_UNIT_BASAL=true: %s" % (value, event))
return None
return NightscoutEntry.basal( return NightscoutEntry.basal(
value = insulin_milliunits_to_real(event.commandedRate), value = value,
duration_mins = duration.seconds / 60, duration_mins = duration.seconds / 60,
created_at = start.format(), created_at = start.format(),
reason = ', '.join(bitmask_to_list(event.commandedRateSource)), reason = ', '.join(bitmask_to_list(event.commandedRateSource)),