The Home That Speaks Marathi
Voice notes in Marathi, sent from the sofa, becoming lights and old songs on the TV.
Most smart homes speak English, because the assistants that ship with the hardware only really speak English. Mine speaks Marathi, because I do. The setup is two days old and already the default way I turn things on without getting up.
How it works
A voice note lands on WhatsApp. The gateway hands the audio to a Marathi
speech-to-text model (Sarvam AI’s saaras:v3, language code mr-IN), which
returns a transcript. A small mapping layer turns the transcript into a Home
Assistant call, and the house acts.
The automation itself is boring: a couple of REST calls. The interesting part is that the speech-to-text is good enough to act on, in a language almost no commercial assistant bothers with.
Today’s log
Four commands, all executed from the sofa.
लाईट नंबर एक आणि चार लिविंग रूमचा लावतोस का? — “Turn on living room lights one and four?” Both came on. Note the casual “तोस का” suffix — this is how you actually talk to someone in Marathi, not how a phrasebook expects you to. The model handled it.
टीव्ही चालू कर. — “Turn on the TV.” The LG OLED woke from standby. The Home Assistant call can time out while the TV decides to wake; the state goes off → paused, and then it is on.
टीव्हीच्या यूट्यूबवर जुनी मराठी गाणी लाव. — “Put on old Marathi songs on the TV’s YouTube.” This one needed actual work. The webOS integration on this Home Assistant instance cannot launch the YouTube app with a video: no app-launch services are exposed, and the source list comes back empty. The fallback was to search YouTube, take the direct MP4 stream, and hand the URL to the TV’s built-in media receiver. It played an hour of old songs. The honest trade is that you cannot skip tracks with the remote, because it is not the app — the TV is just playing a stream.
किचन मधले सगळे दिवे पांढरे कर.
— “Make all the kitchen lights white.” A minute later: “coolest.” This is where
the integration lied. Home Assistant’s Wiz integration rejects color temperature
changes on these bulbs outright — 400 for both kelvin and mireds. Wiz bulbs,
however, answer on UDP port 38899, and one setPilot with temp: 6500 did what
the integration refused to do. Verified by reading the state back from the bulb
itself, because Home Assistant’s copy of it was stale.
What actually matters
The speech-to-text is the product; the rest is plumbing. And the language is not a gimmick: every mainstream assistant assumes English or, at best, Hindi. A household that runs on Marathi gets a system that is genuinely usable instead of a demo that gets admired once.
It is also honest to say the chain is fragile. The intent mapping is small and hand-written. The TV trick is a stream, not the app. The kitchen bulbs work because I went around the integration, which means the integration now disagrees with reality until it is fixed. None of that makes it less useful. It makes it a project.
Status
Active, and two days old. It is already the default way I turn lights on from the sofa, which is the only metric that matters.