NotePCのAC電源接続状況を確認してAC電源が切断されたら時間を表示してサスペンドする

大きなバッテリーを裏山で使ってみました．昼過ぎから夕方まで使って目盛り半分くらい．家に帰ってからも使い続けましたがなかなかバッテリ切れになりません．

寝る前に電池が来てる感じがしません．また測り直すのは面倒なので以下のようなscriptを書いて寝ました．

$ while [[ `acpi -a | grep on-line` ]]; do sleep 10;done; echo "AC Off-line! (`date +%T`)" | pee cat "xmessage -file - "& pushbullet ; systemctl suspend
AC Off-line! (02:09:56)

acpiコマンドで電源の状況を確認しました．

$ acpi -a
Adapter 0: on-line
$ acpi -a
Adapter 0: off-line

acpiコマンドがない場合sysを見るといいかもしれません．acpidがない場合は無理かな?

$ while [[ `cat /sys/class/power_supply/AC/online` == 1 ]]; do sleep 10;done; echo "AC Off-line! (`date +%T`)" | pee cat "xmessage -file - "& pushbullet ; systemctl suspend

10秒毎に電源状況を確認してAC電源がOffになったらコンソールとXとPushBulletにメッセージを送信してサスペンドするようにしました．

てことでPCの動作状況にもよるでしょうが今回は約12時間動作しました．

今回バッテリー(3.7V DC)からAC 100Vに変換，更にDC(20V)変換しているので変換効率が悪そうです．DC12V出力も出来るようなのでそこからDC-DC変換するようにすると効率よくなってさらに時間が伸びそうな気がします．

環境

$ sudo lshw -c system -sanitize | head
computer
description: Notebook
product: 23533KJ (LENOVO_MT_2353)
vendor: LENOVO
version: ThinkPad T430s
serial: [REMOVED]
width: 64 bits
capabilities: smbios-2.7 dmi-2.7 smp vsyscall32
configuration: administrator_password=disabled chassis=notebook family=ThinkPad T430s power-on_password=disabled sku=LENOVO_MT_2353 uuid=[REM
OVED]
*-pnp00:00
$ dpkg-query -W acpi x11-utils
acpi 1.7-1.1
x11-utils 7.7+5
$ lsb_release -dr
Description: Debian GNU/Linux bullseye/sid
Release: unstable
$ uname -m
x86_64