This project is read-only.

The configuration (or Config) consists of a set of XML files that govern the run-time behavior of a HomeOS instance (Home Hub).

Config defines which sensors/devices are associated with the Home Hub, which drivers and apps are running, which users have access to the Home Hub and to which apps, and many other parameters. All of the configuration files for a Home Hub are stored in \Hub\output\Configs (each subdirectory contains a set of config files that defines a unique configuration).

Home Hubs are designed to frequently (every 5 minutes) interface with a Windows Azure Blobstore to report a part of their Config and apply updates to their Config (if any). By default, a Home Hub reports the modules, scouts, services, and access rules it's running under (stored in the Scouts.xml, Modules.xml, Services.xml, and Rules.xml files in the Config folder, respectively). 


Defines the settings for the hub and a study. This is the most critical of all settings files. Many of the elements are automatically filled in by the platform once you've started and run the platform. Some of the them you may want to define before you run the platform, for example, some of the ID's and data store information.  

The following table describes each entry.




Organization ID for the study.


ID of the study itself.


The unique ID for the home hub. This ID is checked by the Lab of Things cloud services for uniqueness. If you pick an ID that's not unique, the hub will not be registered with the cloud services and you will not be able access or monitor the hub remotely. 


Directory for the config to use. By default, it is is \output\Configs\Config\ if you run the batch file (startplatform.bat) to start the platform


Working directory for use by modules. 


Select which running mode to use.


Prevents platform from going online if set to True.




Logfile to use.


Directory to use for archival log storage.


Number of lines written to log file before it is uploaded to server (default:1000)


Set whether to automatically synchronize log files.








Base directory for Home Store files.


Base directory for Home Store repository URIs.


URI for the gatekeeper.


Host name for the heartbeat service.


Name of the Windows Azure blob storage account to use.


Key for the Windows Azure blob storage account.


Time between config lookups, in milliseconds.


Time between Home Store refreshes, in minutes.


Mode to use for the heartbeat service.


Lab of Things provides an email notification service which you can call from your apps to send emails. The service is hosted at



Defines the scouts to run.

The following example shows the default contents of Scouts.xml:

  <Scout Name="HomeOS.Hub.Scouts.WebCam" DllName="HomeOS.Hub.Scouts.WebCam.dll"/>
  <Scout Name="HomeOS.Hub.Scouts.Foscam" DllName="HomeOS.Hub.Scouts.Foscam.dll"/>
<Scout Name="HomeOS.Hub.Scouts.Gadgeteer" DllName="HomeOS.Hub.Scouts.Gadgeteer.dll"/>
<Scout Name="HomeOS.Hub.Scouts.Kinect" DllName="HomeOS.Hub.Scouts.Kinect.dll"/>
 <Scout Name="HomeOS.Hub.Scouts.AxisCam" DllName="HomeOS.Hub.Scouts.AxisCam.dll"/>

Depending on what you need, you may add new or uncomment some of the commented-out entries before you run the platform.

Before you configure what scouts to run in Scouts.xml, make sure you've built the scout projects


Lists the modules that have been added. When you add a device or an app through the dashboard UI, the entries of those modules will be kept in this file. You can add or remove entries from this file to add or remove modules before you run the platform. Or, you can use the Remote Update infrastructure to add/remove modules   

Note that by default only the zwave driver module is in this file, because the zwave devices do not rely on scouts for discovery so this entry enable the zwave driver to run if it's present. (To learn about how to obtain the z-wave driver see this page.)

  <!-- zwave driver -->
  <Module FriendlyName="zwavezensys" AppName="zwave driver based on zensys sdk" BinaryName="HomeOS.Hub.Drivers.ZwaveZensys_4_55" AutoStart="1" Background="1">
    <Args Count="0"/>


The following config files are typically written by the platform once you have gone through setup in the Dashboard:

  • Devices.xml
  • Globals.xml 
  • Locations.xml
  • Rules.xml
  • PrivateSettings.xml
  • Users.xml
  • Services.xml 




Last edited Nov 26, 2014 at 12:36 AM by ajbernheimbrush, version 7


No comments yet.