/// <summary>
 /// Gets all Devices for an Energy Type
 /// </summary>
 /// <param name="accessToken">The OAuth2 access token</param>
 /// <param name="meterEnergyType">The MeterEnergyType by which to filter</param>
 /// <param name="resultHandler">The result handler</param>
 /// <returns></returns>
 public static async Task <IActionResult> GetDevicesAsync(
     string accessToken,
     MeterEnergyType meterEnergyType,
     ResultHandler <List <Device> > resultHandler)
 {
     using (var restApi = new SmartMeApiClient(accessToken))
     {
         return(await restApi.GetAsync <List <Device> >(
                    "DevicesByEnergy",
                    new Dictionary <string, object> {
             { "meterEnergyType", Enum.GetName(typeof(MeterEnergyType), meterEnergyType) }
         },
                    resultHandler
                    ));
     }
 }
 /// <summary>
 /// Gets all Devices for an Energy Type
 /// </summary>
 /// <param name="usernamePassword">The Username and Password for Basic Authentication</param>
 /// <param name="meterEnergyType">The MeterEnergyType by which to filter</param>
 /// <returns></returns>
 public static async Task <List <Device> > GetDevicesAsync(UserPassword usernamePassword, MeterEnergyType meterEnergyType)
 {
     using (var restApi = new SmartMeApiClient(usernamePassword))
     {
         return(await restApi.GetAsync <List <Device> >("DevicesByEnergy", new Dictionary <string, object> {
             { "meterEnergyType", Enum.GetName(typeof(MeterEnergyType), meterEnergyType) }
         }));
     }
 }