| | |
| | | continue; |
| | | } |
| | | foreach (var light in room.DeviceList) { |
| | | if (light.Type == DeviceType.LightSwitchSocket) { |
| | | if (light.Type == DeviceType.LightEnergySocket) { |
| | | if ((light as LightSwitch).CurrentBrightness == 100) |
| | | brighingCount++; |
| | | } |
| | |
| | | if (roomRow.Tag.ToString () == room.Name) { |
| | | int oCount = 0; |
| | | foreach (var light in room.DeviceList) { |
| | | if (light.Type == DeviceType.LightSwitchSocket) { |
| | | if (light.Type == DeviceType.LightEnergySocket) { |
| | | if ((light as LightSwitch).CurrentBrightness == 100) |
| | | oCount++; |
| | | } |
| | |
| | | /// 控制所有的灯 |
| | | /// </summary> |
| | | /// <param name="b">The blue component.</param> |
| | | void controlAllLight (byte b) |
| | | void controlAllLightOld (byte b) |
| | | { |
| | | if (CommonPage.IsRemote) { |
| | | if (!SmartHome.MqttCommon.IsGatewayOnline) { |
| | |
| | | foreach (var common in room.DeviceList) { |
| | | //controlDeviceIndex++; |
| | | byte [] returnBytes = null; |
| | | if (common.Type == DeviceType.LightSwitchSocket || common.Type == DeviceType.LightEnergySocket) { |
| | | if (common.Type == DeviceType.LightEnergySocket) { |
| | | returnBytes = Control.ControlBytesSendHasReturn (Command.SetSingleLight, common.SubnetID, common.DeviceID, new byte [] { common.LoopID, b, 0, 0 }); |
| | | if (showTip) { |
| | | if (returnBytes == null) { |
| | |
| | | } |
| | | } |
| | | } catch (Exception ex) { |
| | | Console.WriteLine (ex.Message); |
| | | Utlis.WriteLine (ex.Message); |
| | | } finally { |
| | | Application.RunOnMainThread (() => { |
| | | MainPage.Loading.Hide (); |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 控制所有的灯 |
| | | /// </summary> |
| | | /// <param name="b">The blue component.</param> |
| | | void controlAllLight (byte b) |
| | | { |
| | | if (CommonPage.IsRemote) { |
| | | if (!SmartHome.MqttCommon.IsGatewayOnline) { |
| | | new Alert ("", "Gateway offline" + ErrorCode.ControlFailure, "Close").Show (); |
| | | return; |
| | | } |
| | | } |
| | | showTip = true; |
| | | |
| | | System.Threading.Tasks.Task.Run (() => { |
| | | try { |
| | | int mSendCount = 0; |
| | | Application.RunOnMainThread (() => { |
| | | MainPage.Loading.Start ("Sending..."); |
| | | }); |
| | | foreach (var room in Room.Lists) { |
| | | if (string.IsNullOrEmpty (room.Name)) { |
| | | continue; |
| | | } |
| | | foreach (var common in room.DeviceList) { |
| | | //controlDeviceIndex++; |
| | | byte [] returnBytes = null; |
| | | if (common.Type == DeviceType.LightEnergySocket) { |
| | | new System.Threading.Thread (() => { |
| | | mSendCount++; |
| | | returnBytes = Control.ControlBytesSendHasReturn (Command.SetSingleLight, common.SubnetID, common.DeviceID, new byte [] { common.LoopID, b, 0, 0 }); |
| | | if (showTip) { |
| | | if (returnBytes == null) { |
| | | Application.RunOnMainThread (() => { |
| | | |
| | | var btnTip = new Button () { |
| | | Height = Application.GetRealHeight (140), |
| | | Text = common.Name + ErrorCode.ControlFailure, |
| | | BackgroundColor = 0xFFD7D7D7, |
| | | }; |
| | | MainPage.MainFrameLayout.AddChidren (btnTip); |
| | | btnTip.MouseUpEventHandler += (sender, e) => { |
| | | btnTip.RemoveFromParent (); |
| | | }; |
| | | |
| | | System.Threading.Tasks.Task.Run (() => { |
| | | System.Threading.Thread.Sleep (3000); |
| | | Application.RunOnMainThread (() => { |
| | | btnTip.RemoveFromParent (); |
| | | }); |
| | | }); |
| | | |
| | | }); |
| | | } |
| | | } |
| | | mSendCount--; |
| | | }) { IsBackground = true}.Start(); |
| | | |
| | | //等待100ms再发送第二个设备数据 |
| | | System.Threading.Thread.Sleep (100); |
| | | |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | while (mSendCount > 0) { |
| | | System.Threading.Thread.Sleep (100); |
| | | } |
| | | } catch (Exception ex) { |
| | | Utlis.WriteLine (ex.Message); |
| | | } finally { |
| | | Application.RunOnMainThread (() => { |
| | | MainPage.Loading.Hide (); |
| | |
| | | continue; |
| | | } |
| | | foreach (var common in room.DeviceList) { |
| | | if (common.Type == DeviceType.LightSwitchSocket || common.Type == DeviceType.LightEnergySocket) { |
| | | if (common.Type == DeviceType.LightEnergySocket) { |
| | | LightCount++; |
| | | var light = common as LightSwitch; |
| | | var lightView = new FrameLayout () { |
| | |
| | | foreach (var c in EnergtLightList) { |
| | | Control.ControlBytesSend (Command.ReadAnalogValue, c.SubnetID, c.DeviceID, new byte [] { 10, c.LoopID }, SendCount.Zero); |
| | | Control.ControlBytesSend (Command.ReadAnalogValue, c.SubnetID, c.DeviceID, new byte [] { 11, c.LoopID }, SendCount.Zero); |
| | | System.Threading.Thread.Sleep (500); |
| | | System.Threading.Thread.Sleep (200); |
| | | } |
| | | Thread.Sleep (10000); |
| | | } |
| | |
| | | { |
| | | if (isCheckIsReadingAll) { |
| | | if (IsReadingAll && !isRead) { |
| | | Console.WriteLine ("IsLightReadingAll 读取中"); |
| | | Utlis.WriteLine ("IsLightReadingAll 读取中"); |
| | | return; |
| | | } |
| | | } |
| | |
| | | continue; |
| | | } |
| | | var list = room.DeviceList.FindAll ((obj) => { |
| | | return obj.Type == DeviceType.LightSwitchSocket; |
| | | return obj.Type == DeviceType.LightEnergySocket; |
| | | }); |
| | | foreach (Common common in list) { |
| | | common.LastUpdateTime = DateTime.MinValue; |
| | |
| | | continue; |
| | | } |
| | | var list = room.DeviceList.FindAll ((obj) => { |
| | | return obj.LastUpdateTime.AddMinutes (Common.Time) <= DateTime.Now && obj.Type == DeviceType.LightSwitchSocket; |
| | | return obj.LastUpdateTime.AddMinutes (Common.Time) <= DateTime.Now && obj.Type == DeviceType.LightEnergySocket; |
| | | }); |
| | | foreach (Common common in list) { |
| | | var s = common.Type + "_" + common.SubnetID + "_" + common.DeviceID; |
| | |
| | | continue; |
| | | } |
| | | readList.Add (s); |
| | | Control.ControlBytesSendHasReturn (Command.ReadLightEquipmentAllLoopBrightness, common.SubnetID, common.DeviceID, new byte [] { }); |
| | | Control.ControlBytesSend (Command.ReadLightEquipmentAllLoopBrightness, common.SubnetID, common.DeviceID, new byte [] { }); |
| | | Thread.Sleep (200); |
| | | } |
| | | } |
| | | IsReadingAll = false; |