internal void DisposeConnection() { if (_lgTvApi != null) { _lgTvApi.Dispose(); _lgTvApi = null; } }
public async Task <bool> ConnectToSelectedDevice(int retries = 3) { try { DisposeConnection(); _lgTvApi = await LgTvApi.CreateLgTvApi(SelectedDevice.IpAddress, retries); return(_lgTvApi != null); } catch (Exception ex) { string logMessage = ex.ToLogString(Environment.StackTrace); Logger.Error($"Error while connecting to {SelectedDevice.IpAddress}: {logMessage}"); return(false); } }
private async Task ExecuteSteps(LgTvApi api, LgPreset preset) { var mouse = await api.GetMouse(); foreach (var step in preset.steps) { var keySpec = step.Split(':'); var key = keySpec[0].ToUpper(); if (_invokableActions.ContainsKey(key)) { continue; } if (keySpec.Length == 2) { SendKey(mouse, key, int.Parse(keySpec[1])); } else { SendKey(mouse, key); } } }