If you run Domoticz and have an Amazon Echo, this is one of the simplest ways to get voice control while keeping device commands on your local network — no cloud subscriptions, no Alexa skills, no Philips account.
Last updated: January 18, 2026
Note: Alexa still uses the internet for speech recognition, but device control stays on your LAN.
Architecture overview: voice command → Echo discovers a Hue-bridge emulator → commands are translated to Domoticz API calls → devices respond (locally).
What you get
- No Philips Hue cloud — emulates a Hue Bridge locally
- No third-party Alexa skills — Echo's native Hue support handles discovery
- No subscriptions — runs on any Raspberry Pi or Linux box you already own
- Local device control — commands stay on your LAN (Echo → Emulator → Domoticz)
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
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
systemdservice (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"
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 vs groups: In Domoticz, Scenes only support ON (activate), while Groups support ON and OFF. If you need voice control to turn devices both on and off, create a Domoticz group.
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.
SOURCE CODE
No comments:
Post a Comment