   name: "Insteon"
   defaults:
     initialStatusCheck:   true # Check status on all devices upon connection?
-    batchCommandInterval: 2000 # How long to wait between repeated commands
+    batchCommandInterval: 2000 # How long to wait between repeated commands (ms)
+    proxyDevices:         {}   # Set "deviceId1": "deviceId2" to redirect all
+                               # status messages from the key device to the
+                               # value device. Also excludes the key device from
+                               # bulk status checks. Useful for controllers.
 
   initialize: ->
     super

        @setValid true
      else
        @discoverDevices()
    @_api.on 'error', =>
      @log 'warn', 'An Insteon error occurred'
    @_api.on 'command', (cmd) => @_handleCommandReceived(cmd)

  discoverDevices: ->

  _handleCommandReceived: (cmd) ->
    @log 'verbose', "Received Insteon command for device #{cmd.device_insteon_id}"
    node = @_nodesByHexId[cmd.device_insteon_id]
    proxyFor = @get('proxyDevices')[node.id]
    if proxyFor?
      node = @children.get(proxyFor)
      if node?
        @log 'verbose', "...proxied to #{node.id}"
      else
        @log 'warn', "Proxy target device #{proxyFor} does not exist!"
    if node?
      @log 'verbose', "Dispatching #{cmd.status} command to node #{node.id}"
      switch cmd.status
