A homebridge plugin for HTD MCA-66 whole home audio controller

Usage no npm install needed!

<script type="module">
  import homebridgeHtdMca66 from 'https://cdn.skypack.dev/homebridge-htd-mca66';


Homebridge MCA-66 Plugin

Homebridge plugin for controlling HTD MCA-66 whole home audio controller. Currently, this only allows toggling zones on and off from within the Home app. I plan on updating to add volume control as well.


Requires homebridge and net

npm -g install homebridge-htd-mca66


  1. Find the IP and port number of your HTD GW-SL1 Gateway and enter it in the configuration, like below.
  2. For each zone you want to control, find the ON and OFF codes from this document and find the zone status code from [this document](Docs/HTD MC Feedback and Queries.docx).
  3. For each of the codes from step 2, you need to base 64 encode them before putting them into the config. Use the included base64_encoder.js file for encoding the HEX codes from the documents to base 64.
    1. Open the base64_encoder.js file and replace the command variable with the HEX code from the documents.
    2. From the command line, run node base64_encoder.js and copy the base 64 output to the command section of the configuration, like the sample below.
  4. Enter the actual zone number in the zone config option.
  5. Save the config, restart Homebridge and enjoy!

Sample config JSON

  "platform": "MCA66Platform",
  "name": "MCA-66",
  "host": "",
  "port": "10006",
  "debug": false,
  "zones": [
      "name": "Zone 1",
      "zone": "1",
      "commands": {
        "on": "AgABBCAn",
        "off": "AgABBCEo"
      "status_command": "AgABBgAJ"
      "name": "Zone 2",
      "zone": "2",
      "commands": {
        "on": "AgACBCAo",
        "off": "AgACBCEp"
      "status_command": "AgACBgAK"