wei
2020-12-02 30b5770f56f99c1f92e933ad31cf7d2af58b033c
HDL_ON/Entity/DB_ResidenceData.cs
@@ -80,10 +80,6 @@
        /// </summary>
        public string CurReginID = "";
        /// <summary>
        /// 楼层列表
        /// </summary>
        public List<Floor> floors = new List<Floor>();
        /// <summary>
        /// 功能类型列表
        /// </summary>
        public List<ShowFunction> functionTypeList = new List<ShowFunction>();
@@ -141,278 +137,6 @@
                                loopId = 1,
                            },
                        }.SaveFunctionData();
#if DEBUG11
                        if (rooms.Count == 0 )
                        {
                            //--------------------
                            var r111 = new Room() { sid = "0001", name = "客厅", floorId = "", backgroundImage = "Classification/Room/Roombg.png" };
                            rooms.Add(r111);
                            instance.floors.Add(new Floor() { sid = "000022222", name = "1F" });
                            r111.SaveRoomData();
                            new AC()
                            {
                                sid = "030101123456780604010001ABCD",
                                name = "空调",
                                function = new List<Trait>() {
                                                                new Trait { name="on_off", max=1,min = 0, value_key= new List<string> { "on","off"} },
                                                                new Trait { name="mode", max = 2,min =0,value_key = new List<string>{ "auto", "heat", "cool","dry" } },
                                                                new Trait { name = "fan",max = 3,min =0,value_key = new List<string>{ "low", "medium", "high" ,"auto"} },
                                                                new Trait { name = "temperature", max = 32,min=16,value_key = new List<string>{"up","down" } },
                                                            },
                                roomIdList = new List<string>() { "0001" },
                                lastState = "制冷 中风 18°C",
                                bus_Data = new BusData
                                {
                                    SubnetID = 42,
                                    DeviceID = 8,
                                    LoopID = 1,
                                },
                            }.SaveFunctionData();
                            new Light()
                            {
                                sid = "030101123456780202020002ABCD",
                                name = "调光灯",
                                function = new List<Trait>() {
                                                                new Trait { name="brightness", max=100,min = 0, value_key= new List<string> { "up","down"} },
                                                            },//"brightness",
                                roomIdList = new List<string>() { "0001" },
                                lastState = "20%",
                                bus_Data = new BusData
                                {
                                    SubnetID = 42,
                                    DeviceID = 9,
                                    LoopID = 1,
                                },
                            }.SaveFunctionData();
                            new Curtain()
                            {
                                sid = "030101123456780303010003ABCD",
                                name = "窗帘",
                                roomIdList = new List<string>() { "0001" },
                                function = new List<Trait>() {
                                                                new Trait { name="on_off", max=2,min = 0, value_key= new List<string> { "on","off","stop"} },
                                                            },// "curtain",
                                lastState = "开",
                                bus_Data = new BusData
                                {
                                    SubnetID = 42,
                                    DeviceID = 7,
                                    LoopID = 1,
                                },
                            }.SaveFunctionData();
                            new Curtain()
                            {
                                sid = "030101123456780303030011ABCD",
                                name = "开合帘",
                                roomIdList = new List<string>() { "0001" },
                                function = new List<Trait>() {
                                                                new Trait { name="on_off", max=100,min = 0, value_key= new List<string> { "on","off","stop"} },
                                                            },//"curtaintype",
                                lastState = "20%",
                                bus_Data = new BusData
                                {
                                    SubnetID = 42,
                                    DeviceID = 7,
                                    LoopID = 11,
                                },
                            }.SaveFunctionData();
                            new Curtain()
                            {
                                sid = "030101123456780503040012ABCD",
                                name = "卷帘",
                                roomIdList = new List<string>() { "0001" },
                                function = new List<Trait>() {
                                                                new Trait { name="on_off", max=2,min = 0, value_key= new List<string> { "on","off","stop"} },
                                                                new Trait { name="percent", max=100,min = 0, value_key= new List<string> { "percent" } },
                                                            },// "rollingshutter",
                                lastState = "20%",
                                bus_Data = new BusData
                                {
                                    SubnetID = 42,
                                    DeviceID = 17,
                                    LoopID = 1,
                                },
                            }.SaveFunctionData();
                            new FloorHeating()
                            {
                                sid = "030101123456780404020004ABCD",
                                name = "地热",
                                roomIdList = new List<string>() { "0001" },
                                function = new List<Trait>() {
                                                                new Trait { name="on_off", max=1,min = 0, value_key= new List<string> { "on","off"} },
                                                                new Trait { name="mode", max = 2,min =0,value_key = new List<string>{ "normal", "day", "night","timer","away" } },
                                                                new Trait { name = "temperature", max = 32,min=5,value_key = new List<string>{"up","down" } },
                                                            },//
                                lastState = "自动 25°C",
                                bus_Data = new BusData
                                {
                                    SubnetID = 111,
                                    DeviceID = 12,
                                    LoopID = 1
                                }
                            }.SaveFunctionData();
                            new Light()
                            {
                                sid = "030101123456780202010005ABCD",
                                name = "吊灯",
                                function = new List<Trait>() {
                                                                new Trait { name="on_off", max=100,min = 0, value_key= new List<string> { "on","off"} },
                                                            },//"on_off",
                                roomIdList = new List<string>() { "0001" },
                                bus_Data = new BusData
                                {
                                    SubnetID = 42,
                                    DeviceID = 6,
                                    LoopID = 1,
                                },
                            }.SaveFunctionData();
                            new Light()
                            {
                                sid = "030101123456780202040006ABCD",
                                name = "RGB灯",
                                function = new List<Trait>() {
                                                                new Trait { name="brightness", max=100,min = 0, value_key= new List<string> { "on","off"} },
                                                                new Trait { name="color", max=100,min = 0, value_key= new List<string> { "255", "255", "255" } },
                                                            },//"brightness,color",
                                roomIdList = new List<string>() { "0001" },
                                bus_Data = new BusData
                                {
                                    SubnetID = 42,
                                    DeviceID = 4,
                                    LoopID = 1,
                                },
                            }.SaveFunctionData();
                            new Fan()
                            {
                                sid = "030101123456781010020006ABCD",
                                name = "风扇",
                                function = new List<Trait>() {
                                                            new Trait { name="on_off", max=1,min = 0, value_key= new List<string> { "on","off"} },
                                                            new Trait { name="percent", max=7,min = 0, value_key= new List<string> { "percent" } },
                                                        },//"brightness,color",
                                roomIdList = new List<string>() { "0001" },
                                bus_Data = new BusData
                                {
                                    SubnetID = 142,
                                    DeviceID = 4,
                                    LoopID = 11,
                                },
                            }.SaveFunctionData();
                            new TV()
                            {
                                sid = "030101123456781010020006ABCD",
                                name = "电视",
                                function = new List<Trait>() {
                                                            new Trait { name="on_off", max=1,min = 0, value_key= new List<string> { "on","off"} },
                                                        },
                                roomIdList = new List<string>() { "0001" },
                                bus_Data = new BusData
                                {
                                    SubnetID = 142,
                                    DeviceID = 4,
                                    LoopID = 111,
                                },
                            }.SaveFunctionData();
                            new SwitchSocket()
                            {
                                sid = "030101123456780101020006ABCD",
                                name = "插座",
                                function = new List<Trait>() {
                                                            new Trait { name="on_off", max=1,min = 0, value_key= new List<string> { "on","off"} },
                                                        },
                                roomIdList = new List<string>() { "0001" },
                                bus_Data = new BusData
                                {
                                    SubnetID = 42,
                                    DeviceID = 6,
                                    LoopID = 1,
                                },
                            }.SaveFunctionData();
                            new Sensor()
                            {
                                sid = "030101123456781005060006ABCD",
                                name = "PM2.5",
                                roomIdList = new List<string>() { "0001" },
                                function = new List<Trait>() {
                                                            new Trait { name="values", max=1,min = 0, value_key= new List<string> { "22"} },
                                                        },
                                bus_Data = new BusData
                                {
                                    SubnetID = 111,
                                    DeviceID = 15,
                                    LoopID = 1,
                                },
                            }.SaveFunctionData();
                            new Sensor()
                            {
                                sid = "030101123456781005070006ABCD",
                                name = "CO2",
                                roomIdList = new List<string>() { "0001" },
                                function = new List<Trait>() {
                                                            new Trait { name="values", max=1,min = 0, value_key= new List<string> { "1352"} },
                                                        },
                                bus_Data = new BusData
                                {
                                    SubnetID = 111,
                                    DeviceID = 15,
                                    LoopID = 1,
                                },
                            }.SaveFunctionData();
                            new Sensor()
                            {
                                sid = "030101123456781005020006ABCD",
                                name = "温度",
                                roomIdList = new List<string>() { "0001" },
                                function = new List<Trait>() {
                                                            new Trait { name="values", max=1,min = 0, value_key= new List<string> { "28"} },
                                                        },
                                bus_Data = new BusData
                                {
                                    SubnetID = 111,
                                    DeviceID = 15,
                                    LoopID = 1,
                                },
                            }.SaveFunctionData();
                            new Sensor()
                            {
                                sid = "030101123456781005050006ABCD",
                                name = "TVOC",
                                roomIdList = new List<string>() { "0001" },
                                function = new List<Trait>() {
                                                            new Trait { name="values", max=1,min = 0, value_key= new List<string> { "0.3"} },
                                                        },
                                bus_Data = new BusData
                                {
                                    SubnetID = 111,
                                    DeviceID = 15,
                                    LoopID = 1,
                                },
                            }.SaveFunctionData();
                            new Sensor()
                            {
                                sid = "030101123456781005030006ABCD",
                                name = "湿度",
                                roomIdList = new List<string>() { "0001" },
                                function = new List<Trait>() {
                                                            new Trait { name="values", max=1,min = 0, value_key= new List<string> { "15"} },
                                                        },
                                bus_Data = new BusData
                                {
                                    SubnetID = 111,
                                    DeviceID = 15,
                                    LoopID = 1,
                                },
                            }.SaveFunctionData();
                            instance.SaveResidenceData();
                        }
#endif
@@ -520,18 +244,20 @@
        /// </summary>
        public string CurFoor = Language.StringByID(StringId.All);
        #region 房间数据相关
        /// <summary>
        /// 初始化每个房间的功能数据
        /// </summary>
        public static void InitRoomFunction()
        {
            new System.Threading.Thread(() =>
            new Thread(() =>
            {
                try
                {
                    //初始化住宅所有房间功能数据
                    foreach (var r in rooms)
                    foreach (var r in Rooms)
                    {
                        r.GetRoomFunctions(true);
                        r.GetRoomScenes(true);
@@ -546,7 +272,7 @@
        }
        static List<Room> ins_Room;
        public static List<Room> rooms
        public static List<Room> Rooms
        {
            get
            {
@@ -579,19 +305,33 @@
                return ins_Room;
            }
        }
        /// <summary>
        /// 增加房间
        /// </summary>
        /// <param name="room"></param>
        public void AddRoom(Room room)
        {
            Rooms.Add(room);
            room.SaveRoomData();
        }
        /// <summary>
        /// 删除房间
        /// </summary>
        /// <param name="delRoom"></param>
        public static void DelRoom(Room delRoom)
        /// <param name="room"></param>
        public void DelRoom(Room room)
        {
            var tRoom = rooms.Find((obj) => obj.sid == delRoom.sid);
            var tRoom = Rooms.Find((obj) => obj.uid == room.uid);
            if (tRoom != null)
            {
                FileUtils.DeleteFile(delRoom.roomSavePath);
                rooms.Remove(tRoom);
                FileUtils.DeleteFile(room.roomSavePath);
                Rooms.Remove(room);
                room.modifyTime = "";
            }
            room.SaveRoomData();
        }
        #endregion
        #region 功能数据