/// <summary> /// Get all available module types. /// </summary> /// <param name="type"></param> /// <param name="tag"></param> /// <param name="token"></param> /// <returns></returns> internal Task <List <T> > GetModuleTypesAsync <T>(RuleMemberType type, string tag = default(string), CancellationToken token = default(CancellationToken)) { var typeParameter = !string.IsNullOrWhiteSpace(type.ToString()) ? new ResourceParameter("type", type.ToString()) : null; var tagsParameter = !string.IsNullOrWhiteSpace(tag) ? new ResourceParameter("tags", tag) : null; var parameters = Resource.FormatParameters(typeParameter, tagsParameter); var resource = $"/module-types{parameters}"; return(OpenHab.RestClient.ExecuteRequestAsync <List <T> >(Method.GET, resource, token: token)); }
/// <summary> /// Get all available module types. /// </summary> /// <param name="type"></param> /// <param name="tag"></param> /// <returns></returns> public List <ModuleType> GetModuleTypes(RuleMemberType type, string tag = default(string)) { return(GetModuleTypesAsync(type, tag).Result); }