Home

Awesome

介绍

  ChargeLimiter(CL)是针对iOS开发的AlDente替代工具,适用于长时间过充情况下保护电池健康度.
  支持有根越狱(???-arm.deb)/无根越狱(???-arm64.deb )/巨魔(???.tipa),目前支持iOS12-17.0(注意: 巨魔环境下安装新版之前请先卸载旧版)   测试过的环境: iPhone6/7+iOS12/13 Checkra1n/Unc0ver/Odyssey; iPhone7/X/11+iOS15/16 Palera1n/Dopamine/TrollStore.
  v1.4.1功能可以满足大多数用户需求,v1.5兼容不支持停充的电池,v1.6兼容充电电流过大的电池, v1.7兼容SBC
  CL是开放式项目,如果有兴趣参与或者对CL有建议的的欢迎参提交代码.
  CL纯属偶然兴趣而开发,CL的完美运行强依赖软硬件环境, 作者没有义务保证每个人都完美使用. 如果你的软硬件环境不兼容则不建议使用.
  CL承诺永久免费且无广告,但因为使用CL导致系统或硬件方面的影响(或认为会有影响的)作者不负任何责任,用户使用CL即为默认同意本条款.

已知BUG

常见问题

什么情况下需要用CL?

CL更费电吗?

CL支持第三方电池吗?

使用CL后能增加健康度吗?

为什么手机无法停充或恢复充电?(小白经常遇到的问题)

我的电池&小板硬件是否支持CL停充?

CL(及类似功能的软件)可以不依赖越狱或巨魔类工具吗?

夏天怎样降低电池温度?

怎样使用电池最好?

遇到问题时如何自行诊断?

如何找到耗电应用?

测试电池兼容性

  在使用CL前需要测试电池兼容性,如果不支持请放弃使用

品牌新电池激活

  电池保养官方文档: https://www.apple.com.cn/batteries/maximizing-performance/。电池激活是指电池刚出厂后需要采取正确方式,排除虚电并激发电池中全部的锂离子活性。建议咨询电池卖家或电池厂商获取正确激活方式,否则可能导致CL无法正常工作,常见品牌已整理在此

充电宝兼容性

  CL可以和充电宝配合使用,停充模式下充电宝优先为手机供电,充电宝电量耗尽后再由手机电池供电,对长途旅行的用户更为有意义,充电宝的容量性价比也远高于手机电池。注意:

使用前必看

使用说明

名词解释

启用

  设置全局启用,关闭后CL将恢复充电状态,并处于观察者模式,只读取电池信息,不进行任何操作.

悬浮窗

模式

  插电即充模式适合随用随充的普通用户使用:

  边缘触发模式适合手机常年连电源的工作室使用:

  触发优先级从高到低:

更新频率

阈值设定

行为

  用于控制触发充电和停充时的行为,目前仅支持系统通知,每次重装CL需要重选以生效.

高级

注意:

电池信息

历史统计

  统计图用于查看一段时间内的电池状态,左右滑动可时移,点击上方标签可显示或隐藏特定指标

快捷指令

(适用于某些巨魔用户存在服务被杀导致软件失效的情况):
+新建快捷指令 - 添加操作 - 类别 - "网页" - "Safari浏览器" - "打开URL"(以下是URL内容,标题自己设置)

注意:

集成快捷指令(iOS16+): https://www.icloud.com/shortcuts/2ec3aed94f414378918f3e082b7bf6b0

HTTP接口(可配合快捷指令)

curl http://localhost:1230 -d '{"api":"get_conf","key":"enable"}' -H "content-type:application/json"
=> {"status":0,"data":true}
类型描述
enable布尔关闭后CL将处于观察者模式,只读取电池信息,不进行任何操作
floatwnd布尔开启悬浮窗
floatwnd_auto布尔悬浮窗自动隐藏
mode字符串模式,charge_on_plug为插电即充,edge_trigger为边缘触发
charge_below整型电量最小值
charge_above整型电量最大值
enable_temp布尔温控开关
charge_temp_above整型温度最小值
charge_temp_below整型温度最大值
acc_charge布尔加速充电开关
acc_charge_airmode布尔飞行模式
acc_charge_wifi布尔WiFi
acc_charge_blue布尔蓝牙
acc_charge_bright布尔亮度
acc_charge_lpm布尔低电量模式
action字符串触发行为,noti为系统通知
adv_prefer_smart布尔开启SmartBattery
adv_predictive_inhibit_charge布尔开启智能停充
adv_disable_inflow布尔开启禁流
adv_limit_inflow布尔开启限流
adv_limit_inflow_mode字符串限流模拟高温等级,off/nominal/light/moderate/heavy
adv_def_thermal_mode字符串默认模拟高温等级,off/nominal/light/moderate/heavy
adv_thermal_mode_lock布尔模拟高温等级锁定
thermal_simulate_mode字符串实际温度模拟等级(只读)
ppm_simulate_mode字符串(实际)峰值性能等级
use_smart布尔是否支持SmartBattery(只读)
请求类型描述
api字符串get_conf
key字符串全局参数,若不指定则返回所有配置
响应
status整型0:成功
data数据
请求类型描述
api字符串set_conf
key字符串全局参数
val
响应
status整型0:成功
data数据
请求类型描述
api字符串get_bat_info
响应
status整型0:成功
data数据
类型描述
Amperage整型电流(mA)
AppleRawCurrentCapacity整型原始电量(mAh)
BatteryInstalled布尔电池已安装(mV)
BootVoltage整型启动电压(mV)
CurrentCapacity整型电量(%)
CycleCount整型循环数
DesignCapacity整型设计容量(mAh)
ExternalChargeCapable布尔电源可充电
ExternalConnected布尔电源已连接
InstantAmperage整型瞬时电流(mA)
IsCharging布尔正在充电
NominalChargeCapacity整型实际容量(mAh)
Serial字符串序列号
Temperature整型温度(℃/100)
UpdateTime整型更新时间
AdapterDetails.Voltage整型电压(mV)
AdapterDetails.Current整型电源电流(mA)
AdapterDetails.Description整型电源描述
AdapterDetails.IsWireless整型是否无线(需结合电源描述)
AdapterDetails.Manufacturer整型电源厂商
AdapterDetails.Name整型电源名称
AdapterDetails.Voltage整型电源电压(mV)
AdapterDetails.Watts整型电源功率(W)
请求类型描述
api字符串set_charge_status
flag布尔启用
响应
status整型0:成功
请求类型描述
api字符串set_inflow_status
flag布尔启用
响应
status整型0:成功

下载地址:(https://github.com/lich4/ChargeLimiter/releases)
交流QQ群:669869453

编译

  使用XCode/Theos编译, 需要Theos+MonkeyDev

  增加新语言: 修改www/lang.json www/help_en.md并提交到github或我这.

感谢

Introduction

ChargeLimiter(CL) is inspired by MacOS version AlDente, used to prevent iDevice from getting overcharged, which will cause damage to the battery.

Support Rootful Jailbreak(???-arm.deb)/Rootless Jailbreak(???-arm64.deb)/TrollStore(???.tipa). Currently support iOS12-17.0(Notice: For TrollStore, Please uninstall older version CL before installing a newer one)

Tested on iPhone6/7+iOS12/13 Checkra1n/Unc0ver/Odyssey; iPhone7/X/11+iOS15/16 Palera1n/Dopamine/TrollStore.

v1.4.1 is for most users; v1.5 is for batteries not support ChargeInhibit; v1.6 is for batteries with too large amperage during charging.

This project is opensourced, any better ideas, submit code directly; any suggestions, submit to issue region. This software will be opensourced, free, without ads forever. Author is not responsible for any impact on iOS system or hardware caused by this software.

Known issues

FAQ

Why should I use CL?

Does CL consume more power?

Does CL support 3rd party battery?

Will the battery health percentage increase after using CL for a period of time?

Why does my iDevice unable to charge or discharge(Most questions from freshman)?

Is it possible to install CL without Jailbreak or TrollStore(-like) environment?

How to cool down the battery in summer?

What is the best way to keep the battery healthy?

How can I debug CL myself when sth. goes wrong?

How to find out power killer App with CL?

Compatibility

Please test battery compatibility before using CL, stop and uninstall CL if unsupported

Battery activation

Official document: https://www.apple.com.cn/batteries/maximizing-performance/

Compatibility with battery banks

CL can be used together with a power bank. iDevice will be powered by the power bank in the first place in ChargeInhibit mode, and the battery of iDevice will supply power after the power bank running out of power. This is meaningful for users who plans to make a long journey, and power bank have more capacity and lower price than battery. Notice:

Notice

Instruction

Terms

"Enable" button

Enable or disable CL globally. CL will become an readonly observer if disabled, and shows battery information only.

Floating window

Mode

"Plug and charge" mode is for individual, charge and discharge at any time, triggers as follows:

"Edge trigger" mode is for developer & studio, with iDevice always connecting to an power source, triggers as follows:

triggers precedence from high to low:

Update frequency

The thresholds

Action

Action on trigger start/stop charging. Please reset it after reinstalling/updating CL.

Advanced

Battery Information

History

  Show battery status for a period of time, slide horizontally to shift time, and click the legend to hide or show specific source.

For Shortcuts.app

New Shortcut - Add Action - Web - Safari - Open URLs

Integrated shortcut(iOS16+): https://www.icloud.com/shortcuts/2ec3aed94f414378918f3e082b7bf6b0

HTTP Interface

curl http://localhost:1230 -d '{"api":"get_conf","key":"enable"}' -H "content-type:application/json"
=> {"status":0,"data":true}
keytypedescription
enablebooleanCL will become an readonly observer if disabled, and shows battery information only
floatwndbooleanFloating window
floatwnd_autobooleanFloating window auto hide
modestringMode,"charge_on_plug" or "edge_trigger"
charge_belowintegerCapacity threshold
charge_aboveintegerCapacity threshold
enable_tempbooleanTemperature control
charge_temp_aboveintegerTemperature threshold
charge_temp_belowintegerTemperature threshold
acc_chargebooleanSpeedup charging
acc_charge_airmodebooleanAirplane mode
acc_charge_wifibooleanWiFi
acc_charge_bluebooleanBluetooth
acc_charge_brightbooleanBrightness
acc_charge_lpmbooleanLPM
actionstringAction on trigger, "noti" to use system notification
adv_prefer_smartbooleanUse SmartBattery
adv_predictive_inhibit_chargebooleanUse predictive inhibit charge
adv_disable_inflowbooleanAuto inhibit inflow
adv_limit_inflowbooleanAuto limit inflow
adv_limit_inflow_modestringAuto limit inflow with thermal simulation level,off/nominal/light/moderate/heavy
adv_def_thermal_modestringDefault thermal simulation level,off/nominal/light/moderate/heavy
adv_thermal_mode_lockbooleanLock thermal simulation level
thermal_simulate_modestringActual thermal simulation level(readonly)
ppm_simulate_modestringActual Peak power performance level
use_smartbooleanSmartBattery available(readonly)
requesttypedescription
apistringget_conf
keystringreturn all conf if unspecified
response
statusinteger0:success
datadata
requesttypedescription
apistringset_conf
keystringGlobal configuration fields
valdata
response
statusinteger0:success
datadata
requesttypedescription
apistringget_bat_info
response
statusinteger0:成功
data数据
keytypedescription
Amperageinteger(mA)
AppleRawCurrentCapacityinteger(mAh)
BatteryInstalledboolean(mV)
BootVoltageinteger(mV)
CurrentCapacityinteger(%)
CycleCountinteger
DesignCapacityinteger(mAh)
ExternalChargeCapableboolean
ExternalConnectedboolean
InstantAmperageinteger(mA)
IsChargingboolean
NominalChargeCapacityinteger(mAh)
Serialstring
Temperatureinteger(℃/100)
UpdateTimeinteger
AdapterDetails.Voltageinteger(mV)
AdapterDetails.Currentinteger(mA)
AdapterDetails.Descriptioninteger
AdapterDetails.IsWirelessinteger
AdapterDetails.Manufacturerinteger
AdapterDetails.Nameinteger
AdapterDetails.Voltageinteger(mV)
AdapterDetails.Wattsinteger(W)
requesttypedescription
apistringset_charge_status
flagbooleanenable
response
statusinteger0:success
requesttypedescription
apistringset_inflow_status
flagbooleanenable
response
statusinteger0:success

If you have better ideas, please join the project and push your code
Download URL:(https://github.com/lich4/ChargeLimiter/releases)
Telegram group:
https://t.me/chargelimiter

Compile

XCode+MonkeyDev or Theos

Add new language: modify www/lang.json www/help_en.md and submit to github or to me.

Special Thanks