Skip to content
This repository has been archived by the owner on Jul 18, 2020. It is now read-only.

Commit

Permalink
Merge pull request #229 from Hyrules/dev
Browse files Browse the repository at this point in the history
Dev
  • Loading branch information
Hyrules authored Apr 1, 2019
2 parents a513a0c + e1ad808 commit 4099e7a
Show file tree
Hide file tree
Showing 61 changed files with 687 additions and 576 deletions.
2 changes: 1 addition & 1 deletion HueLib2Test/Properties/AssemblyInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -31,5 +31,5 @@
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.636.0")]
[assembly: AssemblyVersion("1.0.648.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
2 changes: 1 addition & 1 deletion HueLib2Test/UnitTest1.cs
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ public void TestRegex()
public void TestDTLS()
{

IPEndPoint LocalEP = new IPEndPoint(IPAddress.Any, 0);
IPEndPoint LocalEP = new IPEndPoint(IPAddress.Any, 2100);
IPEndPoint RemoteEP = new IPEndPoint(IPAddress.Parse("192.168.5.30"),2100);
Socket socket = new Socket(AddressFamily.InterNetwork,SocketType.Dgram,ProtocolType.Udp);
socket.Bind(LocalEP);
Expand Down
7 changes: 3 additions & 4 deletions WinHue3/Addons/CpuTempMon/CpuTempViewModel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
using System.Windows.Input;
using OpenHardwareMonitor.Hardware;
using WinHue3.Functions.BridgeManager;
using WinHue3.Philips_Hue.BridgeObject;
using WinHue3.Philips_Hue.HueObjects.Common;
using WinHue3.Philips_Hue.HueObjects.GroupObject;
using WinHue3.Philips_Hue.HueObjects.LightObject;
Expand Down Expand Up @@ -51,7 +50,7 @@ public void Initialize(CpuTemp temp)
_temp.OnSensorUpdated += _temp_OnSensorUpdated;
_temp.Start();

List<IHueObject> hr = BridgeManager.Instance.SelectedBridge.GetAllObjects();
List<IHueObject> hr = BridgesManager.Instance.SelectedBridge.GetAllObjects();

if (hr == null) return;
ListLightGroups.AddRange(hr.Where(x => x is Light));
Expand Down Expand Up @@ -105,11 +104,11 @@ private void _temp_OnTempUpdated(object sender, CpuTempEventArgs e)

if (SelectedObject is Light)
{
BridgeManager.Instance.SelectedBridge.SetState(new State() { hue = hueTemp, bri = Bri, sat = Sat, @on = true, transitiontime = 9 }, _selectedObject.Id);
BridgesManager.Instance.SelectedBridge.SetState(new State() { hue = hueTemp, bri = Bri, sat = Sat, @on = true, transitiontime = 9 }, _selectedObject.Id);
}
else
{
BridgeManager.Instance.SelectedBridge.SetState(new Philips_Hue.HueObjects.GroupObject.Action() { hue = hueTemp, bri = Bri, sat = Sat, @on = true, transitiontime = 9 }, _selectedObject.Id);
BridgesManager.Instance.SelectedBridge.SetState(new Philips_Hue.HueObjects.GroupObject.Action() { hue = hueTemp, bri = Bri, sat = Sat, @on = true, transitiontime = 9 }, _selectedObject.Id);
}


Expand Down
3 changes: 2 additions & 1 deletion WinHue3/Build/README_TEMPLATE.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@ You might also need Visual C++ 2010 Redistributable library.
Both are available at Microsoft's website.

Fixed:
-
- Crash at startup when having hidden object.
- Hidden objects hiding properly.

Added:
-
Expand Down
26 changes: 13 additions & 13 deletions WinHue3/Functions/Advanced Creator/AdvancedCreatorViewModel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
using System.Windows.Forms;
using System.Windows.Input;
using Newtonsoft.Json;
using WinHue3.Functions.BridgeManager;
using WinHue3.Utils;
using Bridge = WinHue3.Philips_Hue.BridgeObject.Bridge;
using MessageBox = System.Windows.Forms.MessageBox;
using WebRequestType = WinHue3.Philips_Hue.Communication.WebRequestType;

Expand All @@ -29,13 +29,13 @@ private void CreateScheduleTemplate()
{
Type = "schedules";
RequestType = WebRequestType.Post;
Url = BridgeManager.BridgeManager.Instance.SelectedBridge.BridgeUrl + "/schedules";
Url = BridgesManager.Instance.SelectedBridge.BridgeUrl + "/schedules";
Text = @"{
""name"" : ""{YOUR NAME}"",
""description"" : ""{YOUR DESCRIPTION}"",
""localtime"" : ""{YYYY-MM-DDTHH:mm:ss}"",
""command"" : {
""address"": ""/api/" + BridgeManager.BridgeManager.Instance.SelectedBridge + @"/groups/1/action"",
""address"": ""/api/" + BridgeManager.BridgesManager.Instance.SelectedBridge + @"/groups/1/action"",
""method"": ""PUT"",
""body"": {
""on"" : true
Expand All @@ -48,7 +48,7 @@ private void CreateSensorTemplate()
{
Type = "sensors";
RequestType = WebRequestType.Post;
Url = BridgeManager.BridgeManager.Instance.SelectedBridge.BridgeUrl + "/sensors";
Url = BridgesManager.Instance.SelectedBridge.BridgeUrl + "/sensors";
Text = @"{
""name"" : ""YOUR NAME"",
""description"" : ""YOUR DESCRIPTION"",
Expand All @@ -67,7 +67,7 @@ private void CreateRuleTemplate()
{
Type = "rules";
RequestType = WebRequestType.Post;
Url = BridgeManager.BridgeManager.Instance.SelectedBridge.BridgeUrl + "/rules";
Url = BridgesManager.Instance.SelectedBridge.BridgeUrl + "/rules";
Text = @"{
""name"":""YOUR NAME"",
""conditions"":[
Expand Down Expand Up @@ -99,7 +99,7 @@ private void CreateResourceLinkTemplate()
{
Type = "resourcelinks";
RequestType = WebRequestType.Post;
Url = BridgeManager.BridgeManager.Instance.SelectedBridge.BridgeUrl + "/resourcelinks";
Url = BridgesManager.Instance.SelectedBridge.BridgeUrl + "/resourcelinks";
Text = @"{
""name"": ""Sunrise"",
""description"": ""Carla's wakeup experience"",
Expand All @@ -116,7 +116,7 @@ private void CreateGroupTemplate()
{
Type = "groups";
RequestType = WebRequestType.Post;
Url = BridgeManager.BridgeManager.Instance.SelectedBridge.BridgeUrl + "/groups";
Url = BridgesManager.Instance.SelectedBridge.BridgeUrl + "/groups";
Text = @"{
""name"": ""Living room"",
""type"": ""Room"",
Expand Down Expand Up @@ -151,10 +151,10 @@ private async Task Send()

if (result == DialogResult.Yes)
{
string json = await BridgeManager.BridgeManager.Instance.SelectedBridge.SendRawCommandAsyncTask(Url, Text, RequestType);
string json = await BridgesManager.Instance.SelectedBridge.SendRawCommandAsyncTask(Url, Text, RequestType);
if (json == null)
{
BridgeManager.BridgeManager.Instance.SelectedBridge.ShowErrorMessages();
BridgesManager.Instance.SelectedBridge.ShowErrorMessages();
}
else
{
Expand All @@ -164,7 +164,7 @@ private async Task Send()
}
else
{
MessageBox.Show(BridgeManager.BridgeManager.Instance.SelectedBridge.LastCommandMessages.ToString(), GlobalStrings.Success, MessageBoxButtons.OK, MessageBoxIcon.Information);
MessageBox.Show(BridgesManager.Instance.SelectedBridge.LastCommandMessages.ToString(), GlobalStrings.Success, MessageBoxButtons.OK, MessageBoxIcon.Information);
OnObjectCreated?.Invoke(this, EventArgs.Empty);
}

Expand All @@ -177,7 +177,7 @@ private void CreateSceneTemplate()
{
Type = "scenes";
RequestType = WebRequestType.Post;
Url = BridgeManager.BridgeManager.Instance.SelectedBridge.BridgeUrl + "/scenes";
Url = BridgesManager.Instance.SelectedBridge.BridgeUrl + "/scenes";
Text = @"{
""lights""
:[""3"",""2"",""5""],
Expand All @@ -195,7 +195,7 @@ private void CreateSceneStateTemplate()
{
Type = "scenes";
RequestType = WebRequestType.Put;
Url = BridgeManager.BridgeManager.Instance.SelectedBridge.BridgeUrl + "/scenes/<scene id>/lights/<light id>/state";
Url = BridgesManager.Instance.SelectedBridge.BridgeUrl + "/scenes/<scene id>/lights/<light id>/state";
Text = @"{
""on"":true,
""bri"":255,
Expand Down Expand Up @@ -224,7 +224,7 @@ private bool CanSendCommand()

private void SetBridgeUrl()
{
Url = BridgeManager.BridgeManager.Instance.SelectedBridge.BridgeUrl;
Url = BridgesManager.Instance.SelectedBridge.BridgeUrl;
}

public string Text
Expand Down
8 changes: 4 additions & 4 deletions WinHue3/Functions/BridgeManager/BridgeManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,12 @@

namespace WinHue3.Functions.BridgeManager
{
public sealed partial class BridgeManager : ValidatableBindableBase
public sealed partial class BridgesManager : ValidatableBindableBase
{
private readonly log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
public static readonly BridgeManager _bridgeManager = new BridgeManager();
private static readonly BridgesManager _bridgeManager = new BridgesManager();
private IHueObject _selectedObject;
public static BridgeManager Instance => _bridgeManager;
public static BridgesManager Instance => _bridgeManager;
private ObservableCollection<IHueObject> _listCurrentBridgeHueObjects;
private readonly DispatcherTimer _refreshTimer = new DispatcherTimer();
private readonly DispatcherTimer _findlighttimer = new DispatcherTimer();
Expand All @@ -23,7 +23,7 @@ public sealed partial class BridgeManager : ValidatableBindableBase
private ObservableCollection<Bridge> _listBridges;
private Bridge _selectedBridge;

private BridgeManager()
private BridgesManager()
{
ListBridges = new ObservableCollection<Bridge>();
CurrentBridgeHueObjectsList = new ObservableCollection<IHueObject>();
Expand Down
2 changes: 1 addition & 1 deletion WinHue3/Functions/BridgeManager/BridgeManager_Events.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

namespace WinHue3.Functions.BridgeManager
{
public sealed partial class BridgeManager
public sealed partial class BridgesManager
{
public event BridgeRemoved OnBridgeRemoved;
public delegate void BridgeRemoved(Bridge b);
Expand Down
2 changes: 1 addition & 1 deletion WinHue3/Functions/BridgeManager/BridgeManager_Methods.cs
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@

namespace WinHue3.Functions.BridgeManager
{
public sealed partial class BridgeManager
public sealed partial class BridgesManager
{
public void FindSensor()
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

namespace WinHue3.Functions.BridgeManager
{
public sealed partial class BridgeManager
public sealed partial class BridgesManager
{

public ObservableCollection<Bridge> ListBridges
Expand Down
10 changes: 1 addition & 9 deletions WinHue3/Functions/BridgeSettings/BridgeSettingsHiddenObjects.cs
Original file line number Diff line number Diff line change
@@ -1,14 +1,6 @@
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections.ObjectModel;
using System.Windows.Input;
using WinHue3.ExtensionMethods;
using WinHue3.Functions.Application_Settings.Settings;
using WinHue3.Philips_Hue.HueObjects.Common;
using WinHue3.Philips_Hue.HueObjects.LightObject;
using WinHue3.Utils;

namespace WinHue3.Functions.BridgeSettings
Expand Down
44 changes: 21 additions & 23 deletions WinHue3/Functions/BridgeSettings/BridgeSettingsViewModel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,11 @@
using System.Windows.Forms;
using System.Windows.Input;
using System.Windows.Threading;
using WinHue3.ExtensionMethods;
using WinHue3.Functions.Application_Settings.Settings;
using WinHue3.Philips_Hue;
using WinHue3.Functions.BridgeManager;
using WinHue3.Philips_Hue.BridgeObject;
using WinHue3.Philips_Hue.BridgeObject.BridgeObjects;
using WinHue3.Philips_Hue.HueObjects.Common;
using WinHue3.Philips_Hue.HueObjects.LightObject;
using WinHue3.Utils;

namespace WinHue3.Functions.BridgeSettings
Expand Down Expand Up @@ -52,9 +50,9 @@ public BridgeSettingsViewModel()

private async Task Initialize()
{
List<IHueObject> lo = await BridgeManager.BridgeManager.Instance.SelectedBridge.GetAllObjectsAsync(true);
List<IHueObject> lo = await BridgesManager.Instance.SelectedBridge.GetAllObjectsAsync(true);
HiddenObjects.ListObjects = new ObservableCollection<IHueObject>(lo);
foreach (Tuple<string,string> t in WinHueSettings.bridges.BridgeInfo[BridgeManager.BridgeManager.Instance.SelectedBridge.Mac].hiddenobjects)
foreach (Tuple<string,string> t in WinHueSettings.bridges.BridgeInfo[BridgesManager.Instance.SelectedBridge.Mac].hiddenobjects)
{
if (HiddenObjects.ListObjects.Any(x => x.Id == t.Item1 && x.GetType().Name == t.Item2))
{
Expand All @@ -76,12 +74,12 @@ private bool CanSaveHiddenObjects()

private void SaveHiddenObjects()
{
WinHueSettings.bridges.BridgeInfo[BridgeManager.BridgeManager.Instance.SelectedBridge.Mac].hiddenobjects.Clear();
WinHueSettings.bridges.BridgeInfo[BridgesManager.Instance.SelectedBridge.Mac].hiddenobjects.Clear();
foreach (IHueObject l in HiddenObjects.HiddenObjects)
{
if (!WinHueSettings.bridges.BridgeInfo[BridgeManager.BridgeManager.Instance.SelectedBridge.Mac].hiddenobjects.Any(x => x.Item1 == l.Id && x.Item2 == l.GetType().Name))
if (!WinHueSettings.bridges.BridgeInfo[BridgesManager.Instance.SelectedBridge.Mac].hiddenobjects.Any(x => x.Item1 == l.Id && x.Item2 == l.GetType().Name))
{
WinHueSettings.bridges.BridgeInfo[BridgeManager.BridgeManager.Instance.SelectedBridge.Mac].hiddenobjects.Add(new Tuple<string, string>(l.Id, l.GetType().Name));
WinHueSettings.bridges.BridgeInfo[BridgesManager.Instance.SelectedBridge.Mac].hiddenobjects.Add(new Tuple<string, string>(l.Id, l.GetType().Name));
}

}
Expand Down Expand Up @@ -155,7 +153,7 @@ private async Task UpdateBridgeFirmware()
{
if (MessageBox.Show(GlobalStrings.Update_Confirmation, GlobalStrings.Warning, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) return;

bool result = await BridgeManager.BridgeManager.Instance.SelectedBridge.UpdateBridgeAsyncTask();
bool result = await BridgesManager.Instance.SelectedBridge.UpdateBridgeAsyncTask();
if (result)
{
CanClose = false;
Expand All @@ -165,32 +163,32 @@ private async Task UpdateBridgeFirmware()
}
else
{
BridgeManager.BridgeManager.Instance.SelectedBridge.ShowErrorMessages();
BridgesManager.Instance.SelectedBridge.ShowErrorMessages();
}

}

private async Task ApplyUpdateSettings()
{
bool result = await BridgeManager.BridgeManager.Instance.SelectedBridge.SetAutoInstallAsyncTask(new autoinstall()
bool result = await BridgesManager.Instance.SelectedBridge.SetAutoInstallAsyncTask(new autoinstall()
{
on = SoftwareModel.AutoUpdate,
updatetime = SoftwareModel.UpdateTime.ToString("\\THH:mm:ss")
});
if (result) return;
BridgeManager.BridgeManager.Instance.SelectedBridge.ShowErrorMessages();
BridgeManager.BridgesManager.Instance.SelectedBridge.ShowErrorMessages();
}

private async Task ForceCheckUpdate()
{
bool result = await BridgeManager.BridgeManager.Instance.SelectedBridge.CheckOnlineForUpdateAsyncTask();
bool result = await BridgesManager.Instance.SelectedBridge.CheckOnlineForUpdateAsyncTask();
if (result)
{
MessageBox.Show(GlobalStrings.CheckingForUpdate, GlobalStrings.Warning, MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
BridgeManager.BridgeManager.Instance.SelectedBridge.ShowErrorMessages();
BridgesManager.Instance.SelectedBridge.ShowErrorMessages();
}

}
Expand Down Expand Up @@ -241,7 +239,7 @@ private bool CanApplyNetworkSettings()

private async Task ApplyNetworkSettings()
{
bool cr = await BridgeManager.BridgeManager.Instance.SelectedBridge.SetBridgeSettingsAsyncTask(new Philips_Hue.BridgeObject.BridgeObjects.BridgeSettings()
bool cr = await BridgesManager.Instance.SelectedBridge.SetBridgeSettingsAsyncTask(new Philips_Hue.BridgeObject.BridgeObjects.BridgeSettings()
{
dhcp = NetworkModel.Dhcp,
ipaddress = NetworkModel.Ip,
Expand All @@ -253,7 +251,7 @@ private async Task ApplyNetworkSettings()

if (!cr)
{
MessageBoxError.ShowLastErrorMessages(BridgeManager.BridgeManager.Instance.SelectedBridge);
MessageBoxError.ShowLastErrorMessages(BridgesManager.Instance.SelectedBridge);

}else
{
Expand All @@ -263,18 +261,18 @@ private async Task ApplyNetworkSettings()

private async Task ApplyGeneralSettings()
{
bool cr = await BridgeManager.BridgeManager.Instance.SelectedBridge.ChangeBridgeNameAsyncTask(GeneralModel.Name);
bool cr = await BridgesManager.Instance.SelectedBridge.ChangeBridgeNameAsyncTask(GeneralModel.Name);
if(!cr)
MessageBoxError.ShowLastErrorMessages(BridgeManager.BridgeManager.Instance.SelectedBridge);
MessageBoxError.ShowLastErrorMessages(BridgesManager.Instance.SelectedBridge);

cr = await BridgeManager.BridgeManager.Instance.SelectedBridge.SetBridgeSettingsAsyncTask(new Philips_Hue.BridgeObject.BridgeObjects.BridgeSettings() { timezone = GeneralModel.Timezone });
cr = await BridgesManager.Instance.SelectedBridge.SetBridgeSettingsAsyncTask(new Philips_Hue.BridgeObject.BridgeObjects.BridgeSettings() { timezone = GeneralModel.Timezone });
if (!cr)
MessageBoxError.ShowLastErrorMessages(BridgeManager.BridgeManager.Instance.SelectedBridge);
MessageBoxError.ShowLastErrorMessages(BridgesManager.Instance.SelectedBridge);
}

public async Task Initialize(Bridge bridge)
{
Philips_Hue.BridgeObject.BridgeObjects.BridgeSettings cr = await BridgeManager.BridgeManager.Instance.SelectedBridge.GetBridgeSettingsAsyncTask();
Philips_Hue.BridgeObject.BridgeObjects.BridgeSettings cr = await BridgesManager.Instance.SelectedBridge.GetBridgeSettingsAsyncTask();
if (cr != null)
{
//****** General Pane **********
Expand All @@ -286,7 +284,7 @@ public async Task Initialize(Bridge bridge)
GeneralModel.Zigbeechannel = cr.zigbeechannel.ToString();
GeneralModel.Utc = cr.UTC;

List<string> tz = await BridgeManager.BridgeManager.Instance.SelectedBridge.GetTimeZonesAsyncTask();
List<string> tz = await BridgesManager.Instance.SelectedBridge.GetTimeZonesAsyncTask();
if (tz != null)
{
GeneralModel.ListTimeZones = tz;
Expand Down Expand Up @@ -322,7 +320,7 @@ public async Task Initialize(Bridge bridge)
NetworkModel.AcceptChanges();
}

Capabilities = await BridgeManager.BridgeManager.Instance.SelectedBridge.GetBridgeCapabilitiesAsyncTask();
Capabilities = await BridgesManager.Instance.SelectedBridge.GetBridgeCapabilitiesAsyncTask();

}

Expand Down
Loading

0 comments on commit 4099e7a

Please sign in to comment.