Esempio n. 1
0
 internal void DisposeConnection()
 {
     if (_lgTvApi != null)
     {
         _lgTvApi.Dispose();
         _lgTvApi = null;
     }
 }
Esempio n. 2
0
        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);
            }
        }
Esempio n. 3
0
        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);
                }
            }
        }