commit bccadde36f8df34ce9bfd96f73f39428af5c4b14 Author: Brandon Watson <watsonb8133@gmail.com> Date: Mon Jun 7 20:48:46 2021 -0400 Using correct branch inclusion commit 93132ab8684436e48ae05165193d88ee22f40ced Author: Brandon Watson <watsonb8133@gmail.com> Date: Mon Jun 7 20:40:00 2021 -0400 excluding publishing on PRs commit 496dd42cfda82308185eb7cd52a300a7484d9053 Author: Brandon Watson <watsonb8133@gmail.com> Date: Mon Jun 7 20:38:37 2021 -0400 Only publishing master branch commit 57e82789fbe3de9a0da2d87a30dd01b3736d1478 Author: Brandon Watson <watsonb8133@gmail.com> Date: Mon Jun 7 20:36:16 2021 -0400 WIP commit ecc54ad3c30a0f6e781561787f74bdd2b556fc17 Author: Brandon Watson <watsonb8133@gmail.com> Date: Mon Jun 7 20:35:29 2021 -0400 WIP commit 6d3cd651be3a5aeae97a3aa94901c8eb97c05591 Author: Brandon Watson <watsonb8133@gmail.com> Date: Mon Jun 7 20:30:18 2021 -0400 Attempting to use drone commit in preid commit c60387a98746f1fb5dbd4244fedfed95e065a1ef Author: Brandon Watson <watsonb8133@gmail.com> Date: Mon Jun 7 20:16:46 2021 -0400 Adding sequence file commit d8a5e7541d437d8208c75a4ba80f34bfc572194a Author: Brandon Watson <watsonb8133@gmail.com> Date: Mon Jun 7 20:16:11 2021 -0400 Prettier commit 34fcc1df1aa2aa954e647e62e3ccfebbc0b9dc9e Author: Brandon Watson <watsonb8133@gmail.com> Date: Mon Jun 7 20:14:33 2021 -0400 Updating pre-release command commit 6c8ce2116477214ba1e09a9a97a190b0b4633dc8 Author: Brandon Watson <watsonb8133@gmail.com> Date: Mon Jun 7 20:03:41 2021 -0400 Updating drone config commit b6d9317a1e4ff2056fb5efd48a8f02a7b1d35a64 Author: Brandon Watson <watsonb8133@gmail.com> Date: Wed Jun 2 21:58:35 2021 -0400 Revert "Using email alias" This reverts commit d1a3b802938ee213c8d03867730ec260688b20e0. commit d1a3b802938ee213c8d03867730ec260688b20e0 Author: Brandon Watson <watsonb8133@gmail.com> Date: Wed Jun 2 21:57:22 2021 -0400 Using email alias commit 027d1711ada5485bf7091f217bb5ce6e967c89b4 Author: Brandon Watson <watsonb8133@gmail.com> Date: Wed Jun 2 21:36:07 2021 -0400 Removing bash_profile commit ed06d7ecd0ccf8fb9651c8ba2a879c2abe1d2828 Author: Brandon Watson <watsonb8133@gmail.com> Date: Wed Jun 2 21:23:46 2021 -0400 WIP commit d3c37b18b9576b9d485d80c7923e92dfcb2fe808 Author: Brandon Watson <watsonb8133@gmail.com> Date: Wed Jun 2 21:22:35 2021 -0400 Updating registry path
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