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": "255.255.255.255", "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!