Сентябрь 8

SmartHome. Xiaomi MiHome и Domoticz.

Попробуем собрать проект умного дома на устройствах компании Xiaomi и сервере управления Domoticz.

пару слов о Domoticz

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?

 


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

Итак, что нужно для того что бы начать работать с Domoticz?
Резервирование IP адресов
Первым делом необходимо, тем устройствам которыми вы планируете управлять — пока это шлюз и лампы — установить статические IP адреса. Это делается на вашем домашнем роутере, при помощи таблицы клиентов DHCP и информации из вкладок Network info плагинов управления шлюзом и лампами, где указаны MAC адреса устройств. — так как они будут управлятся именно по IP, и если адрес будет сменен — Domoticz потеряет связь с ним. Таблица резервирования адресов выглядит примерно так —

Режим разработчика

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

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

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

Для добавления устройств переходим во вкладку Настройки — Оборудование
127.0.0.1:8080/#/Hardware (вместо 127.0.0.1 — адрес вашего Domoticz)
Выбираем тип устройства 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 — значит она работает, и будет выключена, а если выключена — то будет включена.

видео

Оригинал тут — линк.


Можно доработать обычный унитаз, например герконом от Xiaomi на крышке, чтобы при закрывании смывалась вода. Или дописать сценарий, чтобы вода смывалась после выключения света. Нужно: Геркон, + электромагнитный клапан.
Сценарий: Крышка закрылась ( геркон замкнулся), Арудино открывает электромагнитный клапан, вода пошла.

www.youtube.com/c/AlexKvazis

Подключил RM3 Pro к Domoticz через RM Bridge. Работает отлично. Реализовал добавлением сцены. Выбираем тип «Группа» и вставляем соответсвующие ссылки из Rm бриджа в формы действия при включении и выключении. Вот и все!

Вы уверены что надо делать статику в настройках dhcp? Как то странно, всю жизнь в дебиане делали в /etc/network/interfaces
Настройка сетевых интерфейсов и маршрутизации с помощью iproute2 (linux route interface)

nano -wuc /etc/network/interfaces

Находим свой интерфейс.

# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp

Меняем на
allow-hotplug eth0
iface eth0 inet static
address 192.168.0.222
netmask 255.255.255.0
gateway 192.168.0.1

Ну и все, ну еще скрипт можно запускать при поднятии интерфейса

Можно еще рулить/использовать как датчики esp8266, прошив esp easy, навесив на него датчики или исполняющие механизмы. Список того, что можно навесить здесь: www.letscontrolit.com/wiki/index.php/ESPEasy

Кнопки и выключатели Aqara (я говорю про беспроводные, с проводными все понятно) — имеют режим запуска сценариев — LAN, который в отличии от сценариев с запуском Cloud — прекрасно работает и без Китая и даже без интернета.
Сценарии типа — Выключатель/Кнопка + Yeelight (лампа или светильник), кнопка/выключатель — розетка, кнопка/выключатель — дублирование проводного выключателя.

Датчик «Я дома» сделан при помощи приложения Geofence for domoticz для android (https://www.domoticz.com/forum/viewtopic.php?f=37&t=6099):

получилось ли у вас использовать показания датчика Xiaomi температуры и влажности в качестве управляющего сигнала в «событиях»?
Например, чтобы при падении влажности ниже определенного уровня, система включала увлажнитель. Как проверить, какое значение переменной и тип возвращает датчик: число или строчку?
Что я делаю не так?

С датчиком открытия двери Xiaomi все работает. Настроил, чтобы при срабатывании датчика, Broadlink подавал сигнал на умный выключатель Sesoo и включался свет в коридоре. Работает как часы.
Заранее спасибо!
PS. А еще наткнулся на интересный проект RFLink для Domaticz и подобных систем, при помощи него можно принимать сигналы от устройств, работающих на 433Мгц (датчики температуры, охранные датчики). В планах разработчика внедрить функцию и передачи сигналов, то есть нужда в использовнии Broadlink вообще пропадет. Можно купить готовый шилд, а вот здесь и здесь описано как сделать все самому.
Уже заказал детали для сборки, так что, как только придут, отпишусь о его работе.

 



Copyright 2019. All rights reserved.

Опубликовано 08.09.2017 admin в категории "Без рубрики

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