old mode 100644
new mode 100755
| | |
| | | for (int i = 0; i < Logic.currlogic.input.Count; i++) |
| | | { |
| | | Input inputCondition = Logic.currlogic.input[i]; |
| | | if (inputCondition == null) |
| | | { |
| | | //防止有的空对象; |
| | | //正常情况下不会该现象; |
| | | continue; |
| | | } |
| | | ///各种条件的View |
| | | LogicView.AddOutputInputView inputView = new LogicView.AddOutputInputView(); |
| | | inputView.FLayoutView(viewLayout); |
| | | ///记录条件类型 |
| | | inputView.btnClick.Name = inputCondition.condition_type; |
| | | ///记录条件索引 |
| | | inputView.btnClick.Tag = i; |
| | | inputView.btnClick.Tag = inputCondition.sid; |
| | | ///条件状态数组 |
| | | List<Dictionary<string, string>> dicList = inputCondition.condition as List<Dictionary<string, string>>; |
| | | //显示条件各种类型状态 |
| | |
| | | { |
| | | case "1": |
| | | { |
| | | inputView.btnIcon.UnSelectedImagePath = "LogicIcon/timecondition.png"; |
| | | inputView.btnIcon.UnSelectedImagePath = "LogicIcon/time.png"; |
| | | foreach (var dic in dicList) |
| | | { |
| | | string value = dic["value"]; |
| | |
| | | break; |
| | | case "2": |
| | | { |
| | | inputView.btnIcon.UnSelectedImagePath = "LogicIcon/timecondition.png"; |
| | | inputView.btnIcon.UnSelectedImagePath = "LogicIcon/time.png"; |
| | | foreach (var dic in dicList) |
| | | { |
| | | string value = dic["value"]; |
| | |
| | | //区别不同设备,显示不同设备状态 |
| | | switch (device.functionType) |
| | | { |
| | | //开关灯光 light.Switch |
| | | case FunctionType.Dimmer: |
| | | case FunctionType.RGB: |
| | | case FunctionType.RGBW: |
| | | case FunctionType.ColorTemperature: |
| | | case FunctionType.Relay: |
| | | //窗帘 |
| | | case FunctionType.Curtain: |
| | | case FunctionType.RollingShutter: |
| | | case FunctionType.MotorCurtain: |
| | | //空调 |
| | | case FunctionType.AC: |
| | | //地热 |
| | | case FunctionType.FloorHeating: |
| | | {//开关灯 |
| | | foreach (var dic in dicList) |
| | | { |
| | |
| | | { |
| | | Button button = (Button)sen; |
| | | //找到当前编辑的索引 |
| | | int indexVulae = int.Parse(inputView.btnClick.Tag.ToString()); |
| | | int indexVulae = 0; |
| | | for (int index = 0; index < Logic.currlogic.input.Count; index++) |
| | | { |
| | | Input input = Logic.currlogic.input[index]; |
| | | if (input.sid == inputView.btnClick.Tag.ToString()) |
| | | { |
| | | //用户可能删除数据,使列表索引发生改变; |
| | | //通过唯一sid重新查找到索引且更新索引值 |
| | | indexVulae = index; |
| | | break; |
| | | } |
| | | } |
| | | |
| | | //标记编辑状态 |
| | | bool edit = true; |
| | | //表示是条件 |
| | | string if_type = LogicMethod.condition_if; |
| | | switch (button.Name) |
| | | { |
| | | case "1": |
| | |
| | | timeTpye.TimeHorizon(fLayout, edit, indexVulae); |
| | | } |
| | | break; |
| | | |
| | | case "3": |
| | | { |
| | | //用sid找到设备; |
| | | var device = LogicMethod.GetDevice(inputCondition.sid); |
| | | DeviceFunList deviceFunList = new DeviceFunList(); |
| | | ConditionDeviceFunList deviceFunList = new ConditionDeviceFunList(); |
| | | MainPage.BasePageView.AddChidren(deviceFunList); |
| | | deviceFunList.Show(device, indexVulae, edit, if_type); |
| | | deviceFunList.Show(device, indexVulae, edit); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | } |
| | | break; |
| | |
| | | |
| | | } |
| | | }; |
| | | |
| | | ///删除控件 |
| | | inputView.btnDel.MouseUpEventHandler += (sender, e) => |
| | | { |
| | |
| | | /// <param name="viewLayout">上下滑动控件</param> |
| | | public static void OutputTarget(FrameLayout thisView, VerticalScrolViewLayout viewLayout) |
| | | { |
| | | |
| | | for (int i = 0; i < Logic.currlogic.output.Count; i++) |
| | | |
| | | for (int i = 0; i < Logic.currlogic.output.Count; i++) |
| | | { |
| | | Output outputTarget = Logic.currlogic.output[i]; |
| | | if (outputTarget == null) |
| | | { |
| | | //防止有的空对象; |
| | | //正常情况下不会该现象; |
| | | continue; |
| | | } |
| | | ///各种条件的View |
| | | LogicView.AddOutputInputView targetView = new LogicView.AddOutputInputView(); |
| | | targetView.FLayoutView(viewLayout); |
| | | ///记录条件类型 |
| | | targetView.btnClick.Name = outputTarget.target_type; |
| | | ///记录条件索引 |
| | | targetView.btnClick.Tag = i; |
| | | targetView.btnClick.Tag = outputTarget.sid; |
| | | ///条件状态数组 |
| | | List<Dictionary<string, string>> dicList = outputTarget.status as List<Dictionary<string, string>>; |
| | | //显示条件各种类型状态 |
| | | //显示输出条件各种类型状态 |
| | | switch (outputTarget.target_type) |
| | | { |
| | | case "1": |
| | |
| | | targetView.btnText.Text = device.name; |
| | | //改变设备名称显示控件宽度 |
| | | targetView.btnText.Width = Application.GetRealWidth(80); |
| | | //第一个变量显示状态值 |
| | | string stateStr = ""; |
| | | //区别不同设备,显示不同设备状态 |
| | | switch (device.functionType) |
| | | { |
| | | case FunctionType.Relay: |
| | | {//开关灯 |
| | | |
| | | foreach (var dic in dicList) |
| | | { |
| | | |
| | | string value = dic["value"]; |
| | | if (value == "on") |
| | | { |
| | | targetView.btnState.Text = Language.StringByID(StringId.onLogic); |
| | | stateStr = Language.StringByID(StringId.onLogic); |
| | | |
| | | } |
| | | else |
| | | { |
| | | targetView.btnState.Text = Language.StringByID(StringId.offLogic); |
| | | stateStr = Language.StringByID(StringId.offLogic); |
| | | } |
| | | } |
| | | targetView.btnState.Text = stateStr; |
| | | } |
| | | break; |
| | | case FunctionType.RGB: |
| | | case FunctionType.RGBW: |
| | | case FunctionType.ColorTemperature: |
| | | case FunctionType.Dimmer: |
| | | { |
| | | string on_off = GetKeyValue("on_off", dicList); |
| | | string brightness = GetKeyValue("brightness", dicList); |
| | | if (on_off == "on" && brightness != "") |
| | | { |
| | | stateStr = Language.StringByID(StringId.onLogic) + brightness + "%"; |
| | | } |
| | | else if (on_off == "on") |
| | | { |
| | | stateStr = Language.StringByID(StringId.onLogic); |
| | | } |
| | | else if (on_off == "off") |
| | | { |
| | | stateStr = Language.StringByID(StringId.offLogic); |
| | | } |
| | | else if (brightness != "") |
| | | { |
| | | stateStr = brightness + "%"; |
| | | } |
| | | targetView.btnState.Text = stateStr; |
| | | } |
| | | break; |
| | | case FunctionType.Curtain: |
| | | case FunctionType.MotorCurtain: |
| | | case FunctionType.RollingShutter: |
| | | { |
| | | foreach (var dic in dicList) |
| | | { |
| | | string value = dic["value"]; |
| | | switch (value) |
| | | { |
| | | case "on": |
| | | { |
| | | stateStr = Language.StringByID(StringId.onLogic); |
| | | } |
| | | break; |
| | | case "off": |
| | | { |
| | | stateStr = Language.StringByID(StringId.offLogic); |
| | | } |
| | | break; |
| | | case "stop": |
| | | { |
| | | stateStr = Language.StringByID(StringId.stop); |
| | | } |
| | | break; |
| | | } |
| | | } |
| | | targetView.btnState.Text = stateStr; |
| | | } |
| | | break; |
| | | case FunctionType.AC: { |
| | | string on_off = GetKeyValue("on_off", dicList); |
| | | string set_temp = GetKeyValue("set_temp", dicList); |
| | | string mode = GetKeyValue("mode", dicList); |
| | | string fan = GetKeyValue("fan", dicList); |
| | | if (on_off != "") { |
| | | switch (on_off) |
| | | { |
| | | case "on": |
| | | { |
| | | stateStr = Language.StringByID(StringId.onLogic)+","; |
| | | } |
| | | break; |
| | | case "off": |
| | | { |
| | | stateStr = Language.StringByID(StringId.offLogic) + ","; |
| | | } |
| | | break; |
| | | |
| | | } |
| | | } |
| | | |
| | | if (set_temp != "") |
| | | { |
| | | |
| | | stateStr += set_temp + "℃,"; |
| | | } |
| | | |
| | | if (mode != "") |
| | | { |
| | | |
| | | switch (mode) |
| | | { |
| | | case "cool": |
| | | { |
| | | stateStr += Language.StringByID(StringId.coolLogic)+","; |
| | | } |
| | | break; |
| | | case "heat": |
| | | { |
| | | stateStr += Language.StringByID(StringId.heatingLogic) + ","; |
| | | } |
| | | break; |
| | | case "auto": |
| | | { |
| | | stateStr += Language.StringByID(StringId.autoLogic) + ","; |
| | | } |
| | | break; |
| | | case "dry": |
| | | { |
| | | stateStr += Language.StringByID(StringId.dehumidifyLogic) + ","; |
| | | } |
| | | break; |
| | | } |
| | | |
| | | } |
| | | |
| | | if (fan != "") |
| | | { |
| | | |
| | | switch (fan) |
| | | { |
| | | case "high": |
| | | { |
| | | stateStr += Language.StringByID(StringId.HighWindSpeed)+","; |
| | | } |
| | | break; |
| | | case "medium": |
| | | { |
| | | stateStr += Language.StringByID(StringId.MiddleWindSpeed) + ","; |
| | | } |
| | | break; |
| | | case "low": |
| | | { |
| | | stateStr += Language.StringByID(StringId.LowWindSpeed) + ","; |
| | | } |
| | | break; |
| | | case "auto": |
| | | { |
| | | stateStr += Language.StringByID(StringId.Auto) + ","; |
| | | } |
| | | break; |
| | | } |
| | | |
| | | } |
| | | if (on_off != "" && on_off == "off") |
| | | { |
| | | targetView.btnState.Text = Language.StringByID(StringId.offLogic); |
| | | } |
| | | else { |
| | | targetView.btnState.Text = stateStr.TrimEnd(','); |
| | | |
| | | } |
| | | |
| | | } |
| | | break; |
| | | case FunctionType.FloorHeating: |
| | | { |
| | | string on_off = GetKeyValue("on_off", dicList); |
| | | string set_temp = GetKeyValue("set_temp", dicList); |
| | | string mode = GetKeyValue("mode", dicList); |
| | | if (on_off != "") |
| | | { |
| | | switch (on_off) |
| | | { |
| | | case "on": |
| | | { |
| | | stateStr = Language.StringByID(StringId.onLogic) + ","; |
| | | } |
| | | break; |
| | | case "off": |
| | | { |
| | | stateStr = Language.StringByID(StringId.offLogic) + ","; |
| | | } |
| | | break; |
| | | |
| | | } |
| | | } |
| | | if (set_temp != "") |
| | | { |
| | | |
| | | stateStr += set_temp + "℃,"; |
| | | } |
| | | if (mode != "") |
| | | { |
| | | |
| | | switch (mode) |
| | | { |
| | | case "day": |
| | | { |
| | | stateStr += Language.StringByID(StringId.dayMode)+","; |
| | | } |
| | | break; |
| | | case "night": |
| | | { |
| | | stateStr += Language.StringByID(StringId.nightMode) + ","; |
| | | } |
| | | break; |
| | | |
| | | case "away": |
| | | { |
| | | stateStr += Language.StringByID(StringId.leaveMode) + ","; |
| | | } |
| | | break; |
| | | case "normal": |
| | | { |
| | | stateStr += Language.StringByID(StringId.ordinaryMode) + ","; |
| | | } |
| | | break; |
| | | case "timer": |
| | | { |
| | | stateStr += Language.StringByID(StringId.timeMode) + ","; |
| | | } |
| | | break; |
| | | } |
| | | |
| | | |
| | | switch (mode) |
| | | { |
| | | case "cool": |
| | | { |
| | | stateStr += Language.StringByID(StringId.coolLogic) + ","; |
| | | } |
| | | break; |
| | | case "heat": |
| | | { |
| | | stateStr += Language.StringByID(StringId.heatingLogic) + ","; |
| | | } |
| | | break; |
| | | case "auto": |
| | | { |
| | | stateStr += Language.StringByID(StringId.autoLogic) + ","; |
| | | } |
| | | break; |
| | | case "dry": |
| | | { |
| | | stateStr += Language.StringByID(StringId.dehumidifyLogic) + ","; |
| | | } |
| | | break; |
| | | } |
| | | |
| | | } |
| | | if (on_off != "" && on_off == "off") |
| | | { |
| | | targetView.btnState.Text =Language.StringByID(StringId.offLogic); |
| | | } |
| | | else |
| | | { |
| | | targetView.btnState.Text = stateStr.TrimEnd(','); |
| | | |
| | | } |
| | | } |
| | | break; |
| | |
| | | foreach (var dic in dicList) |
| | | { |
| | | string value = dic["value"]; |
| | | targetView.btnText.Text =value; |
| | | targetView.btnText.Text = value; |
| | | } |
| | | } |
| | | break; |
| | |
| | | { |
| | | Button button = (Button)sen; |
| | | //找到当前编辑的索引 |
| | | int indexVulae = int.Parse(targetView.btnClick.Tag.ToString()); |
| | | int indexVulae =0; |
| | | for (int index = 0; index < Logic.currlogic.output.Count; index++) |
| | | { |
| | | Output target = Logic.currlogic.output[index]; |
| | | if (target.sid == targetView.btnClick.Tag.ToString()) |
| | | { |
| | | //用户可能删除数据,使列表索引发生改变; |
| | | //通过唯一sid重新查找到索引且更新索引值 |
| | | indexVulae = index; |
| | | break; |
| | | } |
| | | } |
| | | //标记编辑状态 |
| | | bool edit = true; |
| | | //表示是目标 |
| | | string if_type = LogicMethod.target_if; |
| | | switch (button.Name) |
| | | { |
| | | case "1": |
| | | { |
| | | //用sid找到设备; |
| | | var device = LogicMethod.GetDevice(outputTarget.sid); |
| | | DeviceFunList deviceFunList = new DeviceFunList(); |
| | | TargetDeviceFunList deviceFunList = new TargetDeviceFunList(); |
| | | MainPage.BasePageView.AddChidren(deviceFunList); |
| | | deviceFunList.Show(device, indexVulae, edit, if_type); |
| | | deviceFunList.Show(device, indexVulae, edit); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | } |
| | | break; |
| | |
| | | AddTarget addTarget = new AddTarget(); |
| | | addTarget.Delayed(fLayout, edit, indexVulae); |
| | | |
| | | |
| | | |
| | | } |
| | | break; |
| | | } |
| | |
| | | }; |
| | | } |
| | | } |
| | | /// <summary> |
| | | /// 显示编辑之前的设备状态 |
| | | /// </summary> |
| | | /// <param name="device">编辑设备</param> |
| | | /// <param name="button1">显示Btn</param> |
| | | /// <param name="button2">显示Btn</param> |
| | | /// <param name="button3">显示Btn</param> |
| | | /// <param name="button4">显示Btn</param> |
| | | public static void EditState(Entity.Function device, List<Dictionary<string, string>> dicList, Button button1, Button button2, Button button3, Button button4) |
| | | { |
| | | switch (device.functionType) |
| | | { |
| | | //开关灯光 |
| | | case FunctionType.Relay: |
| | | { |
| | | foreach (var dic in dicList) |
| | | { |
| | | string value = dic["value"]; |
| | | if (value == "on") |
| | | { |
| | | button1.Text = Language.StringByID(StringId.onLogic); |
| | | } |
| | | else |
| | | { |
| | | button1.Text = Language.StringByID(StringId.offLogic); |
| | | } |
| | | } |
| | | } |
| | | break; |
| | | case FunctionType.Dimmer: |
| | | case FunctionType.RGB: |
| | | case FunctionType.RGBW: |
| | | case FunctionType.ColorTemperature: |
| | | { |
| | | foreach (var dic in dicList) |
| | | { |
| | | string value = dic["value"]; |
| | | switch (dic["key"]) |
| | | { |
| | | case "on_off": |
| | | { |
| | | if (value == "on") |
| | | { |
| | | button1.Text = Language.StringByID(StringId.onLogic); |
| | | } |
| | | else |
| | | { |
| | | button1.Text = Language.StringByID(StringId.offLogic); |
| | | } |
| | | } |
| | | break; |
| | | case "brightness": |
| | | { |
| | | |
| | | button2.Text = value + "%"; |
| | | } |
| | | break; |
| | | } |
| | | |
| | | } |
| | | } |
| | | break; |
| | | case FunctionType.Curtain: |
| | | case FunctionType.MotorCurtain: |
| | | case FunctionType.RollingShutter: |
| | | { |
| | | foreach (var dic in dicList) |
| | | { |
| | | string value = dic["value"]; |
| | | switch (value) |
| | | { |
| | | case "on": |
| | | { |
| | | button1.Text = Language.StringByID(StringId.onLogic); |
| | | } |
| | | break; |
| | | case "off": |
| | | { |
| | | button1.Text = Language.StringByID(StringId.offLogic); |
| | | } |
| | | break; |
| | | case "stop": |
| | | { |
| | | button1.Text = Language.StringByID(StringId.stop); |
| | | } |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | break; |
| | | case FunctionType.AC: |
| | | { |
| | | foreach (var dic in dicList) |
| | | { |
| | | string value = dic["value"]; |
| | | switch (dic["key"]) |
| | | { |
| | | case "on_off": |
| | | { |
| | | switch (value) |
| | | { |
| | | case "on": |
| | | { |
| | | button1.Text = Language.StringByID(StringId.onLogic); |
| | | } |
| | | break; |
| | | case "off": |
| | | { |
| | | button1.Text = Language.StringByID(StringId.offLogic); |
| | | } |
| | | break; |
| | | } |
| | | } |
| | | break; |
| | | case "set_temp": |
| | | { |
| | | button2.Text = value + "℃"; |
| | | } |
| | | break; |
| | | case "mode": |
| | | { |
| | | switch (value) |
| | | { |
| | | case "cool": |
| | | { |
| | | button3.Text = Language.StringByID(StringId.coolLogic); |
| | | } |
| | | break; |
| | | case "heat": |
| | | { |
| | | button3.Text = Language.StringByID(StringId.heatingLogic); |
| | | } |
| | | break; |
| | | case "auto": |
| | | { |
| | | button3.Text = Language.StringByID(StringId.autoLogic); |
| | | } |
| | | break; |
| | | case "dry": |
| | | { |
| | | button3.Text = Language.StringByID(StringId.dehumidifyLogic); |
| | | } |
| | | break; |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | | break; |
| | | case "fan": |
| | | { |
| | | switch (value) |
| | | { |
| | | case "high": |
| | | { |
| | | button4.Text = Language.StringByID(StringId.HighWindSpeed); |
| | | } |
| | | break; |
| | | case "medium": |
| | | { |
| | | button4.Text = Language.StringByID(StringId.MiddleWindSpeed); |
| | | } |
| | | break; |
| | | case "low": |
| | | { |
| | | button4.Text = Language.StringByID(StringId.LowWindSpeed); |
| | | } |
| | | break; |
| | | case "auto": |
| | | { |
| | | button4.Text = Language.StringByID(StringId.Auto); |
| | | } |
| | | break; |
| | | } |
| | | |
| | | |
| | | } |
| | | break; |
| | | |
| | | |
| | | } |
| | | |
| | | } |
| | | |
| | | } |
| | | break; |
| | | case FunctionType.FloorHeating: |
| | | { |
| | | |
| | | foreach (var dic in dicList) |
| | | { |
| | | string value = dic["value"]; |
| | | switch (dic["key"]) |
| | | { |
| | | case "on_off": |
| | | { |
| | | switch (value) |
| | | { |
| | | case "on": |
| | | { |
| | | button1.Text = Language.StringByID(StringId.onLogic); |
| | | } |
| | | break; |
| | | case "off": |
| | | { |
| | | button1.Text = Language.StringByID(StringId.offLogic); |
| | | } |
| | | break; |
| | | } |
| | | } |
| | | break; |
| | | case "set_temp": |
| | | { |
| | | button2.Text = value + "℃"; |
| | | } |
| | | break; |
| | | case "mode": |
| | | { |
| | | switch (value) |
| | | { |
| | | case "day": |
| | | { |
| | | button3.Text = Language.StringByID(StringId.dayMode); |
| | | } |
| | | break; |
| | | case "night": |
| | | { |
| | | button3.Text = Language.StringByID(StringId.nightMode); |
| | | } |
| | | break; |
| | | |
| | | case "away": |
| | | { |
| | | button3.Text = Language.StringByID(StringId.leaveMode); |
| | | } |
| | | break; |
| | | case "normal": |
| | | { |
| | | button3.Text = Language.StringByID(StringId.ordinaryMode); |
| | | } |
| | | break; |
| | | case "timer": |
| | | { |
| | | button3.Text = Language.StringByID(StringId.timeMode); |
| | | } |
| | | break; |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | | break; |
| | | |
| | | } |
| | | |
| | | } |
| | | |
| | | } |
| | | break; |
| | | } |
| | | } |
| | | /// <summary> |
| | | /// 获取value键值 |
| | | /// </summary> |
| | | /// <param name="keyValue"></param> |
| | | /// <param name="dicList"></param> |
| | | /// <returns></returns> |
| | | public static string GetKeyValue(string keyValue, List<Dictionary<string, string>> dicList) |
| | | { |
| | | |
| | | string valueStr = ""; |
| | | foreach (var dic in dicList) |
| | | { |
| | | if (dic["key"] == keyValue) |
| | | { |
| | | valueStr = dic["value"]; |
| | | break; |
| | | } |
| | | |
| | | } |
| | | return valueStr; |
| | | } |
| | | |
| | | /// <summary> |
| | | ///获取自动化名称 |
| | | /// </summary> |
| | | /// <returns> 新建自动化命名规则</returns> |
| | | public static string GetLogicName(Logic logic) |
| | | { |
| | | |
| | | string name = ""; |
| | | try |
| | | { |
| | | //默认取第一个条件 |
| | | Input inputCondition = logic.input[0]; |
| | | //显示条件各种类型状态 |
| | | switch (inputCondition.condition_type) |
| | | { |
| | | case "1": |
| | | { |
| | | name = Language.StringByID(StringId.hour) + "-"; |
| | | } |
| | | break; |
| | | case "2": |
| | | { |
| | | name = Language.StringByID(StringId.timeHorizon) + "-"; |
| | | |
| | | } |
| | | break; |
| | | case "3": |
| | | { |
| | | //用sid找到设备; |
| | | var device = LogicMethod.GetDevice(inputCondition.sid); |
| | | name = device.name + "-"; |
| | | } |
| | | break; |
| | | |
| | | } |
| | | //默认取第一个目标 |
| | | Output outputTarget = logic.output[0]; |
| | | List<Dictionary<string, string>> dicList = outputTarget.status as List<Dictionary<string, string>>; |
| | | //显示输出条件各种类型状态 |
| | | switch (outputTarget.target_type) |
| | | { |
| | | case "1": |
| | | { |
| | | //用sid找到设备; |
| | | var device = LogicMethod.GetDevice(outputTarget.sid); |
| | | //显示设备名称 |
| | | name += device.name; |
| | | string stateStr = ""; |
| | | //区别不同设备,显示不同设备状态 |
| | | switch (device.functionType) |
| | | { |
| | | case FunctionType.Relay: |
| | | {//开关灯 |
| | | |
| | | foreach (var dic in dicList) |
| | | { |
| | | string value = dic["value"]; |
| | | if (value == "on") |
| | | { |
| | | stateStr = Language.StringByID(StringId.onLogic); |
| | | |
| | | } |
| | | else |
| | | { |
| | | stateStr = Language.StringByID(StringId.offLogic); |
| | | } |
| | | } |
| | | } |
| | | break; |
| | | case FunctionType.RGB: |
| | | case FunctionType.RGBW: |
| | | case FunctionType.ColorTemperature: |
| | | case FunctionType.Dimmer: |
| | | { |
| | | string on_off = InpOrOutLogicMethod.GetKeyValue("on_off", dicList); |
| | | string brightness = InpOrOutLogicMethod.GetKeyValue("brightness", dicList); |
| | | if (on_off == "on" && brightness != "") |
| | | { |
| | | stateStr = Language.StringByID(StringId.onLogic) + brightness + "%"; |
| | | } |
| | | else if (on_off == "on") |
| | | { |
| | | stateStr = Language.StringByID(StringId.onLogic); |
| | | } |
| | | else if (on_off == "off") |
| | | { |
| | | stateStr = Language.StringByID(StringId.offLogic); |
| | | } |
| | | else if (brightness != "") |
| | | { |
| | | stateStr = brightness + "%"; |
| | | } |
| | | } |
| | | break; |
| | | case FunctionType.Curtain: |
| | | case FunctionType.MotorCurtain: |
| | | case FunctionType.RollingShutter: |
| | | { |
| | | foreach (var dic in dicList) |
| | | { |
| | | string value = dic["value"]; |
| | | switch (value) |
| | | { |
| | | case "on": |
| | | { |
| | | stateStr = Language.StringByID(StringId.onLogic); |
| | | } |
| | | break; |
| | | case "off": |
| | | { |
| | | stateStr = Language.StringByID(StringId.offLogic); |
| | | } |
| | | break; |
| | | case "stop": |
| | | { |
| | | stateStr = Language.StringByID(StringId.stop); |
| | | } |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | break; |
| | | case FunctionType.AC: |
| | | case FunctionType.FloorHeating: |
| | | { |
| | | foreach (var dic in dicList) |
| | | { |
| | | string value = dic["value"]; |
| | | if (value == "on") |
| | | { |
| | | stateStr = Language.StringByID(StringId.onLogic); |
| | | |
| | | } |
| | | else if (value == "off") |
| | | { |
| | | stateStr = Language.StringByID(StringId.offLogic); |
| | | } |
| | | } |
| | | |
| | | } |
| | | break; |
| | | |
| | | } |
| | | name += stateStr; |
| | | } |
| | | break; |
| | | case "2": |
| | | { |
| | | //用sid找到场景; |
| | | var scene = LogicMethod.GetSecne(outputTarget.sid); |
| | | name += scene.name; |
| | | |
| | | } |
| | | break; |
| | | } |
| | | } |
| | | catch { } |
| | | return name; |
| | | } |
| | | } |
| | | } |