Voice control for lights, fans, air conditioners, and other appliances is now practical without committing your home to a single cloud ecosystem. A Raspberry Pi or mini-PC can run the automation hub, ESP32 boards can operate switches and sensors, and local speech tools can keep everyday commands inside your network.
The right design is not simply “connect a microphone to a relay”. It is a system with clear boundaries between speech recognition, intent handling, device control, and electrical safety. This guide explains how to build that system for an Indian home, where 230V mains power, 15A appliances, concrete walls, voltage variation, and mixed-language commands all matter.
What you are building
A reliable voice-integrated home appliance setup has five layers:
- Audio capture: A phone, USB microphone, or voice satellite hears the command.
- Speech-to-text (STT): Software converts speech into text. Local Whisper-style engines are useful when privacy and offline operation matter.
- Intent recognition: Home Assistant or another voice platform identifies the requested action, such as switching on a named fan.
- Device control: An ESP32, IR blaster, smart plug, or certified switch receives the command.
- Feedback and safeguards: The system confirms state, rejects unsafe actions, and records failures for troubleshooting.
For general background on conversational systems, see what a voice agent is and how voice AI works in 2026. A home automation assistant is narrower than a business voice agent: it should execute a limited set of predictable actions rather than improvise.
Recommended 2026 architecture
For most builders, Home Assistant plus ESPHome is the strongest starting point. Install Home Assistant OS on a Raspberry Pi 4/5, an old mini-PC, or a small x86 computer. A mini-PC is preferable if you plan to run local STT, dashboards, databases, or camera integrations simultaneously.
Use ESPHome to provision ESP32 devices. Each board appears in Home Assistant as an entity—such as a light, switch, temperature sensor, or fan controller—without requiring a custom MQTT application for every device.
A practical architecture looks like this:
1. A microphone satellite captures “turn on the bedroom fan”.
2. The local STT engine produces text.
3. Home Assistant maps “bedroom fan” to the correct entity.
4. An automation checks conditions, such as whether the device is available.
5. The ESP32 activates a certified relay or sends an IR command.
6. Home Assistant reports the resulting state.
Keep device names short and unambiguous: Bedroom Fan, Kitchen Light, and Hall AC are better than long descriptive labels. Create areas in Home Assistant before adding dozens of devices; accurate room assignment makes voice commands much more dependable.
Hardware checklist
Central hub
- Raspberry Pi 4 or 5 with reliable storage and a quality power supply
- Refurbished Intel mini-PC for heavier local voice workloads
- UPS or DC backup if your home experiences frequent power cuts
- Ethernet connection where possible for the hub
Edge devices
- ESP32 or ESP32-S3 development boards
- Certified relay modules or enclosed smart relay products
- IR transmitter and receiver for televisions and air conditioners
- Temperature, humidity, motion, and door sensors
- USB microphone or purpose-built voice satellite
Avoid bare relay boards inside wall boxes unless you understand creepage, insulation, heat, enclosure, and load ratings. For lights and fans, a certified in-wall module installed by a licensed electrician is safer than an exposed hobby board. For geysers, pumps, compressors, and high-current loads, use an appropriately rated contactor or smart device—not a low-cost relay selected only by its advertised amperage.
Start with a low-voltage prototype
Before touching mains electricity, prove the complete software path with an LED or low-voltage DC load. Flash ESPHome to an ESP32 and add a switch:
switch:
- platform: gpio
name: "Desk Lamp"
pin: GPIO23
restore_mode: ALWAYS_OFFThe exact GPIO depends on your board. Avoid boot-strapping pins and check the board’s pinout. After adoption in Home Assistant, expose the entity to Assist and test commands from the dashboard or mobile app first. Confirm that the entity changes state correctly before adding a microphone.
For mains appliances, do not wire 230V circuits from a tutorial alone. Isolate the supply, use a proper enclosure, provide strain relief, observe earthing requirements, and have the final installation inspected by a qualified electrician. Never route low-voltage ESP32 wiring through an enclosure in a way that compromises mains separation.
Controlling existing appliances
Lights, fans, and sockets
Use a certified switch or relay compatible with the appliance’s load. Motors and inductive loads can create higher startup currents than their nominal rating. A fan that appears modest on the label may still stress an unsuitable relay, especially in a warm, enclosed box.
For 15A Indian sockets used by heaters, irons, geysers, and some air conditioners, choose equipment explicitly rated for the application. Do not rely on a cheap “30A” listing without a credible safety certification, enclosure, and installation method.
Air conditioners and televisions
Most existing ACs and TVs use infrared remotes. An ESP32 IR transmitter can reproduce commands, but AC remotes often transmit the entire state—temperature, mode, fan speed, and swing—not just an on/off signal. Use a maintained device state in Home Assistant and test recovery after a missed command. An IR blaster should have a clear line of sight or be positioned near the appliance’s receiver.
Appliances that should not be voice-only
Avoid voice-only control for cookers, heaters, geysers, power tools, and anything that can create a fire or flooding risk. Add physical switches, timers, presence checks, and automatic shutoff rules. A voice command should complement, not replace, a safe manual control path.
Configure local voice control
In Home Assistant, create an Assist pipeline with local STT and text-to-speech where your hardware supports it. Local processing reduces dependence on internet connectivity and keeps recordings out of third-party systems. A hybrid setup—local device control with cloud STT—can be easier to deploy, but review retention, account security, and data-location policies before enabling it.
Support for Indian languages remains uneven across offline engines. Test the actual household vocabulary rather than assuming that a model handles Hindi, English, Hinglish, Tamil, Bengali, or regional pronunciation equally well. Start with a compact command grammar:
- “Turn on the hall light.”
- “Switch off all bedroom lights.”
- “Set the AC to 24 degrees.”
- “Is the kitchen fan on?”
For sensitive actions, require confirmation: “The geyser is currently off. Should I turn it on for 20 minutes?” This is more useful than giving a general-purpose model unrestricted control. If you are evaluating broader voice-agent design, compare the trade-offs in voice agent software for small business, particularly around integrations, latency, and monitoring.
Indian connectivity and power considerations
Use 2.4GHz Wi-Fi for ESP32 devices because it generally travels more reliably through reinforced concrete and brick walls. Put the hub on Ethernet where possible, assign DHCP reservations to important devices, and document every entity name and IP address.
Protect the hub and access point with a UPS. A short power interruption should not corrupt storage or leave automations in an unknown state. Add startup automations carefully: a fan or heater should not automatically restart after a power cut unless that behaviour is explicitly safe and required.
If you need remote access, use a VPN or a trusted managed service. Never expose Home Assistant directly through router port forwarding. Segment IoT devices on a separate VLAN or guest network when your router supports it, while ensuring the hub can communicate with the required device subnet.
Reliability, privacy, and maintenance
Build for failure rather than assuming every command will work:
- Keep physical controls available.
- Add offline automations for critical timers.
- Use availability sensors and notify when an ESP32 disappears.
- Avoid duplicate entity names and ambiguous room labels.
- Back up Home Assistant configuration and test restoration.
- Update firmware and integrations on a planned schedule.
- Store secrets in protected configuration files, not public repositories.
An LLM can make commands more natural, but it should not receive unrestricted access to every entity. Expose only the devices it needs, use deterministic scripts for high-risk actions, and require confirmation for irreversible or high-power operations. If you later productise this system for customers, study how to hire voice agent developers with emphasis on embedded safety, testing, and Indian-language speech support rather than conversational polish alone.
A sensible build sequence
1. Install Home Assistant on the hub.
2. Add one ESP32 with a low-voltage LED.
3. Create areas, names, and entity categories.
4. Add one physical appliance through a certified switch or IR blaster.
5. Test dashboard control, then voice control.
6. Add availability checks, confirmations, and recovery behaviour.
7. Expand room by room and document each circuit.
The cheapest build is not necessarily the best one. Budget for a reliable power supply, enclosure, electrician time, replacement hardware, and a backup plan. A smaller system that responds consistently and fails safely is more valuable than a sprawling collection of inexpensive modules.
Frequently asked questions
Can I control a non-smart AC?
Yes. An ESP32 IR transmitter can reproduce its remote commands. Validate the AC’s complete state and add a fallback remote because IR commands can be missed.
Do I need programming experience?
Basic YAML, networking, and troubleshooting skills are enough for a starter build. Mains installation requires electrical competence and should be handled by a qualified professional.
Is local voice control completely offline?
It can be, if your STT, intent handling, text-to-speech, and device integrations all run locally. Some hardware and language combinations may require a hybrid cloud service.
What should I automate first?
Start with lights, a low-risk fan, sensors, and status queries. Add high-current appliances only after your safety controls, physical overrides, and recovery logic are proven.