Skip to main content

MQTT Bridge

MQTT is the universal language of IoT. The FERAL MQTT bridge connects to any MQTT broker and gives your AI brain access to smart plugs, temperature sensors, motion detectors, ESP32 boards, and thousands more.

Setup

Set the broker URL in your environment:
Optional: configure specific topics:

Default Topics

FERAL subscribes to these topics by default:

Home Assistant Auto-Discovery

FERAL supports the Home Assistant MQTT discovery protocol. When a device publishes a config message to homeassistant/{type}/{id}/config, FERAL automatically registers it as a HUP device in the hardware mesh.

Sending Commands

FERAL can publish to MQTT topics to control devices:
The Brain maps natural language to the correct topic and payload based on discovered device schemas.

Environment Variables

Architecture

Supported Devices

The MQTT bridge works with any device that speaks MQTT, including:
  • Zigbee2MQTT — Zigbee devices via a coordinator
  • Tasmota — flashed smart plugs, switches, sensors
  • ESPHome / ESP32 — custom sensor boards
  • Shelly — smart relays and energy monitors
  • Generic sensors — any device publishing to standard topics

Requirements

Install the MQTT extra:
You also need a running MQTT broker. Mosquitto is recommended:

Troubleshooting

Verify your broker is running: mosquitto_sub -t '#' -v. Make sure FERAL_MQTT_BROKER points to the correct host and port.
Check that FERAL has publish permissions on the broker. Some brokers require ACL configuration for write access.
Ensure Zigbee2MQTT is publishing to the default zigbee2mqtt/ topic prefix and that FERAL’s topic subscriptions include it.