old mode 100644
new mode 100755
| | |
| | | Height = Application.GetRealHeight(69), |
| | | Y = Application.GetRealHeight(92), |
| | | TextID = MyInternationalizationString.devicestate, |
| | | IsBold = true, |
| | | }; |
| | | topRowLayout.AddChidren(titleName); |
| | | |
| | |
| | | Y = Application.GetRealHeight(92), |
| | | UnSelectedImagePath = "ZigeeLogic/drop-down.png", |
| | | }; |
| | | topRowLayout.AddChidren(dropdown); |
| | | |
| | | topRowLayout.AddChidren(dropdown);
|
| | |
|
| | | #endregion |
| | | |
| | |
|
| | | ///没有房间直接返回去; |
| | | if (Common.Room.Lists.Count == 0) |
| | | var listAllRoom = UserCenter.HdlRoomLogic.Current.GetAllListRooms(); |
| | | if (listAllRoom.Count == 0) |
| | | { |
| | | return; |
| | | } |
| | |
| | | foolrname.Text = btnfoolrname.Text; |
| | | flMain.RemoveFromParent(); |
| | | var list = Send.GetRoomList(btnfoolrname.Tag.ToString()); |
| | | |
| | | AllRoomView(list, deviceTypeList, roomhorizontalScrol, devicetypehorizontalScrol); |
| | | }; |
| | | foolrRowLayout.MouseUpEventHandler += foolrnameclick; |
| | |
| | | dropdown.Visible = false; |
| | | if (Config.Instance.Home.FloorDics.Count == 0) |
| | | { |
| | | roomlists.AddRange(Common.Room.Lists); |
| | | roomlists.AddRange(listAllRoom); |
| | | } |
| | | else |
| | | { |
| | |
| | | /// </summary> |
| | | void AllRoomView(List<Common.Room> roomlist, List<DeviceType> deviceTypeList, HorizontalScrolViewLayout roomhorizontalScrol, HorizontalScrolViewLayout devicetypehorizontalScrol) |
| | | { |
| | | |
| | | for (int i = 0; i < roomlist.Count; i++) |
| | | { |
| | | var room = roomlist[i]; |
| | |
| | | roomTextButton = roomnameBtn; |
| | | roomnameBtn.IsSelected = true; |
| | | |
| | | var list = new List<DeviceUI>(); |
| | | foreach (var device in room.DeviceUIList) |
| | | var list = new List<CommonDevice>(); |
| | | foreach (var deviceKeys in room.ListDevice) |
| | | { |
| | | if (device.CommonDevice == null) |
| | | var device = LocalDevice.Current.GetDevice(deviceKeys); |
| | | if (device == null) |
| | | { |
| | | continue; |
| | | } |
| | | if (!deviceTypeList.Contains(device.CommonDevice.Type)) |
| | | if (!deviceTypeList.Contains(device.Type)) |
| | | { |
| | | continue; |
| | | } |
| | |
| | | roomTextButton = roomnameBtn; |
| | | roomnameBtn.IsSelected = true; |
| | | |
| | | var list = new List<DeviceUI>(); |
| | | foreach (var device in room.DeviceUIList) |
| | | { |
| | | if (device.CommonDevice == null) |
| | | var list = new List<CommonDevice>(); |
| | | foreach (var deviceKeys in room.ListDevice) |
| | | {
|
| | | var device = LocalDevice.Current.GetDevice(deviceKeys); |
| | | if (device == null) |
| | | { |
| | | continue; |
| | | } |
| | | if (!deviceTypeList.Contains(device.CommonDevice.Type)) |
| | | if (!deviceTypeList.Contains(device.Type)) |
| | | { |
| | | continue; |
| | | } |
| | |
| | | /// 加载该区域所有设备视图方法 |
| | | /// </summary>0 |
| | | /// <param name="devicelist">Devicelist.</param> |
| | | void AllDeviceTypeView(List<DeviceUI> devicelist, HorizontalScrolViewLayout devicetypehorizontalScrol) |
| | | void AllDeviceTypeView(List<CommonDevice> devicelist, HorizontalScrolViewLayout devicetypehorizontalScrol) |
| | | { |
| | | List<string> devicetypelist = new List<string>(); |
| | | devicetypelist.Clear(); |
| | | #region ------排列设备类型------ |
| | | ///暂时隐藏灯光和窗帘设备 |
| | | var lightjosn = devicelist.Find((device) => device.CommonDevice.Type == DeviceType.ColorDimmableLight || device.CommonDevice.Type == DeviceType.OnOffOutput); |
| | | var lightjosn = devicelist.Find((device) => device.Type == DeviceType.ColorDimmableLight || device.Type == DeviceType.OnOffOutput); |
| | | if (lightjosn != null) |
| | | { |
| | | devicetypelist.Add(Language.StringByID(MyInternationalizationString.Lights)); |
| | | } |
| | | var curtainjosn = devicelist.Find((device) => device.CommonDevice.Type == DeviceType.WindowCoveringDevice); |
| | | var curtainjosn = devicelist.Find((device) => device.Type == DeviceType.WindowCoveringDevice); |
| | | if (curtainjosn != null) |
| | | { |
| | | devicetypelist.Add(Language.StringByID(MyInternationalizationString.Curtains)); |
| | | } |
| | | |
| | | var iASZonejosn = devicelist.Find((device) => device.CommonDevice.Type == DeviceType.IASZone || device.CommonDevice.Type == DeviceType.TemperatureSensor); |
| | | var iASZonejosn = devicelist.Find((device) => device.Type == DeviceType.IASZone || device.Type == DeviceType.TemperatureSensor); |
| | | if (iASZonejosn != null) |
| | | { |
| | | devicetypelist.Add(Language.StringByID(MyInternationalizationString.sensor)); |
| | | } |
| | | var onOffSwitchjson = devicelist.Find((device) => device.CommonDevice.Type == DeviceType.OnOffSwitch); |
| | | var onOffSwitchjson = devicelist.Find((device) => device.Type == DeviceType.OnOffSwitch); |
| | | if (onOffSwitchjson != null) |
| | | { |
| | | devicetypelist.Add(Language.StringByID(MyInternationalizationString.OnOffSwitch)); |
| | | } |
| | | var doorLock = devicelist.Find((device) => device.CommonDevice.Type == DeviceType.DoorLock); |
| | | var doorLock = devicelist.Find((device) => device.Type == DeviceType.DoorLock); |
| | | if (doorLock != null) |
| | | { |
| | | devicetypelist.Add(Language.StringByID(MyInternationalizationString.doorLock)); |
| | |
| | | /// </summary> |
| | | /// <param name="deviceTypelist">Device typelist.</param> |
| | | /// <param name="devicelist">设备列表</param> |
| | | void ConditionDeviceView(List<DeviceType> deviceTypelist, List<DeviceUI> devicelist) |
| | | void ConditionDeviceView(List<DeviceType> deviceTypelist, List<CommonDevice> devicelist) |
| | | { |
| | | middle.RemoveAll(); |
| | | |
| | | foreach (var common in devicelist) |
| | | { |
| | | |
| | | if (deviceTypelist.Count != 0 && !deviceTypelist.Contains(common.CommonDevice.Type)) |
| | | if (deviceTypelist.Count != 0 && !deviceTypelist.Contains(common.Type)) |
| | | { |
| | | continue; |
| | | } |
| | |
| | | |
| | | var devicename = new Button |
| | | { |
| | | Text = common.CommonDevice.DeviceEpointName, |
| | | Text = common.DeviceEpointName, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextColor = ZigbeeColor.Current.LogicTextBlackColor, |
| | | SelectedTextColor = ZigbeeColor.Current.LogicAddColor, |
| | | TextSize = 14, |
| | | }; |
| | | deviceRow.AddChidren(devicename); |
| | | switch (common.CommonDevice.Type) |
| | | switch (common.Type) |
| | | { |
| | | case DeviceType.OnOffOutput: |
| | | { |
| | |
| | | break; |
| | | case DeviceType.IASZone: |
| | | { |
| | | var iASZonedevice = common.CommonDevice as IASZone; |
| | | var iASZonedevice = common as IASZone; |
| | | if (iASZonedevice.DeviceID != 1026) |
| | | { |
| | | break; |
| | |
| | | break; |
| | | case DeviceType.TemperatureSensor: |
| | | { |
| | | var temperatureSensor = common.CommonDevice as TemperatureSensor; |
| | | var temperatureSensor = common as TemperatureSensor; |
| | | if (temperatureSensor.SensorDiv == 1) |
| | | { |
| | | deviceIconBtn.UnSelectedImagePath = $"ZigeeLogic/temperature.png"; |
| | |
| | | devicename.IsSelected = true; |
| | | var flMain = new FrameLayout { BackgroundColor = ZigbeeColor.Current.LogicViewBackgroundColor }; |
| | | this.AddChidren(flMain); |
| | | CurrentDeviceView(flMain, common.CommonDevice, false); |
| | | CurrentDeviceView(flMain, common, false); |
| | | }; |
| | | deviceFramelayout.MouseUpEventHandler += devicclick; |
| | | bjFramelayout.MouseUpEventHandler += devicclick; |
| | |
| | | Width = Application.GetRealWidth(600), |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor, |
| | | TextSize=14, |
| | | TextSize = 14, |
| | | }; |
| | | timeoutrowlayout.AddChidren(btntimeout); |
| | | |
| | |
| | | case DeviceType.TemperatureSensor: |
| | | { |
| | | string current = Language.StringByID(MyInternationalizationString.current); |
| | | devicefra.Y = Application.GetRealHeight(1920 - 140 - 160 * 2 - 20 - 50); |
| | | devicefra.Height = Application.GetRealHeight(140 + 160 * 2 + 20 + 50); |
| | | devicefra.Y = Application.GetRealHeight(1920 - 140 - 600); |
| | | devicefra.Height = Application.GetRealHeight(140 + 600); |
| | | var temperatureSensor = common as TemperatureSensor; |
| | | var Btntemperaturevalue = new Button |
| | | SelectedDeviceStatuscondition = "TemperatureSensor"; |
| | | #region 布局View |
| | | var PickerViewfra = new FrameLayout |
| | | { |
| | | TextColor = ZigbeeColor.Current.LogicBtnCancelColor, |
| | | Height = Application.GetRealHeight(60), |
| | | Width = Application.GetRealWidth(400), |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | X = Application.GetRealWidth(80), |
| | | Y = timetype.Bottom + Application.GetRealHeight(70), |
| | | TextSize = 14, |
| | | Y = Application.GetRealHeight(140), |
| | | Height = Application.GetRealHeight(600), |
| | | }; |
| | | devicefra.AddChidren(Btntemperaturevalue); |
| | | devicefra.AddChidren(PickerViewfra); |
| | | |
| | | var horizontalSeekBarVol = new HorizontalSeekBar |
| | | |
| | | var mUIPickerView = new UIPickerView |
| | | { |
| | | Width = Application.GetRealWidth(920), |
| | | Height = Application.GetRealHeight(80), |
| | | Radius = (uint)Application.GetRealHeight(25), |
| | | Y = timetype.Bottom + Application.GetRealHeight(70 + 60 + 70), |
| | | X = Application.GetRealWidth(80), |
| | | ProgressColor = ZigbeeColor.Current.LogicProgressColorSelected, |
| | | Max = 100, |
| | | SleepTime = 1000, |
| | | ThumbRadius = 9, |
| | | Height = Application.GetRealHeight(600 - 5), |
| | | }; |
| | | devicefra.AddChidren(horizontalSeekBarVol); |
| | | horizontalSeekBarVol.MouseUpEventHandler += (sender, e) => |
| | | PickerViewfra.AddChidren(mUIPickerView); |
| | | |
| | | var mList1 = new List<string> { ">", "<", "=", "≥", "≤" }; |
| | | var mList2 = new List<string>(); |
| | | var mList3 = new List<string>(); |
| | | for (int i = 1; i <=100; i++) |
| | | { |
| | | SelectedDeviceStatuscondition = "TemperatureSensor"; |
| | | if (temperatureSensor.SensorDiv == 1) |
| | | { |
| | | dictionary(deviceConditionsInfo, "AttriButeData1", horizontalSeekBarVol.Progress.ToString()); |
| | | |
| | | Btntemperaturevalue.Text = current + ">" + horizontalSeekBarVol.Progress.ToString() + "℃"; |
| | | |
| | | } |
| | | else |
| | | { |
| | | Btntemperaturevalue.Text = current + "<" + horizontalSeekBarVol.Progress.ToString() + "%"; |
| | | dictionary(deviceConditionsInfo, "AttriButeData1", horizontalSeekBarVol.Progress.ToString());//温度值 |
| | | } |
| | | }; |
| | | |
| | | |
| | | |
| | | if (temperatureSensor.SensorDiv == 1) |
| | | { |
| | | mList2.Add(i.ToString()); |
| | | } |
| | | if (temperatureSensor.SensorDiv == 1) { |
| | | mList3.Add("℃"); |
| | | dictionary(deviceConditionsInfo, "Cluster_ID", "1026"); |
| | | dictionary(deviceConditionsInfo, "AttriButeId", "0"); |
| | | dictionary(deviceConditionsInfo, "Range", "0");//0大于AttriButeData1时触发动作 |
| | | dictionary(deviceConditionsInfo, "AttriButeData1", "0"); |
| | | dictionary(deviceConditionsInfo, "Range", "1");//1:等于AttriButeData1时触发动作 |
| | | dictionary(deviceConditionsInfo, "AttriButeData1", "50");//默认温度值50℃ |
| | | dictionary(deviceConditionsInfo, "AttriButeData2", "0"); |
| | | Btntemperaturevalue.Text = current + ">0℃"; |
| | | |
| | | } |
| | | else |
| | | { |
| | | Btntemperaturevalue.Text = current + "<0%"; |
| | | } else { |
| | | mList3.Add("%"); |
| | | dictionary(deviceConditionsInfo, "Cluster_ID", "1029"); |
| | | dictionary(deviceConditionsInfo, "AttriButeId", "0"); |
| | | dictionary(deviceConditionsInfo, "Range", "2");//2小于AttriButeData1时触发动作 |
| | | dictionary(deviceConditionsInfo, "AttriButeData1", "0");//温度值 |
| | | dictionary(deviceConditionsInfo, "Range", "1");//1:等于AttriButeData1时触发动作 |
| | | dictionary(deviceConditionsInfo, "AttriButeData1", "50");//默认湿度值50% |
| | | dictionary(deviceConditionsInfo, "AttriButeData2", "0"); |
| | | } |
| | | mUIPickerView.setNPicker(mList1, mList2, mList3); |
| | | |
| | | #endregion |
| | | |
| | | mUIPickerView.OnSelectChangeEvent += (s1, s2, s3) => |
| | | { |
| | | SelectedDeviceStatuscondition = "TemperatureSensor"; |
| | | dictionary(deviceConditionsInfo, "AttriButeData1", mList2[s2]); |
| | | switch (mList1[s1]) |
| | | { |
| | | case ">": { |
| | | dictionary(deviceConditionsInfo, "Range", "0"); |
| | | } break; |
| | | case "<": { |
| | | dictionary(deviceConditionsInfo, "Range", "2"); |
| | | } break; |
| | | case "=": { |
| | | dictionary(deviceConditionsInfo, "Range", "1"); |
| | | } break; |
| | | case "≥": { |
| | | dictionary(deviceConditionsInfo, "Range", "6"); |
| | | } break; |
| | | case "≤": { |
| | | dictionary(deviceConditionsInfo, "Range", "7"); |
| | | } break; |
| | | } |
| | | }; |
| | | |
| | | //默认=,50 |
| | | int index1 = 2, index2 = 49; |
| | | if (edit && devices != null) |
| | | { |
| | | horizontalSeekBarVol.Progress = int.Parse(devices["AttriButeData1"]); |
| | | if (temperatureSensor.SensorDiv == 1) |
| | | SelectedDeviceStatuscondition = ""; |
| | | string s = ""; |
| | | switch (devices["Range"]) |
| | | { |
| | | |
| | | Btntemperaturevalue.Text = current + ">" + devices["AttriButeData1"] + "℃"; |
| | | |
| | | case "0": |
| | | { |
| | | s = ">"; |
| | | } |
| | | break; |
| | | case "1": |
| | | { |
| | | s = "="; |
| | | } |
| | | break; |
| | | case "2": |
| | | { |
| | | s = "<"; |
| | | } |
| | | break; |
| | | case "6": |
| | | { |
| | | s = "≥"; |
| | | } |
| | | break; |
| | | case "7": |
| | | { |
| | | s = "≤"; |
| | | } |
| | | break; |
| | | } |
| | | else |
| | | { |
| | | Btntemperaturevalue.Text = current + "<" + devices["AttriButeData1"] + "%"; |
| | | } |
| | | //查找索引 |
| | | index1 = mList1.IndexOf(s); |
| | | index2 = mList2.IndexOf(devices["AttriButeData1"]); |
| | | |
| | | } |
| | | ///更新最新状态; |
| | | mUIPickerView.setCurrentItems(index1, index2, 0); |
| | | |
| | | } |
| | | break; |
| | |
| | | { |
| | | if (!edit) |
| | | { |
| | | var alert = new Alert(Language.StringByID(MyInternationalizationString.Prompt), |
| | | Language.StringByID(MyInternationalizationString.selectdevicestatuscondition), |
| | | Language.StringByID(MyInternationalizationString.complete)); |
| | | var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Normal, |
| | | Language.StringByID(MyInternationalizationString.selectdevicestatuscondition), |
| | | Language.StringByID(MyInternationalizationString.confrim)); |
| | | alert.Show(); |
| | | return; |
| | | } |