Application:HomeControl

Overview
Home Control is an app that aims to provide means to control everything remotely controlled at your home. The current version is designed phones in mind (it will work nicely even with the small screen of Veer), but future versions will bring lot of changes for the UI when run in TouchPad. I haven't done much testing on TouchPad yet so if something is not working please let me know and I shall fix it.

General
The following general features do not require the server application. Use the IP/port info of the device (or computer where the app is running).

Boxee and XBMC control

Enables control of Boxee and XBMC (both devices and application running on a desktop machine).

Cisco IP surveillance (will be enabled soon)

Allows viewing of the cameras video feed in Home Control.

VLC video player control

Allows basic controlling of VLC video player, more advanced controls are coming. Requires the LUA interface to be enabled in the VLC.

TouchPad Surveillance Camera (will be enabled soon)

Enables using of the web cam in TouchPad as an security cam when placed on touchstone. You can also view the latest captured image on Home Control running on your phone (this needs the server application though).

Advanced
There are some advanced features that are not so obvious, specifically when using the app on devices with small screens (e.g. Veer). Devices with larger screens may display these features all the time.

Progress Bar

You can view the progress bar by tapping the currently playing song/video info (song/video needs to be playing or paused). The bar shows up for 5 seconds unless you start adjusting the position. Not all controllers support progress bar and it can even be media specific (streams can not be seeked usually).

Closing a Controller

You can close a controller by clicking its icon when the controller is selected. This will turn off any polling for that controller and close the application if the server side supports that. Starting the controller is simply done by selecting the controller which will also start the application if not already running.

Installation / Setup
Stable Releases

The stable releases of Home Control can be found in the WebOS-Internals feed and are recommended for general public use.

Testing Releases

The testing releases of Home Control can be found in the WebOS-Internals Alpha or Beta feeds WebOS-Internals Testing Feed.

Home Control Client
The following method can be used to install Home Control client.

Preware


 * 1) Open Preware
 * 2) Start typing “Home Control” (no quotes)
 * 3) Tap the corresponding app from the list
 * 4) Tap the Install button

Or


 * 1) Open Preware
 * 2) Tap Available Packages
 * 3) Tap Applications > Utilities (e.g. Home Control)
 * 4) Tap the Install button

Setup

Adding A Server Server Type:

This setting determines the server type that you'll be connecting to for managing the controller.

Server / Device:

All currently supported controllers need the server address of the device/HC server. The format for the address is :, if username/password is needed then: : @ : For the controllers that need the Home Control server, the address is the IP address of the computer running the server application and the port is 3000. For the other controllers that control the devices/applications directly you need to see the device/application configuration for the username/password and address/port configuration.

Home Control Server
The following can be used to install the Home Control server application.

The Home Control server application can be installed on Linux, OS X and Windows. See the available OS specific features above.

To install the server application you need to have working installation of node.js (version 0.6.x of node is recommended, although everything should work with the 0.4.x version as well) and npm. The latest node.js already comes with npm so just download and install the latest version from: http://nodejs.org. Then you can use npm to install hc-server: npm install hc-server

Once node.js is installed you can run the server by entering the node_modules/hc-server directory (note that with older 0.4.x node.js the installation directory is bit different) and executing: node hc-server.js

Verify that the port that the hc-server uses (default: 3000) is not accessible from outside your local area network. If you want to make the server accessible outside of your local area network then you should configure the server to require user authentication.

Setup

You can edit the following default values by editing the config.js file.


 * Authentication username and password (default: none)
 * Port for HTTP connections (default: 3000)
 * Port for SSD queries (default: 1900)

Boxee / XBMC
See the Boxee/XBMC configuration for the address/port setup. The default port is 8080.

VLC
To enable the controlling in VLC select 'Add Interface' from the menus and select 'Web Interface'. Then you can configure the controller in Home Control by using the IP address of the computer running the VLC and default port 8080.

Or you can just start VLC from command line with following parameters: vlc --extraintf=luaintf --lua-intf=http

Rhythmbox
To get all features you need to have dbus-send command line application installed. It comes pre-installed with many distributions.

Totem
To get all features you need to have dbus-send command line application installed. It comes pre-installed with many distributions. You also need to enable dbus-service plugin in Totem.

Mouse control in OS X
This will most likely require some too, but this is not implemented yet...

Mouse / Keyboard control in Windows
You might get mouse / keyboard control working already by installing XMing or Cygwin/X for Windows. I haven't tested this method though. Proper support coming in future releases.

Troubleshooting / FAQ
Q: I get the following error in windows: Cannot find module connect-form

A: There is currently a bug in Windows npm, you need to edit the node_modules/connect-form/package.json and change the "index.js" into "lib/connect-form". Then it should work.

Q: I get the following error: bind EADDRINUSE?

A: Then the default ports that HC server uses are reserved by some other service and you need to try different ports. You can set the ports with command line parameters: -p  

Q: I am getting an inaccurate Rhythmbox status?

A: If the status in Home Control is not showing correct status after you change the playback state from the Rhythmbox then you most likely don't have dbus-send command installed in your system. It is needed for Home Control server to get the playback status from Rhythmbox.

Q: I seem to have limited controls for Totem...?

A: If the status and controls in Home Control for Totem are limited (i.e. no current video info for example) then you most likely don't have dbus-send installed or you don't have dbus service plugin enabled/installed in Totem. Those are required for better control of Totem.

Supporting Development
You should also donate to Donald Kirker for his awesome work on the UPNP support which is coming soon! To donate to him click the button below:

Official Developer Project Page

 * Current and Legacy Projects

Official Forum

 * Official PreCentral Forum Thread

Official Twitter Account

 * Follow Home Control on Twitter: @therealsconix

Changelog

 * 0.8.5 - Current Public Release - (Jan. 8rd, 2012)
 * Added support for deleting configured devices/servers
 * Added power controlling extension
 * Additional fixes for user interface


 * 0.8.4 - Current Public Release - (Jan. 8rd, 2012)
 * Fixed small bug in UI rotation when used on TouchPad


 * 0.8.3 - Old Public Release - (Jan. 8rd, 2012)
 * Lots of interface fixes/changes for TouchPad
 * Added support for Windows sound control
 * Added support for Amarok music player


 * 0.8.2 - Old Public Release - (Dec. 25rd, 2011)
 * Added support for Winamp music player


 * 0.8.1 - Old Public Release - (Dec. 20rd, 2011)
 * Fixed small bug in manual adding of servers


 * 0.8.0 - First Public Release - (Dec. 20rd, 2011)
 * First public release

Future features
- Extend the already supported modules with more controls - Window Media Player control if possible - Windows mouse and keyboard support - Windows input sound controlling - OS X mouse control - IP / Web Camera support for surveillance / monitoring with motion detection - Support for IR controlled devices - UPNP module for controlling UPNP devices - Power controller for turning off / rebooting for OS X and Windows - You have something else on your mind, then please let me know :)