Connect a TP-Link HS110 Smart Plug to HomeKit with Homebridge

As of right now, the only HomeKit-certified smart plug available in Australia is the Elgato Eve Energy – which is bulky, expensive, and uses Bluetooth LE rather than Zigbee, Z-Wave or WiFi.

TP-Link have two WiFi-enabled smart plugs available (HS100 / HS110). While these smart plugs can’t be directly used with HomeKit – by using Homebridge as a software HomeKit bridge, they work great!

Here’s the recipe:

Connect Smart Plug to WiFi

Follow the instructions that came with the smart plug to connect it to WiFi (ensure that this is the same WiFi network that everything else is connected to). Once the smart plug is connected to WiFi, there is no further need for the Kasa app.

Homebridge plugin and config

Don’t already have Homebridge up and running? You should really check out my guide for setting Homebridge up – come back here once you’re done:

Configure Homebridge as a Service on Debian

TP-Link Smart Home plugin and config

A quick one-liner to install the TP-Link Smart Home plugin:

sudo npm install -g homebridge-tplink-smarthome

Once the plugin is installed, use the configuration below – there’s no real need to change anything, but be aware that this is just a snippet and needs to be added to your Homebridge config.json file. If you don’t find yourself writing JSON regularly, it’s probably a good idea to check the syntax at JSONLint.

"platforms": [
        "platform": "TplinkSmarthome",
        "name": "TplinkSmarthome",

        "broadcast": "",
        "devices": [],
        "deviceTypes": [],
        "macAddresses": [],
        "pollingInterval": 10,

        "addCustomCharacteristics": true,
        "inUseThreshold": 0,
        "switchModels": ["HS200"],
        "timeout": 5

Restart Homebridge

After the config.json file is updated, you need to restart Homebridge for the device to be recognised:

sudo systemctl restart homebridge

..and that’s it!

2 thoughts to “Connect a TP-Link HS110 Smart Plug to HomeKit with Homebridge”

  1. I followed the steps given in your post “Connect a TP-Link HS110 Smart Plug to HomeKit with Homebridge”. I also referred to the github links given in your post. Even though i can add homebridge to my apple home app, i cannot switch on or switch off the tp-link plug !! .. Not sure what is going wrong !

    1. Does the Homebridge hub appear in the Home app? Does the switch appear in the Home app?

      Usually it’s a problem with the config.json file – check it using JSONLint. If that checks out fine, look at the Homebridge logs to see what it’s complaining about.

Comments are closed.