private async Task Initialize() { string bridgeIP = await GetBridgeIP(); _client = new HueClient(bridgeIP, AppKey); bool registered = false; while (!registered) { try { await _client.GetBridgeAsync(); registered = true; } catch { } if (!registered) { var md = new MessageDialog("Press the button on your Hue bridge then press Connect", "Connecting"); md.Commands.Add(new UICommand("Connect")); await md.ShowAsync(); registered = await _client.RegisterAsync(AppName, AppKey); } } }
public override int Run(string[] remainingArguments) { var hueClient = new HueClient(_ip); var result = hueClient.RegisterAsync(HueBuildLight.AppName, HueBuildLight.AppKey).Result; if (result) { Console.WriteLine("Registered correctly."); return 0; } //If we failed to register, attempt to initialise and see if we succeed as we may already be registered. hueClient.Initialize(HueBuildLight.AppKey); var initialised = hueClient.IsInitialized; Console.WriteLine(initialised ? "Already registered." : "Failed to register"); return initialised ? 0 : 1; }