public double GetCurrentHashrate(DeviceConfig deviceConfig)
        {
            double gpuHashrate = 0;

            try
            {
                var json = GetApiDataAsync(_port, "{\"id\":0,\"jsonrpc\":\"2.0\",\"method\":\"miner_getstat1\"}\n").Result;

                var    jResults  = JToken.Parse(json)["result"].Value <JArray>();
                string hashrates = jResults[3].Value <string>();
                if (hashrates.Contains(";", StringComparison.OrdinalIgnoreCase))
                {
                    string[] splitHashrates = hashrates.Split(';');
                    int      index          = DeviceConfigs.OrderBy(dc => dc.DeviceId).ToList().IndexOf(deviceConfig);
                    double   hashrateInKh   = double.Parse(splitHashrates[index], NumberStyles.None, CultureInfo.InvariantCulture);
                    return(hashrateInKh * 1000);
                }
                else
                {
                    double hashrateInKh = double.Parse(hashrates, NumberStyles.None, CultureInfo.InvariantCulture);
                    return(hashrateInKh * 1000);
                }
            }
            catch (Exception ex)
            {
                Log.Debug("Couldn't get current hashrate: " + ex.Message);
            }

            return(gpuHashrate);
        }