Change Channels using Homebridge & Siri

Yes, with this setup in Homebridge you can use the Siri button on the AppmeTV remote to change channels.

I found that the word “switch” is a keyword in Homekit, so I can change to a channel on the AppleTV remote by holding the Siri button and saying “switch on ESPN”. You just have to have whatever channels you want to use this for setup in the homebridge config.json file.

1 Like

This is very cool. I just set up homebridge this week, so I'll give this a try soon. A couple of (probably dumb) questions...

  1. What would happen if you named your channels with the word "watch"? So if it was "Watch ABC" rather than "ABC". I wonder if you could then just tell Siri to "Watch ABC" and it would work?
  2. I guess this really only works well for one Apple TV. If you had more than one, you would probably have to say something like "Switch (or watch) Family Room ABC"?
  3. Is the DVR accessible through the API? It would be awesome if you could pull that up with voice commands. Otherwise it is generally several steps to get to it.

The Siri Shortcuts we have published do just that. And you can have Siri use any voice command you want. The shortcuts are also prepared to handle more than one device. After triggering one, it will ask which tv you want it to happen on

I will definitely have to check that out! But Siri shortcuts only work on the iPhone, not the Apple Watch, right? I'm really trying to be as lazy as possible here. It's too difficult to get up to get the remote. And it is also too difficult to pull my phone out of my pocket. :slight_smile:

They work on your watch as long as they don’t require user input, like if you had to pick the tv as described above.

Where do I get to the Siri Shortcuts that are published for Channels? Can’t find them on my Siri settings section or the app!

You can get them here: https://getchannels.com/api/#siri-shortcuts

They’re not in the iOS app because they don’t actually happen in or for the iOS app. They’re for interacting with the Apple TV app and use the Channels API.

1 Like

So this is weird. I downloaded the commercial skip Siri shortcut. I changed the IP address to my Apple TV. When I run the test in the shortcut, it works. But when I tell Siri to skip the commercials, I get this... IMG_9E4E4ECA1276-1

Whoa. Something is up with that. I’ll take a look at it tonight.

1 Like

Hi @maddox - Just wondering if you ever had a chance to look into this? I can't get any of the shortcuts to work correctly. I double and triple verified the IP address of my Apple TV. When I try Pause Channels, Siri response with "It's Paused" but nothing actually happens. And as shown in my screen shot above, it tries to open Music when I try to skip commercials.

Ahhh... I figured it out. You have to do more than just add the shortcut. You also have to edit it and add it to Siri! It's working now!

Yeah, when you add the Shortcuts, you'll be walked through adding your devices. You need to add their names and ip addresses so it knows how to talk to them.

If you only add 1, it'll just work. If you add more than 1, it will prompt you to pick a device you'd like to do the action on.

For what it's worth, one of the Shortcuts had weird extra actions in it. I'm not sure which one it was. But I've reposted all of them. So if you were seeing weird stuff before, just delete them in your Shortcuts app and add them again from our website.

Just remember to follow the instructions when you add the shortcut and set your variables :slight_smile:

@tplowman5 - Do you think it is possible to use your Channels bridge to trigger a homekit scene? For example, I would like to start the "Movie Night" scene when I watch a DVR'ed episode of The Walking Dead.

This wouldn't be possible unless something was constantly polling the API to see what's playing. It's doable, but not great. For automations like this to work well, you'd need the device to publish something when something happens, and the Channels API doesn't do that.

You can run a small cronjob on the server running the DVR to regularly query the DVR about its status, and then take action if it meets a certain criteria. (Or a better route may be to query the device in the room where your "Movie Night" scene is, and when it detects that a certain show is playing, then it will send the signal to set the HomeKit scene.

(Although, I think you'd need something like HomeBridge or similar to make this work ...)

You could create a "The Walking Dead is Playing" sensor. Then have it get set to on/off when the show is being watched. Then you could create automations off of that. When on, do movie time.

You'd need something like a REST or HTTP sensor that could poll a URL and interpret the response in a way to let you set the state of the sensor to ON or OFF.

I've been out of the Homebridge game for a while so I'm not sure if it has that. But Home Assistant has the restFul Sensor. You just give it a URL and tell it how to read the JSON response to produce a state for the sensor.

They're pretty powerful.

I have both Homebridge and Home Assistant running. There is a Plex Homebridge plugin that allows you to create sensors based on whatever filter/criteria you want. It is very cool. I was hoping for something like that with Channels. I'll have to check out the restFul Sensor. Thanks!

Is a homebridge plugin still in development? With iOS 13 a new Homekit TV service has been exposed. This would be a great interface I think (with "Inputs" as favorite channels).

Are you still using that ? I am thinking of setting it up. The hurdle for me is to automate to open the Channels app.This can be done via shortcuts but not outside it unless you go the harmony route.

The aim being that you should be able to directly open the channel stream in channels including turning the tv on.