Application:HomeControl

From WebOS Internals
Revision as of 21:18, 22 December 2011 by Oakridge outdoors (talk | contribs)
Jump to navigation Jump to 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.

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

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


There are no Windows specific features available at this time, but they are coming in future 0.8.x releases.

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. Then you can use npm to install hc-server: npm install hc-server
Then 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: 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.1 - Current 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 full playlist control / search etc.
- Winamp module for Music Player extension (will be the first test module for Windows)
- Window Media Player control if possible
- Windows mouse and keyboard support
- Windows sound/volume controller
- 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
- You have something else on your mind, then please let me know :)