Skip to content

【Taskerレシピ】明るさ調整を自分好みにカスタマイズしよう

こんにちは。今回紹介するTaskerレシピは明るさ調整です。照度センサーの値に応じて、自分の好みの明るさに設定することができます。

明るさ自動調整の改良版を投稿しました。こちらの方が簡単で調整が容易です。

他のTaskerのすすめについては以下を参照ください。

はじめに

昔からAndroidの機能として、明るさの自動調整機能がありますが、個人的に昨今に至るまでまともに使えたことがありません。屋外で木漏れ日を歩くだけで眩しくなったり暗くなったりを繰り返す性。

今回のTaskerレシピでは、外出時に10秒おきに照度センサーを読み取り、周囲の明るさに応じて画面の明るさを設定します。繰り返し部分を省いていないので、冗長な表現があるかもしれませんがご了承ください。

タスクの作成

準備:明るさレベルの目安を検証する

今回のタスクはPixel7aで作成しています。明るさレベルは端末によってことなるため、ご自身の端末の設定を次の方法でご確認ください。(スキップ可)

Taskタブを開き、右下の+ > Alert > Flashを選択して、
Text : センサー:%LIGHT, 明るさ:%BRIGHT

と設定して、タスクを実行してください。センサーの値(%LIGHT)と画面明るさレベル(%BRIGHT)の値を表示できます。周囲の明るさの環境を変えて実行することで、最適なレベルの目安を検証することができます。

照度センサーの変数を作成

以下がタスクの全体です。

09435b91 image

はじめに、TASKタブを開き、右下のプラスをタップして名前をつけてください。例:明るさ調整

照度センサーの閾値を設定するための変数を複数用意します。最初に夜や映画館、トンネル等の最も暗い環境を想定した値を用意します。

右下の+ > Variables > Variable Setを選択して、

Name:%bright0
To: 10

e48920f8 image

と設定します。同様に、以下の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文の中の処理が実行されます。

834e84a4 image

戻ると、If文についてダイアログが表示されるので、End Ifを選択します。

右下の+ > Display > Display Brightnessを選択して、
Levelを3にします。(ここはお好みで)

Pixel7aではDisable SafeguardとIgnore Current Levelのチェックをオンにする必要がありました。(以下の処理も同様)

6846cc7c image

右下の+ > Task > Stopを選択します。StopはTaskの終了を意味します。(プログラムで例えるとbreakのような役割です)StopをIf文内にドラッグします。(以降同様です)

以下のようになっていればOKです。

9be2942a image

次に、少し薄暗い程度の明るさを設定します。

先程と同様に、右下の+ > Task > Ifを選択して、
評価式をMatchesからMaths:Less Thanに設定し、%LIGHT < %bright1 とします。

d823c35a image

この設定により、照度センサーが%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 とします。

95647639 image

この設定により、照度センサーが%bright1 = 1500以上、%bright2 = 2500未満の場合に、If文の中の処理が実行されます。

このIf文の場合も、End Ifを選択して、右下の+ > Display > Display BrightnessからLevelを18にします。(ここもお好み)

右下の+ > Task > Stopを選択します。

次に、明るい場合を作成します。

先程と同様に、右下の+ > Task > Ifを選択して、
評価式をMatchesからMaths:Less Thanに設定し、%LIGHT < %bright3 とします。

53c77637 image

この設定により、照度センサーが%bright2 = 2500以上、%bright3 = 4500未満の場合に、If文の中の処理が実行されます。

このIf文の場合も、End Ifを選択して、右下の+ > Display > Display BrightnessからLevelを18にします。(ここもお好み)

右下の+ > Task > Stopを選択します。

最後に、明るさMAXのときを作成します。日中で直射日光が当たる環境を想定しています。明るさを最大にするのはバッテリーの持ちや熱を持つため、明るさを最大から少し下げています。

右下の+ > Display > Display BrightnessからLevelを30 にします。

4b3d1b8a image

この設定により、すべての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秒毎に明るさ調整を実行します。

6d4dd3f4 image

まずは、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 にしています。(オフトゥンモード)

カテゴリTaskerスマートフォン

Be First to Comment

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

コメントは日本語で入力してください。(スパム対策)

CAPTCHA