Home Assistant Philips TV (2016+) media player component
Home Assistant custom component for the newer (2016+) Philips Android TVs
HACS (Home Assistant Community Store) support
HACS is replacing the deprecated
custom_updater. You will be able to easily find, install and update
philips_android_tv and other components.
I filled a PR to add this component to the default store. Until it is added, you can manually add
philips_android_tv in Settings under Custom Integration Repositories.
Changing source (app) using a script
I am using the icons
Example of source:
You can also copy what you want from States pages under the property source_list of your TV.
YAML does not support the emojis. So if you do not want to use the script editor, you can use the escaped character:
📱= \U0001F4F1 📺= \U0001F4FA
Example for YouTube in scripts.yaml:
youtube: alias: YouTube sequence: - data: entity_id: media_player.tv source: "\U0001F4F1 YouTube" service: media_player.select_source
Pairing the TV
First you need to pair the TV. This gets you a username and a password to be used in the configuration of the component.
- Clone the repo with pairing script:
git clone https://github.com/suborb/philips_android_tv
- Install the requirements (for Python 3, so you may need to use pip3):
pip3 install -r requirements.txt
- Execute pairing. A PIN code will appear on your TV. Input that in your terminal
python3 philips.py --host <IP of TV> pair
Now you will have a username and password you can use in your HA configuration.
Installing and configuring the custom component
- Using the tool of choice open the directory (folder) for your HA configuration (where you find configuration.yaml).
- If you do not have a
custom_componentsdirectory (folder) there, you need to create it.
- In the custom_components directory (folder) create a new folder called
- Download all the files from the
custom_components/philips_android_tv/directory (folder) in this repository.
- Place the files you downloaded in the new directory (folder)
- Add the following to your configuration.yaml using your username and password from the pairing process. You can leave out the mac, if you do not care using HA to turn your TV on/off.
media_player: - platform: philips_android_tv name: TV host: 192.168.1.111 mac: aa:aa:aa:aa:aa:aa username: xxxxx password: xxxxx
favorite_channels_only: true to only display the channels in your favorites list. Thanks to @olbjan.
- Restart home-assistant
||Name of the integration|
||Username from the pairing process|
||Password from the pairing process|
||The IP of the TV|
||The MAC of the TV (Wifi MAC required for WoWLAN)|
||Enable/disable only showing the favorite channels|
Special requirements for turning the TV back on from Standby
Essentially wake-on-lan wakes up the API part of the TV. Then the TV is able to receive a command to set the power state to on. Currently this isn't completely reliable , but can be improved a lot, when programmed properly (e.g. a nice way to wait for the TV to start the API and check if it's online).
You have to enable WoWLAN under Settings->Wireless&Networks->Wired&Wifi->Switch on with Wi-Fi (WoWLAN) And add the Wifi MAC address to your config.
I believe this can also work using the LAN MAC, but I am running it currently with the WoWLAN feature.
I am always happy to see PRs and will merge or comment on them.
Future of this custom component
I would wish to make a real component of this. But it needs a lot of work to get there. I think doing every API call async will be needed. Also it would be awesome to automate setting up the component (discovery), such as paring and finding the MAC addresses. Then it should be possible to use feature such as the entity registery. Or even combining this with the custom Ambilight component into a device registery. In the end a pyhton module doing all the API communication would also be awesome.
- Philips Android TV custom component HA thread: https://community.home-assistant.io/t/philips-android-tv-component/17749
- Philips TV Ambilight thread: https://community.home-assistant.io/t/philips-android-tv-ambilights-light-component/67754