Home Editor More about DemoBus Documentation Contact

Documnetation:

DomoBus Specification Language Documnetation:

This document describes an XML-based specification language for DomoBus systems. The specification language can be divided into two parts: - One that defines generic property types and, based on them, defines also generic device types; and - A second part that defines a specific system and the physical structure of a home or building. All the information is stored on a single file to simplify access and management of information coherence. The first part of a given specification can be copied and reused in other systems. The current specification is quite complete and functional. In some cases in can even include details that may not be required by some applications (in which cases they can just ignore those details). This specification is always open to improvements and, so, it can be expanded in the future. Because of this, every application that is designed to process a DomoBus specification must be prepared to ignore tags and attributes that are unknown or that are not relevant to the application. This can be done easily, due to the usage of XML, and that was one of the reasons why the “eXtended Markup Language” was chosen for the DomoBus system specification. This document assumes the reader is familiar with the generic model of a home automation device used in DomoBus.

Definition of Generic Device Types

The specification of a DomoBus system includes the definition of generic “Device Types”, which can be reused in different systems (just by copying their definition). The definition of a device type consists, essentially, in listing a set of properties that characterize the device. Each property is based on one of three predefined value types – scalar, enumerated and array. These three types of values are the only thing that is fixed and must be built in the applications. Current specification allows also defining conversions that can be applied to values. And device types may be organized into classes, as a means to structure the information.

The value of a property can be of three different types: Firstly, ScalarValueType – A “scalar” is an integer value that can be represent by 8 bits (for values from 0 to 255) or by 16 bits (for values from 0 to 65535). Secondly, the EnumValueType – An “enumerated” correspond to pairs "name, value" (value is represented by an 8 bit quantity) and finally, ArrayValueType – Array of bytes. Scalars can have a minimum and a maximum value, and may define a step value forincrements and decrements. They may also identify units for the quantity represented.