private void fetchReportOnInterval(object state)
        {
            lock (lockHandle)
            {
                try
                {
                    var gain = plugInterface.Send <AdjustGain>(new AdjustGain());

                    VGain = gain.VGain;
                    IGain = gain.IGain;

                    var usage = plugInterface.Send <GetRealtime>(new GetRealtime());

                    Current    = usage.Current;
                    Voltage    = usage.Voltage;
                    Power      = usage.Power;
                    TotalPower = usage.Total;

                    Updated?.BeginInvoke(this, null, null);
                }
                catch (Exception any)
                {
                    Exception?.Invoke(this, any);
                }
            }
        }