From e251b052203bd3d7094e50dc539ca6d0499f7726 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20Bj=C3=B6rkert?= Date: Thu, 25 Jun 2026 21:59:14 +0200 Subject: [PATCH] Add isCharging to uploader device status Expose an optional isCharging flag on UploaderStatus and include it in the Nightscout device status payload so consumers can show whether the uploading device is on power. --- Sources/NightscoutKit/Models/UploaderStatus.swift | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/Sources/NightscoutKit/Models/UploaderStatus.swift b/Sources/NightscoutKit/Models/UploaderStatus.swift index 2f900ab..96d3e05 100644 --- a/Sources/NightscoutKit/Models/UploaderStatus.swift +++ b/Sources/NightscoutKit/Models/UploaderStatus.swift @@ -13,8 +13,9 @@ public struct UploaderStatus { public let battery: Int? public let name: String public let timestamp: Date + public let isCharging: Bool? - public init(name: String, timestamp: Date, battery: Float? = nil) { + public init(name: String, timestamp: Date, battery: Float? = nil, isCharging: Bool? = nil) { let intBattery: Int? if let battery = battery , battery >= 0 { intBattery = Int(battery * 100) @@ -22,13 +23,14 @@ public struct UploaderStatus { intBattery = nil } - self.init(name: name, timestamp: timestamp, battery: intBattery) + self.init(name: name, timestamp: timestamp, battery: intBattery, isCharging: isCharging) } - public init(name: String, timestamp: Date, battery: Int? = nil) { + public init(name: String, timestamp: Date, battery: Int? = nil, isCharging: Bool? = nil) { self.name = name self.timestamp = timestamp self.battery = battery + self.isCharging = isCharging } public var dictionaryRepresentation: [String: Any] { @@ -41,6 +43,10 @@ public struct UploaderStatus { rval["battery"] = battery } + if let isCharging = isCharging { + rval["isCharging"] = isCharging + } + return rval } }