Концепция OpenHab
Когда Вы впервые задумываетесь об автоматизации дома то полезно учитывать два взгляда на проблему: физический и функциональный.
Физический наиболее очевидный и сфокусирован на устройствах и коммуникациях между ними (кабели, Z—wave, WiFi и т.п.) и других физических аспектах.
Функциональный подход может быть в новинку. Он фокусируется на том как информация об устройствах, соединениях и т.д. под воздействием пользователя влияет на программное обеспечение, связанное с устройством.
Можно ещё проще представлять что физический взгляд это взгляд на «реальный мир», а функциональный — взгляд на «мир программного обеспечения».
Вещи, каналы, привязки, элементы и ссылки
Вещи (things) — это сущности, которые могут быть физически добавлены в систему. Вещи могут обеспечить больше чем одну функцию (например, датчик Z-Wave может обеспечить детекцию движения и также измерить комнатную температуру). Но не обязательно вещи должны быть физическими устройствами; они также могут представлять собой веб-службу или любой другой управляемый источник информации и функциональности.
Вещи раскрывают свои возможности через каналы (channels). Использует ли установка определенную возможность, отраженную каналом, зависит от того, настроена ли она для этого. Когда вы настраиваете свою систему, вам не обязательно использовать все возможности, предлагаемые вещью. Вы можете узнать, какие каналы доступны для вещи, просмотрев документацию привязки вещи.
Привязки (bindings) можно рассматривать как программные адаптеры, что делает вещи доступными для вашей системы домашней автоматизации. Это надстройки, которые предоставляют возможность связывать элементы с физическими устройствами. Они также абстрагируют конкретные требования к связи этого устройства, чтобы рассматривать устройства обобщенно, с общими подходами.
Связующим звеном между вещами и предметами являются связи (links). Это связь между ровно одним каналом и одним элементом. Если канал связан с элементом, он «включен в систему», что означает, что возможность, которую представляет элемент, доступна через этот канал. Каналы могут быть связаны с несколькими элементами, а элементы могут быть связаны с несколькими каналами.
Чтобы проиллюстрировать эти концепции, рассмотрим пример ниже двухканального исполнительного устройства, которое управляет двумя лампочками:
Исполнительное устройство (actuator) является Вещью (Thing в терминологии OpenHab) и может быть установлено внутри электрического щитка, например. Оно имеет физический адрес и должен быть настроен порядок его использования (вспомните о физическом взгляде из начала этой главы).
Для того чтобы пользователь мог управлять обеими лампочками (Items) и возможностями исполнительного устройства (Thing) (регулировка напряжения и как следствие яркости, например) описывается два канала (Channels) которые соединены (Linked) с двумя выключателями в пользовательском интерфейсе.
Это авторский перевод статьи из документации OpenHab.