Skip to content

nateep/hass-xiaomi-miot

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Xiaomi Miot For HomeAssistant

English | 简体中文

MIoT-Spec: The protocol specification for Xiaomi IoT devices, is a standard designed by the Xiaomi IoT platform to describe the function definition of hardware products according to the networking mode of hardware products, the characteristics of product functions, the characteristics of user usage scenarios and the user's requirements for hardware product use experience specification.

This component uses the MIoT-Spec to automatically integrate Xiaomi devices into HomeAssistant, and currently supports most Xiaomi MIoT devices. And it supports HA Web UI, and you can easily integrate Xiaomi devices into HA without configuring yaml.

Installing

Download and copy custom_components/xiaomi_miot folder to custom_components folder in your HomeAssistant config folder

cd ~/.homeassistant/ # Enter your HomeAssistant config folder
wget https://github.com/al-one/hass-xiaomi-miot/archive/master.zip
unzip master.zip
cp -rf hass-xiaomi-miot-master/custom_components/xiaomi_miot ./custom_components/
rm -rf hass-xiaomi-miot-master master.zip

Or you can install component with HACS

Config

⚙️ Configuration > 🧩 Integrations > ➕ Add Integration > 🔍 Search Xiaomi Miot Auto

Or click (HA v2021.3.0+): add

You have two ways to integrate xiaomi devices:

  • Add device using host/token

    Suitable for devices supporting miot-spec in LAN

  • Add devices using Mi Account

    Suitable for miio, ble and ZigBee devices (miot_cloud will be enabled)

Configuration Xiaomi Cloud:

If your device (integrate by token) unavailable or return code -4004 or -9999 in logs, You can try this way.

# configuration.yaml
xiaomi_miot:
  username: xiaomi_username
  password: xiaomi_password
  # server_country: cn # location of xiaomi cloud: cn(default), de, i2, ru, sg, us

Enabled miot cloud for device:

⚙️ Configuration > 🧩 Integrations > Xiaomi Miot Auto > Options > ☑️ Enable miot cloud

Customize entity

# configuration.yaml
homeassistant:
  customize: !include customize.yaml


# customize.yaml
domain.your_entity_id:
  miot_cloud: true          # Enable miot cloud for entity (read, write, action)
  # miot_cloud_write: true  # (Optional) Enable miot cloud (only write)
  # miot_cloud_action: true # (Optional) Enable miot cloud (only action)
  # miot_local: true        # Force to read and write data in LAN

climate.your_entity_id:
  bind_sensor: sensor.temperature_entity,sensor.humidity_entity # Sensor entities

camera.your_entity_id:
  video_attribute: 1   # https://github.com/al-one/hass-xiaomi-miot/issues/11#issuecomment-773054167
  keep_streaming: true # Continuously update stream address
  check_lan: true      # Check LAN connection in cloud mode

cover.your_entity_id:
  closed_position: 5 # Change cover state to closed when position <= 5%

doamin.your_entity_id:
  interval_seconds: 30 # Seconds between each update state (Requires reload config entry)
  chunk_properties: 10 # Chunk miot properties on update state (LAN)

Recommended Customization Using The UI:

⚙️ Configuration > 🖌 Customize > 🔍 Select Entity > Add Other Attribute

Debug

Get Entity State Attributes

🔨 Developer tools > ℹ️ State > 🔍 Filter Entity

# configuration.yaml
logger:
  default: warning
  logs:
    custom_components.xiaomi_miot: debug

⚙️ Configuration > ✍️ Logs

Obtain miio token

  • Use HomeAssistant Service

    1. Goto HomeAssistant service developer tools
    2. Select xiaomi_miot.get_token, Enter the entity ID and device name
    3. Find the token from the HA notifications
  • Use MiHome mod by @vevsvevs

    1. Down apk from СКАЧАТЬ ВЕРСИЮ 6.x.x
    2. Create folder /sdcard/vevs/logs/ ⚠️
    3. Find the token from vevs/logs/misc/devices.txt

About

Auto integrate xiaomi devices by miot-spec for HomeAssistant

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%