Table of Contents
Overview
Homebridge is a lightweight NodeJS server you can run on your home network that emulates the iOS HomeKit API (Docker Image). It supports Plugins, which are community-contributed modules that provide a basic bridge from HomeKit to various 3rd-party APIs provided by manufacturers of "smart home" devices.
Build Custom Homebridge Image
...
- Homebridge running on port 51826
- Homebridge UI listening on port 8089
homebridge-http-webhooks listening on port 51828
Plugins
We can see what plugins are available for homebridge from the following url:
https://www.npmjs.com/search?q=homebridge-plugin
SonoffTasmotaHTTP Plugin
Code Block | ||
---|---|---|
| ||
{
"accessory": "SonoffTasmotaHTTP",
"name": "sonoff97-1",
"hostname": "192.168.1.97",
"relay": "1",
"user": "xxx",
"password": "xxx"
},
{
"accessory": "SonoffTasmotaHTTP",
"name": "sonoff98",
"hostname": "192.168.1.98",
"user": "xxx",
"password": "xxx"
},
... |
Sonoff-Tasmota Mqtt Plugin
Code Block | ||
---|---|---|
| ||
...
{
"accessory": "mqtt-switch-tasmota",
"name": "sonoff97-2-relay",
"url": "mqtt://192.168.1.60",
"username": "john",
"password": "pass",
"topics": {
"statusGet": "stat/sonoff97-2/POWER",
"statusSet": "cmnd/sonoff97-2/POWER"
}
},
... |
Cmd4 Plugin
Code Block | ||||
---|---|---|---|---|
| ||||
#TEMP on SONOFF 158
SOURCE_URL="http://192.168.1.158/cm?user=admin&password=lifeisgreat&cmnd=status%2010"
if [ "$1" = "Get" ]; then
# $2 would be the name 'sonoff158'
# $3 would be the charactersistic
if [ "$3" = "CurrentTemperature" ]; then
temp=`curl -L $SOURCE_URL |sed -rn 's/.*"Temperature":([0-9]*.[0-9]*).*/\1/p'`
echo $temp
exit 0
fi
if [ "$3" = "StatusActive" ]; then
echo "1"
exit 0
fi
fi
if [ "$1" = "Set" ]; then
exit 1
fi
exit 0 |
References
Reference | URL |
---|---|
Homebridge | https://github.com/nfarina/homebridge |
Homebridge Plugins | https://www.npmjs.com/search?q=homebridge-plugin |
How to make Homebridge Plugins | http://blog.theodo.fr/2017/08/make-siri-perfect-home-companion-devices-not-supported-apple-homekit/ |
Sonoff-Tasmota Mqtt Plugin | https://github.com/MacWyznawca/homebridge-mqtt-switch-tasmota |
Sonoff-Tasmota HTTP Plugin | https://www.npmjs.com/package/homebridge-sonoff-tasmota-http |
Tasmota Commands | https://github.com/arendst/Sonoff-Tasmota/wiki/Commands |
Tutorial | http://www.instructables.com/id/HomeKit-Enabled-Arduino-ESP8266-Self-Powered-110v-/ |
Docker Hub Image | https://hub.docker.com/r/oznu/homebridge/ |
npm plugin | https://www.npmjs.com/package/homebridge-cmd4 |
Git Repository | https://github.com/ztalbot2000/homebridge-cmd4 |