public override async Task InitializeAsync(DeviceConfigurationModel configuration) { await base.InitializeAsync(configuration); _etatouchUrl = configuration.Properties["ConnectionString"]; _menustructure = await GetMenuStructureFromEtaAsync(); await ParseChannelListAsync(_menustructure, _channels); }
public async Task InitializeDevicesAsync(DeviceConfigurationModel configurationObject) { foreach (var configuration in configurationObject.DevicePluginConfigurations) { try { var deviceInstance = (IDevice)ServiceLocator.Current.GetInstance(_deviceTypes[configuration.Type]); _deviceList.Add(configuration.Name, deviceInstance); await deviceInstance.InitializeAsync(configuration); } catch (Exception ex) { _log.Error(ex, "Error while initializing plugin " + configuration.Name); } } }
public async Task <bool> SetDeviceConfigurationAsync(string deviceId, DeviceConfigurationModel configuration, CancellationToken cancellationToken) { if (string.IsNullOrWhiteSpace(deviceId)) { throw new ArgumentException(nameof(deviceId)); } if (configuration == null) { throw new ArgumentNullException(nameof(configuration)); } var uri = this.CreateAPIUri(null, $"api/devices/{deviceId}/configuration"); string configurationJson = JsonConvert.SerializeObject(configuration, Formatting.None); var putContent = new StringContent(configurationJson, Encoding.UTF8, "application/json"); var response = await this._httpClient.PutAsync(uri, putContent, cancellationToken); return(response.IsSuccessStatusCode); }
public virtual async Task InitializeAsync(DeviceConfigurationModel configuration) { _name = configuration.Name; _type = configuration.Type; }