Functionalities
A page refering the various functionalities of the simulator DomoSim.
Functionalities of the simulator DomoSim
The various functionalities of the simulator DomoSim can help the user to fulfill his objectives of testing various domotic scenarios and then modeling the domotic system.
Definitions of the various functionalities
- Selection of devices - It is possible to view and select the domotic devices, organized according to the type of service,
device's type, location in the house or simply view all the devices in the system.
- Properties - it is possible to read and write values in the devices' properties depending on the user's access level,
and also set the properties to be of Normal or Action type (when changed, goes back to its initial state) and of
Invalid type (the property's value is unknown).
- Supervisor - It offers the possibility of a dependency relationship between the various domotic devices, thanks to the functionality DevicesScripts (supervisor's rules), which can be done by an external application. Thus, it allows the implementation of a simple mechanism of automation for the system.
- DevicesScripts - It allows to associate scripts to certain values of a property of the respective device. For example, if
the device Switch has the value On in its On-Off property, then the simulator will run a script that will write the value On
in the On-Off property of the device Lamp. The commands allowed for these scripts are:
- Set 'device' 'property' 'value' to change a value of a property of a device;
- Wait 'number in seconds' to pause in the execution of script;
- At 'data' 'time' or At 'time' to schedule the execution of the following commands from script.
- Communication Window - It allows the user to send UDP messages to other machines (SET, GET and NOTIFY) and receive them from other machines (SET, GET, ANSWER-GET, NOTIFY and ERROR).
- CommunicationScripts - The user can send multiple UDP messages in sequence, which are:
- SET 'DomoAddress' 'device' 'property' 'value' to change a value of a property of a device in the machine given by the DomoAddress specified;
- GET 'DomoAddress' 'device' 'property' to get the value of a property of a device in the machine given by the DomoAddress specified;
- NOTIFY 'device' 'property' 'value' to change a value of a property of a device in machines that have subscribed this property of this device;
- Wait 'number in seconds' to pause in the execution of communicationScript;
- At 'data' 'time' or At 'time' to schedule the execution of the following commands from communicationScript.
- NOTIFY Subscribers - When sending the NOTIFY messages from the simulator, it will only send these messages to the machines that have subscribed certain property of a device.
- Favourites - There is a section in the simulator that contains the favourites divisions, services, types of devices and existing devices of each user to have quick access to them. The favorite data is listed in the XML file of the specification of the users.
- Edit XML File - The simulator allows to edit the XML file with the specification of the home automation system, and so becomes flexible and easy to change the home automation system according to the needs and desires of the user.
- Load XML file - The simulator opens the XML file with the complete specification of the home automation system, and then it is possible to select the devices, divisions, floors, services or types of devices to simulate in order to be easier the organization of the information in the simulator.
- States - It is possible to the user to save a state of the simulator, this is, store the values of the respective properties of each device in a text file to work later or to save an important situation. It also allows to open files with states, this is, put the stored values of the text file in the respective properties of each device in order to allow the continuation of previous simulations.
- Workspaces - It is possible to save the devices and the respective positions in the various workspaces, in order to save significant situations for the user. It also becomes useful when the user needs to repeat several times the same simulation scenario;
- Scripts - The user can save a script in a text file, open a script from a text file and stop
the execution, allowing him to run multiple commands in sequence, namely:
- Set 'device' 'property' 'value' to change a value of a property of a device;
- Wait 'number in seconds' to pause in the execution of script;
- At 'data' 'time' or At 'time' to schedule the execution of the following commands from script.
- AutoScript - It allows the user to assign values to properties of certain devices automatically.
For example, a case that fits this situation is the value read by a temperature sensor over a day. The commands allowed for the autoScript are:
- Set 'device' 'property' 'value' to change a value of a property of a device;
- At 'data' 'time' or At 'time' to schedule the execution of the following Set commands of the autoScript until the next At command, when the value given by the At command is equal to the Simulation Time.
- Alarm - It indicates the user the activation of certain undesirable situations, dynamically defined by the user in the simulator, due to certain values of the respective devices' properties. For example, excessive volume of a TV or too low lamp's brightness. It also shows information about these events and the relevant devices that originated this alarm.
- Simulation Time - with this feature, it is possible to control the day and the time of the simulation chosen by the user. It is extremely important for the functionality
of all kinds of scripts and verify the domotic scenarios throughout a minute, an hour or even a day.
- Access List - It is possible to observe the access made by users in the simulator (login), and their level of access.
- Users' login - The user must be described in the XML file of users and have a folder with his name and the XML with the specification of the home automation system to login
in the simulator.
- Users' folder - Each user has a folder with his name that can open at any time to check the files in it.
- Help - In the simulator, there are plenty of tutorials and information on the various existing commands and features.
