Application:HomeControl

From WebOS Internals

Jump to: navigation, search
Home control.png

Overview

Icon Home-Control.png

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.



Features

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).

OS Specific
Linux Specific


The following features require the Home Control server software to be running on the machine.

Status information
Shows temperature information from 1-wire temperature sensors connected to the computer.

Mouse and keyboard control
Allows full mouse and keyboard control.

Display / Computer power control
Allows controlling of display and computer power state.

PulseAudio Mixer / Sound control
Allows controlling of system volume and other sound stuff.

Amarok, Banshee, Rhythmbox and MPD music player control
Allows basic controlling of these music player applications including ability to select playlists / search songs / add songs into the queue etc. At the moment Banshee and Rhythmbox only have basic control, no playlist control support.

Totem video player control
Allows basic controlling of Totem video player, more advanced controls are coming.

Windows Specific


Winamp music player control
Allows basic controlling of Winamp music player. You will need to install remotecontrol-for-winamp and JTFE plugins for the Winamp.

Remote control plugin: http://code.google.com/p/remotecontrol-for-winamp/
JTFE plugin: http://nunzioweb.com/daz/jtfe.html

System Sound Mixer / Volume
Enables system output volume and mute control.

Mac OSX Specific


The following features require the Home Control server software to be running on the machine.

Mouse and keyboard control
Allows full mouse and keyboard control. Currently only keyboard control enable, the mouse support will come in later releases.

Front Row controlling
Enables control of Front Row application.

iTunes music player
Enables control of iTunes application with ability to view playlists and select the playlist to play with possibility to search a song for playing.

QuickTime video player
Enables control of QuikTime Player application. Requires relative new QuickTime Player version!

System Sound Mixer / Volume
Enables system input / output volume and mute control.


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 <address>:<port>, if username/password is needed then: <user>:<password>@<address>:<port>

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)


Configuration / Usage

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 <http_port> <ssd_port>

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.


Resources

Supporting Development
Btn donateCC LG.gif

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:

Btn donateCC LG.gif
Official Developer Project Page
Official Forum
Official Twitter Account


Status

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 :)
Personal tools
Google AdSense