watsonb8
4e1dce3e32
All checks were successful
Build homebridge-harmony-control / Version (push) Successful in 5s
Build homebridge-harmony-control / Build (push) Successful in 30s
Build homebridge-harmony-control / Publish Latest (push) Successful in 34s
Build homebridge-harmony-control / Deploy (push) Successful in 19s
|
||
---|---|---|
.gitea/workflows | ||
.vscode | ||
src | ||
.gitignore | ||
harmony.code-workspace | ||
package-lock.json | ||
package.json | ||
README.md | ||
tsconfig.json | ||
tslint.json |
homebridge-harmony-control
A convenient way to control your home through homekit utilizing one or many Logitech Harmony remotes.
Description
This plugin not only allows for control of your one or many entertainment consoles, but it also supports use of a more complicated matrix switch if applicable. In addition, this plugin can expose any entertainment devices directly to homekit via stateless or stateful switch.
Installation
- Clone the repository by running
git clone ssh://git@thebword.ddns.net:3122/watsonb8/homebridge-harmony-control.git
- Run
npm install
to install required modules - Run
npm run build
to build the module - Run
npm link
or install globally to link this instance to your global homebridge instance
Configuration
{
"platform": "HarmonyHubMatrix",
"EmitDevicesOnStartup": false,
"Hubs": [
{
"Name": "LivingRoomHub",
"Ip": "exampleOne.com"
},
{
"Name": "RackHub",
"Ip": "exampleTwo.com"
}
],
"Devices": [
{
"Name": "LG TV",
"Hub": "LivingRoomHub"
},
{
"Name": "JVC AV Receiver",
"Hub": "LivingRoomHub"
},
{
"Name": "Microsoft Xbox One",
"Hub": "RackHub"
},
{
"Name": "Apple TV Gen 4",
"Hub": "RackHub"
},
{
"Name": "Gefen AV Switch",
"Hub": "RackHub"
}
],
"Matrix": {
"DeviceName": "Gefen AV Switch",
"Inputs": [
{
"InputNumber": "1",
"InputDevice": "Microsoft Xbox One"
},
{
"InputNumber": "5",
"InputDevice": "Apple TV Gen 4"
},
],
"Outputs": [
{
"OutputLetter": "B",
"OutputDevice": "LG TV"
},
]
},
"ControlUnits": [
{
"DisplayName": "Living Room",
"Activities": [
{
"DisplayName": "Xbox One",
"DeviceSetupList": [
{
"DeviceName": "Microsoft Xbox One",
"Input": []
},
{
"DeviceName": "LG TV",
"Input": "Hdmi1"
},
{
"DeviceName": "JVC AV Receiver",
"Input": "Dvd"
}
],
"VolumeDevice": "JVC AV Receiver",
"ControlDevice": "Microsoft Xbox One",
"OutputDevice": "LG TV",
"UseMatrix": true
},
{
"DisplayName": "Apple TV",
"DeviceSetupList": [
{
"DeviceName": "Apple TV Gen 4",
"Input": []
},
{
"DeviceName": "LG TV",
"Input": "Hdmi1"
},
{
"DeviceName": "JVC AV Receiver",
"Input": "Dvd"
}
],
"VolumeDevice": "JVC AV Receiver",
"ControlDevice": "Apple TV Gen 4",
"OutputDevice": "LG TV",
"UseMatrix": true
},
]
},
],
"DeviceButtons": [
{
"DeviceName": "JVC AV Receiver",
"ButtonName": "SurroundToggle",
"DisplayName": "Surround Toggle",
"IsStateful": true
},
]
}
Platform
-
EmitDevicesOnStartup
: If true, each device frome each hub will be written to the console on startup -
Hubs
: A list of harmony hub configurations -
Devices
: A list of devices to be used and corresponding hubs -
Matrix
: An optional configuration for an hdmi matrix -
ControlUnits
: Configures one logical control unit. This is usually a single TV in a single room.
Devices
Name
: The name of the device to use from an existing harmony hub configuration
Note: Use
EmitDevicesOnStartup
if you are unsure of which devices are available.
Hub
: The name of the hub to look the device on
Matrix
DeviceName
: The name of the matrix device as seen in the harmony configuration
Note: This device must appear in the device list
-
Inputs
: A list of input devices and their corresponding input number as it relates to the matrix switch -
Outputs
: A list of output devices and their corresponding output letter as it relates to the matrix switch
ControlUnits
This is the logical display unit. It will appear as a tv accessory in the home app.
-
DisplayName
: The name of the control unit -
Activities
: A list of activity configurations. These will be the inputs associated with the tv accessory -
DeviceSetupList
: A list of devices associated with an activity and their corresponding input setting -
VolumeDevice
: The device that should be used to control the volume of the activity. This is usually a stereo or a tv -
ControlDevice
: The device that is used to control UI navigation -
OutputDevice
: The device that is used to display the content. This is usually a TV -
UseMatrix
: If true, corresponding commands will be issued to the matrix device to route input to output