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

Settings.xml

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.

Entry

Description

OrgId

Organization ID for the study.

StudyId

ID of the study itself.

HomeId

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. 

ConfigDir

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

ModuleWorkingDirBase

Working directory for use by modules. 

RunningMode

Select which running mode to use.

StayOffline

Prevents platform from going online if set to True.

EnforcePolicies

 

LogFile

Logfile to use.

LogArchivalDir

Directory to use for archival log storage.

LogRotationThreshold

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

AutoSyncLogs

Set whether to automatically synchronize log files.

PortRegisterDelay

 

MaxStopExecutionTime

 

MaxFinallyBlockExecutionTime

 

HomeStoreBase

Base directory for Home Store files.

RepositoryURIs

Base directory for Home Store repository URIs.

GatekeeperURI

URI for the gatekeeper.

HeartbeatServiceHost

Host name for the heartbeat service.

DataStoreAccountName

Name of the Windows Azure blob storage account to use.

DataStoreAccountKey

Key for the Windows Azure blob storage account.

ConfigLookupFrequency

Time between config lookups, in milliseconds.

HomeStoreRefreshIntervalMins

Time between Home Store refreshes, in minutes.

HeartbeatServiceMode

Mode to use for the heartbeat service.

EmailServiceHost

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

 

Scouts.xml

Defines the scouts to run.

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

<Scouts>
  <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"/>
-->
</Scouts>
 

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

Modules.xml

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

<Modules>
  <!-- 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"/>
  </Module>
</Modules>

 

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 25, 2014 at 11:36 PM by ajbernheimbrush, version 7

Comments

No comments yet.