From dc8967247d149e9b0d1f8e75829928db0ea1fe13 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期日, 06 六月 2021 16:42:36 +0800
Subject: [PATCH] Merge branch 'WJC' into temp-wxr

---
 HDL-ON_Android/Properties/AndroidManifest.xml                     |    2 
 HDL_ON/UI/UI2/FuntionControlView/Video/VideoMainView.cs           |   20 +
 HDL-ON_Android/Assets/Language.ini                                |  183 ++++--------------
 HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs    |   32 +++
 HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs |   44 +++
 HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/Matching.cs              |    4 
 HDL_ON/UI/UI2/3-Intelligence/Automation/MainView.cs               |    8 
 HDL_ON/UI/UI2/3-Intelligence/Automation/AddInputType.cs           |    2 
 HDL-ON_iOS/Resources/Language.ini                                 |  182 ++++--------------
 HDL_ON/Entity/Function/Function.cs                                |    3 
 HDL_ON/DAL/Server/HttpUtil.cs                                     |    2 
 HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs            |    6 
 HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs                   |    5 
 HDL_ON/Common/R.cs                                                |    2 
 .vs/HDL_APP_Project/xs/UserPrefs.xml                              |   68 ++----
 HDL_ON/UI/UI2/3-Intelligence/Automation/Weather.cs                |    2 
 16 files changed, 208 insertions(+), 357 deletions(-)

diff --git a/.vs/HDL_APP_Project/xs/UserPrefs.xml b/.vs/HDL_APP_Project/xs/UserPrefs.xml
index 47df2ca..95ed532 100644
--- a/.vs/HDL_APP_Project/xs/UserPrefs.xml
+++ b/.vs/HDL_APP_Project/xs/UserPrefs.xml
@@ -1,30 +1,13 @@
-锘�<Properties StartupConfiguration="{D998E133-F0DD-4760-BE3C-461632F54DA4}|Default">
-  <MonoDevelop.Ide.ItemProperties.HDL-ON__iOS automaticSigning="False" PreferredExecutionTarget="MonoDevelop.IPhone.IPhoneDeviceTarget.6242be7109c740c6cb8999a8904b6e0ea8d45192" />
-  <MonoDevelop.Ide.Workbench ActiveDocument="HDL_ON/DAL/DriverLayer/Control.cs">
+锘�<Properties StartupConfiguration="{09712674-2A38-407B-B1E2-560B2C352F9A}|Default">
+  <MonoDevelop.Ide.ItemProperties.HDL-ON__iOS PreferredExecutionTarget="MonoDevelop.IPhone.IPhoneSimulatorTarget.FE1D0763-7181-4B0C-AB18-E30AA773A6FA" />
+  <MonoDevelop.Ide.Workbench ActiveDocument="HDL_ON/UI/UI2/FuntionControlView/Video/VideoMainView.cs">
     <Files>
-      <File FileName="HDL_ON/Common/R.cs" Line="9" Column="19" />
-      <File FileName="HDL-ON_iOS/Resources/Language.ini" />
-      <File FileName="HDL-ON_Android/Assets/Language.ini" />
-      <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/AddDevciePage.cs" />
-      <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/DeviceListPage.cs" />
-      <File FileName="HDL_ON/UI/MainPage.cs" />
-      <File FileName="HDL-ON_iOS/Info.plist" />
-      <File FileName="HDL_ON/DAL/Server/HttpUtil.cs" />
-      <File FileName="HDL_ON/UI/UI0-Stan/Form/Base/EditorCommonForm.cs" />
-      <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/SenesorMegahealth/SenesorMegahealthManagerPage.cs" />
-      <File FileName="HDL_ON/UI/UI0-Public/PublicAssmeblyBLL.cs" />
-      <File FileName="HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs" />
-      <File FileName="HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs" />
-      <File FileName="HDL_ON/UI/UI2/FuntionControlView/ArmSensor/ArmSensorHistroyPaging.cs" />
-      <File FileName="HDL_ON/UI/UI0-Stan/Form/DeviceFunctionCardCommonForm.cs" />
-      <File FileName="HDL_ON/UI/UI2/FuntionControlView/ArmSensor/SenesorMegahealthPage.cs" />
-      <File FileName="HDL_ON/DAL/DriverLayer/Control.cs" Line="675" Column="34" />
-      <File FileName="HDL_ON/DAL/Server/NewApiRes.cs" />
-      <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirSend.cs" />
-      <File FileName="HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs" />
-      <File FileName="HDL_ON/DAL/Server/HttpServerRequest.cs" />
-      <File FileName="HDL_ON/DAL/Server/NewAPI.cs" />
-      <File FileName="HDL_ON/DAL/Mqtt/MqttClient.cs" Line="424" Column="69" />
+      <File FileName="HDL_ON/UI/UI2/FuntionControlView/Video/VideoMethod.cs" Line="41" Column="68" />
+      <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/AddInputType.cs" Line="93" Column="28" />
+      <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs" Line="618" Column="19" />
+      <File FileName="HDL_ON/UI/UI1-Login/LoginPage.cs" Line="203" Column="61" />
+      <File FileName="HDL_ON/DAL/Server/HttpUtil.cs" Line="155" Column="18" />
+      <File FileName="HDL_ON/UI/UI2/FuntionControlView/Video/VideoMainView.cs" Line="229" Column="40" />
     </Files>
     <Pads>
       <Pad Id="ProjectPad">
@@ -32,16 +15,21 @@
           <Node name="HDL_APP_Project" expanded="True">
             <Node name="HDL_ON" expanded="True">
               <Node name="DAL" expanded="True">
-                <Node name="DriverLayer" expanded="True">
-                  <Node name="Control.cs" selected="True" />
-                </Node>
-                <Node name="Mqtt" expanded="True" />
                 <Node name="Server" expanded="True" />
               </Node>
-              <Node name="Entity" expanded="True">
-                <Node name="Function" expanded="True" />
+              <Node name="UI" expanded="True">
+                <Node name="UI1-Login" expanded="True" />
+                <Node name="UI2" expanded="True">
+                  <Node name="3-Intelligence" expanded="True">
+                    <Node name="Automation" expanded="True" />
+                  </Node>
+                  <Node name="FuntionControlView" expanded="True">
+                    <Node name="Video" expanded="True">
+                      <Node name="VideoMainView.cs" selected="True" />
+                    </Node>
+                  </Node>
+                </Node>
               </Node>
-              <Node name="UI" expanded="True" />
             </Node>
           </Node>
         </State>
@@ -54,18 +42,10 @@
     <String>Shared.Droid.TouchID/Shared.Droid.TouchID.csproj</String>
     <String>Shared.IOS/Shared.IOS.csproj</String>
   </DisabledProjects>
-  <MonoDevelop.Ide.Workspace ActiveConfiguration="Debug|iPhone" />
-  <MonoDevelop.Ide.ItemProperties.HDL-ON__Android PreferredExecutionTarget="Android.SelectDevice" />
+  <MonoDevelop.Ide.Workspace ActiveConfiguration="Debug" />
+  <MonoDevelop.Ide.ItemProperties.HDL-ON__Android PreferredExecutionTarget="Android.4b65c4650918" />
   <MonoDevelop.Ide.DebuggingService.Breakpoints>
-    <BreakpointStore>
-      <Breakpoint file="/Users/kaede/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/Method.cs" relfile="HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/Method.cs" line="34" column="1" />
-      <Breakpoint file="/Users/kaede/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AcControlPage.cs" relfile="HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AcControlPage.cs" line="313" column="1" />
-      <Breakpoint file="/Users/kaede/Desktop/HDL_APP_Project/HDL_ON/UI/BindingResidence/BindingResidencePage.cs" relfile="HDL_ON/UI/BindingResidence/BindingResidencePage.cs" line="121" column="1" />
-      <Breakpoint file="/Users/kaede/Desktop/HDL_APP_Project/HDL_ON/DAL/Server/HttpServerRequest.cs" relfile="HDL_ON/DAL/Server/HttpServerRequest.cs" line="1857" column="1" />
-      <Breakpoint file="/Users/kaede/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/SenesorMegahealth/AddSenesorMegahealthDirection1Page.cs" relfile="HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/SenesorMegahealth/AddSenesorMegahealthDirection1Page.cs" line="119" column="1" />
-      <Breakpoint file="/Users/kaede/Desktop/HDL_APP_Project/HDL_ON/DAL/Mqtt/MqttClient.cs" relfile="HDL_ON/DAL/Mqtt/MqttClient.cs" line="678" column="1" />
-      <Breakpoint file="/Users/kaede/Desktop/HDL_APP_Project/HDL_ON/DAL/DriverLayer/Control.cs" relfile="HDL_ON/DAL/DriverLayer/Control.cs" line="673" column="1" />
-    </BreakpointStore>
+    <BreakpointStore />
   </MonoDevelop.Ide.DebuggingService.Breakpoints>
   <MultiItemStartupConfigurations />
 </Properties>
\ No newline at end of file
diff --git a/HDL-ON_Android/Assets/Language.ini b/HDL-ON_Android/Assets/Language.ini
index c86eddb..cb32ce9 100644
--- a/HDL-ON_Android/Assets/Language.ini
+++ b/HDL-ON_Android/Assets/Language.ini
@@ -20,7 +20,7 @@
 19=The phone number is incorrect. Please re-enter.
 20=The password and confirmation you typed do not match. Please re-enter your password.
 21=The password format does not comply with the requirements, please enter again.
-22=The user has existed, yo24-hour defenseu can sign in directly.
+22=The user has existed, you can sign in directly.
 23=Incorrect verification code, please re-enter.
 24=Incorrect account number, please enter the correct email address.
 25=Email address
@@ -74,7 +74,7 @@
 73=Floor Management
 74=Room Management
 75=Administrator migration
-76=Privilege Migration
+76=Administrator privilege migration
 77=Debugging privilege
 78=The administrator is migrated to other user.
 79=All of the data for the residence is migrated to new user.
@@ -188,8 +188,8 @@
 187=Fan
 188=Socket
 189=Level
-190=Chl
-191=Vol
+190=Channel
+191=Volume
 192=TV
 193=The room has existed, fail to change.
 194=Environment
@@ -423,43 +423,10 @@
 436=Added Devices
 437=Device List
 438=humidity:{0}%    air:{1}    wind:{2}
-439=Real time power consumption: {0} kw
-440=Next step
-441=Please select all areas of capture status
-442=Generate Scene
-443=Custom deployment
-444=SecurityCenter
-445=House Defense
-446=At Home Defense
-447=Vacation Defense
-448=Fixed deployment
-449=*Undo defense does not affect
-450=Disaster defense
-451=24-hour defense
-452=Burglar alarm
-453=Alarm mute
-454=Deployment information
-455=The name can not be blank.
-456=Canvas
-457=Energy consumption
-458=Date
-459=Real time energy consumption
-460=Energy consumption of this month
-461=Outdoor/Indoor
-462=You haven't added any devices yet
-'
-463=Please input the SN code of the device
-464=Can start using Zhaoguan millimeter wave
-465=Delete device
-466=STB
-467=Projector
-468=Someone fell
-469=Someone's in
-'
-470=Under protection
-471=Millimeter wave sensor
 
-1000=Room Humidity
+
+
+1000=Indoor Humidity
 1001=V-chip
 1002=Anion
 1003=Sterilization
@@ -548,10 +515,6 @@
 1085=2nd Gear
 1086=3rd Gear
 
-
-
-
-
 4000=Video intercom
 4001=Call record
 4002=*Cloud photos are only kept for 30 days
@@ -567,10 +530,6 @@
 4012=The configuration parameters are abnormal!
 4013=Access Control QR Code
 4014=Temporary password
-
-
-
-
 
 5000=Music
 5001=Group
@@ -620,6 +579,7 @@
 5045=General volume
 5046=Adjust volume
 5047="QQ music" has not installed in your cell phone, please proceed in App center.
+	
 
 6000=normal
 6001=Device status
@@ -714,54 +674,7 @@
 6092=The device does not exist
 6093=The device is not online
 6094=The gateway device does not exist
- 
- 
-7108=Leak/No Leak
-7109=Leak
-7110=No leak
-7111=Water leaking/no water leaking
-7112=Water leaking
-7113=No water leaking
-7114=Someone/Nobody
-7115=Someone
-7116=Nobody
-7117=Open/Close
-7118=On
-7119=Close
-7120=Anti-dismantling function
-7121=Online
-7122=Not online
-7123=Air quality
-7124=Excellent
-7125=Good
-7126=Poor
-7127=Send notification
-7128=Notification content
-7129=(within 100 characters)
-7130=Account selection
-7131=App push
-7132=Automation
-7133=Executed
 
-
-6000=Rename
-6001=Please enter a name
-6002=Xiaodu
-6003=aispeech
-6004="Unbind requires a third-party APP for operation", "transfer to a third-party APP"
-6005=Unbind
-6006=Smart speaker
-6007=Control content
-6008=Failed to upload data
-6009=Failed to configure data
-6010="There is no speaker yet,", "Please go to the third-party APP to bind the smart speaker."
-6011=Modification of remarks is unsuccessful!
-6012=Do you want to unbind?
-6013=Unbinding...
-6014=transfer to third-party APP
-6015=Add speakers
-
-	
 7000=Create automation
 7001=Edit automation
 7002=If
@@ -870,6 +783,34 @@
 7105=Light pollution: 75 ~ 115ug/m3
 7106=Moderate pollution: 115 ~ 150ug/m3
 7107=Heavy pollution: > 150ug/m3
+7108=Leak/No Leak
+7109=Leak
+7110=No leak
+7111=Water leaking/no water leaking
+7112=Water leaking
+7113=No water leaking
+7114=Someone/Nobody
+7115=Someone
+7116=Nobody
+7117=Open/Close
+7118=On
+7119=Close
+7120=Anti-dismantling function
+7121=Online
+7122=Not online
+7123=Air quality
+7124=Excellent
+7125=Good
+7126=Poor
+7127=Send notification
+7128=Notification content
+7129=(within 100 characters)
+7130=Account selection
+7131=App push
+7132=Automation
+7133=Executed
+7134=Target State
+7135=Tumble
 	
 9000=Please sign in with new cell phone number.
 9001=Please sign in with new email address.
@@ -912,7 +853,7 @@
 9038=(Frequently Asked Questions)
 9039=Share and function
 9040=Alerts
-9041=System info
+9041=System info.
 9042=Information Center
 9043=Please note that your account number is logged in elsewhere. If it is not made by yourself, please change the password immediately.
 9044=Successfully uploaded
@@ -936,11 +877,6 @@
 9061=Find your password by clicking on "Forgot Password", or try again in {0} minute.
 9062=Check
 9063=You still have {0} times.
-9064=Smart speaker
-9065=Data management
-9066=Remarks
-9067=Remarks cannot be blank.
-9068=Do you want to unbind?
 	
 10000=Invalid password, please log in again.
 10001=Fail to request server, please try again later.
@@ -1306,7 +1242,7 @@
 324=鍦烘櫙寤舵椂
 325=寤舵椂璁剧疆
 326=寤舵椂
-327=鎹曟崏鍦烘櫙
+327=鎹曡幏鍦烘櫙
 328=鐢靛奖鍦烘櫙
 329=鏅��
 330=鑷姩妯″紡
@@ -1402,39 +1338,6 @@
 437=璁惧鍒楄〃
 438=婀垮害:{0}%    绌烘皵:{1}    椋庨��:{2}绾�
 439=瀹炴椂鍔熻��: {0}kW
-440=涓嬩竴姝�
-441=璇烽�夋嫨鎹曟崏鐘舵�佺殑鍖哄煙
-442=鐢熸垚鍦烘櫙
-443=鑷畾涔夊竷闃�
-444=瀹夐槻涓績
-445=鍏ㄥ畢甯冮槻
-446=鍦ㄥ甯冮槻
-447=鍋囨湡甯冮槻
-448=鍥哄畾甯冮槻
-449=*涓嶅彈鎾ら槻褰卞搷
-450=鐏惧鎶ヨ
-451=24灏忔椂涓嶆挙闃�
-452=闃茬洍鎶ヨ
-453=鎶ヨ闈欓煶
-454=甯冮槻淇℃伅
-455=鍚嶇О涓嶈兘涓虹┖銆�
-456=鐢诲竷
-457=鑳借��
-458=鏃ユ湡
-459=瀹炴椂鑳借��
-460=鏈湀鑳借��
-461=瀹ゅ/瀹ゅ唴
-462=鎮ㄥ綋鍓嶈繕鏈坊鍔犱换浣曡澶�
-463=璇疯緭鍏ヨ澶囨満涓婄殑sn鐮�
-464=鍙互寮�濮嬩娇鐢ㄥ厗瑙傛绫虫尝浜�
-465=鍒犻櫎璁惧
-466=鏈洪《鐩�
-467=鎶曞奖浠�
-468=鏈変汉璺屽��
-469=鏈変汉杩涘叆
-470=闃叉姢涓�
-471=姣背娉紶鎰熷櫒
-
 
 1000=瀹ゅ唴婀垮害
 1001=绔ラ攣
@@ -1525,6 +1428,7 @@
 1086=椋庨��3妗�
 
 
+
 4000=鍙瀵硅
 4001=閫氳瘽璁板綍
 4002=*浜戠鐓х墖鍙繚鐣�30澶�
@@ -1540,6 +1444,7 @@
 4012=閰嶇疆鍙傛暟鏈夊紓甯�!
 4013=闂ㄧ浜岀淮鐮�
 4014=涓存椂瀵嗙爜
+
 
 5000=闊充箰
 5001=缁勫悎
@@ -1821,6 +1726,9 @@
 7131=App鎺ㄩ��
 7132=鑷姩鍖�
 7133=宸叉墽琛�
+7134=鐩爣鐘舵��
+7135=璺屽��
+
 
 9000=璇蜂娇鐢ㄦ柊鐨勬墜鏈鸿处鍙风櫥褰旳PP
 9001=璇蜂娇鐢ㄦ柊鐨勯偖绠辫处鍙风櫥褰旳PP
@@ -1886,11 +1794,6 @@
 9061=璇烽�氳繃蹇樿瀵嗙爜鎵惧洖瀵嗙爜鎴杮0}鍒嗛挓鍚庨噸璇�.
 9062=鏌ョ湅
 9063=杩樻湁{0}娆℃満浼氥��
-9064=鏅鸿兘闊崇
-9065=鏁版嵁绠$悊
-9066=澶囨敞
-9067=澶囨敞涓嶈兘涓虹┖
-9068=鏄惁瑙i櫎缁戝畾锛�
 
 10000=鏃犳晥鐧诲綍瀵嗛挜锛岃閲嶆柊鐧诲綍锛�
 10001=璇锋眰鏈嶅姟鍣ㄥけ璐ワ紝璇风◢鍚庡啀璇曪紒
diff --git a/HDL-ON_Android/Properties/AndroidManifest.xml b/HDL-ON_Android/Properties/AndroidManifest.xml
index 81d934a..ca58945 100644
--- a/HDL-ON_Android/Properties/AndroidManifest.xml
+++ b/HDL-ON_Android/Properties/AndroidManifest.xml
@@ -1,6 +1,6 @@
 锘�<?xml version="1.0" encoding="utf-8"?>
 <manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="202105255" android:versionName="1.2.202105255" package="com.hdl.onpro">
-	<uses-sdk android:minSdkVersion="26" android:targetSdkVersion="29" />
+	<uses-sdk android:minSdkVersion="23" android:targetSdkVersion="29" />
 	<!--  鍙瀵硅鏉冮檺-->
 	<uses-permission android:name="android.permission.CAMERA" />
 	<uses-feature android:name="android.hardware.camera" />
diff --git a/HDL-ON_iOS/Resources/Language.ini b/HDL-ON_iOS/Resources/Language.ini
index c86eddb..327a6a5 100644
--- a/HDL-ON_iOS/Resources/Language.ini
+++ b/HDL-ON_iOS/Resources/Language.ini
@@ -20,7 +20,7 @@
 19=The phone number is incorrect. Please re-enter.
 20=The password and confirmation you typed do not match. Please re-enter your password.
 21=The password format does not comply with the requirements, please enter again.
-22=The user has existed, yo24-hour defenseu can sign in directly.
+22=The user has existed, you can sign in directly.
 23=Incorrect verification code, please re-enter.
 24=Incorrect account number, please enter the correct email address.
 25=Email address
@@ -74,7 +74,7 @@
 73=Floor Management
 74=Room Management
 75=Administrator migration
-76=Privilege Migration
+76=Administrator privilege migration
 77=Debugging privilege
 78=The administrator is migrated to other user.
 79=All of the data for the residence is migrated to new user.
@@ -188,8 +188,8 @@
 187=Fan
 188=Socket
 189=Level
-190=Chl
-191=Vol
+190=Channel
+191=Volume
 192=TV
 193=The room has existed, fail to change.
 194=Environment
@@ -423,43 +423,10 @@
 436=Added Devices
 437=Device List
 438=humidity:{0}%    air:{1}    wind:{2}
-439=Real time power consumption: {0} kw
-440=Next step
-441=Please select all areas of capture status
-442=Generate Scene
-443=Custom deployment
-444=SecurityCenter
-445=House Defense
-446=At Home Defense
-447=Vacation Defense
-448=Fixed deployment
-449=*Undo defense does not affect
-450=Disaster defense
-451=24-hour defense
-452=Burglar alarm
-453=Alarm mute
-454=Deployment information
-455=The name can not be blank.
-456=Canvas
-457=Energy consumption
-458=Date
-459=Real time energy consumption
-460=Energy consumption of this month
-461=Outdoor/Indoor
-462=You haven't added any devices yet
-'
-463=Please input the SN code of the device
-464=Can start using Zhaoguan millimeter wave
-465=Delete device
-466=STB
-467=Projector
-468=Someone fell
-469=Someone's in
-'
-470=Under protection
-471=Millimeter wave sensor
 
-1000=Room Humidity
+
+
+1000=Indoor Humidity
 1001=V-chip
 1002=Anion
 1003=Sterilization
@@ -548,10 +515,6 @@
 1085=2nd Gear
 1086=3rd Gear
 
-
-
-
-
 4000=Video intercom
 4001=Call record
 4002=*Cloud photos are only kept for 30 days
@@ -567,10 +530,6 @@
 4012=The configuration parameters are abnormal!
 4013=Access Control QR Code
 4014=Temporary password
-
-
-
-
 
 5000=Music
 5001=Group
@@ -620,6 +579,7 @@
 5045=General volume
 5046=Adjust volume
 5047="QQ music" has not installed in your cell phone, please proceed in App center.
+	
 
 6000=normal
 6001=Device status
@@ -714,54 +674,7 @@
 6092=The device does not exist
 6093=The device is not online
 6094=The gateway device does not exist
- 
- 
-7108=Leak/No Leak
-7109=Leak
-7110=No leak
-7111=Water leaking/no water leaking
-7112=Water leaking
-7113=No water leaking
-7114=Someone/Nobody
-7115=Someone
-7116=Nobody
-7117=Open/Close
-7118=On
-7119=Close
-7120=Anti-dismantling function
-7121=Online
-7122=Not online
-7123=Air quality
-7124=Excellent
-7125=Good
-7126=Poor
-7127=Send notification
-7128=Notification content
-7129=(within 100 characters)
-7130=Account selection
-7131=App push
-7132=Automation
-7133=Executed
 
-
-6000=Rename
-6001=Please enter a name
-6002=Xiaodu
-6003=aispeech
-6004="Unbind requires a third-party APP for operation", "transfer to a third-party APP"
-6005=Unbind
-6006=Smart speaker
-6007=Control content
-6008=Failed to upload data
-6009=Failed to configure data
-6010="There is no speaker yet,", "Please go to the third-party APP to bind the smart speaker."
-6011=Modification of remarks is unsuccessful!
-6012=Do you want to unbind?
-6013=Unbinding...
-6014=transfer to third-party APP
-6015=Add speakers
-
-	
 7000=Create automation
 7001=Edit automation
 7002=If
@@ -870,6 +783,34 @@
 7105=Light pollution: 75 ~ 115ug/m3
 7106=Moderate pollution: 115 ~ 150ug/m3
 7107=Heavy pollution: > 150ug/m3
+7108=Leak/No Leak
+7109=Leak
+7110=No leak
+7111=Water leaking/no water leaking
+7112=Water leaking
+7113=No water leaking
+7114=Someone/Nobody
+7115=Someone
+7116=Nobody
+7117=Open/Close
+7118=On
+7119=Close
+7120=Anti-dismantling function
+7121=Online
+7122=Not online
+7123=Air quality
+7124=Excellent
+7125=Good
+7126=Poor
+7127=Send notification
+7128=Notification content
+7129=(within 100 characters)
+7130=Account selection
+7131=App push
+7132=Automation
+7133=Executed
+7134=Target State
+7135=Tumble
 	
 9000=Please sign in with new cell phone number.
 9001=Please sign in with new email address.
@@ -912,7 +853,7 @@
 9038=(Frequently Asked Questions)
 9039=Share and function
 9040=Alerts
-9041=System info
+9041=System info.
 9042=Information Center
 9043=Please note that your account number is logged in elsewhere. If it is not made by yourself, please change the password immediately.
 9044=Successfully uploaded
@@ -936,11 +877,6 @@
 9061=Find your password by clicking on "Forgot Password", or try again in {0} minute.
 9062=Check
 9063=You still have {0} times.
-9064=Smart speaker
-9065=Data management
-9066=Remarks
-9067=Remarks cannot be blank.
-9068=Do you want to unbind?
 	
 10000=Invalid password, please log in again.
 10001=Fail to request server, please try again later.
@@ -1306,7 +1242,7 @@
 324=鍦烘櫙寤舵椂
 325=寤舵椂璁剧疆
 326=寤舵椂
-327=鎹曟崏鍦烘櫙
+327=鎹曡幏鍦烘櫙
 328=鐢靛奖鍦烘櫙
 329=鏅��
 330=鑷姩妯″紡
@@ -1402,39 +1338,6 @@
 437=璁惧鍒楄〃
 438=婀垮害:{0}%    绌烘皵:{1}    椋庨��:{2}绾�
 439=瀹炴椂鍔熻��: {0}kW
-440=涓嬩竴姝�
-441=璇烽�夋嫨鎹曟崏鐘舵�佺殑鍖哄煙
-442=鐢熸垚鍦烘櫙
-443=鑷畾涔夊竷闃�
-444=瀹夐槻涓績
-445=鍏ㄥ畢甯冮槻
-446=鍦ㄥ甯冮槻
-447=鍋囨湡甯冮槻
-448=鍥哄畾甯冮槻
-449=*涓嶅彈鎾ら槻褰卞搷
-450=鐏惧鎶ヨ
-451=24灏忔椂涓嶆挙闃�
-452=闃茬洍鎶ヨ
-453=鎶ヨ闈欓煶
-454=甯冮槻淇℃伅
-455=鍚嶇О涓嶈兘涓虹┖銆�
-456=鐢诲竷
-457=鑳借��
-458=鏃ユ湡
-459=瀹炴椂鑳借��
-460=鏈湀鑳借��
-461=瀹ゅ/瀹ゅ唴
-462=鎮ㄥ綋鍓嶈繕鏈坊鍔犱换浣曡澶�
-463=璇疯緭鍏ヨ澶囨満涓婄殑sn鐮�
-464=鍙互寮�濮嬩娇鐢ㄥ厗瑙傛绫虫尝浜�
-465=鍒犻櫎璁惧
-466=鏈洪《鐩�
-467=鎶曞奖浠�
-468=鏈変汉璺屽��
-469=鏈変汉杩涘叆
-470=闃叉姢涓�
-471=姣背娉紶鎰熷櫒
-
 
 1000=瀹ゅ唴婀垮害
 1001=绔ラ攣
@@ -1525,6 +1428,7 @@
 1086=椋庨��3妗�
 
 
+
 4000=鍙瀵硅
 4001=閫氳瘽璁板綍
 4002=*浜戠鐓х墖鍙繚鐣�30澶�
@@ -1540,6 +1444,7 @@
 4012=閰嶇疆鍙傛暟鏈夊紓甯�!
 4013=闂ㄧ浜岀淮鐮�
 4014=涓存椂瀵嗙爜
+
 
 5000=闊充箰
 5001=缁勫悎
@@ -1821,6 +1726,8 @@
 7131=App鎺ㄩ��
 7132=鑷姩鍖�
 7133=宸叉墽琛�
+7134=鐩爣鐘舵��
+7135=璺屽��
 
 9000=璇蜂娇鐢ㄦ柊鐨勬墜鏈鸿处鍙风櫥褰旳PP
 9001=璇蜂娇鐢ㄦ柊鐨勯偖绠辫处鍙风櫥褰旳PP
@@ -1886,11 +1793,6 @@
 9061=璇烽�氳繃蹇樿瀵嗙爜鎵惧洖瀵嗙爜鎴杮0}鍒嗛挓鍚庨噸璇�.
 9062=鏌ョ湅
 9063=杩樻湁{0}娆℃満浼氥��
-9064=鏅鸿兘闊崇
-9065=鏁版嵁绠$悊
-9066=澶囨敞
-9067=澶囨敞涓嶈兘涓虹┖
-9068=鏄惁瑙i櫎缁戝畾锛�
 
 10000=鏃犳晥鐧诲綍瀵嗛挜锛岃閲嶆柊鐧诲綍锛�
 10001=璇锋眰鏈嶅姟鍣ㄥけ璐ワ紝璇风◢鍚庡啀璇曪紒
diff --git a/HDL_ON/Common/R.cs b/HDL_ON/Common/R.cs
index 6d72a47..2d8e7ce 100644
--- a/HDL_ON/Common/R.cs
+++ b/HDL_ON/Common/R.cs
@@ -1178,6 +1178,8 @@
         public const int apptuisong = 7131;
         public const int zidontghua = 7132;
         public const int yizhixing = 7133;
+        public const int mubiaozhuangtai = 7134;
+        public const int diedao = 7135;
 
         #region LE鏂板
         /// <summary>
diff --git a/HDL_ON/DAL/Server/HttpUtil.cs b/HDL_ON/DAL/Server/HttpUtil.cs
index a3d47c1..a380e0c 100644
--- a/HDL_ON/DAL/Server/HttpUtil.cs
+++ b/HDL_ON/DAL/Server/HttpUtil.cs
@@ -153,7 +153,7 @@
                 {
                     urlHead = OnAppConfig.Instance.RequestHttpsHost;
                 }
-                //"https://test-gz.hdlcontrol.com";
+                urlHead="https://test-gz.hdlcontrol.com";
                 //"https://bahrain-gateway.hdlcontrol.com";
                 //urlHead="https://china-gateway.hdlcontrol.com";
                 string requestFullUrl = urlHead + apiPath;
diff --git a/HDL_ON/Entity/Function/Function.cs b/HDL_ON/Entity/Function/Function.cs
index 35baaa8..dee04dc 100644
--- a/HDL_ON/Entity/Function/Function.cs
+++ b/HDL_ON/Entity/Function/Function.cs
@@ -1,4 +1,4 @@
-锘縰sing System;
+using System;
 using System.Collections.Generic;
 using HDL_ON.Common;
 using HDL_ON.DAL.Server;
@@ -1169,7 +1169,6 @@
         /// 姣背娉紶鎰熷櫒
         /// </summary>
         public const string SenesorMegahealth = "sensor.megahealth";
-
 
         /// <summary>
         /// 瀹夐槻浼犳劅鍣╯pk鍒楄〃
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/AddInputType.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/AddInputType.cs
index 7fbc2ab..3f835d8 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/AddInputType.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/AddInputType.cs
@@ -1,4 +1,5 @@
 锘縰sing System;
+using System.Collections.Generic;
 using Shared;
 namespace HDL_ON.UI.UI2.Intelligence.Automation
 {
@@ -58,6 +59,7 @@
             {
                 viewLayout.AddChidren(shiwaiView.FLayoutView());
             }
+           
             #endregion
 
             #region  鎵�鏈夌偣鍑讳簨浠�
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs
index 47f2d15..5e24b64 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs
@@ -175,6 +175,21 @@
                         }
                     }
                     break;
+                case SPK.SenesorMegahealth:
+                    {
+                        LogicView.FunTypeView view = new LogicView.FunTypeView();
+                        view.btnText.TextID = StringId.mubiaozhuangtai ;//鐩爣鐘舵��
+                        fLayout.AddChidren(view.FLayoutView());
+                        view.btnClick.MouseUpEventHandler += (sender, e) =>
+                        {
+                            DeviceView(device, view.btnState, StringId.wuren, StringId.diedao);
+                        };
+                        if (edit)
+                        {
+                            GetEditState(device, index, view.btnState, null, null, null);
+                        }
+                    }
+                    break;
 
             }
             #region  淇濆瓨
@@ -268,6 +283,11 @@
                             keyVlaue = "status";
                         }
                         break;
+                    case SPK.SenesorMegahealth:
+                        {
+                            keyVlaue = "action_state";
+                        }
+                        break;
 
                 }
                 switch (intValue)
@@ -294,12 +314,21 @@
                             value = "off";
                         }
                         break;
-                    case StringId.youren: {
+                    case StringId.youren:
+                        {
                             value = "true";
                         }
                         break;
-                    case StringId.wuren: {
-                            value = "false";
+                    case StringId.wuren:
+                        {
+                            if (device.spk == SPK.SenesorMegahealth)
+                            {
+                                value = "uninhabited";
+                            }
+                            else
+                            {
+                                value = "false";
+                            }
                         }
                         break;
                     case StringId.kaiqi:
@@ -312,15 +341,20 @@
                             value = "close";
                         }
                         break;
-                    case StringId.zaixian: {
+                    case StringId.zaixian:
+                        {
                             keyVlaue = "dismantle";
                             value = "true";
-                        };break;
+                        }; break;
                     case StringId.buzaixian:
                         {
                             keyVlaue = "dismantle";
                             value = "false";
                         }; break;
+                    case StringId.diedao:
+                        {
+                            value = "fall";
+                        }; break;
                 }
                 //鏄剧ず鏂囨湰
                 button.TextID = intValue;
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs
index 3de977d..c888bc1 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs
@@ -297,6 +297,22 @@
                                         inputView.btnState.Text = str;
                                     }
                                     break;
+                                case SPK.SenesorMegahealth:
+                                    {
+                                        foreach (var dic in dicList)
+                                        {
+                                            string value = dic["value"];
+                                            if (value == "fall")
+                                            {
+                                                inputView.btnState.Text = Language.StringByID(StringId.diedao);
+                                            }
+                                            else
+                                            {
+                                                inputView.btnState.Text = Language.StringByID(StringId.wuren);
+                                            }
+                                        }
+                                    }
+                                    break;
 
                             }
                         }
@@ -1371,6 +1387,22 @@
                         }
                     }
                     break;
+                case SPK.SenesorMegahealth:
+                    {
+                        foreach (var dic in dicList)
+                        {
+                            string value = dic["value"];
+                            if (value == "fall")
+                            {
+                                button1.Text = Language.StringByID(StringId.diedao);
+                            }
+                            else
+                            {
+                                button1.Text = Language.StringByID(StringId.wuren);
+                            }
+                        }
+                    }
+                    break;
             }
         }
         /// <summary>
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs
index eb9d557..d40c649 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs
@@ -308,6 +308,7 @@
                 case SPK.SensorPir:
                 case SPK.SensorDoorWindow:
                 case SPK.SensoruUtrasonic:
+                case SPK.SenesorMegahealth:
                     {
                         strPath = "LogicIcon/sensor.png";
                     }
@@ -365,6 +366,7 @@
             || device.spk == SPK.SensorPir
             || device.spk == SPK.SensorDoorWindow
             || device.spk == SPK.SensoruUtrasonic
+            || device.spk == SPK.SenesorMegahealth
             );
             if (sensor != null)
             {
@@ -414,7 +416,8 @@
                 functionTypeList.Add(SPK.SensorPir);
                 functionTypeList.Add(SPK.SensorDoorWindow);
                 functionTypeList.Add(SPK.SensoruUtrasonic);
-              
+                functionTypeList.Add(SPK.SenesorMegahealth);
+
             }
             return functionTypeList;
 
@@ -449,6 +452,7 @@
                         deviceTypeList.Add(SPK.SensorPir);
                         deviceTypeList.Add(SPK.SensorDoorWindow);
                         deviceTypeList.Add(SPK.SensoruUtrasonic);
+                        deviceTypeList.Add(SPK.SenesorMegahealth);
                     }
                     break;
                 case target_if:
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/MainView.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/MainView.cs
index 5f789d2..ae546df 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/MainView.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/MainView.cs
@@ -511,7 +511,7 @@
             }
         }
         /// <summary>
-        /// 鍒ゆ柇缃戝叧绫诲瀷
+        /// 鍒ゆ柇缃戝叧绫诲瀷(0:bus缃戝叧锛�1:A鍗忚缃戝叧)
         /// </summary>
         /// <returns></returns>
         public static bool IsGatewayType
@@ -522,11 +522,7 @@
                 {
                     return true;
                 }
-                else
-                {
-                    return false;
-
-                }
+                return false;
             }
         }
     }
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs
index 65ad0e0..acc205b 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs
@@ -164,14 +164,13 @@
                 logicIfon.Add("pushConfigs", pushConfigsArray);
                 logicjArray.Add(logicIfon);
                 var jObject = new JObject { { "homeId", LogicMethod.HomeId }, { "logics", logicjArray } };
-                responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Logic_Add);
+                responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Logic_Add,5);
                 //濡傛灉鏄痶oken杩囨湡鍒欏埛鏂皌oken
                 if (responsePackNew.Code == StateCode.TOKEN_EXPIRED)
                 {
                     RefreshToken();
                     AddLogic(logic);
                 }
-                Console.WriteLine("娣诲姞閫昏緫===" + logicjArray);
             }
             catch (Exception e)
             {
@@ -275,7 +274,7 @@
 
                 logicjArray.Add(logicIfon);
                 var jObject = new JObject { { "homeId", LogicMethod.HomeId }, { "logics", logicjArray } };
-                responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Logic_Update);
+                responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Logic_Update,5);
                 //濡傛灉鏄痶oken杩囨湡鍒欏埛鏂皌oken
                 if (responsePackNew.Code == StateCode.TOKEN_EXPIRED)
                 {
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/Weather.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/Weather.cs
index e11c983..c1fc7aa 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/Weather.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/Weather.cs
@@ -45,7 +45,6 @@
             weatherView.btnLine.Width = Application.GetRealWidth(375 - 16 - 16);
             weatherView.btnText.TextID = StringId.tianqibianhua;
             viewLayout.AddChidren(weatherView.FLayoutView());
-
             //绌烘皵璐ㄩ噺
             LogicView.SelectTypeView kongqiViewk = new LogicView.SelectTypeView(); 
             kongqiViewk.frameLayout.Y = weatherView.frameLayout.Bottom;
@@ -56,7 +55,6 @@
             kongqiViewk.btnText.TextID = StringId.kongqizhiliang;
             viewLayout.AddChidren(kongqiViewk.FLayoutView());
             #endregion
-
             #region  鎵�鏈夌偣鍑讳簨浠�
             //瀹ゅ娓┿�佹箍搴︺�丳M2.5鍙樺寲
             airqualityView.btnClick.MouseUpEventHandler += (sen, e) => {
diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/Matching.cs b/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/Matching.cs
index a56be68..b684f7e 100644
--- a/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/Matching.cs
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/Matching.cs
@@ -148,6 +148,7 @@
             };
             fLayout.AddChidren(succeedBtn);
             #endregion
+
             #region 鐐瑰嚮浜嬩欢
             //琛ㄧず搴撳垪琛ㄧ储寮曞��(鐩墠鍙�20涓簱)
             int index = 1; 
@@ -215,7 +216,6 @@
                 {
                     var library = libraryList[index-1];
                     var control = GetControl(spk, testBtn.TextID, library);
-
                     if (spk == SPK.TvIr)
                     {
                         //澶囨敞锛氫紵鍗楄姹傚皬绫崇數瑙嗘崲鎺塻pk=ir.tvxm锛堝惉璇存槸涓存椂瑙e喅鏂规锛�
@@ -229,8 +229,6 @@
                             }
                         }
                     }
-
-
                     PirMethod method = new PirMethod();
                     //鍙戦�佸簱娣诲姞閬ユ帶鍣ㄥ懡浠�
                     method.ThreadAddControl(control, this, (device) =>  
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Video/VideoMainView.cs b/HDL_ON/UI/UI2/FuntionControlView/Video/VideoMainView.cs
index 3271e9e..109cdc4 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Video/VideoMainView.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Video/VideoMainView.cs
@@ -35,8 +35,8 @@
             pageView.AddChidren(view1);
             var view2 = new FrameLayout();
             pageView.AddChidren(view2);
-            View1(view1, listVideo, video);
-            View2(view2, listCall, video);
+            ViewFrameLayout1(view1, listVideo, video);
+            ViewFrameLayout2(view2, listCall, video);
             Button btn11 = new Button
             {
                 X = Application.GetRealWidth(170),
@@ -113,8 +113,10 @@
         /// <param name="view1">鐖舵帶浠�</param>
         /// <param name="list">闂ㄥ彛鏈哄垪琛�</param>
         /// <param name="videoClouds">褰撳墠鐨勫彲瑙嗗璁�</param>
-        void View1(FrameLayout view1, List<FlVideo> list, VideoClouds videoClouds)
+        void ViewFrameLayout1(FrameLayout view1, List<FlVideo> list, VideoClouds videoClouds)
         {
+
+
             #region 甯冨眬鐣岄潰
             var bjFl = new FrameLayout
             {
@@ -220,17 +222,16 @@
                 #region
                 var fLayout = new FrameLayout
                 {
-                    Width = Application.GetRealWidth(50),
+                    Width = Application.GetRealWidth(96),
                     Height = Application.GetRealWidth(48),
-                    X = Application.GetRealWidth(31 + (58 + 50) * j),
+                    X = Application.GetRealWidth(20 + (26 + 28 + 42) * j),
                     Y = Application.GetRealHeight(20 + (48 + 24) * line),
-
                 };
                 fL.AddChidren(fLayout);
 
                 var iconBtn = new Button
                 {
-                    X = Application.GetRealWidth(11),
+                    Gravity=Gravity.CenterHorizontal,
                     Width = Application.GetRealWidth(28),
                     Height = Application.GetRealWidth(28),
                     UnSelectedImagePath = "VideoIcon/weiqiangji.png",
@@ -240,7 +241,8 @@
                 var deviceNameBtn = new Button
                 {
                     Y = iconBtn.Bottom + Application.GetRealHeight(6),
-                    Width = Application.GetRealWidth(50),
+                    X = Application.GetRealWidth(6),
+                    Width = Application.GetRealWidth(96-12),
                     Height = Application.GetRealHeight(14),
                     TextSize = TextSize.Text10,
                     TextColor = CSS.CSS_Color.TextualColor,
@@ -306,7 +308,7 @@
         /// <param name="view2">鐖舵帶浠�</param>
         /// <param name="listCall">閫氳瘽璁板綍鍒楄〃</param>
         /// <param name="video">褰撳墠鐨勫彲瑙嗗璁�</param>
-        void View2(FrameLayout view2, List<CallView> listCall, VideoClouds video)
+        void ViewFrameLayout2(FrameLayout view2, List<CallView> listCall, VideoClouds video) 
         {
 
             var bjFl = new FrameLayout

--
Gitblit v1.8.0