private bool WaitForMode(FiMode mode, TimeSpan timeout)
        {
            logger.LogInfo($"Waiting for mode {mode}");

            if (WaitHelpers.WaitFor(() => GetMode().Equals(mode.ToString()), timeout))
            {
                logger.LogInfo($"Changed to {mode} in time");
                return(true);
            }

            return(false);
        }
        public void ChangeMode(FiMode mode, bool quickChange = false)
        {
            switch (mode)
            {
            case FiMode.Measuring:
                ClickStartButton();
                HandleModeShiftDialog(quickChange);
                WaitForMode(mode, TimeSpan.FromMinutes(5));
                break;

            case FiMode.Standby:
                ClickPauseButton();
                HandleModeShiftDialog(quickChange);
                WaitForMode(mode, TimeSpan.FromMinutes(30));
                break;

            case FiMode.Stop:
                ClickStopButton();
                HandleModeShiftDialog(quickChange);
                WaitForMode(mode, TimeSpan.FromMinutes(45));
                break;
            }
        }