TP-Link の Tapo P105 に Zephyrus の 250W ACアダプタをつないで,Zephyrus のバッテリー残量を監視して自動的に充電開始/終了するスクリプトを書いた.タスクトレイに常駐する C#アプリを作るつもりでいたのだけど,もうこれでいいか… .

Pocket

 

TP-Link の Tapo P105 に Zephyrus の 250W ACアダプタをつないで,Zephyrus のバッテリー残量を監視して自動的に充電開始/終了するスクリプトを書いた.

普段は Thunderbolt 経由で給電しているのだけど,Zephyrus は ThinkPad と違って消費電力が大きいようで,GPUを特には使わない通常の作業をしているだけでじわじわじわじわとバッテリー残量が減っていく.
130W ACアダプタ Thunderbolt 給電だと,給電が消費電力に追いついていない感じ.
半日以上続けて使う場合は,付属の 250W ACアダプタを接続するのは必須のようだ.
かといって,250W ACアダプタにいつも通電させておくのはなんだか電気の無駄使いをしているような気もする… .

 

ということで,スクリプトを書いた.

スクリプトは,

 充電をしていないとき:
  バッテリー残量が 20% 以下になったら Tapo P105 を On にして充電開始
 充電をしているとき:
  バッテリー残量が 98% 以上になったら Tapo P105 を Off にして充電終了

 バッテリー残量の監視間隔は,15分

というふうにした.開始/終了のバッテリー残量値や,監視間隔はあとで調整するかもしれない.

 

バッテリー残量を調べる方法はいくつかあるけれど,なるべく汎用性のある方法にしたかったので,

powercfg /batteryreport /xml /output battery_report.xml > /dev/null

として,battery_report.xml を解析する方法にした.

簡単にできるつもりだったのだけど,名前空間あり XML の Python での解析に手間取って 3時間くらいかかってしまった.

 

「ElementTreeやlxmlで名前空間を含むXMLの要素を取得する – orangain flavor」
https://orangain.hatenablog.com/entry/namespaces-in-xpath

「Pythonで名前空間付きのXMLを操作する(ElementTree) – Qiita」
https://qiita.com/yuki2006/items/d84b37f07b70d02c5504

 

たとえ名前空間が 1つだけしかない XML でも,要素ひとつひとつに名前空間をベタに書かないとだめっぽい.むーん.
たとえば,3階層下の要素にアクセスしたいときは,名前空間を 3回も書くことになる.むーん.
名前空間をラベル化(ハッシュ化)して短く書くことはできるけれど,メンテナンス性というか見かけ上はあんまり変わらないなぁ.

まぁ,名前空間ってそういうものではあるのだけどさー,「いま処理対象にしている名前空間」を動的に設定できて,切り替えて使えるようになっているといいなぁ,と思う.
私がわからなかっただけで,ホントはできるんじゃないかなぁ… .

 

とりあえず,スクリプトはできた.
意図どおりに動いているような感じ.
スクリプトを動作させ続けて様子を観察すると,

充電していない時間: 5~10時間
充電している時間: 1時間強

だった.
バッテリーの劣化との兼ね合いもあるけれど,大部分の時間は充電をしていなくて,充電時間は 1時間強で済んでいるのだから,やっぱり,250W ACアダプタにいつも通電させておくのは電気の無駄使いのような気がする.

ということで,Tapo P105 による 250W ACアダプタ制御は意義がありそう.ばんざい.


このスクリプトは動作確認をするためだけのもので,本来はタスクトレイに常駐する C#アプリを作るつもりでいたのだけど,もうこれでいいか… .
なんか,くたびれてしまった… .

Zephyrus_Tapo_P105_Charge.png


 

 

 

==

 

2022年9月16日
TP-Link のスマートプラグ「Tapo P105」も,初期設定さえ済ませておけば,外部ネットワークのサービスを使わずにローカルネットワーク用の制御ツールで On/Off 制御できました.
https://noike.info/wp/knoike/2022/09/16/84744/

 

2022年7月27日
普段使いのPCが唐突にだめになってしまったので,急遽,新しくPCを購入しました.新しく買った PC は ASUS の ROG Zephyrus M16 で,RTX3070 が載った機種にしました.
https://noike.info/wp/knoike/2022/07/27/84707/

 

 

Pocket

普段使いのPCが唐突にだめになってしまったので,急遽,新しくPCを購入しました.新しく買った PC は ASUS の ROG Zephyrus M16 で,RTX3070 が載った機種にしました.

Pocket

 


普段使いの PC として ThinkPad X1 Carbon を長らく使っていたのですが,唐突にだめになってしまい,急遽,新しく PC を購入しました.

だめになり方は,「唐突に起動中の多くのアプリが固まり,自動的に Windows の再起動がかかったものの,再起動に失敗する」というものです.
その後は,「自動再起動 → 再起動に失敗」を延々と繰り返す状態になってしまったので,強制的に電源を切りました.
Lenovo のハードウェア診断ツールによると,C: にしている内蔵 SSD の先頭付近の読み出しができなくなっているために,その後ろすべてが読めなくなっているような感じでした.
Windows インストール済みの USB HDD から起動しようとしてみましたが,Windows の起動途中でいわゆる「ブルースクリーン」になって Windows の起動もできないので,SSD のほかにもどこかが何かおかしいのかもしれません.
とりあえず,この PC からデータを取り出すことは保留にして,新しく PC を購入しました.

 

新しく買った PC は,ASUS の ROG Zephyrus M16 です.
そこそこ高いスペックの GPU を使ってみたかったので,NVIDIA の RTX3070(GPU用メモリ 8GB)が載っている機種にしました.型番は GU603HR-I7R3070U144 です.
CPU は Core i7-11800H(2.3GHz, TB時 4.6GHz).8コア,16スレッド.Tiger Lake-H(第11世代 CPU).
CPU 内蔵 GPU は,Intel Iris UHD Graphics 750.内蔵 GPU も結構なスペックですね.
RAM は DDR4 で,16GB 載っています.

 

Sofmap で 2022年 7月13日(水)に発注して,2日後の 15日(金)に到着しました.
すぐに届いてよかったー.

 

X1 Carbon で使っていた Thunderbolt3 ドックは Zephyrus でそのまま使えました.助かったー.

 

前PC からデータ移行ができない状態で新 PC を使い始めたのは初めてかも… .
2週間近く経ちましたが,いまも普段作業をしつつ少しずつ環境整え中… .

思わぬことから Windows11 を使い始めることができました.
前の PC は CPU が Kaby Lake(第7世代 CPU)なので Windows11 Ready ではなく,Windows10 止まりだったので,どうしようかなぁ,と思っていたところでした.
予定外のいたい出費でしたが,Windows11 に移行できたのは少し嬉しい… .
新 PC も長く使っていけそうです.

 

Zephyrus_Corei7_16core.png
16コア CPU


あぁん,コアがいっぱいあるわぁ,すてきだわー.

 

そうそう.この PC は,いわゆる「ゲーミング PC」なので,電源を入れたときに「シュバッ」と音がしたり,キーボードのバックライトが 7色にめろめろ光るので,このままだと外で使うのははずかしい… .設定で変えられると思うので,探さなければ… .

ヘッドホンジャックにヘッドホンプラグを挿しておけばあらゆる音が出なくなると思うじゃないですか.
ところが,そうしておいても電源を入れたときだけは音が出るんですよ,「シュバッ」と… .
かっこいいんだけどさー,かっこいいんだけどもさー,お外ではなんとかしたいなぁ.

 

 

 

 

==

 

Pocket

ラトックシステムの USB接続型 RAIDケース RS-EC32-U3RWS に,Western Digital の 8TB HDD WD80EAZZ を 2台入れて RAID1(ミラーリング)ディスクとして使用しているけれど,3か月くらい使った感じでは何も問題なさそう.

Pocket

 


 

 

ラトックシステムの USB接続型 RAIDケース RS-EC32-U3RWS に,Western Digital の 8TB HDD WD80EAZZ を 2台入れて RAID1(ミラーリング)ディスクとして使用しているけれど,3か月くらい使った感じでは何も問題なさそう.

現在の使用容量は 5.7 TB くらいで,いまのところ,ファイルの損失や欠損もなく使えています.

それにしても,WD80EAZZ は WD60EZAZ-RT と比べて,重たいなー.
SMR(トラック瓦書き)なのか CMR なのかはわからないけれども,プラッタ枚数を増やすことで容量を増やしているのは確かだと思う.

 

「USB3.0/2.0 RAIDケース(HDD2台用) RS-EC32-U3R/RS-EC32-U3RWS[RATOC]」
http://www.ratocsystems.com/products/subpage/rsec32u3r.html

「USB3.0/2.0 RAIDケース(HDD2台用) RS-EC32-U3RX/RS-EC32-U3RWSX[RATOC]」
https://www.ratocsystems.com/products/subpage/rsec32u3rx.html

 


 

 

 

==

 

2020年8月8日
ラトックシステムの USB接続型 RAIDケースに,Western Digital の SMR(トラック瓦書き)の 6TB HDD を 2台入れて RAID1(ミラーリング)ディスクとして使用しているけれど,1か月くらい使った感じでは何も問題なさそう.
https://noike.info/wp/knoike/2020/08/08/82879/

 

2015年10月28日
Linux 上で,ラトックシステムの USB3.0/2.0 RAIDケース RS-EC32-U3RWS 中の HDD の温度を調べる方法.smartctl コマンドに -d sat を追加指定したら,情報が見れました.いま,33度,らしい.
http://knoike.seesaa.net/article/428663334.html

 

2015年10月28日
ラトックシステムの USB3.0/2.0 RAIDケース RS-EC32-U3RWS は,Linux からも問題なく使用できました.
http://knoike.seesaa.net/article/428662014.html

 

2015年10月24日
ビープラス・テクノロジーの mSATA RAIDカード PM1092R の調子が悪いときがときどきあるので,とりあえず,はずした.
http://knoike.seesaa.net/article/428424317.html

 

2014年08月17日
GPT 対応の fdisk である「gdisk」というのを知った.2TB 超 HDD を,パフォーマンスの低下なしにパーティショニングするのが簡単らしいので,使ってみた.なるほどー,これは楽だ.
http://knoike.seesaa.net/article/403854802.html

 

2014年08月17日
noike.info サーバの RAID1 領域の容量を増やすために,RAID1 ディスク自体をもうひとつ増設することにしました.RAID1 ディスクの増設には,ビープラス・テクノロジーの mSATA カード PM1092R を使いました.
http://knoike.seesaa.net/article/403854136.html

 

2014年08月17日
noike.info サーバのディスクの増設やメンテナンスをしやすくするために,ビープラス・テクノロジーの PM1061 を導入しました.mini PCIe スロットに挿すハーフサイズのカードで,SATA ポートを 2ポート増設できました.何も問題なく,無事に起動しました.
http://knoike.seesaa.net/article/403850277.html

 

2011年10月08日
Buffalo の HD-WL4TSU2/R1 は,「2.0 TB 超え HDD も扱える RAID1 ボックス」として Linux からも使えました.
http://knoike.seesaa.net/article/229427582.html

 

2011年10月06日
Buffalo の HD-WL4TSU2/R1 は,「2.0 TB 超え HDD も扱える RAID1 ボックス」として使えそうです.
http://knoike.seesaa.net/article/228943002.html

 

2010年08月15日
「裸族の二世帯住宅 (CRNS35EU2)」で RAID1 を作って,そこにファイルを移動した. eSATA での転送って,結構,速い.
http://knoike.seesaa.net/article/159481145.html

 

2010年08月13日
ただいま,noike.info メンテナンス中.ディスクが微妙に危ういので,さらに危うくなる前に,RAID1 にファイルを移動中.
http://knoike.seesaa.net/article/159332699.html

 

 

 

Pocket

yum update で,remi の WordPress 5.8.2-1 から 5.9.x 系へのアップデートに失敗するようになっていた.正しいやり方なのかどうかわからないけれども,私は次のようにして解決しました.

Pocket

 

いつの頃からか,remi リポジトリの WordPress 5.8.2-1 の yum update に失敗するようになっていた.
5.9.x 系に update しようとして失敗している.
長らく様子見していたのだけど,状況が変わらないようなので自分で対処することにした.

そもそも「なんでいまだに yum なんだよ,DNF じゃないのかよ」とか「なんでいまだに OS が ScientificLinux(CentOS) の 7 系なんだよ」という問題があるのだけど,今はそれは保留.

 

エラーメッセージを見ると,

wp-includes/PHPMailer/PHPMailer.php
wp-includes/PHPMailer/SMTP.php

が,php-phpmailer6 のファイルとコンフリクトしているらしい.
少し調べてみると,
5.8.2-1 の PHPMailer/ はシンボリックリンクで,update 後の
5.9.x の PHPMailer/ はディレクトリ実体だった.
WordPress の PHPMailer 絡みの yum update 失敗は以前にも経験しているので,そのときと同じ方法で対処した.

mv wp-includes/PHPMailer wp-includes/PHPMailer.old

どういうふうにして解決するのが正しいやり方なのかわからないけれども,私はこの方法で yum update に成功するようになりました.
update に成功したあとは,PHPMailer.old はシンボリックリンクなので削除しました.
なお,リンク先は /usr/share/php/PHPMailer/PHPMailer6/ でした.

 

それはそうとして,OS の更新は,いつやろうかのぅ… .
「CentOS Stream でいいかー」とは決めているのだけど,いま 8系に入れ替えるのもなんかなー.
かといって,9 系にするのもなんかなー.

 

 

 

==

 

2020年10月22日
yum update で,remi の WordPress 5.5.1-1 から 5.5.1-2 へのアップデートに失敗していた.正しいやり方なのかどうかわからないけれども,私は次のようにして解決しました.
https://noike.info/wp/knoike/2020/10/22/83332/

 

 

 

Pocket

Chrome のさまざまな操作をキー操作で実行できる拡張機能を,Vimium から cVim に移行しました.cVim は「リンクを新しいウィンドウで開く」,「タブの物理位置を左右に動かす」ができます.

Pocket

 

「cVim – Chrome ウェブストア」
https://chrome.google.com/webstore/detail/cvim/ihlenndgcmojhcghmfjfneahoeklbjjh/

「1995eaton/chromium-vim: Vim bindings for Google Chrome.」
https://github.com/1995eaton/chromium-vim/

 

「Vimium – Chrome ウェブストア」
https://chrome.google.com/webstore/detail/vimium/dbepggeogbaibhgnhhndojpepiihcmeb

 

 

 

(2021-12-16 追記: Vimium にも「タブの物理位置を左右に動かす」機能がありました.この記事中のこれに関する記述は無視してください.)

 

 

Chrome のさまざまな操作をキー操作で実行できる拡張機能を,Vimium から cVim に移行しました.
Vimium と違って cVim は,

 

o リンクを新しいウィンドウで開く「open link in new window(createHintWindow) 」がある.

o タブの物理位置を左右に動かす「move current tab left(moveTabLeft)」,「move current tab right(moveTabRight)」がある.

 

ことが移行した理由です.

cVim に移行した動機は,「リンクを新しいウィンドウで開く」機能があったからなのですが,うれしいことに,タブの物理位置を左右に動かす機能もありました.

かなり昔から,タブの物理位置を左右に動かしてタブの並び順を自分好みに変更することを「マウス操作ではなくキー操作で」行いたかったのですが,拡張機能を探したり作ったりすることを先送りにしていてなかなか実現できていませんでした.それがようやくかないました.

| a | B | c | d |

というタブ並び順で,アクティブタブが B のときに,<キーや >キーで,

<キー:
| B | a | c | d |

>キー:
| a | c | B | d |

と,タブの物理的な位置の変更ができます.

 

https://github.com/1995eaton/chromium-vim/

もしかしたら,他のいくつかの拡張機能で実現している機能が,cVim だけで実現できるかもしれない.
まだ機能すべてを見ていませんが,とりあえず,キーバインディングを

 

map f createActiveTabbedHint
map F createHint
map W createHintWindow
map h createHoverHint
map H createUnhoverHint

 

に変更して,CSS を自分好みに,

 

.cVim-link-hint {
  position: absolute;
  /* color: #302505 !important; */
  color: #000000 !important;
  /* background-color: #ffd76e !important; */
  background-color: rgba(255, 215, 110, 1.0) !important;
  border-radius: 2px !important;
  padding: 2px !important;
  /* font-size: 8pt !important; */
  font-size: 8pt !important;
  /* font-weight: 500 !important; */
  font-weight: 700 !important;
  text-transform: uppercase !important;
  border: 1px solid #ad810c;
  display: inline-block !important;
  vertical-align: middle !important;
  text-align: center !important;
  box-shadow: 2px 2px 1px rgba(0,0,0,0.25) !important;
}

 

に変更しました.
background-color と font-size は,試行錯誤した結果,元のままの値で落ち着きました.
background-color は,「背後が少し透けて見えたほうがいいかな?」と思ってα値を試行錯誤してみたのですが,結局のところは透けないほうが見やすそうでした.

 

 

 

 

==

 

Pocket