wxr
2023-07-20 d3189eaa6be7c70ed5ac783efe68f43211a90d27
HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs
@@ -467,7 +467,13 @@
                                    }
                                    break;
                                case SPK.sensorPirhold:
                                case SPK.Ev_Ipcam:
                                    if (inputCondition.identifier == "pir_event")
                                    {
                                        inputView.btnState.Text = Language.StringByID(StringId.On);
                                    }
                                    break;
                                case SPK.SensorPirHold:
                                    {
                                        string value = this.GetKeyValue("people_status", dicList);
                                        if (string.IsNullOrEmpty(value))
@@ -1002,7 +1008,10 @@
                            //区别不同设备,显示不同设备状态
                            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:
                                    {
@@ -1045,6 +1054,24 @@
                                case SPK.LightCCT:
                                case SPK.LightDimming:
                                    {
                                        if(device.spk == SPK.LightRGB)
                                        {
                                            string colorful = GetKeyValue(FunctionAttributeKey.Colorful, dicList);
                                            if (!string.IsNullOrEmpty(colorful))
                                            {
                                                targetView.btnIcon.UnSelectedImagePath = "FunctionIcon/Icon/groupControl.png";
                                                if (colorful == "on")
                                                {
                                                    stateStr = Language.StringByID(StringId.onLogic);
                                                }
                                                else if (colorful == "off")
                                                {
                                                    stateStr = Language.StringByID(StringId.offLogic);
                                                }
                                                break;
                                            }
                                        }
                                        string on_off = GetKeyValue("on_off", dicList);
                                        string brightness = GetKeyValue("brightness", dicList);
                                        if (on_off == "on" && brightness != "")
@@ -1071,9 +1098,28 @@
                                                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.CurtainSwitch:
                                    {
                                        foreach (var dic in dicList)
@@ -1170,8 +1216,8 @@
                                        if (set_temp != "")
                                        {
                                            stateStr += set_temp + "℃,";
                                            string unit =GetTemperatureUnit(device);
                                            stateStr += set_temp + unit + ",";
                                        }
                                        if (mode != "")
@@ -1268,8 +1314,8 @@
                                        }
                                        if (set_temp != "")
                                        {
                                            stateStr += set_temp + "℃,";
                                            string unit = GetTemperatureUnit(device);
                                            stateStr += set_temp + unit + ",";
                                        }
                                        if (mode != "")
                                        {
@@ -1614,6 +1660,22 @@
                                        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;
                            }
                        }
@@ -1757,7 +1819,7 @@
                                            //怕调试软件乱上东西导致抛异常
                                            break;
                                        }
                                        button2.Text = value + "℃";
                                        button2.Text = value + GetTemperatureUnit(device); ;
                                    }
                                    break;
                                case "mode":
@@ -1870,7 +1932,7 @@
                                            //怕调试软件乱上东西导致抛异常
                                            break;
                                        }
                                        button2.Text = value + "℃";
                                        button2.Text = value + GetTemperatureUnit(device); ;
                                    }
                                    break;
                                case "mode":
@@ -2074,7 +2136,7 @@
                        }
                    }
                    break;
                case SPK.sensorPirhold:
                case SPK.SensorPirHold:
                    {
                        foreach (var dic in dicList)
                        {
@@ -2322,6 +2384,25 @@
            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 && device.GetAttribute("temperature_type").value.Count > 0)
            {
                unit = device.GetAttribute("temperature_type").value[0];
            }
            if (string.IsNullOrEmpty(unit))
            {
                //调试软件有空能上传为空
                unit = "℃";
            }
            return unit;
        }
        /// <summary>
        ///获取自动化名称
        /// </summary>
        /// <returns> 新建自动化命名规则</returns>