| | |
| | | break; |
| | | case SPK.IpCam_Imou: |
| | | { |
| | | if (inputCondition.identifier == "door_caipcam_region_alram_eventll_cloud_event") |
| | | if (inputCondition.identifier == "ipcam_region_alram_event") |
| | | { |
| | | inputView.btnState.Text = Language.StringByID(StringId.quyuruqingaojing); |
| | | } |
| | | |
| | | } |
| | | break; |
| | | case SPK.Ev_Ipcam: |
| | | if (inputCondition.identifier == "motiondetect_event") |
| | | { |
| | | inputView.btnState.Text = Language.StringByID(StringId.shi); |
| | | } |
| | | break; |
| | | case SPK.Peephole: |
| | | if (inputCondition.identifier == "pir_event") |
| | | { |
| | | inputView.btnState.Text = Language.StringByID(StringId.shi); |
| | | } |
| | | break; |
| | | case SPK.SensorPirHold: |
| | |
| | | switch (outputTarget.target_type) |
| | | { |
| | | case "1": |
| | | case "5": |
| | | { |
| | | //用sid找到设备; |
| | | var device = LogicMethod.Current.GetDevice(outputTarget.sid); |
| | |
| | | //区别不同设备,显示不同设备状态 |
| | | switch (device.spk) |
| | | { |
| | | |
| | | |
| | | case SPK.CommonSeries: |
| | | targetView.btnIcon.UnSelectedImagePath = "FunctionIcon/Icon/groupControl.png"; |
| | | stateStr = GetKeyValue("on_off", dicList) == "on" ? Language.StringByID(StringId.onLogic) : Language.StringByID(StringId.offLogic); |
| | | break; |
| | | //插座(有USB) |
| | | case SPK.PanelSocket: |
| | | { |
| | |
| | | } |
| | | } |
| | | break; |
| | | |
| | | |
| | | case SPK.LightRGB: |
| | | case SPK.LightRGBW: |
| | | case SPK.LightCCT: |
| | | case SPK.LightDimming: |
| | | { |
| | | |
| | | string on_off = GetKeyValue("on_off", dicList); |
| | | string brightness = GetKeyValue("brightness", dicList); |
| | | if (on_off == "on" && brightness != "") |
| | |
| | | stateStr += "," +GetKeyValue("cct", dicList) + "k"; |
| | | } |
| | | } |
| | | if (device.spk == SPK.LightRGB) |
| | | { |
| | | string rgb = GetKeyValue("rgb", dicList); |
| | | if (!string.IsNullOrEmpty(rgb) && rgb.Length > 6) |
| | | { |
| | | targetView.btnStateColor.Visible = true; |
| | | targetView.btnStateColor.BackgroundColor = new LogicView.RGBColorView().GetBackgroundColor(rgb); |
| | | } |
| | | } |
| | | if (device.spk == SPK.LightRGBW) |
| | | { |
| | | string rgb = GetKeyValue("rgbw", dicList); |
| | | if (!string.IsNullOrEmpty(rgb) && rgb.Length > 6) |
| | | { |
| | | targetView.btnStateColor.Visible = true; |
| | | targetView.btnStateColor.BackgroundColor = new LogicView.RGBColorView().GetBackgroundColor(rgb); |
| | | } |
| | | } |
| | | |
| | | } |
| | | break; |
| | | case SPK.GroupControl: //群控 |
| | | { |
| | | targetView.btnIcon.UnSelectedImagePath = "FunctionIcon/Icon/groupControl.png"; |
| | | string on_off = GetKeyValue("on_off", dicList); |
| | | string brightness = GetKeyValue("brightness", dicList); |
| | | string cct = GetKeyValue(FunctionAttributeKey.CCT, dicList); |
| | | //自动化组控 炫彩功能 |
| | | //string colorful = GetKeyValue(FunctionAttributeKey.Colorful, dicList); |
| | | string rgb = GetKeyValue("rgb", 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 + "%"; |
| | | } |
| | | //色温这个属性才有效 |
| | | if (!string.IsNullOrEmpty(cct)) |
| | | { |
| | | stateStr += "," + Language.StringByID(StringId.ColorTemperature) + cct + "k"; |
| | | } |
| | | |
| | | //if (!string.IsNullOrEmpty(colorful)) |
| | | //{ |
| | | // stateStr += "," + Language.StringByID(StringId.ColorfulFunction); |
| | | // if (colorful == "on") |
| | | // { |
| | | // stateStr += Language.StringByID(StringId.onLogic); |
| | | // } |
| | | // else if (colorful == "off") |
| | | // { |
| | | // stateStr += Language.StringByID(StringId.offLogic); |
| | | // } |
| | | //} |
| | | |
| | | if (!string.IsNullOrEmpty(rgb) && rgb.Length > 6) |
| | | { |
| | | targetView.btnStateColor.Visible = true; |
| | | targetView.btnStateColor.BackgroundColor = new LogicView.RGBColorView().GetBackgroundColor(rgb); |
| | | } |
| | | |
| | | |
| | | } |
| | | break; |
| | | |
| | | case SPK.CurtainSwitch: |
| | | { |
| | | foreach (var dic in dicList) |
| | |
| | | |
| | | if (set_temp != "") |
| | | { |
| | | |
| | | stateStr += set_temp + "℃,"; |
| | | string unit =GetTemperatureUnit(device); |
| | | stateStr += set_temp + unit + ","; |
| | | } |
| | | |
| | | if (mode != "") |
| | |
| | | } |
| | | if (set_temp != "") |
| | | { |
| | | |
| | | stateStr += set_temp + "℃,"; |
| | | string unit = GetTemperatureUnit(device); |
| | | stateStr += set_temp + unit + ","; |
| | | } |
| | | if (mode != "") |
| | | { |
| | |
| | | break; |
| | | } |
| | | |
| | | if (outputTarget.target_type == "1" || outputTarget.target_type == "3") |
| | | if (outputTarget.target_type == "1" |
| | | || outputTarget.target_type == "3" |
| | | || outputTarget.target_type == "5" |
| | | ) |
| | | { |
| | | targetView.btnState.Text = this.GetTimeText(outputTarget.delay) + stateStr; |
| | | } |
| | |
| | | switch (button.Name) |
| | | { |
| | | case "1": |
| | | case "5": |
| | | { |
| | | //用sid找到设备; |
| | | var device = LogicMethod.Current.GetDevice(outputTarget.sid); |
| | |
| | | this.Delayed(thisView, outputTarget.delay, (value) => |
| | | { |
| | | outputTarget.delay = value.ToString(); |
| | | if (outputTarget.target_type == "1") |
| | | if (outputTarget.target_type == "1" |
| | | || outputTarget.target_type == "5") |
| | | { |
| | | targetView.btnState.Text = this.GetTimeText(outputTarget.delay) + stateStr; |
| | | } |
| | |
| | | /// <param name="button1">显示Btn</param> |
| | | /// <param name="button2">显示Btn</param> |
| | | /// <param name="button3">显示Btn</param> |
| | | /// <param name="button4">显示Btn</param> |
| | | public void EditDeviceState(Entity.Function device, List<Dictionary<string, string>> dicList, Button button1, Button button2, Button button3, Button button4) |
| | | /// <param name="button4">显示Btn</param> |
| | | /// <param name="attribute">属性索引</param> |
| | | public void EditDeviceState(Entity.Function device, List<Dictionary<string, string>> dicList, Button button1, Button button2, Button button3, Button button4, string attribute) |
| | | { |
| | | switch (device.spk) |
| | | { |
| | |
| | | button3.Text = value + "k"; |
| | | } |
| | | break; |
| | | case "rgb": |
| | | case "rgbw": |
| | | { |
| | | if (button3 == null) |
| | | { |
| | | //怕调试软件乱上东西导致抛异常 |
| | | break; |
| | | } |
| | | if (!string.IsNullOrEmpty(value) && value.Length > 6) |
| | | { |
| | | button3.BackgroundColor = new LogicView.RGBColorView().GetBackgroundColor(value); |
| | | button3.Tag = value; |
| | | } |
| | | } |
| | | break; |
| | | |
| | | } |
| | | |
| | | } |
| | | } |
| | | break; |
| | | case SPK.GroupControl://群控 |
| | | { |
| | | foreach (var dic in dicList) |
| | | { |
| | | string key = dic["key"]; |
| | | if (key != attribute) |
| | | { |
| | | continue; |
| | | } |
| | | string value = dic["value"]; |
| | | switch (key) |
| | | { |
| | | case "on_off": |
| | | case "colorful": |
| | | { |
| | | if (value == "on") |
| | | { |
| | | button1.Text = Language.StringByID(StringId.onLogic); |
| | | } |
| | | else |
| | | { |
| | | button1.Text = Language.StringByID(StringId.offLogic); |
| | | } |
| | | } |
| | | break; |
| | | case "brightness": |
| | | { |
| | | if (button1 == null) |
| | | { |
| | | //怕调试软件乱上东西导致抛异常 |
| | | break; |
| | | } |
| | | button1.Text = value + "%"; |
| | | } |
| | | break; |
| | | case "cct": |
| | | { |
| | | if (button1 == null) |
| | | { |
| | | //怕调试软件乱上东西导致抛异常 |
| | | break; |
| | | } |
| | | button1.Text = value + "k"; |
| | | } |
| | | break; |
| | | case "rgb": |
| | | { |
| | | if (button1 == null) |
| | | { |
| | | //怕调试软件乱上东西导致抛异常 |
| | | break; |
| | | } |
| | | if (!string.IsNullOrEmpty(value) && value.Length > 6) |
| | | { |
| | | button1.BackgroundColor = new LogicView.RGBColorView().GetBackgroundColor(value); |
| | | button1.Tag = value; |
| | | } |
| | | } |
| | | break; |
| | | |
| | | |
| | | |
| | | } |
| | | } |
| | | |
| | | } |
| | | break; |
| | | case SPK.CurtainSwitch: |
| | |
| | | //怕调试软件乱上东西导致抛异常 |
| | | break; |
| | | } |
| | | button2.Text = value + "℃"; |
| | | button2.Text = value + GetTemperatureUnit(device); ; |
| | | } |
| | | break; |
| | | case "mode": |
| | |
| | | //怕调试软件乱上东西导致抛异常 |
| | | break; |
| | | } |
| | | button2.Text = value + "℃"; |
| | | button2.Text = value + GetTemperatureUnit(device); ; |
| | | } |
| | | break; |
| | | case "mode": |
| | |
| | | } |
| | | } |
| | | break; |
| | | |
| | | |
| | | case SPK.SensorGas: |
| | | case SPK.SensorSmoke: |
| | | { |
| | |
| | | button1.Tag = tag; |
| | | } |
| | | break; |
| | | |
| | | |
| | | case SPK.MusicStandard: |
| | | case SPK.AvMusic: |
| | | { |
| | |
| | | return dicList[0]["value"].ToString(); |
| | | } |
| | | /// <summary> |
| | | /// 获取温度单位 |
| | | /// </summary> |
| | | /// <param name="device"></param> |
| | | /// <returns></returns> |
| | | public string GetTemperatureUnit(Entity.Function device) |
| | | { |
| | | string unit = string.Empty; |
| | | if (device.GetAttribute("temperature_type") != null) |
| | | { |
| | | unit = device.GetAttribute("temperature_type").unit; |
| | | } |
| | | if (string.IsNullOrEmpty(unit)) |
| | | { |
| | | //调试软件有空能上传为空 |
| | | unit = "℃"; |
| | | } |
| | | return unit; |
| | | } |
| | | /// <summary> |
| | | ///获取自动化名称 |
| | | /// </summary> |
| | | /// <returns> 新建自动化命名规则</returns> |