From dd01259a0590b6e6954470aa6ddb7658baa79fa7 Mon Sep 17 00:00:00 2001
From: wxr <wxr@hdlchina.com.cn>
Date: 星期二, 18 六月 2024 16:53:46 +0800
Subject: [PATCH] 备份

---
 OnPro/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs |  785 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 773 insertions(+), 12 deletions(-)

diff --git a/OnPro/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs b/OnPro/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs
index 0cf0e56..1bed389 100644
--- a/OnPro/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs
+++ b/OnPro/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs
@@ -2,6 +2,8 @@
 using Shared;
 using System.Collections.Generic;
 using HDL_ON.Entity;
+using Newtonsoft.Json;
+
 
 namespace HDL_ON.UI.UI2.Intelligence.Automation
 {
@@ -58,6 +60,7 @@
 
         public void Show(Entity.Function device, int index, bool edit)
         {
+
             this.function = device;
             this.mEdit = edit;
             this.mIndex = index;
@@ -73,7 +76,7 @@
 
             FrameLayout fLayout = new FrameLayout
             {
-                Y = Application.GetRealHeight(74),
+                Y = Application.GetRealHeight(64),
                 Height = Application.GetRealHeight(667 - 64),
             };
             this.AddChidren(fLayout);
@@ -81,6 +84,7 @@
             switch (device.spk)
             {
                 //寮�鍏崇伅鍏� light.Switch
+                case SPK.AirSwitch:
                 case SPK.LightDimming:
                 case SPK.LightRGB:
                 case SPK.LightRGBW:
@@ -100,6 +104,26 @@
                 //鏂伴
                 case SPK.AirFreshStandard:
                 case SPK.HvacAirFresh:
+                //鎻掑骇
+                case SPK.PanelSocket:
+                case SPK.ElectricSocket:
+                    {
+
+                        LogicView.FunTypeView view = new LogicView.FunTypeView();
+                        view.btnText.TextID = StringId.switchLogic;
+                        fLayout.AddChidren(view.FLayoutView());
+                        view.btnClick.MouseUpEventHandler += (sender, e) =>
+                        {
+                            DeviceView(device, view.btnState, StringId.onLogic, StringId.offLogic);
+                        };
+                        if (edit)
+                        {
+                            GetEditState(device, index, view.btnState, null, null, null);
+                        }
+                    }
+                    break;
+                //姘存蹈浼犳劅鍣�
+                case SPK.SensorWater:
                     {
                         LogicView.FunTypeView view = new LogicView.FunTypeView();
                         view.btnText.TextID = StringId.luoshuiandwuluoshui;
@@ -115,6 +139,542 @@
 
                     }
                     break;
+                //鐑熼浘浼犳劅鍣�
+                case SPK.SensorSmoke:
+                //鐕冩皵浼犳劅鍣�
+                case SPK.SensorGas:
+                    {
+                        LogicView.FunTypeView view = new LogicView.FunTypeView();
+                        view.btnText.TextID = StringId.xieluoandwuxieluo;
+                        fLayout.AddChidren(view.FLayoutView());
+                        view.btnClick.MouseUpEventHandler += (sender, e) =>
+                        {
+                            DeviceView(device, view.btnState, StringId.xieluo, StringId.wuxieluo);
+                        };
+                        if (edit)
+                        {
+                            GetEditState(device, index, view.btnState, null, null, null);
+                        }
+                    }
+                    break;
+                //骞叉帴鐐�
+                case SPK.SensorDryContact:
+                case SPK.SensorDryContact2:
+                    {
+                        LogicView.FunTypeView view = new LogicView.FunTypeView();
+                        view.btnText.TextID = StringId.switchLogic;
+                        fLayout.AddChidren(view.FLayoutView());
+                        view.btnClick.MouseUpEventHandler += (sender, e) =>
+                        {
+                            DeviceView(device, view.btnState, StringId.onLogic, StringId.offLogic);
+                        };
+                        if (edit)
+                        {
+                            GetEditState(device, index, view.btnState, null, null, null);
+                        }
+
+                    }
+                    break;
+                //绾㈠鐝婃爮浼犳劅鍣�
+                case SPK.SensorShanLan:
+                //绾㈠瀵瑰皠浼犳劅鍣�
+                case SPK.SensorDuiShe:
+                //绾㈠绉诲姩浼犳劅鍣�
+                case SPK.SensorPir:
+                    {
+                        LogicView.FunTypeView view = new LogicView.FunTypeView();
+                        view.btnText.TextID = StringId.yourenandwuren;
+                        fLayout.AddChidren(view.FLayoutView());
+                        view.btnClick.MouseUpEventHandler += (sender, e) =>
+                        {
+                            DeviceView(device, view.btnState, StringId.youren, StringId.wuren);
+                        };
+                        if (edit)
+                        {
+                            GetEditState(device, index, view.btnState, null, null, null);
+                        }
+                    }
+                    break;
+                //浜轰綋瀛樺湪浼犳劅鍣�
+                case SPK.SensorPirHold:
+                    {
+                       
+
+                        LogicView.FunTypeView view1 = new LogicView.FunTypeView();
+                        view1.btnText.TextID = StringId.rentijiance;
+                        view1.btnText.Name = Language.StringByID(StringId.rentijiance);
+                        fLayout.AddChidren(view1.FLayoutView());
+                        view1.btnClick.MouseUpEventHandler += (sender, e) =>
+                        {
+                            DeviceView(device, view1.btnState, StringId.youren, StringId.wuren);
+
+                        };
+
+                        LogicView.FunTypeView view2 = new LogicView.FunTypeView();
+                        view2.frameLayout.Y = view1.frameLayout.Bottom;
+                        view2.btnText.TextID = StringId.chixushijian;
+                        fLayout.AddChidren(view2.FLayoutView());
+                        view2.btnClick.MouseUpEventHandler += (sender, e) =>
+                        {
+                            //涓荤晫闈㈡帶浠�
+                            FrameLayout fLayout2 = new FrameLayout
+                            {
+                                BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
+                            };
+                            this.AddChidren(fLayout2);
+                            TimeView(fLayout2, device, view2.btnState);
+
+                        };
+
+
+                        if (edit)
+                        {
+                            try
+                            {
+                                Input inputs = Logic.currlogic.input[index];
+                                if (!string.IsNullOrEmpty(inputs.hold_time) && int.Parse(inputs.hold_time) > 0)
+                                {
+                                    int time = int.Parse(inputs.hold_time);
+                                    int h = time / (60 * 60);
+                                    int m = time % (60 * 60) / 60;
+                                    int s = (time % (60 * 60) % 60);
+                                    view2.btnState.Text = LogicMethod.Current.getTimeStr(inputs.hold_time); 
+                                    view2.btnState.Name = h + ":" + m + ":" + s;
+                                    this.hold_time = inputs.hold_time;
+                                }
+                            }
+                            catch { }
+                            GetEditState(device, index, view1.btnState, view2.btnState, null, null);
+                        }
+                    }
+                    break;
+                //闂ㄧ獥浼犳劅鍣�
+                case SPK.SensorDoorWindow:
+                    {
+                        LogicView.FunTypeView view = new LogicView.FunTypeView();
+                        view.btnText.TextID = StringId.kaiqiandbihe;
+                        fLayout.AddChidren(view.FLayoutView());
+                        view.btnClick.MouseUpEventHandler += (sender, e) =>
+                        {
+                            DeviceView(device, view.btnState, StringId.kaiqi, StringId.bihe);
+                        };
+                        if (edit)
+                        {
+                            GetEditState(device, index, view.btnState, null, null, null);
+                        }
+                    }
+                    break;
+                //绱ф�ュ懠鍙紶鎰熷櫒
+                case SPK.SensorHelp:
+                    {
+                        LogicView.FunTypeView view = new LogicView.FunTypeView();
+                        view.btnText.TextID = StringId.qiujiu;
+                        fLayout.AddChidren(view.FLayoutView());
+                        view.btnClick.MouseUpEventHandler += (sender, e) =>
+                        {
+                            DeviceView(device, view.btnState, StringId.qiujiu, StringId.zhengchang,1);
+                        };
+                        if (edit)
+                        {
+                            GetEditState(device, index, view.btnState, null, null, null);
+                        }
+                    }
+                    break;
+                //瓒呭0娉紶鎰熷櫒
+                case SPK.SensorUtrasonic:
+                    {
+
+                        LogicView.FunTypeView view = new LogicView.FunTypeView();
+                        view.btnText.TextID = StringId.yourenandwuren;
+                        fLayout.AddChidren(view.FLayoutView());
+                        view.btnClick.MouseUpEventHandler += (sender, e) =>
+                        {
+                            DeviceView(device, view.btnState, StringId.youren, StringId.wuren);
+                        };
+                        LogicView.FunTypeView view1 = new LogicView.FunTypeView();
+                        view1.frameLayout.Y = view.frameLayout.Bottom;
+                        view1.btnText.TextID = StringId.fangchaigongneng;
+                        fLayout.AddChidren(view1.FLayoutView());
+
+
+                        int intValue = 0;
+                        if (edit)
+                        {
+                            Input inputs = Logic.currlogic.input[index];
+                            var dicList = inputs.condition;
+                            foreach (var dic in dicList)
+                            {
+                                if (dic["key"] == "people_status")
+                                {
+                                    //鏈変汉/鏃犱汉
+                                    intValue = 1;
+                                }
+                                else
+                                {
+                                    //闃叉媶鍔熻兘
+                                    intValue = 2;
+                                }
+                                break;
+
+                            }
+                        }
+                        if (intValue == 1)
+                        {
+                            //鏈変汉/鏃犱汉
+                            view1.frameLayout.Visible = false;
+
+                        }
+                        else if (intValue == 2)
+                        {
+                            //闃叉媶鍔熻兘
+                            view1.frameLayout.Y = Application.GetRealHeight(0);
+                        }
+                        view1.btnClick.MouseUpEventHandler += (sender, e) =>
+                        {
+                            DeviceView(device, view1.btnState, StringId.zaixian, StringId.buzaixian);
+                        };
+
+                        if (edit)
+                        {
+                            GetEditState(device, index, view.btnState, view1.btnState, null, null);
+                        }
+                    }
+                    break;
+                //姣背娉紶鎰熷櫒(鑷爺鍖楅偖)
+                case SPK.SenesorMegahealth:
+                    case SPK.SensorMmvPose:
+                    {
+
+                        LogicView.FunTypeView view1 = new LogicView.FunTypeView();
+                        view1.btnText.TextID = StringId.diedaobaojing;
+                        view1.btnState.Name = Language.StringByID(StringId.diedaobaojing);
+                        fLayout.AddChidren(view1.FLayoutView());
+                        view1.btnClick.MouseUpEventHandler += (sender, e) =>
+                        {
+                            DeviceView(device, view1.btnState, StringId.shi, StringId.offLogic, 1);
+                        };
+
+                        LogicView.FunTypeView view2 = new LogicView.FunTypeView();
+                        view2.frameLayout.Y = view1.frameLayout.Bottom;
+                        view2.btnText.TextID = StringId.yourenbaojing;
+                        view2.btnState.Name = Language.StringByID(StringId.yourenbaojing);
+                        fLayout.AddChidren(view2.FLayoutView());
+                        int intValue = 0;
+                        if (edit)
+                        {
+                            Input inputs = Logic.currlogic.input[index];
+                            var dicList = inputs.condition;
+                            foreach (var dic in dicList)
+                            {
+                                if (dic["key"] == "target_status")
+                                {
+                                    //璺屽�掓姤璀�
+                                    intValue = 1;
+                                }
+                                else
+                                {
+                                    //鏈変汉鎶ヨ
+                                    intValue = 2;
+                                }
+                                break;
+
+                            }
+                        }
+                        if (intValue == 1)
+                        {
+                            //璺屽�掓姤璀�
+                            view2.frameLayout.Visible = false;
+
+                        }
+                        else if (intValue == 2)
+                        {
+                            //鏈変汉鎶ヨ
+                            view2.frameLayout.Y = Application.GetRealHeight(0);
+                        }
+
+                        view2.btnClick.MouseUpEventHandler += (sender, e) =>
+                        {
+                            DeviceView(device, view2.btnState, StringId.youren, StringId.wuren, 2);
+                        };
+                        if (edit)
+                        {
+                            GetEditState(device, index, view1.btnState, view2.btnState, null, null);
+                        }
+
+                    }
+                    break;
+                //姣背娉紶鎰熷櫒(鍏嗚涓撶敤浜戜簯瀵规帴)
+                case SPK.SenesorMegahealth2:
+                    {
+                        LogicView.FunTypeView view = new LogicView.FunTypeView();
+                        view.btnText.TextID = StringId.mubiaozhuangtai;//鐩爣鐘舵��
+                        fLayout.AddChidren(view.FLayoutView());
+                        view.btnClick.MouseUpEventHandler += (sender, e) =>
+                        {
+                            DeviceView(device, view.btnState, StringId.wuren, StringId.diedao);
+                        };
+                        if (edit)
+                        {
+                            GetEditState(device, index, view.btnState, null, null, null);
+                        }
+                    }
+                    break;
+                //鐜妫�娴嬩紶鎰熷櫒
+                case SPK.SensorEnvironment:case SPK.SensorEnvironmentHailin:
+                case SPK.SensorEnvironment2:
+                case SPK.SensorEnvironment3:
+                    {
+                        #region 鐣岄潰
+                        ///娓╁害
+                        LogicView.FunTypeView wenuView = new LogicView.FunTypeView();
+                        wenuView.btnText.TextID = StringId.wendu;
+                        fLayout.AddChidren(wenuView.FLayoutView());
+                        ///婀垮害
+                        LogicView.FunTypeView shiduView = new LogicView.FunTypeView();
+                        shiduView.frameLayout.Y = wenuView.frameLayout.Bottom;
+                        shiduView.btnText.TextID = StringId.shidu;
+                        fLayout.AddChidren(shiduView.FLayoutView());
+                        ///pm2.5
+                        LogicView.FunTypeView pm25View = new LogicView.FunTypeView();
+                        pm25View.frameLayout.Y = shiduView.frameLayout.Bottom;
+                        pm25View.btnText.TextID = StringId.pm25;
+                        fLayout.AddChidren(pm25View.FLayoutView());
+                        ///co2
+                        LogicView.FunTypeView co2View = new LogicView.FunTypeView();
+                        co2View.frameLayout.Y = pm25View.frameLayout.Bottom;
+                        co2View.btnText.TextID = StringId.co2;
+                        fLayout.AddChidren(co2View.FLayoutView());
+                        ///tvoc
+                        LogicView.FunTypeView tvocView = new LogicView.FunTypeView();
+                        tvocView.frameLayout.Y = co2View.frameLayout.Bottom;
+                        tvocView.btnText.TextID = StringId.tvoc;
+                        if (SPK.SensorEnvironment3 != device.spk)
+                        {
+                            fLayout.AddChidren(tvocView.FLayoutView());
+                        }
+
+                        #endregion
+                        #region 鐐瑰嚮浜嬩欢
+                        ///娓╁害鐐瑰嚮浜嬩欢
+                        wenuView.btnClick.MouseUpEventHandler += (sender, e) =>
+                        {
+                            new PublicInterface { }.ViewZuHe(this, StringId.wendugaoyu, StringId.wendudiyu, (intText, view) =>
+                            {
+                                InputBoxAction(device, intText, index, edit);
+                            });
+                        };
+                        ///婀垮害鐐瑰嚮浜嬩欢
+                        shiduView.btnClick.MouseUpEventHandler += (sender, e) =>
+                        {
+                            new PublicInterface { }.ViewZuHe(this, StringId.shidugaoyu, StringId.shidudiyu, (intText, view) =>
+                            {
+                                InputBoxAction(device, intText, index, edit);
+                            });
+
+                        };
+                        ///pm2.5鐐瑰嚮浜嬩欢
+                        pm25View.btnClick.MouseUpEventHandler += (sender, e) =>
+                        {
+                            PmCo2TvocAction(this, device, "pm25", StringId.pm25, index, edit);
+                        };
+                        ///co2鐐瑰嚮浜嬩欢
+                        co2View.btnClick.MouseUpEventHandler += (sender, e) =>
+                        {
+                            PmCo2TvocAction(this, device, "co2", StringId.co2, index, edit);
+                        };
+                        ///tvoc鐐瑰嚮浜嬩欢
+                        tvocView.btnClick.MouseUpEventHandler += (sender, e) =>
+                        {
+                            PmCo2TvocAction(this, device, "tvoc", StringId.tvoc, index, edit);
+
+                        };
+                        #endregion
+                    }
+                    break;
+                //娓╁害浼犳劅鍣�
+                case SPK.SensorTemperature:
+                    {
+                        ///娓╁害
+                        LogicView.FunTypeView wenuView = new LogicView.FunTypeView();
+                        wenuView.btnText.TextID = StringId.wendu;
+                        fLayout.AddChidren(wenuView.FLayoutView());
+
+                        ///娓╁害鐐瑰嚮浜嬩欢
+                        wenuView.btnClick.MouseUpEventHandler += (sender, e) =>
+                        {
+                            new PublicInterface { }.ViewZuHe(this, StringId.wendugaoyu, StringId.wendudiyu, (intText, view) =>
+                            {
+                                InputBoxAction(device, intText, index, edit);
+                            });
+                        };
+                    }
+                    break;
+                //婀垮害浼犳劅鍣�
+                case SPK.SensorHumidity:
+                    {
+                        ///婀垮害
+                        LogicView.FunTypeView shiduView = new LogicView.FunTypeView();
+                        shiduView.btnText.TextID = StringId.shidu;
+                        fLayout.AddChidren(shiduView.FLayoutView());
+                        ///婀垮害鐐瑰嚮浜嬩欢
+                        shiduView.btnClick.MouseUpEventHandler += (sender, e) =>
+                        {
+                            new PublicInterface { }.ViewZuHe(this, StringId.shidugaoyu, StringId.shidudiyu, (intText, view) =>
+                            {
+                                InputBoxAction(device, intText, index, edit);
+                            });
+
+                        };
+                    }
+                    break;
+                //co2
+                case SPK.SensorCO2:
+                    {
+
+
+                        ///co2
+                        LogicView.FunTypeView co2View = new LogicView.FunTypeView();
+                        co2View.btnText.TextID = StringId.co2;
+                        fLayout.AddChidren(co2View.FLayoutView());
+
+                        ///co2鐐瑰嚮浜嬩欢
+                        co2View.btnClick.MouseUpEventHandler += (sender, e) =>
+                        {
+                            PmCo2TvocAction(this, device, "co2", StringId.co2, index, edit);
+                        };
+                    }
+                    break;
+                //pm10
+                case SPK.SensorPm10:
+                    {
+                        ///pm210
+                        LogicView.FunTypeView pm10View = new LogicView.FunTypeView(); 
+                        pm10View.btnText.TextID = StringId.pm10;
+                        fLayout.AddChidren(pm10View.FLayoutView());
+
+                        ///pm10鐐瑰嚮浜嬩欢
+                        pm10View.btnClick.MouseUpEventHandler += (sender, e) =>
+                        {
+                            PmCo2TvocAction(this, device, "pm10", StringId.pm10, index, edit);
+                        };
+                    }
+                    break;
+                //pm2.5
+                case SPK.SensorPm25:
+                    {
+                        ///pm2.5
+                        LogicView.FunTypeView pm25View = new LogicView.FunTypeView();
+                        pm25View.btnText.TextID = StringId.pm25;
+                        fLayout.AddChidren(pm25View.FLayoutView());
+
+                        ///pm2.5鐐瑰嚮浜嬩欢
+                        pm25View.btnClick.MouseUpEventHandler += (sender, e) =>
+                        {
+                            PmCo2TvocAction(this, device, "pm25", StringId.pm25, index, edit);
+                        };
+                    }
+                    break;
+                //tvoc
+                case SPK.SensorTVOC:
+                    {
+
+                        ///tvoc
+                        LogicView.FunTypeView tvocView = new LogicView.FunTypeView();
+                        tvocView.btnText.TextID = StringId.tvoc;
+                        fLayout.AddChidren(tvocView.FLayoutView());
+
+                        ///tvoc鐐瑰嚮浜嬩欢
+                        tvocView.btnClick.MouseUpEventHandler += (sender, e) =>
+                        {
+                            PmCo2TvocAction(this, device, "tvoc", StringId.tvoc, index, edit);
+
+                        };
+                    }
+                    break;
+                //鐢查啗
+                case SPK.SensorHcho:
+                    {
+                        ///hcho
+                        LogicView.FunTypeView hchoView = new LogicView.FunTypeView();
+                        hchoView.btnText.TextID = StringId.Formaldehyde;
+                        fLayout.AddChidren(hchoView.FLayoutView());
+                        ///hcho鐐瑰嚮浜嬩欢
+                        hchoView.btnClick.MouseUpEventHandler += (sender, e) =>
+                        {
+                            PmCo2TvocAction(this, device, "hcho", StringId.Formaldehyde, index, edit);
+
+                        };
+                    }
+                    break;
+                //闂ㄩ攣
+                case SPK.DoorLock:
+                    {
+
+                        LogicView.FunTypeView view = new LogicView.FunTypeView();
+                        view.btnText.TextID = StringId.shifoukaisuoshi;
+                        fLayout.AddChidren(view.FLayoutView());
+                        view.btnClick.MouseUpEventHandler += (sender, e) =>
+                        {
+                            DeviceView(device, view.btnState, StringId.shi, StringId.offLogic, 1);
+                        };
+                        if (edit)
+                        {
+                            GetEditState(device, index, view.btnState, null, null, null);
+                        }
+                    }
+                    break;
+                //澶у崕鎽勫儚澶�
+                case SPK.IpCam_Imou:
+                    {
+                        LogicView.FunTypeView view = new LogicView.FunTypeView(); 
+                        view.btnText.TextID = StringId.quyuruqingaojing;
+                        view.btnText.Name = Language.StringByID(StringId.shipintonghuahujiao);
+                        fLayout.AddChidren(view.FLayoutView());
+                        view.btnClick.MouseUpEventHandler += (sender, e) =>
+                        {
+                            this.identifier = "ipcam_region_alram_event";
+                            this.DeviceView(device, view.btnState, StringId.shi, StringId.offLogic, 1);
+                        };
+
+                        if (edit)
+                        {
+                            this.GetEditState(device, index, view.btnState, null, null, null);
+                        }
+                    }
+                    break;
+                case SPK.Peephole:
+                    LogicView.FunTypeView viewPeephole = new LogicView.FunTypeView();
+                    viewPeephole.btnText.TextID = StringId.ActivityDetection;
+                    //viewPeephole.btnText.Name = Language.StringByID(StringId.shipinmensuo);
+                    fLayout.AddChidren(viewPeephole.FLayoutView());
+                    viewPeephole.btnClick.MouseUpEventHandler += (sender, e) =>
+                    {
+                        this.identifier = "pir_event";//浜轰綋鎰熷簲鍛婅
+                        this.DeviceView(device, viewPeephole.btnState, StringId.shi, StringId.offLogic, 1);
+
+                    };
+                    if (edit)
+                    {
+                        this.GetEditState(device, index, viewPeephole.btnState, null, null, null);
+                    }
+                    break;
+                case SPK.Ev_Ipcam:
+                    LogicView.FunTypeView viewEzIpcam = new LogicView.FunTypeView();
+                    viewEzIpcam.btnText.TextID = StringId.ActivityDetection;
+                    //viewEzIpcam.btnText.Name = Language.StringByID(StringId.shipinmensuo);
+                    fLayout.AddChidren(viewEzIpcam.FLayoutView());
+                    viewEzIpcam.btnClick.MouseUpEventHandler += (sender, e) =>
+                    {
+                        this.identifier = "motiondetect_event";//浜轰綋鎰熷簲鍛婅
+                        this.DeviceView(device, viewEzIpcam.btnState, StringId.shi, StringId.offLogic, 1);
+
+                    };
+                    if (edit)
+                    {
+                        this.GetEditState(device, index, viewEzIpcam.btnState, null, null, null);
+                    }
+                    break;
+
             }
             #region  淇濆瓨
             ///淇濆瓨View
@@ -144,6 +704,54 @@
                 inputDevice.condition_type = "3";
                 inputDevice.sid = device.sid;
                 inputDevice.condition.AddRange(dicSateteList);
+                if (device.spk == SPK.doorgate)
+                {
+                    //鍙瀵硅
+                    inputDevice.condition_type = "9";
+                    inputDevice.identifier = this.identifier;
+                    if (this.identifier == "door_call_cloud_event")
+                    {
+                        inputDevice.condition = new List<Dictionary<string, string>>();
+                    }
+                }
+                else if (device.spk == SPK.IpCam_Imou)
+                {
+                    //澶у崕鎽勫儚澶�
+                    inputDevice.condition_type = "9";
+                    inputDevice.identifier = this.identifier;
+                    if (this.identifier == "ipcam_region_alram_event")
+                    {
+                        //condition榛樿[]
+                        inputDevice.condition = new List<Dictionary<string, string>>();
+                    }
+                }
+                else if(device.spk == SPK.Peephole)
+                {
+                    //鐚溂-浜轰綋鎰熷簲鍛婅
+                    inputDevice.condition_type = "9";
+                    inputDevice.identifier = this.identifier;
+                    inputDevice.condition = new List<Dictionary<string, string>>();
+                }
+                else if(device.spk == SPK.Ev_Ipcam)
+                {
+                    //钀ょ煶鎽勫儚澶�-绉诲姩鐩戞祴鍛婅
+                    inputDevice.condition_type = "9";
+                    inputDevice.identifier = this.identifier;
+                    inputDevice.condition = new List<Dictionary<string, string>>();
+                }
+                else if (device.spk == SPK.VideoDoorLock)
+                {
+                    ////钀ょ煶瑙嗛闂ㄩ攣
+                    inputDevice.condition_type = "9";
+                    inputDevice.identifier = this.identifier;
+                    //inputDevice.condition = new List<Dictionary<string, string>>();
+                }
+                else if (device.spk == SPK.SensorPirHold)
+                {
+                    //浜轰綋瀛樺湪浼犳劅鍣�
+                    inputDevice.hold_time = this.hold_time;
+                }
+
 
                 if (edit)
                 {
@@ -194,7 +802,7 @@
         /// <param name="button">閫変腑鐘舵�佹樉绀烘枃鏈珺tn鎺т欢</param>
         /// <param name="btnText1">灞炴�х姸鎬佸�兼枃鏈�1</param>
         /// <param name="btnText2">灞炴�х姸鎬佸�兼枃鏈�2</param>
-        /// <param name="viewCount">view鏁伴噺</param>
+        /// <param name="viewCount">view鏁伴噺,榛樿2涓獀iew</param>
         private void DeviceView(Entity.Function device, Button button, int btnText1, int btnText2,int viewCount=2)
         {
             FrameLayout frame = new FrameLayout { BackgroundColor = CSS.CSS_Color.viewTrans60lucence };
@@ -205,16 +813,91 @@
                 //璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�;
                 string keyVlaue = "on_off";
                 string value = "";
+                switch (device.spk)
+                {
+                    //浼犳劅鍣�
+                    case SPK.SensorGas:
+                    case SPK.SensorWater:
+                    case SPK.SensorSmoke:
+                    case SPK.SensorHelp:
+                        {
+                            keyVlaue = "status";
+                            if (!Is_SpkAttribute(keyVlaue)) {
+                                keyVlaue = "alarm_status";
+                            } 
+                        };
+                        break;
+                    case SPK.SensorDoorWindow:
+                    case SPK.SensorDryContact:
+                    case SPK.SensorDryContact2:
+                        {
+                            keyVlaue = "status";
+                            if (!Is_SpkAttribute(keyVlaue))
+                            {
+                                keyVlaue = "contact_status";
+                            }
+                        }
+                        break;
+                    case SPK.SensorPirHold:
+                    case SPK.SensorDuiShe:
+                    case SPK.SensorShanLan:
+                    case SPK.SensorPir:
+                    case SPK.SensorUtrasonic:
+                        {
+                            keyVlaue = "status";
+                            if (!Is_SpkAttribute(keyVlaue))
+                            {
+                                keyVlaue = "people_status";
+                            }
+
+                        }
+                        break;
+                    case SPK.SenesorMegahealth:
+                        {
+                            if (button != null)
+                            {
+                                
+                                if (button.Name == Language.StringByID(StringId.yourenbaojing))
+                                {
+                                    keyVlaue = "people_status";
+                                   
+                                }
+                                else
+                                {
+                                    keyVlaue = "target_status";
+                                }
+                            }
+
+                        }
+                        break;
+                    case SPK.SenesorMegahealth2:
+                        {
+                            keyVlaue = "action_state";
+                            if (!Is_SpkAttribute(keyVlaue))
+                            {
+                                keyVlaue = "megahealth_state";
+                            }
+                        }
+                        break;
+                    case SPK.DoorLock:
+                        {
+                            keyVlaue = "door_status";
+                        }
+                        break;
+
+                }
                 switch (intValue)
                 {
                     case StringId.xieluo:
                     case StringId.luoshui:
+                    case StringId.qiujiu:
                         {
                             value = "alarm";
                         }
                         break;
                     case StringId.wuxieluo:
                     case StringId.wuluoshui:
+                    case StringId.zhengchang:
                         {
                             value = "normal";
                         }
@@ -222,11 +905,19 @@
                     case StringId.onLogic:
                         {
                             value = "on";
+                            if (device.spk== SPK.SensorDryContact) {
+                                value = "open";
+                            }
+
                         }
                         break;
                     case StringId.offLogic:
                         {
                             value = "off";
+                            if (device.spk == SPK.SensorDryContact)
+                            {
+                                value = "close";
+                            }
                         }
                         break;
                     case StringId.youren:
@@ -236,7 +927,14 @@
                         break;
                     case StringId.wuren:
                         {
+                            if (device.spk == SPK.SenesorMegahealth2)
+                            {
+                                value = "uninhabited";
+                            }
+                            else
+                            {
                                 value = "false";
+                            }
                         }
                         break;
                     case StringId.shi:
@@ -319,6 +1017,7 @@
         {
             if (edit)
             {
+                this.function = device;
                 Input inputs = Logic.currlogic.input[index];
                 //娓呴櫎涔嬪墠鏃ф暟鎹�
                 dicSateteList.Clear();
@@ -328,44 +1027,53 @@
                     dicSateteList.AddRange(inputs.condition);
                 }
             }
+            int max = 100;
+            int min = 1;
+            if (device.spk == SPK.SensorLight)
+            {
+                //鐓ф槑浼犳劅鍣�
+                min = 0;
+                max =1200;
+            }
+
             new LogicView.TipPopView { }.InputBox(textInt, stateValue, (value) =>
             {
-                string keyValue = "20";
+                string key = "20"; 
                 string data_type = "integer";
                 string comparator = "=";
                 switch (textInt)
                 {
                     case StringId.wendugaoyu:
                         {
-                            keyValue = "temperature";
+                            key = "temperature";
                             comparator = ">";
                             data_type = "float";
                         }
                         break;
                     case StringId.wendudiyu:
                         {
-                            keyValue = "temperature";
+                            key = "temperature";
                             comparator = "<";
                             data_type = "float";
                         }
                         break;
                     case StringId.shidugaoyu:
                         {
-                            keyValue = "humidity";
+                            key = "humidity";
                             comparator = ">";
                         }
                         break;
                     case StringId.shidudiyu:
                         {
-                            keyValue = "humidity";
+                            key = "humidity";
                             comparator = "<";
                         }
                         break;
                 }
                 selectedState = device.spk + "_" + value;
-                AddDictionary(keyValue, value, data_type, comparator);
+                AddDictionary(key, value, data_type, comparator);
                 SaveInput(device,index, edit);
-            });
+            },min,max);
         }
         /// PM2.5,Co2,Tvoc璁剧疆鍊�
         /// </summary>
@@ -401,13 +1109,31 @@
             view.SingleSelectionShow(frame, listStr, Language.StringByID(title), view.GetSensorLevelText(device, stateValue,true)
                , (text) =>
                {
+                  
+                   //var value = view.GetValue(key, text);
                    var values = view.GetSensorLevelText(device,text,false);
                    selectedState = device.spk + "_" + key;
+                   switch (device.spk)
+                   {
+                       case SPK.SensorTemperature:
+                       case SPK.SensorHumidity:
+                       case SPK.SensorCO2:
+                       case SPK.SensorPm25:
+                       case SPK.SensorTVOC:
+                       case SPK.SensorHcho:
+                       case SPK.SensorPm10:
+                           {
+                               if (!Is_SpkAttribute(key))
+                               {
+                                   key = "value";
+                               }
+                           }
+                           break;
+                   }
                    AddDictionary(key, values, "integer", "in");
                    SaveInput(device, index, edit);
                });
         }
-
         /// <summary>
         /// 鏃堕棿鏂规硶
         /// </summary>
@@ -433,7 +1159,7 @@
                         this.hold_time = (h + m + s).ToString();
                         if (button != null)
                         {
-                            button.Text = this.hold_time + "s";
+                            button.Text = LogicMethod.Current.getTimeStr(this.hold_time);
                             button.Name = timeValue;
                         }
                         selectedState = device.spk + "_" + timeValue;
@@ -464,6 +1190,31 @@
             {
                 //鏈夋暟鎹噸鏂拌祴鍊�
                 dicSateteList.AddRange(dicList);
+            }
+            //浜嬩欢涓撶敤
+            switch (device.spk)
+            {
+                case SPK.IpCam_Imou:
+                    {
+                        if (inputs.identifier == "ipcam_region_alram_event")
+                        {
+                            button1.Text = Language.StringByID(StringId.shi);
+                        }
+
+                    }
+                    break;
+                case SPK.Peephole:
+                    if (inputs.identifier == "pir_event")
+                    {
+                        button1.Text = Language.StringByID(StringId.shi );
+                    }
+                    break;
+                case SPK.Ev_Ipcam:
+                    if (inputs.identifier == "motiondetect_event")
+                    {
+                        button1.Text = Language.StringByID(StringId.shi);
+                    }
+                    break;
             }
             InpOrOutLogicMethod.Current.EditDeviceState(device, dicList, button1, button2, button3, button4, "");
         }
@@ -583,9 +1334,19 @@
         /// <returns></returns>
         private bool CheckSpk()
         {
+            if (this.function == null)
+            {
+                return false;
+            }
+            if (this.function.spk == SPK.VideoDoorLock ||
+               this.function.spk == SPK.doorgate
+                )
+            {
+                return true;
+            }
             return false;
 
-        } 
+        }
         /// <summary>
         /// 鍒ゆ柇dictionaryB鏄惁瀹屾暣鍖呭惈鍙︿竴涓猟ictionaryA
         /// </summary>

--
Gitblit v1.8.0