private void PlantList_OnItemSelected(object sender, SelectedItemChangedEventArgs e) { var tappedItem = e.SelectedItem; PlantGrid.IsVisible = true; PlantList.IsVisible = false; Console.WriteLine("Dette er imageUrl: " + ((Plant)tappedItem).imageUrl); if ((((Plant)tappedItem).imageUrl) != null) { PlantPicture.Source = (((Plant)tappedItem).imageUrl); } plantName.Text = "Navn: " + (((Plant)tappedItem).name); plantId.Text = "ID: " + (((Plant)tappedItem).id); plantType.Text = "Type: " + (((Plant)tappedItem).type); Console.WriteLine("Jeg er blevet klikket"); Console.WriteLine(((Plant)tappedItem).id); List <AirHumidity> airList = ctr.GetAirHumidity(); AirHumidity airhums = airList.FindLast(item => item.plantId.Equals(((Plant)tappedItem).id)); Console.WriteLine("Dette er airhums: " + airhums); if (airhums != null) { plantAirHum.Text = "Air Humidity: " + airhums.humidity; } List <Temperature> TempList = ctr.GetAirTemperature(); Temperature airTemp = TempList.FindLast(item => item.plantId.Equals(((Plant)tappedItem).id)); Console.WriteLine("Dette er air Temperature: " + airTemp); if (airTemp != null) { plantAirTemp.Text = "Air Temperature: " + airTemp.temp; } List <SoilHumidity> soilHumList = ctr.GetSoilHumidity(); SoilHumidity soilHum = soilHumList.FindLast(item => item.plantId.Equals(((Plant)tappedItem).id)); Console.WriteLine("Dette er air Temperature: " + soilHum); if (soilHum != null) { plantSoilHum.Text = "Soil Humidity: " + soilHum.humidity; } }
static public async Task InitParam() { NUMBER_SPRINKLERS = 3; SprDuration = 20; SprinklerPrograms = new ArrayList(); FileStream fileToRead = null; try { //fileToRead = new FileStream(strDefaultDir + "\\" + strFileProgram, FileMode.Open, FileAccess.Read, FileShare.ReadWrite); fileToRead = new FileStream(await GetFilePathAsync(strFileProgram), FileMode.Open, FileAccess.Read, FileShare.ReadWrite); long fileLength = fileToRead.Length; byte[] buf = new byte[fileLength]; //string mySetupString = ""; // Reads the data. fileToRead.Read(buf, 0, (int)fileLength); //await str.ReadAsync(buf, ) // convert the read into a string List <Param> Params = Param.decryptParam(new String(Encoding.UTF8.GetChars(buf))); int mSpr = -1; int mDur = -1; bool mReboot = false; if (Params != null) { MySecurityKey = Param.CheckConvertString(Params, paramSecurityKey); mSpr = Param.CheckConvertInt32(Params, paramSpr); mDur = Param.CheckConvertInt32(Params, paramDuration); mReboot = Param.CheckConvertBool(Params, paramReboot); } //write the last time a boot has happened and initialize the next reboot if (mReboot) { //MyRebootManager = new Timer(new TimerCallback(RebootManager), null, (mReboot* 3600000), (mReboot* 3660000)); } if (mDur > 0) { SprDuration = mDur; } securityKey = paramSecurityKey + Param.ParamEqual + MySecurityKey; if (mSpr != -1) { NUMBER_SPRINKLERS = mSpr; // Initiate Sprinklers (3 by default) Sprinklers = new Sprinkler[NUMBER_SPRINKLERS]; for (int i = 0; i < Sprinklers.Length; i++) { bool isinvert = Param.CheckConvertBool(Params, paramInv + i); Sprinklers[i] = new Sprinkler(i, isinvert); } for (int i = 0; i < NUMBER_SPRINKLERS; i++) { Sprinklers[i].Name = Param.CheckConvertString(Params, paramSprName + i); } } } catch (Exception e) { if (fileToRead != null) { fileToRead.Dispose(); } } soilHumidity = new SoilHumidity(); await InitIoTHub(); await InitPrograms(); await InitTypicalProgam(); await InitFuzzyLogic(); await InitPredictions(); //initialize the relay output var gpio = GpioController.GetDefault(); EnableOutput = gpio.OpenPin(GPIO_PIN); EnableOutput.SetDriveMode(GpioPinDriveMode.Output); EnableOutput.Write(GpioPinValue.High); //init the timer that will ruin every minute to check when to stop/start InitTimer(); //SendDataToAzure("{\"info\":\"Sprinkler system started\",\"DeviceID\":\""+ DeviceId +"\"}"); LogToAzure("Sprinkler system started"); ReceiveDataFromAzure(); }