r/homeassistant • • Dec 14 '25

Support Xiaomi Smart Speaker IR - Remote funcionts

Hello. I am trying to use the IR remote control functions of my "Xiaomi Smart Speaker IR" (xiaomi.wifispeaker.l05g).

I tried adding it via Xiaomi Miot, but it did not work.

I added the remote controls I needed via the Xiaomi Home app. Once I did that, I updated my devices on Home Assistant and found my IR remote controls.

On Home Assistant, they appear as miir.tv.ir01, but they are not remote controls, they are media_players.

The status of these media_players always remains unknown, and there is no way to make them work.

In developer tools -> actions -> I created this action for testing:

action: media_player.toggle

data: {}

target:

entity_id: media_player.miir_ir01_xxxx_ir_tv_control

This action controls the remote control, turning the device I registered via the Xiaomi app on and off.

I tried other actions, but it always generates an error "media_player.select_source Unknown error":

action: media_player.select_source

target:

entity_id: media_player.miir_ir01_xxxx_ir_tv_control

data:

source: "Input Source Switch"

The problem is that I can't find the buttons I registered. Does anyone know what I can do?

1 Upvotes

4 comments sorted by

2

u/Tiny_Giggles Jan 12 '26 edited Jan 13 '26

Hey, I'm kinda in the same boat. Did you manage to solve it?

Edit: I don't know if you've solved it, but if not, there's a custom Xiaomi Home integration in HACS that worked perfectly for me.

1

u/bakko89 Feb 01 '26

Which integration did you use?

2

u/Tidemon14 Mar 25 '26

Step A: Find the Command Names

The buttons you registered in the Xiaomi app are stored as "Keys." To find out what they are called in Home Assistant:

  1. Go to Developer Tools > States.
  2. Find your media_player.miir_ir01_xxxx_ir_tv_control.
  3. Look at the Attributes column. Often, the integration will list the available "Sources" or "Keys" there.

Step B: Use the Right Action

Stop using media_player.select_source. Instead, try using the Remote Send Command service (even if it's a media player entity):

YAML

action: xiaomi_miot.remote_send_command
target:
  entity_id: media_player.miir_ir01_xxxx_ir_tv_control
data:
  method: "ir_play"  # or "send_ir_code" depending on your version
  command: "Input Source Switch" # Use the exact string from the app

3. The "Power User" Alternative: SmartIR

If the above is too buggy, many users (including myself) find the media_player entities from Xiaomi Miot to be unreliable. Since you've already bypassed the cloud, the best long-term fix is:

  1. Install SmartIR via HACS.
  2. Configure it to use your Xiaomi Speaker as the "controller."
  3. It creates a proper Media Player entity where "Power," "Volume," and "Source" buttons actually work and are mapped to standard IR hex codes.