OpenHab. Система систем для умного дома

Умный дом, который строю я...

Как я дошел до такой жизни, я уже рассказывал тут. Меня с головой накрыло новое хобби, и в свободное время я ковыряюсь в настройках, припаиваю какие-то проводки и перепрошиваю китайские девайсы. И все это для того, что бы openHAB принял свежеприобретенное домашнее устройство на учет.
Что же это за зверь такой, openHAB? Я уже говорил, что это аббревиатура от Открытая Шина Домашней Автоматизации (коряво перевел, но с сохранением смысла). Другими словами, openHAB - это комплекс программного обеспечения с открытым исходным кодом для объединения разнородных домашних "умных" устройств в единую систему автоматизации быта, разрабатываемый группой энтузиастов. Философия опэнхэб заключается не в замене собой существующих решений на рынке автоматизации дома, а подразумевает объединение этих решений в единую систему. Такая себе система систем.
  • openHAB разрабатывается на Java, т.е. может запуститься на любой OC с виртуальной Java-машиной, будь то Windows, Unix или Mac. 
  • Он нейтрален к производителям устройств, т.е. теоретически можно написать биндинг (это что-то типа драйвера) к любому устройству любого производителя, и опэнхэб его поймет и распознает. 
  • Позволяет интегрировать огромное количество разнородных устройств.
  • Имеет несколько отличных друг от друга пользовательских интерфейсов в web, а также нативные приложения для Android и iOS.
  • Легко масштабируется.
  • Имеет быстрорастущее сообщество, готовое к общению и помощи новичкам.
Система очень гибкая и устойчивая, но требует вдумчивого прочтения документации и изучения примеров от других пользователей. Поскольку документация довольно скудная, то у вас откроется огромное поле для экспериментов. Далеко не всегда понятно, что имеют ввиду авторы, и после прочтения остается много неоднозначностей.


Основные понятия openHAB
  • Things - устройства, представленные в системе (умные розетки, телевизоры, лампы, сигнализации, датчики окружающей среды, выключатели, роботы-пылесосы и многое-многое другое, что уже есть на рынке. А сколько всего еще на подходе!).
  • Bindings - различные приложения для обеспечения коммуникации с вашими девайсами. Вроде как драйверы, хотя и не совсем так. У одной Thing могут быть разные Bindings.
  • Items - свойства и возможности ваших Things.
  • Groups - коллекции Things объединенных по какому-то признаку (например - все_светильники, _кухня или _погода и т.д.).
  • Sitemaps - файлы, описывающие отображения Items ваших Things в пользовательских интерфейсах.
  • Transformations - функции, позволяющие трансформировать ваши данные. К примеру, получать из массива данных, передаваемых датчиком, температуру или влажность и приводить их к одному виду.
  • Persistence - сервисы для сохранения ваших данных. Базы данных, другими словами.
  • Rules - скрипты, описывающие правила поведения ваших устройств. Собственно, это и есть "ум" вашего "умного" дома.
  • JSR223 Scripting - это фича для продвинутых программистов, ее мы пока трогать не будем.
Структура openHAB

Опэнхэб  - это система с открытым кодом, которая базируется на фреймворке Eclipse SmartHome, полностю написанная на Java и использующая технологии Apache Karaf вместе с Eclipse Equinos.
Структура openHAB
На схеме видны Add-ons, это приложения-строительные блоки трех типов: доставшиеся в наследство от первой версии openHAB, разработанные специально для второй (текущей) версии, и расширения от Eclipse SmartHome. Все они позволяют собрать свой собственный умный дом с уникальными свойствами.

Я вкратце описал основные понятие нашей системы систем. В дальнейших заметках я постараюсь коснуться практических вопросов и поделюсь своим личным опытом инсталляции openHAB у себя дома. Не забуду и про грабли. Граблей будет много.

Комментариев нет:

Технологии Blogger.