Kaynağa Gözat

Reduce NS data trafic

1.Upload status even when in open loop.
2. When in closed loop => upload enacted.json, when in open loop => upload suggested.json, not both as the same time.
3. Update oref0 version info (0.7.1)
Jon Mårtensson 3 yıl önce
ebeveyn
işleme
55e9ede9ed

+ 4 - 3
FreeAPS/Sources/APS/APSManager.swift

@@ -197,6 +197,7 @@ final class BaseAPSManager: APSManager, Injectable {
 
                 // Open loop completed
                 guard self.settings.closedLoop else {
+                    self.nightscout.uploadStatus()
                     return Just(()).setFailureType(to: Error.self).eraseToAnyPublisher()
                 }
 
@@ -238,6 +239,9 @@ final class BaseAPSManager: APSManager, Injectable {
 
         loopStats(loopStatRecord: loopStatRecord)
 
+        // Create a statistics.json
+        statistics()
+
         if settings.closedLoop {
             reportEnacted(received: error == nil)
         }
@@ -659,9 +663,6 @@ final class BaseAPSManager: APSManager, Injectable {
             // Create a tdd.json
             tdd(enacted_: enacted)
 
-            // Create a statistics.json
-            statistics()
-
             debug(.apsManager, "Suggestion enacted. Received: \(received)")
             DispatchQueue.main.async {
                 self.broadcaster.notify(EnactedSuggestionObserver.self, on: .main) {

+ 20 - 6
FreeAPS/Sources/Services/Network/NightscoutManager.swift

@@ -189,12 +189,26 @@ final class BaseNightscoutManager: NightscoutManager, Injectable {
             suggested?.predictions = nil
         }
 
-        let openapsStatus = OpenAPSStatus(
-            iob: iob?.first,
-            suggested: suggested,
-            enacted: enacted,
-            version: "0.7.0"
-        )
+        let loopIsClosed = settingsManager.settings.closedLoop
+
+        var openapsStatus: OpenAPSStatus
+
+        // Only upload suggested in Open Loop Mode. Only upload enacted in Closed Loop Mode.
+        if loopIsClosed {
+            openapsStatus = OpenAPSStatus(
+                iob: iob?.first,
+                suggested: nil,
+                enacted: enacted,
+                version: "0.7.1"
+            )
+        } else {
+            openapsStatus = OpenAPSStatus(
+                iob: iob?.first,
+                suggested: suggested,
+                enacted: nil,
+                version: "0.7.1"
+            )
+        }
 
         let battery = storage.retrieve(OpenAPS.Monitor.battery, as: Battery.self)