|
|
@@ -589,19 +589,16 @@ final class BaseAPSManager: APSManager, Injectable {
|
|
|
|
|
|
storage.save(enacted, as: OpenAPS.Enact.enacted)
|
|
|
|
|
|
+ // Add to tdd.json:
|
|
|
+ //
|
|
|
let preferences = settingsManager.preferences
|
|
|
-
|
|
|
let currentTDD = enacted.tdd ?? 0
|
|
|
-
|
|
|
- // Add to tdd.json
|
|
|
let file = OpenAPS.Monitor.tdd
|
|
|
-
|
|
|
let tdd = TDD(
|
|
|
TDD: currentTDD,
|
|
|
timestamp: Date(),
|
|
|
id: UUID().uuidString
|
|
|
)
|
|
|
-
|
|
|
var uniqEvents: [TDD] = []
|
|
|
storage.transaction { storage in
|
|
|
storage.append(tdd, to: file, uniqBy: \.id)
|
|
|
@@ -611,26 +608,26 @@ final class BaseAPSManager: APSManager, Injectable {
|
|
|
|
|
|
var total: Decimal = 0
|
|
|
var indeces: Decimal = 0
|
|
|
-
|
|
|
for uniqEvent in uniqEvents {
|
|
|
total += uniqEvent.TDD
|
|
|
indeces += 1
|
|
|
}
|
|
|
-
|
|
|
+ if indeces <= 0 {
|
|
|
+ indeces = 1
|
|
|
+ }
|
|
|
let average7 = total / indeces
|
|
|
let weight = preferences.weightPercentage
|
|
|
-
|
|
|
let weighted_average = weight * currentTDD + (1 - weight) * average7
|
|
|
let averages = TDD_averages(
|
|
|
average_7days: average7,
|
|
|
weightedAverage: weighted_average,
|
|
|
date: Date()
|
|
|
)
|
|
|
-
|
|
|
storage.save(averages, as: OpenAPS.Monitor.tdd_averages)
|
|
|
storage.save(Array(uniqEvents), as: file)
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
+
|
|
|
debug(.apsManager, "Suggestion enacted. Received: \(received)")
|
|
|
DispatchQueue.main.async {
|
|
|
self.broadcaster.notify(EnactedSuggestionObserver.self, on: .main) {
|