Your MQTT devices,
in Apple Home.
A Homebridge plugin that turns MQTT topics into HomeKit accessories: lights, sensors, locks, thermostats and more. It is the actively maintained successor to homebridge-mqttthing, and your existing configuration works unchanged.
Free and open source. Works with Homebridge 1.8 or later, including 2.x.
Try it. Drag the slider with the publish queue on and off.
Switch over without starting again
Coming from homebridge-mqttthing? Your config.json stays exactly as it is. Accessory blocks keep "accessory": "mqttthing", and codec files and apply expressions keep working.
Uninstall homebridge-mqttthing
Both plugins answer to the name mqttthing, so only one can be installed at a time.
Install MQTT Thing EX
From the Homebridge UI, or with npm.
Restart Homebridge once
Do it all in one go, with a single restart. Accessories keep their identity, so rooms, scenes and automations stay as they are.
No re-pairing is needed. Homebridge identifies each accessory by its name, not by the plugin, and the names stay the same.
{
"accessory": "mqttthing",
"type": "lightbulb",
"name": "Living Room Lamp",
"url": "mqtt://broker.local:1883",
"topics": {
"setOn": "living/lamp/setOn",
"getOn": "living/lamp/getOn",
"setBrightness": "living/lamp/setBrightness",
"getBrightness": "living/lamp/getBrightness"
}
}
One connection per broker, not per device
The original plugin opens an MQTT connection for every accessory. Optional platform mode puts all your devices in one block and gives them a shared connection, so twenty-four lights on one broker need one connection instead of twenty-four.
Accessory mode
12 devices, 12 connections
Platform mode
12 devices, 1 connection
Renaming is safe
Devices carry a stable
id, so the name is just a label. Change it whenever you like.Mistakes don't cost you the setup
A device with a broken configuration keeps its place in HomeKit, room and automations included, while you fix it. Mistakes are reported in the log at start-up.
Move when you are ready
The settings screen moves accessories into platform mode for you and keeps their HomeKit identity. Accessory mode stays fully supported.
What you get
Everything homebridge-mqttthing did, rebuilt in TypeScript for Homebridge 2, with the long-standing problems fixed.
Settings built for big setups
A searchable device list, an editor that knows each type's topics,
applyfunctions you can edit safely, a connection test and live topic probing.Gentle on small devices
An optional publish queue paces messages and keeps only the latest value per topic, so scenes and slider drags don't flood a low-power device.
Your payloads, your way
Codec files,
applyexpressions and JSONPath (topic$.path) all keep working, so devices with unusual payloads fit in without a custom bridge.History in the Eve app
Temperature, humidity, air pressure, power and more are recorded for the Eve app's history charts.
Upstream bugs fixed
Spurious colour publishes at start-up, adaptive lighting turning lights on, wildcard subscriptions, crashes on empty payloads and more.
Ready for Homebridge 2
Modern HomeKit APIs and ES modules. Runs on Homebridge 1.8 and later and on 2.x, with a clean npm audit.
Almost anything HomeKit has
37 accessory types, from a single switch to a custom accessory that groups several services together.
- Lights
- Light bulb, with brightness, colour, white and colour temperature, and adaptive lighting
- Switches and outlets
- SwitchOutletStateless programmable switch
- Sensors
- MotionOccupancyLightTemperatureHumidityAir pressureWeather stationContactSmokeLeakAir qualityCarbon dioxideCarbon monoxide
- Climate
- ThermostatHeater coolerDehumidifierFanFan v2Air purifier
- Security and access
- Security systemDoorbellGarage doorLockWindow coveringWindowDoor
- Water
- ValveIrrigation system
- Media and more
- TelevisionMicrophoneSpeakerBatteryCustom, several services in one accessory
Each type lists its topics and options in the documentation. All accessory types
Set it up in a few minutes
Install the plugin
In the Homebridge UI, open Plugins, search for MQTT Thing EX and install it.
Add a device
Open the plugin settings, choose Add, pick the device type and enter your broker and topics. Test the connection right there.
Restart Homebridge
The device appears in the Home app, ready for rooms, scenes and Siri.
Requires Homebridge 1.8 or later (2.x supported) and Node.js 18.17 or later. Full configuration reference
Keep it free
The plugin has no ads and no paid version. If it keeps your devices talking to Apple Home, a boba or a small tip helps me keep up with new Homebridge releases and your bug reports.
Boba is paid by card. No PayPal account needed.