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