Timed Stop - Sleep

Another item that would be cool, would be the ability to have a “sleep” or timed stop that would just return to the main menu w/o any streams playing. This would allow any screensaver, or system sleep to work. This is great for late night watching, you fall asleep, then don’t have to wake up rudely to some unexpected action sequence/movie/commercial. Also would be great for kids rooms.

I just want to add my support for this request. Since the Apple TV itself doesn’t have a sleep timer, I set it to automatically sleep after a certain period of inactivity. I turn auto-play off for Netflix and Hulu so that it will sleep on its own after we are done watching at night. When the Apple TV sleeps, the TV also turns off via HDMI-CEC.

Unfortunately, since Channels is a continuous live stream, this prevents sleeping. I can set the timer on the TV itself, but in my application there are two problems with this. The first is that it means having to use the TV remote. I’d much prefer to just use the Siri remote. The second is that with my HDMI-CEC implementation, the Apple TV turns off the TV, but not the other way around. So if the off/sleep is initiated from the TV, Channels will still run and take up a tuner all night long.

Adding my support to this request. My current solution is to use Netflix without auto-play as the last thing I watch at night, but would love to be able to use Channels and have it automatically exit to the guide after a certain amount of time to allow the Apple TV’s Sleep After setting to kick in and turn the TV off with CEC.

Also adding my support for this. Channels is usually the last thing I watch at night and would be nice for the ATV to be allowed to sleep after a certain amount of time.

I totally want to express interest in this feature as well.
I’m sure apps can’t initiate the Apple TV System sleep mode, but Channels could have a feature allowing a timer for the Channels live stream. This would start the clock on the system inactivity timer and eventually the ATV would turn off and take the TV off with it. Golden!

I agree. A timer that stops the live feed would then allow the Apple TV timer to shut off. Now my Apple TV stays on tying up a tuner.

I would like to see this feature as well. I shut my TV off with its sleep timer, but the appletv runs all night and potentially all day if I forget to stop channels in the morning.

This is by far my most requested feature. I’ve moved all of the TVs in my house to Apple TV and the Channels app. We have completely gotten rid of all remotes excluding the Apple TV remote. My wife falls asleep with the channels app on virtually every night. I need a way to put the Apple TV to sleep after a period of inactivity or just a regular sleep timer. Please consider implementing this feature. Thank you! BTW, I am registering for the DVR service not because I want it but because I want to support this effort. You are doing a fantastic job! Thanks!

2 Likes

I’m in exactly the same position: I’ve actually got 5 Apple TVs (and a Mac mini as DVR) in the household (3 generations of the family) but 2 HD HomeRun tuners. We often run out of tuners if we don’t consciously stop Channels running. A timer even to just drop back to the guide would be awesome!

Add my +1 for this.

How would this get turned on? By selecting something in the pull-down? Does the timer reset to off once it fires, or the app closes/goes to background?

I let the tv play sometimes in the background, and don’t want standard inactivity to halt it.

“Does the timer reset to off once it fire” -> Sure. This is how every sleep timer I’ve every seen functions.

1 Like

My guess that the way to implement this may be to have an option for a timer that can be set in a drop down for sleep in (65,95,125,185)* mins or in settings as a “default”. Once the timer fires, a popup “are you still there” like the one that some other apps/dvrs have comes up. If no response; then exit app. Once App is exited, the ATV sleep should be able to kick in and sleep (turning off the TV as well)

  • 5 mins above the common show lengths.
2 Likes

Why would the show lengths matter if the person is sleeping? The times should be set based on how long it takes people to fall asleep.

Love this app! Working wonderfully!

But, the lack of a Sleep feature was a bit disappointing. Our bedroom TV turns off at 1AM, but ATV4 continues to stream all night (and day if we are not diligent to turn off in the morning).

Found this tiny little guy, Broadlink RM Mini 3 for $19.99 @ Amazon.

https://www.amazon.com/BroadLink-Control-Universal-Remote-RMMINI3-EN/dp/B01FK2SDOC

It works!!! I set it up to do one thing (there is so much more, I'll probably play with it and Alexa support later). I set it to issue the 'MENU' command at 1AM. ATV4 exits the stream, screen saver turns on after 15mins, after 30 mins ATV4 goes to sleep and TV turns off with it due to HDMI control!! Shouldn't have to pay $19.99 to do this, but this thing is pretty cool, and it now ensures my TV is off, along with freeing up a tuner. You can program RM Mini 3 to issue the command daily, specific days, or for one time use.

2 Likes

This is a known issue in tvOS where we can’t detect when the tv turns off

I used a similar workaround to solve the lack of Sleep support in Channels, but without the need for an extra device. This python library allows you to send the “menu” or “top_menu” commands to your Apple TV: https://github.com/postlund/pyatv

Depending on your situation you can set up how/when it runs. I’ve got mine set up with HomeKit so there’s a fake switch in my Home app that when toggled will set up a timer to send the menu command after 30 minutes. If you always need it at 1AM, should be easier to set up.

1 Like

Would you mind sharing some additional detail on how you set this up?

Sure, I've got homebridge set up on my Mac with a plugin installed called cmdSwitch2 (links below). The config for cmdSwitch is set up so that when the switch in HomeKit is toggled on, it runs a command that waits 30 minutes and then runs the atvremote command that sends the top_menu button.

This allows you to ask Siri to turn on the Bedroom Sleep Timer and in 30 minutes, the Channels app should exit allowing the Apple TV's screen saver to kick in and turn off the TV after 15mins.

  • Make sure your Apple TV is set up with an assigned IP address through your router so the command won't need to change.
  • Use atvremote scan to find the correct login_id value to put in the config.

https://github.com/nfarina/homebridge
https://github.com/luisiam/homebridge-cmdswitch2
https://github.com/postlund/pyatv

~/.homebridge/config.json

{
  "bridge": {
    "name": "Homebridge",
    "username": "CC:22:3D:E3:CE:30",
    "port": 51826,
    "pin": "031-45-154"
  },
  "accessories": [
  ],
  "platforms": [
    { 
      "platform": "cmdSwitch2", 
      "name": "cmdSwitch2", 
      "switches": [
        { 
          "name": "Bedroom Sleep Timer",
          "on_cmd": "sleep 1800;atvremote --address 10.0.1.11 --login_id 00000000-0000-0000-0000-000000000000 top_menu", 
          "manufacturer": "Apple", 
          "model": "Apple TV 4" 
        }
      ] 
    }
  ]
}

Thank you. I have homebridge setup for some other automation. Missed this. Will give it a try.