前々回記事で、cpuファン制御の温度をあれこれ記した。
今、考えると1、2度差のことをよくもまぁ...。
と、少しこだわり過ぎたことを後悔しつつ、いまいちどshim-fanの事。

このshim-fan、簡単に説明すると、
pimoroniから発売されているラズパイ用のcpuファン。
raspbian busterではconfigで設定できるため、設置するだけで使える便利もの。
設定といってもファンのon、offの温度による閾値を設定するだけ。
また、fan-shimのLEDを使用するならライブラリやサービスのソフトをgithubから見つける事が可能。
ただし、前述通り簡単な設定しかできないのが残念なところ。

自身の環境では、夏場を迎えるにあたり負荷の掛る動作中は常にcpuを冷したいと思う。
かと言って、アイドル中のファン回転音は気になるので切りたい。

で、考えた設定は、
外気温25度の環境で動画、ライブ視聴中は60度を憂に上回るのでonの閾値を60度。
アイドル中のファン停止時は49度前後で安定するためoffの閾値を47度と設定した。

しかしながら、そうは簡単にいかない。
当然、外気温は常に変化するので閾値の設定も変え必要がある。
また、動画、ライブ視聴開始時の温度により意図した動作とはズレてくる。

そんなところ、それ程気にするところか?
われながら、つっこみを入れたくなる。
しかし、至って気になるのである...特に夏場は。

で、調べていると以外なところから巧妙が...。
fan-shim制御のkodiアドオン「Fan Shim」を見つけた。

とりあずインストールから。
と、思ったのだが早々に躓いた。
数日前にMatrix対応になっていたのだ。
ラズパイ3はまだMatrix対応していない。
なので、このcommitをrevertして再びインストール。

が、そうは簡単にいかなった。
import定義されているrpi-toolsが無い、と怒られる。
そもそも本アドオンはlibreELEC用らしい。
自身の環境はraspbian busterにkodiを入れたもの。

仕方なくimportの記された行を削除して影響のある箇所を調べてみる...。
が、意に反してノーエラーで動作した。
まったく、普通に使える。
結果オーライ...深く考えないことにする。

このアドオンを使うことにより閾値の設定が容易になる。
kodi上からリモコンで手軽に変更できるので外気温が変化してもへっちゃら。

さらに一歩踏み出す。
このプログラムに条件を加えてアイドル中、またはメディア稼動時でon-offを切替えてみる。
以下条件で動作を振り分けるだけ。

if getCondVisibility("Player.HasMedia"):

実際に稼動させてみる。
メディア稼動中なら無条件でonにしても、ファンの回転音は気にならない。
また、アイドル中は今迄通り温度でon-offを切替えている。
ただし、offの閾値を高めに設定して、メディア停止で即ファン停止にすることも可能。

これで、ようやく満足できた。
たかがcpu温度調整、されど...。