Голосовые уведомления через Xiaomi Gateway, Home Assistant и HomeKit

08 апреля 2020, 11:32

Введение

В данной мини-статье мы разберем возможность использования вашего старенького хаба для получения аудио-уведомлений. По сути, мы заменяем обычную сигнализацию на голосовое объяснение случившегося от вашего хаба. На каждый триггер у вас будет свой записаный звук.

К примеру, происходит протечка в ванной и в обычных обстоятельствах у вас начинает звучать сирена. Тут мы с вами сможем сделать так, что на определенный триггер вы сможете ставить свой звук , в моем случае - это хороший синтезированный голос от Яндекса (я пользуюсь Аленой), далее будет видео. Также ради примера вы можете записать звуковое уведомление, когда шторы не могут закрыться из-за препятствия или когда батарейка в вашем устройстве садиться. Как я и сказал выше, все зависит лишь от вашего воображения.

Настраиваем Home Assistant

Вам нужно добавить 4 строчки кода в ваш configuration.yaml:

xiaomi_aqara:  
   gateways:    
       - mac:       
         key: 

  • Мак адрес вставляем без двоеточий.
  • Ключ берем из модифицированного VEVS  для андроида.
  • Далее, если у вас вдруг нет компонента HomeKit, то внизу вашего конфига (configuration.yaml) ставим: 

homekit:

Добавляем скрипт для того, чтобы сделать аудиосообщение выключателем в HomeKit

В ваш scripts.yaml нужно добавить:

script: 
       sequence:    
            - service: xiaomi_aqara.play_ringtone      
              data:       
              gw_mac:  Вставляем свой MAC (без двоеточий)                            
              ringtone_id: 10001      (Это ID кастомных рингтонов в Mi Home - начинаются с 1001 ID)  
              ringtone_vol: 70           (Громкость от 0 до 100)

Если выключателей будет несколько, то копируем скрипт и вставляем его ниже, изменяя имя на script1, script2 и так далее.
Скрипт помог написать (Муслим) @axyskus , большое ему спасибо!

Не забудьте перезагрузить HA

Добавляем свои аудиофайлы в Mi Home

  1. Заходим в Mi Home.
  2. Кликаем по хабу.
  3. Дополнительные операции.
  4. Нажимаем в самом верху "Авто".
  5. Дверной звонок.
  6. Кликаем на Тональный сигнал дверного звонка.
  7. Добавить мелодию.
  8. Записываем аудио, можно использовать бесплатный сервис для синтезирования голоса от Яндекса.

Каждому аудиофайлу присваивается свой ID, начиная с 10001 и далее (если вдруг вы уже добавляли какой-то аудиофайл на хаб, вы можете попробовать начать с 10002 или 10003, к примеру, и так далее.)

Интеграция с Apple HomeKit и настройка аудиоуведомлений

В HomeKit у вас появился выключатель с именем script , попробуйте нажать на него и вы услышите только что записанный в Mi Home звук.

Теперь в дело вступает ваша фантазия - вы можете использовать как родное приложение Дом, c автоматизацией по типу "Датчик обнаружил что-то", то есть включить выключатель script.

Или же использовать расширенное приложение от Eve, где вы можете использовать в качестве триггера любое состояние устройства - от расхода батарейки до положения штор.

Примеры использования:

У меня настроено 7 уведомлений

  1. Когда я прихожу домой днем, то хаб приветствует меня.
  2. Когда я прихожу домой вечером.
  3. Когда девушка приходит домой днем.
  4. Когда девушка приходит домой вечером.
  5. Когда умные шторы не могут закрыться из-за какого-то препятствия.
  6. Когда трогают некоторые кнопки, которые нельзя трогать, хаб также сообщает о том, что эти выключатели нужно вернуть в обратное положение.
  7. Когда снимаю свою беспроводную камеру с зарядки или же ее кто-то пытается украсть (использую для этого датчик открытия/закрытия двери, приклеенный к стене и к камере).

Заключение

Понимаю, что есть еще множество вариантов получить такой же функционал, но мне показалось это самым простым вариантом. С удовольствием прочитаю более интересные и простые способы получения данных возможностей:)

Пример использования:


Все новости мира умных домов - t.me/SprutAI_News или Instagram
Остались вопросы? Мы в Telegram - @SprutAI

Хочешь умный дом но нет времени разбираться?
Посмотри примеры работ и выбери себе интегратора.
  1. Vladislavs Zadjko (levran)
    Vladislavs Zadjko (levran) отредактировано год назад

    Огромное спасибо!

     Даже не подозревал о такой классной возможности. Каждый раз синтезировать сообщение это конечно круто, но порой этот вариант будет и проще и востребованней. Тоже есть лампочки типа на чердаке, которые не видно, что горят. А так можно ругнуться, что зря дети не щелкали 😁

  2. (Nafis)
    (Nafis) год назад

    у меня каждый час кроме ночью кукушка из старинных часов кукует, вечером малышей зубы чистить отправляет, приветствует по имени пришедших кого знает, утром будит пением птиц, шопотом ворчит когда старший поздно приходит домой с прогулок, при открывании вх.двери звучит стук в дверь, звонит по кнопке звонка, если вх.дверь долго открыта орет чтоб дверь закрыли.

    многое из реплик записал малышей, прикольно звучат

    какие идеи кто внедрил поделитесь

  3. Бендер Задунайский (Nathareth)

    И много всяких саундов в шлюзе помещается ?

    • Nikita Uskov (EarlyWaff)
      Nikita Uskov (EarlyWaff) год назад
      Ну вот судя по комментарию выше +-12 саундов записалось, я пока больше 8 не записал еще, но в целом думаю потом развивать буду эту тему, если упрусь когда-нибудь то тут отпишу в комментариях. Где-то по-любому есть документация по этому функционалу, так как он по сути своей то родной.

    • (Nafis)
      (Nafis) год назад

      я загнал что-то около 15 штук, не все использую, некоторые просто не понравились жене...
      как удалить их оттуда я не знаю, пока гетевей не ругался, принимал саунды без проблем и вполне приличных размеров

    • (Locy)
      (Locy) год назад

      100, но есть проблема, они не удаляются с хаба. Если залили звук, а потом удалили и заново перезалили, он не станет на место старого, его айдишник изменится в сторону увеличения, например 10050 был, станет 10051. При полном заполнении памяти мелодий, только полный сброс хаба. Давно использую данную функцию на хабе, 2 раза уже сбрасывал хаб, пока не пришел к более осмысленному заливанию мелодий. Так же мелодию надо заливать в 2 канальном режиме сжатия в mp3, если в одноканальном, оно будет проигрываться в ускоренном темпе. 

      У меня оповещаются все важные события - долго открытые двери как по комнатам, так и в холодильнике =), протечки, критические повышения температуры/влажности, задымленность, газ, оповещения от стиралки, мелодии приветствий и др что забыл..

      • (valek101)
        (valek101) год назад

        подскажите пожалуйста как получить MP3 именно в  "Так же мелодию надо заливать в 2 канальном режиме сжатия в mp3"

        • (Locy)
          (Locy) год назад

          Я использую этот сайт. Настройки можно подсмотреть на скрине. С качеством и другими параметрами можно попробовать поиграть, но каналы обязательно в 2 оставить. Так же следует учитывать, что в хабе памяти не шибко много, и тяжелые мелодии плохо загружаются, идеяльно +\- 150-250кб на каждую мелодию, но можно и метровую попробовать втулить 😂

          1000x_image.jpeg?1600099706
          • (valek101)
            (valek101) год назад

            Благодарю вас сударь:-) А то я задолбался уже слушать то что я туда накачал раньше по глупости, половина мелодий играют намного быстрее чем положено, я все искал в чем тут подвох.   блин придется скидывать шлюз к заводским настройкам у меня сто пудов там места не осталось я же туда песенки целиком пытался грузить и никак не думал что удалить потом нельзя:-(  Вот правда настраивать все снова на шлюзе после сброса меня немного останавливает:-)

  4. Anton Stolov (soulassassino)
    Anton Stolov (soulassassino) год назад

    Подобный кейс имеет место быть. Я думал о подобной реализацией года 2,5 назад, но в последствии понял, что это все выглядит уж слишком "узко". Поэтому, что бы не плясать с подобными бубнами и картонными картинками, нужно воспользоваться Google Mini - рекомендую. Но, а для начинающих и желающих, слышать "голос" своего -тупого- умного дома, прям маст хеф!

    • (Nafis)
      (Nafis) год назад

      я колонку с Алисой купил на днях. осваиваю, пока может по команде включать свет и регулировать яркость температуру в комнатах.
      как заставить ее играть нужные аудио пока не знаю, изучать буду.
      а может автор знает, напишет об этом...

      • Anton Stolov (soulassassino)
        Anton Stolov (soulassassino) год назад

        А что ты вкладываешь в понятие "нужное аудио"? Ассистент тебе может читать твой произвольный текст, в чем его и прелесть...

      • (zloyglide)
        (zloyglide) отредактировано год назад

        Никак не заставить. Пока, может позже будет возможность.

  5. Вадим Корнелюк (xrust)

    Отличная статья, сразу идей столько =)

  6. (chex01)
    (chex01) отредактировано год назад

    Через Yandex SpeechKit записал аудио, сохранил их в формате OGG на телефон.

    Пытался добавить аудио в хаб, но в диалоге "Музыка" файлов нет. Возник резонный вопрос, или OGG не поддерживается, или я не туда куда нужно положил файлы аудио.

    В итоге конвертировал OGG в mp3, аудио добавилось в хаб без проблем.

    Спасибо за крутую инструкцию!

    UPD. В файле script.yaml после строки "data:" нужно в каждой строке добавить сдвиг (табуляцию), иначе будет ошибка.

  7. (Nafis)
    (Nafis) год назад

    вообще, как мне видится, данная тематика в применении "умного дома" интересна в первую очередь тем, кто ждет от своего умного дома простых решений без бубнов, но главное чтобы умный дом был "живым умным домом".
    и в этом весьма помогают внешние видимые и слышимые реакции умного дома, а не просто исполнение "сухого кода" в конфигурации.

    это вечный спор физиков и лириков. программеры берут задачу по автоматизации и решают ее красиво минимальным кодом. и получают удовлетворение в том, что устройство работает четко и по программе.
    лирикам эта "программная заумщина" не нужна, им надо чтобы красиво было не внутри устройства или там кода, а снаружи, нужны красивые проявления умного дома и удобство

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

    во блин как меня расперло, прочел свой текст и аж сам удивился )))

  8. Никита Кулагин (Nikitacoolagin)

    Расскажите а как можно бесплатно голос такой записать?

    • Nikita Uskov (EarlyWaff)
      Nikita Uskov (EarlyWaff) год назад
      Перечитайте внимательно пункт : 

      Добавляем свои аудиофайлы в Mi Home

      Там есть гиперссылка на Яндекс. 

    • Владимир Романов (Prejudice)

      Я здесь себе позаписывал. Там много голосов есть и даже выбор интонации)

      • (AlexBlack)
        (AlexBlack) год назад
        Таких сайтов много, вот еще один https://voxworker.com/ru , на русском языке они все плюс минус одинаково озвучивают, а вот с украинским или белорусским беда.

    • (sashkawww)
      (sashkawww) год назад

      Можно например воспользоваться данным сайтом

      https://apihost.ru/

  9. Владимир Романов (Prejudice)

    Кто хочет в Domoticz такой функционал реализовать посмотрите тут в конце есть скрипт рабочий.

  10. (sashkawww)
    (sashkawww) отредактировано год назад

    Подскажите пожалуйста

    Как наиболее точно реализовать понимание системой что в квартиру пришёл конкретный человек или гость


    я использую связку homeassistant + node red + homekit

  11. (Utester)
    (Utester) год назад

    класс, а можно как то на homebridge реализовать что то подобное?

    • Nikita Uskov (EarlyWaff)
      Nikita Uskov (EarlyWaff) год назад

      К сожалению мои поиски подходящего под это дело работающего плагина не увенчались успехом. Есть кажется один или два плагина с функционалом похожим, но они не работают. Можете поискать и попробовать, по сути принцип один и тот же везде будет. 

  12. (edwardtich)
    (edwardtich) год назад

    Сбой загрузки файла. Что только не делал. Менял битрейт и названия. Продолжительность и wifi сети! С микрофона грузит в хаб без проблем а вот файл закачать никак!

    • (settler)
      (settler) отредактировано 11 месяцев назад

      Заливка своего звукового файла в хаб работает только если он подключен в регион Китай. Кажется так.

  13. (edwardtich)
    (edwardtich) 11 месяцев назад

    Естественно Китай. Без Китая вообще ничего не работает. 

    • (settler)
      (settler) отредактировано 11 месяцев назад
      Комментарий удален
  14. (edwardtich)
    (edwardtich) 11 месяцев назад

    любая версия михом хоть от вевса хоть от pda/ перключение хаба и михом на любую страну в том числе и китай/ резутата нет 

    • Nikita Uskov (EarlyWaff)
      Nikita Uskov (EarlyWaff) 11 месяцев назад

      Запишите просто через микрофон , если мучаетесь. Качество звука все равно ужас , разницы не будет. 

    • (settler)
      (settler) 11 месяцев назад

      Такая же фигня. Китай/Россия, два разных хаба (старый и новый не использовавшийся, все второй версия, Китай), плагин для хаба родной и от EDA. разное качество файлов - все не грузятся. Попробовал и на версии Mihome 5.8.22 и старой, 5.6.39

    • (SeriousSerge)
      (SeriousSerge) 10 месяцев назад

      Можно через php-miio, php miio-cli.php --ip  xxxx --token xxxx  --sendcmd '{"id":1,"method":"download_user_music","params":["1001","http://10.0.1.11:8000/Desktop/LeakWC.aac"]}'. Подробнее https://4pda.ru/forum/index.php?showtopic=794186&st=6120#entry74920090 Через плагин нодереда также можно воспроизвести нужный звук.

  15. (San)
    (San) отредактировано 11 месяцев назад

    Здравствуйте! 

    Home Assistant 0.115.6,  HassOS 4.13, 

    docker_version19.03.11

    Пытаюсь воспроизвести стандартные мелодии из шлюза, смысл тот же, только вместо кастомных звуков подставляю номера стандартных. Но ничего не происходит, вылазит только ошибка:

    Logger: xiaomi_gateway
    Source: /usr/local/lib/python3.8/site-packages/xiaomi_gateway/__init__.py:432
    First occurred: 9:44:05 (2 occurrences)
    Last logged: 9:44:05

    Got error element in data {"error":"Invalid key"}

    Подскажите как исправить?

  16. (vpk)
    (vpk) 7 месяцев назад

    Подскажите, после обновления MiHome пропала возможность загружать свои звуки на шлюз или она есть но где то спрятана? 

  17. (edwardtich)
    (edwardtich) 6 месяцев назад

    Записал свои звуки. Как узнать id рингтона?

    • (Simens)
      (Simens) 6 месяцев назад

      Как записал рингтон? у меня в MiHome можно только записать с микрофона 🤷♂️

    • (Simens)
      (Simens) 6 месяцев назад

      перебери в ручную, начиная с 10001

К списку статей

Устройства в материале

Xiaomi Mijia Gateway 2

Производитель: Xiaomi
Заказать на:
JD

Скидки для сообщества

Интернет-магазин yourhomekit.ru

+7 914 550-51-11
Промокод:
SPRUT-BLG
Размер скидки:
8%
Cамый большой ассортимент в России аксессуаров Apple HomeKit

Тематические чаты

Похожие статьи

17 декабря 2019, 17:49
Универсальный привод для автоматического удаленного открытия окон с простой интеграцией в умные дома.
09 ноября 2018, 20:54
Кейс создания умного дома без каких либо прокладок в виде Raspberry pi
04 сентября 2018, 12:14
Интеграция RGB ленты на ESP8266 с прошивкой tasmota в систему HomeBridge (HomeKit)
15 октября 2018, 09:05
Прошивка для Sonoff c нативным HomeKit
27 октября 2018, 12:20
Нативный Термостат для котла на ESP8266 с поддержкой Apple HomeKit
25 сентября 2020, 11:49
Сенсорный монитор для управления умным домом. Настройка и использование.
20 октября 2018, 22:57
Теоретические основы протокола MQTT и описание того, как он работает и для чего используется
30 августа 2019, 07:28
Несколько нетривиальных способов использования датчика открытия окон/дверей от Xiaomi/Aqara.
24 августа 2018, 12:18
Пошаговая установка HomeAssistant
15 ноября 2018, 13:11
Xiaomi Mi Remote 360 добавляем Apple HomeKit