From 490696fba6c1f1318e088c439ee81d536126581b Mon Sep 17 00:00:00 2001 From: xm <1271024303@qq.com> Date: 星期一, 18 五月 2020 10:35:26 +0800 Subject: [PATCH] 优化门锁远程问题 --- ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceAttributeLogic.cs | 54 ++ ZigbeeApp/Shared/Phone/Category/Controls/DeviceRow/DevicePmSensorRowControl.cs | 4 ZigbeeApp/Shared/Phone/MainPage/ControlForm/Base/DeviceDetailCardCommonForm.cs | 9 ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelBackLighWithSensorForm.cs | 100 +++-- ZigbeeApp/Home.Ios/Resources/Language.ini | 184 +++++---- ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirButtonSettionForm.cs | 33 + ZigbeeApp/Shared/Phone/MainPage/ControlForm/DevicePmSensorDetailCardForm.cs | 48 + ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayReceiveLogic.cs | 113 ++++- ZigbeeApp/Shared/Phone/ZigBee/Device/Enum.cs | 12 ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs | 30 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceOtherLogic.cs | 51 ++ ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs | 12 ZigbeeApp/Shared/R.cs | 193 +++++---- ZigbeeApp/Shared/Shared.projitems | 2 ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AddScenePage.cs | 1 ZigbeeApp/Shared/Phone/ZigBee/Device/CommonDevice.cs | 2 ZigbeeApp/Shared/Phone/ZigBee/Device/ZbGateway.cs | 49 +- ZigbeeApp/Shared/Common/Device.cs | 2 ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirTargetsForm.cs | 211 +++++++++-- ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs | 2 20 files changed, 770 insertions(+), 342 deletions(-) diff --git a/ZigbeeApp/Home.Ios/Resources/Language.ini b/ZigbeeApp/Home.Ios/Resources/Language.ini index 77667b9..beb2feb 100755 --- a/ZigbeeApp/Home.Ios/Resources/Language.ini +++ b/ZigbeeApp/Home.Ios/Resources/Language.ini @@ -317,6 +317,12 @@ 314=鑷姩妯″紡涓嶆敮鎸佹搷浣� 315=绌烘皵璐ㄩ噺 316=绌烘皵璐ㄩ噺浼犳劅鍣� +317=浼� +318=鑹� +319=杞诲害姹℃煋 +320=涓害姹℃煋 +321=閲嶅害姹℃煋 +322=涓ラ噸姹℃煋 5097=鍙栨秷 5098=纭畾 @@ -1847,95 +1853,95 @@ 16115=甯稿紑鑷姩鍖栨墜鍔ㄥ彇娑� 16116=娓稿浣撻獙 -;鈽呪槄鈽呪槄涓嬮潰杩欎簺鏄帴鍙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绉掍互涓婏紝鎸囩ず鐏瘂0}鍙樼豢闂儊,杩涘叆閰嶇綉鐘舵�亄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绉掍互涓婏紝鎸囩ず鐏瘂0}鍙樼豢闂儊,杩涘叆閰嶇綉鐘舵�亄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=閽ュ寵鎵� diff --git a/ZigbeeApp/Shared/Common/Device.cs b/ZigbeeApp/Shared/Common/Device.cs index 85962cc..0be27e0 100644 --- a/ZigbeeApp/Shared/Common/Device.cs +++ b/ZigbeeApp/Shared/Common/Device.cs @@ -732,7 +732,7 @@ /// <returns></returns> public bool DeviceIsCanFixedPosition(CommonDevice device) { - if (device.Type == DeviceType.DoorLock) + if (device.Type == DeviceType.DoorLock || device.Type == DeviceType.PMSensor) { //闂ㄩ攣娌℃湁瀹氫綅鍔熻兘 return false; diff --git a/ZigbeeApp/Shared/Phone/Category/Controls/DeviceRow/Base/DevicePmSensorRowControl.cs b/ZigbeeApp/Shared/Phone/Category/Controls/DeviceRow/DevicePmSensorRowControl.cs similarity index 94% rename from ZigbeeApp/Shared/Phone/Category/Controls/DeviceRow/Base/DevicePmSensorRowControl.cs rename to ZigbeeApp/Shared/Phone/Category/Controls/DeviceRow/DevicePmSensorRowControl.cs index 0adb49e..b6a2612 100644 --- a/ZigbeeApp/Shared/Phone/Category/Controls/DeviceRow/Base/DevicePmSensorRowControl.cs +++ b/ZigbeeApp/Shared/Phone/Category/Controls/DeviceRow/DevicePmSensorRowControl.cs @@ -48,8 +48,8 @@ { //妫�娴嬭兘鍚﹀彂閫佽幏鍙栫姸鎬佸懡浠� //if (this.CheckCanSendStatuComand() == true) - //{ - HdlDeviceAttributeLogic.Current.SendFreshAirStatuComand(this.device); + //{ + HdlDeviceAttributeLogic.Current.SendPmSensorComand(this.device); //} } diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs b/ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs index 14320a5..17e5641 100644 --- a/ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs +++ b/ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs @@ -49,8 +49,6 @@ { action(Send.CurrentDoorLock.IsDoorLockNormallyMode); } - //杩斿洖鎸夐敭娓呯┖ - UserCenter.DoorLock.DoorLockCommonInfo.LogicAction = null; }; var middle = new FrameLayout diff --git a/ZigbeeApp/Shared/Phone/MainPage/ControlForm/Base/DeviceDetailCardCommonForm.cs b/ZigbeeApp/Shared/Phone/MainPage/ControlForm/Base/DeviceDetailCardCommonForm.cs index acb4ba7..a118bf0 100644 --- a/ZigbeeApp/Shared/Phone/MainPage/ControlForm/Base/DeviceDetailCardCommonForm.cs +++ b/ZigbeeApp/Shared/Phone/MainPage/ControlForm/Base/DeviceDetailCardCommonForm.cs @@ -385,6 +385,15 @@ } /// <summary> + /// 璁剧疆PM2.5浼犳劅鍣ㄧ姸鎬佹枃鏈�(涓嶉渶瑕佹寚瀹氥�愬綋鍓嶄袱涓瓧銆�) + /// </summary> + /// <param name="text"></param> + public void SetPmTwoPointFiveStatuText(string text) + { + this.btnStatu.Text = text; + } + + /// <summary> /// 閲嶆柊璁剧疆璁惧鍚嶅瓧鎺т欢鍜岀姸鎬佹帶浠剁殑Y杞� /// </summary> /// <param name="i_NameY">璁惧鍚嶅瓧鎺т欢鐨刌杞�(鐪熷疄鍊�)</param> diff --git a/ZigbeeApp/Shared/Phone/MainPage/ControlForm/DevicePmSensorDetailCardForm.cs b/ZigbeeApp/Shared/Phone/MainPage/ControlForm/DevicePmSensorDetailCardForm.cs index fa8c8d1..7e3146e 100644 --- a/ZigbeeApp/Shared/Phone/MainPage/ControlForm/DevicePmSensorDetailCardForm.cs +++ b/ZigbeeApp/Shared/Phone/MainPage/ControlForm/DevicePmSensorDetailCardForm.cs @@ -44,7 +44,7 @@ this.pMSensor = (PMSensor)this.device; //鍏堟竻绌� this.listControl = new List<ButtonBase>(); - InitFreshAirControl(frameWhiteBack); + InitPmControl(frameWhiteBack); UpdateStatus(); } @@ -52,7 +52,7 @@ /// 鍒濆鍖朠M2.5浼犳劅鍣ㄦ帶浠� /// </summary> /// <param name="frameWhiteBack"></param> - private void InitFreshAirControl(FrameLayout frameWhiteBack) + private void InitPmControl(FrameLayout frameWhiteBack) { //婀垮害瀹瑰櫒 var frameHumidityPic = new FrameLayout(); @@ -85,7 +85,7 @@ //婀垮害鍗曚綅 var btnHumidityUnit = new NormalViewControl(37 + 81, 40, true); btnHumidityUnit.Y = Application.GetRealHeight(181 + 46); - btnHumidityUnit.X = Application.GetRealWidth(190); + btnHumidityUnit.X = Application.GetRealWidth(180); btnHumidityUnit.Text = "%"; btnHumidityUnit.TextSize = 14; btnHumidityUnit.TextColor = ZigbeeColor.Current.XMWhite; @@ -122,7 +122,7 @@ //娓╁害鍗曚綅 var btnTemperatureUnit = new NormalViewControl(40 + 81, 40, true); btnTemperatureUnit.Y = Application.GetRealHeight(181 + 46); - btnTemperatureUnit.X = Application.GetRealWidth(188); + btnTemperatureUnit.X = Application.GetRealWidth(180); btnTemperatureUnit.Text = "鈩�"; btnTemperatureUnit.TextSize = 14; btnTemperatureUnit.TextColor = ZigbeeColor.Current.XMWhite; @@ -147,7 +147,7 @@ framePmPic.AddChidren(btnPmText); //PM2.5鏁版嵁锛堢3涓紝listControl銆�2銆戯級 - var btnPmStatus = new NormalViewControl(109 + 40, 92, true); + var btnPmStatus = new NormalViewControl(162, 92, true); btnPmStatus.Y = Application.GetRealHeight(181); btnPmStatus.Text = "155"; btnPmStatus.TextSize = 30; @@ -157,9 +157,9 @@ this.listControl.Add(btnPmStatus); //PM2.5鍗曚綅 - var btnPmUnit = new NormalViewControl(124 + 15, 43, true); + var btnPmUnit = new NormalViewControl(120 + 26, 43, true); btnPmUnit.Y = Application.GetRealHeight(181 + 46); - btnPmUnit.X = Application.GetRealWidth(150); + btnPmUnit.X = Application.GetRealWidth(153); btnPmUnit.Text = "渭g/m鲁"; btnPmUnit.TextSize = 14; btnPmUnit.TextColor = ZigbeeColor.Current.XMWhite; @@ -247,7 +247,8 @@ this.listControl[1].Text = pMSensor.currentHumidity.ToString(); this.listControl[2].Text = pMSensor.currentPmData.ToString(); //璁剧疆鐘舵�佹枃瀛� - this.btnStatu.Text = Language.StringByID(R.MyInternationalizationString.AirQuality) + ""; + var curText = Language.StringByID(R.MyInternationalizationString.AirQuality) + QuailityType(); + this.SetStatuText(curText); } /// <summary> @@ -259,13 +260,38 @@ if (pMSensor.currentPmData <= 35 && pMSensor.currentPmData >= 0) { - + curQuality = Language.StringByID(R.MyInternationalizationString.ExcellentAirQuality); } - this.listControl[2].Text = pMSensor.currentPmData.ToString(); - + else if (pMSensor.currentPmData <= 75 && pMSensor.currentPmData > 35) + { + curQuality = Language.StringByID(R.MyInternationalizationString.ExcellentAirQuality); + } + else if (pMSensor.currentPmData <= 115 && pMSensor.currentPmData > 75) + { + curQuality = Language.StringByID(R.MyInternationalizationString.ExcellentAirQuality); + } + else if (pMSensor.currentPmData <= 150 && pMSensor.currentPmData > 115) + { + curQuality = Language.StringByID(R.MyInternationalizationString.ExcellentAirQuality); + } + else if (pMSensor.currentPmData <= 250 && pMSensor.currentPmData > 150) + { + curQuality = Language.StringByID(R.MyInternationalizationString.ExcellentAirQuality); + } + else if (pMSensor.currentPmData > 250) + { + curQuality = Language.StringByID(R.MyInternationalizationString.ExcellentAirQuality); + } + else + { + curQuality = ""; + } //璁剧疆鐘舵�佹枃瀛� return curQuality; } #endregion + + + } } diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceAttributeLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceAttributeLogic.cs old mode 100755 new mode 100644 index 2083d28..6e3c9d1 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceAttributeLogic.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceAttributeLogic.cs @@ -278,6 +278,60 @@ { { "AttriButeId", (int)AttriButeId.FanMode} } + }; + var data = new Newtonsoft.Json.Linq.JObject { { "AttriBute", attriBute } }; + jObject.Add("Data", data); + device.Gateway?.Send("GetDeviceStatus", jObject.ToString()); + } + + #endregion + + #region 鈻� PM2.5_______________________________ + /// <summary> + /// SendPmSensorComand + /// </summary> + /// <param name="device">璁惧</param> + public void SendPmSensorComand(CommonDevice device) + { + if (device == null) + { + return; + } + new System.Threading.Thread(() => + { + SendPmSensorStatuComand(device); + //璇诲彇Pm2.5浼犳劅鍣ㄧ殑娓╁害鏁版嵁 + HdlDeviceAttributeLogic.Current.SendTemperatureStatuComand(device); + //璇诲彇Pm2.5浼犳劅鍣ㄧ殑婀垮害鏁版嵁 + HdlDeviceAttributeLogic.Current.SendHumidityStatuComand(device); + System.Threading.Thread.Sleep(300); + }) + { IsBackground = true }.Start(); + } + + /// <summary> + /// SendFanStatuComand + /// </summary> + /// <param name="device">璁惧</param> + private void SendPmSensorStatuComand(CommonDevice device) + { + if (device == null) + { + return; + } + var jObject = new Newtonsoft.Json.Linq.JObject + { + { "DeviceAddr",device.DeviceAddr }, + { "Epoint", device.DeviceEpoint }, + { "Cluster_ID", (int)Cluster_ID.PmTwoPointFiveMeasurement }, + { "Command", 108 } + }; + var attriBute = new Newtonsoft.Json.Linq.JArray + { + new Newtonsoft.Json.Linq.JObject + { + { "AttriButeId", (int)AttriButeId.MeasuredValue} + } }; var data = new Newtonsoft.Json.Linq.JObject { { "AttriBute", attriBute } }; jObject.Add("Data", data); diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceOtherLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceOtherLogic.cs old mode 100755 new mode 100644 index 6fbdb9e..9ac7b9a --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceOtherLogic.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceOtherLogic.cs @@ -183,6 +183,57 @@ } return $"{wind}"; } + else if (device.Type == DeviceType.PMSensor) + { + //鍦ㄧ綉鍏虫病鏈夊洖澶嶄箣鍓�,榛樿绂荤嚎 + if (device.HadReadDeviceStatu == false) + { + return Language.StringByID(R.MyInternationalizationString.uOffLine); + } + //绌烘皵璐ㄩ噺 + string curQuality = ""; + //娓╁害 + string temperature = string.Empty; + //婀垮害 + string humidity = string.Empty; + //PM2.5 + string pm = string.Empty; + var pMSensor = device as PMSensor; + if (pMSensor.currentPmData <= 35 && pMSensor.currentPmData >= 0) + { + curQuality = Language.StringByID(R.MyInternationalizationString.ExcellentAirQuality); + } + else if (pMSensor.currentPmData <= 75 && pMSensor.currentPmData > 35) + { + curQuality = Language.StringByID(R.MyInternationalizationString.ExcellentAirQuality); + } + else if (pMSensor.currentPmData <= 115 && pMSensor.currentPmData > 75) + { + curQuality = Language.StringByID(R.MyInternationalizationString.ExcellentAirQuality); + } + else if (pMSensor.currentPmData <= 150 && pMSensor.currentPmData > 115) + { + curQuality = Language.StringByID(R.MyInternationalizationString.ExcellentAirQuality); + } + else if (pMSensor.currentPmData <= 250 && pMSensor.currentPmData > 150) + { + curQuality = Language.StringByID(R.MyInternationalizationString.ExcellentAirQuality); + } + else if (pMSensor.currentPmData > 250) + { + curQuality = Language.StringByID(R.MyInternationalizationString.ExcellentAirQuality); + } + else + { + curQuality = "--"; + } + + humidity = $"{pMSensor.currentHumidity}%"; + temperature = $"{pMSensor.currentTemperature}鈩�"; + pm = $"{pMSensor.currentPmData}渭g/m鲁"; + return $"{curQuality},{pm},{temperature},{humidity}"; + + } else if (device.Type == DeviceType.Thermostat) { //鍦ㄧ綉鍏虫病鏈夊洖澶嶄箣鍓�,榛樿绂荤嚎 diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayReceiveLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayReceiveLogic.cs old mode 100755 new mode 100644 index 0e0fbce..3f81650 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayReceiveLogic.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayReceiveLogic.cs @@ -425,24 +425,51 @@ //娓╁害 if (attData.AttributeId == (int)AttriButeId.MeasuredValue) { - if (attData.AttriButeData == 0) + decimal temperatrue = 0; + string receiptData = string.Empty; + //涓や釜涓や釜浣嶇疆鏇挎崲 + for (int i = attData.AttriButeDataHex.Length - 1; i >= 0; i = i - 2) { - ((TemperatureSensor)locadevice).Temperatrue = 0; + receiptData += attData.AttriButeDataHex[i - 1].ToString() + attData.AttriButeDataHex[i].ToString(); } - else if (attData.AttriButeData > 32767) - { - //璐熸暟(鐗规畩澶勭悊) - string strValue = (attData.AttriButeData - 65536).ToString(); - //灏忔暟鐐归渶瑕佷竴浣� - strValue = strValue.Substring(0, strValue.Length - 1); - ((TemperatureSensor)locadevice).Temperatrue = Convert.ToDecimal(strValue.Insert(strValue.Length - 1, ".")); - } - else + //鏈夌鍙�(浼氬嚭鐜拌礋鏁�) + if (attData.AttriButeDataType == 40 || attData.AttriButeDataType == 41) { //灏忔暟鐐归渶瑕佷竴浣� - string strValue = attData.AttriButeData.ToString(); + string strValue = Convert.ToInt16(receiptData, 16).ToString(); strValue = strValue.Substring(0, strValue.Length - 1); - ((TemperatureSensor)locadevice).Temperatrue = Convert.ToDecimal(strValue.Insert(strValue.Length - 1, ".")); + temperatrue = Convert.ToDecimal(strValue.Insert(strValue.Length - 1, ".")); + } + //鏃犵鍙�(涓嶄細鍑虹幇璐熸暟) + else if (attData.AttriButeDataType == 32 || attData.AttriButeDataType == 33) + { + ushort shortData = Convert.ToUInt16(receiptData, 16); + if (shortData > 32767) + { + //璐熸暟(鐗规畩澶勭悊) + string strValue = (shortData - 65536).ToString(); + //灏忔暟鐐归渶瑕佷竴浣� + strValue = strValue.Substring(0, strValue.Length - 1); + temperatrue = Convert.ToDecimal(strValue.Insert(strValue.Length - 1, ".")); + } + else + { + //灏忔暟鐐归渶瑕佷竴浣� + string strValue = shortData.ToString(); + strValue = strValue.Substring(0, strValue.Length - 1); + temperatrue = Convert.ToDecimal(strValue.Insert(strValue.Length - 1, ".")); + } + } + + //娓╁害浼犳劅鍣� + if (locadevice is TemperatureSensor) + { + ((TemperatureSensor)locadevice).Temperatrue = temperatrue; + } + //PM2.5浼犳劅鍣� + else if (locadevice is PMSensor) + { + ((PMSensor)locadevice).currentTemperature = (int)temperatrue; } //宸茬粡鎺ユ敹鍒扮姸鎬� locadevice.HadReadDeviceStatu = true; @@ -460,22 +487,66 @@ //婀垮害 if (attData.AttributeId == (int)AttriButeId.MeasuredValue) { - if (attData.AttriButeData == 0) + decimal humidity = 0; + string receiptData = string.Empty; + //涓や釜涓や釜浣嶇疆鏇挎崲 + for (int i = attData.AttriButeDataHex.Length - 1; i >= 0; i = i - 2) { - ((TemperatureSensor)locadevice).Humidity = 0; + receiptData += attData.AttriButeDataHex[i - 1].ToString() + attData.AttriButeDataHex[i].ToString(); } - else + //鏈夌鍙�(浼氬嚭鐜拌礋鏁�) + if (attData.AttriButeDataType == 40 || attData.AttriButeDataType == 41) { - //灏忔暟鐐归渶瑕佷竴浣�(婀垮害娌℃湁璐熸暟) - string strValue = attData.AttriButeData.ToString(); + //灏忔暟鐐归渶瑕佷竴浣� + string strValue = Convert.ToInt16(receiptData, 16).ToString(); strValue = strValue.Substring(0, strValue.Length - 1); - ((TemperatureSensor)locadevice).Humidity = Convert.ToDecimal(strValue.Insert(strValue.Length - 1, ".")); + humidity = Convert.ToDecimal(strValue.Insert(strValue.Length - 1, ".")); + } + //鏃犵鍙�(涓嶄細鍑虹幇璐熸暟) + else if (attData.AttriButeDataType == 32 || attData.AttriButeDataType == 33) + { + //灏忔暟鐐归渶瑕佷竴浣� 婀垮害涓嶄細鍑虹幇璐熸暟 + string strValue = Convert.ToUInt16(receiptData, 16).ToString(); + strValue = strValue.Substring(0, strValue.Length - 1); + humidity = Convert.ToDecimal(strValue.Insert(strValue.Length - 1, ".")); + } + //娓╁害浼犳劅鍣� + if (locadevice is TemperatureSensor) + { + ((TemperatureSensor)locadevice).Humidity = humidity; + } + //PM2.5浼犳劅鍣� + else if (locadevice is PMSensor) + { + ((PMSensor)locadevice).currentHumidity = (int)humidity; } } //宸茬粡鎺ユ敹鍒扮姸鎬� locadevice.HadReadDeviceStatu = true; } - } + } + #endregion + + #region 鈻� PM2.5鏁版嵁 + //PM2.5鏁版嵁 + else if (report.DeviceStatusReport.CluterID == 1066) + { + foreach (var attData in report.DeviceStatusReport.AttriBute) + { + //PM2.5 + if (attData.AttributeId == (int)AttriButeId.MeasuredValue) + { + + if (attData.AttriButeDataType == 57) + { + ((PMSensor)locadevice).currentPmData = attData.AttriButeData; + } + } + //宸茬粡鎺ユ敹鍒扮姸鎬� + locadevice.HadReadDeviceStatu = true; + } + } + #endregion } @@ -571,7 +642,7 @@ /// 璁惧鍦ㄧ嚎鐘舵�佹洿鏂板弽棣� /// </summary> /// <param name="receiveData"></param> - private void DeviceOnlineChangePush (JObject receiveData) + private void DeviceOnlineChangePush(JObject receiveData) { if (this.dicDeviceEvent.Count == 0) { diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AddScenePage.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AddScenePage.cs old mode 100755 new mode 100644 index e5976fd..5414e02 --- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AddScenePage.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AddScenePage.cs @@ -151,6 +151,7 @@ btnHorizontalScrolViewLayout = new HorizontalScrolViewLayout { X = Application.GetRealWidth(58), + BackgroundColor = 0xff00ff00, }; btnMidTopLayout.AddChidren(btnHorizontalScrolViewLayout); diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs old mode 100755 new mode 100644 index 4f40b43..e4d680a --- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs @@ -739,21 +739,27 @@ if (typeModeList == null) { //鍐嶆鍔ㄦ�佽幏鍙栨寜閿敮鎸佺殑澶х被 - CommonPage.Loading.Start(); + Application.RunOnMainThread(() => + { + CommonPage.Loading.Start(); + }); typeModeList = await GetTypeMode(); if (typeModeList == null) { Application.RunOnMainThread(() => { new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance); + CommonPage.Loading.Hide(); }); - CommonPage.Loading.Hide(); dialog.Close(); return; } else { - CommonPage.Loading.Hide(); + Application.RunOnMainThread(() => + { + CommonPage.Loading.Hide(); + }); } } diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelBackLighWithSensorForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelBackLighWithSensorForm.cs old mode 100755 new mode 100644 index 6181276..12b1007 --- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelBackLighWithSensorForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelBackLighWithSensorForm.cs @@ -349,24 +349,48 @@ btnRight.Y += this.GetPictrueRealSize(8); frameColor.ButtonClickEvent += (sender, e) => + { + PanelColor(btnColor, seekBar1, R1, G1, B1); + }; + btnColorView.ButtonClickEvent += (sender, e) => { - var form = new PanelColorSelectForm(); - form.AddForm(R1, G1, B1); - form.FinishSelectColorEvent += (Rcolor, Gcolor, Bcolor) => - { - R1 = Rcolor; - G1 = Gcolor; - B1 = Bcolor; - - this.keyColorData.CloseColorR = Convert.ToString(Rcolor, 16); - this.keyColorData.CloseColorG = Convert.ToString(Gcolor, 16); - this.keyColorData.CloseColorB = Convert.ToString(Bcolor, 16); - - btnColor.BackgroundColor = this.GetColorByRGB((byte)Rcolor, (byte)Gcolor, (byte)Bcolor); - //鍙樻洿婊戝姩鏉$殑棰滆壊 - seekBar1.ProgressBarColor = btnColor.BackgroundColor; - }; + PanelColor(btnColor, seekBar1, R1, G1, B1); + }; + btnColor.ButtonClickEvent += (sender, e) => + { + PanelColor(btnColor, seekBar1, R1, G1, B1); + }; + btnColorLine.ButtonClickEvent += (sender, e) => + { + PanelColor(btnColor, seekBar1, R1, G1, B1); + }; + btnRight.ButtonClickEvent += (sender, e) => + { + PanelColor(btnColor, seekBar1, R1, G1, B1); }; + } + + /// <summary> + /// PanelColorBefore + /// </summary> + private void PanelColor(NormalViewControl btnColor, SeekBarControl seekBar1, int R1, int G1, int B1) + { + var form = new PanelColorSelectForm(); + form.AddForm(R1, G1, B1); + form.FinishSelectColorEvent += (Rcolor, Gcolor, Bcolor) => + { + R1 = Rcolor; + G1 = Gcolor; + B1 = Bcolor; + + this.keyColorData.CloseColorR = Convert.ToString(Rcolor, 16); + this.keyColorData.CloseColorG = Convert.ToString(Gcolor, 16); + this.keyColorData.CloseColorB = Convert.ToString(Bcolor, 16); + + btnColor.BackgroundColor = this.GetColorByRGB((byte)Rcolor, (byte)Gcolor, (byte)Bcolor); + //鍙樻洿婊戝姩鏉$殑棰滆壊 + seekBar1.ProgressBarColor = btnColor.BackgroundColor; + }; } #endregion @@ -484,33 +508,33 @@ btnRight.Y = Application.GetRealHeight(5); btnRight.X = frameColor.Width - this.GetPictrueRealSize(58); frameColor.AddChidren(btnRight, ChidrenBindMode.BindEventOnly); - btnRight.Y += this.GetPictrueRealSize(8); - + btnRight.Y += this.GetPictrueRealSize(8); + frameColor.ButtonClickEvent += (sender, e) => + { + PanelColor(btnColor, seekBar1, R1, G1, B1); + }; + btnColorView.ButtonClickEvent += (sender, e) => { - var form = new PanelColorSelectForm(); - form.AddForm(R1, G1, B1); - form.FinishSelectColorEvent += (Rcolor, Gcolor, Bcolor) => - { - R1 = Rcolor; - G1 = Gcolor; - B1 = Bcolor; - - this.keyColorData.OpenColorR = Convert.ToString(Rcolor, 16); - this.keyColorData.OpenColorG = Convert.ToString(Gcolor, 16); - this.keyColorData.OpenColorB = Convert.ToString(Bcolor, 16); - - btnColor.BackgroundColor = this.GetColorByRGB((byte)Rcolor, (byte)Gcolor, (byte)Bcolor); - //鍙樻洿婊戝姩鏉$殑棰滆壊 - seekBar1.ProgressBarColor = btnColor.BackgroundColor; - }; + PanelColor(btnColor, seekBar1, R1, G1, B1); + }; + btnColor.ButtonClickEvent += (sender, e) => + { + PanelColor(btnColor, seekBar1, R1, G1, B1); + }; + btnColorLine.ButtonClickEvent += (sender, e) => + { + PanelColor(btnColor, seekBar1, R1, G1, B1); + }; + btnRight.ButtonClickEvent += (sender, e) => + { + PanelColor(btnColor, seekBar1, R1, G1, B1); }; - } - + } #endregion - + #region 鈻� 鑾峰彇鍒濆鏁版嵁_______________________ - + /// <summary> /// 鑾峰彇璁惧鍒濆鏁版嵁 /// </summary> diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirButtonSettionForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirButtonSettionForm.cs old mode 100755 new mode 100644 index 49ce8de..7182c20 --- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirButtonSettionForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirButtonSettionForm.cs @@ -53,6 +53,10 @@ /// 琚粦鐩爣鏄疨M2.5 /// </summary> private CommonDevice bindPMDev; + // <summary> + /// 鎸夐敭涓缁戝畾鐨勭洰鏍囧垪琛� + /// </summary> + public List<BindObj.BindListResponseObj> bindList = new List<BindObj.BindListResponseObj>(); #endregion @@ -204,7 +208,7 @@ rowNewWind.ButtonClickEvent += (sender, e) => { - var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.PanelFangyueFreshAirTargetsForm(this.deviceObj, bindFreshAirDev, 1); + var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.PanelFangyueFreshAirTargetsForm(this.deviceObj, bindFreshAirDev, bindList, 1); Shared.Phone.UserView.HomePage.Instance.AddChidren(addDevicePage); Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; addDevicePage.Show(); @@ -241,9 +245,9 @@ var panelBindListRes = await curControlDev.GetDeviceBindAsync(); if (panelBindListRes != null && panelBindListRes.getAllBindResponseData != null) { - foreach (var bDev in panelBindListRes.getAllBindResponseData.BindList) + bindList = panelBindListRes.getAllBindResponseData.BindList; + foreach (var bDev in bindList) { - curControlDev.bindList.Add(bDev); var device = Common.LocalDevice.Current.GetDevice(bDev.BindMacAddr, bDev.BindEpoint); if (device.Type == DeviceType.FreshAir) @@ -279,8 +283,21 @@ } if (device.Type == DeviceType.PMSensor) { - bindPmName = device.DeviceEpointName; - bindPMDev = device; + if (bDev.BindCluster == 1026) + { + bindTemperatureName = device.DeviceEpointName; + bindTemperatureDev = device; + } + if (bDev.BindCluster == 1029) + { + bindHumidityName = device.DeviceEpointName; + bindHumidityDev = device; + } + if (bDev.BindCluster == 1066) + { + bindPmName = device.DeviceEpointName; + bindPMDev = device; + } } } result = true; @@ -310,7 +327,7 @@ var btnPMStatu = rowPM.AddMostRightView(msg, 700); rowPM.ButtonClickEvent += (sender, e) => { - var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.PanelFangyueFreshAirTargetsForm(this.deviceObj, bindPMDev, 4); + var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.PanelFangyueFreshAirTargetsForm(this.deviceObj, bindPMDev, bindList, 4); Shared.Phone.UserView.HomePage.Instance.AddChidren(addDevicePage); Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; addDevicePage.Show(); @@ -355,7 +372,7 @@ var btnTemperatureStatu = rowTemPerature.AddMostRightView(msg, 700); rowTemPerature.ButtonClickEvent += (sender, e) => { - var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.PanelFangyueFreshAirTargetsForm(this.deviceObj, bindTemperatureDev, 2); + var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.PanelFangyueFreshAirTargetsForm(this.deviceObj, bindTemperatureDev, bindList, 2); Shared.Phone.UserView.HomePage.Instance.AddChidren(addDevicePage); Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; addDevicePage.Show(); @@ -400,7 +417,7 @@ var btnHumidityStatu = rowHumidity.AddMostRightView(msg, 700); rowHumidity.ButtonClickEvent += (sender, e) => { - var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.PanelFangyueFreshAirTargetsForm(this.deviceObj, bindHumidityDev, 3); + var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.PanelFangyueFreshAirTargetsForm(this.deviceObj, bindHumidityDev, bindList, 3); Shared.Phone.UserView.HomePage.Instance.AddChidren(addDevicePage); Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; addDevicePage.Show(); diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirTargetsForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirTargetsForm.cs index b05bee2..9a571e4 100644 --- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirTargetsForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirTargetsForm.cs @@ -18,11 +18,16 @@ /// <param name="device"></param> /// <param name="deviceBindType">1:鏂伴;2:娓╁害浼犳劅鍣�;3:婀垮害浼犳劅鍣�;4:PM2.5浼犳劅鍣�</param> /// <param name="bindDev">缁戝畾鐩爣 </param> - public PanelFangyueFreshAirTargetsForm(CommonDevice device, CommonDevice bindDev, int deviceBindType) + public PanelFangyueFreshAirTargetsForm(CommonDevice device, CommonDevice bindDev, List<BindListResponseObj> bindList, int deviceBindType) { this.curControlDev = device as FreshAir; this.curBindDevice = bindDev; this.curDeviceBindType = deviceBindType; + curControlDev.bindList = bindList; + if (bindList.Count == 0) + { + canReadBindList = true; + } } #endregion @@ -106,7 +111,7 @@ /// <summary> /// 鏄惁鑳界偣鍑讳繚瀛樻寜閽� /// </summary> - private bool canSave = true; + private bool canReadBindList = false; #endregion #region UI璁捐 @@ -475,12 +480,20 @@ break; case 2: devicePic.UnSelectedImagePath = "Device/SensorTemperature.png"; + if (device.Type == DeviceType.PMSensor) + { + btnBindName.Text = Common.LocalDevice.Current.GetDeviceEpointName(device) + "-" + Language.StringByID(R.MyInternationalizationString.TemperatureSensor); + } break; case 3: devicePic.UnSelectedImagePath = "Device/SensorHumidity.png"; + if (device.Type == DeviceType.PMSensor) + { + btnBindName.Text = Common.LocalDevice.Current.GetDeviceEpointName(device) + "-" + Language.StringByID(R.MyInternationalizationString.HumiditySensor); + } break; case 4: - devicePic.UnSelectedImagePath = "Device/FreshAirEpoint.png"; + devicePic.UnSelectedImagePath = "Device/AirQualitySensorEpoint.png"; break; } #endregion @@ -710,35 +723,39 @@ currentPanelSupportBindDeviceList = GetAllRoomSupportDeviceList(); //鑾峰彇闈㈡澘涓瓨鍦ㄧ殑缁戝畾鐩爣 - var panelBindListRes = await this.curControlDev.GetDeviceBindAsync(); - if (panelBindListRes != null && panelBindListRes.getAllBindResponseData != null) + if (canReadBindList) { - curControlDev.bindList.Clear(); - foreach (var bDev in panelBindListRes.getAllBindResponseData.BindList) + var panelBindListRes = await this.curControlDev.GetDeviceBindAsync(); + if (panelBindListRes != null && panelBindListRes.getAllBindResponseData != null) { - curControlDev.bindList.Add(bDev); + curControlDev.bindList.Clear(); + foreach (var bDev in panelBindListRes.getAllBindResponseData.BindList) + { + curControlDev.bindList.Add(bDev); + } + } + else + { + Application.RunOnMainThread(() => + { + CommonPage.Loading.Hide(); + midVerticalScrolViewLayout.EndHeaderRefreshing(); + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance); + }); } } - else - { - Application.RunOnMainThread(() => - { - CommonPage.Loading.Hide(); - midVerticalScrolViewLayout.EndHeaderRefreshing(); - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance); - }); - } + targetList.Clear(); //閫変腑鐩爣鍒楄〃 targetList if (currentPanelSupportBindDeviceList.Count != 0 && curControlDev.bindList.Count != 0) { - foreach (var bindDev in currentPanelSupportBindDeviceList) + foreach (var bindDev in curControlDev.bindList) { - var mainKey = bindDev.DeviceAddr + bindDev.DeviceEpoint; - var dev = curControlDev.bindList.Find(obj => (obj != null) && (obj.BindMacAddr + obj.BindEpoint == mainKey)); + var mainKey = bindDev.BindMacAddr + bindDev.BindEpoint; + var dev = currentPanelSupportBindDeviceList.Find(obj => (obj != null) && (obj.DeviceAddr + obj.DeviceEpoint == mainKey)); if (dev != null) { - var device = LocalDevice.Current.GetDevice(bindDev.DeviceAddr, bindDev.DeviceEpoint); + var device = LocalDevice.Current.GetDevice(dev.DeviceAddr, dev.DeviceEpoint); if (device != null) { switch (curDeviceBindType) @@ -767,6 +784,14 @@ oldTargetList.Add(device); } } + if (device.Type == DeviceType.PMSensor) + { + if (bindDev.BindCluster == 1026) + { + targetList.Add(device); + oldTargetList.Add(device); + } + } break; case 3: if (device.Type == DeviceType.TemperatureSensor) @@ -783,13 +808,24 @@ targetList.Add(device); oldTargetList.Add(device); } + if (device.Type == DeviceType.PMSensor) + { + if (bindDev.BindCluster == 1029) + { + targetList.Add(device); + oldTargetList.Add(device); + } + } break; case 4: //PM2.5 if (device.Type == DeviceType.PMSensor) { - targetList.Add(device); - oldTargetList.Add(device); + if (bindDev.BindCluster == 1066) + { + targetList.Add(device); + oldTargetList.Add(device); + } } break; } @@ -954,6 +990,12 @@ btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack; this.RemoveFromParent(); }); + var mainKey = delDevice.DeviceAddr + delDevice.Epoint; + var dev1 = curControlDev.bindList.Find(obj => (obj != null) && (obj.BindMacAddr + obj.BindEpoint == mainKey)); + if (dev1 != null) + { + curControlDev.bindList.Remove(dev1); + } } else { @@ -966,6 +1008,17 @@ }); return; } + } + else + { + Application.RunOnMainThread(() => + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.OperrateFailed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(CommonPage.Instance); + btnFinifh.Enable = true; + btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack; + CommonPage.Loading.Hide(); + }); + return; } } } @@ -1030,6 +1083,17 @@ var delDevice = DelBindDevice(bd); var delResult = new DelDeviceBindResponseAllData(); delResult = await curControlDev.DelDeviceBindAsync(delDevice); + if (delResult == null || delResult.removeBindResultResponseData == null) + { + 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) { if (delResult.removeBindResultResponseData.Result != 0) @@ -1044,6 +1108,12 @@ return; } } + var mainKey = delDevice.DeviceAddr + delDevice.Epoint; + var dev2 = curControlDev.bindList.Find(obj => (obj != null) && (obj.BindMacAddr + obj.BindEpoint == mainKey)); + if (dev2 != null) + { + curControlDev.bindList.Remove(dev2); + } } } else @@ -1055,6 +1125,17 @@ var delDevice = DelBindDevice(curBindDevice); var delResult = new DelDeviceBindResponseAllData(); delResult = await curControlDev.DelDeviceBindAsync(delDevice); + if (delResult == null || delResult.removeBindResultResponseData == null) + { + 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) { if (delResult.removeBindResultResponseData.Result != 0) @@ -1068,6 +1149,12 @@ }); return; } + } + var mainKey = delDevice.DeviceAddr + delDevice.Epoint; + var dev3 = curControlDev.bindList.Find(obj => (obj != null) && (obj.BindMacAddr + obj.BindEpoint == mainKey)); + if (dev3 != null) + { + curControlDev.bindList.Remove(dev3); } } } @@ -1100,7 +1187,23 @@ addBindInfo.BindMacAddr = de.DeviceAddr; addBindInfo.BindEpoint = de.DeviceEpoint; addBindeDev.BindList.Add(addBindInfo); - bindName = de.DeviceEpointName; + addBindeDev.BindName = de.DeviceEpointName; + + switch (curDeviceBindType) + { + case 2: + if (de.Type == DeviceType.PMSensor) + { + addBindeDev.BindName = Common.LocalDevice.Current.GetDeviceEpointName(de) + "-" + Language.StringByID(R.MyInternationalizationString.TemperatureSensor); + } + break; + case 3: + if (de.Type == DeviceType.PMSensor) + { + addBindeDev.BindName = Common.LocalDevice.Current.GetDeviceEpointName(de) + "-" + Language.StringByID(R.MyInternationalizationString.HumiditySensor); + } + break; + } } var dev = new AddedDeviceBindResponseAllData(); @@ -1120,33 +1223,31 @@ { if (dev.addedDeviceBindResponseData.Result == 0) { - curControlDev.bindList = dev.addedDeviceBindResponseData.BindList; targetList.Clear(); - switch (curDeviceBindType) { case 1: if (actionFreshAirTarget != null) { - actionFreshAirTarget(bindName); + actionFreshAirTarget(addBindeDev.BindName); } break; case 2: if (actionTemperatureTarget != null) { - actionTemperatureTarget(bindName); + actionTemperatureTarget(addBindeDev.BindName); } break; case 3: if (actionHumidityTarget != null) { - actionHumidityTarget(bindName); + actionHumidityTarget(addBindeDev.BindName); } break; case 4: if (actionPMTarget != null) { - actionPMTarget(bindName); + actionPMTarget(addBindeDev.BindName); } break; } @@ -1158,6 +1259,13 @@ btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack; this.RemoveFromParent(); }); + + var mainKey = addBindeDev.DeviceAddr + addBindeDev.Epoint; + var dev4 = curControlDev.bindList.Find(obj => (obj != null) && (obj.BindMacAddr + obj.BindEpoint == mainKey)); + if (dev4 != null) + { + curControlDev.bindList.Add(dev4); + } } else if (dev.addedDeviceBindResponseData.Result == 1) { @@ -1281,6 +1389,7 @@ break; case 4: //PM2.5 + removeDevice.BindCluster = 1066; break; } removeDevice.BindMacAddr = bd.DeviceAddr; @@ -1402,19 +1511,30 @@ foreach (var de in room.ListDevice) { var device = LocalDevice.Current.GetDevice(de); - //鐢垫睜璁惧涓嶆敮鎸佺粦瀹� - if (device.ZigbeeType != 1) - { - continue; - } if (device != null) { + //鐢垫睜璁惧涓嶆敮鎸佺粦瀹� + if (device.ZigbeeType != 1) + { + continue; + } if (device.Type == DeviceType.TemperatureSensor) { var dev = device as TemperatureSensor; if (dev.SensorDiv == 1) { roomIncludeMatchTempDevice.Add(device); + } + } + else if (device.Type == DeviceType.PMSensor) + { + var dev = device as PMSensor; + foreach (var clu in dev.InClusterList) + { + if (clu.InCluster == 1026) + { + roomIncludeMatchTempDevice.Add(device); + } } } } @@ -1432,13 +1552,13 @@ foreach (var de in room.ListDevice) { var device = LocalDevice.Current.GetDevice(de); - //鐢垫睜璁惧涓嶆敮鎸佺粦瀹� - if (device.ZigbeeType != 1) - { - continue; - } if (device != null) { + //鐢垫睜璁惧涓嶆敮鎸佺粦瀹� + if (device.ZigbeeType != 1) + { + continue; + } if (device.Type == DeviceType.TemperatureSensor) { var dev = device as TemperatureSensor; @@ -1447,6 +1567,17 @@ roomIncludeMatchHumpDevice.Add(device); } } + else if (device.Type == DeviceType.PMSensor) + { + var dev = device as PMSensor; + foreach (var clu in dev.InClusterList) + { + if (clu.InCluster == 1029) + { + roomIncludeMatchHumpDevice.Add(device); + } + } + } } } return roomIncludeMatchHumpDevice; diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs index 17af4c2..78b98e7 100644 --- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs @@ -615,10 +615,6 @@ { if (canOpenNormallyMode) { - //Application.RunOnMainThread(() => - //{ - // NomallyOpenModeInvalidDialog(true); - //}); Application.RunOnMainThread(() => { Action<bool> action = (obj) => @@ -864,10 +860,14 @@ if (doorLock.IsDoorLockNormallyMode) { if (canOpenNormallyMode) - { + { Application.RunOnMainThread(() => { - NomallyOpenModeInvalidDialog(); + Action<bool> action = (obj) => + { + UpdateNomallyOpenStatus(); + }; + DoorLockCommonInfo.NomallyOpenModeInvalidDialog(doorLock, DoorLockCommonInfo.DoorLockMessType.AppOperate, haveLogicNormallyOpenMode, action); }); } else @@ -897,7 +897,11 @@ { Application.RunOnMainThread(() => { - NomallyOpenModeInvalidDialog(); + Action<bool> action = (obj) => + { + UpdateNomallyOpenStatus(); + }; + DoorLockCommonInfo.NomallyOpenModeInvalidDialog(doorLock, DoorLockCommonInfo.DoorLockMessType.AppOperate, haveLogicNormallyOpenMode, action); }); } } @@ -1047,7 +1051,6 @@ /// </summary> private async void NomallyOpenDialog() { - #region 鍚庣画鐗堟湰 if (UserCenterResourse.UserInfo.AuthorityNo != 1) { this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.OnlyMasterOperate)); @@ -1082,19 +1085,20 @@ addLogicPage.Show(); addLogicPage.action += (w) => { - doorLock.IsDoorLockNormallyMode = w; - ///鐣欑粰寰愭鐢ㄧ殑 - UpdateNomallyOpenStatus(); + doorLock.IsDoorLockNormallyMode = w; + UpdateNomallyOpenStatus(); + //杩斿洖鎸夐敭娓呯┖褰撳墠閫昏緫瀹氫箟鐨凩ogicAction + UserCenter.DoorLock.DoorLockCommonInfo.LogicAction = null; }; }; HdlCheckLogic.Current.CheckSecondarySecurity(action); - #endregion + } /// <summary> /// 甯稿紑妯″紡澶辨晥澶勭悊 /// </summary> - public void NomallyOpenModeInvalidDialog(bool IsFromReport = false) + private void NomallyOpenModeInvalidDialog(bool IsFromReport = false) { if (!canShowDialog) { diff --git a/ZigbeeApp/Shared/Phone/ZigBee/Device/CommonDevice.cs b/ZigbeeApp/Shared/Phone/ZigBee/Device/CommonDevice.cs index c46b85d..9e2afc2 100644 --- a/ZigbeeApp/Shared/Phone/ZigBee/Device/CommonDevice.cs +++ b/ZigbeeApp/Shared/Phone/ZigBee/Device/CommonDevice.cs @@ -472,6 +472,8 @@ /// 娓╁害娴嬮噺鍔熻兘鐨勮澶囧锛氭俯搴︿紶鎰熷櫒銆傘�傘�� /// <para>1029:Relative Humidity Measurement,璁惧鏀寔鈥滄箍搴︽祴閲忓姛鑳解��</para> /// 婀垮害娴嬮噺鍔熻兘鐨勮澶囧锛氭箍搴︿紶鎰熷櫒銆傘�傘�� + /// <para>1066:Pm2.5 Measurement,璁惧鏀寔鈥減m2.5娴嬮噺鍔熻兘鈥�</para> + /// Pm2.5娴嬮噺鍔熻兘鐨勮澶囧锛歅m2.5浼犳劅鍣ㄣ�傘�傘�� /// </summary> public int InCluster; } diff --git a/ZigbeeApp/Shared/Phone/ZigBee/Device/Enum.cs b/ZigbeeApp/Shared/Phone/ZigBee/Device/Enum.cs old mode 100755 new mode 100644 index 7943391..13f1e4e --- a/ZigbeeApp/Shared/Phone/ZigBee/Device/Enum.cs +++ b/ZigbeeApp/Shared/Phone/ZigBee/Device/Enum.cs @@ -50,6 +50,10 @@ /// </summary> RelativeHumidityMeasurement = 1029, /// <summary> + ///PM2.5娴嬮噺鍔熻兘 + /// </summary> + PmTwoPointFiveMeasurement = 1066, + /// <summary> /// 鎭掓俯鍣ㄥ姛鑳� /// </summary> Thermostat = 513, @@ -164,7 +168,7 @@ ///鐏叿绉嶇被 /// </summary> ColorCapabilities = 16394, - + #region 绐楀笜 /// <summary> ///绐楀笜璁惧绫诲瀷 @@ -322,12 +326,12 @@ AddLogic = 2000, ReviseAttribute = 2001, GetLogicInfo = 2002, - GetLogicList= 2004, + GetLogicList = 2004, LogicChangeCondition = 2005, LogicSetConditionData = 2006, LogicChangeAction = 2007, LogicDelAction = 2008, - DelLogic= 2009, + DelLogic = 2009, /// <summary> /// 鎺ㄨ繜瀹氭椂 /// </summary> @@ -345,5 +349,5 @@ SceneGetNewId = 800, SceneAddMember = 810, } - + } diff --git a/ZigbeeApp/Shared/Phone/ZigBee/Device/ZbGateway.cs b/ZigbeeApp/Shared/Phone/ZigBee/Device/ZbGateway.cs old mode 100755 new mode 100644 index 64b9859..7c8edec --- a/ZigbeeApp/Shared/Phone/ZigBee/Device/ZbGateway.cs +++ b/ZigbeeApp/Shared/Phone/ZigBee/Device/ZbGateway.cs @@ -2758,8 +2758,8 @@ .WithTcpServer(domain, int.Parse(port)) .WithCredentials(connEmqUserName, connEmqPwd) .WithKeepAlivePeriod(TimeSpan.FromSeconds(20)) - .WithCleanSession() - //.WithCommunicationTimeout(TimeSpan.FromSeconds(10)) + .WithCleanSession() + //.WithCommunicationTimeout(TimeSpan.FromSeconds(10)) .Build(); await DisConnectRemoteMqttClient("StartRemoteMqtt"); await RemoteMqttClient.ConnectAsync(options, CancellationToken.None); @@ -3184,9 +3184,23 @@ { jobject = Newtonsoft.Json.Linq.JObject.Parse(message); } + + #region 璁惧鐘舵�佷笂鎶ャ�愬鎬紝涓轰粈涔堟斁鍦ㄥ師鏉ョ殑浣嶇疆浼氫笉鎵ц杩欏潡浠g爜銆嬶紵锛燂紵銆� + if (topic == gatewayID + "/" + "DeviceStatusReport" + "/" + addr + "/" + epoint + "/" + cluID + "/" + attrId) + { + var deviceID = jobject.Value<int>("Device_ID"); + var deviceAddr = jobject.Value<string>("DeviceAddr"); + var tempEpoint = jobject.Value<int>("Epoint"); + var dataId = jobject.Value<int>("Data_ID"); + + var tempDevice = new CommonDevice { DeviceID = deviceID, DeviceAddr = deviceAddr, DeviceEpoint = tempEpoint }; + tempDevice.DeviceStatusReport = Newtonsoft.Json.JsonConvert.DeserializeObject<CommonDevice.DeviceStatusReportData>(jobject["Data"].ToString()); + UpdateDeviceInfo(tempDevice, "DeviceStatusReport"); + } + #endregion #region 杩滅▼,涓荤綉鍏充笂鎶ラ�氱煡 - if (IsRemote) + else if (IsRemote) { if (topic == gatewayID + "/" + "BeMainGw_Report") { @@ -3208,27 +3222,12 @@ } } } - #endregion #region 璁惧鍦ㄧ嚎鐘舵�佹洿鏂板弽棣� //2020.05.11 鍒犻櫎 - #endregion - - #region 璁惧鐘舵�佷笂鎶� - else if (topic == gatewayID + "/" + "DeviceStatusReport" + "/" + addr + "/" + epoint + "/" + cluID + "/" + attrId) - { - var deviceID = jobject.Value<int>("Device_ID"); - var deviceAddr = jobject.Value<string>("DeviceAddr"); - var tempEpoint = jobject.Value<int>("Epoint"); - var dataId = jobject.Value<int>("Data_ID"); - - var tempDevice = new CommonDevice { DeviceID = deviceID, DeviceAddr = deviceAddr, DeviceEpoint = tempEpoint }; - tempDevice.DeviceStatusReport = Newtonsoft.Json.JsonConvert.DeserializeObject<CommonDevice.DeviceStatusReportData>(jobject["Data"].ToString()); - UpdateDeviceInfo(tempDevice, "DeviceStatusReport"); - } #endregion #region 闂ㄩ攣鎿嶄綔浜嬩欢閫氱煡 else if (topic == gatewayID + "/" + "DoorLock/DoorLockOperatingEventNotificationCommand") @@ -3511,13 +3510,13 @@ public static void DebugPrintLog(string msg, bool flage = true) { #if DEBUG - if (flage == true) - { - if (msg.Contains("DeviceStatusReport") == false) - { - System.Console.WriteLine(msg + " " + System.DateTime.Now.ToLongTimeString() + " " + System.DateTime.Now.Millisecond); - } - } + //if (flage == true) + //{ + //if (msg.Contains("DeviceStatusReport") == false) + //{ + System.Console.WriteLine(msg + " " + System.DateTime.Now.ToLongTimeString() + " " + System.DateTime.Now.Millisecond); + // } + // } #endif } diff --git a/ZigbeeApp/Shared/R.cs b/ZigbeeApp/Shared/R.cs index ade9d1f..8d52dc1 100644 --- a/ZigbeeApp/Shared/R.cs +++ b/ZigbeeApp/Shared/R.cs @@ -578,6 +578,31 @@ /// 绌烘皵璐ㄩ噺浼犳劅鍣� /// </summary> public const int AirQualitySensor = 316; + /// <summary> + /// 浼� + /// </summary> + public const int ExcellentAirQuality = 317; + /// <summary> + /// 鑹� + /// </summary> + public const int GoodAirQuality = 318; + /// <summary> + /// 杞诲害姹℃煋 + /// </summary> + public const int LightPollution = 319; + /// <summary> + /// 涓害姹℃煋 + /// </summary> + public const int Moderatelyolluted = 320; + /// <summary> + /// 閲嶅害姹℃煋 + /// </summary> + public const int HeavyPollution = 321; + /// <summary> + /// 涓ラ噸姹℃煋 + /// </summary> + public const int SeriousPollution = 322; + public readonly static int cancel = 5097; public readonly static int confrim = 5098; @@ -1171,90 +1196,90 @@ /// 鍔熻兘璁剧疆 /// </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> diff --git a/ZigbeeApp/Shared/Shared.projitems b/ZigbeeApp/Shared/Shared.projitems index d9db6b9..d52c277 100644 --- a/ZigbeeApp/Shared/Shared.projitems +++ b/ZigbeeApp/Shared/Shared.projitems @@ -476,8 +476,8 @@ <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Device\ZbGatewayData.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Logic\HdlSafeguardLogic.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Logic\HdlAlarmsLogic.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\Category\Controls\DeviceRow\Base\DevicePmSensorRowControl.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\MainPage\ControlForm\DevicePmSensorDetailCardForm.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\Category\Controls\DeviceRow\DevicePmSensorRowControl.cs" /> </ItemGroup> <ItemGroup> <Folder Include="$(MSBuildThisFileDirectory)Phone\CommonForm\" /> -- Gitblit v1.8.0