OpenHAB

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
open Home Automation Bus (openHAB)
Тип home automationd і IoT frameworkd
Розробник openHAB Community
Стабільний випуск 4.0.3 (10 вересня 2023; 7 місяців тому (2023-09-10))
Нестабільний випуск 4.1.0-M2 (8 жовтня 2023; 6 місяців тому (2023-10-08))
Операційна система Linux, Windows, Mac OS X, Unix, Solaris, OpenBSD, FreeBSD
Мова програмування Java
Українська мова так
Стан розробки активний
Ліцензія Eclipse Public License
Онлайн-документація openhab.org/docs/
Репозиторій https://github.com/openhab/openhab-distro
Вебсайт openhab.org

Open Home Automation Bus (openHAB) — це програмне рішення, розроблене на Java, яке з'єднує компоненти для автоматизації будівель від широкого кола виробників в єдиній платформі, незалежно від виробника та протоколу. openHAB має багато співрозробників. На цей час розроблено друге покоління платформи, заснованої на спеціалізованому фреймворку Eclipse SmartHome.[1]

OpenHAB 2 зосереджується на комфорті користувача під час налаштування та конфігурації. Для цього було впроваджено численні вдосконалення порівняно з версією 1.[2]

openHAB є незалежною операційною системою і може бути розширена шляхом додавання додаткових прив'язок до додаткових технологій / протоколів. OpenHAB розроблений з відкритою ліцензією Eclipse і має відкритий код. Інтерфейси користувача підтримують веббраузери, системи Android та Apple iOS.

Підтримка та поширення[ред. | ред. код]

Видатні офіційні прихильники включають KNX, EnOcean, Insteon, HomeMatic і Z-wave. На основі Eclipse SmartHome вийшли перші комерційні продукти для масового ринку, як у Deutsche Telekom з QIVICON і Qbox COQON[3], які використовують Eclipse SmartHome як програмну основу для своїх шлюзів.[4]

Архітектура[ред. | ред. код]

Архітектура openHAB

Проект openHAB ділиться на

  • openhab-runtime: це відповідає серверу, який виконує дії.
  • openhab-designer: це зручний інтерфейс налаштування, заснований на Eclipse.

Середовище виконання openHAB[ред. | ред. код]

OpenHAB Runtime — це пакет OSG і вимагає JVM. На основі OSGi передбачена високомодульна архітектура, яка дозволяє додавати або видаляти функції безпосередньо під час виконання.

Коммунікація[ред. | ред. код]

Шина openHAB

openHAB має два внутрішні канали зв'язку:

  • Шина асинхронних подій
  • Репозито́рій елементів

Шина подій[ред. | ред. код]

Шина подій є основним сервісом openHAB. Всі пакети, що не мають статусу, інформують інші групи про стан подій. Всі прив'язки протоколу (які створюють фізичні посилання на обладнання) повинні зв'язуватися через цю шину подій. Технічною базою є служба OSGi EventAdmin.

Репозито́рій елементів[ред. | ред. код]

Для функцій, пов'язаних зі статусом, openHAB пропонує репозиторій елементів, який підключений до шини подій і відстежує поточний стан елементів. Таким чином, репозиторій елементів може використовуватися для запиту поточного стану елемента, наприклад для відображення у візуалізації, для обробки в логіці або для служби збереження. Таким чином, сховище позицій не дозволяє пов'язаним службам зберігати самі статуси і робить їх доступними в центральній службі.

Sitemap[ред. | ред. код]

openHAB має загальноприйнятий інтерфейс користувача (UI), так званий sitemap. Sitemap — це дерево віджетів, які визначають різні сторінки та вміст інтерфейсу користувача. Віджетами можуть бути елементи, що представляють поточний стан або перемикачі або графіки.

Постачальники UI пункту[ред. | ред. код]

openHAB дизайнер[ред. | ред. код]

openHAB дизайнер — це додаток Eclipse RCP для конфігурації середовища виконання openHAB. Він надає редактор необхідних конфігураційних файлів і включає в себе перевірку синтаксису, автозаповнення та контекстні маркери. Для створення автоматизації використовуються логічні правила, які базуються на технологіях Xtext, xBase, Quartz (графік управління) і Joda Time (час і дата обчислення)[5].

openHAB дизайнер вважається застарілим і був замінений розширенням коду Visual Studio.

Підтримувані технології[ред. | ред. код]

Інтерфейси[ред. | ред. код]

Інтерфейси користувача[ред. | ред. код]

  • Paper UI — вебінтерфейс налаштування та налаштування
  • Basic UI — вебінтерфейс
  • Клієнт Apple iOS
  • Android-клієнт — HABDroid — це інтерфейс користувача з відкритим вихідним кодом для openHAB
  • Клієнт Windows 10
  • HABPanel — Панелі інструментів
  • CometVisu
  • Amazon Alexa

NFC[ред. | ред. код]

Клієнт Android HABDroid вміє описувати і читати теги NFC. Таким чином, шляхом сканування NFC, може бути виконана дія.

Консоль OSGi[ред. | ред. код]

Консоль Jabber

openHAB може працювати через консоль OSGi.[6] Це дозволяє командам надсилати до шини подій для перемикання елементів або стану запиту.

---openHAB commands---
	openhab send <item> <command> – sendet einen Befehl an ein Item (z. B. Licht ein)
	openhab status <item> – zeigt den aktuellen Status eines Items
	openhab say <sentence to say> – spricht eine Nachricht mittels der TTS Speech-Engine

Голосове управління[ред. | ред. код]

За допомогою мобільного додатку HABDroid можливе керування голосом. Він використовує Google Speech Engine. Крім того, до openHAB можна підключити голосову службу Amazon (Alexa) з Amazon Echo або Amazon Dot. Це робиться емуляцією HUE або Alexa Skill.

Також підтримуються Google Home або Google Assistant[7].

Консоль обміну миттєвими повідомленнями XMPP[ред. | ред. код]

Консоль календаря Google[ред. | ред. код]

Інший спосіб задання команд openHAB — запланувати відповідний запис у календарі Google або CalDav (наприклад, ownCloud).

REST API[ред. | ред. код]

Інтерфейс RESTful забезпечує відкритий інтерфейс для openHAB для зв'язку з іншими системами.

myopenHAB[ред. | ред. код]

Хмарні служби myopenHAB дозволяють віддалений доступ і прямі push-повідомлення в програмі Android (HABDroid) без активації порту або записів DynDNS.[8] Сервіс IFTTT інтегрована в myopenHAB.

MQTT[ред. | ред. код]

Використовуючи прив'язку MQTT, статуси елементів можна обмінювати між MQTT і openHAB.

openHAB виграла IoT Challenge 2013[9] і нагороду вибору герцога 2013 на JavaOne.[10] Він був номінований на премію JAX Innovation Award 2014[11] і став переможцем «Народного вибору» на премії Postcapes IoT 2014/15.[12] openHAB має одну з найбільших команд розробників з відкритим кодом у світі.[13]

Посилання[ред. | ред. код]

Примітки[ред. | ред. код]

  1. c't Розробник: Heimautomatisierung mit openHAB: neue Bindings und Ausblick in die Zukunft [Домашня автоматизація з openHAB: нові прив'язки і погляд у майбутнє], 2014-11-25
  2. openHAB 2 has arrived! - Kai Kreuzer (англ.). Архів оригіналу за 12 травня 2020. Процитовано 23 січня 2017.
  3. Eine App für alles? Smarthome-Steuerung Coqon im Test. Архів оригіналу за 22 листопада 2018. Процитовано 15 січня 2019.
  4. Архівована копія. Архів оригіналу за 19 жовтня 2017. Процитовано 15 січня 2019.{{cite web}}: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)
  5. Joda Time [Архівовано 3 грудня 2011 у Wayback Machine.], на сайті joda-time.sourceforge.net, доступний 8-м.
  6. Огляд OSGi [Архівовано 11 серпня 2018 у Wayback Machine.], на openhab.org, доступ до 8-го.
  7. Офіційний Google Assistant Integration для openHAB Оголошення про випуск Google у форумі openHAB
  8. Ласкаво просимо до myopenHAB [Архівовано 6 квітня 2022 у Wayback Machine.], на myopenhab.org, доступ до якого [Архівовано 6 квітня 2022 у Wayback Machine.] надійшов 8.
  9. IoT Challenge 2013. Архів оригіналу за 16 січня 2019. Процитовано 15 січня 2019.
  10. 2013 Duke's Choice Awards. Архів оригіналу за 13 січня 2014. Процитовано 15 січня 2019.
  11. JAX Innovation Award Nomination. Архів оригіналу за 2 липня 2014. Процитовано 15 січня 2019.
  12. Postscapes IoT Awards 2014/15. Архів оригіналу за 9 березня 2016. Процитовано 15 січня 2019.
  13. Blackduck's OpenHub Analysis. Архів оригіналу за 8 листопада 2018. Процитовано 15 січня 2019.