ソースを参照

fix pump status report

Ivan Valkou 5 年 前
コミット
ca8669c792

+ 1 - 1
FreeAPS/Sources/APS/APSManager.swift

@@ -386,6 +386,6 @@ extension PumpManagerStatus {
         let bolusing = bolusState != .noBolus
         let suspended = basalDeliveryState?.isSuspended ?? true
         let type = suspended ? StatusType.suspended : (bolusing ? .bolusing : .normal)
-        return PumpStatus(status: type, bolusing: bolusing, suspended: suspended, timestamp: Date())
+        return PumpStatus(status: type, bolusing: bolusing, suspended: suspended, timestamp: nil)
     }
 }

+ 1 - 0
FreeAPS/Sources/APS/DeviceDataManager.swift

@@ -50,6 +50,7 @@ final class BaseDeviceDataManager: DeviceDataManager, Injectable {
     init(resolver: Resolver) {
         injectServices(resolver)
         setupPumpManager()
+        UIDevice.current.isBatteryMonitoringEnabled = true
     }
 
     func setupPumpManager() {

+ 1 - 1
FreeAPS/Sources/Models/PumpStatus.swift

@@ -4,7 +4,7 @@ struct PumpStatus: JSON, Equatable {
     let status: StatusType
     let bolusing: Bool
     let suspended: Bool
-    let timestamp: Date?
+    var timestamp: Date?
 }
 
 enum StatusType: String, JSON {

+ 2 - 1
FreeAPS/Sources/Services/Network/NightscoutManager.swift

@@ -124,7 +124,8 @@ final class BaseNightscoutManager: NightscoutManager, Injectable {
 
         let battery = try? storage.retrieve(OpenAPS.Monitor.battery, as: Battery.self)
         let reservoir = Decimal(from: storage.retrieveRaw(OpenAPS.Monitor.reservoir) ?? "0")
-        let pumpStatus = try? storage.retrieve(OpenAPS.Monitor.status, as: PumpStatus.self)
+        var pumpStatus = try? storage.retrieve(OpenAPS.Monitor.status, as: PumpStatus.self)
+        pumpStatus?.timestamp = Date()
 
         let pump = NSPumpStatus(clock: Date(), battery: battery, reservoir: reservoir, status: pumpStatus)