Sleep Mode Enhancements - Programmatically turn down brightness in iOS
mludviksen
Posts: 18
Just hoping to get some support from others out here regarding sleep mode...
In my opinion, about the best we can do for an iPad that is plugged in next to a bed or mounted on a wall with power is to have TP Control switch to a black page when entering "sleep" mode, and then have the ability to turn the brightness of the iPad down to the minimum. I understand this still generates a little light and it does not turn off the display, but it is *much* less than when the iPad is set to a higher brightness level. In fact, I think the light generated from an iPad that is on a black page with brightness set to zero would generate very little glow, and most users would be able to sleep near it without noticing a glow.
There are several Apps in the App Store that allow the user to control the brightness of the display directly from their App. It just seems that some of them lose their brightness setting when the device is locked. However, if it stays unlocked then the brightness setting would stay as set by the App. In the scenario I envision, the iPad would never lock because it would always be running TPControl, TPControl would help us turn the brightness to zero and then when the user touched the black page it could be programmed to turn the brightness back up. Since TPControl would always be running, it would always be connected to the master and you wouldn't have to wait several seconds for the iPad to reconnect to the master.
Seems like the best way to handle it, given our choices in iOS. I reached out to TPControl via the Help Desk and was told it was not likely to be implemented and nobody had asked for a feature like that in years. Is anyone else interested, or is it just me?
If you have a better way to handle sleep mode, I would be very interested to hear how you do it.
In my opinion, about the best we can do for an iPad that is plugged in next to a bed or mounted on a wall with power is to have TP Control switch to a black page when entering "sleep" mode, and then have the ability to turn the brightness of the iPad down to the minimum. I understand this still generates a little light and it does not turn off the display, but it is *much* less than when the iPad is set to a higher brightness level. In fact, I think the light generated from an iPad that is on a black page with brightness set to zero would generate very little glow, and most users would be able to sleep near it without noticing a glow.
There are several Apps in the App Store that allow the user to control the brightness of the display directly from their App. It just seems that some of them lose their brightness setting when the device is locked. However, if it stays unlocked then the brightness setting would stay as set by the App. In the scenario I envision, the iPad would never lock because it would always be running TPControl, TPControl would help us turn the brightness to zero and then when the user touched the black page it could be programmed to turn the brightness back up. Since TPControl would always be running, it would always be connected to the master and you wouldn't have to wait several seconds for the iPad to reconnect to the master.
Seems like the best way to handle it, given our choices in iOS. I reached out to TPControl via the Help Desk and was told it was not likely to be implemented and nobody had asked for a feature like that in years. Is anyone else interested, or is it just me?
If you have a better way to handle sleep mode, I would be very interested to hear how you do it.
0
Comments
I'm proposing that the iPad basically doesn't go to sleep and that TP Control keeps running in the foreground (and keeps its connection to the Master). In this scenario, all you would have to do is touch the screen to "wake up" the iPad and there would be no need to press the home button, swipe, Touch ID or wait for TP Control to connect to the master. It would be a lot more similar to an experience with a Modero Touch Panel. It would also be a lot easier to do in the middle of the night if you heard a loud noise and wanted to check your security cameras.
As the page there will explain, this puts the device into a mode that keeps the current app alive, extends the dim time, and prevents locking even though the backlight is out.
You begin and end the mode with a triple push on the hard button and follow the prompts.
This holds the backlight on for much longer, then a dim mode, then a real backlight off. Once off, a touch of the hard button wakes it back into the app, no lock. A brief dialog announces the mode and fades, leaving you in TPControl, still connected.
It's used for kiosk and for tour-guide applications. You can read more about it online, search for iOS GUIDED ACCESS MODE.
I've had dozens of talks with TPControl about options to manage the backlight - it isn't that they aren't interested or that no one asks. It's that iOS is really locked down, the things apps would like to do are often simply impossible. Other schemes we have discussed that might be possible run afoul of AMX compatibility, such as altering the way inactivity is measured. So...
Androids are far more flexible in ways to get around this. I use STAY ALIVE and worked with that developer to enhance it for more touch-panel compatibility.
I tried GUIDED ACCESS yesterday and it is a step in the right direction - there is no longer a need to unlock the device via a swipe or Touch ID, but I still have to wait for TPControl to reconnect to the master (can't miss the "NOT CONNECTED" banner). Is there a setting somewhere that'll allow me to stay connected 100% of the time? If I could stay connected 100% of the time, then the only disadvantage of this method would be the requirement of hitting the home button to wake up the device, but it does allow the user to put the device to sleep by pressing the sleep button as well.
I'm not sure what you mean when you say the "inactivity" timer is initiated by a touch... I thought it was just an inactivity timer in TPControl that would be triggered after a set number of of minutes via the settings in the App (1 minute - 240 minutes). I set mine to 1 or 2 minutes for testing and had it switch to the "black" page, which I defined as a page in TP4 called "Sleep" and that page is also set as the "Inactivity Page" in the file's TP4 "Project Properties". I also have the panel send the string "SLEEP" when it goes to sleep, and "WAKEUP" when it wakes up. On the sleep page I have a black page that fills the screen and it also has a channel port and code that notifies the master that the panel woke up (when the user touches anywhere on the black page) and the master needs to change the page to what it was on before it went to sleep, which I have stored via code.
Since you know the panel is sleeping, couldn't you filter any notifications to the panel? I still think the ideal situation is to flip to a black page and turn the brightness all the way down. You can touch the screen to wake the panel (bigger target in the middle of the night versus the home button), and you don't have to wait for TPControl to reconnect to the master, since it's been on the whole time. Hopefully TPControl would give us the ability to then turn the brightness back up programmatically. It's also nice to have the iPads connected all of the time from a development standpoint, and you end up with a system that's as close as you can get to a bunch of Modero panels instead of iPads.
I suggest you play with the timeout time and how it interacts with GUIDED ACCESS. With a 20 minute lock time, you'll see a screen dim after a couple minutes, and a lights-out after the 20 minutes. That gives you that long to not worry about waiting to reconnect. There are settings in iOS and in the TPC settings to vary the connection time. Not all work as you might hope, but you can do better than default. In TPC, note the settings for KEEP WIFI ACTIVE, and MULTITASKING TIMEOUT (set it to NEVER). You can also have TPC prevent a lock -ever-. Play with it. I've found differing results across newer iOS versions.
The AMX "Inactivity timer" is per-panel, and the timer is reset on any button touch on that panel. NOT by any page update done programattically. So there's no way to restart the timer other than a touch. Therefore, a black page flip 10 minutes after a touch will be lost if the panel is sent a new page or refresh... and until and unless someone touches a button on that panel again, AND the time expires again, the panel will stay lit.... until it locks by the regular iOS timeout, if any.
* Screen Brightness Free - changes brightness level of the device UNTIL the device is locked again, then it resets to what it was. I downloaded the app and it works as advertised.
* FlexBright - Change Brightness by Time of Day - allows brightness levels to change based on time of day I haven't tried this one yet, but I'm tempted as it might accomplish most of what I'm looking for at the end of the day.
* (plus others)
I'll experiment with GUIDED ACCESS a bit more, but I still prefer a bigger target to wake up the panel in the middle of the night (the entire screen instead of the home button), and I don't like waiting for the panel to reconnect. Those are the two issues that I'm trying to resolve, and I might purchase the FlexBright app and set the brightness to the minimum from 9PM - 6AM and hope that the device doesn't emit any light at all when sleep mode is activated and the panel flips to the black page. That'll get me most of the way there, but I would prefer to have the ability to turn the brightness up if the device were activated in the middle of the night rather than leaving it at zero. I'll have to see how visible the security cameras are in total darkness with the brightness set to the minimum.
I guess if Apple is approving applications that adjust the brightness of the device, then why not add that feature to TPControl and let us decide whether or not to implement it? I would personally like to see that feature implemented....
Thank you for your input - I appreciate it.