

![0_image_1.png](0_image_1.png)

C. Connecting to house remote controlling *systems* There are a number of houses remote controlling projects which controlling the devices of a smart house remotely via web or mobile messaging systems. 

The proposed simulator can connect to the server of these systems through a network or web. Users can observe the designing simulated house by using internet or via a network and define a task to be done and then send it as a command to the house remote controlling server. The simulator is always checking the server and applies the commands on proper devices. 

After each tasks done, the simulator send the updated status of each device to the server. The format of updated status for sending to the server should be in a certain format as Fig. 5 illustrates. This feature enables the use of this simulator as a good substitution for smart houses testing facilities. 

![0_image_0.png](0_image_0.png)

Figure 5: The fields in the packet used to send data to smart house remote controlling server 

## D. Planning Scenarios

Scenarios make it easy for people saving the list of actions for further use, in addition to design multiple actions to be done in a single scenario. Later the scenarios can be enabled / disabled in the scenarios list or be used in another scenario too. Cheng, Wang and Chen proposed a reasoning system for smart houses that is also scenario based [10]. 

One of the capabilities of this simulator, which distinct it from other smart house simulators is the ability of creating scenarios. Each scenario consists of some scheduled tasks and each scheduled task defines a particular action for executing on a special device. As it is shown in figure 5, each scenario has a name and first executing time and date. It means for the first time that a scenario will be executed, user should define the date and time of executing it. A repeating time is considered to repeat the scenario automatically after the first time it executed, and there is no need that user each time Enable the scenario. 

So by using a scenario, a set of tasks will execute continuously. As it is shown in the Fig. 6, a delay time is considered for each task which was selected to be added in a scenario. This means as soon as a scenario executes, a set of selected tasks will be run after its defined time passed from the previous executed task. 

User can define each schedule and set a combination of specified schedules as a scenario. Scenarios are used for testing various possible combinations of device states; so different criteria and variables can be simply evaluated, without the need of experimenting on a real environment. The scenarios are designed to set a number of tasks all in one place for further and easier use [11]. 

## Iv. Evaluation

To evaluate the proposed Smart House Simulator we considered a set of scheduled tasks which created by user via the proposed software and then execute them on defined device at the defined time. 

In order to create a test plan for simulating via proposed simulator, first user should design a house plane and defines different home appliances and sensors and assign related sensors to each appliance. Then via the "define scheduled task" some tasks should be created on desired objects which are used in the house. 

Each task executes on a special device at a specific time and date and set the device's sensor to defined data. Also a scenario can be created via proposed smart house simulator as it described in planning scenarios section. 

Scenarios are a set of these tasks which user has create them via "scheduled a task" form without considering their Time and date. 