こんにちは。今回紹介するTaskerレシピは明るさ調整です。照度センサーの値に応じて、自分の好みの明るさに設定することができます。
明るさ自動調整の改良版を投稿しました。こちらの方が簡単で調整が容易です。
他のTaskerのすすめについては以下を参照ください。
はじめに
昔からAndroidの機能として、明るさの自動調整機能がありますが、個人的に昨今に至るまでまともに使えたことがありません。屋外で木漏れ日を歩くだけで眩しくなったり暗くなったりを繰り返す性。
今回のTaskerレシピでは、外出時に10秒おきに照度センサーを読み取り、周囲の明るさに応じて画面の明るさを設定します。繰り返し部分を省いていないので、冗長な表現があるかもしれませんがご了承ください。
タスクの作成
準備:明るさレベルの目安を検証する
今回のタスクはPixel7aで作成しています。明るさレベルは端末によってことなるため、ご自身の端末の設定を次の方法でご確認ください。(スキップ可)
Taskタブを開き、右下の+ > Alert > Flashを選択して、
Text : センサー:%LIGHT, 明るさ:%BRIGHT
と設定して、タスクを実行してください。センサーの値(%LIGHT)と画面明るさレベル(%BRIGHT)の値を表示できます。周囲の明るさの環境を変えて実行することで、最適なレベルの目安を検証することができます。
照度センサーの変数を作成
以下がタスクの全体です。
はじめに、TASKタブを開き、右下のプラスをタップして名前をつけてください。例:明るさ調整
照度センサーの閾値を設定するための変数を複数用意します。最初に夜や映画館、トンネル等の最も暗い環境を想定した値を用意します。
右下の+ > Variables > Variable Setを選択して、
Name:%bright0
To: 10
と設定します。同様に、以下のVariable Setを作成します。
Name:%bright1
To: 1500
Name:%bright2
To: 2500
Name:%bright3
To: 4500
If文を用いて照度センサーの値で分岐させる
次に、照度センサーの値を取得して先程作成した変数で条件分岐させます。
右下の+ > Task > Ifを選択して、評価式をMatchesからMaths:Less Thanに設定し、%LIGHT < %bright0
とします。この設定により、照度センサーが%bright0 = 3以下の値になると、If文の中の処理が実行されます。
戻ると、If文についてダイアログが表示されるので、End If
を選択します。
右下の+ > Display > Display Brightnessを選択して、
Levelを3
にします。(ここはお好みで)
Pixel7aではDisable SafeguardとIgnore Current Levelのチェックをオンにする必要がありました。(以下の処理も同様)
右下の+ > Task > Stopを選択します。StopはTaskの終了を意味します。(プログラムで例えるとbreakのような役割です)StopをIf文内にドラッグします。(以降同様です)
以下のようになっていればOKです。
次に、少し薄暗い程度の明るさを設定します。
先程と同様に、右下の+ > Task > Ifを選択して、
評価式をMatchesからMaths:Less Thanに設定し、%LIGHT < %bright1
とします。
この設定により、照度センサーが%bright0 = 10以上、%bright1 = 1500未満の場合に、If文の中の処理が実行されます。(照度センサーが10未満の場合は%LIGHT < %bright0のIf文が処理されてタスクが停止します。)
このIf文の場合も、End Ifを選択して、右下の+ > Display > Display BrightnessからLevelを7
にします。(ここもお好み)
右下の+ > Task > Stopを選択します。
次に、そこそこ明るい場合を作成します。
先程と同様に、右下の+ > Task > Ifを選択して、
評価式をMatchesからMaths:Less Thanに設定し、%LIGHT < %bright2
とします。
この設定により、照度センサーが%bright1 = 1500以上、%bright2 = 2500未満の場合に、If文の中の処理が実行されます。
このIf文の場合も、End Ifを選択して、右下の+ > Display > Display BrightnessからLevelを18
にします。(ここもお好み)
右下の+ > Task > Stopを選択します。
次に、明るい場合を作成します。
先程と同様に、右下の+ > Task > Ifを選択して、
評価式をMatchesからMaths:Less Thanに設定し、%LIGHT < %bright3
とします。
この設定により、照度センサーが%bright2 = 2500以上、%bright3 = 4500未満の場合に、If文の中の処理が実行されます。
このIf文の場合も、End Ifを選択して、右下の+ > Display > Display BrightnessからLevelを18
にします。(ここもお好み)
右下の+ > Task > Stopを選択します。
最後に、明るさMAXのときを作成します。日中で直射日光が当たる環境を想定しています。明るさを最大にするのはバッテリーの持ちや熱を持つため、明るさを最大から少し下げています。
右下の+ > Display > Display BrightnessからLevelを30
にします。
この設定により、すべてのIf文に当てはまらないとき(照度センサーが%bright3 = 4500以上の場合)に明るさが30になります。
これでタスクの作成は完了です。次にプロファイルでこのタスクを呼び出します。
タスクの概要コードは以下です。
Task: 明るさ調整
A1: [X] Flash [
Text: センサー:%LIGHT,明るさ:%BRIGHT
Continue Task Immediately: On
Dismiss On Click: On ]
A2: Variable Set [
Name: %bright0
To: 10
Structure Output (JSON, etc): On ]
A3: Variable Set [
Name: %bright1
To: 1500
Structure Output (JSON, etc): On ]
A4: Variable Set [
Name: %bright2
To: 2500
Structure Output (JSON, etc): On ]
A5: Variable Set [
Name: %bright3
To: 4500
Structure Output (JSON, etc): On ]
A6: If [ %LIGHT < %bright0 ]
A7: Display Brightness [
Level: 3
Disable Safeguard: On
Ignore Current Level: On ]
A8: Stop [ ]
A9: End If
A10: If [ %LIGHT < %bright1 ]
A11: Display Brightness [
Level: 7
Disable Safeguard: On
Ignore Current Level: On ]
A12: Stop [ ]
A13: End If
A14: If [ %LIGHT < %bright2 ]
A15: Display Brightness [
Level: 15
Disable Safeguard: On
Ignore Current Level: On ]
A16: Stop [ ]
A17: End If
A18: If [ %LIGHT < %bright3 ]
A19: Display Brightness [
Level: 18
Disable Safeguard: On
Ignore Current Level: On ]
A20: Stop [ ]
A21: End If
A22: Display Brightness [
Level: 30
Disable Safeguard: On
Ignore Current Level: On ]
プロファイルの作成
以下のプロファイルを作成します。
外出時かつディスプレイがオンのとき、10秒毎に明るさ調整を実行します。
まずは、10秒おきに照度センサーを取得する条件を加えます。
右下の+> System > Tick を選択して、
Intervalを1000
に設定します。この10秒おきも利用状況に応じて変更してください。
次に、先ほど作成したタスク「明るさ調整」を選択します。
(自宅モードと外出モードを設定しようで自宅判定をしている方のみ)
作成したプロファイルのTickを長押してAddを選択します。
State > Variables > Variable Valueを選択して、%MYLOC eq 1
と設定します。これで外出時の条件になります。
次に、ディスプレイがオンの状態の条件を追加します。これを追加しないとスリープ時も常に照度センサーを読み取って明るさを調整してしまいます。
作成したプロファイルのTickを長押してAddを選択します。
State > Display > Display Stateを選択して、
IsをOn
に設定します。
おわりに
これで作業は終了です。お疲れ様でした。
環境に応じて、変数や条件などを変更してください。
今回は外出時の設定を紹介しましたが、在宅時(MYLOC eq 0)は明るさを6
にして、照度センサー(%LIGHT)が0のときに明るさを1
にしています。(オフトゥンモード)
Be First to Comment