old mode 100755
new mode 100644
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Timers; |
| | | using Shared.Common; |
| | | using Shared.Phone.Device.AC; |
| | | using ZigBee.Device; |
| | | using Shared.Phone.Device.CommonForm; |
| | | using Shared.Phone.UserCenter.DoorLock; |
| | | using System.Timers; |
| | | using Shared.Phone.Device.DeviceLogic; |
| | | using Shared.Phone.UserCenter; |
| | | using Shared.Phone.UserCenter.DoorLock; |
| | | using ZigBee.Device; |
| | | |
| | | namespace Shared.Phone.UserView |
| | | { |
| | |
| | | if (common.DeviceStatusReport.AttriBute == null || common.DeviceStatusReport.AttriBute.Count == 0) |
| | | { |
| | | return; |
| | | } |
| | | }
|
| | | for (int i = 0; deviceVerticalScrolViewLayout != null && i < deviceVerticalScrolViewLayout.ChildrenCount; i++)
|
| | | {
|
| | | var rowFL = deviceVerticalScrolViewLayout.GetChildren(i) as FrameLayout;
|
| | |
| | | //设备为空或者控件为空 |
| | | continue; |
| | | } |
| | | if (common.DeviceAddr != deviceUI.CommonDevice.DeviceAddr || common.DeviceEpoint != deviceUI.CommonDevice.DeviceEpoint)
|
| | | {
|
| | | //判断是否为当前设备
|
| | | continue;
|
| | | }
|
| | |
|
| | | switch (deviceUI.CommonDevice.Type)
|
| | | {
|
| | | case DeviceType.OnOffOutput:
|
| | | //开关功能
|
| | | if (common.DeviceStatusReport.CluterID == 6)
|
| | | {
|
| | | var onOffOutputLight = deviceUI.CommonDevice as ZigBee.Device.ToggleLight;
|
| | | onOffOutputLight.DeviceStatusReport = common.DeviceStatusReport;
|
| | | if (common.DeviceAddr != deviceUI.CommonDevice.DeviceAddr || common.DeviceEpoint != deviceUI.CommonDevice.DeviceEpoint) |
| | | { |
| | | //判断是否为当前设备 |
| | | continue; |
| | | } |
| | | |
| | | switch (deviceUI.CommonDevice.Type) |
| | | { |
| | | case DeviceType.OnOffOutput: |
| | | //开关功能 |
| | | if (common.DeviceStatusReport.CluterID == 6) |
| | | { |
| | | var onOffOutputLight = deviceUI.CommonDevice as ZigBee.Device.ToggleLight; |
| | | onOffOutputLight.DeviceStatusReport = common.DeviceStatusReport; |
| | | onOffOutputLight.OnOffStatus = onOffOutputLight.DeviceStatusReport.AttriBute[0].AttriButeData; |
| | | (rowFL.GetChildren(j) as FunctionMainView).IsSelected = onOffOutputLight.OnOffStatus == 1;
|
| | | (rowFL.GetChildren(j) as FunctionMainView).IsSelected = onOffOutputLight.OnOffStatus == 1; |
| | | (rowFL.GetChildren(j) as FunctionMainView).StatuButton.Text = deviceUI.GetDeviceStatu(); |
| | | onOffOutputLight.LastDateTime = DateTime.Now; |
| | | } |
| | | break;
|
| | | break; |
| | | |
| | | case DeviceType.AirSwitch:
|
| | | //开关功能
|
| | | if (common.DeviceStatusReport.CluterID == 6)
|
| | | {
|
| | | var airSwitch = deviceUI.CommonDevice as ZigBee.Device.AirSwitch;
|
| | | airSwitch.DeviceStatusReport = common.DeviceStatusReport;
|
| | | case DeviceType.AirSwitch: |
| | | //开关功能 |
| | | if (common.DeviceStatusReport.CluterID == 6) |
| | | { |
| | | var airSwitch = deviceUI.CommonDevice as ZigBee.Device.AirSwitch; |
| | | airSwitch.DeviceStatusReport = common.DeviceStatusReport; |
| | | airSwitch.OnOffStatus = airSwitch.DeviceStatusReport.AttriBute[0].AttriButeData; |
| | | (rowFL.GetChildren(j) as FunctionMainView).IsSelected = airSwitch.OnOffStatus == 1;
|
| | | (rowFL.GetChildren(j) as FunctionMainView).IsSelected = airSwitch.OnOffStatus == 1; |
| | | (rowFL.GetChildren(j) as FunctionMainView).StatuButton.Text = deviceUI.GetDeviceStatu(); |
| | | airSwitch.LastDateTime = DateTime.Now; |
| | | }
|
| | | } |
| | | //当CluterID=3,就证明该设备在线,直接标记 |
| | | if (common.DeviceStatusReport.CluterID == 3) |
| | | { |
| | | deviceUI.CommonDevice.IsOnline = 1; |
| | | deviceUI.CommonDevice.LastDateTime = DateTime.Now; |
| | | } |
| | | break;
|
| | | break; |
| | | |
| | | case DeviceType.WindowCoveringDevice:
|
| | | case DeviceType.WindowCoveringDevice: |
| | | if (common.DeviceStatusReport.CluterID == 258) |
| | | { |
| | | if (common.DeviceStatusReport.AttriBute[0].AttributeId == 0) |
| | |
| | | deviceUI.CommonDevice.IsOnline = 1; |
| | | deviceUI.CommonDevice.LastDateTime = DateTime.Now; |
| | | } |
| | | break;
|
| | | break; |
| | | |
| | | case DeviceType.Thermostat: |
| | | //AC功能 |
| | |
| | | //此属性描述恒温设备正处于哪种模式 |
| | | ac.currentSystemMode = attList.AttriButeData; |
| | | ac.LastDateTime = DateTime.Now; |
| | | break; |
| | | case 4099: |
| | | var value = Convert.ToString(attList.AttriButeData, 2).PadLeft(16, '0'); |
| | | var modeStr = value.Substring(value.Length - 5, 5); |
| | | for (int k = 0; k < modeStr.Length; k++) |
| | | { |
| | | ac.listSupportMode[k] = Convert.ToInt32(modeStr[k]) == 49 ? 1 : 0; |
| | | } |
| | | break; |
| | | } |
| | | } |
| | |
| | | } |
| | | } |
| | | break; |
| | | case DeviceType.TemperatureSensor: |
| | | //温度 |
| | | if (common.DeviceStatusReport.CluterID == 1026) |
| | | { |
| | | var tempera = deviceUI.CommonDevice as TemperatureSensor; |
| | | foreach (var data in common.DeviceStatusReport.AttriBute) |
| | | { |
| | | if (data.AttributeId == (int)ZigBee.Device.AttriButeId.MeasuredValue) |
| | | { |
| | | if (data.AttriButeData == 0) |
| | | { |
| | | tempera.Temperatrue = 0; |
| | | } |
| | | else if (data.AttriButeData > 32767) |
| | | { |
| | | //负数(特殊处理) |
| | | string strValue = (data.AttriButeData - 65536).ToString(); |
| | | //小数点需要一位 |
| | | strValue = strValue.Substring(0, strValue.Length - 1); |
| | | tempera.Temperatrue = Convert.ToDecimal(strValue.Insert(strValue.Length - 1, ".")); |
| | | } |
| | | else |
| | | { |
| | | //小数点需要一位 |
| | | string strValue = data.AttriButeData.ToString(); |
| | | strValue = strValue.Substring(0, strValue.Length - 1); |
| | | tempera.Temperatrue = Convert.ToDecimal(strValue.Insert(strValue.Length - 1, ".")); |
| | | } |
| | | |
| | | tempera.LastDateTime = DateTime.Now; |
| | | (rowFL.GetChildren(j) as FunctionMainView).StatuButton.Text = deviceUI.GetDeviceStatu(); |
| | | } |
| | | } |
| | | } |
| | | //湿度 |
| | | if (common.DeviceStatusReport.CluterID == 1029) |
| | | { |
| | | var tempera = deviceUI.CommonDevice as TemperatureSensor; |
| | | foreach (var data in common.DeviceStatusReport.AttriBute) |
| | | { |
| | | if (data.AttributeId == (int)ZigBee.Device.AttriButeId.MeasuredValue) |
| | | { |
| | | if (data.AttriButeData == 0) |
| | | { |
| | | tempera.Humidity = 0; |
| | | } |
| | | else |
| | | { |
| | | //小数点需要一位(湿度没有负数) |
| | | string strValue = data.AttriButeData.ToString(); |
| | | strValue = strValue.Substring(0, strValue.Length - 1); |
| | | tempera.Humidity = Convert.ToDecimal(strValue.Insert(strValue.Length - 1, ".")); |
| | | } |
| | | tempera.LastDateTime = DateTime.Now; |
| | | (rowFL.GetChildren(j) as FunctionMainView).StatuButton.Text = deviceUI.GetDeviceStatu(); |
| | | } |
| | | } |
| | | } |
| | | break; |
| | | } |
| | | }
|
| | | }
|
| | |
| | | }
|
| | | else if (typeTag == "IASInfoReport") |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | try |
| | | Application.RunOnMainThread(() =>
|
| | | {
|
| | | try
|
| | | { |
| | | for (int i = 0; deviceVerticalScrolViewLayout != null && i < deviceVerticalScrolViewLayout.ChildrenCount; i++) |
| | | { |
| | | var rowFL = deviceVerticalScrolViewLayout.GetChildren(i) as FrameLayout; |
| | | if (rowFL.ChildrenCount == 0) |
| | | { |
| | | //设备为空或者控件为空 |
| | | continue; |
| | | } |
| | | |
| | | for (int i = 0; deviceVerticalScrolViewLayout != null && i < deviceVerticalScrolViewLayout.ChildrenCount; i++)
|
| | | {
|
| | | var rowFL = deviceVerticalScrolViewLayout.GetChildren(i) as FrameLayout;
|
| | | if (rowFL.ChildrenCount == 0)
|
| | | {
|
| | | //设备为空或者控件为空
|
| | | continue;
|
| | | }
|
| | |
|
| | | for (int j = 0; j < rowFL.ChildrenCount; j++) |
| | | { |
| | | var deviceUI = (rowFL.GetChildren(j) as FunctionMainView).Tag as DeviceUI; |
| | |
| | | iAS.LastDateTime = DateTime.Now; |
| | | break; |
| | | } |
| | | } |
| | | }
|
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | System.Console.WriteLine($"Error:{ex.Message}"); |
| | | } |
| | | }
|
| | | catch (Exception ex)
|
| | | {
|
| | | System.Console.WriteLine($"Error:{ex.Message}");
|
| | | }
|
| | | }); |
| | | } |
| | | } |
| | |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextColor = ZigbeeColor.Current.GXCTextColor, |
| | | Text = Config.Instance.Home.GetCurrentFloorName, |
| | | IsBold=true |
| | | IsBold = true, |
| | | TextSize = 14 |
| | | }; |
| | | if (Config.Instance.Home.FloorDics.Count > 0) |
| | | { |
| | |
| | | } |
| | | else |
| | | { |
| | | var residenceListView = new Dialog(); |
| | | residenceListView.Show(); |
| | | var closeBGview = new FrameLayout(); |
| | | residenceListView.AddChidren(closeBGview); |
| | | closeBGview.MouseUpEventHandler += (send1, e1) => |
| | | var selectHouse = new Device.Category.SelectHouse(); |
| | | selectHouse.Init(); |
| | | selectHouse.HouseAction = (houseId) => |
| | | { |
| | | residenceListView.Close(); |
| | | ChangeResidence(House.GetHouseByHouseId(houseId)); |
| | | }; |
| | | |
| | | var bg = new Button |
| | | { |
| | | X = Application.GetRealWidth(35), |
| | | Y = Application.GetRealHeight(248), |
| | | Width = Application.GetMinRealAverage(449), |
| | | Height = Application.GetMinRealAverage(478), |
| | | UnSelectedImagePath = "Item/SelectHouse.png" |
| | | }; |
| | | closeBGview.AddChidren(bg); |
| | | |
| | | var changeHomeFL = new FrameLayout() |
| | | { |
| | | X = Application.GetRealWidth(35), |
| | | Y = Application.GetRealHeight(271), |
| | | Height = Application.GetMinRealAverage(449), |
| | | Width = Application.GetMinRealAverage(440), |
| | | Radius = CommonPage.BigFormRadius, |
| | | BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor |
| | | }; |
| | | closeBGview.AddChidren(changeHomeFL); |
| | | |
| | | var changeHomeBtn = new Button() |
| | | { |
| | | X = Application.GetRealWidth(80), |
| | | Width = Application.GetRealWidth(350), |
| | | Height = Application.GetRealHeight(150), |
| | | TextColor = ZigbeeColor.Current.GXCTextBlackColor, |
| | | TextID = R.MyInternationalizationString.ChangeHome, |
| | | TextAlignment = TextAlignment.CenterLeft |
| | | }; |
| | | changeHomeFL.AddChidren(changeHomeBtn); |
| | | |
| | | var scrolView = new VerticalScrolViewLayout() |
| | | { |
| | | Y = changeHomeBtn.Bottom, |
| | | Height = Application.GetMinRealAverage(305 - 10) |
| | | }; |
| | | changeHomeFL.AddChidren(scrolView); |
| | | |
| | | var clickCheckBtn = new Device.CommonForm.SelectedStatuButton(); |
| | | var clickNameBtn = new Device.CommonForm.SelectedStatuButton(); |
| | | foreach (var homeFilePath in Config.Instance.HomeFilePathList) |
| | | { |
| | | var home = House.GetHouseByFilePath(homeFilePath); |
| | | if (home == null) |
| | | { |
| | | continue; |
| | | } |
| | | var rowView = new RowLayout() |
| | | { |
| | | Height = Application.GetRealHeight(150) |
| | | }; |
| | | scrolView.AddChidren(rowView); |
| | | var pointBtn = new Device.CommonForm.SelectedStatuButton() |
| | | { |
| | | X = Application.GetRealWidth(80), |
| | | Width = Application.GetMinRealAverage(80), |
| | | Height = Application.GetMinRealAverage(80), |
| | | Gravity = Gravity.CenterVertical, |
| | | UnSelectedImagePath = "Item/House.png", |
| | | SelectedImagePath = "Item/HouseSelected.png", |
| | | IsSelected = home.Id == Config.Instance.Home.Id |
| | | }; |
| | | rowView.AddChidren(pointBtn); |
| | | var nameBtn = new Device.CommonForm.SelectedStatuButton() |
| | | { |
| | | X = Application.GetRealWidth(173), |
| | | Width = Application.GetRealWidth(280), |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | Text = home.Name, |
| | | TextColor = ZigbeeColor.Current.GXCTextGrayColor, |
| | | SelectedTextColor = ZigbeeColor.Current.GXCTextBlackColor, |
| | | IsSelected = home.Id == Config.Instance.Home.Id |
| | | }; |
| | | if (home.IsOthreShare) |
| | | { |
| | | nameBtn.Text = $"{home.Name}"; |
| | | } |
| | | rowView.AddChidren(nameBtn); |
| | | |
| | | EventHandler<MouseEventArgs> selectedResidenceHandler = (send1, e1) => |
| | | { |
| | | if (Config.Instance.Home.FileName == homeFilePath) |
| | | { |
| | | return; |
| | | } |
| | | clickCheckBtn.IsSelected = false; |
| | | clickNameBtn.IsSelected = false; |
| | | pointBtn.IsSelected = true; |
| | | nameBtn.IsSelected = true; |
| | | |
| | | residecneName.Text = home.Name; |
| | | if (home.IsOthreShare) |
| | | { |
| | | nameBtn.Text = $"{home.Name}"; |
| | | } |
| | | clickCheckBtn = pointBtn; |
| | | clickNameBtn = nameBtn; |
| | | residenceListView.Close(); |
| | | ChangeResidence(home); |
| | | }; |
| | | nameBtn.MouseUpEventHandler += selectedResidenceHandler; |
| | | pointBtn.MouseUpEventHandler += selectedResidenceHandler; |
| | | rowView.MouseUpEventHandler += selectedResidenceHandler; |
| | | if (home.Id == Config.Instance.Home.Id) |
| | | { |
| | | pointBtn.IsSelected = true; |
| | | nameBtn.IsSelected = true; |
| | | clickCheckBtn = pointBtn; |
| | | clickNameBtn = nameBtn; |
| | | residecneName.Text = home.Name; |
| | | if (home.IsOthreShare) |
| | | { |
| | | residecneName.Text = nameBtn.Text = $"{home.Name}"; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | pointBtn.IsSelected = false; |
| | | nameBtn.IsSelected = false; |
| | | } |
| | | } |
| | | } |
| | | }; |
| | | //消息 |
| | | messageBtn.MouseUpEventHandler += (send, e) => |
| | | { |
| | | |
| | | }; |
| | | |
| | | #endregion |
| | |
| | | if (roomPageView.GetChildren(roomPageView.PageIndex) != null) |
| | | { |
| | | (roomPageView.GetChildren(roomPageView.PageIndex) as RoomView).HideName(false); |
| | | |
| | | |
| | | } |
| | | |
| | | var functionSceneView = new FrameLayout() |
| | |
| | | //切换当前房间 |
| | | Room.CurrentRoom = rList[roomPageView.PageIndex]; |
| | | RefreshBodyView(); |
| | | |
| | | |
| | | }; |
| | | } |
| | | else |
| | | { |
| | | ShowNoGatewayTip(); |
| | | } |
| | |
|
| | | |
| | | } |
| | | |
| | | #endregion |
| | |
| | | floorFL.FloorAction = (floorId) => |
| | | { |
| | | floorBtn.Text = Config.Instance.Home.GetFloorNameById(floorId); |
| | | Common.Room.CurrentRoom = Common.Room.CurrentRoom?.GetLoveRoom(); |
| | | Show(); |
| | | }; |
| | | } |
| | |
| | | private void GoToAddGateWay(object sender, MouseEventArgs mouseEventArgs) |
| | | { |
| | | var selectNewGateWayForm = new UserCenter.GatewayAdd.NewGateWayMenuSelectForm { }; |
| | | selectNewGateWayForm.AddForm(); |
| | | selectNewGateWayForm.AddForm(selectNewGateWayForm); |
| | | } |
| | | |
| | | #endregion |
| | |
| | | /// </summary> |
| | | private void ShowFunction() |
| | | { |
| | | functionSceneBodyView.RemoveAll(); |
| | | //选择功能--直接从房间的devicelist中获取 |
| | | var deviceList = Room.CurrentRoom.DeviceUIList; |
| | | if (deviceList == null) |
| | |
| | | }) |
| | | { IsBackground = true }.Start(); |
| | | |
| | | var lightView = new FunctionMainView(xx, yy); |
| | | lightView.Tag = device; |
| | | itemView.AddChidren(lightView); |
| | | lightView.Init(); |
| | | lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath); |
| | | lightView.SetStatuText(device.GetDeviceStatu()); |
| | | lightView.SetDeviceName(rollerShade.DeviceEpointName); |
| | | //lightView.SetStatu(true); |
| | | lightView.IsSelected = rollerShade.WcdCurrentPositionLiftPercentage == 100; |
| | | lightView.SetCollect(true); |
| | | var functionView = new FunctionMainView(xx, yy); |
| | | functionView.Tag = device; |
| | | itemView.AddChidren(functionView); |
| | | functionView.Init(); |
| | | functionView.SetDeviceImage(device.IconPath, device.OnlineIconPath); |
| | | functionView.SetStatuText(device.GetDeviceStatu()); |
| | | functionView.SetDeviceName(Common.LocalDevice.Current.GetDeviceEpointName(rollerShade)); |
| | | functionView.IsSelected = rollerShade.WcdCurrentPositionLiftPercentage == 100; |
| | | functionView.SetCollect(true); |
| | | |
| | | lightView.SwitchButton.MouseUpEventHandler += (sender, e) => |
| | | functionView.SwitchButton.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | (sender as Button).IsSelected = !(sender as Button).IsSelected; |
| | | if ((sender as Button).IsSelected) |
| | |
| | | |
| | | (device.CommonDevice as Rollershade).CurtainUpDownStopControl(0); |
| | | |
| | | ((sender as Button).Parent as FunctionMainView).SetStatuText(CommonFormResouce.GetSwitchStatu(true)); |
| | | ((sender as Button).Parent as FunctionMainView).SetStatuText(Language.StringByID(R.MyInternationalizationString.Open)); |
| | | ((sender as Button).Parent as FunctionMainView).IsSelected = true; |
| | | |
| | | //控制延时回调 |
| | |
| | | |
| | | (device.CommonDevice as Rollershade).CurtainUpDownStopControl(1); |
| | | |
| | | ((sender as Button).Parent as FunctionMainView).SetStatuText(CommonFormResouce.GetSwitchStatu(false)); |
| | | ((sender as Button).Parent as FunctionMainView).SetStatuText(Language.StringByID(R.MyInternationalizationString.Close)); |
| | | ((sender as Button).Parent as FunctionMainView).IsSelected = false; |
| | | |
| | | //控制延时回调 |
| | |
| | | } |
| | | }; |
| | | |
| | | lightView.CardBG.MouseUpEventHandler += (sender, e) => |
| | | functionView.CardBG.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | CommonPage.Instance.IsDrawerLockMode = true; |
| | | var rollerShadeControl = new Phone.Device.Curtain.RollerShadeControl(); |
| | | UserView.HomePage.Instance.AddChidren(rollerShadeControl); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | | UserView.HomePage.Instance.ScrollEnabled = false; |
| | | //rollerShadeControl.action = RefreshBodyView; |
| | | rollerShadeControl.IsDrawerLockMode = true; |
| | | rollerShadeControl.Show(device, Room.CurrentRoom); |
| | | rollerShadeControl.action += (curDev, curRoom) => |
| | | { |
| | | ReFreshEditDeviceAction(device, curRoom, functionView); |
| | | }; |
| | | }; |
| | | |
| | | lightView.CollectButton.MouseUpEventHandler += collectionEvent; |
| | | functionView.CollectButton.MouseUpEventHandler += collectionEvent; |
| | | } |
| | | } |
| | | else if (device.CommonDevice.Type == DeviceType.OnOffOutput) |
| | | { |
| | | //开关灯 |
| | | var light = device.CommonDevice as ToggleLight; |
| | | if (light.Gateway != null)
|
| | | {
|
| | | new System.Threading.Thread(() =>
|
| | | if (light.Gateway != null) |
| | | { |
| | | new System.Threading.Thread(() => |
| | | { |
| | | System.Threading.Thread.Sleep(100 * i); |
| | | if (light.Gateway.IsVirtual) |
| | |
| | | }) |
| | | { IsBackground = true }.Start(); |
| | | |
| | | var lightView = new FunctionMainView(xx, yy); |
| | | itemView.AddChidren(lightView); |
| | | lightView.Init(); |
| | | lightView.Tag = device; |
| | | lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath); |
| | | lightView.SetStatuText(device.GetDeviceStatu()); |
| | | lightView.SetDeviceName(device.CommonDevice.DeviceEpointName); |
| | | lightView.IsSelected = light.OnOffStatus == 1; |
| | | lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName)); |
| | | var functionView = new FunctionMainView(xx, yy); |
| | | itemView.AddChidren(functionView); |
| | | functionView.Init(); |
| | | functionView.Tag = device; |
| | | functionView.SetDeviceImage(device.IconPath, device.OnlineIconPath); |
| | | functionView.SetStatuText(device.GetDeviceStatu()); |
| | | functionView.SetDeviceName(Common.LocalDevice.Current.GetDeviceEpointName(device.CommonDevice)); |
| | | functionView.IsSelected = light.OnOffStatus == 1; |
| | | functionView.SetCollect(Room.CurrentRoom.IsCollectInRoom(device.FileName)); |
| | | |
| | | var dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName); |
| | | if (dev == null) |
| | | if (Common.Room.CurrentRoom.IsCollectInRoom(device.FileName) == false) |
| | | { |
| | | lightView.CollectButton.IsSelected = false; |
| | | functionView.CollectButton.IsSelected = false; |
| | | } |
| | | else |
| | | { |
| | | lightView.CollectButton.IsSelected = true; |
| | | functionView.CollectButton.IsSelected = true; |
| | | } |
| | | |
| | | lightView.SwitchButton.MouseUpEventHandler += (sender, e) => |
| | | functionView.SwitchButton.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | (sender as Button).IsSelected = !(sender as Button).IsSelected; |
| | | if ((sender as Button).IsSelected) |
| | |
| | | } |
| | | }; |
| | | |
| | | lightView.CardBG.MouseUpEventHandler += (sender, e) => |
| | | functionView.CardBG.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | CommonPage.Instance.IsDrawerLockMode = true; |
| | | if (device.CommonDevice.DfunctionType == DeviceFunctionType.A开关) |
| | | |
| | | var lightControl = new Phone.Device.Light.OnOffControl(); |
| | | UserView.HomePage.Instance.AddChidren(lightControl); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | | lightControl.IsDrawerLockMode = true; |
| | | lightControl.Show(device, Room.CurrentRoom); |
| | | lightControl.action += (curDev, curRoom) => |
| | | { |
| | | var lightControl = new Phone.Device.Light.OnOffControl(); |
| | | UserView.HomePage.Instance.AddChidren(lightControl); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | | //lightControl.action = RefreshBodyView; |
| | | lightControl.Show(device, Room.CurrentRoom); |
| | | } |
| | | else if (device.CommonDevice.DfunctionType == DeviceFunctionType.A插座) |
| | | { |
| | | var lightControl = new Phone.Device.Light.PlugControl(); |
| | | UserView.HomePage.Instance.AddChidren(lightControl); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | | //lightControl.action = RefreshBodyView; |
| | | lightControl.Show(device, Room.CurrentRoom); |
| | | } |
| | | else |
| | | { |
| | | var lightControl = new Phone.Device.Light.LightControl(); |
| | | UserView.HomePage.Instance.AddChidren(lightControl); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | | //lightControl.action = RefreshBodyView; |
| | | lightControl.Show(device, Room.CurrentRoom); |
| | | } |
| | | ReFreshEditDeviceAction(device, curRoom, functionView); |
| | | }; |
| | | }; |
| | | |
| | | lightView.CollectButton.MouseUpEventHandler += collectionEvent; |
| | | functionView.CollectButton.MouseUpEventHandler += collectionEvent; |
| | | } |
| | | } |
| | | else if (device.CommonDevice.Type == DeviceType.AirSwitch) |
| | |
| | | }) |
| | | { IsBackground = true }.Start(); |
| | | |
| | | var lightView = new FunctionMainView(xx, yy); |
| | | itemView.AddChidren(lightView); |
| | | lightView.Init(); |
| | | lightView.Tag = device; |
| | | lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath); |
| | | lightView.SetStatuText(device.GetDeviceStatu()); |
| | | lightView.SetDeviceName(airSwitch.DeviceEpointName); |
| | | //lightView.SetStatu(true); |
| | | lightView.IsSelected = airSwitch.OnOffStatus == 1; |
| | | lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName)); |
| | | var functionView = new FunctionMainView(xx, yy); |
| | | itemView.AddChidren(functionView); |
| | | functionView.Init(); |
| | | functionView.Tag = device; |
| | | functionView.SetDeviceImage(device.IconPath, device.OnlineIconPath); |
| | | functionView.SetStatuText(device.GetDeviceStatu()); |
| | | functionView.SetDeviceName(Common.LocalDevice.Current.GetDeviceEpointName(airSwitch)); |
| | | functionView.IsSelected = airSwitch.OnOffStatus == 1; |
| | | functionView.SetCollect(Room.CurrentRoom.IsCollectInRoom( device.FileName)); |
| | | |
| | | lightView.SwitchButton.MouseUpEventHandler += (sender, e) => |
| | | functionView.SwitchButton.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | (sender as Button).IsSelected = !(sender as Button).IsSelected; |
| | | if ((sender as Button).IsSelected) |
| | |
| | | } |
| | | }; |
| | | |
| | | lightView.CardBG.MouseUpEventHandler += (sender, e) => |
| | | functionView.CardBG.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | CommonPage.Instance.IsDrawerLockMode = true; |
| | | var lightControl = new Phone.Device.Light.AirSwitchControl(); |
| | | UserView.HomePage.Instance.AddChidren(lightControl); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | | //lightControl.action = RefreshBodyView; |
| | | lightControl.IsDrawerLockMode = true; |
| | | lightControl.Show(device, Room.CurrentRoom); |
| | | lightControl.action += (curDev, curRoom) => |
| | | { |
| | | ReFreshEditDeviceAction(device, curRoom, functionView); |
| | | }; |
| | | |
| | | }; |
| | | |
| | | lightView.CollectButton.MouseUpEventHandler += collectionEvent; |
| | | functionView.CollectButton.MouseUpEventHandler += collectionEvent; |
| | | } |
| | | } |
| | | else if (device.CommonDevice.Type == DeviceType.Thermostat) |
| | |
| | | }) |
| | | { IsBackground = true }.Start(); |
| | | |
| | | var lightView = new FunctionMainView(xx, yy); |
| | | itemView.AddChidren(lightView); |
| | | lightView.Init(); |
| | | lightView.Tag = device; |
| | | lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath); |
| | | lightView.SetStatuText(device.GetDeviceStatu()); |
| | | lightView.SetDeviceName(device.CommonDevice.DeviceEpointName); |
| | | lightView.IsSelected = ac.currentSystemMode != 0; |
| | | lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName)); |
| | | var functionView = new FunctionMainView(xx, yy); |
| | | itemView.AddChidren(functionView); |
| | | functionView.Init(); |
| | | functionView.Tag = device; |
| | | functionView.SetDeviceImage(device.IconPath, device.OnlineIconPath); |
| | | functionView.SetStatuText(device.GetDeviceStatu()); |
| | | functionView.SetDeviceName(Common.LocalDevice.Current.GetDeviceEpointName(device.CommonDevice)); |
| | | functionView.IsSelected = ac.currentSystemMode != 0; |
| | | functionView.SetCollect(Room.CurrentRoom.IsCollectInRoom(device.FileName)); |
| | | |
| | | lightView.SwitchButton.MouseUpEventHandler += (sender, e) => |
| | | functionView.SwitchButton.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | (sender as Button).IsSelected = !(sender as Button).IsSelected; |
| | | if ((sender as Button).IsSelected) |
| | |
| | | } |
| | | }; |
| | | |
| | | lightView.CardBG.MouseUpEventHandler += (sender, e) => |
| | | functionView.CardBG.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | CommonPage.Instance.IsDrawerLockMode = true; |
| | | var lightControl = new Phone.Device.AC.ACControl(); |
| | | UserView.HomePage.Instance.AddChidren(lightControl); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | | //lightControl.action = RefreshBodyView; |
| | | lightControl.IsDrawerLockMode = true; |
| | | lightControl.Show(device, Room.CurrentRoom); |
| | | lightControl.action += (curDev, curRoom) => |
| | | { |
| | | ReFreshEditDeviceAction(device, curRoom, functionView); |
| | | }; |
| | | }; |
| | | |
| | | lightView.CollectButton.MouseUpEventHandler += collectionEvent; |
| | | functionView.CollectButton.MouseUpEventHandler += collectionEvent; |
| | | } |
| | | } |
| | | else if (device.CommonDevice.Type == DeviceType.DimmableLight) |
| | |
| | | }) |
| | | { IsBackground = true }.Start(); |
| | | |
| | | var lightView = new FunctionMainView(xx, yy); |
| | | itemView.AddChidren(lightView); |
| | | lightView.Init(); |
| | | lightView.Tag = device; |
| | | lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath); |
| | | lightView.SetStatuText(device.GetDeviceStatu()); |
| | | lightView.SetDeviceName(device.CommonDevice.DeviceEpointName); |
| | | lightView.IsSelected = dimmableLight.OnOffStatus == 1; |
| | | lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName)); |
| | | var functionView = new FunctionMainView(xx, yy); |
| | | itemView.AddChidren(functionView); |
| | | functionView.Init(); |
| | | functionView.Tag = device; |
| | | functionView.SetDeviceImage(device.IconPath, device.OnlineIconPath); |
| | | functionView.SetStatuText(device.GetDeviceStatu()); |
| | | functionView.SetDeviceName(Common.LocalDevice.Current.GetDeviceEpointName(device.CommonDevice)); |
| | | functionView.IsSelected = dimmableLight.OnOffStatus == 1; |
| | | functionView.SetCollect(Room.CurrentRoom.IsCollectInRoom(device.FileName)); |
| | | |
| | | var dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName); |
| | | if (dev == null) |
| | | if (Common.Room.CurrentRoom.IsCollectInRoom(device.FileName) == false) |
| | | { |
| | | lightView.CollectButton.IsSelected = false; |
| | | functionView.CollectButton.IsSelected = false; |
| | | } |
| | | else |
| | | { |
| | | lightView.CollectButton.IsSelected = true; |
| | | functionView.CollectButton.IsSelected = true; |
| | | } |
| | | |
| | | lightView.SwitchButton.MouseUpEventHandler += (sender, e) => |
| | | functionView.SwitchButton.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | (sender as Button).IsSelected = !(sender as Button).IsSelected; |
| | | if ((sender as Button).IsSelected) |
| | |
| | | } |
| | | }; |
| | | |
| | | lightView.CardBG.MouseUpEventHandler += (sender, e) => |
| | | functionView.CardBG.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | CommonPage.Instance.IsDrawerLockMode = true; |
| | | var dimmableLightControl = new Phone.Device.Light.DimmableLightControl(); |
| | | UserView.HomePage.Instance.AddChidren(dimmableLightControl); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | | //dimmableLightControl.action = RefreshBodyView; |
| | | dimmableLightControl.IsDrawerLockMode = true; |
| | | dimmableLightControl.Show(device, Room.CurrentRoom); |
| | | dimmableLightControl.action += (curDev, curRoom) => |
| | | { |
| | | ReFreshEditDeviceAction(device, curRoom, functionView); |
| | | }; |
| | | }; |
| | | lightView.CollectButton.MouseUpEventHandler += collectionEvent; |
| | | functionView.CollectButton.MouseUpEventHandler += collectionEvent; |
| | | } |
| | | } |
| | | else if (device.CommonDevice.Type == DeviceType.IASZone) |
| | |
| | | lightView.Tag = device; |
| | | lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath); |
| | | lightView.SetStatuText(device.GetDeviceStatu()); |
| | | lightView.SetDeviceName(device.CommonDevice.DeviceEpointName); |
| | | lightView.SetDeviceName(Common.LocalDevice.Current.GetDeviceEpointName(device.CommonDevice)); |
| | | lightView.IsSelected = ias.iASInfo?.Alarm1 == 1; |
| | | lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName)); |
| | | lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(device.FileName)); |
| | | lightView.CanControl(false); |
| | | var dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName); |
| | | if (dev == null) |
| | | if (Common.Room.CurrentRoom.IsCollectInRoom(device.FileName) == false) |
| | | { |
| | | lightView.CollectButton.IsSelected = false; |
| | | } |
| | |
| | | lightView.CollectButton.IsSelected = true; |
| | | } |
| | | lightView.CollectButton.MouseUpEventHandler += collectionEvent; |
| | | } |
| | | else if (device.CommonDevice.Type == DeviceType.TemperatureSensor) |
| | | { |
| | | var tempera = device.CommonDevice as TemperatureSensor; |
| | | |
| | | if (tempera.Gateway != null) |
| | | { |
| | | new System.Threading.Thread(() => |
| | | { |
| | | System.Threading.Thread.Sleep(100 * i); |
| | | if (tempera.Gateway.IsVirtual) |
| | | { |
| | | ReadStatus(tempera, () => |
| | | { |
| | | if (tempera.SensorDiv == 1) |
| | | { |
| | | ReadDeviceAttributeLogic.Instance.SendTemperatureStatuComand(device.CommonDevice); |
| | | } |
| | | else if (tempera.SensorDiv == 2) |
| | | { |
| | | ReadDeviceAttributeLogic.Instance.SendHumidityStatuComand(device.CommonDevice); |
| | | } |
| | | }); |
| | | } |
| | | else |
| | | { |
| | | if (CommonPage.ReadDeviceStatuSpan < (DateTime.Now - tempera.LastDateTime).TotalSeconds) |
| | | { |
| | | if (tempera.SensorDiv == 1) |
| | | { |
| | | ReadDeviceAttributeLogic.Instance.SendTemperatureStatuComand(device.CommonDevice); |
| | | } |
| | | else if (tempera.SensorDiv == 2) |
| | | { |
| | | ReadDeviceAttributeLogic.Instance.SendHumidityStatuComand(device.CommonDevice); |
| | | } |
| | | } |
| | | } |
| | | }) |
| | | { IsBackground = true }.Start(); |
| | | |
| | | var lightView = new FunctionMainView(xx, yy); |
| | | itemView.AddChidren(lightView); |
| | | lightView.Init(); |
| | | lightView.Tag = device; |
| | | lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath); |
| | | lightView.SetStatuText(device.GetDeviceStatu()); |
| | | lightView.SetDeviceName(Common.LocalDevice.Current.GetDeviceEpointName(device.CommonDevice)); |
| | | lightView.IsSelected = false; |
| | | lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(device.FileName)); |
| | | lightView.CanControl(false); |
| | | if (Common.Room.CurrentRoom.IsCollectInRoom(device.FileName) == false) |
| | | { |
| | | lightView.CollectButton.IsSelected = false; |
| | | } |
| | | else |
| | | { |
| | | lightView.CollectButton.IsSelected = true; |
| | | } |
| | | lightView.CollectButton.MouseUpEventHandler += collectionEvent; |
| | | } |
| | | } |
| | | else if (device.CommonDevice.Type == DeviceType.DoorLock) |
| | | { |
| | |
| | | lightView.Tag = device; |
| | | lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath); |
| | | lightView.SetStatuText(device.GetDeviceStatu()); |
| | | lightView.SetDeviceName(device.CommonDevice.DeviceEpointName); |
| | | lightView.IsSelected = dimmableLight.IsOnline == 1; |
| | | lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName)); |
| | | lightView.SetDeviceName(Common.LocalDevice.Current.GetDeviceEpointName(device.CommonDevice)); |
| | | lightView.IsSelected = false; |
| | | lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(device.FileName)); |
| | | lightView.CanControl(false); |
| | | var dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName); |
| | | if (dev == null) |
| | | if (Common.Room.CurrentRoom.IsCollectInRoom(device.FileName) == false) |
| | | { |
| | | lightView.CollectButton.IsSelected = false; |
| | | } |
| | |
| | | lightView.Tag = device; |
| | | lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath); |
| | | lightView.SetStatuText(device.GetDeviceStatu()); |
| | | lightView.SetDeviceName(device.CommonDevice.DeviceEpointName); |
| | | lightView.SetDeviceName(Common.LocalDevice.Current.GetDeviceEpointName(device.CommonDevice)); |
| | | lightView.CanControl(false); |
| | | lightView.IsSelected = device.CommonDevice.IsOnline == 1; |
| | | lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName)); |
| | | lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(device.FileName)); |
| | | |
| | | var dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName); |
| | | if (dev == null) |
| | | if (Common.Room.CurrentRoom.IsCollectInRoom(device.FileName) == false) |
| | | { |
| | | lightView.CollectButton.IsSelected = false; |
| | | } |
| | |
| | | }); |
| | | //}) |
| | | //{ IsBackground = true }.Start(); |
| | | } |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// ReFreshEditDeviceAction |
| | | /// </summary> |
| | | /// <param name="device"></param> |
| | | /// <param name="curRoom"></param> |
| | | /// <param name="functionView"></param> |
| | | private void ReFreshEditDeviceAction(DeviceUI device, Common.Room curRoom, FunctionMainView functionView) |
| | | { |
| | | if (Common.Room.CurrentRoom.IsLove) |
| | | { |
| | | functionView.SetDeviceImage(device.IconPath, device.OnlineIconPath); |
| | | functionView.SetDeviceName(Common.LocalDevice.Current.GetDeviceEpointName(device.CommonDevice)); |
| | | if (Room.CurrentRoom.IsCollectInRoom(device.FileName) == false) |
| | | { |
| | | ShowFunction(); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | if (curRoom.Id != Common.Room.CurrentRoom.Id) |
| | | { |
| | | |
| | | Common.Room.CurrentRoom.DeleteDevice(device.FileName); |
| | | ShowFunction(); |
| | | } |
| | | else |
| | | { |
| | | functionView.SetDeviceImage(device.IconPath, device.OnlineIconPath); |
| | | functionView.SetDeviceName(Common.LocalDevice.Current.GetDeviceEpointName(device.CommonDevice)); |
| | | functionView.SetCollect(Room.CurrentRoom.IsCollectInRoom(device.FileName)); |
| | | } |
| | | } |
| | | } |
| | |
| | | Height = Application.GetRealHeight(200), |
| | | Text = Language.StringByID(R.MyInternationalizationString.NoScene_Tip).Replace("{\\r\\n}", "\r\n"), |
| | | TextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor, |
| | | TextAlignment = TextAlignment.Center, |
| | | TextAlignment=TextAlignment.Center, |
| | | IsMoreLines = true |
| | | }; |
| | | functionSceneBodyView.AddChidren(noScenceTip); |
| | |
| | | /// </summary> |
| | | private void ShowScene() |
| | | { |
| | | functionSceneBodyView.RemoveAll(); |
| | | //选择场景 |
| | | var sceneList = Room.CurrentRoom.SceneUIList; |
| | | if (sceneList == null) |
| | |
| | | } |
| | | |
| | | var sceneView = new SceneMainView(xx, yy); |
| | | itemView.AddChidren(sceneView); |
| | | sceneView.Init(scene); |
| | | itemView.AddChidren(sceneView); |
| | | sceneView.CollectionAction += ShowScene; |
| | | } |
| | | GetDelayScene(sceneScrolView); |
| | | } |