With iOS 12.2, Apple is adding support for AirPlay 2 and HomeKit for select smart TVs. Some users, myself included, are slightly irritated that LG is only supporting these features on its yet-to-be-released 2019 televisions. Fortunately, there’s a workaround that gets you most of the way there.
While this method is unconventional and not officially supported, it will allow users who recently bought a webOS TV to get support for HomeKit.
As outlined in this week’s HomeKit Weekly, this method allows you to control your TV’s power state, volume, and app/input switch with ease. What it won’t give you is AirPlay support, meaning you won’t be able to control what’s playing on the TV itself including play/pause, and forward/rewind controls.
For this, you’ll need an always-on computer of some sort: whether that’s a Raspberry Pi, Synology, or a Mac mini (either as a server or one that’s always on).
Before we get started, remember that iOS 12.2 is currently in beta and that things could change and vary from beta to beta. At the time of writing, iOS 12.2 beta 1 is currently the latest release.
How to set up HomeKit support with HomeBridge for your webOS TV in iOS 12.2 beta
With slight variations depending on platforms, here’s how you set up HomeBridge for your webOS TV. For demonstration purposes, I’ll be using an always-on Mac mini.
First, you’ll need to install Xcode (if you’re using a Raspberry Pi or a Synology, this isn’t needed and this step can be skipped). To do this, launch the App Store, and search for Xcode. Click the ‘Get’ button and the download will begin. This may take some time to download and install, even on fast internet connection. Be prepared to wait for up to an hour for it to download and install.
After it’s installed, you’ll want to launch Xcode and install the additional tools. Again, this may take some time depending on your internet connection.
Once installed, it’s time to install Homebrew and node. To do that, run the following command in Terminal:
ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”
Once Homebrew is done installing, simply type the following command to install node:
brew install node
Now that the basics are out of the way, you’ll need to install Homebridge, which is the framework for installing third-party plugins with HomeKit. To do this, type in the following command to Terminal:
sudo npm install -g –unsafe-perm homebridge
Then, when prompted, type in the password to your Mac. Depending on your internet connection, this step may take a few minutes as it’s downloading the necessary packages for HomeBridge.
Next, you’ll want to install the actual plugin. This can be done by typing the following into Terminal:
sudo npm install -g homebridge-webos-tv
This may take a few moments to install.
Before you go ahead and try run HomeBridge, you’ll need to set up your config file. You can find a sample config file here. All you’ll need is to tweak it to work with your own network. (The config file is located in: /Users/(username)/.homebridge.) You’ll want to download a text editor such as Atom instead of using macOSbuilt-inin text editor, as that can cause problems down the road.
Within the sample config file you’ll want to change the IP address and Mac address to match your TV’s.
There are a few extra options you might want to consider adding to your code:
- Inputs — these are the basic AV/HDMI inputs. Simply add the following code to your set up (underneath inputs) for HDMI, simply replace the last digit with the input number on your TV. For AV, simply replace “hdmi1” with “av1”. As for the name, give the input a name (for example: Apple TV, PS4, Nintendo Switch):
Under the same Inputs umbrella, you can also add things such as the built-in browser, YouTube, Amazon Prime Video, etc. to the set up. You’ll be responsible for finding the appropriate app ID’s for those yourself.
- Volume control — You can use the Apple TV remote widget in the Control Center (by tapping the Apple TV icon, tapping the drop down on the top, and then selecting your TV), to control your volume with your iPhone or iPad’s hardware volume buttons, or you can add buttons within HomeKit. To do this, you can add one of the following to your code: volumeControl: true, “switch”, or “slider”. True enables both a slider and the switch method in HomeKit. Enabling the slider will force HomeKit to recognize the volume as a light bulb. Meaning, if you have any other lights in the same HomeKit room, this will be included in the group.
After setting up and saving your config file, Jump back into Terminal and simply type:
If everything is set up correctly, HomeBridge will start up and spit out a QR code you can scan on your iPhone or iPad. This QR code should be scanned within the Home app. Once scanned, the Home app will walk you through setting up HomeBridge with HomeKit. This is how it should look after everything is up and running.
If you want to ever stop HomeBridge from running, simply close the Terminal window and HomeBridge will no longer be running. To restart HomeBridge, simply open Terminal and type ‘homebridge’ again to get it up and running.
For more help getting the most out of your Apple devices, check out our how to guide as well as the following articles: