...
- Install the NETx BMS Server. The setup can be found here at our website.
- Download the following attachment. It contains all necessary files that are needed for this tutorial.
...
- Prepare a KNX project and export the ETS project using our NETx BMS app. The data points of this project shall be used within this tutorial. A tutorial that describes how a KNX project can be imported is provided here.
Info |
---|
Although it is using KNX data points, this tutorial can of course be used with other technologies like BACnet or Modbus. |
After having installed the NETx BMS Server, a new project called workspace has to be created. A workspace contains the whole configuration of a BMS server project. To do so, start the NETx BMS Studio and select the entry "`New New ..." ' within the "`WorkspaceWorkspace" ' menu.
Give the workspace a name (e.g. "`TutorialTutorial"'). Afterwards, a new workspace is created and the NETx BMS Server is restarted.
Import the KNX configuration data from the ETS
One advantage of KNX is that each KNX project is engineered using the engineering tool software called ETS -- independent which devices and which vendors are used within the KNX project. Therefore, the ETS holds the whole configuration data and is thus an important knowledge base for the NETx BMS Server. To ease the data exchange between the ETS and the NETx BMS Server, an ETS app called NETx BMS App is available. Using this app, the whole KNX configuration can be exported from the ETS and imported within the NETx BMS Server.
For this tutorial, the ETS app export of a KNX project is already available. This KNX project is for a demo case that we are using in our trainings. Import the export file "Demo Case Small.nxe" Import the export file (.nxe) of your KNX installation into the NETx BMS Server using the entry "Import NETx ETS app file ..." within the menu "KNX" of the NETx BMS Studio.
Select "Replace current definitions" and step through the wizard. After having finished the import, stop the NETx BMS Server and start it again in simulation mode.
\begin{figure}[H]
\centering
\includegraphics[width=14cm]{Screenshots/Item_Tree.png}
\caption{Item Tree}
\end{figure}
...
. Verify whether the KNX connection is working and whether you can control your KNX data points within the Item Tree of the NETx BMS Server.
Creating a visualization project using the BMS Client Editor
The NETx BMS Server includes a web server that can be used to create web based visualizations. To create a new visualization project, right-click at the "`Project Project Tree"', select "`New New visualization project ..." ' and give the project a name.
Afterwards, the BMS Client Editor (BCE) starts. The BCE is a tool for designing and creating web based visualizations. As next, a user name and a password have to be chosen. Then, the new project is opened and an empty visualization page is shown.
Creating a visualization page for floor 1
First, rename the visualization page to "Floor1" by selecting "Configuration ..." within the menu "Page".
As next, a background image shall be placed on the visualization page. To do so, select "Image" from the object catalog at the left hand side and drop the element on the empty page.
Then, doubledownload the image "Floor1.png" from here. Double-click the image and select the downloaded image file "`Floor1. png"' from the package file for this exercise. Afterwards, change to the tab "`PositionPosition/Layer" ' and enter "`00" ' for "`TopTop" ' and "`LeftLeft" ' and select "`BackgroundBackground" ' as layer \footnote{The "`Background"' (the "Background" layer is the last layer within the list). }. Now the image is moved to the top left corner and fixed to the background.
\begin{figure}[H]
\centering
\includegraphics[width=14cm]{Screenshots/Floor1.png}
\caption{Page "`Floor1"'}
\end{figure}
Hint: this visualization software is using the concept of layers. A layer is a
Info |
---|
The visualization software is using the concept of layers. A layer is a group of elements. Layers are independent of the visualization page - |
...
they are defined for the whole visualization project. Each layer has four properties that can be changed via the menu " |
...
Layer" |
...
, " |
...
Configuration ..." |
...
: |
\begin{itemize}
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
As seen at the end of the layer list, the flags " |
...
Enabled in editor" |
...
and " |
...
Enabled in visualization" |
...
are deactivated for the background layer. Therefore, the background image cannot be moved anymore. |
...
...
Creating a page for the second floor and add a link between the two pages
...
Create a new page by selecting the entry "`New New ..." ' within the menu "`PagePage"'. Give the page a name and select "`OkOk"'. Repeat the steps from the last section to place a background image on the new page. Use the image "`Floor2Floor2.png" ' from the package filethat can be downloaded here.
\begin{figure}[H]
\centering
\includegraphics[width=12cm]{Screenshots/Floor2.png}
\caption{Page "`Floor2"'}
\end{figure}
To create
To create a link between the pages, move back to the first page and drag \ & drop a "`Link Link Area" ' from the object catalog on the visualization page. Resize the link area and move it over the stairs of floor 1.
\begin{figure}[H]
\centering
\includegraphics[width=12cm]{Screenshots/Link_Area_Floor1.png}
\caption{Linking floor 1 to floor 2}
\end{figure}
Afterwards, double-click the link area, move to the "`Object"' tab and select "`Go to page"'
Afterwards, double-click the link area, move to the "Object" tab and select "Go to page" as function. Within the drop-down list, select the page floor 2. Then, change to the "`AppearanceAppearance" ' tab and deactivate the check box "`BorderBorder" ' - - this will hide the black border of the link area. Change to the page of floor 2, add another link area, move it over the stairs of floor 2 and link it to floor 1.
\begin{figure}[H]
\centering
\includegraphics[width=14cm]{Screenshots/Link_Area_Floor2.png}
\caption{Linking floor 2 to floor 1}
\end{figure}
Start the visualization by pressing the "`Start"' button
Start the visualization by pressing the "Start" button within the tool bar and test whether the navigation between the two pages are working.
...
Creating a navigation bar using a master page
...
Within most visualization projects, there will be elements that shall be shown on multiple pages. A typical example is a navigation bar that includes some buttons that shall be displayed on all pages. To avoid that these elements have to be copied to each page, the concept of master pages is provided. A master page acts like a template for visualization pages - - all elements that are placed on the master page are also shown on other pages which are configured to use this master page.
Create a new page called "`Master Master page"'. Within the configuration dialog, select the option "`Is Is master page"'.
\begin{figure}[H]
\centering
\includegraphics[width=7cm]{Screenshots/Create_Master_Page.png}
\caption{Create a master page}
\end{figure}
Then place a "`Back"' button on the master page. In addition to create your own buttons,
Then place a "Back" button on the master page. In addition to create your own buttons, some predefined buttons are already provided within the library. Select "`LibraryLibrary" ' from the object catalog, choose a color theme, and place a "`ButtonButton-Back-Rect" ' button on the bottom left corner. Double-click the button, change to the "`ObjectObject" ' tab and select "`Go Go to page" ' as function. As "`Linked Linked page" ' select "`Navigate Navigate back"'. Change to the "`PositionPosition/Layer" ' tab, change the width and height to "`7070" ' and close the dialog.
\begin{figure}[H]
\centering
\includegraphics[width=12cm]{Screenshots/Back_Button.png}
\caption{Back button}
\end{figure}
Afterwards, change to page "`Floor1"' and open the page configuration dialog. Within this dialog, select "`Use master page"'
Afterwards, change to page "Floor1" and open the page configuration dialog. Within this dialog, select "Use master page" and close the dialog again. Do the same for the other page. As a result, the back button of the master page will also be shown on the other pages.
\begin{figure}[H]
\centering
\includegraphics[width=10cm]{Screenshots/Use_Master_Page.png}
\caption{Using a master page}
\end{figure}
\section{Implementing lighting control}
As next, a simple on/off light shall be implemented on floor 1. From the library add a "`Button
Implementing lighting control
As next, a simple on/off light shall be implemented on floor 1. From the library add a "Button-Light-Rect" ' button. Double-click the button and change to the "`ObjectObject" ' tab. For implementing an on/off control, Depending on the configuration of the actuator, one or two KNX group addresses are needed -- one for . One KNX group address is needed of controlling the light and one that reflects . If there is a separate status object, one KNX group address that provides the current state of the light. Within the "`Server Server Item" ' list, add the control group address of light A (1/1/0) as "`Send"' corresponding addresses. If there is no separate status object, add the KNX group address and set the "Send" and "Receive" flag. If there is a separate status object, add KNX group address of controlling as "Send" and the status group address of light A (1/1/90) as "`ReceiveReceive"'. The following figure shows the correct configurationa possible configuration with separate status object. Verify the correct selection of the "`SendSend" ' and "`ReceiveReceive" ' flags.
\begin{figure}[H]
\centering
\includegraphics[width=14cm]{Screenshots/On_Off.png}
\caption{On/off light}
\end{figure}
Now
Now this simple on/off control shall be extended with a dimming functionality. Add a "`ButtonButton-Light-plus-Rect" ' and a "`ButtonButton-Light-minus-Rect" ' button to the existing on/off button. In KNX, dimming is realized using a 4 bit object. The first bit reflects the direction of the dimming command and the remaining 3 bits the step size. The following values can be used for dimming control:
\begin{itemize}
...
- 1001 → 9: this value is used to start dimming up to
...
- 100%
- 0001 → 1: this value is used to start dimming down to
...
- 0%
- 0000 → 0: this value is used to stop the dimming process
\end{itemize}
Double-click the "`PlusPlus" ' button and change to the "`ObjectObject" ' tab. Select "`ToggleToggle" ' as "`Operating Operating mode"'. "`ToggleToggle" ' means that the "`OnOn" ' value is sent when the button is pressed and the "`OffOff" ' value is sent when the button is released. Then select the 4 bit group address of light A (1/1/10)your light. As "`OnOn" ' value enter "`99" ' and as "`OffOff" ' value "`00"'. Repeat these steps for the "`MinusMinus" ' button. Use "`11" ' as "`OnOn" ' value and "`00" ' as "`OffOff" ' value.
\begin{figure}[H]
\centering
\includegraphics[width=11cm]{Screenshots/Dimming.png}
\caption{Dimming light}
\end{figure}
As next, the current brightness
As next, the current brightness value shall be visualized using a simple label. Insert a "`LabelLabel" ' control, double-click it and change to the "`ObjectObject" ' tab. As function select "`IndicatorIndicator"'. "`IndicatorIndicator" ' means that the label shows the current value of a data point. Select the group address that provides the current dimming value of light A (1/1/110).
\begin{figure}[H]
\centering
\includegraphics[width=11cm]{Screenshots/Dimming_State.png}
\caption{Dimming state}
\end{figure}
Now the label shows the raw value of the data point. In order to format it (e.g. limit the number of digits and adding a unit), a format string can be specified. The format string can be specified in the "`Appearance"' tab of the label configuration. Here some useful text formats are listed:
\begin{itemize}
\item $0~~"\%"$: this format string rounds a decimal to the nearest integer and adds a percent sign.
\item $0.0~~"°C"$: this format string always shows one digit after the comma and adds the unit degrees Celsius.
\end{itemize}
For a detailed description see Annex A.1 of the manual of the BMS Client Editor (available via the menu "`Help"').
\begin{figure}[H]
\centering
\includegraphics[width=10cm]{Screenshots/Text_Format.png}
\caption{Text format of a label}
\end{figure}
%\section{Implementing a blind control}
%\section{Implementing a heating control}
\section{your light.
Now the label shows the raw value of the data point. If the value is a 1 Byte KNX object defines as KNX DPT 5.010 (Value 1 UCount) or as EIS6, the value range is from 0 ... 255. To recalculate the value to 0% ... 100%, you can specific the scale factor "0,3922". If it is defined as KNX DPT 5.001 (Scaling), no scale factor is necessary since the BMS server is automatically recalculating the value to percentage as defined by the KNX standard. The following figure shown a group address within the BMS server which is calculated as DPT 5.001.
In order to format it (e.g. limit the number of digits and adding a unit), a format string can be specified. The format string can be specified in the "Appearance" tab of the label configuration. Here some useful text formats are listed:
- 0 "%": this format string rounds a decimal to the nearest integer and adds a percent sign.
- 0.0 "°C": this format string always shows one digit after the comma and adds the unit degrees Celsius.
For a detailed description see Annex A.1 of the manual of the BMS Client Editor (available via the menu "Help").
Implementing blind control
As next, a simple blind control shall be added to floor 1. Insert three new buttons from the library. "Button-Blinds-Up-Rect", "Button-Blinds-Down-Rect" and "Button-Stop-Rect" and place them at the top left corner of the visualization. Make them the same size as the other buttons and align them in a way that they have the same space and that the aligned according to the top edge. To achieve this, select them and use the corresponding menu entries within the context menu.
Double-click the "Down" button and change to the "Object" tab. As operating mode select "Toggle Down", select the KNX group address for Up/Down and enter "1" (1 means moving the blind down) within the text field for the value. Do the same for the "Up" button but use the value "0" (0 means moving the blind up). For the "Stop" button, select the KNX group address for "Slat adjustment/Stop" and enter "0" as value (0 means stopping the blind). The following figure shows the configuration of the "Down" button.
Heating/cooling room control
As next the functionality of a simple room controller for heating or cooling shall visualized. It shall consists of the following elements:
- Label that shows the current room temperature
- Label that shows the current setpoint
- + Button that is used to increase the setpoint
- - Button that is used to decrease the setpoint
First, insert two labels that the page of floor 1. Double-click the first one, select "Indicator" as function and select the corresponding KNX group address that provides the current room temperature. Do the same for the second label and link it to the KNX group address that provides the setpoint. The following figure shows the configuration of one of the label.
To make the display more user-friendly, the digits after the comma should be limited. In addition, the unit of the temperature shall be displayed. To achieve this, change to the appearance tab of the configurtion dialog of the label and use the following text format:
- 0.0 "°C": this format string always shows one digit after the comma and adds the unit degrees Celsius.
The following figure shows the configuration.
As next, insert two buttons for changing the setpoint. Use a "Button-Heating-Minus-Rect" and a "Button-Heating-Plus-Rect" from the library and place them next to the labels. Open the configuration dialog of the + Button and change to the "Object" tab. As operating mode select "+ Value", enter 0.2 in the text field "Step", activate the checkbox and enter "25" within the text field "Max. value". Within the Server Items list, select the KNX group address that provides the setpoint and activate the "Send" and "Receive" flag. Whenever the button is clicked, 0.2 is added to current setpoint and sent to KNX. This is done up to 25. Do the same of the - Button but use "- Value" as operating mode and "18" as minimum value. The following figure shows the configuration of the + Button.
Using popup windows
As you can see there are a lot of control elements within the visualization page "Floor 1". To make such a visualization page more easier to use, so called popup windows can be used. A popup windows is a group of elements that is shown only temporary.
To define a pop up windows for the blind control, select all three buttons of the blind control. Right-click on one of the three selected buttons and select "Group" within the "Grouping" menu. Within the dialog, enter a name for the group (e.g. "BlindGroup1") and select the checkbox "Popup window". Press "Ok" to close the dialog again.
Now the three buttons are defined as popup window. This means that the group is only shown in the visualization when they are activated by the user. Activating a popup windows can be done with a button or a link area. Within this tutorial, a link area shall be used. Insert a link area and place it over the window within the floor plan. Double-click the link area, move to the "Object" tab, select "Change popup visibility" as function, select the group name in the drop down box and "Switch On" as mode. Then, change to the "Appearance" tab, deactivate the check box "Border" and close the dialog.
Info |
---|
Instead of using a link area, a button can also be used to show a popup window. |
In order to test this functionality, start the visualization. After having started the visualization, the pop window is not shown. If you click on the link area, the popup window is shown and the controls can be used. When you click anywhere beside the elements the popup window is hidden again.
Info |
---|
In addition to automatically closing the popup window, a second link area or picture button can be used. For using this behavior "Auto close popup window" has to be set to "No" within the group configuration |
Testing the visualization in a web browser or on your smart phone
...
Each time the visualization project is saved, it is also transferred to the web server of the NETx BMS Server. To show the visualization within a web browser or on an Android or iOS device, a so called BMS Client has to be defined.
Minimize the BMS Client Editor and change back to NETx BMS Studio. Within the "`Project Tree"' add a new BMS Client definition.
\begin{figure}[H]
\centering
\includegraphics[width=6cm]{Screenshots/New_BMS_Client.png}
\caption{Add a new BMS Client}
\end{figure}
Within the configuration dialog, choose a name and select your visualization project within the drop-down box.
\begin{figure}[H]
\centering
\includegraphics[width=6cm]{Screenshots/New_BMS_Client2.png}
\caption{Select visualization project}
\end{figure}
Each time the visualization project is saved, it is also transferred to the web server of the NETx BMS Server. To show the visualization within a web browser or on an Android or iOS device, a so called BMS Client has to be defined.
Minimize the BMS Client Editor and change back to NETx BMS Studio. Within the "Project Tree" add a new BMS Client definition.
Within the configuration dialog, choose a name and select your visualization project within the drop-down box.
To show the visualization, simply double-click on the new BMS Client definition within the project tree. The visualization can also be accessed remotely. The URL is http
Info | ||
---|---|---|
| ||
http://<your IP>/<client name> |
...
For iOS and Android, a dedicated app called NETx Touch is available. This app can be downloaded from iTunes or Google Play Store for free. After starting the app, the connection setting (IP address of the NETx BMS Server, BMS Client name, user name, password, ...) have to be entered.
Please keep in mind that only one device can connect to a BMS Client definition at the same time. Therefore, you have to create a BMS Client definition for each device separatly (web browser, iOS or Android device).
Related articles
Filter by label (Content by label) | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Page Properties | |||
---|---|---|---|
| |||
|