#!/usr/bin/clitest
# Test charge thresholds for non-ThinkPads (simulated)
# Requirements:
# * Hardware: non-legacy ThinkPad
#
$ # +++ ASUS +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
$ #
$ # --- initialize
$ sudo tlp start -- START_CHARGE_THRESH_BAT0="35" STOP_CHARGE_THRESH_BAT0="100" START_CHARGE_THRESH_BAT1= STOP_CHARGE_THRESH_BAT1=
TLP started in AC mode (auto).
$ #
$ # --- tlp start
$ sudo tlp start -- X_BAT_PLUGIN_SIMULATE=asus START_CHARGE_THRESH_BAT0= STOP_CHARGE_THRESH_BAT0= START_CHARGE_THRESH_BAT1= STOP_CHARGE_THRESH_BAT1=
TLP started in AC mode (auto).
$ sudo tlp start -- X_BAT_PLUGIN_SIMULATE=asus START_CHARGE_THRESH_BAT0="60" STOP_CHARGE_THRESH_BAT0="100" START_CHARGE_THRESH_BAT1= STOP_CHARGE_THRESH_BAT1=
TLP started in AC mode (auto).
$ sudo tlp start -- X_BAT_PLUGIN_SIMULATE=asus START_CHARGE_THRESH_BAT0="0" STOP_CHARGE_THRESH_BAT0="0" START_CHARGE_THRESH_BAT1= STOP_CHARGE_THRESH_BAT1=
Error in configuration at STOP_CHARGE_THRESH_BAT0="0": not specified, invalid or out of range (1..100). Battery skipped.
TLP started in AC mode (auto).
$ sudo tlp start -- X_BAT_PLUGIN_SIMULATE=asus START_CHARGE_THRESH_BAT0="0" STOP_CHARGE_THRESH_BAT0="101" START_CHARGE_THRESH_BAT1= STOP_CHARGE_THRESH_BAT1=
Error in configuration at STOP_CHARGE_THRESH_BAT0="101": not specified, invalid or out of range (1..100). Battery skipped.
TLP started in AC mode (auto).
$ sudo tlp start -- X_BAT_PLUGIN_SIMULATE=asus START_CHARGE_THRESH_BAT0="95" STOP_CHARGE_THRESH_BAT0="86" START_CHARGE_THRESH_BAT1= STOP_CHARGE_THRESH_BAT1=
Notice: some ASUS laptops silently ignore charge thresholds other than 40, 60 or 80. Please check if STOP_CHARGE_THRESH_BAT0="86" works as expected.
TLP started in AC mode (auto).
$ sudo tlp start -- X_BAT_PLUGIN_SIMULATE=asus START_CHARGE_THRESH_BAT0="DEF" STOP_CHARGE_THRESH_BAT0="DEF" START_CHARGE_THRESH_BAT1= STOP_CHARGE_THRESH_BAT1=
TLP started in AC mode (auto).
$ sudo tlp start -- X_BAT_PLUGIN_SIMULATE=asus NATACPI_ENABLE=0 START_CHARGE_THRESH_BAT0="DEF" STOP_CHARGE_THRESH_BAT0="DEF"
TLP started in AC mode (auto).
$ #
$ # --- tlp setcharge w/o arguments
$ sudo tlp setcharge -- X_BAT_PLUGIN_SIMULATE=asus START_CHARGE_THRESH_BAT0="60" STOP_CHARGE_THRESH_BAT0="100"
Setting temporary charge threshold for BAT0:
  stop = 100
$ sudo tlp setcharge -- X_BAT_PLUGIN_SIMULATE=asus START_CHARGE_THRESH_BAT0="0" STOP_CHARGE_THRESH_BAT0="0"
Error in configuration at STOP_CHARGE_THRESH_BAT0="0": not specified, invalid or out of range (1..100). Aborted.
$ sudo tlp setcharge -- X_BAT_PLUGIN_SIMULATE=asus START_CHARGE_THRESH_BAT0="0" STOP_CHARGE_THRESH_BAT0="101"
Error in configuration at STOP_CHARGE_THRESH_BAT0="101": not specified, invalid or out of range (1..100). Aborted.
$ sudo tlp setcharge -- X_BAT_PLUGIN_SIMULATE=asus START_CHARGE_THRESH_BAT0="97" STOP_CHARGE_THRESH_BAT0="100"
Setting temporary charge threshold for BAT0:
  stop = 100
$ sudo tlp setcharge -- X_BAT_PLUGIN_SIMULATE=asus START_CHARGE_THRESH_BAT0="95" STOP_CHARGE_THRESH_BAT0="86"
Notice: some ASUS laptops silently ignore charge thresholds other than 40, 60 or 80. Please check if STOP_CHARGE_THRESH_BAT0="86" works as expected.
Setting temporary charge threshold for BAT0:
  stop =  86
$ sudo tlp setcharge -- X_BAT_PLUGIN_SIMULATE=asus START_CHARGE_THRESH_BAT0="95" STOP_CHARGE_THRESH_BAT0="80"
Setting temporary charge threshold for BAT0:
  stop =  80
$ sudo tlp setcharge -- X_BAT_PLUGIN_SIMULATE=asus START_CHARGE_THRESH_BAT0="95" STOP_CHARGE_THRESH_BAT0="80"
Setting temporary charge threshold for BAT0:
  stop =  80
$ sudo tlp setcharge -- X_BAT_PLUGIN_SIMULATE=asus START_CHARGE_THRESH_BAT0="DEF" STOP_CHARGE_THRESH_BAT0="DEF"
Setting temporary charge threshold for BAT0:
  stop = 100
$ sudo tlp setcharge -- X_BAT_PLUGIN_SIMULATE=asus NATACPI_ENABLE=0 START_CHARGE_THRESH_BAT0="DEF" STOP_CHARGE_THRESH_BAT0="DEF"
Error: battery charge thresholds not available.
$ #
$ # --- tlp setcharge w/ arguments
$ sudo tlp setcharge 60 100 -- X_BAT_PLUGIN_SIMULATE=asus
Setting temporary charge threshold for BAT0:
  stop = 100
$ sudo tlp setcharge 0 0 -- X_BAT_PLUGIN_SIMULATE=asus
Error: charge stop threshold (0) for BAT0 is not specified, invalid or out of range (1..100). Aborted.
$ sudo tlp setcharge 0 101 -- X_BAT_PLUGIN_SIMULATE=asus
Error: charge stop threshold (101) for BAT0 is not specified, invalid or out of range (1..100). Aborted.
$ sudo tlp setcharge XYZZY 0 -- X_BAT_PLUGIN_SIMULATE=asus
Error: charge stop threshold (0) for BAT0 is not specified, invalid or out of range (1..100). Aborted.
$ sudo tlp setcharge 0 XYZZY -- X_BAT_PLUGIN_SIMULATE=asus
Error: charge stop threshold (XYZZY) for BAT0 is not specified, invalid or out of range (1..100). Aborted.
$ sudo tlp setcharge 97 100 -- X_BAT_PLUGIN_SIMULATE=asus
Setting temporary charge threshold for BAT0:
  stop = 100
$ sudo tlp setcharge 95 66 -- X_BAT_PLUGIN_SIMULATE=asus
Notice: some ASUS laptops silently ignore charge thresholds other than 40, 60 or 80. Please check if 66 works as expected.
Setting temporary charge threshold for BAT0:
  stop =  66
$ sudo tlp setcharge 95 60 -- X_BAT_PLUGIN_SIMULATE=asus
Setting temporary charge threshold for BAT0:
  stop =  60
$ sudo tlp setcharge 95 60 -- X_BAT_PLUGIN_SIMULATE=asus X_THRESH_SIMULATE_START="35" X_THRESH_SIMULATE_STOP="100"
Setting temporary charge threshold for BAT0:
  stop =  60
$ sudo tlp setcharge 95 60 -- X_BAT_PLUGIN_SIMULATE=asus
Setting temporary charge threshold for BAT0:
  stop =  60
$ sudo tlp setcharge DEF DEF -- X_BAT_PLUGIN_SIMULATE=asus
Setting temporary charge threshold for BAT0:
  stop = 100
$ sudo tlp setcharge BAT1 -- X_BAT_PLUGIN_SIMULATE=asus
Error: battery BAT1 not present.
$ sudo tlp setcharge 0 3 BAT1 -- X_BAT_PLUGIN_SIMULATE=asus
Error: battery BAT1 not present.
$ sudo tlp setcharge XYZZY ABCDE BAT1 -- X_BAT_PLUGIN_SIMULATE=asus
Error: battery BAT1 not present.
$ #
$ # --- Reset
$ sudo tlp setcharge  -- START_CHARGE_THRESH_BAT0="60" STOP_CHARGE_THRESH_BAT0="100"
Setting temporary charge thresholds for BAT0:
  start =  60
  stop  = 100 (no change)
$ #
$ # --- tlp-stat
$ sudo tlp-stat -b -- X_BAT_PLUGIN_SIMULATE=asus | grep "charge_control_end_threshold"
/sys/class/power_supply/BAT0/charge_control_end_threshold   =    100 [%]
$ sudo tlp-stat -b -- X_BAT_PLUGIN_SIMULATE=asus X_THRESH_SIMULATE_READERR=1 | grep "charge_control_end_threshold"
/sys/class/power_supply/BAT0/charge_control_end_threshold   = (not available) [%]
$ #
$ # +++ Huawei ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
$ #
$ # --- tlp start
$ sudo tlp start -- X_BAT_PLUGIN_SIMULATE=huawei START_CHARGE_THRESH_BAT0= STOP_CHARGE_THRESH_BAT0= X_THRESH_SIMULATE_START="60" X_THRESH_SIMULATE_STOP="100"
TLP started in AC mode (auto).
$ sudo tlp start -- X_BAT_PLUGIN_SIMULATE=huawei START_CHARGE_THRESH_BAT0="60" STOP_CHARGE_THRESH_BAT0="100" X_THRESH_SIMULATE_START="59" X_THRESH_SIMULATE_STOP="99"
Error: writing charge thresholds failed.
TLP started in AC mode (auto).
$ sudo tlp start -- X_BAT_PLUGIN_SIMULATE=huawei START_CHARGE_THRESH_BAT0="60" STOP_CHARGE_THRESH_BAT0="100" X_THRESH_SIMULATE_START="60" X_THRESH_SIMULATE_STOP="100"
Error: writing charge thresholds failed.
TLP started in AC mode (auto).
$ sudo tlp start -- X_BAT_PLUGIN_SIMULATE=huawei START_CHARGE_THRESH_BAT0="0" STOP_CHARGE_THRESH_BAT0="100" X_THRESH_SIMULATE_START="60" X_THRESH_SIMULATE_STOP="100"
Error: writing charge thresholds failed.
TLP started in AC mode (auto).
$ sudo tlp start -- X_BAT_PLUGIN_SIMULATE=huawei START_CHARGE_THRESH_BAT0="100" STOP_CHARGE_THRESH_BAT0="100"  X_THRESH_SIMULATE_START="60" X_THRESH_SIMULATE_STOP="100"
Error in configuration at START_CHARGE_THRESH_BAT0="100": not specified, invalid or out of range (0..99). Skipped.
TLP started in AC mode (auto).
$ sudo tlp start -- X_BAT_PLUGIN_SIMULATE=huawei START_CHARGE_THRESH_BAT0="0" STOP_CHARGE_THRESH_BAT0="0"
Error in configuration at STOP_CHARGE_THRESH_BAT0="0": not specified, invalid or out of range (1..100). Skipped.
TLP started in AC mode (auto).
$ sudo tlp start -- X_BAT_PLUGIN_SIMULATE=huawei START_CHARGE_THRESH_BAT0="1" STOP_CHARGE_THRESH_BAT0="101"
Error in configuration at STOP_CHARGE_THRESH_BAT0="101": not specified, invalid or out of range (1..100). Skipped.
TLP started in AC mode (auto).
$ sudo tlp start -- X_BAT_PLUGIN_SIMULATE=huawei START_CHARGE_THRESH_BAT0="99" STOP_CHARGE_THRESH_BAT0="98"
Error in configuration: START_CHARGE_THRESH_BAT0 > STOP_CHARGE_THRESH_BAT0. Skipped.
TLP started in AC mode (auto).
$ sudo tlp start -- X_BAT_PLUGIN_SIMULATE=huawei START_CHARGE_THRESH_BAT0="95" STOP_CHARGE_THRESH_BAT0="95" X_THRESH_SIMULATE_START="60" X_THRESH_SIMULATE_STOP="100"
Error: writing charge thresholds failed.
TLP started in AC mode (auto).
$ sudo tlp start -- X_BAT_PLUGIN_SIMULATE=huawei START_CHARGE_THRESH_BAT0="DEF" STOP_CHARGE_THRESH_BAT0="DEF" X_THRESH_SIMULATE_START="0" X_THRESH_SIMULATE_STOP="100"
Error: writing charge thresholds failed.
TLP started in AC mode (auto).
$ sudo tlp start -- X_BAT_PLUGIN_SIMULATE=huawei NATACPI_ENABLE=0 START_CHARGE_THRESH_BAT0="DEF" STOP_CHARGE_THRESH_BAT0="DEF"
TLP started in AC mode (auto).
$ #
$ # --- tlp setcharge w/o arguments
$ sudo tlp setcharge -- X_BAT_PLUGIN_SIMULATE=huawei START_CHARGE_THRESH_BAT0="60" STOP_CHARGE_THRESH_BAT0="100" X_THRESH_SIMULATE_START="60" X_THRESH_SIMULATE_STOP="100"
Setting temporary charge thresholds:
  start = 60, stop = 100 (Error: write failed)
$ sudo tlp setcharge -- X_BAT_PLUGIN_SIMULATE=huawei START_CHARGE_THRESH_BAT0="99" STOP_CHARGE_THRESH_BAT0="100" X_THRESH_SIMULATE_START="60" X_THRESH_SIMULATE_STOP="100"
Setting temporary charge thresholds:
  start = 99, stop = 100 (Error: write failed)
$ sudo tlp setcharge -- X_BAT_PLUGIN_SIMULATE=huawei START_CHARGE_THRESH_BAT0="0" STOP_CHARGE_THRESH_BAT0="0"
Error in configuration at STOP_CHARGE_THRESH_BAT0="0": not specified, invalid or out of range (1..100). Aborted.
$ sudo tlp setcharge -- X_BAT_PLUGIN_SIMULATE=huawei START_CHARGE_THRESH_BAT0="102" STOP_CHARGE_THRESH_BAT0="101"
Error in configuration at START_CHARGE_THRESH_BAT0="102": not specified, invalid or out of range (0..99). Aborted.
$ sudo tlp setcharge -- X_BAT_PLUGIN_SIMULATE=huawei START_CHARGE_THRESH_BAT0="1" STOP_CHARGE_THRESH_BAT0="101"
Error in configuration at STOP_CHARGE_THRESH_BAT0="101": not specified, invalid or out of range (1..100). Aborted.
$ sudo tlp setcharge -- X_BAT_PLUGIN_SIMULATE=huawei START_CHARGE_THRESH_BAT0="99" STOP_CHARGE_THRESH_BAT0="98"
Error in configuration: START_CHARGE_THRESH_BAT0 > STOP_CHARGE_THRESH_BAT0. Aborted.
$ sudo tlp setcharge -- X_BAT_PLUGIN_SIMULATE=huawei START_CHARGE_THRESH_BAT0="95" STOP_CHARGE_THRESH_BAT0="95" X_THRESH_SIMULATE_START="60" X_THRESH_SIMULATE_STOP="100"
Setting temporary charge thresholds:
  start = 95, stop = 95 (Error: write failed)
$ sudo tlp setcharge -- X_BAT_PLUGIN_SIMULATE=huawei START_CHARGE_THRESH_BAT0="95" STOP_CHARGE_THRESH_BAT0="95" X_THRESH_SIMULATE_START="95" X_THRESH_SIMULATE_STOP="95"
Setting temporary charge thresholds:
  start = 95, stop = 95 (Error: write failed)
$ sudo tlp setcharge -- X_BAT_PLUGIN_SIMULATE=huawei START_CHARGE_THRESH_BAT0="DEF" STOP_CHARGE_THRESH_BAT0="DEF" X_THRESH_SIMULATE_START="0" X_THRESH_SIMULATE_STOP="100"
Setting temporary charge thresholds:
  start = 0, stop = 100 (Error: write failed)
$ sudo tlp setcharge -- X_BAT_PLUGIN_SIMULATE=huawei NATACPI_ENABLE=0 START_CHARGE_THRESH_BAT0="DEF" STOP_CHARGE_THRESH_BAT0="DEF"
Error: battery charge thresholds not available.
$ #
$ # --- tlp setcharge w/ arguments
$ sudo tlp setcharge 60 100 -- X_BAT_PLUGIN_SIMULATE=huawei X_THRESH_SIMULATE_START="60" X_THRESH_SIMULATE_STOP="100"
Setting temporary charge thresholds:
  start = 60, stop = 100 (Error: write failed)
$ sudo tlp setcharge 99 100 -- X_BAT_PLUGIN_SIMULATE=huawei X_THRESH_SIMULATE_START="60" X_THRESH_SIMULATE_STOP="100"
Setting temporary charge thresholds:
  start = 99, stop = 100 (Error: write failed)
$ sudo tlp setcharge 0 0 -- X_BAT_PLUGIN_SIMULATE=huawei X_THRESH_SIMULATE_START="60" X_THRESH_SIMULATE_STOP="100"
Error: charge stop threshold (0) is not specified, invalid or out of range (1..100). Aborted.
$ sudo tlp setcharge 102 101 -- X_BAT_PLUGIN_SIMULATE=huawei
Error: charge start threshold (102) is not specified, invalid or out of range (0..99). Aborted.
$ sudo tlp setcharge 1 101 -- X_BAT_PLUGIN_SIMULATE=huawei
Error: charge stop threshold (101) is not specified, invalid or out of range (1..100). Aborted.
$ sudo tlp setcharge XYZZY 0 -- X_BAT_PLUGIN_SIMULATE=huawei
Error: charge start threshold (XYZZY) is not specified, invalid or out of range (0..99). Aborted.
$ sudo tlp setcharge 1 XYZZY -- X_BAT_PLUGIN_SIMULATE=huawei
Error: charge stop threshold (XYZZY) is not specified, invalid or out of range (1..100). Aborted.
$ sudo tlp setcharge 99 98 -- X_BAT_PLUGIN_SIMULATE=huawei
Error: start threshold > stop threshold. Aborted.
$ sudo tlp setcharge 95 95 -- X_BAT_PLUGIN_SIMULATE=huawei X_THRESH_SIMULATE_START="60" X_THRESH_SIMULATE_STOP="100"
Setting temporary charge thresholds:
  start = 95, stop = 95 (Error: write failed)
$ sudo tlp setcharge 95 95 -- X_BAT_PLUGIN_SIMULATE=huawei
Setting temporary charge thresholds:
  start = 95, stop = 95 (Error: write failed)
$ sudo tlp setcharge 95 95 -- -- X_BAT_PLUGIN_SIMULATE=huawei X_THRESH_SIMULATE_START="95" X_THRESH_SIMULATE_STOP="95"
Setting temporary charge thresholds:
  start = 95, stop = 95 (Error: write failed)
$ sudo tlp setcharge BAT1 -- X_BAT_PLUGIN_SIMULATE=huawei
Error: battery BAT1 not present.
$ sudo tlp setcharge 0 3 BAT1 -- X_BAT_PLUGIN_SIMULATE=huawei
Error: battery BAT1 not present.
$ sudo tlp setcharge XYZZY ABCDE BAT1 -- X_BAT_PLUGIN_SIMULATE=huawei
Error: battery BAT1 not present.
$ #
$ # --- tlp-stat
$ sudo tlp-stat -b -- X_BAT_PLUGIN_SIMULATE=huawei X_THRESH_SIMULATE_START="0" X_THRESH_SIMULATE_STOP="0" | grep "charge_control_thresholds"
/sys/devices/platform/huawei-wmi/charge_control_thresholds  = 0 0 [%] (disabled)
$ sudo tlp-stat -b -- X_BAT_PLUGIN_SIMULATE=huawei X_THRESH_SIMULATE_START="0" X_THRESH_SIMULATE_STOP="100" | grep "charge_control_thresholds"
/sys/devices/platform/huawei-wmi/charge_control_thresholds  = 0 100 [%] (disabled)
$ sudo tlp-stat -b -- X_BAT_PLUGIN_SIMULATE=huawei X_THRESH_SIMULATE_START="75" X_THRESH_SIMULATE_STOP="80" | grep "charge_control_thresholds"
/sys/devices/platform/huawei-wmi/charge_control_thresholds  = 75 80 [%]
$ sudo tlp-stat -b -- X_BAT_PLUGIN_SIMULATE=huawei | grep "charge_control_thresholds"
/sys/devices/platform/huawei-wmi/charge_control_thresholds  = (not available)
$ #
$ # +++ Lenovo ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
$ #
$ # --- tlp start
$ sudo tlp start -- X_BAT_PLUGIN_SIMULATE=lenovo START_CHARGE_THRESH_BAT0= STOP_CHARGE_THRESH_BAT0= START_CHARGE_THRESH_BAT1= STOP_CHARGE_THRESH_BAT1=
TLP started in AC mode (auto).
$ sudo tlp start -- X_BAT_PLUGIN_SIMULATE=lenovo START_CHARGE_THRESH_BAT0="42" STOP_CHARGE_THRESH_BAT0="24" START_CHARGE_THRESH_BAT1= STOP_CHARGE_THRESH_BAT1=
Error in configuration at STOP_CHARGE_THRESH_BAT0="24": conservation mode not specified or invalid (must be 0 or 1). Skipped.
TLP started in AC mode (auto).
$ sudo tlp start -- X_BAT_PLUGIN_SIMULATE=lenovo START_CHARGE_THRESH_BAT0="42" STOP_CHARGE_THRESH_BAT0="1" X_THRESH_SIMULATE_STOP="0" START_CHARGE_THRESH_BAT1= STOP_CHARGE_THRESH_BAT1=
Error: writing conservation mode failed.
TLP started in AC mode (auto).
$ sudo tlp start -- X_BAT_PLUGIN_SIMULATE=lenovo START_CHARGE_THRESH_BAT0="DEF" STOP_CHARGE_THRESH_BAT0="DEF" X_THRESH_SIMULATE_STOP="0" START_CHARGE_THRESH_BAT1= STOP_CHARGE_THRESH_BAT1=
TLP started in AC mode (auto).
$ sudo tlp start -- X_BAT_PLUGIN_SIMULATE=lenovo NATACPI_ENABLE=0 START_CHARGE_THRESH_BAT0="DEF" STOP_CHARGE_THRESH_BAT0="DEF"
TLP started in AC mode (auto).
$ #
$ # --- tlp setcharge w/o arguments
$ sudo tlp setcharge -- X_BAT_PLUGIN_SIMULATE=lenovo START_CHARGE_THRESH_BAT0="42" STOP_CHARGE_THRESH_BAT0="24"
Error in configuration at STOP_CHARGE_THRESH_BAT0="24": conservation mode not specified or invalid (must be 0 or 1). Aborted.
$ sudo tlp setcharge -- X_BAT_PLUGIN_SIMULATE=lenovo START_CHARGE_THRESH_BAT0="42" STOP_CHARGE_THRESH_BAT0="1" X_THRESH_SIMULATE_STOP="0"
Setting temporary charge threshold for all batteries:
  conservation mode = 1 (Error: write failed)
$ sudo tlp setcharge -- X_BAT_PLUGIN_SIMULATE=lenovo NATACPI_ENABLE=0 START_CHARGE_THRESH_BAT0="DEF" STOP_CHARGE_THRESH_BAT0="DEF"
Error: battery charge thresholds not available.
$ #
$ # --- tlp setcharge w/ arguments
$ sudo tlp setcharge 42 24 -- X_BAT_PLUGIN_SIMULATE=lenovo
Error: conservation mode (24) not specified or invalid (must be 0 or 1). Aborted.
$ sudo tlp setcharge 42 1 -- X_BAT_PLUGIN_SIMULATE=lenovo  X_THRESH_SIMULATE_STOP="0"
Setting temporary charge threshold for all batteries:
  conservation mode = 1 (Error: write failed)
$ sudo tlp setcharge 42 1 -- X_BAT_PLUGIN_SIMULATE=lenovo  X_THRESH_SIMULATE_STOP="1"
Setting temporary charge threshold for all batteries:
  conservation mode = 1 (no change)
$ sudo tlp setcharge DEF DEF -- X_BAT_PLUGIN_SIMULATE=lenovo  X_THRESH_SIMULATE_STOP="0"
Setting temporary charge threshold for all batteries:
  conservation mode = 0 (no change)
$ sudo tlp setcharge 42 24 BAT1 -- X_BAT_PLUGIN_SIMULATE=lenovo
Error: battery BAT1 not present.
$ sudo tlp setcharge 2 -- X_BAT_PLUGIN_SIMULATE=lenovo
Error: battery 2 not present.
$ #
$ # --- tlp-stat
$ sudo tlp-stat -b -- X_BAT_PLUGIN_SIMULATE=lenovo | grep "conservation_mode"
/sys/bus/platform/drivers/ideapad_acpi/VPC2004:00/conservation_mode = (not available)
$ #
$ # +++ LG ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
$ #
$ # --- tlp start
$ sudo tlp start -- X_BAT_PLUGIN_SIMULATE=lg START_CHARGE_THRESH_BAT0= STOP_CHARGE_THRESH_BAT0= START_CHARGE_THRESH_BAT1= STOP_CHARGE_THRESH_BAT1=
TLP started in AC mode (auto).
$ sudo tlp start -- X_BAT_PLUGIN_SIMULATE=lg START_CHARGE_THRESH_BAT0="42" STOP_CHARGE_THRESH_BAT0="24" START_CHARGE_THRESH_BAT1= STOP_CHARGE_THRESH_BAT1=
Error in configuration at STOP_CHARGE_THRESH_BAT0="24": care limit not specified or invalid (must be 80 or 100). Skipped.
TLP started in AC mode (auto).
$ sudo tlp start -- X_BAT_PLUGIN_SIMULATE=lg START_CHARGE_THRESH_BAT0="42" STOP_CHARGE_THRESH_BAT0="80" X_THRESH_SIMULATE_STOP="100" START_CHARGE_THRESH_BAT1= STOP_CHARGE_THRESH_BAT1=
Error: writing care limit failed.
TLP started in AC mode (auto).
$ sudo tlp start -- X_BAT_PLUGIN_SIMULATE=lg START_CHARGE_THRESH_BAT0="DEF" STOP_CHARGE_THRESH_BAT0="DEF" X_THRESH_SIMULATE_STOP="100" START_CHARGE_THRESH_BAT1= STOP_CHARGE_THRESH_BAT1=
TLP started in AC mode (auto).
$ sudo tlp start -- X_BAT_PLUGIN_SIMULATE=lg NATACPI_ENABLE=0 START_CHARGE_THRESH_BAT0="DEF" STOP_CHARGE_THRESH_BAT0="DEF"
TLP started in AC mode (auto).
$ #
$ # --- tlp setcharge w/o arguments
$ sudo tlp setcharge -- X_BAT_PLUGIN_SIMULATE=lg START_CHARGE_THRESH_BAT0="42" STOP_CHARGE_THRESH_BAT0="24"
Error in configuration at STOP_CHARGE_THRESH_BAT0="24": care limit not specified or invalid (must be 80 or 100). Aborted.
$ sudo tlp setcharge -- X_BAT_PLUGIN_SIMULATE=lg START_CHARGE_THRESH_BAT0="DEF" STOP_CHARGE_THRESH_BAT0="DEF"
Error: could not read current care limit. Aborted.
$ #
$ # --- tlp setcharge w/ arguments
$ sudo tlp setcharge 42 24 -- X_BAT_PLUGIN_SIMULATE=lg
Error: care limit (24) not specified or invalid (must be 80 or 100). Aborted.
$ sudo tlp setcharge 42 100 -- X_BAT_PLUGIN_SIMULATE=lg  X_THRESH_SIMULATE_STOP="80"
Setting temporary charge threshold for all batteries:
  care limit = 100 (Error: write failed)
$ sudo tlp setcharge 42 80 -- X_BAT_PLUGIN_SIMULATE=lg  X_THRESH_SIMULATE_STOP="80"
Setting temporary charge threshold for all batteries:
  care limit = 80 (no change)
$ sudo tlp setcharge DEF DEF -- X_BAT_PLUGIN_SIMULATE=lg  X_THRESH_SIMULATE_STOP="100"
Setting temporary charge threshold for all batteries:
  care limit = 100 (no change)
$ sudo tlp setcharge 42 80 BAT1 -- X_BAT_PLUGIN_SIMULATE=lg
Error: battery BAT1 not present.
$ sudo tlp setcharge 2 -- X_BAT_PLUGIN_SIMULATE=lg
Error: battery 2 not present.
$ #
$ # --- tlp-stat
$ sudo tlp-stat -b -- X_BAT_PLUGIN_SIMULATE=lg | grep "battery_care_limit"
/sys/devices/platform/lg-laptop/battery_care_limit          = (not available)
$ #
$ # +++ Samsung ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
$ #
$ # --- tlp start
$ sudo tlp start -- X_BAT_PLUGIN_SIMULATE=samsung START_CHARGE_THRESH_BAT0= STOP_CHARGE_THRESH_BAT0= START_CHARGE_THRESH_BAT1= STOP_CHARGE_THRESH_BAT1=
TLP started in AC mode (auto).
$ sudo tlp start -- X_BAT_PLUGIN_SIMULATE=samsung START_CHARGE_THRESH_BAT0="42" STOP_CHARGE_THRESH_BAT0="24" START_CHARGE_THRESH_BAT1= STOP_CHARGE_THRESH_BAT1=
Error in configuration at STOP_CHARGE_THRESH_BAT0="24": life extender not specified or invalid (must be 0 or 1). Skipped.
TLP started in AC mode (auto).
$ sudo tlp start -- X_BAT_PLUGIN_SIMULATE=samsung START_CHARGE_THRESH_BAT0="42" STOP_CHARGE_THRESH_BAT0="1" X_THRESH_SIMULATE_STOP="0" START_CHARGE_THRESH_BAT1= STOP_CHARGE_THRESH_BAT1=
Error: writing life extender failed.
TLP started in AC mode (auto).
$ sudo tlp start -- X_BAT_PLUGIN_SIMULATE=samsung START_CHARGE_THRESH_BAT0="DEF" STOP_CHARGE_THRESH_BAT0="DEF" X_THRESH_SIMULATE_STOP="0" START_CHARGE_THRESH_BAT1= STOP_CHARGE_THRESH_BAT1=
TLP started in AC mode (auto).
$ sudo tlp start -- X_BAT_PLUGIN_SIMULATE=samsung NATACPI_ENABLE=0 START_CHARGE_THRESH_BAT0="DEF" STOP_CHARGE_THRESH_BAT0="DEF"
TLP started in AC mode (auto).
$ #
$ # --- tlp setcharge w/o arguments
$ sudo tlp setcharge -- X_BAT_PLUGIN_SIMULATE=samsung START_CHARGE_THRESH_BAT0="42" STOP_CHARGE_THRESH_BAT0="24"
Error in configuration at STOP_CHARGE_THRESH_BAT0="24": life extender not specified or invalid (must be 0 or 1). Aborted.
$ sudo tlp setcharge -- X_BAT_PLUGIN_SIMULATE=samsung START_CHARGE_THRESH_BAT0="42" STOP_CHARGE_THRESH_BAT0="1" X_THRESH_SIMULATE_STOP="0"
Setting temporary charge threshold for all batteries:
  life extender = 1 (Error: write failed)
$ sudo tlp setcharge -- X_BAT_PLUGIN_SIMULATE=samsung NATACPI_ENABLE=0 START_CHARGE_THRESH_BAT0="DEF" STOP_CHARGE_THRESH_BAT0="DEF"
Error: battery charge thresholds not available.
$ #
$ # --- tlp setcharge w/ arguments
$ sudo tlp setcharge 42 24 -- X_BAT_PLUGIN_SIMULATE=samsung
Error: life extender (24) not specified or invalid (must be 0 or 1). Aborted.
$ sudo tlp setcharge 42 1 -- X_BAT_PLUGIN_SIMULATE=samsung  X_THRESH_SIMULATE_STOP="0"
Setting temporary charge threshold for all batteries:
  life extender = 1 (Error: write failed)
$ sudo tlp setcharge 42 1 -- X_BAT_PLUGIN_SIMULATE=samsung  X_THRESH_SIMULATE_STOP="1"
Setting temporary charge threshold for all batteries:
  life extender = 1 (no change)
$ sudo tlp setcharge DEF DEF -- X_BAT_PLUGIN_SIMULATE=samsung  X_THRESH_SIMULATE_STOP="0"
Setting temporary charge threshold for all batteries:
  life extender = 0 (no change)
$ sudo tlp setcharge 42 24 BAT1 -- X_BAT_PLUGIN_SIMULATE=samsung
Error: battery BAT1 not present.
$ sudo tlp setcharge 2 -- X_BAT_PLUGIN_SIMULATE=samsung
Error: battery 2 not present.
$ #
$ # --- tlp-stat
$ sudo tlp-stat -b -- X_BAT_PLUGIN_SIMULATE=samsung | grep "battery_life_extender"
/sys/devices/platform/samsung/battery_life_extender         = (not available)
$ #
$ # +++ Sony ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
$ #
$ # --- tlp start
$ sudo tlp start -- X_BAT_PLUGIN_SIMULATE=sony START_CHARGE_THRESH_BAT0= STOP_CHARGE_THRESH_BAT0= START_CHARGE_THRESH_BAT1= STOP_CHARGE_THRESH_BAT1=
TLP started in AC mode (auto).
$ sudo tlp start -- X_BAT_PLUGIN_SIMULATE=sony START_CHARGE_THRESH_BAT0="42" STOP_CHARGE_THRESH_BAT0="24" START_CHARGE_THRESH_BAT1= STOP_CHARGE_THRESH_BAT1=
Error in configuration at STOP_CHARGE_THRESH_BAT0="24": care limiter not specified or invalid (must be 50, 80 or 100). Skipped.
TLP started in AC mode (auto).
$ sudo tlp start -- X_BAT_PLUGIN_SIMULATE=sony START_CHARGE_THRESH_BAT0="42" STOP_CHARGE_THRESH_BAT0="50" X_THRESH_SIMULATE_STOP="0" START_CHARGE_THRESH_BAT1= STOP_CHARGE_THRESH_BAT1=
Error: writing care limiter failed.
TLP started in AC mode (auto).
$ sudo tlp start -- X_BAT_PLUGIN_SIMULATE=sony START_CHARGE_THRESH_BAT0="42" STOP_CHARGE_THRESH_BAT0="80" X_THRESH_SIMULATE_STOP="50" START_CHARGE_THRESH_BAT1= STOP_CHARGE_THRESH_BAT1=
Error: writing care limiter failed.
TLP started in AC mode (auto).
$ sudo tlp start -- X_BAT_PLUGIN_SIMULATE=sony START_CHARGE_THRESH_BAT0="42" STOP_CHARGE_THRESH_BAT0="100" X_THRESH_SIMULATE_STOP="80" START_CHARGE_THRESH_BAT1= STOP_CHARGE_THRESH_BAT1=
Error: writing care limiter failed.
TLP started in AC mode (auto).
$ sudo tlp start -- X_BAT_PLUGIN_SIMULATE=sony START_CHARGE_THRESH_BAT0="DEF" STOP_CHARGE_THRESH_BAT0="DEF" X_THRESH_SIMULATE_STOP="50" START_CHARGE_THRESH_BAT1= STOP_CHARGE_THRESH_BAT1=
Error: writing care limiter failed.
TLP started in AC mode (auto).
$ sudo tlp start -- X_BAT_PLUGIN_SIMULATE=sony NATACPI_ENABLE=0 START_CHARGE_THRESH_BAT0="DEF" STOP_CHARGE_THRESH_BAT0="DEF"
TLP started in AC mode (auto).
$ #
$ # --- tlp setcharge w/o arguments
$ sudo tlp setcharge -- X_BAT_PLUGIN_SIMULATE=sony START_CHARGE_THRESH_BAT0="42" STOP_CHARGE_THRESH_BAT0="24"
Error in configuration at STOP_CHARGE_THRESH_BAT0="24": care limiter not specified or invalid (must be 50, 80 or 100). Aborted.
$ sudo tlp setcharge -- X_BAT_PLUGIN_SIMULATE=sony START_CHARGE_THRESH_BAT0="42" STOP_CHARGE_THRESH_BAT0="50" X_THRESH_SIMULATE_STOP="0"
Setting temporary charge threshold for all batteries:
  care limiter = 50 (Error: write failed)
$ sudo tlp setcharge -- X_BAT_PLUGIN_SIMULATE=sony START_CHARGE_THRESH_BAT0="42" STOP_CHARGE_THRESH_BAT0="80" X_THRESH_SIMULATE_STOP="50"
Setting temporary charge threshold for all batteries:
  care limiter = 80 (Error: write failed)
$ sudo tlp setcharge -- X_BAT_PLUGIN_SIMULATE=sony START_CHARGE_THRESH_BAT0="42" STOP_CHARGE_THRESH_BAT0="100" X_THRESH_SIMULATE_STOP="80"
Setting temporary charge threshold for all batteries:
  care limiter = 100 (Error: write failed)
$ sudo tlp setcharge -- X_BAT_PLUGIN_SIMULATE=sony NATACPI_ENABLE=0 START_CHARGE_THRESH_BAT0="DEF" STOP_CHARGE_THRESH_BAT0="DEF"
Error: battery charge thresholds not available.
$ #
$ # --- tlp setcharge w/ arguments
$ sudo tlp setcharge 42 24 -- X_BAT_PLUGIN_SIMULATE=sony
Error: care limiter (24) not specified or invalid (must be 50, 80 or 100). Aborted.
$ sudo tlp setcharge 42 50 -- X_BAT_PLUGIN_SIMULATE=sony X_THRESH_SIMULATE_STOP="0"
Setting temporary charge threshold for all batteries:
  care limiter = 50 (Error: write failed)
$ sudo tlp setcharge 42 80 -- X_BAT_PLUGIN_SIMULATE=sony X_THRESH_SIMULATE_STOP="50"
Setting temporary charge threshold for all batteries:
  care limiter = 80 (Error: write failed)
$ sudo tlp setcharge 42 100 -- X_BAT_PLUGIN_SIMULATE=sony X_THRESH_SIMULATE_STOP="80"
Setting temporary charge threshold for all batteries:
  care limiter = 100 (Error: write failed)
$ sudo tlp setcharge 42 80 -- X_BAT_PLUGIN_SIMULATE=sony X_THRESH_SIMULATE_STOP="80"
Setting temporary charge threshold for all batteries:
  care limiter = 80 (no change)
$ sudo tlp setcharge DEF DEF -- X_BAT_PLUGIN_SIMULATE=sony X_THRESH_SIMULATE_STOP="0"
Setting temporary charge threshold for all batteries:
  care limiter = 100 (no change)
$ sudo tlp setcharge 42 24 BAT1 -- X_BAT_PLUGIN_SIMULATE=sony
Error: battery BAT1 not present.
$ sudo tlp setcharge 2 -- X_BAT_PLUGIN_SIMULATE=sony
Error: battery 2 not present.
$ #
$ # --- tlp-stat
$ sudo tlp-stat -b -- X_BAT_PLUGIN_SIMULATE=sony | grep "battery_care_limiter"
/sys/devices/platform/sony-laptop/battery_care_limiter      = (not available) [%]
