Marusya's voice assistant VK And Xiaomi's smart home ecosystem are two powerful tools that, when integrated properly, turn your home into a futuristic space of science fiction movies. But how do you make them work together when there's no official backing? This article will cover all working methods of connectivity, from basic scenarios to advanced automation using Home Assistant and Node-RED.
We'll take a look at not only the standard Mi Home connection and Alice (who already knows how to manage Xiaomi devices), but also the workarounds for working directly with Marusya, and how to set up voice control for Yeelight lamps, the Mi Robot Vacuum robot vacuum cleaner, or Aqara sensors without any middlemen, and how to avoid mistakes that cause 90% of users to quit halfway.
Important: all instructions are up to date for 2026 and are validated on the latest software versions. If you are using devices older than 2020 (e.g. Xiaomi Gateway) v1), Some functions may not work properly β we will mention this too.
1.Why Marusia doesn't officially support Xiaomi (and what to do about it)
At first glance, it seems strange that VK And Xiaomi, two tech giants with millions of audiences, didn't make their ecosystems compatible:
- πΉ Xiaomi is actively promoting its own assistant XiaoAI (in China) and integration with Google Assistant/Alice in Global Markets.
- πΉ VK The company focuses on the Russian-speaking segment, where the share of Xiaomi devices is high, but there are no official partnerships.
- πΉ Both companies use closed protocols: Mi Home runs through Xiaomi cloud, and Marusya runs through servers. VK.
However, there are three workarounds:
- Through Alice (if you have a Yandex Station column or a smartphone with Alice).
- Home Assistant is an open platform for smart homes with support for both ecosystems.
- Through IFTTT (Free of charge β automation service that can connect Marusya and Mi Home.
Each method has pros and cons, like Alice is limited to a set of supported devices, and Home Assistant requires customization skills, and we'll take all three options with step-by-step instructions.
2. Method 1: Connect via Alice (the easiest way)
If you already have a Yandex Station or a smartphone with Alice, it will take no more than 10 minutes. The bottom line is that Alice officially supports Xiaomi devices, and Marusya can control Alice through the skill of βSmart Home from Yandexβ.
You'll need:
- π± Smartphone with Yandex and Mi Home app.
- π Yandex Station (or smartphone with Alice).
- π Stable Internet connection (Wi-Fi 2.4 GHz for Xiaomi devices).
Step 1 Connect Xiaomi Devices to Alice
- Open the Yandex app. β Go to the Devices. β Smart home.
- Click Add Device β Choose Xiaomi.
- Sign in to your Mi Home account (use the same region as the Xiaomi app!).
- Select devices for synchronization (e.g. Yeelight) LED or Mi Smart Plug).
Step 2: Set up Marusia to control Alice
- In the Marousia app, open Skills β Search and find a smart home from Yandex".
- Activate the skill and log in to Yandex account.
- Say to Marouse: "Switch on the light through Yandex" or "Alice, turn off the vacuum cleaner."
Importantly, this method only works for devices that Alice officially supports, and the full list is available on Yandex's website.
βοΈ Check before connecting through Alice
Method 2: Direct Connection via Home Assistant (for Advanced)
If you want full control of devices without middlemen like Alice, Home Assistant is the best solution. VK Mini Apps), and with Xiaomi (via Mi Home or Xiaomi Miio integration).
Cons of the method:
- β οΈ Requires a separate device (Raspberry Pi, NAS or always on PC).
- β οΈ It takes 1-2 hours to set up (but the result is worth it).
Step 1 Install the Home Assistant
The easiest way is to use a ready-made image for the Raspberry Pi:
# Download the image from the official website
wget https://github.com/home-assistant/operating-system/releases/download/11.5/haos_rpi4-64-11.5.img.xz
Write it to a microSD (for example, via Balena Etcher)Step 2. Connect Xiaomi devices
- In the Home Assistant web interface, go to Settings β Devices and services β Add integration.
- Find Xiaomi Miio and enter your deviceβs token (how to get one β see spoiler below).
- Select the devices you find (e.g., Xiaomi Gateway or Yeelight).
How to get a Miio token for Xiaomi device
Step 3: Set up integration with Marusay
Use it for that. VK Mini Apps:
- In Home Assistant, install the Home Assistant Cloud (for remote access).
- Create a Mini App in your office VK developer.
- Set up webhooks to receive commands from Marousi (see below for an example of a code for configuration.yaml).
Example of configuration for Home Assistant (fragment)
rest_command:
marusia_turn_on_light:
url:"http://192.168.1.100:8123/api/services/light/turn_on"
method: POST
headers:
authorization:!secret ha_token
content-type: application/json
payload:'{"entity_id":"light.yeelight_color1_0x1234"}'Step 4: Create scripts for Marousi
In the annex to Marousia:
- Go to Skills. β Build your skills.
- Choose the Smart Home type.
- Add type commands: π‘ "Turn on the light in the living room" β webhook light.turn_on. π§Ή "Run the vacuum cleaner" β vacuum.start.
1. disable the option "Regional settings" in Mi Home (sometimes interferes with the connection).
2. Update the firmware of the device to the latest version.
3. Check that the token does not contain spaces or extra characters.-->
Method 3: Automation through IFTTT (free, but with limitations)
IFTTT (If This Then That is a service that allows you to connect different platforms through simple rules:
- Trigger (This) is the Marouse team.
- The action (That) is to control the Xiaomi device.
Step 1. Connect Marusya to IFTTT
- Register on IFTTT.com.
- Connect the service. VK (In the search, select VKontakte).
- Log in to your account. VK, to whom Marousia is attached.
Step 2. Connect Xiaomi Mi Home
- V IFTTT Find the Xiaomi Mi Home service.
- Sign in to your Mi Home account (use the Russian server!).
- Select the devices you want to manage (such as Mi Smart Socket).
Step 3. Create an applet.
Example for socket control:
- Trigger (This): Choose VK β New voice command to Marusia.
- In the command field, enter: turn on the socket in the kitchen.
- Action (That): Choose Xiaomi Mi Home β Turn on plug.
- Select your socket from the list.
Now, when you say the phrase, Marusya will send a signal to the IFTTT, And he'll turn on the socket.
β οΈ Attention: Free fare IFTTT limit the number of applets (3 And the speed of the execution, and the full smart home, you have to subscribe. $3.99/month).
| Method | Difficulty | Cost | Limitations | Supported devices |
|---|---|---|---|---|
| Through Alice. | β (simple) | Free of charge. | Only devices compatible with Alice | Lamps, sockets, vacuum cleaners, sensors |
| Home Assistant | ββββ (difficult) | Free (needs iron) | Requires customization skills | All devices Xiaomi + custom integration |
| IFTTT | ββ (middle-of-the-road) | Free (with limits) | Limitation on the number of applets | Devices supported by Mi Home |
5. Solving Connection Problems
Even when following instructions, errors can occur, and here are the most common ways to correct them:
π΄ Problem: Marusya doesn't see the device through Alice
Causes and solutions:
- π The device is not on the compatible list β Check on the Yandex website.
- π Mi Home and Yandex regions do not coincide β In Mi Home, switch to Russia (Russia).
- π Cash app. β Clean up the Yandex and Mi Home cache, restart the smartphone.
π΄ Home Assistant is not connected to Xiaomi Gateway
Checklist for diagnosis:
- Check that the token is copied correctly (no spaces!).
- Make sure that the Xiaomi Gateway is connected to a 2.4 GHz network (not 5 GHz!).
- In configuration.yaml, add the line: miio: discovery_retry: 10 # Increase the number of connection attempts
π΄ Problem: IFTTT fails
What to check:
- β³ Service delays β Check the status at status.iftt.com.
- π Accounts linking β Reconnect. VK and Mi Home in the settings IFTTT.
- π± Updating the annex β Update Marusya and Mi Home to the latest versions.
β οΈ Note: If you are using Xiaomi Gateway v1 (It's a circular white gateway, and it may not support the new Mi Home protocols, so you'll have to buy the Gateway. v3 Use the Mi Home Custom Component for Home Assistant.
Advanced Scenarios: Voice Control of Groups of Devices
The basic lighting is just the tip of the iceberg, and the real magic starts when you link multiple devices in a script and control them with a single command.
- π "Marusia, movie mode" β Turns off the lights, turns on Yeelight backlight, closes the Aqara curtains and launches Xiaomi TV.
- βοΈ "Marusya, morning" β Opens the curtains, turns on the Mi Smart Kettle coffee maker and launches a playlist on the Xiaomi Mi Box.
- πͺ "Marusya, I'm leaving" β Turns off all sockets, activates the security mode of Aqara sensors.
How to set it up in Home Assistant:
- Create a script in configuration.yaml: script: cinema_mode: Alias: "Cinema Mode" sequence: - service: light.turn_off target: entity_id: light.living_room - service: light.turn_on target: entity_id: light.yeelight_backlight data: brightness: 50 color_name:"blue" - service: cover.close_cover target: entity_id: cover.curtains - service: media_player.turn_on target: entity_id: media_player.xiaomi_tv
- In Marousi settings, create a command βmode movieβ that calls this script through webhook.
How to set it up through Alice:
In the Yandex appendix:
- Go to the Smart Home β Scenarios β Create a script.
- Add conditions (such as time or voice command).
- Select actions for Xiaomi devices (e.g. Turn off lights) β Turn on the Yeelight lamp).
- Save the script and activate it with the Maruse team through the skill of βSmart Home from Yandexβ.
π‘
Grouping devices in a scenario saves time and makes control intuitive: Start with 2-3 simple automatic rules (e.g., βturn everything off overnightβ), and then complicate the logic.
7.Security: How to Protect a Smart Home from Hacking
By connecting Marusya to Xiaomi devices, you create potential vulnerabilities for hackers.
π Basic protection
- π Complex passwords for accounts VK, Mi Home and Yandex (use password manager).
- π Two-factor authentication across all services.
- π‘ Separate network for IoT: set up a 2.4 GHz guest network on the router for smart devices only.
π‘οΈ Advanced Protection (for Home Assistant)
- π SSL-Certificate for Home Assistant (configure via Let's Encrypt).
- π« Blocking External Access: Use Cloudflare Tunnel instead of direct port port port port drop.
- π Log: Enable log entry in configuration.yaml: logger: default: warning logs: homeassistant.components.miio: debug # Logs for Xiaomi devices
What NOT to do:
- β Use it. admin/admin How to use a login/password for Home Assistant.
- β Connect Xiaomi devices to public Wi-Fi networks.
- β Store Mi Home tokens in open repositories (e.g. on GitHub).
β οΈ Note: If you use Xiaomi Gateway with Aqara sensors, disable the option βCloud Managementβ in the gateway settings (if you do not need remote work.
8.Alternative methods: Telegram bot + marusia
If none of the above methods work, there is another workaround, which is using a Telegram bot as an intermediary, and this works even for devices that are not supported by Alice or the other. IFTTT.
How it works:
- You tell Marusa, "Turn the lights on through the telegram."
- Marusya sends a message to a private chat with a bot.
- The bot executes the command and manages the Xiaomi device via Mi Home API.
Step 1 Build a Telegram bot
- Write to Telegram @BotFather team /newbot.
- Follow the instructions and save the API-token bot.
Step 2: Set up a mediator server
You can use free hosting like PythonAnywhere or your Raspberry Pi. Example of Python code:
from telegram.ext import Updater, CommandHandler
import requests
Replace your token with a bot and Mi Home Token
TELEGRAM_TOKEN ="your_telegram_token"
MI_TOKEN ="your_mi_home_token"
DEVICE_ID ="12345678" # ID of your Yeelight lamp
def turn_on_light(update, context):
url = f"http://192.168.1.100:8123/api/services/light/turn_on"
headers = {"Authorization":"Bearer YOUR_HA_TOKEN","content-type":"application/json"}
data = {"entity_id":"light.yeelight"}
requests.post(url, headers=headers, json=data)
update.message.reply_text (Lights on!)
updater = Updater(TELEGRAM_TOKEN, use_context=True)
updater.dispatcher.add_handler(CommandHandler("turn_on", turn_on_light))
updater.start_pollingStep 3. Set up Marusya.
In the annex to Marousia:
- Create a skill like βSend a message.β
- As a recipient, specify your Telegram bot (for example, @MyXiaomiBot).
- In the message, write a team: /turn_on.
Now, when the phrase "turn on the light through telegrams" Marusya will send a message to the bot, and he will turn on the lamp.
π‘
For reliability, add a check to the bot. IP-sender address (so that commands are executed only from your phone).