home-assistant.github.io/source/_components/xiaomi.markdown
Sebastian Muszynski 545826487b Xiaomi token retrieval moved and extended (#3339)
* Xiaomi token retrieval moved and extended.

* Misleading sentence removed.

* Additional item added to the trouble shooting section.

* API token reference removed from the Xiaomi Gateway introduction.

* The iOS app method does not work anymore. The ZToken column contains a 96 character encrypted token now. A 32 character token is still needed.
2017-09-12 14:40:33 +02:00

4.8 KiB

layout title description date sidebar comments sharing footer logo ha_category ha_release ha_iot_class
page Xiaomi Gateway Instructions how to integrate your Xiaomi Gateway within Home Assistant. 2017-07-21 16:34 true false true true xiaomi.png Hub 0.50 Local Push

The xiaomi platform allows you to integrate the following Xiaomi devices into Home Assistant.

  • Temperature and Humidity Sensor (1st and 2nd generation)
  • Motion Sensor (1st and 2nd generation)
  • Door and Window Sensor (1st and 2nd generation)
  • Button (1st and 2nd generation)
  • Plug aka Socket (ZigBee version, reports power consumed, power load, state and if device in use)
  • Wall Plug (reports power consumed, power load and state)
  • Aqara Wall Switch (Single)
  • Aqara Wall Switch (Double)
  • Aqara Wall Switch LN (Single)
  • Aqara Wall Switch LN (Double)
  • Aqara Wireless Switch (Single)
  • Aqara Wireless Switch (Double)
  • Cube
  • Gas Leak Detector (reports alarm and density)
  • Smoke Detector (reports alarm and density)
  • Gateway (Light, Illumination Sensor, Ringtone play)
  • Intelligent Curtain
  • Water Leak Sensor
  • Battery

What's not available?

  • Gateway Radio
  • Gateway Button
  • Aqara Air Conditioning Companion
  • Aqara Intelligent Air Conditioner Controller Hub
  • Decoupled mode of the Aqara Wall Switches (Single & Double)
  • Additional alarm events of the Gas and Smoke Detector: Analog alarm, battery fault alarm (smoke detector only), sensitivity fault alarm, I2C communication failure

Follow the setup process using your phone and Mi-Home app. From here you will be able to retrieve the key from within the app following this tutorial

To enable Xiaomi gateway in your installation, add the following to your configuration.yaml file:

{% linkable_title One Gateway %}

# You can leave mac empty if you only have one gateway.
xiaomi:
  gateways:
   - mac:
     key: xxxxxxxxxxxxxxxx

{% linkable_title Multiple Gateways %}

# 12 characters mac can be obtained from the gateway.
xiaomi:
  gateways:
    - mac: xxxxxxxxxxxx
      key: xxxxxxxxxxxxxxxx
    - mac: xxxxxxxxxxxx
      key: xxxxxxxxxxxxxxxx

{% linkable_title Search for gateways on specific interface %}

# 12 characters MAC can be obtained from the gateway.
xiaomi:
  interface: '192.168.0.1'
  gateways:
    - mac: xxxxxxxxxxxx
      key: xxxxxxxxxxxxxxxx

Configuration variables:

  • mac (Optional): The MAC of your gateway. Required if you have more than one.
  • key (Optional): The key of your gateway. Required if you also want to control lights and switches. Sensors and binary sensors will still work.
  • discovery_retry (Optional): Amount of times Home Assitant should try to reconnect to the Xiaomi Gateway. Default is 3.
  • interface (Optional): Which network interface to use. Defaults to any.

{% linkable_title Services %}

The gateway provides two services: xiaomi.play_ringtone and xiaomi.stop_ringtone. To play ringtones by Home Assistant, the version of the gateway firmware must be 1.4.1_145 at least. A ringtone_id and gw_mac must be supplied. The parameter ringtone_vol (percent) is optional. Allowed values of the ringtone_id are:

  • alarm ringtones [0-8]
  • doorbell ring [10-13]
  • alarm clock [20-29]
  • custom ringtones (uploaded by the Mi Home app) starting from 10001

Automation example

- alias: Let a dog bark on long press
  trigger:
    platform: event
    event_type: click
    event_data:
      entity_id: binary_sensor.switch_158d000xxxxxc2
      click_type: long_click_press
  action:
    service: xiaomi.play_ringtone
    data:
      gw_mac: xxxxxxxxxxxx
      ringtone_id: 8
      ringtone_vol: 8

- alias: Stop barking immediately on single click
  trigger:
    platform: event
    event_type: click
    event_data:
      entity_id: binary_sensor.switch_158d000xxxxxc2
      click_type: single
  action:
    service: xiaomi.stop_ringtone
    data:
      gw_mac: xxxxxxxxxxxx

{% linkable_title Troubleshooting %}

Connection problem

2017-08-20 16:51:19 ERROR (SyncWorker_0) [homeassistant.components.xiaomi] No gateway discovered
2017-08-20 16:51:20 ERROR (MainThread) [homeassistant.setup] Setup failed for xiaomi: Component failed to initialize.

That means that Home Assistant is not getting any response from your Xiaomi gateway. Might be a local network problem or your firewall.

  • Make sure you have enabled LAN access: https://community.home-assistant.io/t/beta-xiaomi-gateway-integration/8213/1832
  • Turn off the firewall on the system where Home Assistant is running.
  • Try to leave the MAC address mac: blank.
  • Try to set discovery_retry: 10.
  • Try to disable and then enable LAN access.
  • Hard reset the gateway: Press the button of the gateway 30 seconds and start again from scratch.