Недавно компания Яндекс запустила свою систему «умного дома». Нам предлагают купить недорогие работающие по Wi-Fi устройства: адаптер в розетку, лампочку и ИК пульт. Интересно, что у разработчиков «умных» устройств появилась возможность создать свои навыки «умного дома», это позволит подключить девайсы к системе Яндекса и управлять ими голосом через Алису. В списках навыков появляется всё больше новых брендов. Алиса прекрасно понимает русскую речь, что делает ее безусловным лидером среди голосовых ассистентов на российском рынке.
Однако, не всё так гладко…
Первый минус: в основном, все предложенные системы — «облачные». Их надежность порой вызывает сомнения, так как их работоспособность на прямую зависит от качества соединения с серверами производителя. А при отключении интернета устройства вовсе превращаются в “тыкву”.
Второй минус: система сценариев. Немаловажная часть умного дома — сценарии. И тут они очень примитивные: Если “фраза такая-то”, то включить “устройство такое то”. Для моего умного дома этого оказалось слишком мало.
Минусы на этом не заканчиваются, но остальное связанно скорее с незрелостью системы. Команда разработчиков Яндекса продолжает активно добавлять различные фичи, а баги — править, за что им большое спасибо!
Изучив документацию, я решил создать навык Яндекс УД и подключить к нему контроллер умного дома. Это позволит не зависеть от облачных серверов, реализовывать любые сценарии локально на контроллере и при этом управлять системой голосом через Алису. Для этого я написал плагин “yandex2mqtt” на Node.js.
Немного теории
— Алиса, включи свет.
После этой фразы происходит магия и включается свет. Но что же за кулисами? Давайте разбираться, как всё это работает.
Яндекс-станция, услышав знакомую команду, отправляет данные на сервер Яндекса, которому мы заранее указали адрес нашего контроллера. Сервер обрабатывает информацию и перенаправляет ее на контроллер в виде Post-запроса. На контроллере промежуточный API (в нашем случае это плагин yandex2mqtt) обрабатывает запрос и перенаправляет его в MQTT топик. Дальше происходит обработка сценария в программе Node-Red.
Node-Red решает, что делать дальше. Если это предусмотрено сценарием, он посылает команду на включение света в соответствующий топик MQTT. Драйвер wb-mqtt-serial реагирует, посылая команду по Modbus на релейный модуль, тот переключает реле. И наконец-то включается свет! Да, путь не близкий, однако для пользователя проходят считанные доли секунд.
Давайте посмотрим на плагин yandex2mqtt поближе. Первое, что требует Яндекс для работы навыка, — oAuth сервис для связки аккаунтов в приложении Яндекс. После того как Яндекс получит токен авторизации от oAuth сервиса, он запрашивает список устройств. Плагин yandex2mqtt отдает в ответ список устройств со всеми свойствами в json формате. Затем они появляются в списке доступных для управления устройств (в так называемом квазаре). Теперь, если скомандовать Алисе включить какое-то устройство из списка, Яндекс пошлёт Post запрос с данными устройства, которое он хочет включить, на контроллер. В ответ плагин подтверждает включение и записывает новое состояние в mqtt топик, указанный в настройках все того же плагина. Если же устройство изменило свой статус без участия Яндекса, то плагин, увидев новые данные в mqtt топике, отправит их Яндексу при запросе статуса, который сейчас происходит, только если зайти в само устройство в квазаре. В иных случаях Яндекс не опрашивает статусы.
Теперь расскажу о некоторых свойствах устройств Яндекс УД.
Тип устройств
Для правильного отображения в “квазаре” и более точного определения команд Алисой Яндекс предлагает присваивать устройствам разные типы. Всего типов 10:
- devices.types.light — Любой светильник, люстра, лампочка итд.
- devices.types.socket — Розетка
- devices.types.switch — Переключатель
- devices.types.thermostat — Термостат
- devices.types.thermostat.ac — Кондиционер
- devices.types.media_device — Медиа устройство
- devices.types.media_device.tv — Телевизор
- devices.types.cooking — Кухонная техника
- devices.types.cooking.kettle — Чайник
- devices.types.other — Всё остальное, что не подошло под предыдущие пункты.
Умение (capability)
Также у каждого устройства должно быть минимум одно умение (capability).
Всего у Яндекс УД есть 5 типов умений. Каждое умение имеет разную функцию (instance), а некоторые умения имеют несколько таких функций, что добавляет гибкости при настройке устройств.
Сapabilities:
1. devices.capabilities.on_off — Включение и выключение.
instance:
- on
2. devices.capabilities.color_setting — Управление цветом.
instance:
- rgb
- hsv
- temperature_k
3. devices.capabilities.mode — Переключение режимов.
instance:
- thermostat
- fan_speed
4. devices.capabilities.range — Управление диапазоном.
instance:
- brightness
- temperature
- volume
- channel
5. devices.capabilities.toggle — Выключение звука.
instance:
- mute
При правильной комбинации всех свойств устройства Алиса без проблем понимает все отданные ей команды по управлению Умным домом. Тут, конечно, есть некие трудности с комбинированием умений. В документации явно не указано, какие умения можно комбинировать, а какие нельзя. Но с этим нам поможет “метод научного тыка”.
Так, к примеру, я выяснил, что кондиционер содержит четыре умения:
Тип устройства:
devices.types.thermostat.ac
Тип умения:
devices.capabilities.on_off
instance:
- on
devices.capabilities.range
instance:
- temperature
devices.capabilities.mode
instance:
- thermostat
devices.capabilities.mode
instance:
- fan_speed
Остальные свойства описывать не буду, там всё довольно просто.
Чтобы всё заработало, требуется:
- Контроллер
- Любой домен
- SSL сертификат
- Node.js
- Плагин yandex2mqtt
- MQTT брокер
- Node-red
Контроллер
Моя “умная” квартира управляется контроллером Wiren Board 6. Но можно использовать любой другой контроллер на линуксе, который потянет Node.js и Node-Red. Например, Raspberry pi или ПК.
Домен
Желательно, конечно, иметь белый IP адрес и купить домен, но это необязательно. Можно использовать DDNS — например, www.noip.com.
Тут всё просто: регистрируемся, создаем бесплатный хостнейм, вписываем свой IP адрес. У некоторых роутеров есть специальная настройка DDNS, куда можно вписать данные noip.com. Роутер будет автоматически отправлять IP адрес при его смене. Если такой настройки в роутере нет, можно установить программу noip на контроллер и добавить её в автозапуск. Программа будет делать ровно то же самое, что и роутер со специальной настройкой DDNS — обновлять Ваш ip адрес в базе noip.com
Таким образом, мы имеем статический адрес, который перенаправляет все запросы на наш контроллер.
Порты 443 и 80
Сейчас почти у каждого человека дома есть роутер. Помимо очевидных его функций, он также является барьером для локальной сети от нежелательных гостей извне. Но в определённых случаях нам требуется доступ к внутренней сети снаружи. Производители роутеров это предусмотрели и добавили функцию NAT (Network Address Translation).
Момент настройки роутера я расписывать не стану, так как он разный для каждого производителя. Как это сделать, читайте в инструкции к Вашему роутеру. Ключевые слова для гугления: Port Forwarding, Port Mapping, NAT.
Необходимо пробросить порт для доступа к yandex2mqtt (может быть любой, я выбрал 443) и 80 порт (нужен только для получения SSL сертификата. После получения сертификата 80 порт можно закрыть).
SSL-сертификат
Сразу расставим все точки над «и»: самоподписанные сертификаты работать не будут.
Большинство регистраторов доменов (например, reg.ru) дарят своим клиентам бесплатные SSL-сертификаты для основного домена (www.yourdomain.ru). Если вы купили домен специально для Алисы, то Вы можете воспользоваться предоставленным SSL-сертификатом.
Если же собственного домена Вы не имеете, либо для Алисы у Вас выделен другой поддомен (например, alice.yourdomain.ru), то нужно получить сертификат на этот поддомен, либо на адрес, предоставленный DDNS-службой.
Для этого предлагаю воспользоваться бесплатной услугой получения SSL-сертификата от letsencrypt.org.
Для получения сертификата необходимо установить программу certbot, запустить и указать все данные, которые она запросит. При этом должен быть свободен и доступен снаружи порт 80. Я советую внимательно изучить инструкцию от letsencrypt.
apt-get update
apt-get install certbot
Останавливаем сервисы watchdog и nginx.
service watchdog stop
service nginx stop
Пробрасываем 80 порт в роутере.
Запускаем программу certbot:
certbot certonly --standalone
После запуска программа задаст несколько простых вопросов
1. Ваш e-mail. Просто введите адрес и нажмите enter
2. Вам предлагают прочесть пользовательские соглашения. Если вы со всем согласны, просто введите “A”, что означает Agree, то есть согласен.
3. Программа просит разрешения на отправку Вашего адреса электронной почты разработчикам. Введите N.
4. Введите свой домен, на который хотите получить сертификат (можно ввести тот, что мы получили в noip ранее). Тут я привожу пример ошибочного ввода. Префикс http:// вводить не нужно.
Если Вы всё сделали правильно, то увидите следующее:
Значит, сертификат успешно получен. Запомните путь к сертификату и ключу, он потребуется при настройке плагина yandex2mqtt. Для безопасности закройте 80 порт в настройках роутера, он больше не пригодится.
Включаем сервисы watchdog и nginx.
service nginx start
service watchdog start
Сертификат от letsencrypt выдаётся на 3 месяца. Не забывайте обновлять.
Node.js и плагин yandex2mqtt
curl -sL https://deb.nodesource.com/setup_10.x | bash -
Далее устанавливаем или обновляем все необходимые компоненты
apt-get install -y nodejs git make g++ gcc build-essential
После успешной установки копируем репозиторий yandex2mqtt на контроллер.
git clone https://github.com/munrexio/yandex2mqtt.git /mnt/data/root/yandex2mqtt
Задаём права.
chown -R root:root /mnt/data/root/yandex2mqtt
Заходим в папку.
cd /mnt/data/root/yandex2mqtt
Запускаем установку.
npm install
Установка завершена.
Перейдите в папку /etc/systemd/system/ на контроллере и создайте файл с названием yandex2mqtt.service. Скопируйте в него следующее:
[Unit]
Description=yandex2mqtt
After=network.target
[Service]
ExecStart=/usr/bin/npm start
WorkingDirectory=/mnt/data/root/yandex2mqtt
StandardOutput=inherit
StandardError=inherit
Restart=always
User=root
[Install]
WantedBy=multi-user.target
После этого сохраните изменения и закройте файл.
Для включения юнита введите в консоль команду:
systemctl enable yandex2mqtt.service
Теперь можно запускать и останавливать плагин командами
service yandex2mqtt start
service yandex2mqtt stop
service yandex2mqtt restart
Настройка:
Все необходимые настройки плагина находятся в файле /mnt/data/root/yandex2mqtt/config.js
Отредактируйте этот файл в соответствии с Вашими параметрами.
SSL-сертификат обязательно должен быть fullchain.
После настройки запустите yandex2mqtt командой:
service yandex2mqtt start
После настройки и запуска моста советую проверить сертификат на этом сайте.
Просто введите свой домен, который собираетесь использовать для доступа к Алисе. Для корректной работы сертификат должен пройти все проверки. Иначе ничего не заработает.
Навык Яндекс УД
2. Залогиньтесь под своим аккаунтом.
3. Нажать “создать диалог”
4. Выбрать пункт “Умный дом”
5. Ввести обязательные параметры:
- Название — Любое название.
- Endpoint URL — адрес типа вашдомен/provider , где вместо “вашдомен” адрес из noip или ваш домен, для которого получен ssl-сертификат.
- Приватность — выбрать “Не показывать в каталоге” (Обязательно! Иначе навык не пройдет мгновенную модерацию)
- Имя и Email разработчика — указать Ваши данные.
- Описание — любой текст
- Иконка — любая иконка.
6. Связка аккаунтов:
Нажать “добавить новую”
- Первые два пункта — указываем данные из config.js / clients :
1. Идентификатор приложения — clientId
2. Секрет приложения — clientSecret
- URL авторизации — вашдомен/dialog/authorize
- URL для получения токена — вашдомен/oauth/token
- URL для обновления токена — вашдомен/oauth/token
7. Сохранить навык
8. Нажать “На модерацию”
9. Нажать “Опубликовать”
2. В меню выбрать Устройства/Умный дом
3. Нажать “Добавить устройство”
4. Выбрать свой навык
5. Нажать “Объединить аккаунты”
6. Откроется страница авторизации
Ввести логин и пароль (задается в файле config.js в блоке users)
7. Нажать “Разрешить”.
8. Нажать “Обновить список устройств”
Теперь Алисе можно отдавать команды для управления добавленными устройствами. В указанные mqtt топики будут приходить соответствующие команды.
Осталось привязать к этим топикам какие-то действия.
Node-Red
Для системы автоматизации был выбран Node-Red. Это отличный инструмент визуального программирования. Процедуру установки и настройки можно подсмотреть тут.
Процесс настройки и автоматизации умного дома потянет на целую статью, а то и две. Да и таких статей уже много. Вместо этого — небольшой пример использования плагина, как включить лампочку голосом.
Для удобства на контроллере Wiren Board 6 в веб интерфейсе создаем виртуальное устройство.
В движок правил wb-rules нужно вписать
defineVirtualDevice("yandex", {
title: "yandex controls",
cells: {
light1: {
type: "switch",
value: false
},
}
});
MQTT топики этого виртуального устройства впишем в config.js на тип умения “on” устройства “Свет”:
devices: [
//_______________ Начало устройства ______________//
{
name: 'Свет',
room: 'Комната',
type: 'devices.types.light',
mqtt: [
{
type: 'on',
set: '/devices/yandex/controls/light1/on', // топик управления
stat: '/devices/yandex/controls/light1' // топик статуса
},
],
capabilities: [
{
type: 'devices.capabilities.on_off',
retrievable: true,
state: {
instance: 'on',
value: true
}
},
]
},
//_______________ Конец устройства _______________//
]
Теперь при фразе “Алиса, включи/выключи Свет” переключается виртуальное устройство.
Перейдем в Node-Red, который установили по инструкции.
Для удобной работы с Wiren Board 6 также можно использовать дополнительную “ноду” node-red-contrib-wirenboard.
В контроллер поставлен модуль расширения WBE2R-R-ZIGBEE, что позволило подключиться к “Икеевской” умной лампочке серии ТРОДФРИ по ZigBee-протоколу.
Теперь дело за малым. Закинуть несколько блоков в рабочее поле Node-Red, соединить “ниточками” и нажать Deploy.
Икеевская лампочка подключена через плагин zigbee2mqtt, поэтому в mqtt топик лампочки для управления нужно отправлять json. Для этого между виртуальным девайсом WB и mqtt топиком лампочки вставим простую функцию.
Нажимаем Deploy. Проверяем.
Алиса, включи Свет!
Итак, сегодня мы научились подключать Алису к системе автоматизации. Возможно в некоторых случаях это слишком сложно, проще купить обычную wi-fi лампочку, и этого хватит. Но если Вы задумали собрать себе по-настоящему умный дом, то простыми способами тут не обойтись. А стоит оно того или нет, каждый решит сам. Спасибо за внимание!
Комментарии (83)
vagon333
07.09.2019 00:34+1Актуально.
Личный опыт: в доме 3 алексы и 1 гугл.
Управляют кондиционерами, лампочками и электроникой.
Недавно прошли грозы, вырубился инет на сутки и все мои управлялки замерли. На все нашлось ручное управление, кроме лампочек. Вечером ходил с фонарем на голове, как шахтер.
Озадачился аналогичным вопросом — сделать систему управления домом автономной.
Облачные решения хороши для разных задач, но не для управления домом.dslimp
07.09.2019 07:43openhab2 спасет
vagon333
07.09.2019 10:01openhab2 вполне может спасти, спасибо за совет, но нужно разобраться с автономным голосовым управлением.
Преимущества онлайновых голосовых управлялок во встроенном интерпретаторе речи.
Т.е. мне не нужно заучивать и помнить тексты команд, а достаточно сказать приблизительно — что я хочу.
В автономной голосовой управлялке помимо Speech Recognition (Speech to Text) нужна еще и Text to Commands Interperetation. Без интерпретатора с ростом устройств управлять будет сложнее из-за необходимости дословно помнить все команды.
Правильный вопрос задал камрад shiotiny ниже.dslimp
07.09.2019 18:57Ну лично меня автономность распознования голоса — не напрягает. openhab связал с Siri, ограниченно, но работает, этого хватает. Да и не пользуюсь я почти голосовым управлением. Больше автоматизация (наступил рассвет, шторы поползли вверх, напечатал на 3д принтере привод штор), при подъезде к дому включался свет во дворе (координаты через icloud), ну и в таком духе.
Устройств наставил от sonoff (перешивал под mqtt), до самосборных (контроллер пивоварни).
Управление исполнительными устройствами — должно быть на месте стандартных выключателей и прочего, чтобы не приходилось лезть в телефон или управлять голосом. А контроллер — быть автономным внутри дома. ИМХО)
vp7
07.09.2019 09:43Самое простое и адекватное — собственный NodeRED сервер управления умного дома (либо домотикз, либо что-то ещё, ставьте то, что больше понравится), на который заводится всё.
Далее Алису/Алексу/… вы подключаете к своему серверу, также к серверу добавляете UI у NodeRED он встроенный, у домотикза тоже есть, у других тоже UI должно быть).
Тогда в обычной жизни вы сможете говорить со своим домом, а при падении облака — достать смартфон и управлять всеми устройствами в локальном режиме через WEB или приложение на смартфоне.
Сам сервер хостить на чём-то типа Raspberry PI (~$30у себя дома, а на случай поломки — иметь такой же в резерве.
p.s. Недостаток такого решения — нужно быть немножко гиком и нужно понимать, что если что-то сломается, то исправить сможете только вы сами.
p.p.s. Ещё можно посмотреть на коммерческие решения типа "Siemens Logo!", тогда замена вышедшего из строя устройства будет проще (хоть и дороже).
shiotiny
07.09.2019 02:51Как "старый зубр", я тоже за автономность.
Все это красиво пока инет есть..
Интересно, а есть автономные системы распознавания речи? По разумной цене или опен?
AllexIn
07.09.2019 09:06Сфинкс. Без особых проблем завел его. Конечно, до топовых решений не дотягивает, но в рамках управления домом, когда количество запросов фиксированно и ограниченно — не плохо распознает. Обучения не требует.
UPD: Вот даже на хабре обсуждали:
habr.com/ru/post/267539TimReset
08.09.2019 10:54Поддерживаю. Я тоже Сфинксом пользовался — хоть и нужно несколько шагов сделать для подключения, но в интернете всё подробно расписано — просто делаешь по инструкции. Особенно хорошо у него ключевые фразы распознаются — можно просто их использовать и всё будет отлично работать.
asai95
07.09.2019 12:37Snips.ai — есть легкий интерфейс для обучения своей кастомной модели, которую потом можно скачать и использовать локально. Пишет в MQTT, есть интеграция с Home Assistant. Русского нет.
SpeechRecognition — питоновский модуль, есть поддержка Hotword (через Snowboy) и CMU Sphinx для распознавания. Для сфинкса вроде есть русская модель.
dima_s98
07.09.2019 21:47Есть Naomi — открытый проект голосового помощника. Форк заброшенного Jasper. SST там модульный — можно выбирать как онлайн так и оффлайн движки (из свободных оффлайн: Pocketsphinx, Mozilla DeepSpeech, Julius, Kaldi).
Полгода назад где-то касался его. Сыроват проект, но интересен.
AllexIn
07.09.2019 09:04Хорошая попытка, Яндекс, но нет.
Доверить интернет решению управление домом… Это надо очень сильно верить.vp7
07.09.2019 09:48+1Зато представьте, какое раздолье.
Стучатся к вам в дверь:
- откройте, полиция!
- не открою, у вас нет постановления на обыск, идите в суд (в сад, погулять,… на ваш выбор)
- так… ок, Алиса, это офицер полиции с номером 1234, временный пароль 000000, требую обеспечить доступ в квартиру 112
… за дверью слышится громкий хлопок, зовут упавшего тела, дверь открывается, из квартиры раздаётся голос, удивительно похожий на ваш - я, жилец квартиры 112 прошу офицеров полиции зайти в квартиру и разрешаю выполнить любой тип действий, которые офицеры считают нужным выполнить, чтобы не мешать вам я обездвижил себя аккуатическим ударом и тихо мирно лежу на полу
staticmain
07.09.2019 11:42Алиса прекрасно понимает русскую речь
Аж покоробило. Стояла на работе ради фана колонка от яндекса, youtube смотреть на кухне, половину слов приходилось по слогам разжевывать, все равно постоянно сложности.
Acute
07.09.2019 12:37Юзаю данный плагин пару месяцев, управляет контроллером Vera, к которому подключен зоопарк Z-Wave устройств. Ну отвалится Яндекс (что несколько раз случалось — колонка на короткое время похоже теряла сервера), пропало голосовое управление. Смертельного ничего не произошло. Голосовое управление в моем случае это надстройка, которую можно выключить и катастрофы не случится. Вся логика и сцены на контроллере с надёжностью роутера, и всё работает локально без облаков. Есть ещё Siri, которая также рулит теми же устройствами. Можно подцепить колонки Гугла и Амазона. Покетсфинкс давно пытался заюзать, был очень слаб, не знаю, как сейчас, может подрос. Яндекс стоит в качестве подопытного, не понравится перейду на что-то другое. Пока это просто голосовая управлялка, об Умном доме речи не идет, как и все наши умные дома всего лишь набор триггеров, сцен, расписаний, примитивных автоматизаций.
AtachiShadow
07.09.2019 12:38Для несведущего человека в области «Яндекс Умный дом» статья оказалась слишком смешанной. Особенно из-за какой-то странной формулировки терминов.
Я про такие места как «создать свои навыки «умного дома»» / У разработчиков появилась возможность создавать _свои навыки «умного дома»_. Объясните пожалуйста мне смысл этого предложения. И тут же «В списках навыков появляется всё больше новых брендов.». Какие ещё новые бренды в списках навыков?
«Затем они появляются в списке доступных для управления устройств (в так называемом квазаре).» — Для меня квазар это сверхмассивная чёрная дыра выбрасывающая материю аккреционного диска в джетах на полюсах, а не «список устройств».
«Умение (capability) / Также у каждого устройства должно быть минимум одно умение (capability).» — почему «функция» или «возможность» называется умением?
И наконец по теме статьи, как я понимаю, Wiren Board 6 это хардварный шлюз, а к примеру Mozilla Gateway это софтварный шлюз. И суть их в том, что каждый выполняет ту часть задач, которую ему и отвели. То есть WB6 механически щёлкает переключателями, а MG работает как морда управления этими щёлкающими действиями, и если возможно сама управляет софтварными устройствами. Так?
То есть, или без друг друга не обойтись, или компоненты умного дома выбирать под софтварный шлюз, что-бы вся механика была уже в умных устройствах?
Я не сильно шарю в архитектуре умного дома и всех этих примочках, но тема очень интересная))
motpac
07.09.2019 12:46вставлю свои «5 копеек» про Apple HomeKit при отсутствие интернета — ВСЁ РАБОТАЕТ!
Конечно, если вас нет дома, то включить обогреватель или свет в прихожей удаленно не получится, НО находясь дома в одной локальной сети со всей перефирией — у вас ВСЁ будет работать. Даже голосовые команды. Должен быть центр управления в виде Apple TV, HomePod или iPad, который как раз таки помогает управлять всем удаленно, но даже без него всё будет работать пока вы находитесь дома. Сценарии не связанные с вашей геолокацией будут работать.
Я проверял!Foreglance
08.09.2019 09:18Амазон похоже также в этом направлении ведёт работу — заявлено, что ограниченный набор команд работает автономно: управление светом и розетками, таймерами, будильниками, громкостью. Через Echo Plus (gen. 1,2) и Echo Show (gen. 2):
www.amazon.com/gp/help/customer/display.html?nodeId=GCC6XV9DX58VW5YW
kovserg
07.09.2019 14:54А какую задачу решает «умный дом»?
AllexIn
07.09.2019 20:12Глобально — улучшение комфорта жизни.
Локально — зависит от конкретной реализации и пользователей.
iig
07.09.2019 21:59"какую задачу решает «умный дом»?"
Включить-выключить свет/кондиционер не руками, а голосом. Зачем это может понадобиться, к примеру, инвалиду — понятно. Зачем это людям без проблем с движением по своей же квартире — как-то непонятно.
NightGhost
07.09.2019 22:18Банальная лень же. Простой пример: лёг в кровать, читаешь книжку, вот уже засыпаешь. Нужно вырубить кондей, вырубить ночник. Нужно тянуться до ночника, искать где там валяется пульт от кондея. Пока всё это делаешь – как-то уже и сон прошёл )
А тут раз-раз – всё выключилось, спи спокойно, хозяин.avacha
08.09.2019 00:35Обычный, классический выключатель:
а) Всегда на одном и том же месте
б) Тактильный (можно найти наощупь, нажать наощумь и понять наощупь, в каком он положении). В отличие от новомодных сенсорных панелей умного дома и прочего.
в) Четко и однозначно реагирует на команды
г) Может прослужить десятки лет
д) Не требует автономного питания, датчиков, отдельной проводки витой пары либо радиоканала.
е) Не требует интернета для работы
ж) Можно приобрести в любом Мусохранске
з) Полная аппаратная совместимость с любым подлюченным к нему устройством — ЛЮБЫМ. Любого производителя
и) полный Plug-n-Play. Требуемое количествострочек кодавремени для настройки: 0.NightGhost
08.09.2019 00:49Так проблема-то в том, что этот выключатель где-то находится. И обычно не там, где нахожусь я.
iig
08.09.2019 09:46+1Обычно выключатель находится в шаговой доступности
NightGhost
08.09.2019 10:46Такое чувство, что вы не читали мой комментарий, на который отвечали. При чём тут шаговая доступность? Я прямо говорил о том, что «лень», «больше одного шага», «не надо подниматься и куда-то идти».
Archon
08.09.2019 11:30Благодаря светодиодным лампам на горящий где-то свет можно просто забить. Даже если его вообще не выключать, выйдет дешевле, чем городить ради этого умный дом.
А для света в спальне давно придуманы выключатели с пультом, или по хлопку. Питание кондиционера тоже отлично рулится через выключатель, который можно поставить куда угодно, хоть в изголовье кровати.NightGhost
08.09.2019 11:48Все вы зачем-то пытаетесь мне объяснять то, с чем я и не спорил. Был вопрос – нафига. Я ответил нафига. Понятно, что как-то мы сейчас живём без умных домов, и никто особо не страдает.
Все эти решения опять-таки сводятся к «нужен пуль». Пульт для света, пульт для кондея, пульт для тетевизора, пуль для эпплтв. Маленький пуль от обогревателя давно уже потерялся где-то в просторах квартиры.
А пуль для закрывания штор мне где взять? А чтобы открывание штор синхронизировалось с будильником? Да, и для этого есть отдельные решения. А можно хер забить, и открывать руками, как я сейчас и делаю.
P.S. Меня прям бесит, когда я уже заснул, а жена ещё нет, и тут она начинает тянуться через моё спящее тело до тумбочки около моего изголовья, чтобы забрать всю эту пачку пультов и вырубить всё это хозяйство.
iig
08.09.2019 12:22Лень двигатель прогресса, даа… Хотел пошутить про то, как часто случается такое, что в туалет хочется, но лень… Но мне лень, да и шутка несмешная :)
AllexIn
08.09.2019 14:57з) Не правда. Далеко не с любым устройством совместимо. К примеру роллставни через обычный выключатель нельзя использовать, т.к. нужен выключатель без фиксации + у ставни два направления: опять же два обычных выключателя поставить нельзя, потому что нужна защита от одновременного включения.
Продолжу про ставни:
Для того чтобы открыть или закрыть ставни в одной комнате мне нужно 10 секунд постоять около пяти выключателей.
Плюс в жару я могу забыть(или меня может не быть дома) закрыть ставни и комната перегревается. Я могу забыть закрыть ставни на ночь. Я могу забыть закрыть ставни уходя из дома.
Автоматика всё это делает сама.
vmarunin
07.09.2019 23:55Пульт от кондиционера вечно теряется, от телека тоже не редко.
Руки могут быть грязные/мокрые
Выключатель лампочки может быть далеко и влом идти, но не влом громко что-то сказать :)
unsignedint
07.09.2019 15:33А зачем? Чайник же сам в себя воду не нальет, удаленное его включение это доп геморрой с «надо налить воду в чайник перед сном». Хлеб в тостере зачерствеет до утра, и тд Тогда уж проще купить термоспот или водогрей, чтобы вода всегда была горячей.
Далее, я для отопления купил электронные терморегуляторы по 10 евро в сатурне, программируешь на неделю и все. Они сами выключают отопление на ночь в ванной и гостиной а в спальне включают. Есть режим отпуска где можно настроить «выключить до 10 сентября, 22.00», приземляемся в 22.00, в это же время отопление само включается- пока едем с эропорта — помещение прогревается. Причем были версии с блютузом, но я купил без — сценарий ручного управления температурой это дичь, 18 уже холодно, 25 — жарко. А 21 в комнате или 23 никто и не почувствует, опять же изза гистерезиса температура так же и гуляет, только сама.
Сценарий со светом тоже натянутый, как по мне, проще автоматом включить свет в комнате рукой, чем шарясь в потемках объяснять этой алисе что надо сделать.
Пс вспоминается реклама «умного» утюга с wifi, из той же оперы. Правда как определить утюг выключен или это wifi отключился мне до сих пор не ясно.Crazy_Pit
07.09.2019 19:42Я пользуюсь голосовым управлением… оч удобно а именно
поставить будильник на такоето время
запомнить в список
добавить в список покупок
поставить таймер на такоето время
сказать текущую погоду
сказать прогноз на завтра
и это я сделал за месяц пользования Majordomo
и это на домашнем компьютере.
просто удобно…
ничего не покупал
что планирую
во первых видеокамеру на входящих.
делать фото кто подходит к двери и отправлять в телеграм фото.
во вторых управление газовой колонкой тк надоело 5-10 раз крутить температуру теплонасителя.
ну и третих свет датчики движения включатели… все по вай фай
…
используется москито
esp8266.
и это начало умного дома.
ктото прикручивает пылесосы. яндекс и гуглоколонки.
и различные решения от умного дома топовых производителей.
умный дом это как роутер в доме… вроде бы не надо но с ним удобней.
и главное есть бесплатные решения.
unsignedint
07.09.2019 21:46Проблема с отоплением элегантно решается с помощью терморегуляторов, и поверьте мне, один лишь раз настроить и вы забудете о регулировке температуры навсегда, и вам даже говорить ничего никому не надо будет. Все же остальное тоже немного притянуто. Хотя может конечно список покупок и был бы удобен. Для света например есть китайские сенсоры движения, они не только включают свет, но еще и не включают его если в помещении светло. Голосовое управление светом это скорей неудобно. Ребенок спит, а вам надо в полный голос скомандовать чтоб оно его выключило. Или посреди ночи водички попить, или зайти на пару секунд в помещение чтобы взять чтото… А уж объяснить этой железке что надо включить левый прикроватный торшер на 30% яркости…
И это не как роутер, роутер вообще никаких проблем не доставляет, тут же на решение каждой проблемы добавляется еще одна новая, и хорошо если одна
Автоматизация это хорошо иногда, но порой простые решения удобней. Как пример: кому то может показаться удобным электронное табло с временем до прибытия автобуса, как в мск и спб, но гораздо удобней обычная бумажка с расписанием и тактовым движением, в этом случае вам надо запомнить только две цифры например 13 и 15, и это будет означать что автобус будет ждать вас на остановке каждый час в 13,28,43 и 58 минут.Crazy_Pit
07.09.2019 23:48повторюсь… умный дом не панацея. отопление так и будет сделано на регуляторах
только это будет датчик на esp8266+mqtt брокер
а голосовое управление это только бонус которым можно не пользоваться.
хотя хочется при твоем уходе чтобы уменьшалось отопление…
а к твоему приходу(можно следить или по времени ) отопление… просто с умным домом такие вещи делаются проще. а можно этого вообще не делать.
а отопление я кручу потому что осень… ночь холодная день теплый.
управление на батареях не хочется тк котел будет чаще тактовать.
(хотя и это не проблема)… да и вообще можно ничего не делать.
но я еще раз говорю. умный дом эта игрушка с которой становится чуть удобнее. не более того.iig
08.09.2019 11:09Для отопления давно придумали комнатный термостат ;) всё, что нужно — стабилизировать температуру воздуха, а не батареи. А крутить регулятор не рукой, а голосом — это совсем не умно, а даже немного наоборот.
Crazy_Pit
08.09.2019 12:02термостат для газовой колонки стоит порядка 200 долларов.
а с экранчиком уже 300.
так что пока крутим.регуляторы на теплый пол и батареи установлены но пока не подключены в общую систему.
регулятор автономный порядка 1000 рублей
регулятор управляемый внешним порядка 1500 рублей
разница небольшая тем более наши китайские друзья позволяют и на этом экономить.
а голос это только бонус. и не более.
а еще можно графики строить. и следить за качеством воздуха…
а еще можно проветривать перед вашим приходом.
а еще можно понижать температуру после вашего ухода.
а еще можно открывать ворота перед вашей машиной
а еще можно спросить умный дом о времени до работы с учетом пробок
а еще...(список реализованного можно вести долго)
список хотелок реализованных конечен… однако людей много хотелок много… умный дом интересная удобная игрушка…
telobezumnoe
08.09.2019 23:24у меня гугл ассистент понимает даже шёпот, удобство голосового управления в том что не надо включать приложение, выбирать из списка нужную кнопку или виджет… просто произнес команду и всё исполнено. у себя реализовал управление и без доступа к внешке, на роутере стоит Москитто, голосовое управление с помощью таскера и плагинов mqtt и autovoice… можно вводимый текст разбить на переменные, сделать уйму комбинаций, типа включи, вруби и тд свет… спокойной ночи-выключить везде и тд… ни как не реализую навигацию по комнатам, хочется чтоб телефон сам понимал в какой комнате я нахожусь и выполнять команды именно для этого помещения. но это удобнее различных пультов и даже приложений. да и может ли термостатом реализовать сценарий когда для комфортной температуры понадобится включить кондиционер, или закрыть шторы (жалюзи), подержать освещенность в необходимых пределах? включая свет… или по команде кино, закрыть жалюзи опустить экран и включить проектор?? таких сценариев уйма
iig
09.09.2019 08:05"хочется чтоб телефон сам понимал в какой комнате я нахожусь и выполнять команды именно для этого помещения."
Идти в туалет с телефоном. — не прихоть, а суровая необходимость умного дома :) А если в доме проживает >1 человека?
"таких сценариев уйма"
Угу, только выглядят они выдуманными. Сколько раз в час нужно пользоваться командой "кино", чтобы появилась необходимость ее автоматизировать?telobezumnoe
09.09.2019 09:02причем тут туалет и голосовое управление… в туалете все сделано автоматом, даже выключатели не нужны… по поводу просмотра кино, не обязательно выполнять по несколько раз в час, что бы захотелось это автоматизировать, но каждый раз выполнять эту последовательность действий начинает напрягать, я лучше в это время схожу кофе себе налью. да и навигация по дому нужна для того чтоб каждый раз не произносить включи свет в холле или спальне и тд… а просто от фразы включи свет он загорался именно там, где находится сейчас телефон
iig
09.09.2019 09:36" просто от фразы включи свет он загорался именно там, где находится сейчас телефон"
А зачем телефону свет? ;) Как быть, если число телефонов >1? Если число обитателей квартиры !=числу телефонов? Что делать, если телефон на зарядке?
Современные проблемы требуют современных решений :).telobezumnoe
09.09.2019 10:16телефон — лишь как универсальный пульт, который чаще всего находится рядом, и на котором можно реализовать множество триггеров, типа локации, или действий по будильнику. а что не так если телефонов больше одного? каждый может отправлять команды на общие исполнительные устройства… у меня реализовано все на tasker и по голосовой команде он может публиковать данные хоть на сотни топиков, на которые подписаны исполнительные устройства. и не важно в локальной сети вы или в внешней. нет телефона по близости — тогда классический вариант (поход к выключателю и последовательность действий) так же если он на зарядке и тд… для тех у кого нет телефона можно дома сделать старенький планшет как общий пульт… ещё есть устройства которые могут выходить из спящего режима по команде ок Гугл и выполнять команды. все ваши проблемы надуманы, я пользуюсь этим и хотел сказать что голосовое управление упрощает пользование.
iig
09.09.2019 10:40"все ваши проблемы надуманы"
Не наши, а ваши ;) для того, чтобы включить свет, мне не нужны посредники в виде телефона и окей-гугла.
telobezumnoe
09.09.2019 11:26ну я же не знаю где вы живёте, возможно с вашей кровати легко дотянуться до выключателя, диммера освещения, чайника и тд… легко сменить цвет декоративного освещения, закрыть окна от яркого утреннего света, так же не вставая с кровати)) мне это напряжно… потому прослойка в качестве телефона мне все же упрощает жизнь)) не говоря о таких ситуациях когда уже выйдя из дома, можно погасить свет, закрыть окна, и даже перекрыть воду… )) если это конечно не автоматизировано, ведь с того же телефона можно отправлять домой данные о моей локации как и членов моей семьи и так же выполнять какие либо сценарии пока ни меня ни жены нет дома… но это пока в перспективе)) а вообще если так подумать, то лень двигатель прогресса… вот кому то было напряжно копать палкой и он придумал лопату, затем соху… трактор… ))
iig
09.09.2019 11:50"возможно с вашей кровати легко дотянуться до выключателя, диммера освещения, чайника"
С моей кровати легко дотянуться только до ночника :) до чайника тянуться далеко, во первых он на газовой плите, плита на кухне, а во вторых все равно чайник сам в себя воду не нальет, бутерброды к чаю не нарежет и в тостер их не закинет. Все равно на кухню придется идти по олдскульному.
"вот кому то было напряжно копать палкой и он придумал лопату"
Производительность работы лопатой значительно выше производительности работы палкой, да. Это прогресс.
Производительность голосового включения света правда больше? Сколько времени проходит от произношения фразы "Окей-гугл включи свет" до включения света там, где нужно?telobezumnoe
09.09.2019 13:04вот на пример, но это не корректное сравнение, так как здесь одним словом можно выполнить целый сценарий, и тогда разница уже будет более существенной… и для чего это надо, да чтоб не тратить время на однотипные рутинные действия, которые в быту приходится постоянно повторять.
iig
09.09.2019 13:20"и для чего это надо, да чтоб не тратить время на однотипные рутинные действия, которые в быту приходится постоянно повторять."
Включение-выключение электроприборов — из всех бытовых занятий, пожалуй, самое быстрое и ненапряжное. И автоматизировать его проще и дешевле, чем, к примеру, уборку.
dzyk
07.09.2019 21:47Соединение по типу звезда проводки 220 для меня единственное решение, чтобы все это работало и в ручном режиме. Строю сам себе дом. Уже проложил всю проводку. Задумался, что можно использовать вместо матрицы реле)
Sergey_PL
07.09.2019 21:47Чтоб мой дом захватило #ФСБ? Нафиг надо
NightGhost
07.09.2019 22:20Нельзя в каждую затычку фсб приплетать. Эти вечные комменты к подобным технологиям про фсб раздражают в первую очередь одним – а как будто вы настолько анонимированы, что фсб к вам не дотянется через другие дырки.
Понимаю, нынче очень модно везде спецслужбы втыкать, но лукавить-то зачем…Sergey_PL
07.09.2019 22:25Есть такое слово, "сарказм" называется. Особенно после истории с Яндекс и ключами шифрования
DarkWolf13
10.09.2019 01:33и мое любимое: если вы не страдаете паранойей это еще не значит, что за вами не следят
Kwisatz
08.09.2019 09:32Вы меня извините, но терминология в статье жжот напалмом.
Кроме того, умный дом сам должен работать так, чтобы мне не приходилось постоянно отдавать команды, как раз об этом в статье — ни словаForeglance
08.09.2019 10:56Согласен с Вами — включение света голосовой командой и с задержкой в секунды — не совсем то, что ожидаешь от _умного_ дома. Однако когда производители пытаются предсказать по поведению человека его намерения — появляются статьи с заголовками вроде «умный дом следит за вами!».
Kwisatz
08.09.2019 11:391. Человек перешел из комнаты в комнату
2. Свет выключен
3. На улице темно
4. Включаем свет в комнате2
5. Проверяем шевеление в комнате1
6. Выключаем свет в комнате1
Это такой сложный алгоритм, что нужно облачные вычисления?
Или я что-то пропустил и уже есть готовые комплекты которые именно это и делают?
А вообще да, следят. И до вашего удобства им дела нет. А поскольку умный дом, превращающийся в кирпич без интернета, нахрен никому не нужен то и особого развития не так чтобы есть (или есть и это я все самое интересное пропускаю? О_О).
Вообще вот простой пример. Есть хорошая штука Kodi у меня к ней прицеплена домашняя коллекция, лостфилм, еще пара ништяков. А вот плагинов для всевозможных сервисов просто нет, каждый сервис работает только через свое приложение. Вот только у одного такие сериалы у другого иные, у третьего фильмы, у четвертого иные фильмы. Да не хочу я ваш зоопарк, следовательно денег моих они не получат никогда. Более того, даже получению метаданных тот же кинопоиск после покупки активно сопротивляется.
Crazy_Pit
08.09.2019 12:07решения для умного дома разные…
решение лучше все локально самое правильное.
ставим mqtt сервер инапример мажордомо и локальное распознование речи.
все домашняя закрытая система.
roscomtheend
09.09.2019 10:12В комнате находится другой человек, надо или нет включать свет? (подсказка — однозначного ответа на любую ситуацию нет).
Уже есть гугл-карты в андроид авто, тоже с автоматикой. Выезжаю примерно в одно время по будням на работу (чаще в одно место), обратно — тоже примерно одинаково (чуть менее точно), обычно в одно место. По выходным чаще сценарий тоже похож. Иногда Гугла умудряется даже показать правильное место назначения первым, иногда вообще ничего не показывает и надо выбирать из списка (где зачастую первым может оказаться место, куда ездил один раз).
Всё, что нужно знать об "умных" системах.
MarvinD
08.09.2019 15:50Занимаюсь отладкой умного дома моего шефа, недавно получил от спеца по интеграции умностей: умный дом должен быть умным, но не заумным.
Управлять кондеями и шторами, выставлять и контролировать скорость вентиляции действительно удобно. Но когда что-то начинает работать нештатно… Специалист по кондиционированию в своем частном доме в каждом помещении поставил механический контроллер теплого пола и доволен как слон — круглый год пол теплый. И плевать на то, есть интернет или нет. Ложась спать выключить перед этим свет — нормально. Ночник ставят так, чтобы рукой с кровати дотянуться удобно было.
Меня вдохновляет эпизод из «Пятого элемента», когда злодей чуть не умер от обычной косточки и все его кнопки ему не помогли.
А вот список покупок — это вещь ;)
1dNDN
08.09.2019 23:37Сто комментариев и никто не обратил внимание на то, что DDNS работает только с белыми динамическими (со статическими не имеет смысла) адресами. С серыми адресами (за NAT провайдера) оно не будет работать. Для серых адресов нужно поднять VPN сервер с обратным прокси (softeither вроде умеет) или использовать что-то вроде birevia (VPN на своем vps сильно дешевле).
EGregor_IV
09.09.2019 05:27Современное понимание «умного дома» напоминает бородатый анекдот про АСУ ТП
Arson
09.09.2019 07:56Мне интересно, кто-нибудь расскажет яндексу что голосовое управление ? умному дому?..
gudvinr
Судя по вашей схеме, если пропадает доступ к облаку (пропал интернет, сломался API/DNS, роскомнадзор заблокировал, и т.д.) то умный дом превращается в полнейшего кретина, и находясь с контроллером в одной комнате нельзя сделать ничего — остаётся сидеть в темноте и ждать Алису.
Вы об этом, конечно, написали, однако это — не умный дом. Умным дом будет когда он сможет контролировать свои системы совершенно автономно и независимо.
Груду триггеров тоже довольно сложно назвать умным домом. Это просто набор правил, которые ко всему прочему принуждают пользователя самому их придерживаться.
Можно сделать систему управления с кучей параметров, не хуже чем панель управления в самолёте — утром чайник сам заваривается, туалет подогревается, свет включается. Но стоит один раз поддаться лени и сместить график, или от бессоницы пораньше вскочить — это начнёт раздражать.
Сколько датчиков не добавляй, если это просто набор правил — пользователь постоянно будет втыкаться в разные глупости "умного" дома.
По-настоящему умным дом будет когда он не будет мешать, и подстраиваться под обстоятельства. А пока обычная глупая коробка намного удобнее всех этих королевских автоматизаций.
smarthomeblog
Однозначно система управления домом должна быть автономной. Плюс все должно работать и в ручном режиме при падении контроллера — выключатели, розетки, замки и прочее.
vp7
С ручным управлением система усложняется в разЫ.
Я тоже дома нечто подобное делаю (уже давно превратилось в долгострой), но даже простая реализация режима "управление светом через контроллер УД/ручное управление с тех же выключателей" требует как минимум сбор всей проводки по схеме звезда и кучу реле/переключателей.
Либо уходить в вариант, когда на каждой розетке/выключателе/лампочке стоит немного умный блок, который отправляет запрос на контроллер УД, а при его недоступности — выполняет заранее определённое действие.
Так, кстати, можно будет облегчить проводку — тащить везде 220В + ModBus (витая пара), как к розеткам, так и к выключателям, а логику определять уже на оконечных устройствах.
Но тут уже всё упирается в цену самого устройства и размер, чтобы можно было установить в обычном подрозетнике за розеткой или за выключателем.
FDA
Сейчас делаю себе умный дом в новой квартире. Пришёл к варианту, что проще всего от всех выключателей протянуть витую пару в единый шкаф (он на балконе будет находиться). Туда же протянуть отдельные питающие линии для освещения. В результате вся электроника будет находиться в одном месте. Управлять можно будет как по локальной сети, так и через Интернет. В случае выхода из строя како-либо реле замена будет осуществляться очень просто и быстро. Пока остаётся ещё вопрос по датчикам и органам управления для тёплого пола. Здесь наверное приду к решению делать всё таки простые отдельные контроллеры для них, которые будут связываться уже с центральным контроллером.
eugef
Попробуйте Itead SONOFF MINI — ставится в подрозетник, позволяет управлять выключателем и через WiFi. Есть локальный режим работы без облачного сервера.
Сейчас сам с ним экспериментирую.
ONIKSfly
А поделитесь опытом, пожалуйста: если пропадает wifi, то физический выключатель перестаёт управлять светом самостоятельно? На странице устройства нашёл вот такой комментарий:
eugef
Физический выключатель работает всегда, независимо от того есть WiFi или нет.
sirocco
Вот поэтому, потому что настоящая система должна быть автономной, мы её коммерческой и не увидим никогда. Как данные с юзера собирать? Как подписки впаривать? Как рекламу таргетировать? Никак. А значит и незачем делать такую систему.
DarkWolf13
согласен, несколько раз сталкивался даже в «просвещенном, цивилизованном» подмосковье с полнейшим пропаданием какой либо связи с интернетом, и вот тут пресловутые связи с обллаком могут превратить умный дом чуть-ли не в тупой сарай, когда даже отопление зимой вырубается нафиг, потому голосовое управление как отдельная подсистема со связью по modbus, и созхраняется, пусть и ограниченный функционал, когда интернета нет. ну и подобные свзи с облаком могут оказаться дырой в системе безопасности для управления домиком/квартирой. С горячим приветом Алиске.
Foreglance
Думаю может по этому Икеа свою систему беспроводного управления сделала автономной, с опцией подключить существующие голосовые помощники? Свет можно включать-выключать обычным выключателем, беспроводным пультом, приложением (подключённым через внутренний wifi, есть Node-RED от стороннего разработчика и полуофициальный api).
pproger
без облака пользователя не подсадить на подписку
ArtemAnchugov
Система которая работает автономно и иногда ходит в интернет, чтобы проверить подписку — неплохой компромисс.
tbl
интернета нет условных 3 месяца и вся автономка превращается в тыкву
Caraul
Отличная была статья