This repo's intended purpose has been met by homebridge-plex-sensors. I recommend it in place of this package. The code here is still a decent starting point if you want to map a plex webhook to some other form of web request, but it is not super useful in its current state.
In order to run this app:
- Install node.js.
- Clone the repository.
- Install dependencies using
npm install. - Add the webhook
http://localhost:12000/to your plex server (the port is configurable) - You should be using
homebridgeandhomebridge-http-webhooksnpm install -g homebridge homebridge-http-webhooks
In ~/.homebridge/config.json:
"platforms": [
{
"platform": "HttpWebHooks",
"webhook_port": "51828",
"sensors": [
{
"id": "plexContact",
"name": "Plex Webhook Contact Sensor",
"type": "contact"
}
]
}
]This script filters for a specific player before hitting the homebridge webhook. To determine the player:
- Run the app
DEBUG=plex*\
ACCESSORY=plexContact\
PLEX_WEBHOOK_PORT=12000\
HB_WEBHOOK_URL=http://localhost:51828/\
node index.js- Play a video on the device you want to trigger the webhook
- You will see the event logged to the console when the webhook is hit. Copy the
uuidfor the player - Replace
<PLAYER_UUID>with the copied playeruuidin the command in the Run section.p
Now run the script with the PLAYER argument:
DEBUG=plex*\
ACCESSORY=plexContact\
PLEX_WEBHOOK_PORT=12000\
HB_WEBHOOK_URL=http://localhost:51828/\
PLAYER=<PLAYER_UUID>\
node index.jsFrom now on, when you toggle the plex play state from the PLAYER, you should see the contact sensor state update in the iOS 10 Home app. Using the Home app, you can create Automation rules based on these changes.
Thanks to plexinc/webhooks-home-automation.