
Chapter 3. Concept 30
The device manager node connects HA protocols with a set of data, which contains the most
important information about the device. The data is stored in a XML database. Special lookup
and control functions allow the HA system to be managed by changing entries in the database.
Thus, the device manager allows device handling without knowledge of their protocol codes and
types (HE or IT) as well as keeping track of the current state of each device.
The visualization node offers visualization functions for graphical control over the HA system.
In addition, it provides a namespace service, which allows devices to be assigned to different
namespaces. These namespaces can represent different locations, such as buildings, floors and
rooms. As a result, devices can be divided in groups depending on their location. This is useful
for larger networks, as information becomes more readable and local devices can be filtered.
The visualization node offers abstracted device and location information, but nevertheless, it can
sometimes be useful to access other information, like protocol data, too. The higher software
layers do not hide all previous layers, so each nodes can always be accessed by their ROS topics.
Since ROS topics conceal receiver and sender, the internal structure is not directly visible from
the outside; the user will rather see a bunch of different topics and can decide which degree of
abstraction he wants to use.
3.4. Device Management and Abstraction
The communication chain shown in Figure 3.1 converts raw binary data to a human readable
string format with namespaces, for example "0x000AA8" → "dormitory/table_light". It aims to:
• Create human readable topics and data structures to allow an easy and intuitive use of the
data.
• Hide information such as protocol timings, addresses of devices, etc. to relieve the IE from
unnecessary data.
• Accelerate the development of new software, since little to no foreknowledge is required on
communication details of HA systems.
The abstraction is mainly performed by the software, which consist of three parts. Figure 3.4
shows the different abstraction stages for an example, where a remote control turns a light on.
The gateway receives the on-code "IT AA8A" and sends it to the gateway driver, where protocol
type and data are separated. The device manager then compares the data with its database and if
a matching entry exists, it delivers a detailed data structure to the visualization node. There it is
compared to a namespace database and if a match occurs, the full namespace with device name
and new device state is provided. Note, that the database of the visualization node contains no
device information. It consists of a list of namespaces with a list of device names. This simplifies
Kommentare zu diesen Handbüchern