static async void Test() { Console.Write("Enter username: "******"Enter password: "); Console.ForegroundColor = ConsoleColor.Black; var password = Console.ReadLine(); Console.ForegroundColor = ConsoleColor.White; var nestClient = new NestClient(username, password); await nestClient.Authenticate(); var devices = await nestClient.GetDevices(); Console.WriteLine(devices); }
private DeviceReadings GetReadings(string username, string password) { var nestClient = new NestClient(username, password); nestClient.Authenticate().Wait(); var devicesTask = nestClient.GetDevices(); devicesTask.Wait(); dynamic result = devicesTask.Result; var devices = result.device; Type devicesType = devices.GetType(); var devicesFirstProp = devicesType.GetProperties().First(x => x.Name == "First"); dynamic firstDevice = devicesFirstProp.GetValue(devices).Value; var shareds = result.shared; Type sharedType = shareds.GetType(); var sharedFirstProp = sharedType.GetProperties().First(x => x.Name == "First"); dynamic firstShared = sharedFirstProp.GetValue(shareds).Value; double currentHumidity = firstDevice.current_humidity; double currentTemp = firstShared.current_temperature; double targetTemp = firstShared.target_temperature; int autoAway = firstShared.auto_away; bool heatState = firstShared.hvac_heater_state == "true"; Console.WriteLine(heatState); var readings = new DeviceReadings() { CurrentHumidity = currentHumidity, CurrentTemp = currentTemp, TargetTemp = targetTemp, AutoAway = autoAway, HeatState = heatState, }; return readings; }