1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/al-one-hass-xiaomi-miot

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Версия Выпуски Звезды Issues HACS

Xiaomi Miot для HomeAssistant

Английский | Китайский

MIoT-Spec: Спецификация протокола для устройств Xiaomi IoT, разработана платформой Xiaomi IoT для описания определения функций аппаратных продуктов в соответствии с режимами сетевого подключения, характеристиками функциональных возможностей продукта, особенностями сценариев использования пользователями и требованиями к опыту использования аппаратных продуктов.

Этот компонент использует протокол miot для автоматической интеграции устройств Xiaomi в HomeAssistant, и в настоящее время поддерживает большинство устройств Xiaomi IoT. Поддерживается также графический интерфейс Home Assistant, что позволяет легко интегрировать устройства Xiaomi в Home Assistant без необходимости конфигурирования YAML.

hass-xiaomi-miot-configs

Установка

Метод 1: HACS

Метод 2: Ручная установка через Samba / SFTP

Скачайте и скопируйте папку custom_components/xiaomi_miot в папку custom_components в вашей директории конфигурации HomeAssistant

Метод 3: Установка через Onkey shell по SSH / Terminal & SSH add-on

wget -O - https://get.hacs.vip | DOMAIN=xiaomi_miot bash -

# Или

wget -O - https://raw.githubusercontent.com/al-one/hass-xiaomi-miot/master/install.sh | ARCHIVE_TAG=latest bash -

Метод 4: Установка через сервис shell_command

  1. Копируйте этот код в файл configuration.yaml
    shell_command:
      update_xiaomi_miot: |-
        wget -O - https://get.hacs.vip | DOMAIN=xiaomi_miot bash -
  2. Перезапустите ядро Home Assistant
  3. Вызовите этот service: shell_command.update_xiaomi_miot в разделе Разработочные инструменты
  4. Вторично перезапустите ядро Home Assistant

Настройка

⚙️ Конфигурация > Устройства и службы > 🧩 Интеграции > ➕ Добавить интеграцию > 🔍 Поиск Xiaomi Miot AutoИли нажмите: Добавить интеграцию

Добавление устройств с помощью аккаунта Mi:

Начиная с версии v0.4.4 компонент поддерживает выбор режима подключения устройства при интеграции по аккаунту:

  • Автоматический: Компонент будет регулярно обновлять устройства, поддерживающие протокол miot-spec в локальной сети, и автоматически использовать локальное подключение для поддерживаемых устройств (рекомендовано)
  • Локальный: Все устройства, отфильтрованные согласно конфигурации интеграции, будут использовать локальное подключение. Если вы проверите устройства, которые не поддерживают miot в локальной сети, они станут недоступными
  • Облако: Все устройства, отфильтрованные согласно конфигурации интеграции, будут использовать облачное подключение. Рекомендуется использование этого режима для устройств miio, BLE, ZigBee

Добавление устройства с использованием адреса хоста/токена:

Подходит для устройств, поддерживающих протокол miot-spec в локальной сети

Настройка облачной среды Xiaomi:

Настройте облачную среду Xiaomi для устройств интегрированных по адресу хоста/токену```yaml

configuration.yaml

xiaomi_miot: username: xiaomi_username password: xiaomi_password

server_country: cn # Location of the Xiaomi cloud environment: cn (default), de, i2, ru, sg, tw, us

http_timeout: 15 # Timeout for requests to the Xiaomi cloud environment API (in seconds)

> [⚙️ Настройка](https://my.home-assistant.io/redirect/config) > Устройства и службы > [🧩 Интеграции](https://my.home-assistant.io/redirect/integrations) > Xiaomi Miot Auto > Опции > ☑️ Включить облачную службу miot### Переводы

> Жду вашего [вкладки](https://github.com/al-one/hass-xiaomi-miot/edit/master/custom_components/xiaomi_miot/core/translation_languages.py).

```yaml
# configuration.yaml
xiaomi_miot:
  язык: zh # Используется встроенный словарь, в настоящее время поддерживаются только `zh`
  # https://github.com/al-one/hass-xiaomi-miot/blob/master/custom_components/xiaomi_miot/core/translation_languages.py
  переводы:
    # Глобальный словарь
    idle: 'Пустует'
    busy: 'Занят'
    # Словарь для указания режимов работы вентилятора
    fan.mode:
      straight_wind: 'Прямой поток'
      natural_wind: 'Натуральный ветер'
    # Словарь для указания уровней сушки стиральной машины
    washer.drying_level:
      moist: 'Мокро'
      extra: 'Дополнительно'

Настройка сущностей

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

# Настройка через модель устройства
xiaomi_miot:
  # https://github.com/al-one/hass-xiaomi-miot/blob/master/custom_components/xiaomi_miot/core/device_customizes.py
  устройство_настроек:
    chuangmi.plug.212a01:
      miot_local: true
      chunk_properties: bk7
```# Настройка через родительскую сущность
# customize.yaml
домен.идентификатор_сущности:
  miot_local: true        # Принудительно читать и записывать данные в локальной сети (интегрироваться по аккаунту)
  miot_cloud: true        # Включить облачную службу miot для сущности (читать, писать, действие)
  miot_cloud_write: true  # Включить облачную службу miot (только запись)
  miot_cloud_action: true # Включить облачную службу miot (только действие)
  проверка_локальной_сети: true # Проверять соединение в локальной сети при работе в облаке
  miio_свойства: мощность, батарея # Получать свойства miio для атрибутов состояния
  miio_облачные_свойства: свойство.мощность, событие.устройство_онлайн# Настройка подсущностей
домен.родительский_идентификатор_сущности:
  сенсорные_свойства: температура, влажность, освещение # Свойства MiOT
  бинарные_сенсорные_свойства: отключен_голос, любое_логическое_свойство
  выключатели_свойства: вкл, мощность
  число_свойства: громкость
  выбор_свойства: режим
  вентилятор_свойства: режим, уровень_ветра
  шторы_свойства: управление_двигателем

```yaml
light.your_entity_id:
  color_temp_reverse: false # Обратный порядок цветовой температуры (требует перезагрузки конфигурационной записи)
  yeelight_smooth_on: 2000 # миллисекунды (только для локального режима в Yeelight)
  yeelight_smooth_off: 3000 # миллисекунды (только для локального режима в Yeelight)

climate.your_entity_id:
  bind_sensor: sensor.temperature_entity, sensor.humidity_entity # Элементы сенсоров

camera.your_entity_id:
  video_attribute: 1 # https://github.com/al-one/hass-xiaomi-miot/issues/11#issuecomment-773054167
  keep_streaming: true # Непрерывное обновление адреса потока

cover.your_entity_id:
  closed_position: 5 # Изменение состояния штор до закрытого при позиции ≤ 5%
  deviated_position: 2 # Отклонение текущей позиции 2% -> 0%, 98% -> 100%
  motor_reverse: true # Обратный порядок работы двигателя (требует перезагрузки конфигурационной записи)
  position_reverse: true # Обратный порядок положения двигателя (требует перезагрузки конфигурационной записи)
  open_texts: Открыть, Вверх
  close_texts: Закрыть, Вниз

media_player.mitv_entity_id:
  bind_xiaoai: media_player.xiaoai_entity_id # Привязка динамика XiaoAI для включения телевизора
```domain.your_entity_id_xxxx:
  interval_seconds: 30 # Интервал времени между каждым обновлением состояния (требует перезагрузки конфигурационной записи)
  chunk_properties: 10 # Частичное обновление свойств MiOT (локальная сеть)
  reverse_state: true  # Включение обратного порядка состояния бинарного сенсора

---

### Фильтрация атрибутов сущностей

> Слишком много атрибутов сущностей может привести к увеличению размера базы данных Home Assistant. Если некоторые атрибуты сущностей вам не нужны, вы можете настроить `exclude_state_attributes`, чтобы игнорировать их.

```yaml
# configuration.yaml
xiaomi_miot:
  exclude_state_attributes:
    - miot_type
    - stream_address
    - motion_video_latest

Перезагрузка конфигурации YAML

Этот компонент поддерживает перезагрузку конфигурации YAML (что позволяет избежать необходимости перезапуска экземпляра Home Assistant после изменения конфигурации YAML):

🔨 Инструменты разработчика > Конфигурация YAML > Перезагрузка конфигурации YAML > 🔍 Поиск Xiaomi Miot Auto (почти в самом низу списка)## Поддерживаемые устройства - 🔌 розетка / выключатель

Неподдерживаемые устройства> Этот компонент использует метод опроса для получения состояния устройств, поэтому он не может в реальном времени отслеживать события некоторых устройств.

Услуги

Поскольку поддержка сервисного ответа HA существует уже некоторое время, этот компонент больше не генерирует события начиная с версии v0.7.18.

xiaomi_miot.set_property

service: xiaomi_miot.set_property
data:
  entity_id: camera.isa_hlc7_xxxx
  field: camera_control.on
  value: true

xiaomi_miot.set_miot_property

service: xiaomi_miot.set_miot_property
data:
  entity_id: camera.isa_hlc7_xxxx
  siid: 2
  piid: 1
  value: true

xiaomi_miot.get_properties

service: xiaomi_miot.get_properties
data:
  entity_id: camera.isa_hlc7_1ab7
  mapping:
    - siid: 2
      piid: 1
    - siid: 3
      piid: 2
  update_entity: true # Обновление атрибутов состояния сущности

xiaomi_miot.call_action

service: xiaomi_miot.call_action
data:
  entity_id: vacuum.dreame_p2259_entity_id
  siid: 4 # vacuum-extend
  aiid: 1 # start-clean
  params:
    - 18 # piid: 1 - work-mode
    - '{"selects":[[7,1,0,2,1]]}' # piid: 10 - clean-extend-data
```#### [`xiaomi_miot.send_command`](https://my.home-assistant.io/redirect/developer_call_service/?service=xiaomi_miot.send_command)
```yaml
service: xiaomi_miot.send_command
data:
  entity_id: switch.your_entity_id
  method: set_power
  params:
    - on

xiaomi_miot.get_token

service: xiaomi_miot.get_token
data:
  name: Light # Key word for device name in Mihome / IP / Model.

xiaomi_miot.intelligent_speaker

service: xiaomi_miot.intelligent_speaker
data:
  entity_id: media_player.xiaoai_lx04_xxxx
  text: Включите свет
  execute: true # Execute command.
  silent: true  # Silent mode execution.

xiaomi_miot.xiaoai_wakeup

service: xiaomi_miot.xiaoai_wakeup
data:
  entity_id: media_player.xiaoai_lx04_xxxx

xiaomi_miot.renew_devices

service: xiaomi_miot.renew_devices
data:
  username: 80001234 # Xiaomi account / Email / Phone number

xiaomi_miot.request_xiaomi_api

service: xiaomi_miot.request_xiaomi_api
data:
  entity_id: sensor.your_entity_id
  api: /v2/plugin/fetch_plugin
  data:
    latest_req:
      api_version: 10070
      plugins:
        - model: brand.device.model

Подробнее о сервисах

Отладка

Получение атрибутов состояния сущностей

🔨 Инструменты разработчика > ℹ️ Состояние > 🔍 Фильтрация сущностей### Получение отладочных логов

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

⚙️ Настройки > ⚙️ Система > ✍️ Логи

Получение токена miio

  • Используйте сервис HomeAssistant
    1. Перейдите в инструмент разработчика услуг HomeAssistant
    2. Выберите xiaomi_miot.get_token, введите ключевое слово имени устройства
    3. Найдите токен в уведомлениях HomeAssistant
  • Используйте мод MiHome от @vevsvevs
    1. Скачайте apk с СКАЧАТЬ ВЕРСИЮ Yöntem 7.x.x и установите
    2. Откройте приложение Mihome > Профиль > Экспериментальные возможности
    3. Установите флажок Запись пользовательских лог-файлов и Включение режима отладки приложения
    4. Найдите токен в vevs/logs/misc/devices.txt после перезапуска приложения
  • Извлечение токенов облачной службы Xiaomi
    1. Скачайте и запустите token_extractor.exe для Windows или установите для Python
    2. Введите имя пользователя, пароль и ваш регион сервера
    3. Извлекает токены из вашего облачного аккаунта. Также раскрывает bind_key для устройств Bluetooth

Благодарность- PyCharm

  • Dler (Скидка 10% для новых пользователей: CXVBFHHSRSI)

Введение

Автоматическая интеграция устройств Xiaomi/Mijia в систему умного дома HomeAssistant с открытым исходным кодом, поддержка устройств WiFi, Bluetooth и ZigBee. Развернуть Свернуть
Apache-2.0
Отмена

Обновления (7)

все

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/al-one-hass-xiaomi-miot.git
git@api.gitlife.ru:oschina-mirror/al-one-hass-xiaomi-miot.git
oschina-mirror
al-one-hass-xiaomi-miot
al-one-hass-xiaomi-miot
master