wxr
2020-09-25 6d3ba9484472d090532434e53667c096652149ce
HDL_ON/Entity/DB_ResidenceData.cs
@@ -66,7 +66,7 @@
                        var userConfigString = CommonPage.MyEncodingUTF8.GetString(residenceDataBytes);
                        DB_ResidenceData temp = null;
                         if (!string.IsNullOrEmpty(userConfigString))
                        if (!string.IsNullOrEmpty(userConfigString))
                        {
                            temp = Newtonsoft.Json.JsonConvert.DeserializeObject<DB_ResidenceData>(userConfigString);
                        }
@@ -92,291 +92,292 @@
                            instance.SaveResidenceData();
                        }
                        //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"} },
                        //                },
                        //    roomIdList = new List<string>() { "0001" },
                        //    bus_Data = new BusData
                        //    {
                        //        SubnetID = 111,
                        //        DeviceID = 3,
                        //        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"} },
                                        },
                            roomIdList = new List<string>() { "0001" },
                            bus_Data = new BusData
                            {
                                SubnetID = 42,
                                DeviceID = 6,
                                LoopID = 1,
                            },
                        }.SaveFunctionData();
                        //#if DEBUG
                        //                        if (rooms.Count == 0 && residenceData.CurReginID == "1108024")
                        //                        {
                        //                            //--------------------
                        //                            var r111 = new Room() { sid = "0001", name = "Room-1", 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,
                        //                                },
                        if (rooms.Count == 0 && residenceData.CurReginID == "1108024000000000000000")
                        {
                            //--------------------
                            instance.floors.Add(new Floor() { name = "1F", sid = "09888" });
                            var r111 = new Room() { sid = "0001", name = "Room-1", floorId = "09888", 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 = "set_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" } },
                            }.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"} },
                        //                                },//"brightness,color",
                        //                                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
                                                            },// "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 = "set_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" } },
                                                            },
                                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" } },
                                                        },
                                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
                    }
                    catch (Exception ex)
                    {
@@ -399,7 +400,7 @@
            ins_Room = null;
            ins_OidList = null;
            ins_Function = null;
            if(MainPage.IsRemote)
            if (MainPage.IsRemote)
            {
                Mqtt_Cloud.DisConnectRemoteMqttClient("退出登录,或者切换住宅");
            }
@@ -418,7 +419,7 @@
        /// </summary>
        public void SaveResidenceData()
        {
            if (this == null|| this.residecenInfo==null)
            if (this == null || this.residecenInfo == null)
                return;
            var ssd = CommonPage.MyEncodingUTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(this));
            FileUtils.WriteFileByBytes("DB_ResidenceData", ssd);
@@ -468,12 +469,12 @@
                        foreach (var filePath in filePathList)
                        {
                            if (filePath.StartsWith("RoomData_") )
                            if (filePath.StartsWith("RoomData_"))
                            {
                                var roomDataBytes = FileUtils.ReadFile(filePath);
                                var roomDataString = CommonPage.MyEncodingUTF8.GetString(roomDataBytes);
                                var room = Newtonsoft.Json.JsonConvert.DeserializeObject<Room>(roomDataString);
                                if(room != null)
                                if (room != null)
                                {
                                    ins_Room.Add(room);
                                }
@@ -492,17 +493,16 @@
        /// 删除房间
        /// </summary>
        /// <param name="delRoom"></param>
        public static void DelRoom (Room delRoom)
        public static void DelRoom(Room delRoom)
        {
            var tRoom = rooms.Find((obj) => obj.sid == delRoom.sid);
            if (tRoom!=null)
            if (tRoom != null)
            {
                FileUtils.DeleteFile(delRoom.roomSavePath);
                rooms.Remove(tRoom);
            }
        }
        #endregion
        #region 功能数据
        static FunctionList ins_Function;
@@ -546,6 +546,7 @@
                                        break;
                                    case FunctionType.Curtain:
                                    case FunctionType.MotorCurtain:
                                    case FunctionType.RollingShutter:
                                        //恢复窗帘数据
                                        var curtainsDataBytes = FileUtils.ReadFile(filePath);
                                        var curtainsString = CommonPage.MyEncodingUTF8.GetString(curtainsDataBytes);