public async void AddStatus(GoodweData goodweData)
        {
            PvOutputData pvOutputData = new PvOutputData()
            {
                EnergyGeneration = (int)(goodweData.ETotal * 1000),
                PowerGeneration  = goodweData.OutputPower,
                Date             = goodweData.TimeStamp.ToString("yyyyMMdd"),
                Time             = goodweData.TimeStamp.ToString("HH:mm"),
            };


            var parameters = new Dictionary <string, string> {
                { "d", pvOutputData.Date },
                { "t", pvOutputData.Time },
                { "v1", pvOutputData.EnergyGeneration.ToString() },
                { "v2", pvOutputData.PowerGeneration.ToString() }
            };

            var encodedContent = new FormUrlEncodedContent(parameters);

            //if (!HttpClient.DefaultRequestHeaders.Contains("X-Pvoutput-Apikey"))
            //{
            //	HttpClient.DefaultRequestHeaders.Add("X-Pvoutput-Apikey", "7399e14968f03ce6329da1c324737632d6320185");
            //	HttpClient.DefaultRequestHeaders.Add("X-Pvoutput-SystemId", "79017");
            //}

            var response = await HttpClient.PostAsync("addstatus.jsp", encodedContent);

            if (response.StatusCode == HttpStatusCode.OK)
            {
                var resultString = await response.Content.ReadAsStringAsync();
            }
        }
        public async Task <GoodweData> GetData()
        {
            if (!tokenAvailable)
            {
                await TokenRequest();
            }

            HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, "PowerStation/GetMonitorDetailByPowerstationId");

            var    powerstationId = Configuration.GetSection("GoodWe").GetSection("powerStationId").Value;
            string content        = @"{""powerStationId"": """ + powerstationId + "\"}";


            request.Content = new StringContent(content,
                                                Encoding.UTF8,
                                                "application/json");

            var result = await httpClient.SendAsync(request);

            if (result.IsSuccessStatusCode)
            {
                var resultString = await result.Content.ReadAsStringAsync();

                JObject jObject = JObject.Parse(resultString);

                GoodweData data = new GoodweData();
                data.ETotal        = jObject.SelectToken("data.inverter[0].invert_full.eday").ToObject <double>();
                data.OutputPower   = jObject.SelectToken("data.inverter[0].invert_full.pac").ToObject <int>();
                data.OutputVoltage = jObject.SelectToken("data.inverter[0].invert_full.vac1").ToObject <int>();
                data.TimeStamp     = jObject.SelectToken("data.info.time").ToObject <DateTime>();
                //data.Temperature = 0;
                //data.OutputCurrent = 0;


                return(data);
            }
            return(null);
        }