Research Article

Design of a Secure Wireless Home Automation System with an Open Home Automation Bus (OpenHAB 2) Framework

Table 3

Software system tests and results.

TestExpected resultResultRemarks

Start the OpenHAB mobile applicationVerify OAuth token with the OpenHAB local server and cloud service, while the splash screen is shown, display login state if the token is invalid. Initialize the server connection, synchronize the current device states, and display the main pageSuccessfulWith Internet connectivity, 1.5 secs is required from splash screen to the main screen with a local server and 3.5 secs for an active cloud configuration device information and states
Switching between the local server and the cloud serviceSwitch from the local server to the cloud service when out of range of the local server and switching backSuccessfulAlso, prioritizes local server when back in range without compromising connection or device states
Create a new OpenHAB accountSave the user account details and issue the OAuth tokenSuccessful
Request from OpenHAB mobile to cloud service on OpenHAB webVerify the OAuth token if it passes, fetches the required data from the database, updates, and returns to OpenHAB serviceSuccessfulOne out of about 100 tries does not update on the app after the request is successful. Refreshing the app page, however, shows the updated state
Interact with a hardware control for a device on the OpenHAB Control PanelEffect change on the hardware device and send an update via MQTT to the OpenHAB server for relaying to all other clients then update cloud serviceSuccessful
Interact with a control for the power switch of an appliance in OpenHAB mobileSend change via MQTT to OpenHAB cloud service for relaying to the OpenHAB Control Panel (Raspberry Pi)SuccessfulUnless there is no active connection to either the local or cloud server, which is updated when there is a connection