Many tablets ship without an ambient light sensor. Android then hides the auto-brightness switch completely, and the screen stays wherever you last left it: too dim in daylight, blinding at night. ScreenVigil fills that gap using the front camera.
Once a second the app takes a single small preview frame and reads two things from it: how bright the room is, and how much of the picture changed since the previous second. That is enough to follow the room light smoothly and to turn the screen on when somebody walks up to the device.
WHAT IT DOES
• Adjusts screen brightness to match the room, with smoothing and hysteresis so there is no flicker or stepping
• Turns the screen on when you come close, and lets the system turn it off again when nothing happens
• Separates "someone is in the room" from "someone is at the device", so shifting on the sofa does not light up the panel
• Ignores the room light being switched on or off instead of treating it as movement
• Starts itself after a reboot and recovers on its own if the camera stalls
BUILT FOR WALL-MOUNTED PANELS
The app was written for a tablet running 24/7 as a Home Assistant dashboard, and it behaves accordingly: a foreground service with a live readout in the notification, autostart after power loss, a camera watchdog, and a diagnostics tab with a history chart and event log for tuning thresholds in a real room.
WAKE ONLY WHEN SOMEONE IS CLOSE
Two independent thresholds work on the same camera data. The lower one counts as presence and keeps an already-lit screen awake. The higher one is the only thing that turns the screen on. A person close to the device fills a large part of the frame, someone across the room fills a few percent, so raising the second threshold removes accidental wake-ups without making the app deaf. If the room layout needs it, wake decisions can be limited to the centre of the frame, and devices that have a proximity sensor can use it as an extra trigger.
HOME ASSISTANT
Optionally the app publishes numbers to Home Assistant over the REST API: room brightness, screen brightness, movement, screen state and service status. That turns the panel into a light and presence sensor for the room it hangs in. The integration is off until you enable it and enter your own address and token.
PRIVACY
The camera image never leaves the device. Nothing is recorded, saved or uploaded — each frame lives in memory for a moment and is overwritten by the next one. There is no analytics and no advertising. If you enable the Home Assistant integration, plain numbers are sent to the address you specify, and nothing else.
REQUIREMENTS
Android 6.0 or newer, a working camera, and permission to modify system settings (Android grants that one on its own screen). Root is not required; it only unlocks a few optional extras such as turning the screen off without waiting for the system timeout.
The source code is public on GitHub, under a noncommercial license.
Camera auto-brightness and wake-on-approach for tablets with no light sensor.