code: function getUserAuthToken (email, password) {
    debug('retrieve userAuthToken from logitech for email ' + email)
  
    var deferred = Q.defer()
  
    request.post({
      method: 'post',
      url: logitechUrl,
      json: true,
      body: {
        email: email,
        password: password
      }
    }, function (error, response, body) {
      if (!error) {
        if (!body.ErrorCode) {
          debug('userAuthToken retrieved')
  
          var authToken = body.GetUserAuthTokenResult.UserAuthToken
          debug('authToken: ' + authToken)
  
          deferred.resolve(authToken)
        } else {
          debug('failed to retrieve userAuthToken')
  
          deferred.reject(new Error(
            'Could not retrieve userAuthToken via Logitech! ' +
            'Please check email & password.'
          ))
        }
      } else {
        debug('HTTP error: ' + error)
        deferred.reject(error)
      }
    })
  
    return deferred.promise
  }
docs: Function: getUserAuthToken
  Connects to Logitechs web service to retrieve a userAuthToken. This token
  then can be used to login to a Harmony hub as guest.
  
  Parameters:
  (String) email - E-mail address of a Harmony account
  (String) password - Password of a Harmony account
  
  Returns:
  (Q.promise) - When resolved, passes the userAuthToken.