Алиса перестала управлять умным домом
Умный дом, опыт построения, бег по граблям (MajorDomo, Tasmota и Алиса)
Решил обобщить и систематизировать накопленный опыт в создании умного дома. Началось все с управления розетками (светом) на даче – если уехал и забыл выключить свет, можно через интернет выключить и спать спокойно. Потом появилось ограничение по мощности и желание автоматически реагировать на превышение мощности отключением маловажных потребителей типа чайника. Ну а дальше уже сложно остановиться. Климат, автономное снабжение, комфортный свет и все это - не вкладывая много денег, хотя если все посчитать..
Если теорию знаете, можно перейти к моей истории поисков идеального решения.
NB! Так же для удобства, жирным курсивом подсветил названия технологий и платформ. А просто жирным - важные наблюдения или выявленные глобальные засады.
Ну, а теперь по порядку, немного теории
Умным домом принято называть что угодно, от 2 лампочек, управляемых по таймеру до сложной системы, реагирующей на множество факторов и делающей жизнь владельца комфортной.
В любом случае речь про управление устройствами, кратко их можно собрать в группы:
Бытовая техника (пылесосы, телевизоры, чайники, кондиционеры)
Лампочки/ленты (меняют цвет и яркость)
Датчики (мощность, напряжение, температура, влажность, концентрация газов)
Диммеры (пропорциональный выходной сигнал)
Исполнительные устройства (регуляторы температуры, привод штор)
Шлюзы (пульты, универсальные передатчики команд)
Построение умного дома начинается с выбора платформы. Разные платформы имеют разную функциональность, стоимость, сложность настройки. Например:
Умный дом Яндекс - нет логики, только команды, много совместимых устройств
Xiaomi (Aqara) – простые скрипты
Google Home – простые скрипты, много совместимых устройств
Domoticz – ограничен набор устройств, развитая логика
IFTTT - ограничен набор устройств, развитая логика
HomeAssistant - ограничен набор устройств, развитая логика, настройка интерфейса плагинами
Majordomo (php) - развитая логика, открытый проект, активно развивается, требует умения программировать.
Нужно заметить, что платформы от именитых производителей умеют работать друг с другом. То есть их экосистемы можно объединять, что существенно расширяет перечень подключаемых устройств. Кстати, о подключениях тут есть 2 аспекта: как подключаться физически и как общаться с концентратором умного дома.
Физически можно связываться через локальную компьютерную сеть (проводную или беспроводную), сеть малого радиуса (Bluetooth, ZigBee) или просто по радио или инфракрасному каналу (последнее обычно только в одну сторону работает).
Устройства – это хорошо, но что же ими управляет? Центральное устройство/ центр управления. Кстати, хабы типа Aqara это нифига не центральный модуль, а всего лишь концентратор сети ZigBee или какой иной, понравившейся производителю – логика остается в самих устройствах или на телефоне пользователя или в облаке.
Насколько я понял, большинство облачных сервисов не поддерживают логику. То есть в «Яндекс доме» можно узнать температуру и включить обогреватель. Но заставить Яндекс следить за температурой и держать в комфортном диапазоне – нет!
Для реализации логики нужен центральный блок, причем желательно локальный. Вот тут вариантов масса – поставить на свой домашний комп программу управления, собрать отдельный сервер, разместить сервер в облаке.
Из программных серверов умного дома можно выделить популярные: Blynk (есть вариант облака и локальный), IFTTT (чисто облако, но с мобильным приложением), Home Assistant, Domotics, Majordomo.
История рождения моего умного дома
На момент начала моей автоматизации, у меня были штук 6 устройств SonOff (у них родное приложение и облако – eWeLink), управлял розетками на даче. И поставил камеры Xiaomi Dafang (камеры не понимали русский, но это PTZ, FullHD, да еще и стоили всего 2 тысячи рублей каждая). Камеры принесли на дачу постоянный интернет (мобильный), роутер. А также облако Xiaomi. Итого, 2 облака – Xiaomi + eWeLink. Надо было собирать в единую панель управления. Первым был установлен HomeAssistant, даже игрался с камерами (хотел на датчик движения у камер прикрутить и сохранять в системе). Но дальше скриншотов, и то не всегда, дело не пошло. С SonOff вообще не смог подружить. Решив, что логика для розеток все-таки важнее, начал играться с MajorDomo, который имел для этих устройств коннектор, а также более-менее понятный интерфейс настроек (субъективно, да, php+html, объектно-ориентированная модель).
Первый тревожный звоночек пришел от Роскомнадзора – в попытке убить телеграмм (безуспешной) они прибили доступ ко многим облакам, в том числи и Xiaomi. В середине зимы было очень неприятно оказаться без видеонаблюдения за дачей, расположенной в 100 км от дома..
Итог – камеры перепрошиты на Dafang Hack (прошивка делающая локальный RTSP сервер потокового видео) и первая моя Raspberry c MotionEyeOS (локальный видео сервер), а также белый IP дома и VPN между домом и дачей (на роутерах Mikrotik). Локальный сервер держит архив на 500Гб (пара месяцев с двух камер), питается от аккумулятора (до 3 дней без света).
Для логики нужно не только управлять, но и контролировать, для этого купил SonOff POW R2 – это фактически, счетчик электроэнергии с выключателем на 16А (стоимость по 750 рублей). Это позволило при включении посудомоечной машины, бойлера для воды (суммарно 4 кВт) блокировать розетку с чайником. Сейчас это модно называется DemandResponse. А так же стало возможно контролировать работоспособность насосов водоснабжения и канализации (по графику дренаж включается и на графике мощности есть пики, по которым можно понять, много ли воды и вообще, не завис ли поплавок!) - дистанционная диагностика оборудования. Так же для управления низковольтными устройствами (включение дизельного отопителя, насоса аэрации воды для очистки, отключения зарядника от аккумулятора, когда нет напряжения в сети СНТ) был куплен клон SonOff G4 – четырехканального реле с радиопультом (еще 1100 рублей).
Второй «звоночек» пришел от eWeLink – с выходом в массы устройства контроля напряжения SonOff POW R2 поток через их сервер, видимо, стал превышать их возможности (ток, напряжение, мощность активная, мощность реактивная, мощность полная, коэффициент мощности и все это 5 раз в секунду с каждого такого устройства) и они решили, что датчики будут телеметрию слать один раз в минуту. То есть у вас уже минуту мощность за разумными рамками или напряжение просело до Америки (113 вольт реально было летом), а умный дом живет в розовых мечтах, что все хорошо.
Итог – модуль MojorDomo для локального режима SonOff и окончательный переход на MajorDomo на Orange Pi (стоила около 1000 рублей всего, пришлось осваивать Linux, а точнее – Armbian и по инструкциям ставить MajorDomo). Но недолго музыка играла… SonOff почувствовали что-то неладное и очередная прошивка на их сервере отрубила локальный режим, то есть только через облако, только раз в минуту..
Полная локализация
Так как умный дом к этому моменту управлял в том числе зарядкой аккумулятора и переключением на инвертор в случае аварии, зависеть от облака на «вражеских» серверах, а так же наличия связи с интернет показалось не очень разумной идеей.
Очередной шаг – перепрошивка всех устройств на Tasmota, отказ от протокола eWeLink и уход на MQTT. Это, кстати, открыло путь в полный лоукост – прошивка легко настраивается, а плата Wemos из Китая стоит всего 120 рублей, при этом на борту 12 линий для подключения периферии, АЦП, WiFi. Так число устройств в умном доме увеличилось раза в 3 – выключатели, датчики напряжения на АКБ, датчики температуры и влажности (кстати, оказалось, что лучший AM2301 – это AM2320! Программно совместим с AM2301, который еще называют DHT21, но при этом стабилен, не глючит и не зависает).
Тут Остапа понесло и в умном доме появились солнечные панели, 2 контроллера (один PWM, второй - MPPT), датчики тока от солнечных панелей в систему и на АКБ (просто по напряжению на клеммах степень заряда не измерить). От АКБ, кстати, на этот момент питаются 3 камеры, 2 микросервера, 2 роутера, общее потребление примерно 40Вт постоянно.
После примерно полугода, когда все было настроено и отлажено пришла беда – умерла карта памяти. Свежего бэкапа не оказалось – все ждал идеального состояния, не дождался. Изучил, какие карты бывают – узнал про MicroSD A2 – это карты с контроллером, как у SSD дисков - то есть много и часто писать/читать мелкие файлы им не страшно. Настроил, по памяти восстановил логику и оформление, сделал бэкап. Через месяца три началось неладное – зависания, тормоза при открытии графиков за месяц. Анализ (я почти стал спецом по Linux) показал, что база данных тупит из-за очень большого числа накопленных данных. Пришлось делать удаление старых данных, оставляя только по 2 отсчета за минуту для данных старше месяца. Помогло, но не сильно. Надежда была на плату с большим объемом памяти – Orange Pi One Plus (700 рублей), но не судьба. В итоге куплена Raspberry Pi4 c 2Гб памяти на борту, а для этой палаты есть оптимизированный образ MajorDomo – и о чудо, там все отлично – БД крутится полностью в памяти, раз в час сбрасывается на карту бэкап, в случае незапланированного падения, при загрузке восстанавливается состояние на начало часа.
Все это было отлично, управляется с компьютера, с телефона (экран на картинке – там 2 таких сцены, одна для управления и климата, вторая для телеметрии).
Но вот беда – чтобы включить свет надо все равно тянуться за телефоном и тыкать мелкие кнопки. А на даче еще и родители бывают, а для них много кнопок на экране – слишком сложно.
Появление голосового управления
И вот тут я задумался, что пора подключать голосовой помощник. Сначала думал про Google Assistant/Home, но увидав, что они творят со своим президентом, да еще к новому году отключили поддержку русского на колонках (оставив только на телефонах), решил, что вполне реально повторение с отключенными облаками Xiaomi и eWeLink. В итоге, Алиса от Яндекса. Каково же было мое удивление, когда увидел, что есть стандартный коннектор (навык Алисы) к MajorDomo! Яндекс станция мини отлично подошла по функциям и размеру, более того, нашел и обратный коннектор – из MajorDomo можно выдавать команды на устройства, подключенные к Алисе – пультам кондиционеров, телевизиров и даже роботу-пылесосу. И это не считая проговаривания статусов типа «внимание, работаем от аккумуляторов!». Соединение с Алисой можно сделать двумя способами – через платный сервис Connect (2 тысячи рублей в год, бонусом облачные бэкапы) или через Яндекс.Диалоги – для этого надо SSL сертификат на сайт, белый IP, и выставленный в интернет сайт с MajorDomo, то есть свет или отопление сможет отключить случайный прохожий. В общем, 2к в год – не большая цена за сохранение комфорта, да и SSL покупать не надо.
Естественно, управление через Яндекс – это чисто функция комфорта, основная логика реализована на локальном уровне.
Устройство не выполняет команды
Во время настройки устройств некоторые производители просят указать географический регион, в котором находится техника. Откройте приложение производителя и проверьте, какой регион выбран для устройства. Если выбран отдаленный, исправьте его на Россию или другой регион рядом: чем ближе расположен сервер, тем быстрее и надежнее обрабатываются команды.
Возможно, после этого устройство пропадет из списка подключенных в приложении Яндекс — тогда отвяжите аккаунт производителя от Яндекс ID, а затем свяжите их заново.
Как управлять устройством с помощью Алисы
Управлять умным домом можно из любого устройства или приложения с Алисой: умной колонки, смартфона или компьютера с приложениями Яндекса и даже из навигатора в вашем автомобиле.
Для работы нужен аккаунт на Яндексе, поэтому управлять через приложение или устройство с Алисой без авторизации (например, через наушники или часы) не получится.
Если вы хотите отправлять команды через Алису в Яндекс.Браузере, включите в нем синхронизацию.
Выполнить команду
Чтобы подключиться к устройству и выполнить команду, на устройстве или в приложении с Алисой войдите в аккаунт, который связан с аккаунтом производителя, и управляйте устройством.
Включите или выключите, поменяйте цвет или яркость, переведите в другой режим работы и т. д. Список поддерживаемых команд можно посмотреть в приложении Яндекс — для этого в меню выберите Устройства и нажмите на устройство. Доступные команды отображаются на вкладке Голосовые команды . Команды можно выполнять с задержкой или в определенное время. Чтобы включить или выключить устройство, достаточно просто сказать его название — оно сменит свое состояние на противоположное: включится, если сейчас выключено, и наоборот. Если вы хотите изменить настройки только одного устройства, уточните в команде его название, если управляете несколькими — назовите дом, комнату или группу, к которой относится команда. Их можно не уточнять, тогда Алиса применит команду к той комнате, где стоит умная колонка, — например, команда «Алиса, открой шторы» сделает светлее только в текущей комнате. Если колонка не привязана к комнате или в комнате с ней нет нужного устройства, настройки изменятся во всем доме. Это же произойдет, если вы отдадите команду не через колонку, а через другое устройство или приложение с Алисой.Узнать состояние устройства
Вы можете узнать у Алисы, включено или выключено умное устройство, в каком режиме оно работает, а также что показывают его датчики.
Просто спросите — и голосовой помощник опросит нужное устройство и скажет его текущий статус или показатель. Подробнее читайте в разделе Узнать состояние устройства.
Алиса, ты где? На Яндекс Станции и других "умных" колонках перестала работать Алиса
Сегодня наши подписчики обнаружили печальный факт - умные колонки с интегрированной Алисой перестали работать.
Забавности этому событию придает тот факт, что Citilink опять снизил цены на умные колонки Irbis A,
которые теперь можно купить уже за 1490 рублей. Это, на сегодня, самое дешевое устройство с интегрированной Алисой на борту.
Отказ работы выражался в том, что устройства в принципе не загружались.
Некоторые источники утверждают, что падение сервиса связано с новой методикой атаки на CDN сервисы, которые позволяют ускорять получение контента пользователями, за счет распределения нагрузки на серверы, находящиеся в сети. Атака называется CPDoS - Cache Poisoned Denial of Service, что в приблизительном переводе означает "отказ из-за отравления кеша".
Как сообщается в канале Zatelecom - это некие хитро сгенерированные запросы, которые приводят к отказу сервиса. Пострадали, в том числе, сервисы Apple, Dota2, Steam, Counter Strike и много кто еще. Видимо, Яндекс "попал под раздачу".
По сути, система глобально "лежала" примерно полтора часа. И как говорят "старожилы" этого сервиса, это первый серьезный сбой такого рода за полтора года.
Видимо, на текущий момент, работа сервиса восстановлена частично и будут ли продолжаться проблемы с его работой - пока непонятно.
Добавляем Home Assistant в Умный Дом Яндекса
/config/custom_components/ в зависимости от места и версии HA).
Далее нужно склонировать туда гит, на котором вся система и работает - GitHub (все лайки именно туда, писал его не я) или же создать вручную папку yandex_smart_home и туда скопировать файлы из архива, которые были скачаны из гитхаба оттуда.
Я в Хассио в конфигураторе в web загружал каждый из 10 файлов с указанного выше гита по одному.
Но вы можете подключиться к малине по ssh, перейти в папку с конфигом вашей ХА сборки, перейти в папку custom_components (если ее нет - надо создать). И там сделать следующее:
Далее прописываем в configuration.yaml этот самый компонент:
- как я, просто добавляем в конце файла "yandex_smart_home:" (без кавычек, конечно);
- или же "курим" расширенный мануал от создателя компонента этого: ReadMe.
После, проверяем, на всякий случай, конфигурацию в настройках, и перезагружаем HA.
После этого уже переходим на сам процесс подключения всего, что сделали, в Умный дом Яндекса:
- Заполняем все поля, отмеченные звездочкой.
- Название - указывем любое вам понравившееся, которое не будет занято.
- В пункте Endpoint URL пишем https://[внешний_адрес_HA:порт]/api/yandex_smart_home.
- Включаем приватность "Не показывать в каталоге".
- Имя разработчика - пишем свой ник или что душе угодно. Ни на что не влияет.
Нужно также выбрать иконку размером 224х224, которую можете сделать сами или использовать уже выбранную мной для HA:
Сохраняем связку, и выбираем её на страничке из списка, где мы настраивали сам навык ранее.
После, справа жмем кнопку "На модерацию" (она проходит мгновенно, так как мы выбрали ранее "приватный навык") и "Опубликовать".
По сути все: осталось в приложении Яндекс на Android/iOS или на ПК в браузере добавить нашего нового "производителя". Покажу на примере мобильного приложения.
Открываем левое меню в приложении Яндекс и выбираем пункт Устройства.
Здесь открывается список с устройствами, которые можно подключить. Нам нужен пункт Умный дом.
Попадаем непосредственно в окно самого Умного Дома Яндекс, где и происходит управление устройствами, и создание сценариев. Сейчас нажимаем на плюс для добавления.
Помимо "официально" поддерживаемых производителей, у нас появится пункт, который мы ранее и создавали - выбираем его.
Откроется страничка созданного навыка - его описание. Нажимаем на "Объединить аккаунты", нас перебрасывает на страницу входа в Home Assistant: вводим логин\пароль от своего аккаунта там.
Нас возвращает после этого на страничку самого "навыка", где уже нажимаем на "Обновить список устройств". Немного ждем..
И все доступные устройства из HA добавляются в список устройств.
Надписей красным цветом и восклицательных знаков не пугаемся: необходимо лишь переназвать каждое устройство, используя "кириллицу, без пунктуации и спецсимволов; между словами и числами ставьте пробелы".
На данный момент поддерживаются только вот эти domains в HA:
- group (on/off)
- input_boolean (on/off)
- switch (on/off)
- fan (on/off)
- light (on/off)
- cover (on/off)
- media_player (on/off, mute/unmute)
В дальнейшем будет также добавлена возможность проброса из Home Assistant в Яндекс:
- поддержка громкости в media_player;
- яркость/цвет ламп;
- скорость увлажнителя/вентилятора.
На этом все, мы вместе смогли подключить те устройства, которые "нативно" не поддерживаются пока в Умном Доме Яндекс.
Кроме того, это позволяет избежать возможных лагов из-за cloud-2-cloud системы, когда Яндекс обращается в облако производителя, который обращается в облако подключенного к нему производителя, который. - и все они лагают =)
Остаются, по сути, только Ваш сервер, за который Вы и в ответе, и облако самого Яндекса, куда все и интегрируется.
Текст составлен с неоценимой помощью @OXOTH1K , а также всего сообщества, которые и двигают весь прогресс на основе "ступенек" от компаний, подобных Яндексу.
Посмотри примеры работ и выбери себе интегратора. (Zhel) отредактировано 2 года назад
Голосовое управление для всех членов семьи, а не только на кого настроена привет сири.
Сергей Драгунов (@SD) 2 года назад Олег Челбаев (sprut) 2 года назад (yalic) 2 года назадЕсть кто уже настроил? Я столкнулся с проблемой на этапе "обновления" списка устройств, яндекс сообщает что "что-то пошло не так".
(gettoboy22) 2 года назадТа же ерунда. При обновлении пишет "internal server error". ил это на яндексе беда какая-то.
(lapatoc) 2 года назадУдобнее сразу прописать entity_config. В яндекс влетает с нужными именами и по нужным комнатам.
(hellad) 2 года назадНе одскажете на какой версии ХА должен работать этот кастомный компонент?
после переноса файлов с гитхаба в папку yandex_smart_home в custom_components и добавления нескольких строк в конфиг у меня в ХА версии 0.92.2 в докере на synology даже проверка конфигурации не проходит :( . причем веб морда ХА зависает на этом и приходится перегружать контейнер средствами докера. Если же пробовать запустить, то получаю в логе следующую ошибку (про атрибут медиа плеера):
2019-05-30 00:26:05 ERROR (MainThread) [homeassistant.setup] Error during setup of component cloud
Traceback (most recent call last):
File "/usr/src/app/homeassistant/__main__.py", line 283, in setup_and_run_hass
File "/usr/src/app/homeassistant/bootstrap.py", line 180, in async_from_config_file
config_dict, hass, enable_log=False, skip_pip=skip_pip)
File "/usr/src/app/homeassistant/bootstrap.py", line 91, in async_from_config_dict
await _async_set_up_integrations(hass, config)
File "/usr/src/app/homeassistant/bootstrap.py", line 394, in _async_set_up_integrations
for domain in domains_to_load
File "/usr/src/app/homeassistant/setup.py", line 50, in async_setup_component
File "/usr/src/app/homeassistant/setup.py", line 126, in _async_setup_component
hass, config, integration)
File "/usr/src/app/homeassistant/config.py", line 756, in async_process_component_config
File "/usr/src/app/homeassistant/loader.py", line 130, in get_component
File "/usr/local/lib/python3.7/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
File "<frozen importlib._bootstrap>", line 983, in _find_and_load
File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 728, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/config/custom_components/yandex_smart_home/__init__.py", line 12, in <module>
from .const import (
File "/config/custom_components/yandex_smart_home/const.py", line 73, in <module>
(media_player.DOMAIN, media_player.DEVICE_CLASS_TV): TYPE_MEDIA_DEVICE_TV,
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/src/app/homeassistant/setup.py", line 153, in _async_setup_component
File "/usr/src/app/homeassistant/components/cloud/__init__.py", line 156, in async_setup
File "/usr/src/app/homeassistant/components/cloud/prefs.py", line 25, in async_initialize
prefs = await self._store.async_load()
File "/usr/src/app/homeassistant/helpers/storage.py", line 81, in async_load
return await self._load_task
Антон Калашников (GodinRaider) 2 года назадУ меня 93.2 версия, последняя что доступна из вебморды, под крайней мере.
Я когда сам разбирался, узнал что на последних версиях HA уже несколько раз менялась папка компонентов: когда-то ранее это была custom_component, и даже custom_directory
(hellad) 2 года назадсейчас надо размещать в <config directory>/custom_components/<component name> . Так что для моего варианта в докере config/custom_components/yandex_smart_home выглядит правильной папкой.
(iHun) 2 года назадДля меня гораздо актуальнее другое -- как добавить устройства от яндекса в HA? А то подарили лампочку, но что с ней пока делать -- не понятно.
(Stein) отредактировано 2 года назадHomebridge интересно получится добавить когда-нибудь? Не хотелось бы еще и Home Assistant заводить.
Евгений Селянин (Shico) 2 года назадПрошу помощи. Дошел до пункта "объединить аккаунты" в приложении яндекса, перебрасывает на страницу входа в Home Assistant: логин\пароль от своего аккаунта.
Но ругается на провайдера аутентификации.
Выдаёт надпись красного цвета: "Error. Invalid client id or redirect uri
Не могу зайти ни через Home assistant local, ни через Legacy API Password
Настройка через duckdns,белый IP, так же через него проброшена GHmini и она спокойно работает. Через duckdns спокойно захожу к себе в умный дом.
Я так понимаю что проблема в доступе именно яндекса к моему duckdns. Где это можно поглядеть или как его докинуть в доверенные источники?!
Нашел решение. Еще раз заново создал Яндекс.Диалоги и чудесным образом всё заработало.
Причем специально сравнил настройки старого и нового диалога в яндексе, всё было один в один. Видать при сборке диалога были глюки у яндекса, т.к. вспоминаю, что собрался он тогда не с первого раза.
Разработчик кастомного компонента мне уточнил, что нужна версия ХА не ниже 0.93 (он добавил это в readme). После обновления моего hass удалось настроить связку с Яндексом как описано в статье.
У меня самая последняя версия, 0.93.2
И всё-равно не даёт пароли к учетной записи HA ввести, ругается: "Error. Invalid client id or redirect uri
Спасибо за статью!
Eugene Firstov (Zyberex) 2 года назадСпасибо за статью, пришлось использовать приложение на телефоне, чтобы объеденить аккаунты, в браузере никак не получалось. еще б команды можно было переименовывать, например - Алиса, пусти/выпусти кота. )
Антон Калашников (GodinRaider) 2 года назадЯ сделал отдельные сценарии, где лишь одна команда, которая как раз и делает более удобным "живым" использовании устройств
P.S. нашел решение с помощью других аддонов hass.io
Максим Сапожник (Sapik) отредактировано 2 года назад (Is_king) 2 года назадSapik, такая же ерунда((( не знаю, как починить
(Is_king) 2 года назадТолько что починил. Просто удалил старый диалог и создал с нуля с такими же данными, как в старом диалоге. Но все заработало
пчОл Упртй (Starnger) 2 года назадСтолкнулся с проблемой, что при попытке связать аккаунты, открывается страница авторизации, ввожу пароль от API, код из двухфакторки и после этого прилетает ошибка. Не подскажите, в какую сторону копать?
В описании значится так: cover (on/off = close/open), но на практике все наоборот, что бы открыть шторы или поднять жалюзи, надо просить Алису их закрыть, а для того чтобы закрыть, надо попросить ее открыть! Так только у меня или у всех?
(pruwait) отредактировано год назадКак добавить компонент Яндекс.Хоум при установке хассио в докере?
АПД: разобрался. Вроде несложно.
Та же ситуация. Удалось ли победить?
Да. У меня в configuration.yaml на тот момент появилось устройство с типом чайник (water_heater), после добавления которого все и перестало работать. Кастомный компонент не поддерживает этот тип устройств.
После того как в ручную указал импортируемые типы - все заработало.
Помогите, Алиса скучает и палчет!
А доступ в ХА из вне настроен?
такая же фигня вылезла, раньше всеработало
Детали issue тут. У вас такая же ошибка в логе HASS?
Я почти месяц мозг ломал с этой ошибкой, ни кто не мог ответить. Сегодня внезапно узнал, что яндексу просто не нравится название диалога.. Пишите всё что угодно, только не "Home Assistant" и всё что с ним связано, подозреваю что он находит уже что-то подобное и поэтому выдает ошибку..
Игорь Бурундуковский (booroondook) отредактировано 10 месяцев назадУ меня получилось! Но всё же есть большое разочарование.
Во-первых, Яндекс "затянул к себе" датчики температуры и влажности, а датчики давления почему-то нет (у меня все это хозяйство реализовано через Tasmota/MQTT).
Во-вторых, оказывается хвалёная Алиса может только включать и выключать, а вот озвучить температуру (или вообще любое состоние/значение/параметр) она не может.
В-третьих, невозможно изменить логику или синтаксис голосовых команд Алисы. Вот пример - у меня в HA настроена интеграция с сигнализацией StarLine, установленной в автомобиле. Среди прочих объектов там имеется объект, изначально называемый "security". Это - состояние охраны. В русской локализации интерфейса HA на соответствующей карточке мы имеем команду "ОТКРЫТЬ" (если машина поставлена на охрану) или "ЗАКРЫТЬ" (если машина снята с охраны). Не совсем логично, но если мы дадим этому параметру дружеское имя "Машина", то станет, в принципе, логично - "машину закрыть, машину открыть". Но вот настроить Алису так, чтобы она понимала команды "Открыть/Закрыть машину" (а вообще бы, в идеале - "Снять с охраны/Поставить на охрану") нельзя - она понимает только команды Включи/Выключи". Вот и получается, что если нужно снять машину с охраны, то Алисе нужно говорить "Включи машину", а если поставить на охрану - то "Выключи машину". Если же вместо "Машина" использовать, скажем, "Сигнализация" или "Охрана", то получится вообще абсурд - для выключения сигнализации придется говорить "Включи сигнализацию", и наоборот.
Как подружить Алису и HomeBridge
UPD 06.08.2019: Свершилось, появилась возможность попросить саму Алису включить свет. Проект есть на гитхабе. Проверил на своем homebridge, все работает. Дальнейшую поддержку своего навыка считаю не целесообразной.
Давно хотел в дополнение к умному дому голосового ассистента понимающего и говорящего на русском языке. В итоге решил рискнуть и взять сырую новую колонку Яндекс.Станция с молодой, но уже многим полюбившейся Алисой. Первое впечатление было отличным, но когда я наслушался анекдотов и набеседовался вдоволь я начал познавать практическую сторону колонки. Больше всего меня интересовал вопрос взаимодействия Алисы с умным домом.
Для решения вышеописанной задачи создан сервис Alice-HomeBridge, предназначенный для связи голосового помощника Яндекс.Алиса и различных систем управления умным домом. Далее в качестве примеров настроек будем рассматривать конфигурацию HomeBridge, но данный подход применим и для других систем таких как Home Assistant, openHAB и других.
Сервис позволяет пользователям, после регистрации на сайте, создавать виртуальные переключатели.
Изменить или узнать состояние переключателей можно с помощью специально сформированного GET запроса к сервису.
Для того чтобы сервис мог взаимодействовать с голосовым ассистентом «Алиса» создан навык «Ленивый Джимми».
Скажите Алисе: «Запусти навык ленивый Джимми» и он предложит вам сообщить код активации, который вы можете найти в своем личном кабинете.
После активации вы можете изменить состояние ваших переключателей с помощью команд «Включи» или «Выключи». Например, если вы скажете «Включи Свет», состояние переключателя «Свет» изменится на положительное. Если вы скажете просто «Свет», то состояние переключателя изменится на противоположное.
Для того чтобы диалог звучал более естественно присутствует возможность создавать переключатели с более понятными названиями, например, «С Утречком», тогда вы сможете сказать Алисе «Скажи Джимми С Утречком» и состояние переключателя изменится.
Осталось настроить HomeBridge. Для примера будем использовать расширение cmdswitch2. Создадим для HomeKit переключатель с названием «Alice Button 1».
Для того чтобы не перегружать сервер лишними запросами значение параметра interval ставим не меньше 2 секунд.
Теперь, если сказать «Алиса скажи ленивому Джимми с утречком», переключатель «Alice Button 1» изменит состояние. Вот демонстрация того, как все работает в совокупности с настроенными сценариями HomeKit:
P. S. Большинство систем управления умными домами, например, HomeKit, поддерживают создание сценариев. Вы можете создать сценарий, который хотели бы использовать в определенной ситуации, например, когда вы просыпаетесь и назначить его вызов на событие «Включение переключателя С Утречком».
P. S. Мой сервис только развивается и еще, мягко сказать, далек от идеала. Но и Алиса некоторые фразы, время от времени, в упор отказывается воспринимать. Например, она прекрасно передает навыку фразу «Включи свет», но фразу «Доброе утро» не передаст. Надеюсь в Яндекс знают о проблеме и скоро ее исправят. Жду ваших комментариев.
Как я собираю умный дом с Алисой за копейки. Впечатления
У нас периодически выходят статьи на тему сборки умного дома, но лично я заморачиваться с их сложной настройкой через Rapsberry Pi и другие сторонние девайсы не очень хотел.
Давно уже думал над тем, чтобы попробовать собрать нечто подобное, но чтобы не так сильно заморачиваться. Раньше это казалось чем-то недостижимым, футуристичным, дорогим и не очень полезным для квартиры. Но теперь все более, чем реально.
Пока собрал только небольшой фрагмент умного дома, но это только начало. И мне уже нравится результат. Особенно при работе с Алисой от Яндекса.
Зачем вообще брать технику со встроенной Алисой
Знаете вариант получше, говорящий на русском языке? Я — нет. Приятнее всего работать именно с нормально общающейся Алисой, умеющей базовые вещи для управления умным домом.
Она совместима с самыми популярными брендами:
▪️ Elari
▪️ Philips
▪️ Redmond
▪️ SmartThings
▪️ Xiaomi
▪️ Z.Wave
▪️ Rubetek
Думаю, 4 из них вы точно знаете. И все эти девайсы настраиваются прямо в приложении Яндекса, которое и является неким хабом для управления умным домом.
Да, Алиса не обладает огромным функционалом, но что-то всё-таки умеет, чего мне пока хватает. И со временем она все равно научится большему (я в это верю).
Google Assistant? В топку, полноценно не управляет техникой на русском языке. Siri? Для работы с приложением Дом нужно миллион переключателей и переходников, совместимых с HomeKit.
Что в итоге я выбрал
Говорю сразу, это не реклама, а чисто мне мнение. Почитав о Xiaomi у нас же на сайте, я решил, что с их техникой слишком много заморочек, которыми я вовсе не горю желанием заниматься.
Хочется простоты — вставил, подключил, работает. Без костылей и прописывания тонн строчек кода для грамотной работы устройств. Но это не значит, что я вовсе отказался от китайцев, у них, наверное, самый широкий выбор умных девайсов. Так что отложил их просто на потом.
Почему не Яндекс? Алиса же!
Во-первых, у него пока особо нет умной техники. У компании всего три умных устройства:
▪️ Смарт-лампочка: 1190 руб.
▪️ Смарт-розетка: 1190 руб.
▪️ Пульт для управления умным домом: 1390 руб.
Во-вторых, настраивается она невероятно плохо. Помню, как приходил в офис и слышал возмущения от настройки той лампочки, которую надо несколько раз включать и выключать для спаривания с хабом. И то она далеко не с первого раза подключалась.
Про розетку ничего не могу сказать, а вот пульт, хоть и настраивается так же кривовато, но хотя бы работает с тем же кондиционером.
В общем, у кого-то техника Яндекса работает, а у кого-то нет. Отзывы слишком смешанные, и рисковать я не стал.
Умный цоколь
Поэтому пока остановился на российской Redmond, у которой относительно недорогая техника. А выбор не такой мелкий, как может показаться: от умных розеток и лампочек до смарт-чайников и кофеварок.
Собственно, я и решил строить себе умный дом с малого. Купил для старта 2 цоколя, 2 розетки, кофеварку и чайник. Ими можно управлять через приложение Ready for Sky от Redmond, в нем возможна более тонкая настройка, нежели через Алису.
К примеру, можно установить температуру нагревания воды в чайнике, изменить его подсветку по RGB-палитре и так далее.
Но это мелочи, которые лично мне не очень-то и нужны.
Конкретно, что я взял себе:
▪️ Умный цоколь REDMOND SkySocket 202S: 599 руб.
▪️ Умная розетка REDMOND SkyPort 103S: 599 руб.
▪️ Умный чайник-светильник REDMOND SkyKettle G213S: 3495 руб.
▪️ Умная кофеварка REDMOND SkyCoffee M1509S: 4990 руб.
За всё вышло 10 881 руб. Плюс взял Яндекс.Станцию для голосового управления из любой комнаты, чтобы умными гаджетами могла пользоваться вся семья. Это ещё дополнительно 9990 руб.
Итого: 20 871 руб.
Можно взять вариант попроще со встроенной Алисой, это даже разумнее для больших квартир, где одной колонки не хватит.
Например, Irbis A за 3000 руб. — штуки три на квартиру будет достаточно. Хоть эта колонка звучит объективно плохо, зато ее громкости и мощных микрофонов достаточно для общения с голосовым помощником.
Как настраивал
Здесь все оказалось несложно. Для связи гаджетов между собой хватает приложения Ready for Sky, но для нормальной интеграции с головным управлением через Алису этого мало.
2. Переходим во вкладку Устройства в дополнительном меню, скрытом за иконкой с тремя палочками.
3. Открываем Умный дом —> Добавить устройство —> Ready for Sky.
4. Нажимаем Oбьединить аккаунты, вас перекинет в приложение Ready for Sky и предложит соединить учетные записи Яндекса и Redmond.
После этого, казалось бы, Алиса должна заработать с умной техникой. Но как бы не так.
Идеальная связка для дистанционного управления техникой Redmond
Для управления всеми гаджетами требуется создать мост. И здесь есть 2 варианта: либо докупить пульт управления от Redmond, либо взять в руки смартфон на Android.
Я воспользовался вторым вариантом, поскольку дома есть HTC One M8. Он и выступил в роли моста, соединяющего Алису и технику. Связываются устройства между собой и цифровым ассистентом через приложение R4S Gateway.
Настройка несложная — включил Bluetooth, неспаренные гаджеты нашлись, нажал Подключить и зажал на каждом гаджете кнопку включения на 3-5 секунд. Через пару мгновений все сконнекченно.
Важно: нельзя использовать приложения Ready for Sky и R4S Gateway на одном Android-смартфоне. Это может привести к сбоям и ухудшению работы устройств. Но никто не запрещал устанавливать Ready for Sky на iPhone.
Либо если у вас нет Android-смартфона, можно поставить любой популярный эмулятор Android на Mac или PC и управлять с ноутбука техникой по Bluetooth.
Собственно, настройка завершена. Алиса научилась управлять моим умным домом.
Правда, тонко управлять им ассистент ещё не умеет. Пока доступно только включить-выключить. Так что свет/розетки/чайник/кофеварка работают только в одном предварительно настроенном режиме.
Если решитесь себе взять цоколи Redmond, вот их правильная настройка, чтобы можно было сказать «Алиса, включи свет в коридоре/спальне/туалете».
1. В приложении Яндекса создаете группу Коридор (или какую вам требуется).
2. Переименовываете цоколь в Коридор (или где у вас находится устройство).
Важно называть технику так же, как называется группа, в которой она располагается. Приложение само распознаёт тип девайса. Если «имена» совпадать не будут, то Алиса не сообразит, что именно вы хотите включить. В первое время на запрос «включи свет в коридоре» голосовой помощник просто включал весь свет в квартире.
Что в планах по развитию умного дома
Сейчас думаю взять умный пылесос Xiaomi Mi Robot Vacuum Cleaner и добавить побольше розеток для управления имеющейся техникой в доме.
Пока на розетках управляются телевизоры, но никто же не мешает подключить микроволновку и прочие устройства.
Плюс хотелось бы докупить смарт-замки Xiaomi Aquara Smart Door Lock, но для них потребуется создать отдельную защищённую сеть, чтобы никто не смог просто так войти домой. Ну и бонусом — умные жалюзи.
Об этом я расскажу позднее, когда реализую свои идеи.
Общие впечатления
Да, это не приложение Дом от Apple. Гаджеты не поддерживают HomeKit и не управляются с Apple Watch. Но при наличии колонок с Алисой мне вполне хватает и такого решения.
Тем более, что через приложение Яндекс можно создавать сценарии для голосового помощника. Скажем, команду «Алиса, я дома» — включается расслабляющая музыка, заваривается кофе и включается телевизор. Это ли не базовое удобство, о котором стоит мечтать?
Кому интересно больше про умный дом:
(55 голосов, общий рейтинг: 4.29 из 5)🤓 Хочешь больше? Подпишись на наш Telegram. . и не забывай читать наш Facebook и Twitter 🍒
Читайте также: