public async Task StartPhotonAndNotify() { await LoginToCloudAndGetDevice(); if (deviceSuccessfullyInitiated) { string myFunction = myDevice.Functions[0]; ParticleFunctionResponse functionResponse = await myDevice.RunFunctionAsync(myFunction, string.Format("on,{0}", Environment.UserName)); } }
/// <summary> /// Starts the watering process /// </summary> /// <param name="wateringLocation"></param> /// <returns>Convention: -1 Failure</returns> public async void StartWatering(DeviceConfiguration deviceConfig, WateringLocation wateringLocation) { ParticleDevice device = await LoginAndGetParticleDevice(deviceConfig); ParticleFunctionResponse functionResponse = await device.RunFunctionAsync(SPARKFUNCTION_ACTION_STARTWATERING, Enum.GetName(typeof(WateringLocation), wateringLocation)); if (functionResponse.ReturnValue < 0) { throw new Exception("Error occurred while starting the watering process"); } }
public async Task EndNotifier(bool clearHosts = false) { string myFunction = myDevice.Functions[0]; ParticleFunctionResponse functionResponse = await myDevice.RunFunctionAsync(myFunction, string.Format("off,{0}", Environment.UserName)); if (clearHosts) { string clearHostFunction = myDevice.Functions[1]; await myDevice.RunFunctionAsync(clearHostFunction, string.Empty); } ParticleCloud.SharedCloud.Logout(); }
public async void SaveDeviceConfiguration(DeviceConfiguration deviceConfig) { if (deviceConfig != null) { string setupString = CreateDeviceConfigurationString(deviceConfig); ParticleDevice device = await LoginAndGetParticleDevice(deviceConfig); //send each config param separately to minimize problems with the size restriction (63 char) foreach (string configParameter in setupString.Split(';')) { if (!string.IsNullOrWhiteSpace(configParameter)) { ParticleFunctionResponse functionResponse = await device.RunFunctionAsync(SPARKFUNCTION_ACTION_SAVECONFIG, configParameter); if (functionResponse.ReturnValue < 0) { throw new Exception("Error occurred while saving the confguration params"); } } } } }