Whenever control functionality cannot be added by using the mechanisms mentioned before (e.g. Task definitions), the scripting engine of the NETx BMS Core Server can be used. This scripting engine provides the opportunity to execute LUA scripts that implement the required control functionality.
Using LUA scripts, the user has full access to the functionality of the server – nearly any control functionality can be implemented this way. Moreover, most of the provided functionality can also be changed during runtime and so LUA scripts provide one of the most flexible ways to extend the functionality of the NETx BMS Core Server system.
LUA itself is an open source scripting language. There are two main reasons why LUA was chosen as scripting language: First, LUA is very fast and so LUA scripts scale to large systems, which is of utmost importance in the building automation domain – LUA scripts can handle thousands of data points. Second, due to the simple syntax of LUA, LUA scripting can easily be learned – even for beginners it is easy to write their own LUA scripts.
The current version of the NETx BMS Platform and NETx MP Server uses LUA 5.1.
The next version of the NETx BMS Platform R3 will use LUA 5.4.
However, as it is common for each programming language, some basic training is necessary to write LUA scripts. For the general syntax of the LUA scripting language please refer to http://www.lua.org . Here, tutorials and how-to's can be found, which are good starting points for beginners.
LUA scripts are stored in normal text files that have the extension ".lua".