Homebridge plugin for Harmony activities

Usage no npm install needed!

<script type="module">
  import homebridgeHarmonyTv from 'https://cdn.skypack.dev/homebridge-harmony-tv';



hombridge-harmony-tv is a plugin for Homebridge which allows you to control your activities of your Harmony remote. It creates a Homekit television with inputs that represent the activities.


  • HomeKit TV integration
  • HomeKit automation
  • Turn activity on/off
  • Choose activity from the input list

To use the plugin iOS 12.2 or higher is required.


  • MQTT support for harmony API


For this plugin to work, enable XMPP for the Harmony hub and install the Harmony API:

Enable XMPP:

  • Open the Harmony app
  • Go to Harmony setup
  • Add/change devices and activities
  • Remote and Hub
  • Enable XMPP
  • Confirm twice

Install Harmony API (with great thanks to maddox)

cd $HOME
git clone https://github.com/maddox/harmony-api.git
cd harmony-api

Install Harmony API as a service

sudo mkdir -p /var/lib/harmony-api
sudo cp -R * /var/lib/harmony-api
sudo ln -sf /var/lib/harmony-api/config /etc/harmony-api
sudo cp /var/lib/harmony-api/config/harmony-api-server.service /etc/systemd/system/
sudo systemctl enable harmony-api-server.service

Then either reboot or run

sudo systemctl start harmony-api-server.service

Harmony API server log is checked with

sudo journalctl -f -u harmony-api-server

Install homebridge-harmony-tv:

sudo npm install -g homebridge-harmony-tv


Add the accessory in config.json. The hub will be detected automatically and add the activities.


Key Description Default
accessory Must be HarmonyTV N/A
name Name to appear in the Home app N/A
connection Must be http (for now) http

httpSettings block (mandatory when connection = http)

Key Description Default
apiIP IP address of Harmony API server N/A
apiPort Port of Harmony API server 8282
pollingInterval Time (in ms) between status checks 5000
timeOut Time (in ms) until the accessory will be marked as Not Responding 5000

MQTT block (mandatory when connection = mqtt)


Additional fields

Key Description Default
model (optional) Appears under the Model field for the accessory Harmony TV
serial (optional) Appears under the Serial field for the accessory Harmony TV
manufacturer (optional) Appears under the Manufacturer field for the accessory goedh452

Config sample

"accessories": [
   "accessory": "HarmonyTV",
   "name": "Televisie WK-Achter",
   "connection": "http",
                   "apiIP": "",
                   "apiPort": 8282,
                   "pollingInterval": 5000,
                   "timeout": 5000