Что делают системы домашней автоматизации
Домашняя автоматизация — это расписания и автоматическая работа освещения, отопления, кондиционирования, оконных жалюзи, охранных систем и другого оборудования дома. Второй её смысл — удалённое управление: ключевые функции дома можно контролировать из любой точки мира с любого устройства, у которого есть браузер и доступ в интернет.
Ниже — девять платформ, на которых такую систему собирают. Это не исчерпывающий перечень, а выборка из наиболее популярных проектов.
Универсальные интеграционные серверы: OpenHAB, FHEM и MajorDoMo
OpenHAB — платформа, главная задача которой именно интеграция: заставить разные технологии и устройства домашней автоматизации работать вместе и взаимодействовать друг с другом.
- не привязана ни к производителю, ни к конкретной технологии;
- работает на любом устройстве, способном запустить JVM;
- объединяет разные технологии домашней автоматизации в одну систему;
- поставляется с несколькими веб-интерфейсами;
- предоставляет API для встраивания в другие системы.
FHEM — серверная программа на Perl, распространяемая по GPL. Она автоматизирует такие задачи, как включение ламп, управление ставнями, отоплением и прочим, а также ведёт журнал событий: температуры, влажности, потребления энергии. Сайт проекта — fhem.de/fhem.html.
- управление через веб- и смартфон-фронтенды, telnet или напрямую по TCP/IP;
- поддержка нескольких протоколов;
- автоматическое создание устройства и журнала, когда приходят данные от нового устройства;
- запись событий в файлы или в базу данных;
- уведомление внешних программ или скриптов при наступлении определённых событий;
- несколько интерфейсов обмена: простой текст, JSON, XML и другие.
MajorDoMo — открытая платформа, рассчитанная на работу в мультипротокольной и мультисервисной среде. Сайт — majordomohome.com.
- устанавливается практически на любой компьютер под Windows или Linux;
- поддержка протоколов MQTT, ZWave, 1-wire, ModBus, SNMP, Ethernet;
- веб-интерфейсы под любое устройство;
- скрипты на PHP и/или в визуальном редакторе Blockly;
- настройка правил автоматизации и сценариев.
Pidome и Domoticz: ставка на одноплатные компьютеры
Pidome разрабатывался исключительно под Raspberry Pi и предлагает решения как конечным пользователям, так и разработчикам и радиолюбителям. Это не только сервер: в комплект входят клиенты для нескольких платформ.
- подходит и техническим, и нетехническим пользователям;
- выполняет несколько команд одновременно;
- панель управления для всех типов клиентов;
- MQTT-брокер с функциями клиента;
- плагины: учёт потребления ресурсов, универсальные пульты ДУ, SMS, медиа (XBMC), данные о погоде;
- автоматическое построение графиков по накопленным данным;
- библиотеки клиента на Java, чтобы написать собственный клиент.
Domoticz — лёгкая система, которая позволяет наблюдать и настраивать освещение, выключатели, датчики и другие устройства, а также отправлять уведомления и тревожные сообщения на любое мобильное устройство.
- совместима со всеми браузерами;
- работает в нескольких операционных системах, веб-фронтенд на HTML5 масштабируется под настольные и мобильные экраны;
- запускается на Raspberry Pi, Cubieboard, Unix, Apple и Windows.
Home Assistant, MyController и Pimatic
Home Assistant — платформа, работающая на Python 3. Она отслеживает и контролирует все устройства в доме. Сайт — home-assistant.io.
- быстрая и простая установка;
- данные не обязательно хранить в облаке;
- интеграция с широким набором устройств и сервисов.
MyController — сервер домашней автоматизации, позволяющий следить за домом и управлять им откуда угодно.
- поддержка Linux, Windows и Raspberry Pi;
- работа с несколькими шлюзами по разным протоколам: последовательный порт, Ethernet, MQTT;
- уведомления, сигналы тревоги и графические отчёты.
Pimatic — фреймворк домашней автоматизации, работающий на node.js.
- управление несколькими устройствами;
- расширяется различными плагинами;
- веб-интерфейс построен на express и jQuery Mobile.
Node-RED: визуальная сборка потоков
Node-RED стоит немного особняком: это графический инструмент, который связывает между собой аппаратные устройства, API и онлайн-сервисы, позволяя соединять их новыми и неочевидными способами.
- визуальный инструмент для связывания вещей в Интернете вещей;
- редактирование потоков прямо в браузере;
- потоки сохраняются в формате JSON.
На что смотреть при выборе
Ключевых критериев, по сути, три. Первый — среда исполнения: перечисленные проекты написаны на Java, Perl, Python, PHP и node.js, и удобнее та платформа, чей язык вам ближе, если понадобится писать собственные сценарии или клиент. Второй — железо, на котором система будет жить круглосуточно: часть проектов ориентирована на одноплатники, часть одинаково ставится на обычный ПК под Windows или Linux. Третий — набор поддерживаемых протоколов и шлюзов: он должен покрывать те устройства, которые у вас уже есть или которые вы собираетесь купить.