Голосовые уведомления через 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 - @Soprut

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

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

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

  2. (Nafis)
    (Nafis) 3 месяца назад

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

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

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

  3. Артур Аслоян (Nathareth)
    Артур Аслоян (Nathareth) 3 месяца назад

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

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

    • (Nafis)
      (Nafis) 3 месяца назад

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

    • (Locy)
      (Locy) 3 месяца назад

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

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

  4. Anton Stolov (soulassassino)
    Anton Stolov (soulassassino) 3 месяца назад

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

    • (Nafis)
      (Nafis) 3 месяца назад

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

      • Anton Stolov (soulassassino)
        Anton Stolov (soulassassino) 3 месяца назад

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

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

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

  5. (xrust)
    (xrust) 3 месяца назад

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

  6. (chex01)
    (chex01) отредактировано 3 месяца назад

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

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

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

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

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

  7. (Nafis)
    (Nafis) 3 месяца назад

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

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

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

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

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

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

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

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

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

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

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

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

    • (sashkawww)
      (sashkawww) 2 месяца назад

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

      https://apihost.ru/

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

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

  10. (sashkawww)
    (sashkawww) отредактировано 2 месяца назад

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

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


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

    • Владимир Романов (Prejudice)
      Попробуйте по присутствию в сети wifi мобильного устройства, либо через сервис LIFE360

      • (sashkawww)
        (sashkawww) 2 месяца назад

        спасибо
        я буду использовать и то и то

  11. (Utester)
    (Utester) 2 месяца назад

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

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

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

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

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

Xiaomi Mijia Gateway 2

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

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

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

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

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

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

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