Ivan Valkou 5 лет назад
Родитель
Сommit
d44cc28e12
2 измененных файлов с 9 добавлено и 6 удалено
  1. 8 5
      FreeAPS/Sources/APS/APSManager.swift
  2. 1 1
      FreeAPS/Sources/Models/PumpStatus.swift

+ 8 - 5
FreeAPS/Sources/APS/APSManager.swift

@@ -370,11 +370,14 @@ private extension PumpManager {
 }
 
 extension BaseAPSManager: PumpManagerStatusObserver {
-    func pumpManager(_: PumpManager, didUpdate status: PumpManagerStatus, oldStatus _: PumpManagerStatus) {
-        try? storage.save(status.pumpStatus, as: OpenAPS.Monitor.status)
-        let percent = Int((status.pumpBatteryChargeRemaining ?? 1) * 100)
-        let battery = Battery(percent: percent, voltage: nil, string: percent > 10 ? .normal : .low)
-        try? storage.save(battery, as: OpenAPS.Monitor.battery)
+    func pumpManager(_: PumpManager, didUpdate status: PumpManagerStatus, oldStatus: PumpManagerStatus) {
+        if oldStatus.pumpStatus != status.pumpStatus {
+            let percent = Int((status.pumpBatteryChargeRemaining ?? 1) * 100)
+            let battery = Battery(percent: percent, voltage: nil, string: percent > 10 ? .normal : .low)
+            try? storage.save(battery, as: OpenAPS.Monitor.battery)
+            try? storage.save(status.pumpStatus, as: OpenAPS.Monitor.status)
+            nightscout.uploadStatus()
+        }
     }
 }
 

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

@@ -1,6 +1,6 @@
 import Foundation
 
-struct PumpStatus: JSON {
+struct PumpStatus: JSON, Equatable {
     let status: StatusType
     let bolusing: Bool
     let suspended: Bool