From f5ba05c33393e55de28db91433901600bfb0658f Mon Sep 17 00:00:00 2001
From: xm <1271024303@qq.com>
Date: 星期五, 22 五月 2020 17:43:11 +0800
Subject: [PATCH] 请合并最新代码「20200522:添加门锁晚上9点上报常开功能,优化PM2.5测试功能」

---
 ZigbeeApp20200519/Shared/Phone/UserCenter/DoorLock/ShowDoorLockMsgControl.cs                    |    2 
 ZigbeeApp20200519/Shared/R.cs                                                                   |  583 +++++++++++++++---------------
 ZigbeeApp20200519/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirButtonSettionForm.cs |   10 
 ZigbeeApp20200519/Shared/Phone/UserCenter/CommonBase/Common/UserCenterCommon.cs                 |    4 
 ZigbeeApp20200519/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayReceiveLogic.cs            |   24 
 ZigbeeApp20200519/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirTargetsForm.cs       |   54 ++
 ZigbeeApp20200519/Shared/Phone/Device/Logic/SoneLogicList.cs                                    |    5 
 ZigbeeApp20200519/Shared/Phone/ZigBee/Device/DoorLock.cs                                        |    0 
 ZigbeeApp20200519/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs                        |   19 
 ZigbeeApp20200519/Home.Ios/Resources/Language.ini                                               |  223 +++++-----
 ZigbeeApp20200519/Shared/Phone/MainPage/ControlForm/DevicePmSensorDetailCardForm.cs             |  108 +++-
 ZigbeeApp20200519/Shared/Phone/ZigBee/Common/Application.cs                                     |    4 
 ZigbeeApp20200519/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs                          |   79 +++
 13 files changed, 639 insertions(+), 476 deletions(-)

diff --git a/ZigbeeApp20200519/Home.Ios/Resources/Language.ini b/ZigbeeApp20200519/Home.Ios/Resources/Language.ini
index cd9328d..4127b95 100755
--- a/ZigbeeApp20200519/Home.Ios/Resources/Language.ini
+++ b/ZigbeeApp20200519/Home.Ios/Resources/Language.ini
@@ -23,24 +23,24 @@
 17=璇烽�夋嫨妯″紡
 18=鏈懡鍚�
 19=妯″紡绫诲瀷
-20=缁戝畾璁惧
-21=缁戝畾鍦烘櫙
-22=淇濆瓨
-23=绉婚櫎鎴愬姛
-24=绉婚櫎澶辫触
-25=妯″紡閰嶇疆澶辫触
-26=璇峰厛閰嶇疆鎸夐敭妯″紡
-28=鍒犻櫎
-29=妯″紡璁剧疆澶辫触
-30=澶辫触锛岃妭鐐硅澶囨垨鍦烘櫙涓嶅瓨鍦�
-31=缁戝畾宸茬粡瀛樺湪
-32=缁戝畾澶辫触
-33=澶辫触锛屾帶鍒惰澶囩殑缁戝畾鍒楄〃宸叉弧
+20=缁戝畾璁惧
+21=缁戝畾鍦烘櫙
+22=淇濆瓨
+23=绉婚櫎鎴愬姛
+24=绉婚櫎澶辫触
+25=妯″紡閰嶇疆澶辫触
+26=璇峰厛閰嶇疆鎸夐敭妯″紡
+28=鍒犻櫎
+29=妯″紡璁剧疆澶辫触
+30=澶辫触锛岃妭鐐硅澶囨垨鍦烘櫙涓嶅瓨鍦�
+31=缁戝畾宸茬粡瀛樺湪
+32=缁戝畾澶辫触
+33=澶辫触锛屾帶鍒惰澶囩殑缁戝畾鍒楄〃宸叉弧
 34=鑾峰彇鏁版嵁澶辫触锛岃妫�鏌ヨ澶囨槸鍚﹀湪绾�
-35=褰撳墠宸茬粡瀛樺湪鍦烘櫙锛岀‘瀹氳鏇挎崲鍚楋紵
-36=鍒囨崲鍦烘櫙澶辫触锛岃妫�鏌ヨ澶囨槸鍚﹀湪绾�
-37=璇ユ寜閿凡缁忓瓨鍦ㄥ満鏅紝璇峰垹闄ゅ綋鍓嶅満鏅悗鍐嶉噸鏂扮粦瀹�
-38=鎸夐敭涓凡瀛樺湪璁惧锛岃鍒犻櫎褰撳墠琚粦瀹氱殑璁惧鍚庢墠鑳芥坊鍔犲満鏅�� (鐐圭‘瀹氭寜閽墠寰�鍦烘櫙缂栬緫锛屽皢褰撳墠鐨勭粦瀹氳澶囨坊鍔犲埌鍦烘櫙涓�)
+35=褰撳墠宸茬粡瀛樺湪鍦烘櫙锛岀‘瀹氳鏇挎崲鍚楋紵
+36=鍒囨崲鍦烘櫙澶辫触锛岃妫�鏌ヨ澶囨槸鍚﹀湪绾�
+37=璇ユ寜閿凡缁忓瓨鍦ㄥ満鏅紝璇峰垹闄ゅ綋鍓嶅満鏅悗鍐嶉噸鏂扮粦瀹�
+38=鎸夐敭涓凡瀛樺湪璁惧锛岃鍒犻櫎褰撳墠琚粦瀹氱殑璁惧鍚庢墠鑳芥坊鍔犲満鏅�� (鐐圭‘瀹氭寜閽墠寰�鍦烘櫙缂栬緫锛屽皢褰撳墠鐨勭粦瀹氳澶囨坊鍔犲埌鍦烘櫙涓�)
 39=璇ョ粦瀹氬凡缁忓瓨鍦�
 40=褰撳墠鎸夐敭娌℃湁鏀寔鐨勬ā寮�
 41=鍦烘櫙瑙﹀彂
@@ -323,6 +323,7 @@
 320=涓害姹℃煋
 321=閲嶅害姹℃煋
 322=涓ラ噸姹℃煋 
+323=鑷姩鍖栧叧闂�愰棬閿佸父寮�妯″紡銆戯紝闂ㄩ攣宸插叧
 
 5097=鍙栨秷
 5098=纭畾
@@ -1017,7 +1018,7 @@
 15224=缂栬緫澶囦唤
 15225=澶囨敞
 15226=璇疯緭鍏ュ浠藉悕绉�
-15227=鎭㈠鏂囦欢鎴愬姛
+15227=鎭㈠鏂囦欢鎴愬姛
 15246=鎶ヨ鐩爣璁剧疆
 15247=褰撹闃插尯鎶ヨ鏃讹紝浠ヤ笅鐩爣灏嗕細鍝嶅簲
 15248=鎺ㄩ�侀�氱煡
@@ -1861,95 +1862,95 @@
 16120=鑱旂郴鏂瑰紡
 16121=璇疯緭鍏ユ偍鐨勮仈绯绘柟寮�
 
-;鈽呪槄鈽呪槄涓嬮潰杩欎簺鏄帴鍙g殑杩斿洖淇℃伅缈昏瘧,浠�18000寮�濮嬧槄鈽呪槄鈽�
-18004=鎸囧畾缃戝叧宸茬粡琚粦瀹�
-18005=鐢ㄦ埛涓嶅瓨鍦ㄤ簬姝や綇瀹�
-18006=璐﹀彿宸茬粡瀛樺湪浜庢浣忓畢
-18009=鎿嶄綔鏉冮檺涓嶈冻
-18010=琚粦瀹氱殑瀛愯处鍙蜂笉瀛樺湪锛岃娉ㄥ唽鍚庡啀璇�
-18011=鎿嶄綔鐨勫瓙璐﹀彿涓嶅瓨鍦�
-18012=瑙i櫎缁戝畾鐨勫瓙璐﹀彿涓嶅瓨鍦�
-18013=楠岃瘉鐮佸彂閫佸け璐�
-18015=璐﹀彿宸茬粡瀛樺湪
-18016=楠岃瘉鐮侀敊璇�
-18017=楠岃瘉鐮佸凡澶辨晥
-18018=缁戝畾鐨勮处鍙蜂笉瀛樺湪
-18019=鎸囧畾璐﹀彿宸插瓨鍦�
-18022=楠岃瘉鐮佸彂閫佸け璐�
-18024=鎸囧畾璐﹀彿涓嶅瓨鍦�
-18025=鍘熷瘑鐮佸拰鏂板瘑鐮佺浉鍚�
-18026=鍘熷瘑鐮侀敊璇�
-18034=璐﹀彿鏈敞鍐�
-18035=璇锋眰鍙傛暟閿欒
-18036=鏃犳晥鐨勭櫥褰曞瘑鍖�
-18039=褰撳墠缂栬緫鐨勪綇瀹呭悕绉板凡缁忓瓨鍦�
-18040=褰撳墠娣诲姞鐨勪綇瀹呭悕绉板凡缁忓瓨鍦�
-18041=鎸囧畾鐨勪綇瀹呬笉瀛樺湪
-18042=褰撳墠澶囦唤涓嶅睘浜庢偍褰撳墠鐨勪綇瀹�
-18043=澶囨敞鍚嶇О宸茬粡瀛樺湪,璇锋洿鎹㈠悗閲嶈瘯锛�
-18044=鎸囧畾鐨勭綉鍏矷D骞朵笉瀛樺湪
-18045=褰撳墠浣忓畢涓嬪苟娌℃湁缁戝畾鎸囧畾鐨勭綉鍏�
-18046=褰撳墠浣忓畢杩樺瓨鍦ㄧ潃鏈В闄ょ粦瀹氱殑缃戝叧
-18047=鍏变韩鏁版嵁涓嶅瓨鍦�
-18048=鍒嗕韩鐨勭洰鏍囪处鍙蜂笉瀛樺湪
-18049=鍒嗕韩鏁版嵁鎿嶄綔澶辫触
-18050=涓嶈兘鎶婅嚜宸辨坊鍔犱负鎴愬憳
-18051=涓嶈兘鎶婁富璐﹀彿娣诲姞涓烘垚鍛�
-
-
-;鈽呪槄鈽呪槄涓嬮潰杩欎簺鏄澶囩殑鍏ョ綉姝ラ,浠�21000寮�濮嬧槄鈽呪槄鈽�
-;鏅鸿兘闂ㄩ攣鍏ョ綉鎿嶄綔鎸囩ず
-21000=鍞ら啋闂ㄩ攣锛岃緭鍏モ��*鈥濄�佲��#鈥濄�佲�滅鐞嗗憳瀵嗙爜鈥漿0}鎸夎闊虫彁绀猴紝杈撳叆鈥�4鈥濋�夋嫨鍔熻兘鑿滃崟{0}杈撳叆鈥�1鈥濓紝纭璁惧鍏ョ綉
-;3璺户鐢靛櫒鍏ョ綉鎿嶄綔鎸囩ず
-21001=闀挎寜鍥剧ず鎸夐敭5绉掍互涓婏紝鎸囩ず鐏彉缁裤�侀棯鐑亄0}杩涘叆閰嶇綉鐘舵�併�傜豢鐏唲鐏垯閰嶇綉鎴愬姛
-;1璺皟鍏夊櫒灏忔ā鍧楀叆缃戞搷浣滄寚绀�
-21002=闀挎寜鍥剧ず鎸夐敭5绉掍互涓婏紝鎸囩ず鐏彉缁裤�侀棯鐑亄0}杩涘叆閰嶇綉鐘舵�併�傜豢鐏唲鐏垯閰嶇綉鎴愬姛
-;浜屾寜閿潰鏉垮叆缃戞搷浣滄寚绀�
-21003=闀挎寜鍥剧ず鎸夐敭5绉掍互涓婏紝鎸囩ず鐏彉缁裤�侀棯鐑亄0}杩涘叆閰嶇綉鐘舵�併�傜豢鐏揩闂�3绉掑垯閰嶇綉鎴愬姛
-;涓夋寜閿潰鏉垮叆缃戞搷浣滄寚绀�
-21004=闀挎寜鍥剧ず鎸夐敭5绉掍互涓婏紝鎸囩ず鐏彉缁裤�侀棯鐑亄0}杩涘叆閰嶇綉鐘舵�併�傜豢鐏揩闂�3绉掑垯閰嶇綉鎴愬姛
-;鍥涙寜閿潰鏉垮叆缃戞搷浣滄寚绀�
-21005=闀挎寜鍥剧ず鎸夐敭5绉掍互涓婏紝鎸囩ず鐏彉缁裤�侀棯鐑亄0}杩涘叆閰嶇綉鐘舵�併�傜豢鐏揩闂�3绉掑垯閰嶇綉鎴愬姛
-;Zigbee鏅鸿兘寮�鍚堝笜鐢垫満鍏ョ綉鎿嶄綔鎸囩ず
-21006=闀挎寜鍥剧ず鎸夐敭5绉掍互涓婏紝鎸囩ず鐏瘂0}鍙樼豢闂儊锛屽垯杩涘叆閰嶇綉鐘舵�亄0}缁跨伅鐔勭伃鍒欓厤缃戞垚鍔�
-;Zigbee鏅鸿兘绠$姸鐢垫満鍏ョ綉鎿嶄綔鎸囩ず
-21007=闀挎寜鍥剧ず鎸夐敭5绉掍互涓婏紝鎸囩ず鐏瘂0}鍙樼豢闂儊锛屽垯杩涘叆閰嶇綉鐘舵�亄0}缁跨伅鐔勭伃鍒欓厤缃戞垚鍔�
-;绾㈠浼犳劅鍣ㄥ叆缃戞搷浣滄寚绀�
-21008=闀挎寜鍥剧ず鎸夐敭5绉掍互涓婏紝缁胯壊蹇棯{0}杩涘叆閰嶇綉鐘舵�侊紝缁跨伅甯镐寒鍒欏叆缃戞垚鍔�
-;闂ㄧ獥浼犳劅鍣ㄥ叆缃戞搷浣滄寚绀�
-21009=闀挎寜鍥剧ず鎸夐敭5绉掍互涓婏紝缁胯壊蹇棯{0}杩涘叆閰嶇綉鐘舵�侊紝缁跨伅甯镐寒鍒欏叆缃戞垚鍔�
-;鐕冩皵浼犳劅鍣ㄥ叆缃戞搷浣滄寚绀�
-21010=闀挎寜鍥剧ず鎸夐敭5绉掍互涓婏紝缁胯壊蹇棯{0}杩涘叆閰嶇綉鐘舵�侊紝缁跨伅甯镐寒鍒欏叆缃戞垚鍔�
-;鐑熼浘浼犳劅鍣ㄥ叆缃戞搷浣滄寚绀�
-21011=闀挎寜鍥剧ず鎸夐敭5绉掍互涓婏紝缁胯壊蹇棯{0}杩涘叆閰嶇綉鐘舵�侊紝缁跨伅甯镐寒鍒欏叆缃戞垚鍔�
-;姘存蹈浼犳劅鍣ㄥ叆缃戞搷浣滄寚绀�
-21012=闀挎寜鍥剧ず鎸夐敭5绉掍互涓婏紝缁胯壊蹇棯{0}杩涘叆閰嶇綉鐘舵�侊紝缁跨伅甯镐寒鍒欏叆缃戞垚鍔�
-;绌烘皵寮�鍏冲叆缃戞搷浣滄寚绀�
-21013=鎸夐敭浠庡伐浣滄ā寮忔嫧鍒伴厤瀵规ā寮�,5绉掑悗绾㈢伅{0}鎱㈤棯鐑佹椂鎷ㄥ洖宸ヤ綔妯″紡,{0}杩涘叆閰嶇綉妯″紡,绾㈢伅甯镐寒鍒欓厤缃戞垚鍔�
-;涓户鍣ㄥ叆缃戞搷浣滄寚绀�
-21014=闀挎寜鍥剧ず鎸夐敭5绉掍互涓婏紝鎸囩ず鐏彉缁块棯鐑亄0}杩涘叆閰嶇綉鐘舵�侊紝缁跨伅鐔勭伃鍒欏叆缃戞垚鍔�
-;绌鸿皟鍏ョ綉鎿嶄綔鎸囩ず
-21015=闀挎寜缂栫▼鎸夐敭5绉�,DATA缁胯壊LED闂儊,{0}棰戠巼涓轰寒0.5绉�,鐏�0.5绉�
-;pir浼犳劅鍣ㄥ叆缃戞搷浣滄寚绀�
-21016=闀挎寜鍥剧ず鎸夐敭5绉掍互涓婏紝鎸囩ず鐏彉缁裤�亄0}闂儊杩涘叆閰嶇綉鐘舵�併�傜豢鐏唲鐏垯閰嶇綉鎴愬姛
-;娓╂箍搴︿紶鎰熷櫒鍏ョ綉鎿嶄綔鎸囩ず
-21017=闀挎寜鍥剧ず鎸夐敭5绉掍互涓婏紝淇″彿鍥炬爣{0}蹇棯锛� 杩涘叆閰嶇綉鐘舵�併�傚浘鏍囧父浜垯閰嶇綉鎴愬姛
-;鏂规偊2鎸夐敭杞昏Е寮忛潰鏉垮叆缃戞搷浣滄寚绀�
-21018=闀挎寜BUTTON1鎸夐敭5绉掞紝鎵�鏈夋寚绀虹伅{0}鍙樹负缁胯壊骞堕棯鐑侊紝杩涘叆閰嶇綉鐘舵��
-;鏂规偊4鎸夐敭杞昏Е寮忛潰鏉垮叆缃戞搷浣滄寚绀�
-21019=闀挎寜BUTTON1鎸夐敭5绉掞紝鎵�鏈夋寚绀虹伅{0}鍙樹负缁胯壊骞堕棯鐑侊紝杩涘叆閰嶇綉鐘舵��
-;鏂规偊8鎸夐敭杞昏Е寮忛潰鏉垮叆缃戞搷浣滄寚绀�
-21020=闀挎寜BUTTON1鎸夐敭5绉掞紝鎵�鏈夋寚绀虹伅{0}鍙樹负缁胯壊骞堕棯鐑侊紝杩涘叆閰嶇綉鐘舵��
-;鏂规偊鐜闈㈡澘鍏ョ綉鎿嶄綔鎸囩ず
-21021=鎸変綇闈㈡澘鍔熻兘(function)鎸夐敭锛屾墍鏈夋寜閿畕0}鎸囩ず鐏寒璧凤紝鍒欓厤缃戞垚鍔�
-;绐楀笜闈㈡澘鐨勫叆缃戞搷浣滄寚绀�
-21022=闀挎寜闈㈡澘宸︿笂瑙掓寜閿紝鎵�鏈夋寜閿畕0}鎸囩ず鐏寒璧凤紝鍒欓厤缃戞垚鍔�
-;鍚搁《鐕冩皵浼犳劅鍣ㄧ殑鍏ョ綉鎿嶄綔鎸囩ず
-21023=闀挎寜鍥剧ず鎸夐敭5绉掍互涓婏紝缁胯壊蹇棯{0}杩涘叆閰嶇綉鐘舵�侊紝缁跨伅甯镐寒鍒欏叆缃戞垚鍔�
-
-;鈽呪槄鈽呪槄涓嬮潰杩欎簺鏄ā鍧桰D鐨勫畼鏂瑰悕瀛�,浠�30000寮�濮嬧槄鈽呪槄鈽�
-30000=绱ф�ユ寜閽�
-30001=鐕冩皵浼犳劅鍣�
+;鈽呪槄鈽呪槄涓嬮潰杩欎簺鏄帴鍙g殑杩斿洖淇℃伅缈昏瘧,浠�18000寮�濮嬧槄鈽呪槄鈽�
+18004=鎸囧畾缃戝叧宸茬粡琚粦瀹�
+18005=鐢ㄦ埛涓嶅瓨鍦ㄤ簬姝や綇瀹�
+18006=璐﹀彿宸茬粡瀛樺湪浜庢浣忓畢
+18009=鎿嶄綔鏉冮檺涓嶈冻
+18010=琚粦瀹氱殑瀛愯处鍙蜂笉瀛樺湪锛岃娉ㄥ唽鍚庡啀璇�
+18011=鎿嶄綔鐨勫瓙璐﹀彿涓嶅瓨鍦�
+18012=瑙i櫎缁戝畾鐨勫瓙璐﹀彿涓嶅瓨鍦�
+18013=楠岃瘉鐮佸彂閫佸け璐�
+18015=璐﹀彿宸茬粡瀛樺湪
+18016=楠岃瘉鐮侀敊璇�
+18017=楠岃瘉鐮佸凡澶辨晥
+18018=缁戝畾鐨勮处鍙蜂笉瀛樺湪
+18019=鎸囧畾璐﹀彿宸插瓨鍦�
+18022=楠岃瘉鐮佸彂閫佸け璐�
+18024=鎸囧畾璐﹀彿涓嶅瓨鍦�
+18025=鍘熷瘑鐮佸拰鏂板瘑鐮佺浉鍚�
+18026=鍘熷瘑鐮侀敊璇�
+18034=璐﹀彿鏈敞鍐�
+18035=璇锋眰鍙傛暟閿欒
+18036=鏃犳晥鐨勭櫥褰曞瘑鍖�
+18039=褰撳墠缂栬緫鐨勪綇瀹呭悕绉板凡缁忓瓨鍦�
+18040=褰撳墠娣诲姞鐨勪綇瀹呭悕绉板凡缁忓瓨鍦�
+18041=鎸囧畾鐨勪綇瀹呬笉瀛樺湪
+18042=褰撳墠澶囦唤涓嶅睘浜庢偍褰撳墠鐨勪綇瀹�
+18043=澶囨敞鍚嶇О宸茬粡瀛樺湪,璇锋洿鎹㈠悗閲嶈瘯锛�
+18044=鎸囧畾鐨勭綉鍏矷D骞朵笉瀛樺湪
+18045=褰撳墠浣忓畢涓嬪苟娌℃湁缁戝畾鎸囧畾鐨勭綉鍏�
+18046=褰撳墠浣忓畢杩樺瓨鍦ㄧ潃鏈В闄ょ粦瀹氱殑缃戝叧
+18047=鍏变韩鏁版嵁涓嶅瓨鍦�
+18048=鍒嗕韩鐨勭洰鏍囪处鍙蜂笉瀛樺湪
+18049=鍒嗕韩鏁版嵁鎿嶄綔澶辫触
+18050=涓嶈兘鎶婅嚜宸辨坊鍔犱负鎴愬憳
+18051=涓嶈兘鎶婁富璐﹀彿娣诲姞涓烘垚鍛�
+
+
+;鈽呪槄鈽呪槄涓嬮潰杩欎簺鏄澶囩殑鍏ョ綉姝ラ,浠�21000寮�濮嬧槄鈽呪槄鈽�
+;鏅鸿兘闂ㄩ攣鍏ョ綉鎿嶄綔鎸囩ず
+21000=鍞ら啋闂ㄩ攣锛岃緭鍏モ��*鈥濄�佲��#鈥濄�佲�滅鐞嗗憳瀵嗙爜鈥漿0}鎸夎闊虫彁绀猴紝杈撳叆鈥�4鈥濋�夋嫨鍔熻兘鑿滃崟{0}杈撳叆鈥�1鈥濓紝纭璁惧鍏ョ綉
+;3璺户鐢靛櫒鍏ョ綉鎿嶄綔鎸囩ず
+21001=闀挎寜鍥剧ず鎸夐敭5绉掍互涓婏紝鎸囩ず鐏彉缁裤�侀棯鐑亄0}杩涘叆閰嶇綉鐘舵�併�傜豢鐏唲鐏垯閰嶇綉鎴愬姛
+;1璺皟鍏夊櫒灏忔ā鍧楀叆缃戞搷浣滄寚绀�
+21002=闀挎寜鍥剧ず鎸夐敭5绉掍互涓婏紝鎸囩ず鐏彉缁裤�侀棯鐑亄0}杩涘叆閰嶇綉鐘舵�併�傜豢鐏唲鐏垯閰嶇綉鎴愬姛
+;浜屾寜閿潰鏉垮叆缃戞搷浣滄寚绀�
+21003=闀挎寜鍥剧ず鎸夐敭5绉掍互涓婏紝鎸囩ず鐏彉缁裤�侀棯鐑亄0}杩涘叆閰嶇綉鐘舵�併�傜豢鐏揩闂�3绉掑垯閰嶇綉鎴愬姛
+;涓夋寜閿潰鏉垮叆缃戞搷浣滄寚绀�
+21004=闀挎寜鍥剧ず鎸夐敭5绉掍互涓婏紝鎸囩ず鐏彉缁裤�侀棯鐑亄0}杩涘叆閰嶇綉鐘舵�併�傜豢鐏揩闂�3绉掑垯閰嶇綉鎴愬姛
+;鍥涙寜閿潰鏉垮叆缃戞搷浣滄寚绀�
+21005=闀挎寜鍥剧ず鎸夐敭5绉掍互涓婏紝鎸囩ず鐏彉缁裤�侀棯鐑亄0}杩涘叆閰嶇綉鐘舵�併�傜豢鐏揩闂�3绉掑垯閰嶇綉鎴愬姛
+;Zigbee鏅鸿兘寮�鍚堝笜鐢垫満鍏ョ綉鎿嶄綔鎸囩ず
+21006=闀挎寜鍥剧ず鎸夐敭5绉掍互涓婏紝鎸囩ず鐏瘂0}鍙樼豢闂儊锛屽垯杩涘叆閰嶇綉鐘舵�亄0}缁跨伅鐔勭伃鍒欓厤缃戞垚鍔�
+;Zigbee鏅鸿兘绠$姸鐢垫満鍏ョ綉鎿嶄綔鎸囩ず
+21007=闀挎寜鍥剧ず鎸夐敭5绉掍互涓婏紝鎸囩ず鐏瘂0}鍙樼豢闂儊锛屽垯杩涘叆閰嶇綉鐘舵�亄0}缁跨伅鐔勭伃鍒欓厤缃戞垚鍔�
+;绾㈠浼犳劅鍣ㄥ叆缃戞搷浣滄寚绀�
+21008=闀挎寜鍥剧ず鎸夐敭5绉掍互涓婏紝缁胯壊蹇棯{0}杩涘叆閰嶇綉鐘舵�侊紝缁跨伅甯镐寒鍒欏叆缃戞垚鍔�
+;闂ㄧ獥浼犳劅鍣ㄥ叆缃戞搷浣滄寚绀�
+21009=闀挎寜鍥剧ず鎸夐敭5绉掍互涓婏紝缁胯壊蹇棯{0}杩涘叆閰嶇綉鐘舵�侊紝缁跨伅甯镐寒鍒欏叆缃戞垚鍔�
+;鐕冩皵浼犳劅鍣ㄥ叆缃戞搷浣滄寚绀�
+21010=闀挎寜鍥剧ず鎸夐敭5绉掍互涓婏紝缁胯壊蹇棯{0}杩涘叆閰嶇綉鐘舵�侊紝缁跨伅甯镐寒鍒欏叆缃戞垚鍔�
+;鐑熼浘浼犳劅鍣ㄥ叆缃戞搷浣滄寚绀�
+21011=闀挎寜鍥剧ず鎸夐敭5绉掍互涓婏紝缁胯壊蹇棯{0}杩涘叆閰嶇綉鐘舵�侊紝缁跨伅甯镐寒鍒欏叆缃戞垚鍔�
+;姘存蹈浼犳劅鍣ㄥ叆缃戞搷浣滄寚绀�
+21012=闀挎寜鍥剧ず鎸夐敭5绉掍互涓婏紝缁胯壊蹇棯{0}杩涘叆閰嶇綉鐘舵�侊紝缁跨伅甯镐寒鍒欏叆缃戞垚鍔�
+;绌烘皵寮�鍏冲叆缃戞搷浣滄寚绀�
+21013=鎸夐敭浠庡伐浣滄ā寮忔嫧鍒伴厤瀵规ā寮�,5绉掑悗绾㈢伅{0}鎱㈤棯鐑佹椂鎷ㄥ洖宸ヤ綔妯″紡,{0}杩涘叆閰嶇綉妯″紡,绾㈢伅甯镐寒鍒欓厤缃戞垚鍔�
+;涓户鍣ㄥ叆缃戞搷浣滄寚绀�
+21014=闀挎寜鍥剧ず鎸夐敭5绉掍互涓婏紝鎸囩ず鐏彉缁块棯鐑亄0}杩涘叆閰嶇綉鐘舵�侊紝缁跨伅鐔勭伃鍒欏叆缃戞垚鍔�
+;绌鸿皟鍏ョ綉鎿嶄綔鎸囩ず
+21015=闀挎寜缂栫▼鎸夐敭5绉�,DATA缁胯壊LED闂儊,{0}棰戠巼涓轰寒0.5绉�,鐏�0.5绉�
+;pir浼犳劅鍣ㄥ叆缃戞搷浣滄寚绀�
+21016=闀挎寜鍥剧ず鎸夐敭5绉掍互涓婏紝鎸囩ず鐏彉缁裤�亄0}闂儊杩涘叆閰嶇綉鐘舵�併�傜豢鐏唲鐏垯閰嶇綉鎴愬姛
+;娓╂箍搴︿紶鎰熷櫒鍏ョ綉鎿嶄綔鎸囩ず
+21017=闀挎寜鍥剧ず鎸夐敭5绉掍互涓婏紝淇″彿鍥炬爣{0}蹇棯锛� 杩涘叆閰嶇綉鐘舵�併�傚浘鏍囧父浜垯閰嶇綉鎴愬姛
+;鏂规偊2鎸夐敭杞昏Е寮忛潰鏉垮叆缃戞搷浣滄寚绀�
+21018=闀挎寜BUTTON1鎸夐敭5绉掞紝鎵�鏈夋寚绀虹伅{0}鍙樹负缁胯壊骞堕棯鐑侊紝杩涘叆閰嶇綉鐘舵��
+;鏂规偊4鎸夐敭杞昏Е寮忛潰鏉垮叆缃戞搷浣滄寚绀�
+21019=闀挎寜BUTTON1鎸夐敭5绉掞紝鎵�鏈夋寚绀虹伅{0}鍙樹负缁胯壊骞堕棯鐑侊紝杩涘叆閰嶇綉鐘舵��
+;鏂规偊8鎸夐敭杞昏Е寮忛潰鏉垮叆缃戞搷浣滄寚绀�
+21020=闀挎寜BUTTON1鎸夐敭5绉掞紝鎵�鏈夋寚绀虹伅{0}鍙樹负缁胯壊骞堕棯鐑侊紝杩涘叆閰嶇綉鐘舵��
+;鏂规偊鐜闈㈡澘鍏ョ綉鎿嶄綔鎸囩ず
+21021=鎸変綇闈㈡澘鍔熻兘(function)鎸夐敭锛屾墍鏈夋寜閿畕0}鎸囩ず鐏寒璧凤紝鍒欓厤缃戞垚鍔�
+;绐楀笜闈㈡澘鐨勫叆缃戞搷浣滄寚绀�
+21022=闀挎寜闈㈡澘宸︿笂瑙掓寜閿紝鎵�鏈夋寜閿畕0}鎸囩ず鐏寒璧凤紝鍒欓厤缃戞垚鍔�
+;鍚搁《鐕冩皵浼犳劅鍣ㄧ殑鍏ョ綉鎿嶄綔鎸囩ず
+21023=闀挎寜鍥剧ず鎸夐敭5绉掍互涓婏紝缁胯壊蹇棯{0}杩涘叆閰嶇綉鐘舵�侊紝缁跨伅甯镐寒鍒欏叆缃戞垚鍔�
+
+;鈽呪槄鈽呪槄涓嬮潰杩欎簺鏄ā鍧桰D鐨勫畼鏂瑰悕瀛�,浠�30000寮�濮嬧槄鈽呪槄鈽�
+30000=绱ф�ユ寜閽�
+30001=鐕冩皵浼犳劅鍣�
 30002=鐑熼浘浼犳劅鍣�
 30003=姘翠镜浼犳劅鍣�
 30004=閽ュ寵鎵�
@@ -2012,9 +2013,9 @@
 40018=鏂伴
 40019=绌烘皵璐ㄩ噺
 
-;鈽呪槄鈽呪槄涓嬮潰杩欎簺鏄ā鍧桰D鐨勮澶囬粯璁ゅ娉ㄥ悕瀛�,浠�50000寮�濮�.娉�:瀹冨苟涓嶉渶瑕佸啀R.cs鏂囦欢涓畾涔夆槄鈽呪槄鈽�
-50000=绱ф�ユ寜閽�
-50001=Zigbee鐕冩皵浼犳劅鍣�
+;鈽呪槄鈽呪槄涓嬮潰杩欎簺鏄ā鍧桰D鐨勮澶囬粯璁ゅ娉ㄥ悕瀛�,浠�50000寮�濮�.娉�:瀹冨苟涓嶉渶瑕佸啀R.cs鏂囦欢涓畾涔夆槄鈽呪槄鈽�
+50000=绱ф�ユ寜閽�
+50001=Zigbee鐕冩皵浼犳劅鍣�
 50002=Zigbee鐕冩皵浼犳劅鍣�
 50003=Zigbee姘存蹈浼犳劅鍣�
 50004=閽ュ寵鎵�
@@ -2055,7 +2056,7 @@
 50039=Zigbee鍚搁《鐕冩皵浼犳劅鍣�
 50040=PM2.5绌烘皵璐ㄩ噺浼犳劅鍣�
 
-;鈽呪槄鈽呪槄涓嬮潰杩欎簺鏄ā鍧桰D鐨勮澶囩被鍨嬪悕瀛�,浠�60000寮�濮�.娉�:瀹冨苟涓嶉渶瑕佸啀R.cs鏂囦欢涓畾涔夆槄鈽呪槄鈽�
+;鈽呪槄鈽呪槄涓嬮潰杩欎簺鏄ā鍧桰D鐨勮澶囩被鍨嬪悕瀛�,浠�60000寮�濮�.娉�:瀹冨苟涓嶉渶瑕佸啀R.cs鏂囦欢涓畾涔夆槄鈽呪槄鈽�
 60000=浼犳劅鍣�
 60001=寮�鍏虫ā鍧�
 60002=閬槼妯″潡
diff --git a/ZigbeeApp20200519/Shared/Phone/Device/Logic/SoneLogicList.cs b/ZigbeeApp20200519/Shared/Phone/Device/Logic/SoneLogicList.cs
index 60d1ac7..3278852 100644
--- a/ZigbeeApp20200519/Shared/Phone/Device/Logic/SoneLogicList.cs
+++ b/ZigbeeApp20200519/Shared/Phone/Device/Logic/SoneLogicList.cs
@@ -41,7 +41,6 @@
         public long timeLong = 0;
         public async void Show()
         {
-
             #region  鐣岄潰鐨勫竷灞�浠g爜
             UserView.HomePage.Instance.ScrollEnabled = false;//閿佷綇宸︽粦
             TopView view = new TopView();
@@ -320,7 +319,7 @@
                     }
                 };
 
-               
+
                 if (logicId != 0)
                 {
                     ///鏄剧ず澶辨晥璁剧疆鏃堕棿鏂囨湰鎺т欢
@@ -328,7 +327,7 @@
                     {
                         Y = Application.GetRealHeight(127 + 69),
                         X = Application.GetRealWidth(80),//125
-                        Width = Application.GetRealWidth(907+12),//634 + 200
+                        Width = Application.GetRealWidth(907 + 12),//634 + 200
                         Height = Application.GetRealHeight(60),
                         TextSize = 15,
                         TextColor = ZigbeeColor.Current.LogicTextBlackColor,
diff --git a/ZigbeeApp20200519/Shared/Phone/MainPage/ControlForm/DevicePmSensorDetailCardForm.cs b/ZigbeeApp20200519/Shared/Phone/MainPage/ControlForm/DevicePmSensorDetailCardForm.cs
old mode 100755
new mode 100644
index 7790e40..a8f877e
--- a/ZigbeeApp20200519/Shared/Phone/MainPage/ControlForm/DevicePmSensorDetailCardForm.cs
+++ b/ZigbeeApp20200519/Shared/Phone/MainPage/ControlForm/DevicePmSensorDetailCardForm.cs
@@ -72,7 +72,7 @@
             btnHumidityText.TextAlignment = TextAlignment.Center;
             frameHumidityPic.AddChidren(btnHumidityText);
 
-            //婀垮害鏁版嵁锛堢1涓紝listControl銆�0銆戯級
+            //婀垮害鏁版嵁 
             var btnHumidityStatus = new NormalViewControl(193, 92, true);
             btnHumidityStatus.Y = Application.GetRealHeight(181);
             btnHumidityStatus.Text = "20";
@@ -80,12 +80,11 @@
             btnHumidityStatus.TextColor = ZigbeeColor.Current.XMWhite;
             btnHumidityStatus.TextAlignment = TextAlignment.CenterRight;
             frameHumidityPic.AddChidren(btnHumidityStatus);
-            this.listControl.Add(btnHumidityStatus);
 
             //婀垮害鍗曚綅
-            var btnHumidityUnit = new NormalViewControl(37 + 81, 40, true);
+            var btnHumidityUnit = new NormalViewControl(60, 40, true);
             btnHumidityUnit.Y = Application.GetRealHeight(181 + 46);
-            btnHumidityUnit.X = Application.GetRealWidth(180);
+            btnHumidityUnit.X = btnHumidityStatus.Right;
             btnHumidityUnit.Text = "%";
             btnHumidityUnit.TextSize = 14;
             btnHumidityUnit.TextColor = ZigbeeColor.Current.XMWhite;
@@ -109,7 +108,7 @@
             btnTemperatureText.TextAlignment = TextAlignment.Center;
             frameTemperaturePic.AddChidren(btnTemperatureText);
 
-            //娓╁害鏁版嵁锛堢2涓紝listControl銆�1銆戯級
+            //娓╁害鏁版嵁
             var btnTemperatureStatus = new NormalViewControl(193, 92, true);
             btnTemperatureStatus.Y = Application.GetRealHeight(181);
             btnTemperatureStatus.Text = "20";
@@ -117,12 +116,11 @@
             btnTemperatureStatus.TextColor = ZigbeeColor.Current.XMWhite;
             btnTemperatureStatus.TextAlignment = TextAlignment.CenterRight;
             frameTemperaturePic.AddChidren(btnTemperatureStatus);
-            this.listControl.Add(btnTemperatureStatus);
 
             //娓╁害鍗曚綅
-            var btnTemperatureUnit = new NormalViewControl(40 + 81, 40, true);
+            var btnTemperatureUnit = new NormalViewControl(50, 40, true);
             btnTemperatureUnit.Y = Application.GetRealHeight(181 + 46);
-            btnTemperatureUnit.X = Application.GetRealWidth(180);
+            btnTemperatureUnit.X = btnTemperatureStatus.Right;
             btnTemperatureUnit.Text = "鈩�";
             btnTemperatureUnit.TextSize = 14;
             btnTemperatureUnit.TextColor = ZigbeeColor.Current.XMWhite;
@@ -146,7 +144,7 @@
             btnPmText.TextAlignment = TextAlignment.Center;
             framePmPic.AddChidren(btnPmText);
 
-            //PM2.5鏁版嵁锛堢3涓紝listControl銆�2銆戯級
+            //PM2.5鏁版嵁
             var btnPmStatus = new NormalViewControl(162, 92, true);
             btnPmStatus.Y = Application.GetRealHeight(181);
             btnPmStatus.Text = "155";
@@ -154,18 +152,24 @@
             btnPmStatus.TextColor = ZigbeeColor.Current.XMWhite;
             btnPmStatus.TextAlignment = TextAlignment.CenterRight;
             framePmPic.AddChidren(btnPmStatus);
-            this.listControl.Add(btnPmStatus);
 
             //PM2.5鍗曚綅  锛堢4涓紝listControl銆�3銆戯級 
-            var btnPmUnit = new NormalViewControl(120 + 26, 43, true);
+            var btnPmUnit = new NormalViewControl(144, 43, true);
             btnPmUnit.Y = Application.GetRealHeight(181 + 46);
-            btnPmUnit.X = Application.GetRealWidth(153);
+            btnPmUnit.X = btnPmStatus.Right;
             btnPmUnit.Text = "渭g/m鲁";
             btnPmUnit.TextSize = 14;
             btnPmUnit.TextColor = ZigbeeColor.Current.XMWhite;
             btnPmUnit.TextAlignment = TextAlignment.CenterLeft;
             framePmPic.AddChidren(btnPmUnit);
-            this.listControl.Add(btnPmUnit);
+
+            this.listControl.Add(btnHumidityStatus);//锛堢1涓紝listControl銆�0銆戯級
+            this.listControl.Add(btnTemperatureStatus);//锛堢2涓紝listControl銆�1銆戯級
+            this.listControl.Add(btnPmStatus);//锛堢3涓紝listControl銆�2銆戯級
+            this.listControl.Add(btnPmUnit);//锛堢4涓紝listControl銆�3銆戯級
+            this.listControl.Add(btnHumidityUnit);//锛堢5涓紝listControl銆�4銆戯級
+            this.listControl.Add(btnTemperatureUnit);//锛堢6涓紝listControl銆�5銆戯級
+
         }
         #endregion
 
@@ -244,12 +248,46 @@
         private void UpdateStatus()
         {
             //璁剧疆鐘舵�佹枃瀛�
-            this.listControl[0].Text = pMSensor.currentTemperature.ToString();
-            this.listControl[1].Text = pMSensor.currentHumidity.ToString();
+            this.listControl[0].Text = pMSensor.currentHumidity.ToString();
+            this.listControl[1].Text = pMSensor.currentTemperature.ToString();
             this.listControl[2].Text = pMSensor.currentPmData.ToString();
             //璁剧疆鐘舵�佹枃瀛�
             var curText = Language.StringByID(R.MyInternationalizationString.AirQuality) + QuailityType();
             this.SetStatuText(curText);
+
+
+            if (pMSensor.currentHumidity <= 9 && pMSensor.currentHumidity >= 0)
+            {
+                this.listControl[0].Width = Application.GetRealWidth(168);
+                this.listControl[4].X = this.listControl[0].Right;
+            }
+            else if (pMSensor.currentHumidity < 100 && pMSensor.currentHumidity >= 10)
+            {
+                this.listControl[0].Width = Application.GetRealWidth(184);
+                this.listControl[4].X = this.listControl[0].Right;
+            }
+            else
+            {
+                this.listControl[0].Width = Application.GetRealWidth(188 + 30);
+                this.listControl[4].X = this.listControl[0].Right;
+            }
+
+            if (pMSensor.currentTemperature <= 9 && pMSensor.currentTemperature >= 0)
+            {
+                this.listControl[1].Width = Application.GetRealWidth(168);
+                this.listControl[5].X = this.listControl[1].Right;
+            }
+            else if (pMSensor.currentTemperature < 100 && pMSensor.currentTemperature >= 10)
+            {
+                this.listControl[1].Width = Application.GetRealWidth(190);
+                this.listControl[5].X = this.listControl[1].Right;
+            }
+            else
+            {
+                this.listControl[1].Width = Application.GetRealWidth(188 + 30);
+                this.listControl[5].X = this.listControl[1].Right;
+            }
+
         }
 
         /// <summary>
@@ -265,60 +303,60 @@
 
                 if (pMSensor.currentPmData < 10)
                 {
-                    this.listControl[2].Width = Application.GetRealWidth(188 - 70);
-                    this.listControl[3].X = Application.GetRealWidth(180 - 70);
+                    this.listControl[2].Width = Application.GetRealWidth(125);
+                    this.listControl[3].X = this.listControl[2].Right;
                 }
                 else
                 {
-                    this.listControl[2].Width = Application.GetRealWidth(193 - 40);
-                    this.listControl[3].X = Application.GetRealWidth(137);
+                    this.listControl[2].Width = Application.GetRealWidth(145);
+                    this.listControl[3].X = this.listControl[2].Right;
                 }
             }
 
             else if (pMSensor.currentPmData <= 75 && pMSensor.currentPmData > 35)
             {
-                curQuality = Language.StringByID(R.MyInternationalizationString.ExcellentAirQuality);
-                this.listControl[2].Width = Application.GetRealWidth(193 - 40);
-                this.listControl[3].X = Application.GetRealWidth(137);
+                curQuality = Language.StringByID(R.MyInternationalizationString.GoodAirQuality);
+                this.listControl[2].Width = Application.GetRealWidth(145);
+                this.listControl[3].X = this.listControl[2].Right;
             }
             else if (pMSensor.currentPmData <= 115 && pMSensor.currentPmData > 75)
             {
-                curQuality = Language.StringByID(R.MyInternationalizationString.ExcellentAirQuality);
+                curQuality = Language.StringByID(R.MyInternationalizationString.LightPollution);
 
                 if (pMSensor.currentPmData < 100)
                 {
-                    this.listControl[2].Width = Application.GetRealWidth(193 - 40);
-                    this.listControl[3].X = Application.GetRealWidth(137);
+                    this.listControl[2].Width = Application.GetRealWidth(145);
+                    this.listControl[3].X = this.listControl[2].Right;
                 }
                 else
                 {
                     this.listControl[2].Width = Application.GetRealWidth(162);
-                    this.listControl[3].X = Application.GetRealWidth(153);
+                    this.listControl[3].X = this.listControl[2].Right;
                 }
             }
             else if (pMSensor.currentPmData <= 150 && pMSensor.currentPmData > 115)
             {
-                curQuality = Language.StringByID(R.MyInternationalizationString.ExcellentAirQuality);
+                curQuality = Language.StringByID(R.MyInternationalizationString.Moderatelyolluted);
                 this.listControl[2].Width = Application.GetRealWidth(162);
-                this.listControl[3].X = Application.GetRealWidth(153);
+                this.listControl[3].X = this.listControl[2].Right;
             }
             else if (pMSensor.currentPmData <= 250 && pMSensor.currentPmData > 150)
             {
-                curQuality = Language.StringByID(R.MyInternationalizationString.ExcellentAirQuality);
-                this.listControl[2].Width = Application.GetRealWidth(162);
-                this.listControl[3].X = Application.GetRealWidth(153);
+                curQuality = Language.StringByID(R.MyInternationalizationString.HeavyPollution);
+                this.listControl[2].Width = Application.GetRealWidth(176);
+                this.listControl[3].X = this.listControl[2].Right;
             }
             else if (pMSensor.currentPmData > 250)
             {
-                curQuality = Language.StringByID(R.MyInternationalizationString.ExcellentAirQuality);
-                this.listControl[2].Width = Application.GetRealWidth(162);
-                this.listControl[3].X = Application.GetRealWidth(153);
+                curQuality = Language.StringByID(R.MyInternationalizationString.SeriousPollution);
+                this.listControl[2].Width = Application.GetRealWidth(176);
+                this.listControl[3].X = this.listControl[2].Right;
             }
             else
             {
                 curQuality = "";
                 this.listControl[2].Width = Application.GetRealWidth(162);
-                this.listControl[3].X = Application.GetRealWidth(153);
+                this.listControl[3].X = this.listControl[2].Right;
             }
             //璁剧疆鐘舵�佹枃瀛�
             return curQuality;
diff --git a/ZigbeeApp20200519/Shared/Phone/UserCenter/CommonBase/Common/UserCenterCommon.cs b/ZigbeeApp20200519/Shared/Phone/UserCenter/CommonBase/Common/UserCenterCommon.cs
old mode 100755
new mode 100644
index a294679..85a1f1f
--- a/ZigbeeApp20200519/Shared/Phone/UserCenter/CommonBase/Common/UserCenterCommon.cs
+++ b/ZigbeeApp20200519/Shared/Phone/UserCenter/CommonBase/Common/UserCenterCommon.cs
@@ -882,7 +882,7 @@
     /// <summary>
     /// 瀹夐槻鎶ヨ淇℃伅绫�
     /// </summary>
-    public class SafeguardAlarmInfo: DeviceAlarmInfo
+    public class SafeguardAlarmInfo : DeviceAlarmInfo
     {
         /// <summary>
         /// 涓婃姤绫诲瀷
@@ -1295,7 +1295,7 @@
         /// <summary>
         /// 鑷姩鍖栧父寮�鏃堕棿鍙樻洿涓哄垎閽�,鑰屼笉鏄皬鏃� 1->寮哄埗鍙樻洿涓哄垎閽�
         /// </summary>
-        public int DoorLockNomallyOpenTimeMode = 0;
+        public int DoorLockNomallyOpenTimeMode = 1;
     }
     #endregion
 
diff --git a/ZigbeeApp20200519/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayReceiveLogic.cs b/ZigbeeApp20200519/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayReceiveLogic.cs
index 77e3daa..63c7c0b 100644
--- a/ZigbeeApp20200519/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayReceiveLogic.cs
+++ b/ZigbeeApp20200519/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayReceiveLogic.cs
@@ -2,6 +2,7 @@
 using System.Collections.Generic;
 using System.Text;
 using Newtonsoft.Json.Linq;
+using Shared.Common;
 using ZigBee.Device;
 
 namespace Shared.Phone.UserCenter
@@ -839,14 +840,21 @@
                         }
 
                         HdlThreadLogic.Current.RunThread(async () =>
-                        {
-                            var result = await Shared.Phone.Device.Logic.SkipView.Exist(3, (ZigBee.Device.DoorLock)device[0]);
-                            HdlThreadLogic.Current.RunMain(() =>
-                            {
-                                //寮瑰嚭寰愭鐨勯偅涓獥鍙�
-                                DoorLock.DoorLockCommonInfo.NomallyOpenModeInvalidDialog((ZigBee.Device.DoorLock)device[0], DoorLock.DoorLockCommonInfo.DoorLockMessType.ServicePush,
-                                    result != 0 ? true : false, ControlCommonResourse.UpdateDoorLockStatusAction);
-                            });
+                        {
+                            HdlThreadLogic.Current.RunMain(() =>
+                            {
+                                //鎻愮ず闂ㄩ攣宸茬粡澶辨晥
+                                new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.NormallyClosed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(CommonPage.Instance);
+                            });
+
+                            //鏇存柊闂ㄩ攣鐨勬繁搴︽帶鍒堕〉
+                            ControlCommonResourse.UpdateDoorLockStatusAction?.Invoke(false);
+
+                            //閫昏緫鎵ц鐨勫け鏁堣鏇存柊鐘舵��
+                            if (DoorLock.DoorLockCommonInfo.LogicAction != null)
+                            {
+                                DoorLock.DoorLockCommonInfo.LogicAction(false);
+                            }
                         });
                     }
                 }
diff --git a/ZigbeeApp20200519/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirButtonSettionForm.cs b/ZigbeeApp20200519/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirButtonSettionForm.cs
old mode 100755
new mode 100644
index 2832b5d..346a4fe
--- a/ZigbeeApp20200519/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirButtonSettionForm.cs
+++ b/ZigbeeApp20200519/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirButtonSettionForm.cs
@@ -261,7 +261,7 @@
                         }
                         if (string.IsNullOrEmpty(bDev.ESName))
                         {
-                            bindFreshAirName = device.DeviceEpointName;
+                            bindFreshAirName = Common.LocalDevice.Current.GetDeviceEpointName(device);
                         }
                         else
                         {
@@ -277,7 +277,7 @@
                         {
                             if (string.IsNullOrEmpty(bDev.ESName))
                             {
-                                bindTemperatureName = device.DeviceEpointName;
+                                bindTemperatureName = Common.LocalDevice.Current.GetDeviceEpointName(device);
                             }
                             else
                             {
@@ -289,7 +289,7 @@
                         {
                             if (string.IsNullOrEmpty(bDev.ESName))
                             {
-                                bindHumidityName = device.DeviceEpointName;
+                                bindHumidityName = Common.LocalDevice.Current.GetDeviceEpointName(device);
                             }
                             else
                             {
@@ -303,7 +303,7 @@
                     {
                         if (string.IsNullOrEmpty(bDev.ESName))
                         {
-                            bindHumidityName = device.DeviceEpointName;
+                            bindHumidityName = Common.LocalDevice.Current.GetDeviceEpointName(device);
                         }
                         else
                         {
@@ -328,7 +328,7 @@
                         {
                             if (string.IsNullOrEmpty(bDev.ESName))
                             {
-                                bindPmName = device.DeviceEpointName;
+                                bindPmName = Common.LocalDevice.Current.GetDeviceEpointName(device);
                             }
                             else
                             {
diff --git a/ZigbeeApp20200519/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirTargetsForm.cs b/ZigbeeApp20200519/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirTargetsForm.cs
old mode 100755
new mode 100644
index f0a3123..1bceb2e
--- a/ZigbeeApp20200519/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirTargetsForm.cs
+++ b/ZigbeeApp20200519/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirTargetsForm.cs
@@ -1080,7 +1080,8 @@
                                 var delDevice = DelBindDevice(bd);
                                 var delResult = new DelDeviceBindResponseAllData();
                                 delResult = HdlDeviceBindLogic.Current.DelDeviceBindAsync(delDevice);
-                                if (delResult == null || delResult.removeBindResultResponseData == null)
+
+                                if (delResult == null)
                                 {
                                     Application.RunOnMainThread(() =>
                                     {
@@ -1090,6 +1091,29 @@
                                         CommonPage.Loading.Hide();
                                     });
                                     return;
+                                }
+                                else
+                                {
+                                    if (delResult.removeBindResultResponseData == null)
+                                    {
+                                        if (delResult.delDeviceBindResponseData != null)
+                                        {
+                                            foreach (var d in delResult.delDeviceBindResponseData.RemoveBindList)
+                                            {
+                                                if (d.Result != 1)
+                                                {
+                                                    Application.RunOnMainThread(() =>
+                                                    {
+                                                        new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.BindFailed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(CommonPage.Instance);
+                                                        btnFinifh.Enable = true;
+                                                        btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack;
+                                                        CommonPage.Loading.Hide();
+                                                    });
+                                                    return;
+                                                }
+                                            }
+                                        }
+                                    }
                                 }
                                 if (delResult != null && delResult.removeBindResultResponseData != null)
                                 {
@@ -1116,7 +1140,8 @@
                                 var delDevice = DelBindDevice(curBindDevice);
                                 var delResult = new DelDeviceBindResponseAllData();
                                 delResult = HdlDeviceBindLogic.Current.DelDeviceBindAsync(delDevice);
-                                if (delResult == null || delResult.removeBindResultResponseData == null)
+
+                                if (delResult == null)
                                 {
                                     Application.RunOnMainThread(() =>
                                     {
@@ -1126,6 +1151,29 @@
                                         CommonPage.Loading.Hide();
                                     });
                                     return;
+                                }
+                                else
+                                {
+                                    if (delResult.removeBindResultResponseData == null)
+                                    {
+                                        if (delResult.delDeviceBindResponseData != null)
+                                        {
+                                            foreach (var d in delResult.delDeviceBindResponseData.RemoveBindList)
+                                            {
+                                                if (d.Result != 1)
+                                                {
+                                                    Application.RunOnMainThread(() =>
+                                                    {
+                                                        new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.BindFailed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(CommonPage.Instance);
+                                                        btnFinifh.Enable = true;
+                                                        btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack;
+                                                        CommonPage.Loading.Hide();
+                                                    });
+                                                    return;
+                                                }
+                                            }
+                                        }
+                                    }
                                 }
                                 if (delResult != null && delResult.removeBindResultResponseData != null)
                                 {
@@ -1171,7 +1219,7 @@
                             addBindInfo.BindType = 0;
                             addBindInfo.BindMacAddr = de.DeviceAddr;
                             addBindInfo.BindEpoint = de.DeviceEpoint;
-                            addBindeDev.BindName = de.DeviceEpointName;
+                            addBindeDev.BindName = Common.LocalDevice.Current.GetDeviceEpointName(de);
                             switch (curDeviceBindType)
                             {
                                 case 2:
diff --git a/ZigbeeApp20200519/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs b/ZigbeeApp20200519/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs
index 801c052..470b734 100644
--- a/ZigbeeApp20200519/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs
+++ b/ZigbeeApp20200519/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs
@@ -23,6 +23,12 @@
         /// </summary>
         public static DateTime DoorlockZoneTime = DateTime.Now;
         /// <summary>
+        /// 鎵�鏈夐棬閿佷腑鐨勫父寮�妯″紡鍊糩鐢ㄤ簬鎺ㄩ�佹煡璇紝鎻愮ず闂ㄩ攣澶辨晥锛�
+        /// keys:闂ㄩ攣mac+epoint value:鏄惁甯稿紑妯″紡
+        /// ture:甯稿紑锛� false:鍏抽棴
+        /// </summary>
+        public static Dictionary<string, bool?> DoorLockNormallyMode = new Dictionary<string, bool?> { };
+        /// <summary>
         /// 甯稿紑妯″紡鎵ц鏃堕棿
         /// </summary>
         public static int NormallyOpenModeInvalidTime = 12;
@@ -155,6 +161,14 @@
         public static void NormallyOpenModeValue(ZigBee.Device.DoorLock doorLock, bool value)
         {
             doorLock.IsDoorLockNormallyMode = value;
+            if (DoorLockCommonInfo.DoorLockNormallyMode.ContainsKey(doorLock.DeviceAddr + doorLock.DeviceEpoint))
+            {
+                DoorLockCommonInfo.DoorLockNormallyMode[doorLock.DeviceAddr + doorLock.DeviceEpoint] = value;
+            }
+            else
+            {
+                DoorLockCommonInfo.DoorLockNormallyMode.Add(doorLock.DeviceAddr + doorLock.DeviceEpoint, value);
+            }
         }
 
         /// <summary>
@@ -162,9 +176,10 @@
         /// </summary>
         /// <param name="doorLock">褰撳墠闂ㄩ攣</param>
         /// <param name="doorLockMessType">瀵艰嚧闂ㄩ攣澶辨晥鐨勬搷浣滅被鍨�</param>
-        /// <param name="haveLogic">缃戝叧涓槸鍚﹀瓨鍦ㄩ�昏緫甯稿紑妯″紡</param>
+        /// <param name="haveLogic">缃戝叧涓槸鍚﹀瓨鍦ㄩ�昏緫甯稿紑妯″紡</param> 
         /// <param name="action">鍥炶皟澶勭悊鏇存柊鍐呭</param>
-        public static async void NomallyOpenModeInvalidDialog(ZigBee.Device.DoorLock doorLock, DoorLockMessType doorLockMessType, bool haveLogic, Action<bool> action = null)
+        /// <param name="type">1:纭甯稿紑妯″紡宸茬粡寮�鍚紱0:甯稿紑妯″紡澶辨晥鎻愮ず</param>
+        public static async void NomallyOpenModeInvalidDialog(ZigBee.Device.DoorLock doorLock, DoorLockMessType doorLockMessType, bool haveLogic, Action<bool> action = null, int type = 0)
         {
             //甯稿紑妯″紡鍙兘涓讳汉鎿嶄綔
             if (UserCenterResourse.UserInfo.AuthorityNo != 1)
diff --git a/ZigbeeApp20200519/Shared/Phone/UserCenter/DoorLock/ShowDoorLockMsgControl.cs b/ZigbeeApp20200519/Shared/Phone/UserCenter/DoorLock/ShowDoorLockMsgControl.cs
old mode 100755
new mode 100644
index 3ac8d1e..2d929b9
--- a/ZigbeeApp20200519/Shared/Phone/UserCenter/DoorLock/ShowDoorLockMsgControl.cs
+++ b/ZigbeeApp20200519/Shared/Phone/UserCenter/DoorLock/ShowDoorLockMsgControl.cs
@@ -516,7 +516,7 @@
             /// <summary>
             /// 鍙栨秷甯︽湁閫昏緫鐨勫父寮�妯″紡
             /// </summary>
-            CancelNomallyOpenModeWithLogic = 5,
+            CancelNomallyOpenModeWithLogic = 5,
         }
     }
 }
diff --git a/ZigbeeApp20200519/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs b/ZigbeeApp20200519/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs
index fed1595..d5d49ec 100644
--- a/ZigbeeApp20200519/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs
+++ b/ZigbeeApp20200519/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs
@@ -705,6 +705,20 @@
                         CommonPage.Loading.Start("");
                     });
 
+                    //鏀惧湪璁惧鍚姩鐨勫湴鏂�
+                    //HdlGatewayReceiveLogic
+                    //1銆佸惎鍔ㄨ幏鍙栭棬閿佽澶囧璞★紝
+                    //2銆佸啀鑾峰彇褰撳墠闂ㄩ攣瀵硅薄鐨勫父寮�妯″紡
+                    var res = await DoorLockCommonInfo.GetNormallyOpenMode(doorLock);
+                    if (DoorLockCommonInfo.DoorLockNormallyMode.ContainsKey(doorLock.DeviceAddr + doorLock.DeviceEpoint))
+                    {
+                        DoorLockCommonInfo.DoorLockNormallyMode[doorLock.DeviceAddr + doorLock.DeviceEpoint] = res;
+                    }
+                    else
+                    {
+                        DoorLockCommonInfo.DoorLockNormallyMode.Add(doorLock.DeviceAddr + doorLock.DeviceEpoint, res);
+                    }
+
                     //鏄惁鏀寔甯稿紑
                     canOpenNormallyMode = DoorLockCommonInfo.CanNormallyOpen(doorLock);
                     if (canOpenNormallyMode)
@@ -734,18 +748,18 @@
                             }
                             DoorLockCommonInfo.NormallyOpenModeValue(doorLock, tempRes);
 
-                            //Application.RunOnMainThread(async () =>
-                            //{
-                            //var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3, doorLock);
-                            //if (resTemp == 1)
-                            //{
-                            //    haveLogicNormallyOpenMode = true;
-                            //}
-                            //else if (resTemp == 0)
-                            //{
-                            //    haveLogicNormallyOpenMode = false;
-                            //}
-                            //});
+                            Application.RunOnMainThread(async () =>
+                            {
+                                var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3, doorLock);
+                                if (resTemp == 0)
+                                {
+                                    haveLogicNormallyOpenMode = false;
+                                }
+                                else
+                                {
+                                    haveLogicNormallyOpenMode = true;
+                                }
+                            });
                         }
                     }
                     else
@@ -811,6 +825,43 @@
                         CommonPage.Loading.Hide();
                     });
                 }
+
+                //瀹氭椂妫�娴嬫椂闂村彉鍖�
+                var curDateNow = DateTime.Now;
+                var curDateDelay = DateTime.MinValue;
+                new System.Threading.Thread(async () =>
+                {
+                    while (true)
+                    {
+                        try
+                        {
+                            curDateNow = DateTime.Now;
+                            if (curDateNow > curDateDelay)
+                            {
+                                //鏅氫笂9鐐规彁绀虹敤鎴烽棬閿佹槸鍚﹁繕寮�鐫�
+                                if (DoorLockCommonInfo.DoorLockNormallyMode[doorLock.DeviceAddr + doorLock.DeviceEpoint] == true)
+                                {
+                                    if (curDateNow.Hour == 21)
+                                    {
+                                        curDateDelay = curDateNow;
+                                        curDateDelay = curDateDelay.AddHours(+1);
+                                        var result = await Shared.Phone.Device.Logic.SkipView.Exist(3, (ZigBee.Device.DoorLock)doorLock);
+                                        HdlThreadLogic.Current.RunMain(() =>
+                                        {
+                                            //寮瑰嚭寰愭鐨勯偅涓獥鍙�
+                                            DoorLock.DoorLockCommonInfo.NomallyOpenModeInvalidDialog((ZigBee.Device.DoorLock)doorLock, DoorLock.DoorLockCommonInfo.DoorLockMessType.AppOperate,
+                                             result != 0 ? true : false, ControlCommonResourse.UpdateDoorLockStatusAction);
+                                        });
+                                    }
+                                }
+                            }
+                        }
+                        catch { }
+                        System.Threading.Thread.Sleep(1000 * 60);
+                    }
+
+                })
+                { IsBackground = true }.Start();
             });
         }
 
@@ -1121,8 +1172,8 @@
                 UserView.HomePage.Instance.PageIndex += 1;
                 addLogicPage.Show();
                 addLogicPage.action += (w) =>
-                {
-                    doorLock.IsDoorLockNormallyMode = w;
+                {
+                    DoorLockCommonInfo.NormallyOpenModeValue(doorLock, w);
                     UpdateNomallyOpenStatus();
                     //杩斿洖鎸夐敭娓呯┖褰撳墠閫昏緫瀹氫箟鐨凩ogicAction
                     UserCenter.DoorLock.DoorLockCommonInfo.LogicAction = null;
diff --git a/ZigbeeApp20200519/Shared/Phone/ZigBee/Common/Application.cs b/ZigbeeApp20200519/Shared/Phone/ZigBee/Common/Application.cs
old mode 100755
new mode 100644
index 367c79d..12f4207
--- a/ZigbeeApp20200519/Shared/Phone/ZigBee/Common/Application.cs
+++ b/ZigbeeApp20200519/Shared/Phone/ZigBee/Common/Application.cs
@@ -153,8 +153,8 @@
                                     }
                                 }
                                 catch
-                                {   
-                                    //鍏抽棴Socket,涓嬫鍙戦�佷細鑷姩杩炴帴
+                                {
+                                    //鍏抽棴Socket,涓嬫鍙戦�佷細鑷姩杩炴帴
                                     FindGateWaySocket.Stop();
                                 }
                                 System.Threading.Thread.Sleep(500);
diff --git a/ZigbeeApp20200519/Shared/Phone/ZigBee/Device/DoorLock.cs b/ZigbeeApp20200519/Shared/Phone/ZigBee/Device/DoorLock.cs
old mode 100755
new mode 100644
diff --git a/ZigbeeApp20200519/Shared/R.cs b/ZigbeeApp20200519/Shared/R.cs
old mode 100755
new mode 100644
index a78715a..6f6bc6a
--- a/ZigbeeApp20200519/Shared/R.cs
+++ b/ZigbeeApp20200519/Shared/R.cs
@@ -602,7 +602,10 @@
         /// 涓ラ噸姹℃煋
         /// </summary>
         public const int SeriousPollution = 322;
-
+        /// <summary>
+        /// 闂ㄩ攣甯稿紑妯″紡宸插叧
+        /// </summary>
+        public const int NormallyClosed = 323;
 
         public readonly static int cancel = 5097;
         public readonly static int confrim = 5098;
@@ -644,7 +647,7 @@
         public readonly static int Sunrisesunset = 5134;
         public readonly static int cycle = 5135;
         public readonly static int completeNext = 5136;
-        public readonly static int Selectedtimetype= 5137;
+        public readonly static int Selectedtimetype = 5137;
         public readonly static int Timecondition = 5138;
         public readonly static int condition = 5139;
         public readonly static int pushset = 5140;
@@ -702,7 +705,7 @@
         public readonly static int addtime = 5192;
         public readonly static int selectcommontimetype = 5193;
         public readonly static int newautomation = 5194;
-        public readonly static int editautomation= 5195;
+        public readonly static int editautomation = 5195;
         public readonly static int open1 = 5196;
         public readonly static int disable = 5197;
         public readonly static int selectsavedautomationstate = 5198;
@@ -838,10 +841,10 @@
         public readonly static int logictemplate = 5358;
         public readonly static int onlight = 5359;
         public readonly static int offlight = 5360;
-        public readonly static int OnOffSwitch=5361;
+        public readonly static int OnOffSwitch = 5361;
         public readonly static int addlinkageevent = 5362;
         public readonly static int editlinkageevent = 5363;
-        public readonly static int selectunlockingmode=5364;
+        public readonly static int selectunlockingmode = 5364;
         public readonly static int lockaddaction = 5365;
         public readonly static int linkageevent = 5366;
         public readonly static int current = 5367;
@@ -866,7 +869,7 @@
         public readonly static int daySone = 5386;
         public readonly static int numberSone = 5387;
         public readonly static int openAutomationSone = 5388;
-        public readonly static int timeSetSone= 5389;
+        public readonly static int timeSetSone = 5389;
         public readonly static int invalidSetting = 5390;
         public readonly static int hour = 5391;
         public readonly static int lockOpen = 5392;
@@ -897,114 +900,114 @@
 
 
 
-		/// <summary>
-		/// 鎵嬫満鍙�
-		/// </summary>
-		public const int PhoneNum = 10100;
-		/// <summary>
-		/// 閭
-		/// </summary>
-		public const int Email = 10101;
-		/// <summary>
-		/// 璇疯緭鍏ユ墜鏈哄彿
-		/// </summary>
-		public const int PleaseInputPhoneNum = 10102;
-		/// <summary>
-		/// 璇疯緭鍏ヤ笉灏戜簬6浣嶇殑瀵嗙爜
-		/// </summary>
-		public const int PleaseInputPWD = 10103;
-		/// <summary>
-		/// 鐧诲綍
-		/// </summary>
-		public const int Login = 10104;
-		/// <summary>
-		/// 楠岃瘉鐮佺櫥褰�
-		/// </summary>
-		public const int LoginByCode = 10105;
-		/// <summary>
-		/// 娉ㄥ唽鐢ㄦ埛
-		/// </summary>
-		public const int Register = 10106;
-		/// <summary>
-		/// 璇疯緭鍏ラ偖绠�
-		/// </summary>
-		public const int PleaseInputEmail = 10107;
-		/// <summary>
-		/// 鎼滅储
-		/// </summary>
-		public const int Search = 10108;
-		/// <summary>
-		/// 瀹屾垚
-		/// </summary>
-		public const int Complete = 10109;
-		/// <summary>
-		/// 璐﹀彿鐧诲綍
-		/// </summary>
-		public const int LoginByAccountPWD = 10110;
-		/// <summary>
-		/// 鑾峰彇楠岃瘉鐮�
-		/// </summary>
-		public const int SendVerificationCode = 10111;
-		/// <summary>
-		/// 鍚庨噸鍙�
-		/// </summary>
-		public const int SendVerificationCodeAgain = 10112;
-		/// <summary>
-		/// 璇峰啀娆¤緭鍏ュ瘑鐮�
-		/// </summary>
-		public const int PleaseComfirePWD = 10113;
-		/// <summary>
-		/// 鍙戦�侀獙璇佺爜鎴愬姛锛岃娉ㄦ剰鏌ユ敹
-		/// </summary>
-		public const int SendVerificationCodeSuccess = 10114;
-		/// <summary>
-		/// 纭畾
-		/// </summary>
-		public const int Confrim = 10115;
+        /// <summary>
+        /// 鎵嬫満鍙�
+        /// </summary>
+        public const int PhoneNum = 10100;
+        /// <summary>
+        /// 閭
+        /// </summary>
+        public const int Email = 10101;
+        /// <summary>
+        /// 璇疯緭鍏ユ墜鏈哄彿
+        /// </summary>
+        public const int PleaseInputPhoneNum = 10102;
+        /// <summary>
+        /// 璇疯緭鍏ヤ笉灏戜簬6浣嶇殑瀵嗙爜
+        /// </summary>
+        public const int PleaseInputPWD = 10103;
+        /// <summary>
+        /// 鐧诲綍
+        /// </summary>
+        public const int Login = 10104;
+        /// <summary>
+        /// 楠岃瘉鐮佺櫥褰�
+        /// </summary>
+        public const int LoginByCode = 10105;
+        /// <summary>
+        /// 娉ㄥ唽鐢ㄦ埛
+        /// </summary>
+        public const int Register = 10106;
+        /// <summary>
+        /// 璇疯緭鍏ラ偖绠�
+        /// </summary>
+        public const int PleaseInputEmail = 10107;
+        /// <summary>
+        /// 鎼滅储
+        /// </summary>
+        public const int Search = 10108;
+        /// <summary>
+        /// 瀹屾垚
+        /// </summary>
+        public const int Complete = 10109;
+        /// <summary>
+        /// 璐﹀彿鐧诲綍
+        /// </summary>
+        public const int LoginByAccountPWD = 10110;
+        /// <summary>
+        /// 鑾峰彇楠岃瘉鐮�
+        /// </summary>
+        public const int SendVerificationCode = 10111;
+        /// <summary>
+        /// 鍚庨噸鍙�
+        /// </summary>
+        public const int SendVerificationCodeAgain = 10112;
+        /// <summary>
+        /// 璇峰啀娆¤緭鍏ュ瘑鐮�
+        /// </summary>
+        public const int PleaseComfirePWD = 10113;
+        /// <summary>
+        /// 鍙戦�侀獙璇佺爜鎴愬姛锛岃娉ㄦ剰鏌ユ敹
+        /// </summary>
+        public const int SendVerificationCodeSuccess = 10114;
+        /// <summary>
+        /// 纭畾
+        /// </summary>
+        public const int Confrim = 10115;
         /// <summary>
         /// 璇ョ敤鎴峰凡瀛樺湪锛屽彲鐩存帴鐧诲綍
         /// </summary>
         public const int AccountHasBeenRegistered = 10116;
-		/// <summary>
-		/// 鎻愪緵鐨勫弬鏁伴敊璇�
-		/// </summary>
-		public const int PARAMETEROREMPTY = 10117;
+        /// <summary>
+        /// 鎻愪緵鐨勫弬鏁伴敊璇�
+        /// </summary>
+        public const int PARAMETEROREMPTY = 10117;
         /// <summary>
         /// 纭瀵嗙爜涓嶄竴鑷达紝璇烽噸鏂拌緭鍏�
         /// </summary>
         public const int TwoPasswordInconsistency = 10118;
-		/// <summary>
-		/// 楠岃瘉鐮侀敊璇紝璇烽噸鏂拌緭鍏�
-		/// </summary>
-		public const int VALIDCODEANDPHONENOEQUAL = 10119;
-		/// <summary>
-		/// 璇锋眰鏈嶅姟鍣ㄥけ璐�
-		/// </summary>
-		public const int RequestServerFailed = 10120;
-		/// <summary>
-		/// 鎭枩娉ㄥ唽鎴愬姛锛�
-		/// </summary>
-		public const int RegisterSuccessTip = 10121;
-		/// <summary>
-		/// 鍗冲皢鑷姩鐧诲綍
-		/// </summary>
-		public const int WillAutoLogin = 10122;
-		/// <summary>
-		/// 蹇樿瀵嗙爜
-		/// </summary>
-		public const int ForgotPWD = 10123;
-		/// <summary>
-		/// 纭閲嶇疆
-		/// </summary>
-		public const int ComfirmReset = 10124;
-		/// <summary>
-		/// 淇敼鎴愬姛
-		/// </summary>
-		public const int ResetSuccess = 10125;
-		/// <summary>
-		/// 浣犵殑瀵嗙爜淇敼鎴愬姛锛岃閲嶆柊鐧诲綍
-		/// </summary>
-		public const int ResetScucessPleaseLogin = 10126;
+        /// <summary>
+        /// 楠岃瘉鐮侀敊璇紝璇烽噸鏂拌緭鍏�
+        /// </summary>
+        public const int VALIDCODEANDPHONENOEQUAL = 10119;
+        /// <summary>
+        /// 璇锋眰鏈嶅姟鍣ㄥけ璐�
+        /// </summary>
+        public const int RequestServerFailed = 10120;
+        /// <summary>
+        /// 鎭枩娉ㄥ唽鎴愬姛锛�
+        /// </summary>
+        public const int RegisterSuccessTip = 10121;
+        /// <summary>
+        /// 鍗冲皢鑷姩鐧诲綍
+        /// </summary>
+        public const int WillAutoLogin = 10122;
+        /// <summary>
+        /// 蹇樿瀵嗙爜
+        /// </summary>
+        public const int ForgotPWD = 10123;
+        /// <summary>
+        /// 纭閲嶇疆
+        /// </summary>
+        public const int ComfirmReset = 10124;
+        /// <summary>
+        /// 淇敼鎴愬姛
+        /// </summary>
+        public const int ResetSuccess = 10125;
+        /// <summary>
+        /// 浣犵殑瀵嗙爜淇敼鎴愬姛锛岃閲嶆柊鐧诲綍
+        /// </summary>
+        public const int ResetScucessPleaseLogin = 10126;
         /// <summary>
         /// 璇烽�夋嫨鍖哄彿
         /// </summary>
@@ -1175,112 +1178,112 @@
         /// 鍔熻兘
         /// </summary>
         public const int Function = 11000;
-		/// <summary>
-		/// 鍦烘櫙
-		/// </summary>
-		public const int Scence = 11001;
-		/// <summary>
-		/// 鑷姩鍖�
-		/// </summary>
-		public const int Automation = 11002;
+        /// <summary>
+        /// 鍦烘櫙
+        /// </summary>
+        public const int Scence = 11001;
+        /// <summary>
+        /// 鑷姩鍖�
+        /// </summary>
+        public const int Automation = 11002;
 
 
-		/// <summary>
-		/// 娌℃湁鍔熻兘 璇峰湪涓汉涓績--璁惧绠$悊澶勬坊鍔�
-		/// </summary>
-		public const int NoFunction = 11010;
-		/// <summary>
-		/// 缂栬緫
-		/// </summary>
-		public const int Edit = 11011;
+        /// <summary>
+        /// 娌℃湁鍔熻兘 璇峰湪涓汉涓績--璁惧绠$悊澶勬坊鍔�
+        /// </summary>
+        public const int NoFunction = 11010;
+        /// <summary>
+        /// 缂栬緫
+        /// </summary>
+        public const int Edit = 11011;
         /// <summary>
         /// 鍔熻兘璁剧疆
         /// </summary>
         public const int FunctionSetting = 11012;
-		/// <summary>
-		/// 淇℃伅缂栬緫
-		/// </summary>
-		public const int EditInfo = 11013;
-		/// <summary>
-		/// 鍔熻兘鍚嶇О
-		/// </summary>
-		public const int FunctionName = 11014;
-		/// <summary>
-		/// 鎵�灞炲尯鍩�
-		/// </summary>
-		public const int BelongZone = 11015;
-		/// <summary>
-		/// 鎵�灞炶澶�
-		/// </summary>
-		public const int BelongDevice = 11016;
-		/// <summary>
-		/// 鏈煡
-		/// </summary>
-		public const int UNKnown = 11017;
-		/// <summary>
-		/// 鍒嗕韩
-		/// </summary>
-		public const int Share = 11018;
-		/// <summary>
-		/// 鍒嗕韩鐨�
-		/// </summary>
-		public const int Shared = 11019;
-		/// <summary>
-		/// 閫夋嫨鍥炬爣
-		/// </summary>
-		public const int SelectIcon = 11020;
-		/// <summary>
-		/// 淇濆瓨
-		/// </summary>
-		public const int Save = 11021;
-		/// <summary>
-		/// 鎻愰啋
-		/// </summary>
-		public const int TIP = 11022;
-		/// <summary>
-		/// 鍙栨秷
-		/// </summary>
-		public const int Cancel = 11023;
-		/// <summary>
-		/// 娌℃湁鍦烘櫙{0}璇风偣鍑诲彸涓婅娣诲姞
-		/// </summary>
-		public const int NoScene = 11024;
-		/// <summary>
-		/// 璁剧疆
-		/// </summary>
-		public const int Setting = 11025;
-		/// <summary>
-		/// 寤舵椂
-		/// </summary>
-		public const int Delay = 11026;
-		/// <summary>
-		/// 纭畾鍒犻櫎鍚楋紵
-		/// </summary>
-		public const int ConfirmDelete = 11027;
-		/// <summary>
-		/// 娣诲姞鍦烘櫙
-		/// </summary>
-		public const int AddScence = 11028;
-		/// <summary>
-		/// 鍦烘櫙鍚嶇О
-		/// </summary>
-		public const int SceneName = 11029;
-		/// <summary>
-		/// 璇疯緭鍏ュ満鏅悕绉�
-		/// </summary>
-		public const int PleaseInputSceneName = 11030;
-		/// <summary>
-		/// 娣诲姞鎵ц鐩爣
-		/// </summary>
-		public const int AddScentTargetAction = 11031;
-		/// <summary>
-		/// 閫夋嫨鍖哄煙
-		/// </summary>
-		public const int SelectZone = 11032;
-		/// <summary>
-		/// 閫夋嫨鍦烘櫙鍥剧墖
-		/// </summary>
-		public const int SelectScenePic = 11033;
+        /// <summary>
+        /// 淇℃伅缂栬緫
+        /// </summary>
+        public const int EditInfo = 11013;
+        /// <summary>
+        /// 鍔熻兘鍚嶇О
+        /// </summary>
+        public const int FunctionName = 11014;
+        /// <summary>
+        /// 鎵�灞炲尯鍩�
+        /// </summary>
+        public const int BelongZone = 11015;
+        /// <summary>
+        /// 鎵�灞炶澶�
+        /// </summary>
+        public const int BelongDevice = 11016;
+        /// <summary>
+        /// 鏈煡
+        /// </summary>
+        public const int UNKnown = 11017;
+        /// <summary>
+        /// 鍒嗕韩
+        /// </summary>
+        public const int Share = 11018;
+        /// <summary>
+        /// 鍒嗕韩鐨�
+        /// </summary>
+        public const int Shared = 11019;
+        /// <summary>
+        /// 閫夋嫨鍥炬爣
+        /// </summary>
+        public const int SelectIcon = 11020;
+        /// <summary>
+        /// 淇濆瓨
+        /// </summary>
+        public const int Save = 11021;
+        /// <summary>
+        /// 鎻愰啋
+        /// </summary>
+        public const int TIP = 11022;
+        /// <summary>
+        /// 鍙栨秷
+        /// </summary>
+        public const int Cancel = 11023;
+        /// <summary>
+        /// 娌℃湁鍦烘櫙{0}璇风偣鍑诲彸涓婅娣诲姞
+        /// </summary>
+        public const int NoScene = 11024;
+        /// <summary>
+        /// 璁剧疆
+        /// </summary>
+        public const int Setting = 11025;
+        /// <summary>
+        /// 寤舵椂
+        /// </summary>
+        public const int Delay = 11026;
+        /// <summary>
+        /// 纭畾鍒犻櫎鍚楋紵
+        /// </summary>
+        public const int ConfirmDelete = 11027;
+        /// <summary>
+        /// 娣诲姞鍦烘櫙
+        /// </summary>
+        public const int AddScence = 11028;
+        /// <summary>
+        /// 鍦烘櫙鍚嶇О
+        /// </summary>
+        public const int SceneName = 11029;
+        /// <summary>
+        /// 璇疯緭鍏ュ満鏅悕绉�
+        /// </summary>
+        public const int PleaseInputSceneName = 11030;
+        /// <summary>
+        /// 娣诲姞鎵ц鐩爣
+        /// </summary>
+        public const int AddScentTargetAction = 11031;
+        /// <summary>
+        /// 閫夋嫨鍖哄煙
+        /// </summary>
+        public const int SelectZone = 11032;
+        /// <summary>
+        /// 閫夋嫨鍦烘櫙鍥剧墖
+        /// </summary>
+        public const int SelectScenePic = 11033;
         /// <summary>
         /// 纭畾瑕佺Щ闄よ鍔熻兘锛�
         /// </summary>
@@ -1396,82 +1399,82 @@
         /// </summary>
         public const int RoomList = 13100;
 
-		/// <summary>
-		/// 閫夋嫨妤煎眰
-		/// </summary>
-		public const int SelectFloor = 13101;
-		/// <summary>
-		/// 閫夋嫨浣忓畢
-		/// </summary>
-		public const int ChangeHome = 13102;
-		/// <summary>
-		/// 鏂扮敤鎴风櫥褰曪紝璇峰厛缁戝畾缃戝叧
-		/// </summary>
-		public const int NewAccountNeedBingGW = 13103;
-		/// <summary>
-		/// 娣诲姞鏅鸿兘缃戝叧
-		/// </summary>
-		public const int AddSmartGW = 13104;
-		/// <summary>
-		/// 缂栬緫鎴块棿
-		/// </summary>
-		public const int EditRoom = 13105;
-		/// <summary>
-		/// 鎴块棿鍚嶇О
-		/// </summary>
-		public const int RoomName = 13106;
-		/// <summary>
-		/// 鎵�灞炴ゼ灞�
-		/// </summary>
-		public const int BelongFloor = 13107;
-		/// <summary>
-		/// 娓╁害
-		/// </summary>
-		public const int Temperature = 13108;
-		/// <summary>
-		/// 婀垮害
-		/// </summary>
-		public const int Humidity = 13109;
-		/// <summary>
-		/// 褰撳墠
-		/// </summary>
-		public const int Current = 13110;
-		/// <summary>
-		/// 寮�
-		/// </summary>
-		public const int Open = 13111;
-		/// <summary>
-		/// 鍏抽棴
-		/// </summary>
-		public const int Close = 13112;
-		/// <summary>
-		/// 涓嶅紑鍚�
-		/// </summary>
-		public const int NotOpen = 13113;
-		/// <summary>
-		/// 绉�
-		/// </summary>
-		public const int Second = 13114;
-		/// <summary>
-		/// 鍒嗛挓
-		/// </summary>
-		public const int Minute = 13115;
-		/// <summary>
-		/// 灏忔椂
-		/// </summary>
-		public const int Hour = 13116;
-		/// <summary>
-		/// 鏈垎閰�
-		/// </summary>
-		public const int Unallocated = 13117;
-		/// <summary>
-		/// 鍏ㄩ��
-		/// </summary>
-		public const int AllSelect = 13118;
-		/// <summary>
-		/// 娣诲姞鍒�
-		/// </summary>
-		public const int AddTo = 13119;
+        /// <summary>
+        /// 閫夋嫨妤煎眰
+        /// </summary>
+        public const int SelectFloor = 13101;
+        /// <summary>
+        /// 閫夋嫨浣忓畢
+        /// </summary>
+        public const int ChangeHome = 13102;
+        /// <summary>
+        /// 鏂扮敤鎴风櫥褰曪紝璇峰厛缁戝畾缃戝叧
+        /// </summary>
+        public const int NewAccountNeedBingGW = 13103;
+        /// <summary>
+        /// 娣诲姞鏅鸿兘缃戝叧
+        /// </summary>
+        public const int AddSmartGW = 13104;
+        /// <summary>
+        /// 缂栬緫鎴块棿
+        /// </summary>
+        public const int EditRoom = 13105;
+        /// <summary>
+        /// 鎴块棿鍚嶇О
+        /// </summary>
+        public const int RoomName = 13106;
+        /// <summary>
+        /// 鎵�灞炴ゼ灞�
+        /// </summary>
+        public const int BelongFloor = 13107;
+        /// <summary>
+        /// 娓╁害
+        /// </summary>
+        public const int Temperature = 13108;
+        /// <summary>
+        /// 婀垮害
+        /// </summary>
+        public const int Humidity = 13109;
+        /// <summary>
+        /// 褰撳墠
+        /// </summary>
+        public const int Current = 13110;
+        /// <summary>
+        /// 寮�
+        /// </summary>
+        public const int Open = 13111;
+        /// <summary>
+        /// 鍏抽棴
+        /// </summary>
+        public const int Close = 13112;
+        /// <summary>
+        /// 涓嶅紑鍚�
+        /// </summary>
+        public const int NotOpen = 13113;
+        /// <summary>
+        /// 绉�
+        /// </summary>
+        public const int Second = 13114;
+        /// <summary>
+        /// 鍒嗛挓
+        /// </summary>
+        public const int Minute = 13115;
+        /// <summary>
+        /// 灏忔椂
+        /// </summary>
+        public const int Hour = 13116;
+        /// <summary>
+        /// 鏈垎閰�
+        /// </summary>
+        public const int Unallocated = 13117;
+        /// <summary>
+        /// 鍏ㄩ��
+        /// </summary>
+        public const int AllSelect = 13118;
+        /// <summary>
+        /// 娣诲姞鍒�
+        /// </summary>
+        public const int AddTo = 13119;
         /// <summary>
 		/// 璇ユ埧闂存槸鍒嗕韩杩囨潵鐨勶紝涓嶅厑璁歌繘琛岃鎿嶄綔
 		/// </summary>
@@ -1598,7 +1601,7 @@
         /// <summary>
         /// 閫夋嫨鎽嗛
         /// </summary>
-        public const int SelectSwing=13500;
+        public const int SelectSwing = 13500;
         /// <summary>
         /// 鑷姩
         /// </summary>
@@ -1654,15 +1657,15 @@
         #endregion
 
 
-        
 
 
 
 
-		/// <summary>
-		/// 瀵嗙爜闀垮害涓簕0}涓瓧绗�
-		/// </summary>
-		public const int PswLengthMsg = 15000;
+
+        /// <summary>
+        /// 瀵嗙爜闀垮害涓簕0}涓瓧绗�
+        /// </summary>
+        public const int PswLengthMsg = 15000;
         /// <summary>
         /// 1涓皬鍐欏瓧姣�
         /// </summary>
@@ -3466,7 +3469,7 @@
         /// <summary>
         /// 鍗忚皟鍣�
         /// </summary>
-        public const int uCoordinator= 15514;
+        public const int uCoordinator = 15514;
         /// <summary>
         /// 铏氭嫙椹卞姩
         /// </summary>
@@ -4958,7 +4961,7 @@
         /// <summary>
         /// 璺宠浆鍒扮Щ鍔ㄨ澶�
         /// </summary>
-        public const int uJumpToMobileDevice= 15905;
+        public const int uJumpToMobileDevice = 15905;
         /// <summary>
         /// WLAN璁剧疆杩炴帴瀹跺涵WiFi
         /// </summary>

--
Gitblit v1.8.0