Wednesday, November 3, 2010

HomeAutomation Client Beta is Ready

As promised, I am posting the Beta today. I needed to put together the screenshots and post the source files online. As usual, the files have all been posted on and the folder is embedded below. As my post last night implied, there is still some work to be done on the code, including commenting and cleanup in addition to the user error proofing. 

The Main Activity Screen is the meat and potatos of the app. Currently, the app is only designed to send commands one way. There is a response that is currently being displayed, just not used for anything yet. If nothing has been configured, the app will load and won't do anything. The digital button will toggle and the Analog slider will move, but that is about it. 

This is just a shot of the Main menu. Clicking "Exit", does just what it implies. "Config" launches a list of configuration options for selection as in the next Screen shot

These are the configuration options. "Rooms" will bring you into the room configuration activity, "Units" for configuring the devices in the rooms, and "Server" for defining the IP/Host Address of the server (Arduino with my version of the Webduino server).

This is the Room Configuration Activity Screen. The room code is a spinner with the options of 'A' through 'P' to match the X10 House Code range. The name is the user defined name to associate with the room code. I think I will be rearranging the order of the components to keep the Name field at the top.

The "DELETE ALL ROOMS" button is my way of being able to delete rooms without having to worry about the functionality of one at a time.

The buttons on the bottom are accessible through the menu. I think I prefer the menus, but I had issues with the Delete code working when implemented through the menu.

This is the Device, or Unit, Configuration activity. Similar to the Room with additional properties unique to devices. The Room Code and Device Codes support the X10 values of 'A' through 'P' and 1 through 16 respectively.

The "DELETE ALL UNITS" is just like the Room Configuration's "Delete.." button just for the configured Devices.

This screen also utilizes the Room Configuration's menu for saving/canceling. This screen is the reason I prefer the menu option for Delete as well. I think it makes the screens look cleaner. I hope to resolve the issue before the 1.0 release.
This is the activity screen for modifying the server IP Address. The IP address that is already configured will populate the "Server" text field when launched.

I have my Arduino set up on my home LAN at the address shown. I plan on exposing my Arduino to the web, but want to figure out how I will authenticate to ensure the commands come from me or somebody I have provided the necessary authentication information. This feature is definitely not going to be in the 1.0 release as I need to figure out the Arduino side first.

The "Update" button does as it suggests and updates the client to use the Server IP address in the Edit text. I didn't use the menu here as I only needed to save. The cancel can be performed by hitting the phone's back button and returning to the Main Activity.

This is the Main Activity again, but now there are items selected and the send button was pressed. The Toast message is the entire HTTP Request string as it was sent to the server. I am displaying this for my current debugging needs.

This is a response received from the Arduino. I am displaying the JSON response with a Toast Message for debugging purposes.

Overall, the functionality is still relatively simple, but it is just the beta for what will be a 1.0 release. I am pretty excited about finishing this. Once I am done with the 1.0, I have to go back to my Arduino server to finish implementing some functionality there. With the tasks left, I am feeling optimistic about my time frame for doing my actual home testing. I will continue to post project updates throughout the process.

No comments:

Post a Comment