Androidで各種動作を自動化するアプリのTaskerを入れてるのですが、周囲の明るさを取る %LIGHT がそのまま文字列として「%LIGHT」と表示されるだけだったのでメモを。
Tasker
https://play.google.com/store/apps/details?id=net.dinglisch.android.taskerm&hl=ja
原因はTaskerの設定画面上だけで動作確認したためでした。
Taskerの設定画面上で%LIGHTを取ってFlashで表示しても、単に %LIGHT と表示されるだけでセンサーが動作してないみたいです。
で、バックキーでTaskerの設定画面を抜けると、プロファイルなどが実際に反映されるのか、%LIGHTの値も正常に取れました。
設定ミスでTaskerの設定が修正できない状態になるのを回避する仕組みがあるのかもしれません?
蛍光灯直下、ISW13Fで動作確認
下の赤枠が現在の%LIGHTで、単位はルクスです。
センサーが動作しっぱなしだとバッテリーを食うので、必要な時だけ取得プロファイルをONにして値を取得し、その後、取得プロファイルをOFFにします。
画面ONなどのタイミングで、タスク(LightLevel取得プロファイル操作)を実行します。
タスク(LightLevel取得プロファイル操作)はLight Levelを監視するプロファイル(GetLightLevel)をONにし、1秒後にOFFに戻します。
1秒のWaitは適当です。
GetLightLevelプロファイルはタスク(LightLevel取得(変数格納))を実行します。
Light Levelが0-100の時、%LIGHTをユーザー変数%nowLightLevelに格納します。
ユーザー変数は自分で定義するもので、大文字を入れると他からも参照できるグローバル変数です。
タスク – LightLevel取得(変数格納)
2番目のFlashは動作確認のために出力してるだけです。
後は%nowLightLevelに明るさがルクス単位で入ってるので、画面の明るさを調整するなどします。
明るさの目安はおおむね以下のような値のようです。
「ルクス 目安」などで検索してみてください。
状況 | 明るさ目安(LUX) |
---|---|
快晴 | 10000 |
曇天 | 1000 |
コンビニなど | 500 |
商店街 | 50 |
地下駐車場 | 10 |
夕闇 | 1 |
月夜 | 0.1 |
同じ屋内でも光源に対するセンサーの向きなのか、誤差なのか、値にバラつきがありました。
バッテリー持ちを良くするため、画面を暗くした際に、晴天の屋外で画面真っ暗・・・という状況は回避できたので満足です♪
Comment