Homebridge should be installed. Then run the following to install homebridge-http-tv
.
sudo npm install -g homebridge-http-tv
Add the platform to your Homebridge config.json file. You can find your file location here.
{
"platforms": [
{
"platform": "http-tv",
"devices": {
"device config here, see below": ""
}
}
]
}
You're good to go now!
You can use the visual config editor in Homebridge Config UI X. However for more detailed configuration you may have to edit the config.json file directly.
Generally you can globally define headers and http body in the main device config. However, every object marked <HTTPRequest> can include method
, headers
, and body
properties, that only get used for that HTTP request. See example below.
name
<string> required: Defines the name which is later displayed in HomeKit
power
<HTTPRequest> required:
onUrl
<URL> required: The URL to be requested when the TV is turned on.offUrl
<URL> required: The URL to be requested when the TV is turned off.sources
<Array<HTTPRequest>> required: The input sources available.
name
<string> required: The name for the input sourceurl
<URL> required: The URL to query when this input is selected.type
<number> optional (Default: 3 (HDMI)): The input type as defined heremethod
<string> optional (Default: "GET"): The HTTP method to be used for all requests.
headers
<object> optional: Key-Value object for HTTP headers to be included in every request.
serialNumber
<string> optional (Default: "TV01"): Defines a custom serial number shown in the home app.
model
<string> optional (Default: "TV"): Defines a custom model name shown in the home app.
manufacturer
<string> optional (Default: "Mateffy"): Defines a custom manufacturer name shown in the home app.
method
<string> optional (Default: "TV01"): The HTTP method to be used for all requests.headers
<object> optional: Key-Value object for HTTP headers to be included in every request.body
<string> optional: The HTTP body{
"platforms": [
{
"platform": "http-tv",
"devices": [
{
"name": "My TV",
"serialNumber": "my-http-tv-1",
"method": "POST",
"headers": {
"Authorization": "Bearer token-example"
},
"power": {
"onUrl": "http://bridge.local/tv/on",
"offUrl": "http://bridge.local/tv/off",
"headers": {
"X-Custom-Header": "Value"
}
},
"sources": [
{
"name": "HDMI1",
"url": "http://bridge.local/tv/source/1",
"type": 3,
"method": "PATCH",
"headers": {
"X-Custom-Header-2": "value"
}
},
{
"name": "HDMI2",
"url": "http://bridge.local/tv/source/2",
"type": 3,
"body": "custom request body"
}
],
"model": "HTTP TV",
"manufacturer": "Lukas Mateffy"
}
]
}
]
}
homebridge-http-lightbulb Plugin homebridge-http-lightbulb is a Homebridge plugin with which you can configureHomeKit light bulbs which forward any requests to a defined http server. This comes in han
homebridge-http-switch Plugin homebridge-http-switch is a Homebridge plugin with which you can configureHomeKit switches which forward any requests to a defined http server. This comes in handy when y
homebridge-http-humidity-sensor This Homebridge plugin can be used integrate your humidity sensor which has ahttp api into HomeKit. Installation First of all you need to have Homebridge installed. Ref
homebridge-http-temperature-sensor Plugin This Homebridge plugin can be used integrate your temperature sensor which has ahttp api into HomeKit. Installation First of all you need to have Homebridge i
homebridge-http-rgb-push Homebridge plugin to control a HTTP-based RGB device. Supports RGB HTTP(S) devices on the HomeBridge Platform and provides a readablecallback for getting and setting the follo
homebridge-http-rgb-bulb Supports HTTP/HTTPS devices on Homebridge Platform. This plugin requires/uses a simple interface with the enpoint (only a set color URI and a get color URI). I decided to crea