Homebridge MQTT-Thing
Homebridge MQTT-Thing is a plugin for Homebridge allowing the integration of many different accessory types using MQTT.
Alternatives
MQTT-Thing allows a wide range of Homekit accessory types to be integrated using MQTT, and has some quite flexible configuration options which are very helpful in many scenarios. However, if you want quick and simple integration with Zigbee devices exposed through Zigbee2MQTT you should also consider the z2m plugin.
Compatibility with previous versions
From version 1.1.45, MQTT-Thing requires Node.js 16 or later.
From version 1.1.x, raw JavaScript values for Boolean properties are passed to MQTT apply functions. This may change published message formats, e.g. when apply functions are used to build JSON strings.
For full details of changes please see the Release notes.
Installation
Follow the instructions in homebridge for the homebridge server installation.
This plugin is published through NPM and should be installed "globally" by typing:
npm install -g homebridge-mqttthing
Installation through
Homebridge Config UI X is also supported (and recommended).
Configuration
Configure the plugin in your homebridge config.json
file. Most configuration settings can now also be entered using
Homebridge Config UI X.
MQTT topics used fall into two categories:
- Control topics, of the form
setXXX
, are published by MQTT-Thing in order to control device state (e.g. to turn on a light). - Status/notification topics, of the form
getXXX
, are published by the device to notify MQTT-Thing that something has occurred (e.g. that a sensor has detected something or a control topic action has been performed).
For further details, see docs/Configuration.md and docs/Codecs.md.
Supported Accessories
The following Homekit accessory types are supported by MQTT-Thing:
Tested Configurations
Tested and working configurations for devices are available on the Wiki. Please add your working configurations for others.