WallPanel-Project / wallpanel-android

This project is deprecated; try out this active fork: https://thanksmister.com/wallpanel-android/
Apache License 2.0
207 stars 27 forks source link

Add Auto brightness functionality #36

Closed mezz64 closed 6 years ago

mezz64 commented 6 years ago

This adds two new configuration parameters that allow wallpanel to respond to camera motion/face triggers as well as screen touch to automatically increase/decrease screen brightness. This is useful as an alternative to turning the screen on/off on devices that don't allow disabling of the lockscreen.

It also adds a "brightness" api endpoint to allow changing the screen brightness remotely.

I tested these changes on Fire tablets and everything seemed to work as intended, but i'm not sure how well things scale over various android versions.

blackjid commented 6 years ago

hey @quadportnick ! are you planning to merge this awesome PR?

quadportnick commented 6 years ago

Merged. I didn't actually have any alerts turned on for Github and didnt notice blush. Indeed, awesome! thanks @mezz64!

brent20 commented 6 years ago

Howdy! Running this amazing app with HADashboard on a 7th Gen Fire 7 tablet. I’ve gotten the ads from the home screen removed (thanks to chatting with Amazon support), but like documented in this project, it’s difficult to bypass the lock screen when the screen wakes up for motion. Sounds like Dimming the display and brighting on motion is a perfect compromise to this issue. Is there a compiled apk file I can install with these changes in the WallPanel?

Thanks!

mezz64 commented 6 years ago

@brent20 There is a compiled version under the releases on my fork until @quadportnick gets around to pushing out a new official release.

brent20 commented 6 years ago

Thanks @mezz64! Got your release installed, I see where I can enable the screen to brighten in motion, but where do I go about setting the dimmed setting? Do I have to send it REST commands to set the display to dim? Or is there something i’m missing here?

Thanks again!

blackjid commented 6 years ago

Hey, in my experience, I didn't have to do anything specific to make the display to dim. It just dims itself.... And wakes when the camera detects motion.

brent20 commented 6 years ago

@blackjid interesting! Is this the default behavior? Mine does not do this- is there any way to clear out the app completely to reinstall? I'm using a kindle fire tablet by the way. Thanks!

mezz64 commented 6 years ago

There are two settings, one to enable screen dim/bright on motion and the second to specify the screen on time before it dims by itself. So as long as it's enabled, when the camera detects motion the screen will go to full brightness and then assuming no other motion is detected it will wait the specified delay value and then dim the screen to the lowest setting.

You can also manually change the screen brightness using the "brightness" api endpoint. I've actually only tested the endpoint through mqtt, but with the app structure it should work as a rest command also.

MQTT example: topic: wallpanel/YOURDEVICE/command payload: {'brightness':255}

brent20 commented 6 years ago

@blackjid and @mezz64 Sorry about all that! My mistake. I found the timeout setting, I guess I didn't read the label correctly. Now it's working great. Absolutely fantastic job on this addition!