This is a Homebridge plugin that exposes Apple TVs to HomeKit, noteably the power state as a switch and optionally the device state (playing, paused, etc.) as motion sensors.
To make this plugin work you need to install PyATV. To ensure you did it right run
atvremote --version
Configuration can be done using Homebridge Config UI X.
{
"platform": "AppleTV",
"devices": [
{
"name": "Living Room",
"host": "192.168.0.36",
"credentials": "...",
"device_state_sensors": [
"idle",
"paused",
"playing"
],
"app_sensors": [
"Netflix",
"Disney+"
],
"generic_sensors": [
{
"property": "mediaType",
"values": [
"music",
"tv",
"video",
"unknown"
]
},
{
"property": "genre",
"values": [
"Pop"
]
}
]
}
]
}
- platform: The identifier for the platform (AppleTv).
-
devices: A list of devices you would like to register with the platform.
- name: The name of the Apple TV.
- host: The IP of the device.
- credentials: The credentials needed to authorise connection to the device.
- device_state_sensors [optional]: Enables a "motion sensor" for detecting device states. Possible values: "idle", "loading", "paused", "playing", "seeking", "stopped"
- app_sensors [optional]: Enables a "motion sensor" for detecting current appin use.
- generic_sensors [optional]: Enables a "motion sensor" for detecting generic states.
In order to retrieve credentials for your Apple TV, please follow these step
- Execute the following command to scan for Apple TVs:
atvremote scan
- Choose the device with which you would like to pair and run the following command:
atvremote -s {YOUR-APPLE-ID-IP-ADDRESS} --protocol companion pair
- Enter the PIN shown on your device.