diff --git a/inkbird/client.py b/inkbird/client.py index 48ce208..f224f5f 100644 --- a/inkbird/client.py +++ b/inkbird/client.py @@ -57,11 +57,23 @@ def handleTemperature(self, data): for probe, t in enumerate(temp): self.probes[probe + 1].temperature = t + def __batteryPercentage(self, current, max): + factor = max / 6550.0 + current /= factor + if current > const.BATTERY_CORRECTION[-1]: + return 100 + if current <= const.BATTERY_CORRECTION[0]: + return 0 + for idx, voltage in enumerate(const.BATTERY_CORRECTION, start=0): + if (current > voltage) and (current <= (const.BATTERY_CORRECTION[idx + 1])): + return idx + 1 + return 100 + def handleBattery(self, data): if data[0] != 36: return battery, maxBattery = struct.unpack("