Domoticz + Xiaomi - строим умный дом, введение

Пост опубликован в блогах iXBT.com, его автор не имеет отношения к редакции iXBT.com (подробнее »)
| Обзор | Kvazis House

Здравствуйте друзья

В своих обзорах устройств умного дома экосистемы Xiaomi — я уже неоднократно упоминал название Domoticz. Наконец у меня дошли руки поделится своими наработками на эту тему, и рассказать что же это такое и каким образом можно дополнить стандартные возможности умного дома от Xiaomi при помощи этой системы. В рамках одного обзора это рассказать невозможно, но нужно с чего-то начинать — поехали…

Ссылка на комплект 6 в 1 базовый набор для умного дома Xiaomi - 

GearBest  Aliexpress

Таблица (обновляется) по экосистеме Xiaomi

Для тех кто любит больше смотреть и слушать, видеоверсия этого обзора в конце текста.

Вопросы и ответы


1. Что такое Domoticz ?
Это мультиплатформенное ПО с открытым кодом ориентированное на создание системы управления умным домом. Поддерживает большое количество различных устройств разных вендоров, в том числе работает с устройствами Xiaomi.

2. Какие устройства Xiaomi могут управлятся Domoticz?
Буду говорить только о тех устройствах, которые я проверил лично. На данный момент можно управлять шлюзом Xiaomi Gateway — и всеми устройствами которыми он управляет — кнопки, датчики открытия и движения, розетки ZigBee, выключатели Aqara. Так же поддерживаются осветительные гаджеты Yeelight — RGBW и White лампы, потолочный светильник Celling Light.
Читал про работу с bluetooth сенсорами miflora.

3. Для чего мне Domoticz ?
Система имеет более гибкие возможности по настройке сценариев — например проверку активности устройства, то чего нет в MiHome, или создание переменных — которые позволяют по одному условию — например нажатие клавиши — выполнять различные действия, в зависимости от значения переменной.
Сценарии, созданные в Domoticz не зависят от китайских серверов и наличия интернет.
Domoticz расширяет функциональность устройств — например новые действия «free fall» или «alert» для кубика, или «Long Click Release» для кнопки.

4. Если я буду использовать Domoticz то не смогу работать с MiHome?
Обе системы прекрасно живут паралелльно — функциональность MiHome — полностью сохраняется, просто часть сценариев будет жить в одной системе — часть в другой. В принципе все сценарии могут жить в Domoticz.

5. Зачем мне нужен MiHome если я буду использовать Domoticz?
По крайней мере для добавления новых устройств. Выбор стоит за вами — но мое мнение — на данный момент Domoticz лучше всего использовать как дополнение к MiHome

6. Что нужно для подключения устройств Xiaomi к Domoticz?
Сразу хочу успокоить — паяльников, программаторов и танцев с бубнами не надо. Так же вам не понадобится Linux или виртуальные машины — попробовать все можно прямо на вашей рабочей винде. В дальнейшем — если будет такое желание, то систему можно будет установить на одноплатном компьютере типа Raspberry или Orange — об этом я тоже расскажу, но на начальном этапе установка системы не сложнее установки календаря огородника на 2017 год. Подключение очень легко и просто и совершенно не влияет на базовую функциональность устройств. При желании вернуть все назад — элементарно.

Подготовительные работы

Итак, что нужно для того что бы начать работать с Domoticz?


1. Резервирование IP адресов
Первым делом необходимо, тем устройствам которыми вы планируете управлять — пока это шлюз и лампы — установить статические IP адреса. Это делается на вашем домашнем роутере, при помощи таблицы клиентов DHCP которая выглядит примерно так —

и информации из вкладок Network info плагинов управления шлюзом и лампами, где указаны MAC адреса устройств

Используя эту информацию нужно прописать выдачу постоянных IP адресов этим устройствам — так как они будут управлятся именно по IP, и если адрес будет сменен — Domoticz потеряет связь с ним. Таблица резервирования адресов выглядит примерно так — 

2. Режим разработчика
Необходимо активировать режим разработчика. Для шлюза Xiaomi Gateway необходимо зайти в меню, выбрать опцию about, внизу экрана где написана версия (2.23 у меня) — нажимать на нее до тех пор пока в меню не появится две новые опции, они могут быть на китайском, в моем примере — на английском. Нажимаем на первую из двух — local area network communication protocol, в меню активируем верхний переключатель и записываем пароль шлюза.

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

Установка Domoticz

Приложение берем здесь выбираем Beta — так как именно в ней имеется поддержка устройств Xiaomi. Так как на данный момент я работаю с Domoticz под управлением Windows — то и писать про про нее. Когда ко мне доедет RaspBerry — тогда расскажу и про нее.

Установочный файл занимает чуть более 14 Мб, просто качаем запускаем — установка стандартная, со всем соглашаемся

И через минуту имеем установленный на локальной машине Domoticz, доступный по адресу 127.0.0.1:8080 либо вместо 127.0.0.1 — адрес компьютера в локальной сети. Интерфейс изначально на английском (у меня уже переключено на русский)

Язык системы, пароль для входа, координаты — меняем в меню настройки — настройки
127.0.0.1:8080/#/Setup

Добавление устройств

Для добавления устройств переходим во вкладку Настройки — Оборудование
127.0.0.1:8080/#/Hardware

Выбираем тип устройства Xiaomi Gateway, называем его как нибудь, указываем его IP адрес, который мы зарезирвировали на роутере, прописываем пароль полученный в окне режима разработчика. Порт — у меня работает на порту 54321. В вики домотикз описано подключение с указанием порта 9898

Для добавления ламп — просто добавляем устройство YeeLight LED — адреса указывать не надо, лампы подтянутся сами. 

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

Устройства

Устройств добавится НАМНОГО больше чем вы ожидаете :) Список их доступен на вкладке Настройки — устройства. 
127.0.0.1:8080/#/Devices

Например каждый датчик температуры и влажности — добавится как три устройства, отдельно температура, отдельно влажность, и все вместе. Розетки — отдельно розетка (управляемое устройство) отдельно — как датчик энергопотребления. А вот шлюз — отдельно подстветка, отдельно сирена сигнализации, отдельно будильник, дверной звонок и регулятор звука. Для того чтобы добавить устройство в список используемых — в конце строки нужно нажать зеленую стрелочку. Убрать из используемых — синюю стрелочку. То что нам не нужно — не добавляем. 
Добавленные к использованию устройства располагаются по нескольким вкладкам — 

Переключатели

На этой вкладке собраны все управляемые устройства 
127.0.0.1:8080/#/LightSwitches

Выключатели, кнопки, лампы, и прочее. Здесь мы можем включать, выключать, и делать любые действия с устройствами в ручном режиме.

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

Температура

На этой вкладке группируются климатические датчики — влажности и температуры
127.0.0.1:8080/#/Temperature

Поначалу они все называются одинаково, определить где какой — можно по их показаниям и сверке с приложением Mi Home, после чего их можно соответственно переназвать. 

Вспомогательное

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

127.0.0.1:8080/#/Utility

Сценарии

Для создания сценариев — необходимо перейти во вкладку — Настройка — Дополнительно — События. Написание сценариев доступно в двух вариантах — блочный и скриптовый на языке lua. 

Примеры сценариев

Учится работать с Domoticz лучше начинать с блоков. Тут все разбито на группы и составлять сценарии довольно просто. Пример простого сценария на блоках — включение света по обнаружению движения, и выключения через минуту после того как датчик движения перейдет в статус выключено. После составления сценария нужно назвать его, поставить галочку на опции Event active: — для включения и сохранить его.

Точно такой же сценарий на lua

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

Больше внимания конкретным сценарям я буду уделять в других обзорах, тут в качестве примера приведу сценарий, который НЕВОЗМОЖНО реализовать в Mi Home, а именно — двухкнопочный выключатель Aqara c размыканием проводов — левая кнопка будет работать по назначению — разрывать и соединять фазу, а правая — не подключенная к линии (для питания выключателя достаточно подключения только одной из кнопок) — будет включать и выключать Yeelight лампу, которая физического соединения с выключателем не имеет.

В данном сценарии будет проверятся состояние лампы Yeelight, значение самого выключателя On или Off — значения иметь не будет. Если состояние лампа отлично от Off — значит она работает, и будет выключена, а если выключена — то будет включена. 

На этом, вводную часть по Domoticz буду завершать, если тема будет интересна — то продолжу, интересного еще очень много. 

Видеоверсия обзора:

Все мои видео обзоры - YouTube

Спасибо за внимание.

Автор не входит в состав редакции iXBT.com (подробнее »)
Об авторе

46 комментариев

Zloi
Сценарии, созданные в Domoticz не зависят от китайских серверов и наличия интернет. 
И в этом его главное преимущество, т.к интернет стабильный и быстрый есть далеко не у всех. Ну и конечно подключение сторонних устройств (не сяоми).
Спасибо, как всегда очень познавательно.
1507278702933555@facebook
В Сяоми многие сценарии так же не зависят от сети — включение света кнопками и т.п. Достаточно посмотреть в конкретном сценарии в настройках Running Mode — если LAN — то интернет ему не нужен.  Тут интереснее что Домотикз умеет больше чем Mi Home. Пример с выключателем Aqara — лишь малая часть, ну и конечно работа со сторонними вендорами.
Последний раз редактировалось
2003666446388557@facebook
https://c2n.me/3WrNGGm а тут нужно регистрироваться ??
Н
я так понимаю компьютер должен быть все это время запущен?
1507278702933555@facebook
Да, потому если система вам понравится — есть смысл перевести ее на одноплатный компьютер типа rasberry или orange. Я такой как раз жду
m
У меня с 64-битной виндоус не работают команды на гейтвей (просто например включить\выключить розетку). И данные не обновляются, если не «перезапускать» опрос по таймауту.
Пытался на 4pda найти хоть какую то информацию как победить — тишина.
 
1507278702933555@facebook
У меня крутится на 64 битной 10 ке — все отлично
m
а версия билда какая? у меня последняя бета
1507278702933555@facebook
Домотикза? Я обновляю раз в несколько дней, проблем ни с одной не было, сейчас 
Version: 3.7377
Build Hash: 2b6e7192 
m
ясно… пойду попробую переустановить
m
Аллилуя. После тотальной переустановки — заработал контроль!
Последний раз редактировалось
3793494@vkontakte
Спасибо большое за Ваши статьи, в последнее время они — это главный повод заходить на ixbt.
Получается, при помощи этой связки возможно задействовать устройства сторонних производителей, например сверхдешевые wifi-реле sonoff и wifi-удлинители broadlink, а может даже и самоделки на arduino?
1507278702933555@facebook
Именно. По сонофам есть мануалы по перепрошивке, обязательно буду пробовать, по броадлинк — тоже, мне вот едет их удлинитель на 4розетки, попробую как-то прикрутить к домотикз
110021933953278770413@google
Спасибо за статью! Тоже собираюсь настраивать domoticz на raspberry, а все эти датчики от xiaomi манят своей ценой и отличным внешним видом. Очень бы хотелось побольше таких статей от Вас
d
Добавляю например датчик движения. Это ведомое устройство или главное?Если ведомое, то какое главное для него указать?В списке есть Gateway Doorbell, Gateway Volume и Wireless switch. Тоже самое не понятно при добавлении всех датчиков и кнопок. К чему их привязывать? Или они главные?
e
НЕ могу понять без хаба домотикз не может управлять лампой? Все общение через шлюз все равно идет?
e
Разобрался) Можно.
advokatb
Подскажите, пожалуйста, как в Сценариях, в режиме конструктора с блоками можно указать собственный звук для события?
Пытаюсь реализовать приветствие, когда телефон жены подключается к Wi-Fi, а значит — она дома.
Спасибо.
Последний раз редактировалось
Е
Подскажите, может сталкивались с такой проблемой:
Подключил шлюз к домотикзу, в списке устройств вижу все датчики, но вкладке «Переключатели» ничего нет.
P.S. В Используемые устройства все датчики добавил. Но безрезультатно.
С
Здравствуйте. Всё классно. В программировании я не силен. Делаю вроде бы как у Вас. Домотикс на малинке уходит в offline… переустанавливал пару раз всё равно, что то не то. Подскажите, что ещё попробовать?
С
Здравствуйте.
Подскажите пожалуйста
На малинке переключатели не найдены,
Захожу с компа или планшета переключатели есть.
Что может быть?
a
Не планируете сделать описание по добавлению камер в domoticz? Было бы интересно увидеть примеры, у Вас как вижу есть весь товарный ряд камер от сяоми)
2003666446388557@facebook
Добрый вечер. А Домотиксе нужно заводить токин шлюза?
2003666446388557@facebook
https://c2n.me/3WrNofK ЧТо это за ошибка?
1507278702933555@facebook
Устройство недоступно для управления. Или оффлайн или на другом шлюзе или изменился ИП адрес или отключен режим управления по локальной сети или у шлюза другой или изменился ключ доступа
2003666446388557@facebook
После танцев с бубнами переключатели заработали. Обновил Домотикз, обновил ключи и заново завел шлюз.
2003666446388557@facebook
http://192.168.31.94:8080/json.htm?type=command%C2%B6m=switchlight&idx=63&switchcmd=On команда не работает, выдает ошибку. где мой косяк?
2003666446388557@facebook
Добрый день. Команда http://192.168.31.94:8080/json.htm?type=command%C2%B6m=switchlight&idx=31&switchcmd=Toggle, выдает ошибку — {
«status»: «ERR»
}
2003666446388557@facebook
Xiaomi сенсор протечки воды в Домотиксе определяется как Smoke detektor, так и должно быть? Иконку поменять при этом не дает. Какой выход?
SERJnCo
А нет подобного устройства, но без участия компа?
Например, подсоединился с компа, написал сценарий, нажал «сохранить» и он «улетел» на гейт, который дальше будет сам его обрабатывать.
1507278702933555@facebook
Да, в этой роли лучше всего использовать одноплатники — типа raspberry, orange и т.д.
A
Добрый день.
Первый раз в жизни установил Domoticz, нашел шлюз xiaomi geteway (две розетка zigbee). Не могу понять в чем причина: при нажатии на иконки розеток в domoticz выдается сообщение об ошибке — «Ошибка при отправке команды переключения, проверьте устройство / оборудование!».

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

Ничего не помогает…
Возможно я изначально что-то делаю не так? Можно ссылку на подробную инструкцию установки и настройки?
Какой указывать порт? Произвольно? Или его надо устанавливать?

При настройке шлюза в Domoticz указывал номера портов: 9898; 54321; 8080; 6144; 8443
1507278702933555@facebook
Очевидно неправильно указан ключ от шлюза
A
Странно! Я уже пробовал вводить ключ напрямую в domoticz и текстовой файл, а потом копировать.
Ситуация не меняется уже в панике, думаю что что-то изначально настроил неверно…
А порт можно указывать любой?
A
Добрый день
С подключением разобрался. Действительно был неверно указан ключ geteway.

Сейчас пытаюсь написать свой первый сценарий в Domoticz.
Задача такая;
есть кнопка AQra
две розетки розетка Zigbee (для подключения обогревателей)
температурный датчик AQra

Помогите пожалуйста разобраться с настройкой сценария:
Необходимо чтобы при двойном нажатии на кнопку две розетки (обогревателя) включались и работали пока температура не достигнет 18 градусов.
При достижение указанной температуры отключались.
Если температура станет меньше 15 градусов снова включались. И так по кругу.

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

если можно, разместите сценарий схематично с помощью блоков Domoticz.
1507278702933555@facebook
Я уже несколько месяцев назад съехал на Home Assistant так что строить особо негде, да и когда на домотикз сидел, почти сразу ушел на lua а потом на dzvents. Блоки — балалайка.
A
Т.е. помочь не сможете? Или хотя бы на lua или на dzvents? У меня вообще нечего не выходит....
1507278702933555@facebook
Конечно не выходит, вы сразу хотите построить такую конструкцию, и у меня бы не вышло в начале. Начинать надо с простых сценариев — нажал на кнопку, если розетка выключена — включить, иначе — выключить. Сценарии по изменению статуса датчиков — той же температуры, посмотреть как работают пользовательские переменные — они вам пригодятся для «отключения сценария», так как в Домотикзе нет такого понятия, но можно ввести условие, по которому логика будет проверять — включать сценарий или нет.
Хотите управлять — надо потратить время и поучится.
A
Добрый день. Смотрел Ваш обзор на ip camera. Вы настаивали камеру на отправку сообщений в Telegram при движении. Возможно ли реализовать подобный сценарий в Domoticz?
Спасибо.
М
Добрый день
Развернул вчера Domoticz и вечером игрался, вопросов со шлюзом не возникло, спасибо хорошие инструкции в инете. Вопрос возник с камерой (он же bluetooth шлюз) + датчик температуры и влажности. КОторый по bluetooth коннектиться к камере. Кто коннектил?
Есть еще вопросы по wifi переключатель от Broadlink — тоже не нашел его, возможна работа?
117343415492524112802@google
Открытие портов 9898 Xiaomi Gateway
https://www.youtube.com/watch?v=AhkPdIujzM0
И
Подскажите, шлюз xiaomi будет работать с выключателями LIVOLO ZIGBEE? вышли новые выключатели со своим шлюзом, также по протоколу zigbee работают.
114435486869399953636@google
Купил xiaomi gateway 2 обновил прошивку и теперь не могу подлючиться к domoticz. Шлюз не подключается (это видно в логах). Там, как оказалось, нельзя прошивать последнюю прошивку сразу, если это сделать, закроются порты и придется вскрывать шлюз, подпаивать 3 провода к программатору(юарт по идее подойдет, но в инете есть видео, вон в комментах выше, там через ардуино), через этот программатор нужно открыть порты, через программку. Там еще есть особенность, один из проводов (rx или tx) нужно подключить после загрузки роутера. В общем это я все к чему, добавьте в топике, пожалуйста, что нужно сначала открыть режим разработчика, проверить в domoticz, и только потом можно перепрошиваться. Закроются в этом случае порты или нет, я пока не проверял.
114435486869399953636@google
А еще автору спасибо! Вдохновил на настройки)))
К
Что то у меня все коряво работает: движение штор путается если открывать не до конца. Те. открываю на 50% и шторы едут на 50%. Открываю дальше и шторы едут назад! Люстра не слушается.
105451450049671221080@google
А работает ли Domoticz со шлюзом Xiaomi Aqara?

Добавить комментарий