Get Readings on a Device


Static Host Value

      
            static string _host = "https://astuteincservices.com";
        
    

A method named LogMeIn() returns an instance of DGLogInRequest with your credentials.


C# HTTP

        
            static void GetReadingsOnDevice(string token)
            {
                HttpClient apiClient = new HttpClient();
                string route = "/api/readings";

                var json = JsonConvert.SerializeObject(LogMeIn());
                var strContent = new StringContent(json, UnicodeEncoding.UTF8, "application/json");
                apiClient.DefaultRequestHeaders.Clear();
                apiClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);

                var response = apiClient.PostAsync(_host + route + "/getdevicereadings/32:22:12:12", strContent).Result;

                Console.WriteLine(response.StatusCode);

                if (response.StatusCode == System.Net.HttpStatusCode.OK)
                {
                    var content = response.Content.ReadAsStringAsync().Result;

                    if (!content.StartsWith("ERROR:"))
                        ProcessReadings(content);
                    else
                        Console.WriteLine(content);
                }
                else
                    Console.WriteLine("Not authorized");
            }

            void ProcessReadings(string content)
            {
                var returnReadings = JsonConvert.DeserializeObject<List<DGAstuteHub>>(content);

                foreach (var readings in returnReadings)
                {
                    Console.WriteLine("-------------------");
                    Console.WriteLine(readings.hubId);             // Hub ID
                    Console.WriteLine(readings.gatewayTimestamp);  // Reading Date
                    Console.WriteLine(readings.reading);           // Device Reading
                }
             }
        
    

C# Flurl

        
            static void FlurlGetReadingsOnDevice(string token)
            {
                var response = _host.AppendPathSegment("/api/readings/getdevicereadings/32:22:12:12").WithOAuthBearerToken(token).PostJsonAsync(LogMeIn()).Result;

                Console.WriteLine(response.StatusCode);

                if (response.StatusCode == System.Net.HttpStatusCode.OK)
                {
                    var content = response.Content.ReadAsStringAsync().Result;

                    if (!content.StartsWith("ERROR:"))
                        ProcessReadings(content);
                    else
                        Console.WriteLine(content);
                }
                else
                    Console.WriteLine("Not authorized");
            }

            void ProcessReadings(string content)
            {
                var returnReadings = JsonConvert.DeserializeObject<List<DGAstuteHub>>(content);

                foreach (var readings in returnReadings)
                {
                    Console.WriteLine("-------------------");
                    Console.WriteLine(readings.hubId);             // Hub ID
                    Console.WriteLine(readings.gatewayTimestamp);  // Reading Date
                    Console.WriteLine(readings.reading);           // Device Reading
                }
             }