An MQTT bridge that connects a Savant SHR-2000 smart home system to Home Assistant. Runs on the Savant host (ARM Linux) and translates between Savant's avc WebSocket protocol and MQTT for HA auto-discovery and control.
The bridge connects to three interfaces on the Savant host:
- REST API (
http://127.0.0.1:3062) — discovers rooms, loads, and devices; reads initial state - avc WebSocket (
ws://127.0.0.1:8480) — sends dimmer/switch commands and receives real-time state updates - MQTT (
tcp://<broker>:1883) — publishes HA discovery configs, state updates, and subscribes to commands
Lights appear automatically in Home Assistant with correct room assignments, dimmer support, and natural light mode handling.
- Edit
config.yamlwith your MQTT broker address (and optionally setsavant.config_namefor per-load state hydration) - Build:
./build - Copy the binary and
config.yamlto the Savant host - Copy
lib/savant-server.serviceto/lib/systemd/system/savant-server.service sudo systemctl daemon-reloadsudo systemctl enable savant-serversudo systemctl start savant-server
Set MQTT_PASSWORD as an environment variable if your broker requires auth.
See docs/ for reverse engineering findings and the design spec: