こんにちは。今回紹介するTaskerレシピは明るさ自動調整(改良版)です。
前回のTaskerレシピでも明るさ調整についてでしたが、設定方法が煩雑であまり満足の行く調整ではありませんでした。今回の調整方法では、簡単&高性能な明るさ自動調整をご紹介します。
他のTaskerレシピについては以下を参照ください。
はじめに
前回の明るさ調整では、照度センサーの値に対してIF文を設定して任意の明るさを設定する方法でした。照度センサーごとの明るさを微調整する必要があるため、手間がかかります。
今回の明るさ自動調整では、照度センサーに対数の計算を適用させて明るさのパラメータを決定する方法に変更しました。そのため、前回のような条件分岐がなくなり、シンプルになっています。
作り方
タスクの概要
まず、作成するタスクの全体は以下です。
処理の流れは以下です。
- 1秒待機(トリガー発動時から処理を遅らせるためですが、なくても良いと思います)
- 照度センサーから読み取った値
%LIGHT
に対数の計算を実行して、明るさパラメータの変数%resultBright
に代入します - 照度センサーの値が小さい場合に、明るさの値がマイナスになり、エラーが発生することがあります。そのため、IF文で明るさの値がマイナス or 照度センサーが0のときは明るさを2に固定しています。
パラメータの作成
はじめに、照度センサーから計算する明るさパラメータの%resultBright
の変数を作成します。VARSタブをタップして、+ボタンをタップします。
%resultBright
と入力して、チェックマークをタップします。
あとで使用する自動調整オン/オフパラメータも作成しておきましょう。同様に、%enableAutoBright
と入力してチェックマークをタップします。
タスクの作成
それではタスクの中身について作成していきます。
TASKタブを開いて+ボタンをタップします。明るさ調整
など任意のタスク名を入力してチェックマークをタップします。
+ボタン > Task > Waitを選択して、 1 Secondsに設定します。
+ボタン > Variables > Variable Setを選択します。
Nameに%resultBright
を設定します。(タグアイコンから選択できます)
Toにlog(%LIGHT)*1.9
を設定します。この1.9は場合に応じて値を調整してください。私の感覚では1.9があらゆる場面において最適でした。
+ボタン > Task > Ifを選択して、
Conditionに%resultBright
< 0
を設定します。右上の+をタップして、%LIGHT
~ 0.0
を設定します。条件はORにします。Ifの設定画面から戻ると、Insert Actionが選択できるので、If, End if
をタップします。
次に、Display Brightnessを2つ追加します。
+ボタン > Display > Display Brightnessを選択して、Levelを2に設定します。
同様に、+ボタン > Display > Display Brightnessを選択して、Levelを%resultBright
に設定します。
上記の図のように、Ifの中にDisplay Brightness(Level 2), Elseの中にDisplay Brightness(Level %resultBright)をドラッグしてください。
プロファイルの作成
前回は、在宅時+10秒おき + ディスプレイがオンをトリガーに設定していました。

今回設定するのは、自動調整がオン+10秒おき+ディスプレイがオンにします。在宅時、外出時に関係なく使えると判断しました。また、自動調整してほしくない場面が多々あったため、ホーム画面のショートカットからこのレシピをオン/オフにする機能もつけています。
それではプロファイルを作成していきます。
PROFILESタブに移動して、+ボタン > Event > System > Tickを選択し、10000
を入力します。するとタスク一覧が表示されるので、先程作成した明るさ調整
を選択します。
次に、トリガーにディスプレイオンと自動調整オンの条件を追加します。
Tick10000のトリガーをロングタップしてAdd > State > Display > Display Stateを選択して、IsをOn
にします。同様に、ロングタップ > Add > State > Variables > Variable Valueを選択して、%enableAutoBright
~1
にします。
以上でプロファイルの作成は完了です。次に、自動調整オン/オフを切り替えるタスクを作成します。
自動調整オン/オフ機能の追加
作成した変数%enableAutoBright
に値を代入して自動輝度調整オン/オフを切り替えられるようにします。以下のタスクを作成します。
TASKタブを開いて+ボタンをタップします。明るさ調整ON/OFF
など任意のタスク名を入力してチェックマークをタップします。
+ボタン > Task > Ifを選択して、Conditionに%enableAutoBright
~ 0
を設定します。Ifの設定画面から戻ると、Insert Actionが選択できるので、If, End if
をタップします。
次に、明るさ調整オン/オフ変数に0(無効)、1(有効)の状態を設定します。
+ボタン > Variables > Variable Setを選択して、Nameを%enableAutoBright
、Toを0
に設定します。Ifの中にドラッグします。
+ボタン > Variables > Variable Setを選択して、Nameを%enableAutoBright
、Toを1
に設定します。Elseの中にドラッグします。
また、自動調整オン/オフに設定した際に、Flashで画面下に文字を通知するとわかりやすいです。(オプション)
+ボタン > Alert > Flashを選択して、Textを自動輝度調整オン
など任意の文字に設定します。Ifの中にドラッグします。
+ボタン > Alert > Flashを選択して、Textを自動輝度調整オフ
など任意の文字に設定します。Elseの中にドラッグします。
ショートカットのアイコン設定
ショートカットをホーム画面に配置したときのボタンは、下部にあるアイコンをタップすることで設定できます。
自動調整オン/オフのショートカット配置
先程作成した自動調整オン/オフタスクを呼び出すショートカットを作成します。
わかりにくくて恐縮ですが、紫枠で囲った部分が自動調整オン/オフのショートカットです。作り方はまずホーム画面上でロングタップして、Taskerのウィジェットを追加します。
タスク1×1を選択します。
ロングタップして、配置する際に以下のエラーが出ることがあります。指示通り、Taskerアプリを開いて戻る
を実行してアプリを終了しましょう。
ショートカットが配置できたら、タスクの選択画面が出ます。
先程作成した、タスク(自動明るさオンオフ)を選択しましょう。ホーム画面にアイコンが追加されたら完了です。
概要コード
参考までに、以下がTaskerのレシピコードです。
明るさ調整
Task: 明るさ調整
A1: Wait [
MS: 0
Seconds: 1
Minutes: 0
Hours: 0
Days: 0 ]
A2: Variable Set [
Name: %resultBright
To: log(%LIGHT)*1.9
Structure Output (JSON, etc): On ]
A3: If [ %resultBright < 0 | %LIGHT ~ 0.0 ]
A4: Display Brightness [
Level: 2
Disable Safeguard: On
Ignore Current Level: On ]
A5: Else
A6: Display Brightness [
Level: %resultBright
Disable Safeguard: On
Ignore Current Level: On ]
A7: End If
自動調整オン/オフ
Task: 自動明るさオンオフ
A1: If [ %enableAutoBright ~ 0 ]
A2: Variable Set [
Name: %enableAutoBright
To: 1
Structure Output (JSON, etc): On ]
A3: Flash [
Text: 自動輝度調整オン
Continue Task Immediately: On
Dismiss On Click: On ]
A4: Else
A5: Variable Set [
Name: %enableAutoBright
To: 0
Structure Output (JSON, etc): On ]
A6: Flash [
Text: 自動輝度調整オフ
Continue Task Immediately: On
Dismiss On Click: On ]
A7: End If
おわりに
明るさ自動調整にはかなり悩まされてきましたが、個人的には今回の設定方法で満足したので、記事にしました。実は、以前使っていたXperia1ではブルーライトアプリを適用するだけで最適な明るさになっていたのですが、Pixelに変えてからブルーライトアプリの挙動がおかしくなってしまい、明るさ調整に困っていました。謝謝Tasker。
記事を書いていてふと思ったのですが、照度センサーによって算出した明るさの値と、10秒前に設定した明るさの値とを平均して設定すると、急激に明るさが変更される現象が緩和されるかもしれません。あれこれ改善策やアイディアを考えて実行できるのがTaskerのいいところ、面白いところだと思います!
Be First to Comment