| | |
| | | inputView.btnState.Text = str; |
| | | } |
| | | break; |
| | | case SPK.SensorLight: |
| | | { |
| | | string str = this.GetText(dicList, "illuminance"); |
| | | inputView.btnState.Text = str; |
| | | |
| | | } |
| | | break; |
| | | case SPK.DoorLock: |
| | | { |
| | | string value = this.GetValue(dicList); |
| | |
| | | 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: |
| | |
| | | if (device.spk == SPK.SensorEnvironment || device.spk == SPK.SensorEnvironmentHailin |
| | | || device.spk == SPK.SensorEnvironment2 |
| | | || device.spk == SPK.SensorEnvironment3 |
| | | || device.spk == SPK.SensorLight |
| | | ) |
| | | { |
| | | ///当前的索引值数据对象 |
| | |
| | | switch (key) |
| | | { |
| | | |
| | | case "illuminance": |
| | | { |
| | | int titleInt = 0; |
| | | if (comparator == ">") |
| | | { |
| | | titleInt = StringId.zhaomingdugaoyu; |
| | | } |
| | | else if (comparator == "<") |
| | | { |
| | | titleInt = StringId.zhaomingdudiyu; |
| | | } |
| | | ConditionDeviceFunList.Current.InputBoxAction(device, titleInt, indexVulae, true, stateValue); |
| | | } |
| | | break; |
| | | case "temperature": |
| | | { |
| | | int titleInt = 0; |
| | |
| | | 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 != "") |
| | |
| | | //色温这个属性才有效 |
| | | if (stateStr != Language.StringByID(StringId.offLogic) && GetKeyValue("cct", dicList) != "") |
| | | { |
| | | stateStr += "," +GetKeyValue("cct", dicList) + "k"; |
| | | stateStr += "," + GetKeyValue("cct", dicList) + "k"; |
| | | } |
| | | } |
| | | if (device.spk == SPK.LightRGB) |
| | |
| | | |
| | | } |
| | | 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 != "") |
| | | { |
| | | string unit = device.GetAttribute("temperature_type") == null ? "℃" : device.GetAttribute("temperature_type").state; |
| | | if (string.IsNullOrEmpty(unit)) |
| | | { |
| | | unit = "℃"; |
| | | } |
| | | string unit = GetTemperatureUnit(device); |
| | | stateStr += set_temp + unit + ","; |
| | | } |
| | | |
| | |
| | | } |
| | | if (set_temp != "") |
| | | { |
| | | string unit = device.GetAttribute("temperature_type") == null ? "℃" : device.GetAttribute("temperature_type").state; |
| | | if (string.IsNullOrEmpty(unit)) |
| | | { |
| | | unit = "℃"; |
| | | } |
| | | string unit = GetTemperatureUnit(device); |
| | | stateStr += set_temp + unit + ","; |
| | | } |
| | | if (mode != "") |
| | |
| | | { |
| | | string song_name = GetKeyValue("song_name", dicList); |
| | | string volume = GetKeyValue("volume", dicList); |
| | | stateStr = song_name + ";" +Language.StringByID(StringId.volumeMusic)+volume; |
| | | stateStr = song_name + ";" + Language.StringByID(StringId.volumeMusic) + volume; |
| | | if (stateStr.StartsWith(";")) |
| | | { |
| | | stateStr = stateStr.Substring(1, stateStr.Length - 1); |
| | | }else if (stateStr.EndsWith(Language.StringByID(StringId.volumeMusic))) |
| | | } else if (stateStr.EndsWith(Language.StringByID(StringId.volumeMusic))) |
| | | { |
| | | stateStr = stateStr.Substring(0, stateStr.Length - 3); |
| | | } |
| | | } |
| | | break; |
| | | case SPK.ElectricalTvHisense: |
| | | { |
| | | string on_off = GetKeyValue("on_off", dicList); |
| | | string volumet = GetKeyValue("set_volume", dicList); |
| | | string signal = GetKeyValue("signal", dicList); |
| | | if (!string.IsNullOrEmpty(on_off)) |
| | | { |
| | | if (on_off == "on") |
| | | { |
| | | stateStr = Language.StringByID(StringId.onLogic); |
| | | } |
| | | else |
| | | { |
| | | stateStr = Language.StringByID(StringId.offLogic); |
| | | //如果关了,其它属性不显示 |
| | | break; |
| | | } |
| | | |
| | | } |
| | | if (!string.IsNullOrEmpty(stateStr)) |
| | | { |
| | | stateStr += ","; |
| | | } |
| | | if (!string.IsNullOrEmpty(volumet)) |
| | | { |
| | | stateStr += Language.StringByID(StringId.yinliang) + volumet; |
| | | } |
| | | |
| | | if (!string.IsNullOrEmpty(stateStr)) |
| | | { |
| | | stateStr += ","; |
| | | } |
| | | if (!string.IsNullOrEmpty(signal)) |
| | | { |
| | | var p = new PublicInterface(); |
| | | string key = p.GetKey(p.GetHisenseSignalSourceDic(), signal); |
| | | stateStr += key; |
| | | } |
| | | stateStr = stateStr.TrimEnd(','); |
| | | } |
| | | break; |
| | | } |
| | |
| | | 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) |
| | | { |
| | |
| | | } |
| | | |
| | | } |
| | | } |
| | | 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: |
| | | { |
| | |
| | | button2.Tag = tag; |
| | | } |
| | | break; |
| | | case SPK.ElectricalTvHisense: |
| | | { |
| | | 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_volume": |
| | | { |
| | | if (button2 == null) |
| | | { |
| | | //怕调试软件乱上东西导致抛异常 |
| | | break; |
| | | } |
| | | button2.Text = value; |
| | | } |
| | | break; |
| | | case "signal": |
| | | { |
| | | if (button3 == null) |
| | | { |
| | | //怕调试软件乱上东西导致抛异常 |
| | | break; |
| | | } |
| | | var p = new PublicInterface(); |
| | | string key = p.GetKey(p.GetHisenseSignalSourceDic(), value); |
| | | button3.Text = key; |
| | | } |
| | | break; |
| | | } |
| | | |
| | | } |
| | | } |
| | | break; |
| | | |
| | | |
| | | } |
| | | } |
| | |
| | | return ""; |
| | | } |
| | | 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> |
| | | ///获取自动化名称 |
| | |
| | | switch (key) |
| | | { |
| | | |
| | | case "illuminance": |
| | | { |
| | | if (comparator == ">") |
| | | { |
| | | strtext = ">" + value; |
| | | } |
| | | else if (comparator == "<") |
| | | { |
| | | strtext = "<" + value; |
| | | } |
| | | |
| | | } |
| | | break; |
| | | case "temperature": |
| | | { |
| | | if (comparator == ">") |