Device Usage Report  (IndigoWebServer Plug-In)

Contributed by: Jay Martin    Forum username: jay (support)

Overview

This plugin will generate a report for the specified day (yesterday by default) that shows how long each device was on for that day (in minutes). The plugin makes a couple of assumptions:

  1. All times are in local time, so the values may be a little odd on days when DST changes.
  2. If the first command seen for a device is to turn it OFF, the plugin assumes that the device was on since midnight.
  3. For any device whose last command seen was an ON, the plugin assumes that it was on up to midnight.
  4. The report doesn't currently include Thermostats, Sprinklers, and IO devices - it does however include some devices that may not make any sense, specifically motion sensors.

This report should be used only as rough insight into what devices in your home are used most. It requires that SQL logging be turned on and SQLite as the database type. The plugin reads all the necessary config information from the IndigoSqlClient.conf file that you must configure in order to make SQL logging work correctly.

_NOTE_: When the IndigoServer first starts up or switches Indigo Databases broadcasts some device state changes during the startup process that the SQL logger then adds to the log database. Unfortunately, these don't actually represent real state changes. However, from the plugin perspective, it's not possible to distinguish these from normal state changes. Therefore, you may see some days that contain erroneous data. Unfortunately, until we figure out a good solution for those errant changes, you may need to just skip days where you restarted the IndigoServer.

Installation

To install this plugin drag the "usageReporter" folder to the following location:

/Library/Application Support/Perceptive Automation/Indigo 4/IndigoWebServer/plugins/

and restart the server. Also, you MUST have SQL logging turned on and configured properly (only SQLite is currently supported).

Usage