Local Alexa Voice Control with Domoticz Hue Emulator (No Cloud, No Skills)
Control Domoticz devices with Amazon Echo voice commands by emulating a Philips Hue Bridge on your local network.
If you run Domoticz and have an Amazon Echo, this is one of the simplest ways to get voice control while keeping device control on your local network.
Note: Alexa still uses the internet for speech recognition, but device commands remain on your LAN.
Architecture overview: voice command -> Echo discovers a Hue-bridge emulator -> commands are translated to Domoticz API calls -> devices respond (locally).
On this page
The problem with typical Alexa integrations
A lot of smart-home voice control flows through vendor clouds and Alexa skills: you install a skill, link accounts, and every action takes a detour through the internet. That can add latency, create privacy concerns, and introduce dependencies on services that can change, break, or become paid.
If you already run Domoticz, the question is natural: why can't Alexa talk to your system directly? The answer is: it can - if you present your devices in a way Alexa already understands.
What is Domoticz Hue Emulator?
Domoticz Hue Emulator is a lightweight Python service that emulates a Philips Hue Bridge on your local network. Amazon Echo devices have native support for Hue bridges, which means Alexa can discover and control devices without an Alexa skill.
The emulator makes Alexa believe it's talking to a Hue bridge, but behind the scenes it translates those requests into Domoticz API calls for your switches, dimmers, RGB lights, and scenes/groups.
How it fits together
Voice Command -> Amazon Echo -> (local Hue protocol) Hue Emulator (Python) -> Domoticz API -> Switches / Dimmers / RGB Lights / Scenes
- No Philips Hue cloud
- No third-party Alexa skills
- No subscriptions
- Device control stays local (LAN)
Features at a glance
- On/Off control for switches
- Dimming (brightness control) for dimmers and RGB lights
- RGB color control (e.g., "set lamp to red", "warm white")
- Scenes/Groups support for controlling multiple devices at once
- Easy YAML configuration
- Runs as a systemd service (auto-start)
Voice command examples
Basic on/off
- "Alexa, turn on Living Room Light"
- "Alexa, turn off Kitchen Light"
Dimming (dimmer/rgb types)
- "Alexa, set Bedroom Light to 50 percent"
- "Alexa, dim Living Room Light"
- "Alexa, brighten Bedroom Light"
Colors (rgb type only)
- "Alexa, set Lamp to red"
- "Alexa, set Lamp to blue"
- "Alexa, set Lamp to warm white"
- "Alexa, set Lamp to cool white"
Scenes and groups
- "Alexa, turn on All Lights"
- "Alexa, turn off All Lights" (groups only)
Requirements
- Raspberry Pi or any Linux server on the same network as your Echo
- Domoticz running with devices configured
- Python 3.7+
- Port 80 available (required by the Hue Bridge protocol)
Tip: if port 80 is in use by Apache, Nginx, or another service, you must stop or reconfigure it for the emulator to work.
Installation & setup
1) Clone the repository
git clone https://github.com/hackboxguy/domoticz-hue-emulator.git cd domoticz-hue-emulator
2) Install (or test with a dry run)
# Test installation (dry run) sudo ./install.sh --domoticz-user=YOUR_USER --domoticz-pw=YOUR_PW --dryrun # Install sudo ./install.sh --domoticz-user=YOUR_USER --domoticz-pw=YOUR_PW
3) Configure your devices in alexa-devices.yaml
Add your Domoticz devices by name, IDX, and type (switch, dimmer, rgb). You can find IDX values in Domoticz under
Setup > Devices.
domoticz: url: "http://localhost:8080" username: "admin" password: "yourpassword"
devices:
- name: "Living Room Light"
idx: 10
type: dimmer
- name: "RGB Lamp"
idx: 30
type: rgb
4) Restart the service
sudo systemctl restart domoticz-hue-emulator
5) Discover devices
Now the fun part:
"Alexa, discover devices"
Within seconds, your Domoticz devices should appear inside Alexa as controllable lights.
Scenes, groups, and routines
The emulator supports Domoticz scenes/groups so you can control multiple devices with a single command. It also pairs nicely with Alexa Routines for custom phrases like "Alexa, let's start the party" - mapped to a Domoticz scene or group.
Troubleshooting
Alexa doesn't discover devices
- Confirm the service is running:
sudo systemctl status domoticz-hue-emulator - Verify port 80 is available:
sudo ss -tlnp | grep :80 - Check logs for SSDP activity:
sudo journalctl -u domoticz-hue-emulator -f
Device shows "not responding"
- Verify Domoticz is reachable:
curl http://localhost:8080 - Confirm the device IDX is correct in
alexa-devices.yaml - Review logs for API errors:
sudo journalctl -u domoticz-hue-emulator -f
Port 80 already in use
Stop or reconfigure the conflicting service (often Apache, Nginx, or another bridge).
How it works (under the hood)
- SSDP discovery: the emulator answers Alexa's UPnP/SSDP discovery requests (UDP 1900), announcing itself as a Hue Bridge.
- Hue API emulation: Alexa reads Hue-compatible JSON describing your Domoticz devices as "lights".
- Command translation: Alexa commands are translated into Domoticz API calls (on/off, brightness, color).
- Local device control: commands stay on your LAN (Echo -> Emulator -> Domoticz). Alexa still uses the internet for speech recognition.
Final thoughts
If you care about local control, simplicity, and reliability, Domoticz Hue Emulator is a great way to make Alexa work with Domoticz without involving vendor clouds or third-party skills. Deploy it, discover devices, and start talking.
Project link: https://github.com/hackboxguy/domoticz-hue-emulator
No comments:
Post a Comment