Explorar o código

Fix enacted and suggested mmol/L parsing
* Remove parsing of BG value for enacted NS device status upload
* Add parsing for current_target, minGuardBG, minPredBG, and threshold for suggested
* Move conditional mmol/L parsing for suggested down into inner conditional
* Addresses issue #156

Deniz Cengiz hai 1 ano
pai
achega
7d2b91faf9

+ 10 - 6
FreeAPS/Sources/Services/Network/Nightscout/NightscoutManager.swift

@@ -429,10 +429,7 @@ final class BaseNightscoutManager: NightscoutManager, Injectable {
         var modifiedSuggestedDetermination = fetchedSuggestedDetermination
         if var suggestion = fetchedSuggestedDetermination {
             suggestion.timestamp = suggestion.deliverAt
-
-            if settingsManager.settings.units == .mmolL {
-                suggestion.reason = parseReasonGlucoseValuesToMmolL(suggestion.reason)
-            }
+            
             // Check whether the last suggestion that was uploaded is the same that is fetched again when we are attempting to upload the enacted determination
             // Apparently we are too fast; so the flag update is not fast enough to have the predicate filter last suggestion out
             // If this check is truthy, set suggestion to nil so it's not uploaded again
@@ -440,6 +437,14 @@ final class BaseNightscoutManager: NightscoutManager, Injectable {
                 modifiedSuggestedDetermination = nil
             } else {
                 modifiedSuggestedDetermination = suggestion
+                if settingsManager.settings.units == .mmolL {
+                    modifiedSuggestedDetermination?.reason = parseReasonGlucoseValuesToMmolL(suggestion.reason)
+                    
+                    modifiedSuggestedDetermination?.current_target = suggestion.current_target?.asMmolL
+                    modifiedSuggestedDetermination?.minGuardBG = suggestion.minGuardBG?.asMmolL
+                    modifiedSuggestedDetermination?.minPredBG = suggestion.minPredBG?.asMmolL
+                    modifiedSuggestedDetermination?.threshold = suggestion.threshold?.asMmolL
+                }
             }
         }
 
@@ -447,8 +452,7 @@ final class BaseNightscoutManager: NightscoutManager, Injectable {
             var modifiedFetchedEnactedDetermination = fetchedEnactedDetermination
             modifiedFetchedEnactedDetermination?
                 .reason = parseReasonGlucoseValuesToMmolL(fetchedEnacted.reason)
-
-            modifiedFetchedEnactedDetermination?.bg = fetchedEnacted.bg?.asMmolL
+            
             modifiedFetchedEnactedDetermination?.current_target = fetchedEnacted.current_target?.asMmolL
             modifiedFetchedEnactedDetermination?.minGuardBG = fetchedEnacted.minGuardBG?.asMmolL
             modifiedFetchedEnactedDetermination?.minPredBG = fetchedEnacted.minPredBG?.asMmolL