bOS Configurator - Manual - ComfortClick bOS"

Icon

bOS Configurator

About

bOS Configurator is an application for creating, managing and editing bOS configurations. This application connects to bOS server and displays the building configuration and other server settings. With bOS Configurator you can manage building user account, set device settings, create logical function and design your custom graphical user interface.

Connecting to bOS Server

Connection profiles

Picture 1: Connection profiles

If hardware is purchased from ComfortClick, all neccesary software is already installed and user connects to server by adding or editing their profile. Users Enter their Access ID. By default, the Access ID is the serial number of the ComforClick controller (e.g. G1223). Serial number is shown on the sticker of the hardware. If the hardware is not purchased from ComfortClick, connecting to the server is shown in the topic below.

Adding Profile

Add profile

Picture 2: Add profile

To add registered controller, the following settings needs to be entered:

  • Access ID: Unique name for accessing the bOS Server. You can change Access ID by clicking the "Edit" button in bOS Configurator or online in your user profile on www.comfortclick.com.
  • Username: Name of the building user (user must have administrator privileges).
  • Password: User’s password (passwords are case sensitive).

Manual Configuration

When you don’t know Access ID or you are connecting to newly installed bOS server for the first time, you need to add profile manually, because controller is not registered yet. See the Controller Registration section to learn how to register a controller.

Add profile manually

Picture 3: Add profile manually

Profile in manual configuration contains the following settings:

  • Server Name: Name of the bOS Server (building name e.g. Home, Office, Holiday house...).
  • Server Address: The IP address of your bOS server. You can find the servers on the local network by clicking on Find button. Find button will display a list of bOS servers on your local network. Server address is filled automatically by selecting a server from the list and clicking on the Add button.
  • Username: Name of the building user (user must have administrator privileges).
  • Password: User’s password (passwords are case sensitive).
    NOTE:The default Username is “User” and Password is “Pass”. It's highly recommended that you change default password after first login!
    • Remember me: Checking the Remember me will remember user's password.

Importing Profiles

Import profile

Picture 4: Importing profiles

To import profiles from your ComfortClick web account, controllers must be added to your web account. See the Controller Registration section to learn how to add controllers to your web account.

  • Username: the username used when registering on ComfortClick web page
  • Password: the password used when registering on ComfortClick web page (passwords are case sensitive).).

NOTE: When importing profiles from web account, all controllers linked to your web account will be imported.

Controller registration

After first connection, the Controller registration should be done. Unregistered Controller has a fully functional bOS Configurator but inactive user interface. Which means you can create your configuration, but you won’t be able to use it with bOS Client applications.

With controller registration you will get FREE license with one user for personal, non-commercial use! More info on Licensing page.

Register controller

Picture 5: Controller registration

By clicking on the Register button the web browser is opened and the login page for www.comfortclick.com is displayed. User must login to his ComfortClick web page user account.

Login page

Picture 6: ComfortClick login page

After successful login Register Controller form is displayed.

Register controller form

Picture 7: Register controller form

The following fields are filed automatically:

  • Machine ID: Unique string based on your controllers hardware.

  • Username: Your ComfortClick username.

The following fields should be filled manually:

  • Server Name: Name of your bOS Server. Use a name that will enable you to simply separate between your bOS Servers and choose the one that you want to connect to. (e.g. Home, Office, Holiday House, etc.). You can have several servers with the same name.

  • Access ID: Unique name for accessing the bOS Server (e.g. Michael.Home, Company.Location, etc.). This name enables adding profile and accessing your bOS Server, without need of knowing your IP address. The bOS Client and bOS Configurator will always connect to the right IP address either to local if you are on the same network as bOS Server or to public IP address if you are connecting remotely through internet.

To complete the registration click on Register button.

Controllers

Picture 8: User registered controllers list

Selected controller can be edited, removed from account or permanently deleted. Editing controller gives the ability to edit controller access data. Removing the controller is used when the controller is moved or switched. Permanently removing the controller will also remove the licence, so it should only be used when the controller is no longer in use.

License

We believe ComfortClick bOS is so good everybody should have it. That’s why we give it to you to test it for FREE. More info about licensing.

In order to obtain bOS FREE License you need to register your controller.

License Edit and Buy

After controller registration you can buy bOS PRO license or edit controller information.

License edit

Picture 9: License edit and buy

By clicking on the Edit or Buy button the web browser is opened and the login page for www.comfortclick.com is displayed. User must login to his ComfortClick web page user account.

Login page

Picture 10: ComfortClick login page

After successful login selected form is displayed.

Edit

License edit form

Picture 11: Controller edit form

Under Edit section the following fields can be changed:

  • Server Name: Name of your bOS Server. Use a name that will enable you to simply separate between your bOS Servers and choose the one that you want to connect to. (e.g. Home, Office, Holiday House, etc.). You can have several servers with the same name.

  • Access ID: Unique name for accessing the bOS Server (e.g. Michael.Home, Company.Location, etc.). This name enables adding profile and accessing your bOS Server, without need of knowing your IP address.

  • Controller image: Adding spacific picture to the contoller for better transparency if the user has multiple controllers.

  • Local Address: Local IP address of your bOS Server. Clients connecting from the same local network will use the Local Address instead of Public Address.
    NOTE: Static IP address should be set on computer where bOS Server is installed.

  • Public Address: Public Address is a public internet address of the controller (e.g. Static IP: 'https://123.123.123.123', Custom Domain: 'https://controller.mydomain.com', Custom Port: 'https://123.123.123.123:4445'). First time, you need to manually set the Public Address by clicking "Set Public Address" button. If you don't have a static public IP, option Dynamic IP should be checked and Public IP will be refreshed automatically when your public IP is changed.
    NOTE: In order to set the Public IP Address, appropriate ports must be open on your router (e.g. port 443 for https).

Buy

Under Buy section bOS PRO license and additional users can be purchased.

License buy form

Picture 12: License buy form

General Overview

After connection to bOS server a configuration editing form is displayed.

Configuration form

Picture 13: Configuration form

Main toolbar

Main toolbar

Picture 14: Main toolbar

The main toolbar enables the following features:

  • Backup: Creates a complete server configuration backup including images, sounds, object files and data logs.
  • Restore: Restores a configuration backup.
  • Export configuration: Exports bOS configuration to selected location.
  • Import configuration: Imports bOS configuration from location.
  • Node values: Displays all values of nodes in the project.
  • Add: Adds a new node to the configuration.
  • Delete: Deletes a selected node from the configuration.
  • Move up: Changes the position of the node upwards (enabled only for unsorted nodes).
  • Move down: Changes the position of the node downwards (enabled only for unsorted nodes).
  • Undo: Erases the last change done to the configuration reverting it to an older state.
  • Redo: Reverses last undo function.
  • Help: Opens node help.

Context Menu

With a right mouse click on desired node a Context menu is opened.

Context menu

Picture 16: Context menu

The following features can be selected:

  • Add: Adds a new node to the configuration.
  • Delete: Deletes a selected node from the configuration.
  • Copy: Copies a selected node to the clipboard.
  • Paste: Pastes the node from the clipboard to the selected node.
  • Cut: Copies and removes a selected node.
  • Undo: Erases the last change done to the configuration reverting it to an older state.
  • Redo: Reverses last undo function.
  • Move up: Changes the position of the node upwards (enabled only for unsorted nodes).
  • Move down: Changes the position of the node downwards (enabled only for unsorted nodes).
  • Values: Opens form for editing values of selected node and subnodes where the following value definitions can be set:
    • Template
    • Default icon
    • Units,
    • Min/Max values
    • Decimal places...

NOTE: Value templates must be set for every value in order to use them in scenes, schedules, themes...

Values editing form

Picture 17: Values editing form

NOTE: To edit multiple values select desired values, right click on the selected values and edit the desired definition.

Multi values editing

Picture 18: Multi values editing

  • Export: Export selected node and subnodes to a file.
  • Import: Import individual node and subnodes from a file.

Node panel

bOS configuration is stored in form of a configuration tree. Tree contains tree nodes, which represent different configuration objects. The main node of every configuration is the Building node.

Node panel

Picture 19: Node panel

Node panel is displayed when node in the configuration tree is selected. The node panel displays the following information:

  • Settings: List of object’s settings. After a change of the setting values, the configuration is uploaded automatically. Detailed descriptions of object settings are displayed by clicking on the node Help button on the node toolbar.
  • Values: Current values of the object on server. Change of the value changes the value of the object on server. You can test your configuration by changing the values (e.g. turning on/off a light). Each value has a value definition:
    • Template
    • Default icon
    • Unit
    • Min/Max values
    • Decimal places...

Values

Picture 20: Values

  • Functions: Object’s functions. Functions of the object on server can be called from the configurator by clicking on the … button.
  • Usages: Usages of the node in other nodes.
  • Notes: Custom node notes.
  • Info: General node information.

Log

The log window displays multiple server logs. Log button can be found on the bottom left corner. Log contains information about device connection state, server messages, user changes, server monitor and debug tool for troubleshooting.

Log button

Picture 21: Log button

Log can be filtered, saved or cleared via buttons in the toolbar.

  • Devices: Device log contains events for every device (Connected/Disconnected, errors, etc.)

Log

Picture 22: Devices tab

  • Admin: Admin logs changes in configuration. Every change is time labeled.

Admin button

Picture 23: Admin tab

  • Users: Users Log displays users activity (login, logout, operations...).

Users button

Picture 24: Users tab

  • Monitor: The monitor tab displays incoming and outgoing traffic on bOS Server. Traffic can be filtered, saved or cleared via buttons in the toolbar.

Monitor

Picture 25: Monitor tab

  • Debug: Debug tab displays raw incoming and outgoing traffic and communication between devices and bOS Server. Traffic can be filtered, saved or cleared via buttons in the toolbar.

Building Configuration

bOS configuration is stored in form of a configuration tree which contains tree nodes representing different configuration objects. The main node of every configuration is the Building node.

Configuration tree

Picture 1: Configuration tree

Building node contains the following subnodes:

  • General: Contains building’s general data and settings such as user accounts, time, templates, files...
  • Devices: Contains devices and input/output data.
  • Tasks: Contains logical functions.
  • Themes: Contains visualization themes.
  • Areas: Contains areas for multiple area buildings (hotels, apartement buildings). Areas are used for easier project management and duplication of similar project parts.

Building node panel

Building node panel displays additional informations:

  • License: License tab is displaying the information about current server license. License can be requested by clicking the Register button in the toolbar. The web browser is opened and the login page for www.comfortclick.com is displayed. User must login to his ComfortClick web page user account. Refresh button is used to refresh displayed license status.

License tab

Picture 2: License tab

  • Updates: Updates tab contains information about system updates. Available updates can be installed by clicking on the Install button. The refresh button checks for available updates.

Updates

Picture 3: Updates tab

  • Network: Network tab enables changing of network settings on the server machine. The server machine should use static IP setting to avoid problems with connecting to the server from client machines. Under this node your controller can be restarted or shutdown using the Reboot or Shutdown button.

Network settings

Picture 4: Network tab

General

Users

User node stores system user accounts.

Enabled setting enables and disables the user account. Username, Password settings define the login credentials used for bOS Client or bOS Config connection.

User

Picture 1: User node

The following user Privileges are supported:

  • Administrator has access to configuration with bOS Configurator and bOS Client.
  • SuperUser can see server logs and install server updates in bOS Client.
  • User is normal user of the system.
  • Guest can not change authentication parameters.

Language setting defines the user language.

First Name and Last Name are used in internal mail system. Email Address and GSM Number are used to transfer system alerts and mail to user's email or GSM. The messages are transferred if forwarding is enabled with the Forward Mail To Email Address, Forward Alerts To Email Address, Forward Alerts To SMS settings.

Forward Alerts to Android and Forward Alerts to iOS are used for push notifications on Android or iOS clients.

User settings can also be changed by the end user in bOS Client under Settings.

Client Device

Client device node defines the visualization theme displayed on the client device.

Client device node defines the visualization theme displayed on the client device.

Client device

Picture 2: Client device

To use the client device the Device Name setting must match the actual name of the device. Each device can display a different theme. The Theme settings defines the theme which will be displayed when user logs in with this device.

Three types of client device nodes are supported:

  • Windows Client: For computers running bOS Client for Windows. The device name should be set to the same name as the Windows computer name running bOS Client.
  • Android Client: For device running bOS Client for Android. The device name can be set in bOS Client app settings. PushToken is automatically generated when client is connected for the first time.
  • iOS Client: For device running bOS Client for iOS. The device name can be set in bOS Client app settings. PushToken is automatically generated when client is connected for the first time.

Messaging

Messaging node is used for connecting to SMS modem and outgoing SMTP email server.

Messaging

Picture 1: Messaging node

SMS

Device supports sending and receiving of SMS messages using a GSM modem with standard AT command set. When using a GSM modem a valid SIM card is needed. Before inserting the SIM card into the modem, PIN verification on the SIM card should be disabled with your mobile device.

Email

Device supports sending of emails using SMTP protocol. The correct SMTP settings should be obtained from your email provider.

The device only supports the SMTP Service Extension for Secure SMTP over Transport Layer Security (Explicit SLL). In this mode, the SMTP session begins on an unencrypted channel, then a STARTTLS command is issued by the client to the server to switch to secure communication using SSL. The port used for this mode is usually 587.

An alternate connection method is where an SSL session is established up front before any protocol commands are sent (Implicit SSL). This connection method is sometimes called SMTP/SSL, SMTP over SSL, or SMTPS and by default uses port 465. This alternate connection method using SSL is currently NOT supported.

Example: GMail SMTP Settings

  • SMTP Username: [GMail email address]
  • SMTP Password: [GMail password]
  • SMTP Server: smtp.gmail.com
  • SMTP Port: 587
  • Use TLS: True
  • Mail From: [GMail email address]
  • Display Name: [Custom display name like: 'ComfortClick bOS']

Translations

bOS Client supports a number of different languages regarding messaging, system labels, etc.

Each configuration (e.g. signs on the buttons) can be fully translated to any language by clicking on the Translations setting. This enables users to switch between different languages of the configuration (e.g. English and German).

Translations

Picture 1: Translations node

Templates

Templates are used to customize user interface controls.

Templates

Picture 1: Templates node

Templates node contains color scheme and default value definitions. Default template can be loaded by clicking Load default button. Default templates can be merged with existing ones by clicking Merge default button. Custom templates can also be Exported or Imported. Changing the colors will impact the whole bOS configuration.

Template subnode

Picture 2: Device control template

For each template a set of changeable properties can be selected and the default control settings can be set. Changing any template node will change the values for every device using that template.

Files

Files node contains information about server media files (images and sounds). Images are used in graphical user interface. Sounds are used for different audial events.

  • Supported image formats: jpg, gif, png, svg.
  • Supported audio formats: mp3.

Default set of images and sounds can be loaded by clicking Load default button.

Files

Picture 1: Files node

Images

The Images node displays the server Images directory file structure. Images can be imported or exported. User can use images in Images node for custom design of their configuration.

Images

Picture 2: Images node

Sounds

The sounds node displays the server Sounds directory file structure. Sounds can also be imported or exported.

Sounds

Picture 3: Sounds node

Time

Time node displays the server time settings. Time server should be set according to the location of the building. This settings can be set directly on the server via server’s operating system.

Time

Picture 1: Time node

Users can set their vacations, holidays and working days which can be used in bOS Tasks to create automation based on these events.

  • Working days: Users can use simple table to define working and free days.

Working days

Picture 2: Working days

  • Vacations: Users can also add vacations to their configuration. Using the Add button in Vacation tab, users can select the start and end date of their vacation. Multiple vacations can be added.

Vacations

Picture 3: Vacations

  • Holidays: Spacific holidays can be added in Holidays tab. User can import or export holidays. Each holiday can be named, timed (specific day, multiple days..) and they can also be repeated every year.

Holidays

Picture 4: Holidays

Sun

Sun node calculates sunset/sunrise time according to building's geographical location. Device outputs: Dawn, Day, Dusk and Night values which can be used in Program tasks. Offset in minutes can be used for tweaking calculated sunset/sunrise times. Sunrise and Sunset values can be used for displaying the calculated sunrise and sunset times.

Sun

Picture 1: Sun node

Web

Contains nodes for connecting to web services (e.g. Yahoo Weather).

Weather

Picture 1: Web weather node

Weather device provides current and forecast data from Yahoo weather web service.

  • Choose between Metric and US units.
  • Set Location Code which you get at http://weather.yahoo.com/. Search for your location and copy the code as shown below or enter the city name.

https://weather.yahoo.com/slovenia/ljubljana/ljubljana-530634/

Devices

bOS devices are drivers that enable communication with different systems (e.g. KNX) and home devices (e.g. Philips Hue) supported by bOS.

Computer

Computer node monitors computers and other IP devices. Devices are monitored with PING network command. Additionally computers can be turned ON with the Wake On LAN packet or put to sleep through bOS Client application.

The node settings are shown on the picture.

Computer

Picture 1: Computer node

Address setting is IP address of the monitored computer used for PING command.

MAC Address should be filled for Wake On LAN functionality. To wake up the remote computer, remote system must support Wake up on LAN functionality (usually a setting in BIOS).

To put the computers into shutdown or sleep mode the Windows Client setting must be linked to the Windows Client node under General/Users/User and bOS Client must be running on the target computer. The Power Mode defines the type of shutdown (sleep or shutdown).

Power value represents the current power state of the computer. By toggling the power value, the remote computer can be woken up (by sending the Wake up on LAN packet), or put into sleep mode or shutdown mode (through bOS Client application).

DSC

DSC (Digital Security Controls) is a world leader in electronic security. The main benefits of DSC products are:

  • Compatible - DSC products are designed to work with existing or future products.
  • Upgradeable - DSC products allow you to expand and enhance systems with no replacement necessary.
  • Flexible - DSC products allow you to build a system that works for you with over 1000 configurable items.
  • Durable - DSC products are designed to work, last and withstand extreme situations.
  • Reliable - DSC products go beyond industry-required testing to ensure reliability and product life.
  • Quality - DSC is committed to Six Sigma’s utilization of consistent and predictable processes to improve what the customer sees and feels.

Configuration

bOS DSC device supports communication with IT100 or PC5401 communication modules for PowerSeries products. Module should be connected to a free COM port (or USB->COM adapter) of the controller running bOS Server.

Before creating the bOS configuration, the DSC system should be programmed according to the manufacturer's instructions. The communication module should be operational (connected to the DSC bus and included in the DSC system configuration). Inclusion of module into DSC system can be made with the command entered on the keypad:

  • Enter: *8 [MASTER CODE] 902.
  • Wait 60 seconds.
  • Enter: 903##.

Configuration report (list of partitions and zones with partition and zone number) is needed to complete the bOS integration.

DSC

Picture 1: DSC node

The correct COM Port and Interface Type (IT100 or PC5401) settings should be entered for the DSC node. Node contains various status values, which can be used to monitor the system and send alerts to user. Different node functions can be used to trigger the panic alarms. Virtual keypad and emergency buttons can also be added.

If Virtual Keypad option is set to True, DSC virtual keypad is activated. It acts like a real physical keypad with the same functionality including programing of the DSC system. NOTE: Baud rate should be set to at least 19200, when using virtual keypad. Before changing the baud rate make sure, that DSC node value Connected is set to True.

Virtual keypad for DSC alarm can be added to frame by draging the main DSC node to the theme. Using the keypad, the alarm can be used on any device or platform.

VirtualKeyboard

Picture 2: Virtual keypad

Alarm Partition

Node represents the alarm partition state. The Partition Number should be set according to your DSC configuration report.

Disarming with Disarm() function (e.g. disarming from tasks) is also possible. A Disarm Code should be set for this function to work.

Partition can be operated (armed in away mode, armed in stay mode, disarmed) with Alarm Partition control.

Alarm Zone

Node represents the alarm zone state. The Zone Number should be set according to your DSC configuration.

KNX

About

KNX is the worldwide STANDARD for all applications in home and building control, ranging from lighting and shutter control to various security systems, heating, ventilation, air conditioning, monitoring, alarming, water control, energy management, smart metering as well as household appliances, audio/video and lots more. KNX is the worldwide standard for home and building control with a single, manufacturer independent design and commissioning tool (ETS), with a complete set of supported communication media (TP, PL, RF and IP) as well as a complete set of supported configuration modes (system and easy mode). KNX is approved as a European (CENELEC EN 50090 and CEN EN 13321-1) and an International standard (ISO/IEC 14543-3). KNX products made by different manufacturers can be combined – the KNX trademark logo guarantees their interworking and interoperability.

KNX driver for ComfortClick bOS enables whole building integration, control and automation (usage examples). The driver is compatible with IP, USB or serial KNX communication interfaces manufactured by any KNX certified manufacturer. It supports simple importing of ETS projects and fast creation of beautiful KNX visualization themes with unlimited number of visualization panels. The KNX functionality can be upgraded with bOS logical operations and tasks. Additional bOS supported devices can be integrated with the KNX system to create a true smart house experience.

KNX Device

KNX software (driver) supports communication with EIB/KNX installations over IP, USB and serial adapters. Before creating the bOS configuration, configure the KNX system with ETS or contact your installer to get a Group Address export file (.esf or .xml (ETS 5)).

KNX

Picture 1: KNX node

Driver supports the following connection types:

  • KNX IP
  • KNXnet / IP (Falcon)
  • KNXnet / IP Routing (Falcon)
  • USB (Falcon)
  • EIBLib / IP (Falcon)
  • Serial FT1.2

It is necessary to ensure that the KNX IP interface is on the same network as the server machine. It is recommended that the static IP address is set on the interface. KNX IP interfaces sometimes require a second KNX interface to program the static IP.

Data Points

Under the KNX node the following subnodes (representing different KNX data types) can be added:

  • DPT 1 Bit Controlled
  • DPT 2 Ochtet Float
  • DPT 2 Ochtet Signed
  • DPT 2 Ochtet Unsigned
  • DPT 3 Bit Controlled
  • DPT 4 Ochtet Float
  • DPT 4 Ochtet Signed
  • DPT 4 Ochtet Unsigned
  • DPT 8 Bit Signed
  • DPT 8 Bit Unsigned
  • DPT Boolean
  • DPT Character Set
  • DPT Date
  • DPT String
  • DPT Time
  • KNX: Used for data point node grouping.

The data point types are described in the KNX Interworking Document.

Each data type node has the settings shown on picture below.

KNX GroupAddress

Picture 2: KNX data type node settings

Address setting is the group address. Currently only three level group addresses are supported (e.g. 0/0/0). Status Address is used for receiving object values. If Status Address is set, values received on Address are ignored. Multiple status addresses can be entered, separated by comma. Communication flags and cyclical sending can be used for each data point. Multiple actions can be set when device is connected (read of write to address).

KNX IP

Under KNX IP you can find your IP address, port and your NAT (Network Address Translation). If you don't know your KNX IP address, you can use Discover function, which will search for your KNX device on your local network, find its IP and use it in your configuration.

Discover

Picture 3: Discover function

Importing database from ETS

Datapoint definitions can be imported from a Konnex OPC Server Export file (.esf) or Group Address export file (.xml (ETS 5)) by clicking on the Import from ETS button.

KNX Import

Picture 4: KNX data type node settings

If your esf file contains illegal characters it is advisable to fix them in ETS and make another export.

Import

Picture 5: Illegal characters

In the next step we check the Data Types. The unknown data types must be selected manually or it will not be imported. When importing the ETS database we sometimes import data that we do not need.

NOTE: To edit multiple data types (same size), left click and drag up/down to select, right click on the selection and set the desired data type.

Staus addresses should also be set for every control group address, to save time in later configuration.

KNX ImportFormMulti

Picture 6: Import form multi-select

In next step value templates should be selected in order to use them in scenes, schedules, themes... They are used to generate the control buttons for scene settings and automatic control creation.

KNX TemplateSelection

Picture 7: Device settings

Switching lights

Lights or relay outputs are usually controlled with the following data points:

  • Switch on/off: DPTBoolean
  • Switch status: DPTBoolean

You can use "Switch status" optionally. The Address from the "Switch status" should be copied to the Status address of the "Switch on/off" node. This way we have a single node (and single button) to control the output with status feedback. Multiple status addresses can be used if necessary.

Dimming lights

Dimmable lights are usually controlled with the following data points:

  • Switch on/off: DPTBoolean
  • Relative dimming: 3BitControlled
  • Brightness value: DPT8BitUnsigned (0-100%)
  • Brightness status: DPT8BitUnsigned (0-100%)

The control in percentage is easier to operate and automate. Use "Brightness value" object for dimming control if this is supported by the KNX module. You must import the "Brightness value" and "Brightness status" objects from the ETS. The Address from the "Brightness status" should be copied to the Status address of the "Brightness value" node. This way we have a single node (and single button) to control the dimmer with status feedback.

Some modules don't support "Brightness value" control. Alternatively you can also control dimming with the "Switch on/off" and "Relative dimming" data points directly. This way you need to create 3 buttons to control the shades from theme panels:

  • On/off button: Toggle button linked to "Switch on/off.Value".
  • Dimm down button: MouseDownButton button linked to "Relative dimming.FalseToggle"
  • Dimm up button: MouseDownButton button linked to "Relative dimming.TrueToggle"

Controlling shades

Shades are usually controlled with the following data points:

  • Move up/down: DPTBoolean
  • Stop up/down: DPTBoolean
  • Move to position: DPT8BitUnsigned, Value Type = DPT_Scaling (0-100%)
  • Status position: DPT8BitUnsigned, Value Type = DPT_Scaling (0-100%)

The control in percentage is easier to operate and automate. Use "Move to position" object for blinds control if this is supported by the KNX module. You must import the "Move to position" and "Status position" objects from the ETS. The Address from the "Status position" should be copied to the Status address of the "Move to position" node. This way we have a single node (and single button) to control the shades with status feedback.

Some modules don't support "Move to position" control. Alternatively you can also control blinds with the "Move up/down" data points directly. This way you need to create 3 buttons to control the shades from theme panels.

  • Stop button: SetButton linked to "Stop up/down.Value", SetButtonValue = false
  • Down button: SetButton linked to "Move up/down.Value", SetButtonValue = true
  • Up button: SetButton linked to "Move up/down.Value", SetButtonValue = false

Controlling modes and scenes

Different modes (e.g. thermostat mode, heat pump operation mode...) or scenes are usually represented with a number:

  • Thermostat Mode: DPT8BitUnsigned, Value Type = DPTValue1_Ucount (0-255)
  • Call scene: DPT8BitUnsigned, Value Type = DPTValue1_Ucount (0-255)

NOTE: Value type should be set to *DPT_Value_1_Ucount, which means there will be no conversion of data (0-255).*

Global Cache

Global Caché creates easy to use WiFi and IP-enabled products for the residential, commercial, and educational markets. Global Caché devices are used to control any device regardless of the manufacturer via infra red (IR) and serial commands or digital inputs and outputs. The Global Cache devices are primarily used to integrate the IR controlled audio, video and home theater devices in your smart home.

Global Caché driver for ComfortClick supports simple importing of IR codes form a Global Cache IR device database. IR codes can also be learned with a use of IR learning device. The Global Caché device functionality can be upgraded with bOS logical operations and tasks. Additional bOS supported devices can be integrated with the Global Cache devices to create a true smart home experience.

Global Caché Device

Global Cache network adapters receive command codes via LAN and send the IR signal to IR emitters attached to individual AV devices.

Global Cache driver is used to connect to GC-100 and iTach adapters. Driver can send IR codes, control relay outputs and monitors digital inputs. Controlling the RS-232 ports on GC devices is currently not supported (RS-232 can only be used to connect the GC-IRL device for IR code learning).

GlobalCache

Picture 1: Global Cache node

Before creating the bOS configuration configure the Global Cache device according to the manufacturer's instructions. Network adapter and machine running bOS Server should both be using the same network in order to be able to communicate with each other. The appropriate IP address should be entered in device settings.

Global Cache nodes supports the following subnodes:

  • AC Device: used for controlling an AC device via IR emitters connected to the GC-100 network adapter.
  • Digital Input: used for reading a digital input state.
  • IR Device: used for controlling a device via IR emitters connected to GC-100 network adapter.
  • Relay Output: used for controlling a relay output.

Module and Relay settings

Each subnode has Module and Relay settings which define the input/output of the device according to the device type:

  • GC100-12, GC100-18, GC100-18R

    GC100-12, GC100-18, GC100-18R

  • GC100-6,

  • iTach WF2IR, IP2IR, IP2IR-P, WF2CC, IP2CC, IP2CC-P,
  • iTach Flex

    GC100-6

Importing and learning IR codes

IR codes for most of the devices can be imported from the database by clicking on the device and Import database button

GlobalCache import

Picture 2: Import button

IR Import

Picture 3: IR Import form

IR codes can be learned with GC-IRL device or with ItachFlex. All IR codes can be entered in HEX (Philips Pronto) or GC-IRL (Global Cache IR Learner) format. You can also learn the commands through bOS Configurator with the use of the Learn IR Code in IR device node settings. By clicking on the learn button the IR learning connection form is displayed.

IR import

Picture 4: IR Learning form

IR end delay specifies the delay in ms for an end of a command. Shorter end delays produce shorter codes. Some experimenting is needed to get a suitable end delay for a particular device.

Command name text box should be filled and the button on the IR remote should be pressed. The learned code is displayed in the IR code text box. By clicking on the Learn button, the command will be inserted into the command list. Additional commands can be learned if necessary. By clicking on the close button learned commands will be added to the configuration.

Alternatively you can use the iLearn Software for learning IR codes and use copy paste to insert commands into bOS. Before using the GC-IRL command, the GC-IRL string should be stripped so that it begins with the frequency parameter.

Example of IRL code:

38000,1,1,171,170,21,64,21,64,21,64,21,20,21,20,21,20,21,20,21,20,21,64,21,64,21,64,21,20,21,20,21,20,21,20,21,20,21,64,21,20,21,64,21,64,21,20,21,20,21,20,21,20,21,20,21,64,21,20,21,20,21,64,21,64,21,64,21,64,21,1778,171,170,21,64,21,64,21,64,21,20,21,20,21,20,21,20,21,20,21,64,21,64,21,64,21,20,21,20,21,20,21,20,21,20,21,64,21,20,21,64,21,64,21,20,21,20,21,20,21,20,21,20,21,64,21,20,21,20,21,64,21,64,21,64,21,64,21,3812,21,20,21,64,21,64,21,64,21,20,21,20,21,20,21,20,21,20,21,64,21,20,21,64,21,20,21,20,21,20,21,20,21,20,21,20,21,64,21,20,21,64,21,64,21,64,21,64,21,64,21,3781

Phillips Pronto HEX codes obtained form online databases can also be used.

Example of HEX the code:

0000 006c 0022 0002 0156 00ac 0015 0042 0016 0040 0016 0040 0015 0015 0016 0015 0016 0015 0015 0015 0016 0015 0016 0015 0015 0015 0016 0040 0015 0040 0016 0040 0016 0040 0015 0040 0016 0040 0016 0015 0016 0015 0015 0015 0016 0015 0016 0015 0015 0015 0016 0015 0016 0040 0016 0040 0015 0040 0016 0040 0016 0040 0015 0040 0016 0040 0016 0040 0015 0015 0016 05c5 0156 0056 0016 0e4d

IR Device

IR Device node represents the device controlled by the Global Cache. Under IR Device node multiple commands and states can be added.

Digital Input

Digital Input node reads the state of the digital input. Digital inputs can be used instead of the IR emitters. The inputs should be enabled through the device's web interface. For iTach devices digital inputs are read with the UDP protocol. The appropriate port should be entered.

Relay Output

Relay Output node sets the state of the digital output (contact closure). Digital inputs can be used instead of the IR emitters. The inputs should be enabled through the device's web interface. For iTach devices digital inputs are read with the UDP protocol. The appropriate port should be entered in the node settings.

AC Device

AC Device node represents virtual states of an Air Conditioner device.

ACNode

Picture 5: AC unit form

Hue

Philips Hue connected bulbs together with ComfortClick bOS let you take full control of your lighting from your favorite mobile device (iOS, Android, Windows) The LED technology inside every hue wireless LED bulb can display different tones of light – from warm yellow, white to vibrant blue white. It can recreate any color in the spectrum. Hue can be used to set just the right mood for any occasion (romantic dinner, movie night, party mode) or to set your lights to gradually brighten over time, waking you up in a more pleasant way.

Philips Hue Device

bOS Hue device enables communication with the Philips Hue hub. The correct Remote IP address must be entered and Username must be registered by the system.

HUE

Picture 1: HUE node

Address can be obtained by clicking on the Configure button. If the bOS Configuration machine is on the same network as Hue hub, the Remote IP will be obtained from hue connection service.

The correct Username must be accepted by the system. Pressing next button after accepting the user name enables user registration on the hub. User can then configure network settings. After all the settings are set, user can then search HUE lights connected to the hub.

HUE LIGHTS

Picture 2: Finding HUE lights

For reliable connection between bOS Server and Hue hub it is advisable to set the fixed IP for the Hue hub. The Find Lights button obtains all Hue light bulbs connected to the hub. Selected devices are imported to the bOS configuration.

Hue Lamp

Hue Lamp node represents the Hue lamp connected to the system. The Hue Light Number defines the address of the lamp. User can change the lamp color, using Color in Values tab.

COLORS

Picture 3: Color customization

Hue Group

Hue Group node controls a group of lamps on a HUE bridge. Currently the Hue system supports only Hue Group Number 0 (all lights). The Color value can be used in user interface or tasks. The status of the Color value represents the mix of all lamp colors on a HUE bridge.

IP Camera

Check your cameras and see what is happening at home or at the office anytime with any device. IP Camera device monitors IP cameras and provides a buffered snapshot image for clients. This is useful for reducing network traffic, providing snapshot image where video stream is not supported and enabling access to cameras on internal network (behind NAT).

IP Camera node supports Four types of video streams:

  • JPEG: Snapshot image refreshed cyclically (can be used on all systems and through NAT)
  • MJPEG: Motion jpeg video stream (supported by iOS, Firefox and Chrome)
  • MPEG: MPEG video stream, usually H.264 over RTSP protocol (requires 3rd party plugin, VLC, QuickTime or Axis AMC).
  • Direct: Allows Direct video stream from the camera, additional plugins can be added and used (e.g. VLC player, Netcam...). Port forwarding must be set on router.

To connect to the video camera the correct URL strings should be obtained from the camera manual. URL strings can be tested in web browsers or VLC player. URL strings contain the following segments:

  • Protocol (http:// or rtsp://).
  • Optional basic HTTP authentication parameters (username:password@).
  • IP address (192.168.1.100)
  • Optional port (e.g. :8080), if the port number is not the default port number (80 for HTTP, 554 for RTSP) or you camera is behind NAT.
  • Custom camera paths (e.g. /jpg/image.jpg, /mjpg/video.mjpg).

Username, Password, IP and Video Size are optional settings that can be used in URL connection strings. URL string can contain special parameters which begin with '%' character followed by parameter name (e.g. http://%u:%p@%ip/jpg/image.jpg). The following parameters are supported:

  • %u is replaced with Username,
  • %p is replaced with Password,
  • %ip is replaced with IP,
  • %wip is replaced with WanIP,

The settings for the Camera node are shown on the picture below.

Camera

Picture 1: Camera node

Using the Configure button, configurator searches for your IP cameras via ONVIF protocol. After entering correct Username and Password IP camera settings are automatically filled in. If your camera doesn't support ONVIF protocol, then the correct stream url should be entered manually. RefreshTime defines image refresh interval. In case of MPEG or MJPEG streaming mode, BOS Server gets the stream from IP cameras and securely re-stream it to any client device (iOS, Android, Windows) without the need of any additional plugins or port forwarding. If MJPEG and MPEG stream are not available the snapshot image will be displayed.

If you are using "Direct" mode of streaming, appropriate ports on your router should be forwarded for every IP camera.

UI Control

The Camera UI control can be created for the camera node. The Control has the settings displayed on picture below.

UI settings

Picture 2: Camera UI settings

By default, the setting Disable Streaming is set to False. Disabled streaming is used, because multiple cameras on a single panel can overload the bOS server. It is recommended to set the "Disable Streaming" to True on panels where multiple cameras are displayed. In this case the user will see the camera picture on the screen with lower quality using JPEG snapshot's. Panel links can then be configured for every camera to open a new panel with single high quality camera display with Disable Streaming option set to False.

Examples

URL settings are different for different camera manufacturers and also camera models and features. Please take a look at the camera manual for correct URL settings. Port '[:PORT]' should be replaced with the actual camera port, if the port number is not the default port number (80 for HTTP, 554 for RTSP) or you camera is behind NAT.

Axis

  • JPEGSource: http://%u:%p@%ip[:PORT]/jpg/image.jpg
  • MJPEGSource: http://%u:%p@%wip[:PORT]/mjpg/video.mjpg
  • MPEGSource: rtsp://%u:%p@%wip[:PORT]/mpeg4/media.amp

ACTI

  • JPEGSource: http://%ip[:PORT]/cgi-bin/encoder?USER=%u&PWD=%p&SNAPSHOT
  • MPEGSource: rtsp://%u:%p@%wip:7070/

Dahua

  • JPEGSource: http://%ip[:PORT]/cgi-bin/snapshot.cgi?loginuse=%u&loginpas=%p
  • MJPEGSource: http://%u:%p@%wip[:PORT]/axis-cgi/mjpg/video.cgi
  • MPEGSource: rtsp://%wip[:PORT]/cam/realmonitor?channel=1&subtype=0&authbasic=%u:%p

Logitech

  • JPEGSource: http://%u:%p@%ip[:PORT]/image.jpg
  • MPEGSource: rtsp://%u:%p@%wip[:PORT]/LowResolutionVideo

IQEye

  • JPEGSource: http://%u:%p@%ip[:PORT]/now.jpg
  • MJPEGSource: http://%u:%p@%wip[:PORT]/now.jpg?snap=spush

Vivotek

  • JPEGSource: http://%u:%p@%ip[:PORT]/cgi-bin/viewer/video.jpg
  • MJPEGSource: http://%u:%p@%wip[:PORT]/video3.mjpg (video stream 3 must be set to MJPEG)

Hootoo

  • JPEGSource: http://%ip[:PORT]/snapshot.cgi?user=%u&pwd=%p&resolution=8&rate=0
  • MJPEGSource: http://%wip[:PORT]/videostream.cgi?user=%u&pwd=%p&resolution=8&rate=0

Wanscam

  • JPEGSource: http://%u:%p@%ip:81/snapshot.cgi
  • MJPEGSource: http://%u:%wip@%ip:81/videostream.cgi

IR Trans

IRTrans enables you to control any audio video device with one universal remote which can be your mobile phone (iPhone, Android, Windows) or tablet computer (iPad, Android, Windows).

IRTrans device

bOS IRTrans device is used for connecting to IRTrans network adapters.

IRTrans

Picture 1: IRTrans node

IRTrans device must be programmed with IR codes before use. Currently only devices with integrated IR code database are supported (models with DB). The compatible models are:

  • IRT-LAN-DB (IRTrans LAN)
  • IRT-WiFi-DB (IRTrans WiFi)
  • IRT-POE-DB (IRTrans POE DB)

Other IRTrans devices (without database) can be controlled via IRTrans server application. The IRTrans server application must be running on a dedicated machine. Use this machine's IP address for the IP address setting of the IRTrans node.

IR Device

IR Device node represents the remote control in the IRTrans database. The Remote setting of the IR Device node must be set to the same value as the name of the remote in the database. Under IR Device node multiple commands and states can be added.

Command

Command represents the IR command in the IRTrans database. The Command setting must be set to the same name as the name of the IR code in the database.

Boolean

Boolean node represents the virtual state (ON/OFF) of the device based on the last sent command. It can send a single toggle command or two discrete commands to the device. With a single toggle command, the same IR command is send every time State value changes. When using discrete ON/OFF commands, ON command is sent when State value is set to true and OFF command is sent when State value is set to false.

List

List node represents virtual state of the device based on the last sent command from the list of states. Node can use discrete codes or a single code to switch between different states from the list. List is usually used to switch between different sources of AV device. List also allows additional delay.

Menu

Menu node represents virtual state of the device based on the last sent command from the list of states. Node uses Start, Up, Down and End codes to operate the device menu. List of states represent the menu options. Menu is usually used to switch between different sources of AV device. Menu also allows additional delay.

Modbus

Modbus is a serial communications protocol originally published by Modicon (now Schneider Electric) for use with its programmable logic controllers (PLCs). Simple and robust, it has since become a de facto standard communication protocol, and it is now a commonly available means of connecting industrial electronic devices. The main reasons for the use of Modbus in the industrial environment are:

  • developed with industrial applications in mind
  • openly published and royalty-free
  • easy to deploy and maintain
  • moves raw bits or words without placing many restrictions on vendors

The development and update of Modbus protocols has been managed by the Modbus Organization since April 2004, when Schneider Electric transferred rights to that organization, signaling a clear commitment to openness.

Before creating the bOS configuration, configure the Modbus device according to the manufacturer's instructions or contact your installer to get a configuration report (list of modbus addresses).

bOS Modbus device is usually used for industrial solutions such as energy consumption metering and more advanced HVAC systems.

Modbus

Picture 1: Modbus node

Modbus driver acts as a Modbus master device. Driver offers two types of connections (TCP or RTU) defined by the Connection Type setting. TCP connection has IP and Port settings. RTU connection has serial port settings (Serial Port, Baud Rate, Data Bits, Parity, Stop Bits and Handshake). RS-232 or RS-485 serial communication can be used with a suitable USB converter. Additional timeout delay can be set.

Modbus slave devices store data in four Modbus tables:

  • Discrete Output Coils: Read, Write
  • Discrete Input Contacts: Read only
  • Analog Input Registers: Read only
  • Analog Output Holding Registers: Read, Write

Each table has 9999 values. Each coil or contact is 1 bit and assigned a data address between 0000 and 9998. Each register is 1 word = 16 bits = 2 bytes and also has data address between 0000 and 9998.

Modbus data is converted by the following data point nodes: DPT Boolean, DPT Double, DPT Integer, DPT UInt. The apropriate data Address should be entered for each data point. Slave addressing can be used for each data point. Use Slave Addressing and Slave Address settings are available. The data point nodes offers Value value to use on user interface and in tasks.

Folder node can be used to group different zones and partitions.

DPT Boolean

Node converts the data from Coils and Inputs table, defined by the Table setting.

DPT Double

Node converts the data from Input Registers and Holding Registers table, defined by the Table setting. The data can be converted from IEEE 32 Bit Float, Signed 16 Bit Integer, Unsigned 16 Bit Integer or Signed 32 Bit Integer. In case of IEEE 32 Bit Float and Signed 32 Bit Integer, 2 holding registers (4 bytes) will be read.

DPT Integer

Node converts the data from Input Registers and Holding Registers table, defined by the Table setting. The appropriate data Address should be entered. The data can be converted from Signed 16 Bit Integer, Unsigned 16 Bit Integer or Signed 32 Bit Integer. In case of Signed 32 Bit Integer, 2 holding registers (4 bytes) will be read.

DPT UInt

Node converts the data from Input Registers and Holding Registers table, defined by the Table setting. The appropriate data Address should be entered. The data can be converted from Unsigned 32 Bit Integer. 2 holding registers (4 bytes) will be read.

SMA

Company SMA Solar Technology is a leading global specialist for photovoltaic system technology.

SMA Device

The bOS SMA device enables monitoring of the PV plant. It collects data of the connected Sunny Boy and Sunny Island devices.

SMA

Picture 1: SMA node

The IP setting defines the address of the WebBox device.

You can automatically import devices connected to the Sunny WebBox. Enter the IP address of the device. Click on Import From Device button. SMA Sunny Boy and SMA Sunny Island devices will be added.

SMAUI

Picture 2: SMA UI

SMA Sunny Boy

Node offers the following values which can be used in tasks and user interface:

  • Inverter: The current power of the Sunny Boy device in W.
  • Energy: Total energy in kWh.
  • Mode: Operating mode of the Sunny Boy device.

SMAUI

Picture 3: SMA Sunny Boy

SMA Sunny Island

Node offers the following values which can be used in tasks and user interface:

  • Battery Voltage: Current battery voltage of the Sunny Island device.
  • Power: The current power of the Sunny Island device in kW.
  • Battery Charge Level: Current battery charge level of the Sunny Island device.
  • Battery Charge Mode: Battery charge mode of the Sunny Island device.

SMAUI

Picture 4: SMA Sunny Island

UPS

bOS UPS device is used to detect power failures. UPS device should be installed and configured in windows OS. Different UPS drivers provide different information to the OS, therefore some data could not be available.

Driver uses Windows WMI to check the UPS/battery status. "CIM Battery" object is checked for available batteries. The info from the first detected battery is used. In Windows XP OS "CIM Uninterruptible Power Supply" is also checked for available UPS devices connected through RS-232.

Kodi (XBMC)

Kodi plugin for ComfortClick bOS is the best way to manage your multimedia - create playlists, sort and watch your favorite movies and check the photos from the last holidays. It is also great way to include Kodi to home automation.

Kodi is a free and open source media player developed by the XBMC Foundation, a non-profit technology consortium. Kodi is available for multiple operating systems and hardware platforms, with a user interface for use with televisions and remote controls. It allows users to play and view videos, music, internet radios, podcasts from the internet and all common digital media files from local and network storage media. The software was originally produced as a media center application named ''Xbox Media Center' for the original Xbox game console and was later made available under the name Kodi as a native application for Android, Linux, BSD, Mac OS X, iOS, and Microsoft Windows operating systems.

Kodi device

bOS works with XBMC 12 Frodo or higher. To connect bOS with Kodi, the Kodi must be configured to:

  • Allow control of Kodi via HTTP (in Settings->Services->Webserver).
  • Allow programs on this system to control Kodi (in Settings->Services->Remote control)
  • Allow programs on other system to control Kodi (in Settings->Services->Remote control)

Kodi settings 1

Picture 1: Kodi Webserver settings

Kodi settings 2

Picture 2: Kodi Remote control settings

The correct IP and Port settings must be entered in bOS configuration. Username and Password can be used optionally, if enabled on the Kodi system.

If the machine running Kodi supports Wake On LAN functionality the MAC Address settings can be used to enable turning ON the Kodi machine form bOS.

If you are running Kodi on Windows machine. The bOS Client for Windows can be used to start the Kodi application. The bOS Windows Client node must be inserted in the bOS Configuration. The Windows Client can be linked to this node.

The Enable Power On Show setting shows the 'Start' button to wake up on LAN or start from bOS Client Windows. Enable Power Off shows power off button in player control. Enable Video Show video and pictures in playlist and library controls.

Kodi node

Picture 3: Kodi node

Under General, correct input values must be set for a proper connection with Kodi. Port for accessing the XBMC media center via HTTP and TCP Port Port for accessing the XBMC media center via JSON API must be set.

Sonos

Sonos is a system of HiFi wireless speakers and audio components. Sonos wireless speakers are custom designed for every space in the house. From the compact PLAY:1 to the TV-compatible PLAYBAR the line-up fills any room with clear HiFi sound at any volume. You can set up Sonos with the push of a button. The technology brings the entire home audio system together on a dedicated wireless network.

Sonos is a system of HiFi wireless speakers and audio components.

Sonos node

Picture 1: Sonos node

IP Address: IP address of SONOS device. Port: Port of SONOS device. Local Port: Port used for bOS to maintain active connection with Sonos speaker, for status update (volume, track information, track position...)

Sonos panel

Picture 2: Simple SONOS panel

In SONOS panel basic volume and music settings can be set. In the middle, SONOS panel displays basic track information and cover photo.

Z-Wave

Z-Wave is a wireless communications standard. The technology uses a low-power RF radio embedded or retrofitted into building electronics devices and systems. Currently there are nearly 1000 different Z-Wave products that all work together so you can choose the products that are right for your project. The main benefits of Z-Wave are:

  • Easy to install
  • Does not require any rewiring - no new wires!
  • Any product with Z-Wave on the box works with any other
  • Affordable - get started with minimum investment and easily add on more products
  • Reliable - Over ten years in the market
  • Secure - same encryption as online banking
  • Lots of choices - styles, price points, colors, etc
  • Already 20 million products in homes worldwide
  • Biggest brand names use Z-Wave
  • 9 out of 10 leading security companies use Z-Wave

    You can find all device information in Z-Wave device database

Z-Wave software along with devices is great for home automation in old (existing) buildings.

Network Configuration

Main Z-Wave node displays an overview of a Z-wave network, where all the included devices and statuses are shown.

Z-Wave configuration

Picture 1: Z-Wave node

Devices:

  • Discovery - Starts the discovery process and adds devices to Z-Wave node.
  • Inclusion - Including a new device.
  • Exclusion - Excluding an existing device.
  • Controller:
    • Remove Failed Node - Removes broken Z-wave device from the list.
    • Soft Reset - Reboots the USB stick. Useful if USB stick freezes. No data will be lost.
    • Reset to Default - Resets the Z-Wawe controller to factory defaults. All included devices will be erased from the Z-Wave controller! NOTE: Reset to default only resets the Z-Wave controller if you want to include devices back or to another controller, you need to Exclude them first.
  • Settings:
    • General - Displays basic information about device.
    • Association - Form for associating devices with controller or with other Z-Wave devices.
    • Parameters - Special settings for a device.
    • Info - Z-wave product manual from Z-Wave Alliance database.
  • Rename - Renames selected node.
  • Delete - Deletes selected node, user will have to confirm again before deleting.

Every tab has more details in further chapters.

Z-wave devices list:

  • ID - A unique ID that is assigned to a device when included to the network.
  • Name - Name of the device. If a device already exists in the configuration it will display the name from the configuration. If not, it will be assigned a default name which is a combination of DeviceType and Node ID(ex. BinarySwitch5)
  • Device Type - Type of the device.
  • Listening - Devices powered with a battery are set as not listening and devices powered any other way are set as listening.
  • Status - Current status of the device.
    Possible statuses:

    • Waiting- Waiting for device info.
    • Sleeping - A device that does not respond and is categorized as a sleeping device (device that is battery powered). Check the device documentation for how to wake up a device.
    • Unknown - Did not get any information about the device. It is probably unreachable.
    • Imported - Device with the same node id already exists in the configuration and will not be imported.
    • Incompatible - Device with the same node id already exists in the configuration but it is not the same type. It will not be imported.
    • Ready - Device is successfully discovered and ready to be used.

Inclusion

Inclusion is a process of adding a new device to the Z-Wave network. The number of times an inclusion button on the device must be pressed varies from device to device. Please check the device documentation first.

Inclusion in bOS Configurator

  1. Insert USB stick in USB port.
  2. Add a new Z-Wave node to the configuration.
  3. On the right side in Settings tab enter your COM port number and set Enabled to true.
  4. Click Inclusion button in the Devices toolbar. This will start the inclusion procedure. Put the device in range of the Z-wave Controller. Then press the inclusion button on the device. In a few seconds device information should appear. After successful inclusion, associate the device with Z-Wave controller and set the device parameters.
  5. Step 4 must be repeated for every device you wish to include.

Inclusion with USB stick

Not all USB sticks have this functionality. Example of a USB stick with an inclusion/exclusion button is the Aeotec Z-Stick Series 2.

The USB stick needs to be in close vicinity (less than 1m or 3ft.) of the device you wish to add. First press the inclusion button on the USB stick then press the button on the device. When you finish including all the devices follow the following steps:

  1. Insert USB stick in USB port.
  2. Add a new Z-Wave node to the configuration.
  3. On the right side in Settings tab enter your COM port number and set Enabled to true.
  4. Click Discovery button in the Devices toolbar. This should automatically start the discovery process. In a few seconds the list should be populated with devices you have added previously.

Exclusion

Exclusion is a process of removing a device from a Z-wave network. Not all USB sticks have this functionality. Example of a USB stick with an inclusion/exclusion button is the Aeotec Z-Stick Series 2.

Exclusion with USB stick

The exclusion depends on the device and the USB stick. Please check their documentation for details.

Exclusion in bOS Configurator

  1. Select the main Z-Wave node.
  2. Click on the Exclusion button in the Devices toolbar. This will start the exclusion process, then press the button on the device.
  3. If a device was successfully excluded it should be removed from the bottom list.

Note: The number of times an inclusion button on the device must be pressed varies from device to device. Please check the device documentation first.

Device Configuration

You can additionally configure a device by clicking on the device node and click the Settings button in the top left corner of the Settings tab. The newly opened form contains settings that are available for the device. The number of tabs in the form may vary depending on the device. For more details about a device please refer to the device manual or under the info node.

Quick overview of the tabs:

  • General - General version information about the library, protocol and application. May be used to check if firmware is up to date.

Z-wave general

Picture 2: General tab

  • Association - This is a very important function of Z-Wave. It enables linking two devices (ex. PIR sensor and a light switch) to work independently from the USB stick. Assign a device (Node ID ) to an association group by clicking Set button. To get devices assigned to the group click Get button. You can also remove a device from a group by selecting it from the list and clicking Delete. For what a specific group does and how many they are please refer to the device documentation.

Z-wave Association

Picture 3: Association form

  • Parameters - Special settings for a device. For example; you can set an interval for measuring temperature in a thermostat. You can find parameter numbers, values and descriptions in the device documentation.

Z-wave Parameters

Picture 4: Parameters tab

  • Info - Info tab displays Z-wave product manual from Z-Wave Alliance database.

Multilevel sensor configuration

This instructions are for devices with a multislevelsensor command class. Click on the multilevel sensor and from Sensor Type choose the appropriate sensor.

Z-wave multisens

Picture 5: Multilevel sensor

If your device supports multiple sensors right click in device node and select SensorMultilevel from the list and enter a name. Next choose the Sensor Type from the list. You need to this for every sensor on the device.

Basic

Basic device

bOS Basic device is an universal driver for controlling devices via TCP, UDP and Serial.

Basic

Picture 1: Basic node

General

Desired Connection Type should be selected and Connection setting should be filled.

On Connected: Assigns a command that will be sent when device is connected.

Parsing

Different response content Encoding can be selected (UTF8, UTF7, ASCII...). Based on the Parser type (Json, Xml or text (Regex)), different settings appears in variable (Boolean, Double...) settings:

  • Json Token: json select token for parsing out specific value (e.g "data.sensor1.t" or "data.sensor[1]").
  • Regex: regex expression for parsing out specific value from response text. For more information about regex, please check this link

Under Basic node multiple commands and states can be added:

  • Boolean Object used for storing boolean type values that are parsed out from Command Response Data, based on Regex or JSON select token.
  • Command node represents the command to be sent to the device. The device response data is stored in Response Data value. Specific value frome response data can be parsed out using Regex or JSON.
  • Double Object used for storing double type values that are parsed out from Command Response Data, based on Regex or JSON select token.
  • Integer Object used for storing integer type values that are parsed out from Command Response Data, based on Regex or JSON select token.
  • List node represents virtual state of the device based on the last sent command from the list of states. Node use discrete commands or a single command to switch between different states from the list. List is usually used to switch between different sources of AV device.
  • Menu node represents virtual state of the device based on the last sent command from the list of states. Node uses Start, Up, Down and End commands to operate the device menu. List of states represent the menu options. Menu is usually used to switch between different sources of AV device.
  • String Object used for storing string type values that are parsed out from Command Response Data, based on Regex or JSON select token.
  • Toggle node is used to toggle between between two states. Discrete Commands should be set to true if the controlled device uses two discrete codes (i.e. different codes for power on and power off).

Example 1

Example is showing how to create a Power ON command for Denon AVR A/V Receiver.

Basic example

Picture 2: Denon AVR example

Right click on the device node and select Add. Choose Command as device type from the list, enter a name and click Add.

Reffer to the to the device manual for control codes and enter them in Text Data field. Appropriate Data type, Text Encoding and New Line (CR - Carriage return code) should be set.

NOTE: New Line code must be entered in hexadecimal format.

Additional triggers can be set to trigger the Command node.

Basic HTTP

HTTP device

bOS Basic HTTP device is an universal driver for controlling devices via HTTP.

Basic Http

Picture 1: Basic Http node

General

URL string should be entered without RESTful parameters (you add them in Http Command node) or can be left blank in case that the whole URL will be entered in Http Command node.

Parameters %u and %p can be used to insert Username and Password into URL.

Parsing

Different response content Encoding can be selected (UTF8, UTF7, ASCII...). Based on the Parser type (Json, Xml or text (Regex)), different settings appears in variable (Boolean, Double...) settings:

  • Json Token: json select token for parsing out specific value (e.g "data.sensor1.t" or "data.sensor[1]").
  • Regex: regex expression for parsing out specific value from response text. For more information about regex, please check this link

Under HTTP node multiple commands and states can be added:

  • Command node represents the command to be sent to the device. The device response data is stored in Response Data value. Specific value frome response data can be parsed out using Regex or JSON select token in command subnodes:
    • Boolean - Object used for storing boolean type values that are parsed out from Command Response Data, based on Regex or JSON select token.
    • Double - Object used for storing double type values that are parsed out from Command Response Data, based on Regex or JSON select token.
    • Integer - Object used for storing integer type values that are parsed out from Command Response Data, based on Regex or JSON select token.
    • String - Object used for storing string type values that are parsed out from Command Response Data, based on Regex or JSON select token.

Example 1

Example is showing how to create a Zoom In command for Dahua camera.

Basic Http example

Picture 2: Zoom In for Dahua camera

Right click on the device node and select Add. Choose Command as device type from the list, enter a name and click Add.

Reffer to the to the device manual for correct Method Type and command URL and enter it in Command field.

Example 2

Example is showing how to parse data from Slovenian weather station.

Http example parsing

Picture 2: Http node with weather station URL

Under Host URL, correct host url must be set, so we can get wanted information from the weather station. Under Parsing select XML as Parser Type.

Right click on the Http device node and select Add. Choose Command as device type from the list, enter a name and click Add.

Http example parsing2

Picture 3: Http Command node

After adding command node, correct Http request command must be set under Command. Send Cyclically must be set to true so the value is refreshed and the refresh rate can be set using Cyclical Send Delay.

Http example parsing3

Picture 4: Response data

Since our Parser Type is XML, Response Data has XML value, which bOS translate to JSON and parse temperature values for our configuration. We can use a simple online JSON editor link to see JSON objects of our Response Data Xml to Json value.

Http example parsing3

Picture 5: Token name for temperature values

Create a Double variable and enter the appropriate Token Name for desired value, in our case data.metData.t for temperature.

Tasks

Tasks are specific set of bOS features that enable building automation (e.g. presence simulation) and monitoring of different systems (e.g. electricity consumption). bOS includes the following tasks: Analog Log, Analog Threshold, Bit Converter, Calculation, Counter Log, Movement Detector, Operating Time, Presence Simulation, Program, Rgb Mixer, Scene, Schedule, Thermostat and Timer.

Analog Log

Analog Log enables logging of analog (e.g. temperature, wind, pressure, voltage, current) and boolean values (e.g. switch status). Analog Log stores measured values into database and displays the data on the chart.

Analog log

Picture 1: Analog log settings

Limit Database Writes limits writing to database. Within the specified interval (Write Interval) only one value is written to database. Write Type defines if this will be Average, Minimum or Maximum value of all values, received within the Write Interval.

If boolean value is selected, true/false is converted to 0/1.

Maximum limit for database size can be set (Delete Old Data) in days (Days to Delete Old Data).

Data can be scaled (Scaling) before it is written to database.

Entries are displayed under Data tab and it can be backed up, restored, exported and filtered using buttons in toolbar.

User Interface

Data Logger control enables viewing the data on theme panels.

Analog log UI

Picture 2: Analog log UI

  • Multiple Analog Log objects can be displayed on the same UI control.
  • Use Step Plot option in UI control settings to display the boolean data.
  • Use buttons in top right corner to export (Excel or Database file), delete or refresh data.

Examples

Example 1: Logging temperature

  1. Select Input value for temperature.
  2. Set Limit Database Writes to limit the amount of data in the database if the temperature sensor is sending data frequently.
  3. Set the write interval (e.g. 300 seconds = 5 minutes).
  4. Make the UI control.

Example 2: Logging wind

  1. Select Input value for wind.
  2. Set Limit Database Writes to limit the amount of data in the database. Wind sensors are usually sending data frequently in windy conditions.
  3. Set the write interval (e.g. 300 seconds = 5 minutes).
  4. Select Write Type Max if you want to log the wind gusts.
  5. Make the UI control.

Example 3: Logging switch output

  1. Select Input value for switch.
  2. Set Limit Database Writes to false.
  3. Optionally scale the data, if you want to display it with another Analog Log data (e.g. displaying the switch output with temperature on the same chart).
  4. Make the UI control.
  5. Use Step Plot option in UI control settings to display the boolean data.
Download Examples

Analog Threshold

Analog Threshold converts analog value (e.g. brightness, temperature, pressure) to boolean value (e.g. high/low brightness, high/low temperature, high/low pressure). Converted value can be used for triggering alerts or performing other tasks.

Analog threshold

Picture 1: Analog threshold settings

Analog Input Value can be converted to boolean value by two Modes:

  • SingleThreshold: Threshold limit with hysteresis. If Input Value > Threshold Value + Hysteresis output is set to True. If Input Value < Threshold Value - Hysteresis output is set to False.
  • HighLowThresholds: Separate high limit and low limits. If Input Value > Higher Limit output is set to True. If Input Value < Lower Limit output is set to False.

False Delay and True Delay settings can be used to delay the output change. Input Value must remain below/above limit the whole period of the delay to trigger the output. Delays can be used to filter the quick changes of the input value (e.g. fast changing brightness).

Output Value can be used as a trigger in tasks. Output can be inverted with the Invert Output setting.

Thresholds (High Limit, Low Limit or Threshold) can also be set from UI via Double control. The output value can be linked to a Boolean control.

Analog threshold UI

Picture 2: Analog threshold UI

Examples

Example 1: Control lights with brightness sensor

  • Use brightness value for Input Value.
  • Select single threshold or high/low limit mode.
  • Set False Delay and True Delay.
  • Use "Value" as a trigger in your task, to trigger actions (e.g. turn outside lamps on or off).
  • Make buttons for "Threshold Value" to enable changing of thresholds from UI.

Example 2: High temperature alert

  1. Use temperature value for Input Value.
  2. Select single threshold and set the hysteresis (e.g. 45 C, +-0.5).
  3. Optionally set False Delay and True Delay.
  4. Use "Value" as a trigger in your task, to send the alert to user.

Example 3: Calculate switch status from measured current

  1. Use current value for Input Value.
  2. Select single threshold and set the hysteresis (e.g. 0.2 A, +-0.02).
  3. Use the output Value to make a Boolean control or use it in a task (e.g. in Operating Time task to calculate the amount of time the device was switched ON).
Download Examples

Calculation

Calculation is a task for performing mathematical operations. It can calculate polynomial function composed of multiple input values and constant factors. Input values can be combined using addition, subtraction, multiplication or division operations.

Calculation task performs calculation of polynomial values. Polynome values can be object values or constants. The whole polynomial is multiplied with Constant Factor. Integration and differentiation Calculus can be applied to the polynome. Calculation is performed each time any of the input value is updated. Polynomial operations are set using the Operations list editor.

Calculation

Picture 1: Calculation settings

For each operation, the Operation Type can be selected (Addition, Subtraction, Multiplication, Division). Operation can contain only the Constant Factor or an Input Value (linked to an object value) scaled with the Constant Factor.

The result of the calculation is represented by Value. Int Value is Value converted into integer. Calculate function can be called to manually trigger the calculation task. Reset function resets integration and differentiation calculus and sets Value to 0.

Examples

Example 1: Calculate wind speed in km/h from input value measured in m/s.

1m/s = 3.6km/h.

  1. Set Constant Factor to: 3.6.
  2. Add Addition operation and select your input value (wind speed in m/s).

Example 2: Calculate energy (kWh) from current input value measured in amperes (A).

Energy is calculated as integration of power:

E(kWh) = Int(U*I)dt * 1/3600 / 1000

  1. Set Calculus to: Integral.
  2. Voltage (U) can be set as a constant (e.g. 230V). In this case Constant Factor is: 230 * 1/3600 / 1000 = 6,3e-5.
  3. Add Addition operation and select current input value in amperes.
  4. Use Value output in tasks or make a Double user interface control for it. A Run Function control linked to the Reset function can be used to enable resetting of the counter value.

Example 3: Count number of ON switching

  1. Create a counter variable (Devices->Variables->Integer).
  2. Add Addition operation and select your counter variable.
  3. Add Addition operation and set Constant Factor to 1.
  4. Create a Program task. Set a trigger (i.e. device is turned ON). Add a Run command and link it to the Calculate function.
  5. Use Reset function to enable resetting of the counter value.
Download Examples

Counter Log

Counter Log enables logging of consumption (e.g. electrical, gas, water). Counter Log stores measured values into database and displays the data on the chart.

Counter log

Picture 1: Counter log settings

Input Value can be linked to any object value of type double, integer and boolean. If the input value is boolean type, then the number of impulses (lead edge switching) is counted.

Ignore Count Down setting prevents writing the negative counter values to database (e.g. when the meter is reset to 0). Filter Counter Resets function can be used when meter measuring the input values is replaced with new one or is reset to zero. This will create an inconsistency in the measured data (will be calculated as change in consumption). By calling the Filter Counter Resets the database is rewritten to compensate for the change.

Maximum limit for database size can be set (Delete Old Data) in days (Days to Delete Old Data).

Data can be scaled (Scaling) before it is written to database.

Multiple calculated values (Total Value, Last 24 Hours, Today Count, Yesterday Count, Daily Average, This Month Count, Previous Month Count, Monthly Average *) are available for user interface display or to use in other tasks (e.g. in *Program task to alert users of high consumptions or to send monthly consumption reports).

Entries are displayed under Data tab and it can be backed up, restored, exported and filtered using buttons in toolbar.

User Interface

Data Logger control enables viewing the data on theme panels.

Counter log UI

Picture 2: Counter log UI

  • Multiple logging data can be combined on one plot control.
  • Use buttons in top right corner to export (Excel or Database file), delete or refresh data.

Examples

Example 1: Logging electricity consumption

  1. Use electricity consumption for Input value (e.g. kWh meter).
  2. Make the UI control.

Example 2: Logging gas consumption from impulse meter

  1. Use impulse meter for Input value (e.g. impulse meter 1m3 = 100imp).
  2. Scale the data to log the value in correct units (e.g. to get m3, K = 0.01) .
  3. Make the UI control.

Example 3: Monthly energy report

  1. Use consumption for Input value.
  2. Create Program task. Add Run command, select Send Mail function from the user node. Generate a energy report text including the calculated values in the text.
  3. Create Schedule task. Add Run command, select Program task from step 2. Set event repeat type to Monthly and set the day of month to send the report.
Download Examples

Gate

MinMaxAvg

Movement Detector

Movement Detector is used for lighting control and movement monitoring with movement detectors. The task can operate lights with multiple movement sensors depending on the brightness conditions. Movement detector

Picture 1: Movement detector settings

Enabled setting enables/disables the operation of the task. The Delay time in seconds can be used to turn the light OFF after the last movement detected.

Output Value must be linked to the device being controlled by the movement (e.g. the controlled lamp). Blocked By Output can be used to block the operation of the movement detector, when the Output Value is not changed by movement detector (e.g. changed by KNX push button, which turns the lamp ON and OFF). When movement detector is blocked it will not start the delay timeout and the Output Value will never turn off. Alternatively Blocking Value linked to custom object can be used to block the operation of the movement detector.

The movement detector can also be operated by brightness. Detector can operate only in low brightness condition. A Night Value must be linked to the boolean object representing the current low light condition (e.g. ON/OFF dusk sensor). Alternatively the analog brightness Brightness Value with Brightness Threshold can be used if Uses Brightness is set to true.

Multiple Input Values (i.e. multiple sensors) can be used to trigger the movement detector.

UI controls can be created for Enabled, Blocked and Delay values. User can enable, block or set the delay from the user interface.

Examples

Example 1: Control KNX lights with DSC alarm sensors

  1. Set Output Value to the light you want to control.
  2. Set Delay in seconds.
  3. Add DSC alarm sensors under Input Values.
  4. Make UI controls for setting the Enabled, Blocked and Delay values.

Example 2: Control lights at night

  1. Set Output Value to the light you want to control.
  2. Set Delay in seconds.
  3. Set Night Value value (e.g. Night value from the Sunrise Sunset task or if brightness sensor is available set Use Brightness Value to true and use analog Brightness Value with Brightness Threshold).
  4. Make UI controls for setting the Enabled, Blocked and Delay values.
Download Examples

Operating Time

Operating Time task is used to measure the operating time of any device. Operating Time also measures the approximate device consumption.

Operating time

Picture 1: Operating time settings

Operating Time counts the time when Input Value is ON (True). It outputs the total time in minutes (Minute Counter) or hours (Hour Counter).

Per hour consumption (Consumption) is calculated by multiplying the Consumption Factor with Hour Counter. The consumption of the device must be constant to get the correct value.

Hour Counter and Consumption values can be represented by the Double UI control or used in tasks (e.g. Counter Log).

Examples

Example 1: Calculate the appx. consumption of a lamp in kWh

If you have a 50W lamp you can set the Consumption Factor to 0.050 kW. Consumption value will output the energy consumption of the lamp in kWh.

Example 2: Calculate the appx. consumption of oil in liters

If you have an oil heater, which consumes appx. 1.3 liters of oil per hour and you can measure only the operational state (on/off) of the heater, you can calculate the the consumption in liters by setting the Consumption Factor to 1.3.

Example 3: Log the consumption

  1. Select Input value.
  2. Set Consumption Factor.
  3. Create new Counter Log.
  4. Link the Consumption to the Input Value of the Counter Log.

Example 4: Send 'service needed' notification

  1. Select Input value.
  2. Create new Program task.
  3. Link the Hour Counter to trigger of the Program task with the service hour limit (If Hour Counter>Service time)
  4. Add Run function to send alert to the user.
Download Examples

Presence Simulator

Presence Simulator is used for simulating the building's occupancy by randomly switching different lights ON and OFF.

Presence simulator

Picture 1: Presence simulator settings

The list of devices, seen under settings, can contain boolean values (True/False) or integer values (0-100%) At interval defined by Interval setting the simulator turns OFF all devices from list and randomly chooses the next devices to turn ON (number of devices is set by Number Of Devices To Actuate). The settings of the Presence Simulator can also be changed from the user interface. Presence simulator can also turn on any device in the building (e.g. TV, radio or any other distracting devices).

Presence simulator

Picture 2: Presence simulator UI

Download Example

Program

Program is a universal logic task which contains a list of trigger conditions (Triggers) and list of commands (Commands) to execute when input triggers are triggered. Program task can be enabled and disabled by setting the Enabled setting. The Restart On Retrigger setting defines the behaviour of the program execution when program is executed while previous execution is still running (e.g. can happen when program is using delays). If Restart On Retrigger is true the previous task is terminated and the program is executed from the beginning. If Restart On Retrigger is false the trigger will be ignored and the previous task will execute without interruption.

Programs can be executed manually or with triggers. Each trigger contains an input value and triggering condition. Multiple triggering conditions can be entered in the Triggers list. Program is executed when any trigger condition is met.

Program

Picture 1: Program task settings

Triggers

Trigger contains an object value and triggering condition. Conditions can be value comparisons (=, <, <=, >=, >) or value changes (ValueChanged). Triggers can be edited in the trigger editor form.

Trigger form

Picture 2: Trigger form

Conditions for triggering are rechecked with each update of the object value. By default the trigger is only triggered the first time the condition is met. If the same condition is met on next value update (i.e. device sends the same value two times in succession) trigger is not triggered. Setting the Allow Retrigger option enables running the task even when the same condition is met repeatedly with each value update.

Commands

Several different commands can be used for implementing different logical operations and command sequences. Command are edited in the command tree editor.

Set Value

Sets output value to a constant value or to the value of an object.

Set value

Picture 3: Set value form

Calculation function can also be assigned to variable (e.g. +1 will give your object increased value by 1).

Run

Executes object function.

Run form

Picture 4: Run form

If, Else

If Checks the condition where input property is compared to a constant value or to a value of an object. The settings of the if command can be edited in If editor form.

If form

Picture 5: If form

Any combination of subcommands can be inserted below the If command. Subcommands are executed when conditions are met. Else is executed if conditions for If command were not met. Else can only be inserted after If command.

Delay

Delays the program execution for a constant time or a delay defined by an input value linked to an object.

Delay form

Picture 5: Delay form

Http Request

Http Request Is used to execute commands on devices that support http API calls. Devices and other programs can be controlled with this command (i.e. XBMC, boxee, IP cameras, DVRs and other automation systems). Commands can be executed using Basic Authentication, Username and Password. Optionally the Username and Password settings can be injected into the URL string. If the POST Data is empty the call is executed using the HTTP GET command. If POST Data is filled the call is executed using HTTP POST command. Custom Headers (e.g. custom SOAP headers) and Content Type can be used with the call HTP POST. Text strings for URL and POST Data can include value parameters. Parameters can be added by clicking on the "..." button.

HTTP request

Picture 5: Http request form

Exit

Exits the program execution. Exit can be used to terminate the program when certain condition is met (e.g. in an If command).

Restart

Restarts the program execution after a constant time or a delay defined by an input value linked to an object.

Abort Commands

Abort Commands are executed on program abort. Program is aborted when Running property is set to false or by calling the Abort() function. Program is also aborted on configuration restart when uploading the configuration. Commands are executed only if abort is called when program is still running. This can happen if a main program is waiting for some delay (Delay command is used).

User Interface

Enabled, Running and Blocked values can be inserted into themes via Boolean control. Run and Abort functions can be called via RunFunction control.

Examples

Example 1: Send alert to user

  1. Add trigger.
    1. Select input object (e.g. DSC zone, KNX DPT, Analog Threshold).
    2. Select object value.
    3. Set condition to Equals.
    4. Set value to True.
  2. Add Run command.
    1. Select the node of the user you want to notify (select Users node if you want to notify all users).
    2. Select the SendAlert function.
    3. Insert text.
  3. To filter the sequential sending of the alert messages, make sure Restart On Retrigger option is not set. Optionally a delay command in the end of the program (i.e. block sending of messages for a certain period).

Example 2: Mode selection

  1. Add trigger.
    1. Select input object (e.g. Integer variable for mode selection).
    2. Select object value.
    3. Set condition to OnChange.
  2. Add If commands for each mode.
  3. Add commands (e.g. Run command calling a Scene) under If commands for each mode.

Example 3: Trigger a program with a KNX push button which sends only true values

  1. Add trigger.
    1. Select input object (KNX data point for push button)
    2. Select object value (value).
    3. Set condition to Equals.
    4. Set value to True.
    5. Check Allow Retrigger option (because button sends only true values).
  2. Add commands (e.g call Run() function from a Scene task)

Example 4: Pulse output

  1. Add trigger.
    1. Select input object (KNX data point)
    2. Select object value.
    3. Set condition to Equals.
    4. Set value to True.
  2. Add Delay command.
  3. Add Set Value command, which sets the input object back to false value.
Download Examples

RGBMixer

RGB Mixer converts color value into four integer values: red, green, blue and white. The range of RGB input/output values is in percentage (0-100%). RGB mixer

Picture 1: RGB mixer settings

Users can use 4 sliders to get the color they want. End color is displayed under the sliders.

RGB mixerUI

Picture 2: RGB mixer UI

Examples

Control RGB with KNX

To setup RGB with KNX, 4 objects (red, green, blue and white) of type DPT 8 Bit Unsigned Value with DTP_Scaling should be used for operating the RGB controller.

Download Example

Scene

Scene task is used for setting and storing a list of values. Scene can be predefined or learned by the user. Scene can be called by other tasks.

Scene

Picture 1: Scene settings

Scene Name defines the name of the scene displayed on the UI control. It can be changed in the user interface by setting the Allow Rename setting.

Delay setting can be used to execute the scene with a delay between each device. It can be used as a filter for scenes which are turning ON a lot of inductive loads.

Settings List contains the devices controlled by the scene. Each device has the enabled check box for temporary excluding the device in the scene.

Scene can be executed from other tasks by calling the Run function. Learn function can also be called to learn the scene (i.e. store the states of devices on the list)

User interface

Scene task has custom user interface for setting the scene form user interface. If Allow rename is enabled, user can here change the scene name. User can also add image for each scene for a better preview.

Control

Picture 2: Scene control

Examples

Example 1: Creating a lighting scene for a room

  1. Create a scene.
  2. Add all the lights in the room to the scene.
  3. Copy/paste the created scene to make multiple scene options.
  4. Set different values for each scene.
  5. Create user interface controls.

Example 2: Setting the heating mode

  1. Create a scene.
  2. Add all the thermostat setpoints in the building to the scene.
  3. Copy/paste the created scene to make multiple scene options.
  4. Set desired values for each scene.
  5. Create Program task to call the scenes according to the heating mode selected.
  6. Create a user interface control for user to allow to set the scene.

Example 3: Triggering scenes via KNX push buttons

  1. Program KNX push button to act as a toggle
  2. Create KNX push button group address.
  3. Create a scene.
  4. Create a program that will start scene when you press the KNX push button.
  5. Create a user interface control for user to allow to set the scene.
Download Examples

Schedule

Schedule task contains a list of commands that are executed at a preset time. Schedule can control devices, run scenes and programs or set different setpoints. Schedule contains a list of commands (Commands) that can be executed at preset time (Time Events).

Schedule

Picture 1: Schedule settings

Three different types of commands are supported:

  • Run Function: can call a node function (e.g. Run() function of a Program task).
  • Set Fixed Value: set a preset value to an object (e.g. turn light on).
  • Set Custom Value: enable user to specify the preset value (e.g. enable user to set the temperature).

Each time event has settings:

  • Enabled: If checked the event will be executed at a preset time.
  • Time: event time in hours and minutes.
  • Command: command (from the Schedule Commands list) to execute on specified time.
  • Repeat:
    • Daily: repeat every day.
    • Weekly: on specific day of the week.
    • Never: one time event on a specific date.
    • Monthly: on a specific day of month.
    • EveryNDays: on every N number of days.
  • Parameters: Repeat parameters.

User Interface

Schedule has a Schedule control for setting the schedule from theme panel.

Control

Picture 1: Schedule UI

Examples

Example 1: Turning ON/OFF the device every day at specified time

  1. Add Set Fixed Value command. Select the device and the desired value (e.g. ON).
  2. Add Set Fixed Value command. Select the device and the desired value (e.g. OFF).
  3. Create time events.
  4. Create user interface.

Example 2: Heating schedule

  1. Add Run Function command. Select the scene containing the desired heating setpoints.
  2. Add additional commands Run Function commands for all the heating scenes you want to call.
  3. Create time events.
  4. Create user interface.

Example 3: Set temperatures in schedule

  1. Add Set Custom Value command. Select the setpoint you want to control.
  2. Create time events.
  3. Create user interface. User will be able to set a custom setpoint value for each time event.
Download Examples

Thermostat

Thermostat is used for 2-point (ON/OFF) switching control of heating/cooling output depending on the current room and setpoint temperature.

Input Value can be linked to an object value representing the current room temperature. Output Value can be linked to an object value representing the heating output.

Thermostat

Picture 1: Thermostat settings

Enabled, Mode and Setpoint values can be changed from the user interface or from other tasks. Output Value can be shown on the user interface or used in other program tasks. Type two types of thermostat can be selected:

  • Switching: 2 - point ON/Off thermostat with hysteresis

  • PID: PID continuous control of the output (0-100%)

The Mode defines the heating or cooling mode of the thermostat. If the thermostat is in heating mode, Output Value is set to true and the heater turns on. When Input Value is equal or lower than Setpoint - Hysteresis, Output Value is set to false and the heater turns off. In cooling mode this functionality is reversed.

Continuous Output Value is used for controlling heater or valves from 0 to 100%.

Minimum and maximum setpoint values can be set for heating and cooling.

Examples

Example 1: Control electrical heater in a room with a temperature sensor

  1. Link the Input Value to the temperature sensor.
  2. Link the Output Value to the heater.
  3. Create logic (e.g. in Program or Schedule tasks to control the thermostat Enabled and Mode settings).
  4. Create user interface.
Download Example

Timer

Timer enables execution of commands delayed by preset time. It contains a list of commands that can be executed at timer events.

Timer countdown time can be set in Days, Hours, Minutes, Seconds. Custom commands can be executed for different timer events:

  • On start (On Start Command will be called).
  • On stop (On Stop Command will be called).
  • On pause (On Pause Command will be called).
  • On resume (On Resume Command will be called).
  • On reset (On Reset Command will be called):
  • On end (On End Command will be called).

Timer

Picture 1: Timer settings

Timer Commands setting contains the list of different commands used by timer. Two types of commands can be used:

  • Run Function: can call a node function (e.g. Run() function of a Program task).
  • Set Fixed Value: set a preset value to an object (e.g. turn light on).

Timer can be started and stopped with trigger conditions (Start Triggers and Stop Triggers). Timer can also be started and stopped, or paused and resumed, by calling the Start Timer, Stop Timer, Pause Timer, Resume Timer functions or by setting the Started or Paused values.

On End Command is executed when the timer countdown time is 0. Timer can run repeatedly until it is manually stopped by setting the Allow Restart setting.

If timer is running in case of configuration restart the On Stop Command is called. This can be used to turn OFF the devices running with timer (to prevent the devices staying ON).

Current Countdown value can be used in user interface to display the current timer status.

Examples

Example 1: Controlling a fan with a timer

  1. Create ON command (Fan = ON)
  2. Create OFF command (Fan = OFF)
  3. Optionally add Start Trigger for detecting when the Fan was switched ON manually.
  4. Optionally add Stop Trigger for detecting when the Fan was switched OFF manually.
  5. Link the On Start Command to "ON" command.
  6. Link the On Stop Command to "OFF" command. This ensures that fan is swicthed OFF in case of configuration restart.
  7. Link the On End Command to "OFF" command.
  8. Create user interface.
Download Example

Themes

Theme is the smart home visualization of bOS building automation system which is displayed on mobile devices (mobile phones, tablets, etc.).

Theme node contains the control templates and default colors which can be used in the smart home visualization themes.

bOS supports fully customizable smart home visualizations (Themes) that fit on any mobile device. Themes contain visualization panels which can be used to display an automatic layout (frames) or a floor plan layout (freely positioned controls). Panels are accessed through the bottom (category) and building navigation menu. Infinite number of subpanels can be added to any category.

Main Node defines the the visualization theme. Theme Panel and Menu Nodes can be added to the Main Node to create the visualization theme. Main Node is the home screen of the visualization theme. Theme Panel nodes define the visualization panels (e.g. rooms, categories). Menu Nodes define the menu structure of the visualization theme. The first level of Menu Nodes are displayed in the bottom menu. Theme Panels and Menu Nodes added under the first level Menu Node are displayed in the left menu.

Smart home theme tree

Picture 1: Example of visualization theme

Theme Editor

Theme Editor enables editing of the theme panels.

Building operating system theme editor

Picture 2: Theme Editor

Upper toolbar enables:

  • Frame: Add a frame control.
  • Object: Add user control linked to an object.
  • General: Add general control not linked to an object.
  • Delete: Delete selected controls.
  • Copy: Copy selected controls.
  • Paste: Paste selected controls.
  • Cut: Cut selected controls.
  • Up: Move selected control up (controls on Frame) or bring to front (control on Panel).
  • Down: Move selected control down (controls on Frame) or send to back (control on Panel).
  • Refresh: Refresh browser cache (can be used to refresh the images, if images are replaced).

Lower toolbar enables scrolling of panels and selected frames.

On the right the current panel and current selected controls settings are displayed. The settings editor filters the currently displayed properties depending on the selected control style.

Frame

Frame control is used for grouping of multiple controls. Frame control can be added by clicking on the Frame button. The Frame form will be displayed. A frame template can be selected under Template drop down box. By clicking on the Add button object will be added to the currently selected frame or to the panel if no frames are selected.

Object

Object control is a control linked to a specific configuration object. Object control can be added by clicking on the Object button or by drag and dropping an object from the configuration tree to the Theme Editor panel. The Object Control form will be displayed.

Smart home add UI

Picture 3: Add object control form

Add UI form displays the configuration tree from which an object can be selected. For each object the supported user interface controls are displayed in the Type drop down control. The list of controls can contain object specific object controls and universal controls linked to an object's value or function. Before adding the new user control, a template can be selected under Template drop down box. By clicking on the Add button object will be added to the currently selected frame or to the panel if no frames are selected.

The available styles are:

  • Automatic: Style is set automatically based on parent control (panel, frame, menu frame).

  • Control: Used as a UI control in frames.

Smart kitchen Control

Picture 4: Control template

  • Button: Used as a UI control in free positioning (e.g. Floor plan).

Smart Home Button

Picture 5: Button template

  • Icon: Used as a UI control in Menu Control.

Smart home design Icon

Picture 6: Icon template

  • Manual: Manually set all the appearance properties.

The available universal controls are:

  • Boolean: used for controlling ON/OFF, True/False, Enabled/Disabled object values.
    • Device: template for controlling devices.
    • Lamp: template for controlling lights.
    • Status: template for displaying status value.
    • Alert: template for displaying alert (e.g. Alarm sensor).
    • Set Button: template simulating set button.
  • Double: used for controlling analog object values.
    • Status: template for displaying status value (e.g. Current temperature).
    • Setpoint: template for setting value (e.g. Setpoint temperature)
    • Percent bar: template for displaying status value with progress bar.
  • Integer: used for controlling whole number object values.
    • Dimmer: template for controlling dimmers.
    • Shades: template for controlling shades.
    • Mode: template for controlling modes.
    • Status: template for displaying status value (e.g. Valve position status).
    • Setter: template for setting value (e.g. Valve position control).

The available object specific controls are:

  • AlarmPartition: keypad for controlling a DSC alarm partition.
  • AlarmPartitionLabel: text label showing the current DSC alarm partition status.
  • ColorPicker: color selection control for RGBMixer task or HUE lamp.
  • DataLogger: chart control for AnalogLog and CounterLog tasks.
  • DeviceState: control for setting the GlobalCache IRDevice status.
  • IPCamera: control for IPCamera device showing the IPCamera image.
  • Library: control for showing the XBMC library.
  • PanelLink: navigation control for Theme Panel node.
  • PlayList: control for showing the XBMC play list.
  • Remote: control for showing the XBMC remote control.
  • RSSReader: control for RSS device showing the RSS feed.
  • Scene: control for Scene task.
  • Schedule: control for Schedule task.
  • Weather: control for displaying the weather information for the Weather device.

General

General controls are controls which are not linked to a configuration object. General button opens the General Control form. Before adding the new user control, a control template can be selected under Control template drop down box. Templates can be fully customized under Templates node. By clicking on the Add button object will be added to the currently selected frame or to the panel if no frames are selected.

The available general controls are:

  • Spacer: empty space control used in frames to acchieve a specific control layout.
  • DateTime: control for showing the current date and time.
  • TextLabel: control for showing a static text value.
  • StartProgram: control for starting an application or opening a web page on the client device.
  • WebBrowser: control for showing an embedded web page.

;