Программа для умного дома windows

Windows — самая популярная ОС на персональных компьютерах. Она хорошо знакома многим, поэтому MiMiSmart разработала приложение, позволяющее подключить к вашему компьютеру систему «умный дом».

Вне зависимости от вашей компетенции с использованием устройств на Android или iOS, мы решили, что приложение на Windows должно быть обязательно. Упор при разработке делался на максимальную интуитивность и легкость управлением «умного дома» людям любого возраста.

«Умный дом» на Windows способен:

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

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

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

image

В итоге получилась система, сочетающая включение/выключение света как с помощью выключателей, так и через интернет — с помощью кнопок на веб-страничке.
Как это получилось — читайте под катом.

Составляем план

Для начала я, побегав с рулеткой и бумажкой по дому, нарисовал план квартиры, а затем построил 3D модель квартиры в программе SweetHome 3D. Не скажу, что получилось идеально, но представление о квартире дает. Кому интересно, вот

фейл

файл проекта.
План был красиво отрендерен, и несколько часов мы с женой

отбирали друг у друга мышку

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

Если интересно, вот план

image

И рендер

image

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

image

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

image

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

image

Вентилятор, хоть и не является освещением, все равно отмечен на плане — он управляется диммируемым блоком(на максимальной мощности слишком шумит).

А теперь мы попробуем со всей этой фигней взлететь

Для претворения этого дерзкого плана в жизнь нам понадобится…

image

Много-много коробочек. Точнее, не их, а их содержимого:

image

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

image

Внутри — диск с программой и сам передатчик.

image

Само-собой, надо разобрать.

image

Внутри — Attiny45 в качестве USB-интерфеса, и PIC12F675:

image

Адаптер определяется как HID-устройство, поэтому работает без драйверов(точнее с системными). Конечно, без программы не обойтись, но для линукса это определенно плюс, никакого kldload noolite.so. :)
Еще — карманный пульт-передатчик.

image

С 4 кнопками, 1 из которых служит для привязки-отвязки(D), 2 — включения-выключения и регулировки яркости(A,B), и еще одна — сценарная().

image

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

image

И аккуратно разделяем его на две половинки:

image

Вот плата поближе:

image

Контроллер — PIC16F630.

image

Все остальное без изменений, разве что добавился новый тип выключателей(слева) — с тремя сценарными кнопками.

image

Плюс их в том, что можно привязать к ним сколько угодно силовых блоков, а минус — в том, что если вам надо и включать и выключать свет — нужно будет задействовать две кнопки из трех — одну на включение, другую на выключение. Остается одна, и ее приткнуть часто некуда — если ее повесить на включение лампы, то с этого выключателя ее уже не выключить, и наоборот. Мне бы был удобен выключатель с одной кнопкой включения-выключения и с двумя сценарными, вроде PU212, только наоборот.
И еще новый силовой блок — диммируемый:

image

Устанавливаем

Вместо диммера вентилятора(да-да, с моими любимыми клеммами):

image

И закрываем розеткой:

image

В разрез провода освещения:

image

Провода выключатели соединяем между собой и замуровываем в стену — они нам больше не понадобятся.
Блок временно приклеиваем к потолку термоклеем.

image

Не обращайте внимания на потолок — у меня уже год вялотекущий ремонт, как только закончу ванну — там будет натяжной потолок.
Правда, силовой блок придется перенести куда-нибудь, потому что для настройки нужен физический доступ.
Еще один — в люстру в зале:

image

И блок — в настенный светильник, это будет ночник:

image

После этого настала очередь выключателей. Тот, который на кухне — вы уже видели.

image

В зале, над диваном:

image

Еще один — около компьютера, чтобы не вставать лишний раз:

image

Около кровати:

image

И около ванной:

image

Последний выключатель занял свое место на входной двери:

image

Как оказалось, очень удобно, выходя из квартиры — выключить все освещение, чтобы оно не светилось зря, а приходя обратно — с порога включить на кухне и в зале — чтобы не бродить в потемках с пакетами.
Сервер(полуживой x120e без клавиатуры) занял свое почетное место в ящике тумбы (потому что шумит зело):

image

Управляем с компьютера

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

image

Процедура проста — нажимаем кнопку на силовом блоке, нажимаем «Привязка» в программе, после того как светодиод на блоке начал мигать быстро — подтверждает привязку еще раз нажав на кнопку блока, и выходим из режима привязки — нажимаем кнопку еще раз. Повторяем для всех блоков. Это надо сделать один раз, и при смене компьютера делать не надо — настройки сохраняются в силовых блоках. Максимальное число каналов — 8 штук.

image

Однако, такое управление с компьютера недостаточно функционально, и подходит, пожалуй, только для управления нагрузками — светотехникой, например. Ну, там, включить стробоскоп, выключить световую голову, включить прожектор, включить подсветку сцены, выключить световую заливку, включить лазер. Но не для умного дома — кому захочется каждый раз подходить к компьютеру, включать программу и тыкать мышкой?
Для нормального применения в умном доме разработчики предлагают открытое API(для windows — запуск программы с параметром -api, для остальных операционных систем — передача посылок напрямую HID-устройству).
А в качестве красивой панели управления — можно использовать проект MajorDoMo (о нем уже писали на хабре, а сам разработчик присутсвует на хабре — Jey).

Установка MajorDoMo и настройка в качестве панели управления для Windows

Установка MajorDoMo и настройка в качестве панели управления для Windows

Идем на страницу загрузки, и скачиваем последнюю версию системы. Устанавливаем (надеюсь, эта стадия вопросов не вызовет).
После запуска MajorDoMo (Пуск-Программы-MajorDoMo или c:/_majordomo/start.bat, кстати, внесите его сразу в автозапуск — сам запускаться не будет) переходим в браузере на страничку системы — localhost или по ip адресу, у меня это 192.168.1.104. В верхнем углу нажимаем на ссылку «Панель управления», заходим под стандартным логином admin/admin.
В панели управления заходим в раздел сценарии(слева, в блоке «Обьекты»), и создаем новый сценарий(если у вас несколько блоков, то можно сначала создать категорию для сценариев — Категории — Добавить категорию).
Называем его, допустим, hall_light, выбираем ранее созданную категорию, а в коде пишем следующее:

if ($params['VALUE']) {
 safe_exec('"c:\Program Files\nooLite\noolite.exe" -api -on_ch5');
   sleep(1);
} else {
 safe_exec('"c:\Program Files\nooLite\noolite.exe" -api -off_ch5');
   sleep(1);
} 

Согласно описанию команд программы управления — ключ api указывает на то, что программа запускается без графического интерфейса, ключи on_ch5 и off_ch5 — соответственно, включение и выключение нагрузки на 5 канале. Еще есть ключ sw_ch5 — он переключает состояние нагрузки, т.е. была включена — выключится, и наоборот.

image

Сохраняем сценарий, нажав кнопку «Добавить» под окном редактора. Создаем сценарии для всех каналов, которыми хотим управлять.
Переходим в пункт «Меню управления»

image

Нажимаем «добавить новый раздел», обзываем его как-нибудь, внизу жмем «добавить».

image

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

Переходим в основной интерфейс, заходим в созданный раздел и видим сбоку удобную менюшку с переключателями. Ее же можно увидеть, если перейти по адресу localhost/menu.html

image

Управление в Linux

После того, как из-за моих кривых рук винда третий раз за день зависла, я плюнул на это и перевел сервер на линукс. А еще я решил, что MajorDoMo слишком крута для моих целей — получить панель управления с кнопками.

Собираем программу управления:

sudo apt-get install libusb-1.0-0 libusb-1.0-0-dev
cd /tmp
wget https://raw.github.com/pythonchik/nooLite/master/nooLite.c
gcc nooLite.c -o noolite -lusb-1.0 
sudo cp /tmp/noolite /usr/local/bin/
sudo chmod +x /usr/local/bin/noolite 

Взято вот тут.

Управлять вот так:

sudo noolite -api -on_ch 5 # Включить 5 канал
sudo noolite -api -off_ch 5 # Выключить 5 канал
sudo noolite -api -sw_ch 1 # Сменить состояние 1 канала
sudo noolite -api -set_ch 2 30 # Установить мощность второго канала в 30%

Конечно, первые пару раз логинится по ssh на сервер для того, чтобы выключить свет консольной командой прикольно, но

жена не оценила

душа требует чего-то простого. Сделаем веб-морду. Ну, скорее веб-мордочку.

Код на php, который умеет принимать три параметра и запускать программу управления:

<?
$channel=($_GET['channel']);
$command="-".($_GET['command'])."_ch";
$level=($_GET['level']);
exec("noolite -api $command $channel $level");
?>

Создаем файл в корне веб-сервера, обзываем его index.php, копируем в него вышеприведенные строки, а ниже — ссылки, которые будут исполнять роль кнопок.

<a href="?channel=5&command=on" >Включить основной свет</a>
<a href="?channel=5&command=off" >Выключить основной свет</a> 

Добавляем CSS по вкусу. Получается что-то такое:

image

Скучный код


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>NooLite control panel</title>

<style type="text/css">
.light {
    -moz-box-shadow:inset 0px 1px 0px 0px #ffffff;
    -webkit-box-shadow:inset 0px 1px 0px 0px #ffffff;
    box-shadow:inset 0px 1px 0px 0px #ffffff;
    background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #ededed), color-stop(1, #dfdfdf) );
    background:-moz-linear-gradient( center top, #ededed 5%, #dfdfdf 100% );
    filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ededed', endColorstr='#dfdfdf');
    background-color:#ededed;
    border:2px solid #dcdcdc;
    display:inline-block;
    color:#8a8a8a;
    width:200px
    min-width: 200px
    font-family:arial;
    font-size:14px;
    font-weight:bold;
    padding:7px;
    text-decoration:none;
}.light:hover {
    background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #dfdfdf), color-stop(1, #ededed) );
    background:-moz-linear-gradient( center top, #dfdfdf 5%, #ededed 100% );
    filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#dfdfdf', endColorstr='#ededed');
    background-color:#dfdfdf;
}.light:active {
    position:relative;
    top:1px;
}


.dark {
    -moz-box-shadow:inset 0px 1px 0px 0px #dedede;
    -webkit-box-shadow:inset 0px 1px 0px 0px #dedede;
    box-shadow:inset 0px 1px 0px 0px #dedede;
    background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #969496), color-stop(1, #a5a6a3) );
    background:-moz-linear-gradient( center top, #969496 5%, #a5a6a3 100% );
    filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#969496', endColorstr='#a5a6a3');
    background-color:#969496;
    border:2px solid #bebfbd;
    color:#ffffff;
    width:200px
    font-family:arial;
    font-size:14px;
    font-weight:bold;
    padding:7px;
    text-decoration:none;
}.dark:hover {
    background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #a5a6a3), color-stop(1, #969496) );
    background:-moz-linear-gradient( center top, #a5a6a3 5%, #969496 100% );
    filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#a5a6a3', endColorstr='#969496');
    background-color:#a5a6a3;
}.dark:active {
    position:relative;
    top:1px;
}

</style>
<head>
<body>
<h1>NooLite control light panel</h1>

<div>
<p><h3>Зал:</h3></p>
<p>
<a href="?channel=5&command=on" target="invisible" class="light">Включить основной свет</a>
<a href="?channel=5&command=off" target="invisible" class="dark">Выключить основной свет</a> 
</p>
<p><h3>Кухня:</h3></p>
<p>
<a href="?channel=3&command=on" target="invisible" class="light">Включить свет №1</a>
<a href="?channel=3&command=off" target="invisible" class="dark">Выключить свет №1</a> 
</p>
<p>
<a href="?channel=4&command=on" target="invisible" class="light">Включить свет №2</a>
<a href="?channel=4&command=off" target="invisible" class="dark">Выключить свет №2</a> 
</p>
<p><h3>Туалет:</h3></p>
<p>
<a href="?channel=2&command=on" target="invisible" class="light">Включить свет</a>
<a href="?channel=2&command=off" target="invisible" class="dark">Выключить свет</a> 
</p>
<p>
<a href="?channel=1&command=on" target="invisible" class="light">Включить вентиляцию</a>
<a href="?channel=1&command=off" target="invisible" class="dark">Выключить вентиляцию</a> 
</p>
<iframe name="invisible" style="border:0; width: 0; height: 0;"></iframe>


</body>
</html>

<?
$channel=($_GET['channel']);
$command="-".($_GET['command'])."_ch";
$level=($_GET['level']);
exec("noolite -api $command $channel $level");
?>

Теперь все отлично, но чего-то не хватает. Неудобство — то, что при таком использовании устройство, которое показывает страничку, обязательно должно находиться в домашней сети. А если это телефон, на котором выключен Wi-Fi?
Разблокировать, включить WiFI, дождаться включения, зайти на страничку, нажать кнопку, выключить WiFI…

Настраиваем доступ из интернета

Модифицируем немного код для того, чтобы нельзя было выполнить произвольный код, передав нужный GET-параметр.

Острожно, страшнейший быдлокод. Пишу на PHP второй раз в жизни

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

<?
if(isset($_GET['channel']) && $_GET['channel'] == '1'){
$channel=($_GET['channel']);
}
if(isset($_GET['channel']) && $_GET['channel'] == '2'){
$channel=($_GET['channel']);
}
if(isset($_GET['channel']) && $_GET['channel'] == '3'){
$channel=($_GET['channel']);
}
if(isset($_GET['channel']) && $_GET['channel'] == '4'){
$channel=($_GET['channel']);
}
if(isset($_GET['channel']) && $_GET['channel'] == '5'){
$channel=($_GET['channel']);
}

if(isset($_GET['command']) && $_GET['command'] == 'on'){
$command="-".($_GET['command'])."_ch";
}
if(isset($_GET['command']) && $_GET['command'] == 'off'){
$command="-".($_GET['command'])."_ch";
}
if(isset($_GET['command']) && $_GET['command'] == 'set'){
$command="-".($_GET['command'])."_ch";
}

if(isset($_GET['level']) && $_GET['level'] == '0'){
$level=($_GET['level']);
}
if(isset($_GET['level']) && $_GET['level'] == '20'){
$level=($_GET['level']);
}
if(isset($_GET['level']) && $_GET['level'] == '40'){
$level=($_GET['level']);
}
if(isset($_GET['level']) && $_GET['level'] == '60'){
$level=($_GET['level']);
}
if(isset($_GET['level']) && $_GET['level'] == '80'){
$level=($_GET['level']);
}
if(isset($_GET['level']) && $_GET['level'] == '100'){
$level=($_GET['level']);
}

exec("noolite -api $command $channel $level");

Остальная страница остается без изменений. Для дальнейшего нам потребуется любой сервер с белым IP, и возможностью доступа по SSH. Настраиваем проброс портов.
На внешнем сервере выполняем:

echo "GatewayPorts=yes" >>  /etc/ssh/sshd_config

На локальном сервере(в который подключен адаптер, и на котором веб-сервер слушает порт 80) выполняем:

ssh vvzvlad@servername -R 8080:localhost:80 

Теперь, открыв страницу http://servername:8080/ мы увидим ту же самую локальную страницу, доступную из интернета.Время срабатывания команды — около секунды.

Последний штрих — защищаемся от обрыва соединения(на локальном сервере):

cd ~/.ssh/
sudo ssh-keygen -t dsa #генерируем ключ для входа без пароля
scp id_dsa servername:~/.ssh/authorized_keys #копируем его на сервер
echo "PubkeyAuthentication yes" >> /etc/ssh/ssh_config
ssh servername -t echo "PubkeyAuthentication yes" >> /etc/ssh/ssh_config #разрешаем логин по ключу

И помещаем в автозапуск любым удобным вам способом:

autossh vvzvlad@servername -R 8080:localhost:80

Вообще, компьютер тут не нужен, для «управления через веб» хватит любого роутера с USB(благо, они все сейчас работают на линуксе). Делается абсолютно тоже самое — собирается програмка, пишется настраиваемый интерфейс(даже php не надо, можно вполне обойтись любым языком, или даже bash, исполняемым через CGI), и настраивается проброс порта на единый сервер(от него не требуется ничего, кроме как работать в качестве туннельного сервера и авторизовывать пользователя — чтобы по ошибке свет не выключали, набрав не тот адрес). Пользователь получает маленькое устройство без вентилятора, которое обеспечивает управление через веб-интерфейс в локальной сети, а при регистрации на сайте производителя — личную веб-страничку с авторизацией по паролю. Логинишся — и получаешь возможность управления нагрузками из любого места.

Пишем приложение для Android

Ну как, пишем. Ни строчки кода написано не было, не считая ссылок. Если это кому-то интересно, я лучше напишу отдельную статью, чем буду тут еще простыню делать. Коснусь только основных моментов:
Идем на beta.appinventor.mit.edu, создаем новое приложение. Закидываем в форму несколько кнопок, чтобы получилось нечто такое:

Не забываем добавить компонент Web. Жмем кнопку «Open in block editor». Скачиваем файл, запускаем его(нужна джава).
Перетаскиванием блоков по экрану и соединением их, добиваемся того, чтобы нажатие каждой кнопку приводило к запросу на соответствующий адрес. Как-то так:

Потом копируем программу на телефон(Package for phone — download to this computer). Запускаем.

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

Делаем световой будильник или управляемый ночник

Существует целый класс устройств, чье предназначение заключается в том, чтобы в определенное время плавно начать поднимать яркость светильника — световые будильники. Так как яркость лампы поднимается плавно, и в течении длительного времени (как правило, от 30 минут до часу), то яркий свет не бьет по глазам, а позволяет спокойно проснуться. Производит такие будильники, например, филипс. А мы чем хуже? Достаточно немного лишь написать небольшой скрипт.

Тоже не самый оптимальный код. Смотреть на свой страх и риск

#!/bin/bash
channel=8 #канал ночника
s=0
case $1 in
"inc")
i=0
e=100
[[ $4 == v ]] && echo Шагов: $[100/$3], Время работы $[$2*100/$3] секунд

while [ $i -lt $e ]
do
  noolite -api -set_ch $channel $i
  i=$[$i+$3]
  s=$[$s+1]
  sleep $2
  [[ $4 == v ]] && echo Шаг $s, текущая яркость: $i
done
[[ $4 == v ]] && echo Конец программы.
exit 1
;;
"dec")
i=100
e=0
[[ $4 == v ]] && echo Шагов: $[100/$3], Время работы $[$2*100/$3] секунд
while [ $i -ge $e ]
do
  noolite -api -set_ch $channel $i
  i=$[$i-$3]
  sleep $2
  s=$[$s+1]
  [[ $4 == v ]] && echo Шаг $s, текущая яркость: $i
done
[[ $4 == v ]] && echo Конец программы.
exit 1
;;
"help")
echo "noolite-candle [inc,dec] second step v"
echo "inc - постепенное увеличение яркости"
echo "dec - постепенное уменьшение яркости"
echo "second - промежуток между измениями яркости в секундах"
echo "step - шаг изменения яркости (1-100)"
echo "v - показывать отчет по каждому изменению"
echo "например noolite-candle inc 2 1 - увеличение яркости с 0 до 100 с шагом в 1(1,2,3,4...) каждые 2 секунды. Время работы 200(2*100) секунд."
exit 1
;;
*)
echo "Используйте параметр help для получения справки"
exit 1
;;
esac

Как им пользоваться — ясно из кода, или из встроенной справки, если запустить скрипт с параметром help.
Например, если нам надо проснуться в 9 утра, то его следует запустить в 8.30 с такими параметрами:

./noolite-candle inc 18 1 

Или в 7 утра, вот так:

./noolite-candle inc 36 1 

При такой команде яркость будет постепенно нарастать в течении часа.

Тут видны резкие изменения яркости, потому что была использована команда noolite-candle inc 1 10 — т.е. за один шаг яркость увеличивалась на 10%. Если принять за шаг 1%, то изменение яркости очень плавное.
И конечно, в качестве «ночника» может выступать сколько угодно светильников, или даже люстра, если в ней лампы накаливания или диммируемые энергосберегайки.

Плюсы

  • Стоимость

Всего было использовано:
1 адаптер для компьютера — PC118 — $50
5 силовых блока SL-111-200 (для обычных светильников) — $17,5*5
1 силовой блок SN-111-200 (для ночника) — $17,5
1 силовой блок ST-111-200 (для вентилятора) — $17,5
3 пульта управления PU-313-1 — $16,1*3
3 пульта управления PU-312-1 — $16,1*3
1 пульт-брелок PN313-1
Таким образом, затраты составили: 50+17.5*7+16.1*6=$270

Аналогичное по характеристикам электроника протокола X10, судя по расчетам на сайте (5 точек управления освещением, 2 точки с изменением яркости, управление с настенных беспроводных выключателей, управление с компьютера и телефона) обойдется в 24140 рублей.
Конечно, надо учесть еще стоимость компьютера-сервера, но, думаю, возможность найти старый компьютер или ноутбук проблем не составляет.
Как видно, решение получилось довольно бюджетное.

  • Легкость в установке и настройке

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

  • Одновременная работа двух систем

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

  • Возможность установки без переделки и расширяемость

Нет необходимости долбить стены, прокладывать управляющую проводку, или вести питание для каждой точки к щитку. Конечно, решение не такое надежное и гибкое, как «классическая» система умного дома — когда все потребители в виде освещения и систем подключаются напрямую к управляемым реле, расположенным в щитке, а выключатели по слаботочной проводке эти самые реле коммутируют. Подробнее — можно прочитать тут и тут. Но зато оно и не такое трудоемкое и дорогое.
К тому же, не надо продумывать план идеально заранее — в любой момент легко добавить еще один выключатель или блок управления. Легко забрать с собой при переезде.

Минусы

  • Сенсорные выключатели

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

  • Отсутствие обратной связи

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

  • Малые возможности настройки.

Я уже об этом писал. При использовании сценарных выключателей — приходится занимать 2 кнопки из 3 только под «выключение-включение». Я бы добавил вторую функцию(например, на жест от одного выключателя к другому, или на двойной клик), или увеличил бы количество выключателей.

Итоги

Отличное решение начального уровня для построение системы управление освещением и нагрузками. Такое вполне себе «конструктор для взрослых». Хочешь — светильники через интернет включай, хочешь — ночник управляемый делай, хочешь — умный дом с голосовыми командами и включением света по расписанию.
Мне нравится :)

Если у вас нет аккаунта на Хабрахабре, вы можете читать и комментировать наши статьи на сайте BoxOverview.com

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

Что вы ожидаете от умного дома (можно выбрать несколько вариантов)?

66.95% Ручное управление освещением локально или удаленно557

77.76% Автоматическое управление освещением (включение света при входе в комнату, регулировка в зависимости от времени суток и тд)647

79.33% Автоматическое управление бытовыми системами (кондиционер, теплый пол, вентиляция, и т.д.)660

50.48% Удаленное или автоматическое управление бытовой техникой — стиральные машины, роботы-пылесосы, телевизоры, чайники, печки, микроволновки и т.д.420

84.01% Сигнализация и видеонаблюдение с удаленным доступом. Датчики протечек, газа, дыма, пожара, проникновения699

63.46% Лог событий, включая аудио- и видео-записи.528

43.27% Общение с человеком — голосовые команды и ответы на них360

46.03% Системы авторизации — замена ключам. Доступ в квартиру по RFID, отпечаткам пальцев, паролю.383

74.4% Данные использования воды, электричества, газа. Расчет потребления, прогнозы, отображение для пользователя, и передача информации в обслуживающую организацию619

Проголосовали 832 пользователя. Воздержались 133 пользователя.

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

В каком направлении двигаться разработчикам?

37.21% Обратная связь — возможность узнать статус нагрузки307

15.88% Тактильно-приятные выключатели, с кнопкой131

18.18% Панель управления для локальной сети и интернета150

18.55% Датчики движения153

10.18% Датчики температуры84

Проголосовали 825 пользователей. Воздержались 167 пользователей.

Программное обеспечение на базе Windows

Программное обеспечение для поиска и програмирования устройств TIS

Поиск устройств V4.15 (новый)

Это новое конфигурационное ПО для программирования всех устройств TIS-BUS и TIS-AIR.

TIS Device Search Software

TIS DevSearch Windows V10.50

This is new configuration software for programming all TIS-BUS and TIS-AIR devices.

TIS DevSearch Mac V10.48

This is new configuration software for programming all TIS-BUS and TIS-AIR devices.

Программное обеспечение для настройки умного дома TIS

Поиск устройств V1.85 (старый)

Это конфигурационное ПО используется для программирования всех устройств TIS-BUS. Подходит для старых устройств, выпущенных до 2017 года.

TIS Smart Control - программное обеспечение для Windows

ПО домашнего управления V3.5

ПО на базе Windows с красивой графикой используется для управления домашним освещением, кондиционером, шторами и другими приборами.

TIS Hotel GRMS - программное обеспечение для управления номерами

ПО для управления отелем V2.08

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

TIS Hotel Card программное обеспечение для операций с картами доступа

Hotel Old Access Cards Management Software

Это ПО используется для управления картами номеров, регистрации заезда, регистрации отъезда, мастер-карт и авторизации для каждого типа карт.

TIS Hotel Card checkin checkout management softwar

TIS New Hotel Card Managment

Это ПО используется для управления картами номеров, регистрации заезда, регистрации отъезда, мастер-карт и авторизации для каждого типа карт.

Программное обеспечение TIS BMS

ПО СУЗ (Система управления зданием) V2.14

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

TIS Device Search Software

TIS BMS Windows V3.05

TIS BMS Mac V3.05

TIS Firmware & Data & Transfer Tools

TIS Firmware & Data & Transfer Tools V

This software is used for upgrading product firmware to add new features or solve bugs in firmware.

TIS Firmware & Data & Transfer Tools

Smart City Control V1.07

IOS/MAC Apple

Интеллектуальное управление умным домом TIS  для IOS и IPAD

Смарт управление Tis автоматизации Про (для IPAD)

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

Интеллектуальное управление автоматизацией Tis

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

TIS WIFI ЗВОНОК

Используйте умный дверной звонок, чтобы открыть дверь из любого места. Подключите дверной звонок к Wi-Fi или локальной сети Интернет, чтобы увидеть посетителей через камеру и поговорить с ними через свой смартфон.

Приложение дверного телефона Oberon

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

Приложение для Android

Автоматизация умного дома TIS

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

Application Android TIS

TIS Smart Home Automation apk file

Application Android TIS

TIS Smart Home Automation apk file (for tablet)

AC Gateway Bluetooth Configuration

TIS WIFI ЗВОНОК

Используйте умный дверной звонок, чтобы открыть дверь из любого места. Подключите внешнюю камеру дверного звонка к Wi-Fi или локальной сети Интернет, чтобы увидеть и поговорить с посетителями через ваш смартфон.

Интеллектуальное управление TIS

Автоматизация умного дома TIS

Продукты TIS для умного дома также обмениваются данными через ALEXA. Просто озвучивайте свою команду на устройство, вот и все.

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

Это умно, просто и удивительно.

Для начала перейдите на страницу портала TIS.

(http://alexaconfiguration.tissmarthome.com) и создайте учетную запись участника. Затем перейдите на страницу НАСТРОЙКИ и добавьте свой адрес идентификатора подсети, идентификатор устройства и номер канала, чтобы соединить освещение вашей комнаты, кондиционер, систему безопасности, музыку, телевизор, DVD, RGB Color and Moods и попросите Alexa «Alexa, откройте T.I.S. для регистрационного кода», чтобы получить регистрационный код. Сохраните регистрационный код в последнем поле на странице НАСТРОЙКИ.

По мере развития оказалось, что сетей из умных гаджетов и узлов на основе Arduino или других открытых микрокомпьютерных платформ недостаточно, чтобы построить полноценную систему умного дома. Нехватало центральных процессоров и качественных пользовательских интерфейсов, которые играют заметную роль в популярных проприетарных системах умного дома, таких как Control4 или Vantage. Благодаря усилиям энтузиастов по всему миру стали появляться открытые программные платформы, которые решают и эту проблему. В настоящее время среди таких DIY-платформ (Open-source DIY home automation platform) наиболее известны:

  • OpenHAB — одна из наиболее популярных открытых платформ с большим и активным сообществом разработчиков и последователей. Платформа реализована на Java и из-за этого считается тяжеловесной. Вместе с тем, именно это обстоятельство позволяет разворачивать OpenHAB на любых системах с поддержкой Java (Windows, Linux, MacOS, Raspberry Pi, PINE и др.). Разработано большое количество драйверов под эту платформу для подключения самого разного оборудования. Поскольку платформа не ориентирована ни на одного производителя, то наличие драйвера под определенное устройство определяется в большей степени его популярностью. Чем более известен и распространен на рынке конкретный гаджет, тем выше вероятность, что под него уже есть (или скоро будет написан) драйвер под OpenHAB. Система имеет достаточно аскетичный дизайн, поддерживает голосовое управление, мобильные приложения для iOS и Android, интегрируется с Apple HomeKit (то есть управление возможно с устройств Apple вообще без установки каких-либо приложений). Имеется возможность увязать друг с другом события, происходящие в доме, и настроить поведение устройств в зависимости от таких событий.
  • MajorDoMo — динамично развивающаяся открытая платформа, имеющая большое сообщество русскоязычных пользователей. MajorDoMo поддерживает множество протоколов связи и большое количество оборудования от различных производителей. В целом концепция MajorDoMo не сильно отличается от концепции OpenHAB, но она реализована на совершенно другой программной архитектуре. Здесь используется Apache + PHP + MySQL, что также позволяет развертывать MajorDoMo на множестве разных платформ (Windows, Linux, Raspberry Pi). Поддерживается голосовое управление, есть возможность интеграции с Apple HomeKit. В целом развитие MajorDoMo подпитывается теми же идеями, которые реализуются в системе OpenHAB. Вместе с тем, MajorDoMo больше ориентируется на русскоязычное сообщество, а в плане архитектуры обладает несколько большей гибкостью, но и требует более специфического программирования при построении системы умного дома. MajorDoMo может брать на себя любые фунции по управлению устройствами, реагировать на события, рассылать уведомления. Сервер с системой MajorDoMo по сути берет на себя роль главного процессора в системах с централизованной архитектурой.
  • ioBroker — один из «новичков», который быстро завоевывает авторитет и популярность, благодаря своей продуманной и универсальной архитектуре. ioBroker разработан на платформе Node.js (также как и HomeBridge). Благодаря этому, его можно развернуть и запустить практически на любой операционной системе или виртуальной машине: Windows, Mac, Linux, в контейнере Docker и даже на Android. Это позволяет масштабировать систему исходя из потребностей. Система имеет визуальный редактор планов помещений. Легко интегрируется с любыми MQTT-серверами (или брокерами), а также сама выступает в качестве MQTT-сервера/брокера для IoT-устройств, поддерживающих протокол MQTT. Большой упор сделан на возможности удобной настройки и конфигурации, что по сути составляет не менее половины функциональности всей системы, в отличие от OpenHAB или, например, FHEM, где настройки задаются посредством конфигурационных файлов. Имеется русскоязычное сообщество.
  • IoT Manager — это программное обеспечение для домашней автоматизации, которое не является полноценной системой управления умным домом, но может использоваться как средство мониторинга и передачи простых команд посредством протокола MQTT. Продукт сфокусирован на визуализации управления, отображении графиков и пр. на мобильных устройствах. Сами мобильные приложения не имеют собственной логики, которая должна быть реализована исключительно в оконечных устройствах. Приложение обращается непосредственно к устройствам с использованием шины MQTT и через нее же получает ответы, которые тут же визуализирует в графическом виде. IoT Manager представляет из себя гибридное (не нативное) приложение, созданное с помощью Ionic Framework, на HTML5 и AngularJS, обмен с брокером реализован на Paho, который обеспечивает полное соответствие стандарту MQTT.

  • Domoticz — еще одна широко известная и распространенная система управления умным домом. В сравнении с другими популярными системами, такими как OpenHAB или MajorDoMo, является предельно легковесной (не требующей значительных ресурсов в процессе работы) и при этом обеспечивает все основные функции. Domoticz написана на C/C++ с очень достойным графическим интерфейсом. Минусом данной системы можно считать ограниченный набор драйверов/модулей для поддержки различного оборудования. Система может быть развернута под Windows, Linux, MacOS, Raspberry Pi и др.
  • Home Assistant (HASS) — одна из новых разработок с быстро растущим и вполне дружелюбным сообществом. Система написана на Python по идеологии, аналогичной Domoticz. Декларируется максимальная простота при широкой функциональности. Возможности системы расширяются с помощью плагинов. Для конфигурирования используется YAML. Система развертывается под Windows, Linux, MacOS, Raspberry Pi и др.
  • HomeGenie — мощная и полнофункциональная система для домашней автоматизации. Написана с использованием C#, Python и Ruby. Включает сервер с web-интерфейсом и мобильные приложения для iOS и Android. Сервер может работать под управлением Windows, Linux, MacOS. HomeGenie поддерживает протоколы X10, Insteon, Z-Wave, Philips Hue, UPnP/DLNA, RFXCom, KNX, может взаимодействовать с внешними Web-сервисами и интегрировать все в рамках единого подхода. У системы есть неплохая документация, поддерживаются различные API для интеграции и добавления собственных расширений.
  • FHEM — довольно популярная в Германии система, написанная на PERL. Система относительно проста, но вполне пригодня для автоматизации основных задач по управлению умными устройствами. Представляет из себя сервер, доступ к которому осуществляется посредством Web-интерфейса. Работает под управлением Linux, Windows или MacOS.
  • Misterhouse — еще одна система автоматизации, написанная на PERL. Работает под управлением Linux, Windows или MacOS. Это одна из старейших открытых платформ, разработка которой начиналась еще в 1998 году. Поддерживает довольно широкий спектр протоколов и оборудования. Легко поддается глубокой кастомизации.
  • Homebridge — это небольшой Node.js сервер, который эмулирует Apple Home Kit API и позволяет, благодаря сотням доступных плагинов, управлять с помощью устройств Apple устройствами, которые изначально не были предназначены для интеграции с Apple HomeKit. При этом основным достоинством данного сервера является то, что он может быть запущен практически на любом железе (обычный домашний ПК, небольшой сервер, микрокомпьютер типа RaspberryPi и т.п.).

Данный список является далеко не полным. Энтузиастами по всему миру также разработаны такие системы как: Calaos, DomotiGa, Freedomotic, Jeedom, MyController.org, PiDome, Pimatic и другие.

Важно понимать, что все перечисленные выше системы представляют из себя только лишь программные оболочки и предназначены для того, чтобы управлять каким-то оконечным оборудованием, из которого и состоят подсистемы умного дома. Концепция DIY предполагает совместное использование самых разнообразных устройств, в качестве которых могут выступать и умные гаджеты от известных производителей, и noname-оборудование со всех концов света, и какие-то подсистемы и исполнительные механизмы, полностью собранные пользователем самостоятельно из отдельных блоков и компонентов. Такая программная оболочка должна быть установлена на каком-то компьютере, в качестве которого может выступать обычный ПК или небольшой сервер. Очень часто в качестве упомянутого «сервера» принято использовать недорогие микрокомпьютеры типа Raspberry Pi или подобные.

Данный микрокомпьютер с установленной на нем программной составляющей становится по сути центральным процессором умного дома и берет на себя задачи по управлению логикой работы и взаимодействию различных подсистем умного дома. Для непосредственного взаимодействия с самими этими подсистемами управляющий микрокомпьютер должен быть оснащен соответствующими интерфейсами (Z-Wave, ZigBee, USB, Ethernet, Modbus, 1-Wire и т.п.).

EasyHome — управление умным домом с iOS, Android, Windows

Программа для управления всеми системами Умного Дома. Устанавливается на планшетный компьютер на Windows, Android, iOs. Подключается к контроллеру через Wi-Fi или интернет (протокол связи ModBus TCP).
Работает с практически любыми промышленными контроллерами, в том числе Beckhoff, ОВЕН, EasyHomePLC.

Интерфейс (внешний вид) программы полностью изменяем. Иконки, фоны, расположение элементов, надписи — всё изменяется самим пользователем или установщиком. Возможно создавать разный интерфейс для разных устройств. Количество устройств, на которые устанавливается программа в пределах одного контроллера, не ограничено.

Программа может быть установлена и настроена самостоятельно, не требуются знания программирования или обучение. Инструкции представлены с разделе «Документация» этого сайта.

  • управление системами освещения (в том числе разноцветными светодиодными лентами и лампами с изменяемой яркостью свечения)
  • управление климатом каждого помещения
  • связь с системеми охранной и пожарной сигнализации
  • связь с системами вентиляции и кондиционирования
  • контроль потребляемой мощности по нескольким фазам с автоотключением неприоритетных нагрузок
  • управление розетками и прочими электроприборами
  • установка на любое количество устройств, управление через Wi-Fi или интернет
  • контроль и предотвращения аварий: протечка воды, утечка газа, электроаварии
  • сбор информации со счётчиков воды, газа и электричества
  • управление по сценариям и предустановкам
  • доступ к контроллеру через локальную сеть или через внешний IP адрес (автовыбор при запуске программы)
  • отображение изображения с IP видеокамер (в версии для Windows, поддерживается видеопоток MJPEG и H264, не все модели камер)
  • возможность запуска разных интерфейсов (запрос при запуске программы)
  • интеграция с Open Hab для реализации голосового управления

… и многое другое!

Скачать EasyHome для iOS (iPhone и iPad): EasyHome для iPhone и iPad (ссылка на Apple AppStore)

Скачать EasyHome для Android: EasyHome для Android 

Чтобы загрузить в приложение демонстрационную версию интерфейса, надо в окне добавления конфигурации набрать адрес:

http://easysmartbox.com/downloads/EH_DEMO.ehpa

Новое в версии EasyHome 7.9.8 для iOS (декабрь 2019):

  • Добавлена поддержка H264 для ip камер
  • Появилась возможность работы приложения как sip-клиент
  • Улучшена страница загрузки проекта
  • Добавлена поддержка http для загрузки проекта с сервера
  • Улучшено отображение шрифтов на iOS
  • Появилась возможность настройки второго (альтернативного) ip адреса в меню подключения
  • Появилась возможность загрузки проектов через iCloud и передача между устройствами через Air Drop
  • Множество мелких улучшений и исправлений в работе программы

Новое в версии EasyHome 7.9.5 для iOS:

  • Добавлен удобный контрол светодиодной ленты RGB с выбором цвета
  • Улучшена функция автомасштабирования элементов
  • Улучшена панель аварийных сообщений
  • Множество мелких улучшений и исправлений в работе программы

Новое в версии EasyHome 7.9.1 для iOS:

  • Загрузка файлов конфигурации через интерфейс самой программы
  • Выбор конфигурации при запуске и быстрая смена интерфейса
  • Новый контрол управления RGB лентами
  • Функция автоповорота экрана (удобно для iPhone)
  • Прочие мелкие улучшения и исправления

Демо версия EasyHome 7.9.5 для Windows

Как пользоваться ДЕМО версией:

1. Скачать архив

2. Распаковать архив в любое место (например, на рабочий стол)

3. Запустить файл EasyHomeEditor.exe

В ДЕМО версии можно делать следующее: менять интерфейс, двигать элементы, перемещаться между окнами и т.д. Но поскольку связи с контроллером нет, то икноки не будут меняться при нажатии, а все значения (температуры, токи, состояния) будут равны нулю. Для возможности подключения к контроллеру надо приобрести лицензию (информация о цене — внизу этой страницы).

Новое в версии EasyHome 7.8:

  • Возможность отправки контроллером произвольных смс-сообщений на русском языке для контроллеров ОВЕН (ранее было доступно только для Beckhoff)
  • Появились свободные функции. Можно задавать любую логику работы входов и выходов через интерфейс EasyHome. Ранее это было доступно только через изменение кода контроллера нашим инженером.
  • Появились мультисцены
  • Добавлен удобный драйвер для работы с инфракрасными передатчиками по интерфейсу RS485. 4 режима управления любыми кондиционерами через ИК-команды.
  • Возможность подключения инмерителя параметров электросети к контроллеру ОВЕН на одну или три фазы.
  • Можно подключать до 10ти модулей расширения ОВЕН в любой комбинации, общее количество дискретных входов и выходов может быть теперь до 255.
  • Появился астрономический датчик освещённости по высоте солнца.
  • Всякие мелкие улучшения.

Новое в версии EasyHome 7.7:

  • Многочисленные улучшения интерфейса
  • Увеличение скорости работы на системах Windows 10 и iOS 9
  • Появилась возможность перекрывания разных стояков водоснабжения при срабатывании разных датчиков протечки воды
  • Появилась возможность постановки на охрану произвольного набора датчиков движения
  • Появилась функция мультиинтерфейс — предзагрузочное графическое меню в котором можно выбрать, какой именно интерфейс запустить

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Microsoft windows maintenance winsat
  • Directx updater windows 10
  • После установки windows 10 медленно загружается
  • Как восстановить владельца trustedinstaller в windows 10
  • Download windows 10 disc image iso file