diff --git a/HueUWP/Lights/LightGroupListDataSource.cs b/HueUWP/Lights/LightGroupListDataSource.cs index 01a96c3..8befccc 100644 --- a/HueUWP/Lights/LightGroupListDataSource.cs +++ b/HueUWP/Lights/LightGroupListDataSource.cs @@ -36,6 +36,7 @@ namespace HueUWP.Lights foreach (Light g in _groups) { await g.Update(); + await Task.Delay(TimeSpan.FromMilliseconds(100)); } return "success"; diff --git a/HueUWP/NetworkHandler.cs b/HueUWP/NetworkHandler.cs index f49e834..eda550a 100755 --- a/HueUWP/NetworkHandler.cs +++ b/HueUWP/NetworkHandler.cs @@ -180,21 +180,21 @@ namespace HueUWP public static async Task SetGroup(int groupid, string json) { - var response = await Put($"{(String)App.LOCAL_SETTINGS.Values["id"]}/groups/{groupid}", json); + var response = await Put($"{(String)App.LOCAL_SETTINGS.Values["id"]}/groups/{groupid}/action", json); return response; } public static async Task SetGroup(int groupid, bool state) { string json = $"{{\"on\": { ((state) ? "true" : "false") }}}"; - var response = await Put($"{(String)App.LOCAL_SETTINGS.Values["id"]}/groups/{groupid}", json); + var response = await Put($"{(String)App.LOCAL_SETTINGS.Values["id"]}/groups/{groupid}/action", json); return response; } public static async Task SetGroup(int groupid, int hue, int saturation, int brightness, bool instant = false) { string json = $"{{\"hue\": {(hue)},\"bri\": {brightness},\"sat\": {saturation} {(instant ? ",\"transitiontime\":0" : "")}}}"; - var response = await Put($"{(String)App.LOCAL_SETTINGS.Values["id"]}/groups/{groupid}", json); + var response = await Put($"{(String)App.LOCAL_SETTINGS.Values["id"]}/groups/{groupid}/action", json); return response; } diff --git a/HueUWP/Views/GroupsView.xaml.cs b/HueUWP/Views/GroupsView.xaml.cs index f29125d..6f66b63 100644 --- a/HueUWP/Views/GroupsView.xaml.cs +++ b/HueUWP/Views/GroupsView.xaml.cs @@ -50,9 +50,24 @@ namespace HueUWP.Views QuietReloadGroups(); } + private void StartTimer() + { + if ((bool)App.LOCAL_SETTINGS.Values["autorefresh"]) + { + QuietReloadGroups(); + timer.Start(); + } + } + protected override void OnNavigatedTo(NavigationEventArgs e) { - ReloadGroups(); + if (e.NavigationMode == NavigationMode.New) + ReloadGroups(); + else + { + GroupsList.SelectedItems.Clear(); + StartTimer(); + } this.DataContext = GroupsViewModel; } @@ -79,7 +94,7 @@ namespace HueUWP.Views else { FeedbackPanel.Visibility = Visibility.Collapsed; - timer.Start(); + StartTimer(); } Loading.IsActive = false;