From c7f0f1a0c2148ca9a8944e523404b06351bb7977 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期四, 14 四月 2022 15:35:39 +0800
Subject: [PATCH] 金茂温控器更新

---
 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/hvaccac_blue.png          |    0 
 HDL-ON_Android/Properties/AndroidManifest.xml                                    |    2 
 HDL_ON/DAL/ThirdPartySdk/HDLLinphone.cs                                          |   21 
 HDL-ON_Android/Assets/Language.ini                                               | 1140 ++++++++++++++++++++++++++++++++++++++++
 HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/CacControlPage.cs                  |    8 
 HDL-ON_iOS/HDL-ON_iOS.csproj                                                     |    3 
 HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPageBLL.cs                          |    1 
 HDL-ON_iOS/AppDelegate.cs                                                        |    4 
 HDL-ON_Android/HDL-ON_Android.csproj                                             |    3 
 HDL_ON/UI/UI2/FuntionControlView/Light/ColorTureLampPageBLL.cs                   |    4 
 HDL-ON_Android/SplashActivity.cs                                                 |    4 
 HDL-ON_iOS/Info.plist                                                            |    4 
 HDL-ON_iOS/Resources/Language.ini                                                |   21 
 HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/CacDayHistoryPage.cs               |  115 ++-
 HDL_ON/UI/MainPage.cs                                                            |    3 
 HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/CacHistoryChoosePage.cs            |    4 
 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/hvaccac_blue.png           |    0 
 HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSensorPage.cs |    4 
 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/hvaccac_white.png          |    0 
 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/hvaccac_white.png         |    0 
 HDL-ON_iOS/Resources/Phone/Public/dialogBg2.png                                  |    0 
 HDL-ON_Android/Assets/Phone/Public/dialogBg2.png                                 |    0 
 HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/CacWeekHistoryPage.cs              |  304 ++++++---
 HDL_ON/Common/R.cs                                                               |    4 
 HDL_ON/DAL/Server/HttpServerRequest.cs                                           |    6 
 HDL_ON/DAL/ThirdPartySdk/ESOnVideo.cs                                            |    4 
 26 files changed, 1,484 insertions(+), 175 deletions(-)

diff --git a/HDL-ON_Android/Assets/Language.ini b/HDL-ON_Android/Assets/Language.ini
index a27d7f0..5de77ae 100644
--- a/HDL-ON_Android/Assets/Language.ini
+++ b/HDL-ON_Android/Assets/Language.ini
@@ -523,6 +523,7 @@
 535=Dew point temperature
 536=Temperature statistics
 537=Humidity statistics
+538=Uint
 
 
 1000=Room Humidity
@@ -1669,6 +1670,7 @@
 535=闇茬偣娓╁害
 536=娓╁害缁熻鍥�
 537=婀垮害缁熻鍥�
+538=鍗曚綅
  
 1000=瀹ゅ唴婀垮害
 1001=绔ラ攣
@@ -2796,6 +2798,7 @@
 535=Dew point temperature
 536=Temperature statistics
 537=Humidity statistics
+538=Uint
 
 
 
@@ -3421,3 +3424,1140 @@
 
 
 
+[Spanish]
+1=Ingresar
+2=N煤mero de tel茅fono
+3=Luz
+4=Correo
+5=Por favor ingrese numero de cuenta 
+6=Contrase帽a
+7=Olvidar
+8=Registrarse
+9=Iniciar sesi贸n
+10=Espere鈥�
+11=Cerrar
+12=C贸digo de verificaci贸n
+13=Contrase帽a de acceso
+14=Registrarse
+15=N煤mero de tel茅fono
+16=Ingrese la contrase帽a
+17=Ingrese la contrase帽a nuevamente
+18=C贸digo de verificaci贸n
+19=N煤mero de tel茅fono incorrecto, ingrese nuevamente
+20=L a contrase帽a y la confirmaci贸n no coinciden. Ingrese la contrase帽a nuevamente
+21=El formato de la contrase帽a no cumple con los requisitos. Ingrese la contrase帽a nuevamente
+22=El usuario ya existe. Puede ingresar directamete
+23=C贸digo de verificaci贸n incorrecto, vuelva a ingresarlo. 
+24=N煤mero de cuenta incorrrecta, por favor ingrese el correo correcto 
+25=Correo
+26=Residencia
+27=Miembro
+28=Desarmar
+29=Armar
+30=Copia de seguridad
+31=Funci贸n auxiliar
+32=A帽adir funciones
+33=Modo noche
+34=Configuraci贸n general
+35=Soporte
+36=Casa
+37=Categor铆a
+38=Inteligente
+39=Individual
+40=Inicio de sesi贸n fallido, n煤mero de cuenta o contrase帽a incorrectos
+41=Error al enviar el codigo de verificaci贸n
+42=Error de red
+43=Error en el registo, int茅ntelo de nuevo
+44=Confirmar reinicio
+45=El numero de cuenta no existe, por favor aseg煤rese de estar registrado
+46=Inicio de sesion inv谩lido, iniciar sesion nuevamente
+47=Centro Personal
+48=Nombre
+49=C贸digo QR
+50=Tel茅fono
+51=Correo
+52=No enlazado
+53=Autorizaci贸n de terceros
+54=Cambiar contrase帽a
+55=Configuraci贸n de desbloqueo
+56=Establecer contrase帽a, gesto, huella digital o identificaci贸n facil para proteger su provacidad
+57=Salir
+58=Habitaci贸n
+59=Equipo
+60=Funci贸n
+61=Brillo
+62=Configuraci贸n
+63=Locaci贸n 
+64=Compartir 
+65=A帽adir acceso directo al escritorio
+66=Cambiar nombre
+67=Cancelar 
+68=Confirmar 
+69=Todo
+70=Cortina
+71=Nombre
+72=Address
+73=Gesti贸n de plantas
+74=Gesti贸n de habitaciones
+75=Migraci贸n de administrador 
+76=Migraci贸n de privilegios 
+77=Priviligio de depuraci贸n
+78=El administrador migra a otro usuario
+79=Toda los datos de la residencia migran al nuevo usuario
+80=Permitir que el personal visite su casa de forma remota
+81=Piso
+82=A帽adir piso
+83=Cambiar nombre de piso
+84=Error al a帽adir, el piso ya existe
+85=Escena 
+86=Borrar 
+87=Inmediata
+88=Eliminar el piso o no? 
+89=A帽adir habitaci贸n 
+90=Cmabiar la informacion de la habitaci贸n 
+91=Informaci贸n de la habitanci贸n 
+92=Nombre
+93=Piso
+94=Gesti贸n funcionamiento
+95=Guardar
+96=Eliminar la habitaci贸n 
+97=Galeria por defecto 
+98=Camara
+99=Seleccionar de la galeria 
+100=No asignado 
+101=Asignado
+102=No asignado 
+103=Eliminar la habitaci贸n o no? 
+104=Tiempo de transici贸n 
+105=Temperatura interna 
+106=AC
+107=Videoportero
+108=Sensor
+109=Monitor de seguridad 
+110=Panel Inteligente
+111=Musica 
+112=Aire fresco 
+113=Ambiental 
+114=Monitoreo de energ铆a 
+115=Electrodom茅sticos
+116=Bloqueo inteligente 
+117=Calefacci贸n 
+118=Abrir 
+119=Refrigeraci贸n 
+120=Calefacci贸n 
+121=Deshumidificar
+122=Auto
+123=Suministro de aire
+124=Alto 
+125=Medio 
+126=Bajo 
+127=Modo
+128=Velocidad del ventilador 
+129=Estas seguro de apagar todas las funciones de la habitaci贸n? 
+130=Abierta
+131=A帽adido a favoritos
+132=Felicitaciones! Registro exitoso 
+133=Inicio de sesion autom谩tico pronto鈥�.
+134=El numero de no esta registrado, por favor registrese e ingrese nuevamente
+135=Por favor, obtener codigo de verificaci贸n 
+136=La contrase帽a ha sido cambiada
+137=La direccion rsidencial no puede estar en blanco 
+138=El nombre de la residencia no puede estar en blanco 
+139=El nombre de la habitaci贸n no puede estar en blanco 
+140=El nombre del piso no puede estar en blanco 
+141=No se pudo revisar, el piso ya existe
+142=El nombre del equipo no puede estar en blanco 
+143=El nombre del usuario no puede estar en blanco 
+144=Nombre de usuario 
+145=Seleccione la p谩gina para bloquear 
+146=Puede seleccionar varias paginas que le gustaria mantener
+147=Error en codigo de verificaci贸n
+148=No protegido 
+149=Cuando empieza 
+150=Armar/Desarmar 
+151=Desbloquear remotamente 
+152=No se necesita contrase帽a/gesto al iniciar el software
+153=Iniciar sesi贸n 5 minutos despues de salir de la p谩gina, se requiere el m茅todo de desbloqueo correspondiente.
+154=Centro de miembros - utiliza para debloquear la funci贸n de seguridad como armar/desarmar
+155=Usado para desbloquear la cerradura inteligente 
+156=Configuraci贸n de desbloqueo
+157=Solo valido para host
+158=Desbloquear con contrase帽a
+159=Desbloquear con gesto 
+160=Desbloquear con huella 
+161=Desbloquear con identificaci贸n facial 
+162=Configuraci贸n de contrase帽a num茅rica
+163=Configuraci贸n exitosa
+164=Configuraci贸n de gestos
+165=Por favor dibuja tu patron de desbloqueo
+166=Requiere al menos una conexi贸n de 4 puntos, dibuje nuevamente 
+167=El patron y la corfirmacion que dibujaste no coincide, dibuje nuevamente
+168=Por favor dibuje su patr贸n nuevamente
+169=Desbloquear con huella o no? 
+170=Desbloquar con identificacion facial o no? 
+171=Verificar la contrase帽a num茅rica 
+172=Verificar el gesto 
+173=Por favor ingrese el gesto original 
+174=Por favor ingrese la contrase帽a num茅rica original 
+175=Verificaci贸n fallida, error en la contrase帽a
+176=Cambiar la contrase帽a num茅rica 
+177=Cambiar el gesto 
+178=Cerrar la configuraci贸n de desbloqueo o no? 
+179=Por favor verifique la huella 
+180=Verificaci贸n fallida, error en el gesto
+181=General 
+182=Dia 
+183=Noche 
+184=Abandonar 
+185=Por favor enlace el piso
+186=Ajuste de la velocidad del ventilador 
+187=Ventilador 
+188=Enchufe 
+189=Nivel 
+190=Chl
+191=Vol
+192=TV
+193=La habitanci贸n existe, error al cambiar 
+194=Medio Ambiente
+195=Contaminaci贸n fuerte
+196=Contaminaci贸n leve 
+197=Bueno
+198=Excelente
+199=Frio helado
+200=Frio
+201=Frio
+202=Confort
+203=Tibio 
+204=Caliente
+205=Extremadamente caliente 
+206=Hasta el estandar 
+207=Contaminaci贸n leve 
+208=Contaminaci贸n media
+209=Contaminaci贸n fuerte
+210=Fresco 
+211=Turbidez
+212=Hipoxia
+213=Hipoxia severa
+214=H煤medo 
+215=H煤medo 
+216=Seco 
+217=Temperatura
+218=Humedad 
+219=Rango 
+220=Nivel 
+221=Valor de color 
+222=PM1.0
+223=PM2.5
+224=Ruido
+225=Fuerza del viento
+226=CO2
+227=TV02
+228=Dia 
+229=Semana
+230=Mes
+231=Otra regi贸n 
+232=Administraci贸n de miembros 
+233=Apodo 
+234=Autoridad Administrativa
+235=Crear una escena
+236=Apodo no puede quedar en blanco 
+237=Editar apodo 
+238=La regi贸n utilizada 
+239=A帽adir miembro 
+240=Por favor ingrese el n煤mero de cuenta del miembro 
+
+241=Escanear codigo QR 
+242=Confirmar la invitaci贸n 
+243=Error en n煤mero de cuenta, por favor chequear 
+244=Agregue correctamente al miembro
+245=Error de datos, por favor intente de nuevo 
+246=Error al a帽adir, el numero de cuenta del miembro no esta registrada
+
+247=No puedes agregarte a ti mismo.
+248=El usuario no existe en esta residencia 
+249=Se ha agregado el n煤mero de cuenta del miembro, por lo que no se puede volver a agregar.
+
+250=Error de operaci贸n 
+251=Error al agregar, autoridad no valida 
+252=Guardado correctamente
+253=Guardando鈥spere un momento. 
+254=Adopo editado 
+255=Eliminar este miembro 
+256=Sin favoritos 
+257=Introduzca el contenido 
+258=Bienvenido al nuevo miembro 
+259=Esta seguro de elimianr este miembro? 
+260=Introduzca la contrase帽a de inicio de sesi贸n 
+261=Cambio de residencia exitoso
+262=Seleccionar todo 
+263=Compartir la selecci贸n funcional 
+264=Confirmar uso compartido 
+265=Compartir en 
+266=Error de uso compartido funcional 
+267=Uso compartido funcional exitoso 
+268=Correo 
+269=Cambiar el enlace 
+270=Eliminar el enlace
+271=Correo 
+272=Cambiar la direcci贸n de correo 
+273=Cambiar el m茅todo de verificaci贸n 
+274=El c贸digo de verificaci贸n ha sido enviado, por favor ingrese
+275=Reenviar 
+276=Verificaci贸n correcta 
+277=Correo 
+278=Por favor ingrese el nuevo correo 
+279=Enlazar correctamente su correo electr贸nico a su cuenta
+280=No vincular su correo electr贸nica a su cuenta 
+281=Eliminar el enlace de correo electr贸nico 
+282=Eliminaci贸n correcta de enlace 
+283=N煤mero de telefono
+284=N煤mero de telefono
+285=N煤mero de telefono
+286=Vincular correctamente su numero de tel茅fono a su cuenta
+287=No puede vincular su numero de tel茅fono a su cuenta 
+288=Cambiar el enlace 
+289=Quitar el enlace 
+290=No se puede obtener el historial 
+291=Sin favoritos 
+292=Acerca de ON+
+293=Miembro
+294=Administrador 
+295=Cambiar la contrase帽a
+296=Antes de cambiar la contrase帽a iniciar sesion
+297=Por favor verifique ID
+298=Verificaci贸n telefonica 
+299=Verificaci贸n de correo electronico 
+300=No se ha enlazado a la direcci贸n de correo electronico, no puede verificar 
+301=No se ha enlazado a un numero telefonico, no se puede verificar  
+302=Proceder al enlace 
+303=Eliminado correctamente el enlace a su numero de telefono 
+304=El codigo de verificaci贸n se ha enviado a: 
+305=Telefono 
+306=Correo 
+307=Recibi贸 nuevos datos, esta seguro de anularlos? 
+308=Automatizaci贸n 
+309=Crear una escena
+310=A帽adir escena 
+311=Configuraci贸n basica 
+312=Nombre
+313=Region 
+314=Completo
+315=Vista completa de la residencia
+316=Sleccionar 
+317=Ya a帽adido
+318=Conmutador 
+319=Velocidad del ventilador 
+320=Modo
+321=Encendido
+322=Apagado
+323=Escena 
+324=Retardo de escena
+325=Configuraci贸n de retardo
+326=Retardo 
+327=Capturar la escena
+328=Escena de pelicula 
+329=General 
+330=Modo autom谩tico 
+331=Potencia calentamiento suelo
+332=Refrigeraci贸n suelo
+333=Potencia de refrigeraci贸n del suelo
+334=Ajustar el porcentaje
+335=Sin retardo
+336=No hay escena disponible. A帽ade uno! 
+337=Editar la escena
+338=El nombre de la escena no puede estar en blanco
+339=El nombre de la escena ya existe, por favor revise 
+340=El nombre de la habitaci贸n ya existe, por favor revise
+341=Eliminar esta escena o no? 
+342=La puerta de enlace esta fuera de linea, falla de conexi贸n remota
+343=Error MAC, error de conexi贸n remota. 
+344=Error de conexi贸n remota. 
+345=Telefono 
+346=Correo 
+347=Ingrese el nuevo numero de telefono ceular 
+348=Ya se ha utilizado el numero de telefono celular 
+349=Ya se ha utilizado la direccion de correo electronico 
+350=La direcci贸n de correo electr贸nico es la misma que la actual, sin necesidad de cambiar.
+351=El n煤mero de tel茅fono es la mismo que la actual, sin necesidad de cambiar.
+352=Asignaci贸n de piso 
+353=Separar 
+354=Cerrar
+355=Acerca de
+356=Numero de version 
+357=Esta funcion no esta disponible! 
+358=Telefono 
+359=Correo 
+360=Escena de panel 
+361=No a帽adido
+362=Seleccionar todo 
+363=No se puede comunicar con el servidor, no se puede editar la informaci贸n del dispositivo
+364=No se puede comunicar con el servidor, no se puede editar la informaci贸n de la habitaci贸n
+365=No se puede comunicar con el servidor, no se puede editar la informaci贸n de la escena
+366=No se puede comunicar con el servidor, no se puede eliminar la escena
+367=No se puede comunicar con el servidor, no se puede eliminar el piso
+368=Bienvenido a disfrutar de ON+ 
+369=A帽adir residencia
+370=Convi茅rtete en miembro de la familia
+371=No se puede utilizar la funcion, por favor verifique su conexi贸n 
+372=No se puede crear una escena, por favro verifique su conexi贸n 
+373=Error al agregar un piso 
+374=Los datos residenciales se han eliminado, APP cambiar谩 autom谩ticamente a otra residencia.
+375=El gateway no esta conectado al servidor, no se puede crear la escena 
+376=No se puede introducir un car谩cter especial
+377=Toda la residencia 
+378=Tiempo de transici贸n 
+379=Velocidad de transicion 
+380=Esta funcion no esta disponible! 
+381=Recargar
+400=Bienvenido a casa
+401=Codigo de barras no v谩lido, intentelo de nuevo 
+402=Int茅ntelo de nuevo
+403=Temperatura de color 
+404=Ajuste r谩pido 
+405=Acogedor 
+406=Reuni贸n 
+407=Lectura
+408=A帽adir
+409=Marca de funci贸n 
+410=No ha agregado ningun dispositov de pataforma en la actualidad 
+411=Otros dispositivos de plataforma son compatibles con proveedores de serviciso externos 
+412=A帽adir
+413=Controlador no activado
+414=Controlador activado
+415=Alguien
+416=Registro
+417=Fuga de agua 
+418=En alarma 
+419=Normal 
+420=Seco caliente
+421=Secado al aire
+422=Desinfectar
+423=Iluminaci贸n
+424=Tiempo
+425=Tiempo seco caliente
+426=Tiempo de secado al aire
+427=Tiempo de desinfecci贸n 
+428=Tiempo Ani贸n
+429=H
+430=Min
+431=Actualmente esta agregando cualquier dispositivos de plataforma a
+432=Otros dispositivos de plataforma son compatibles con proveedores de serviciso externos 
+433=Valvula de agua 
+434=Interruptor de tiempo
+435=Control remoto 
+436=Dispositivos a帽adido 
+437=Lista de dispositivos 
+438=humedad:{0}% aire:viento {1}:{2}
+439=Tiempo real: {0} kw
+440=Siguiente paso
+441=Seleccione todas las 谩reas de estado de captura
+442=Generar escena
+443=Implementaci贸n personalizada
+444=Centro de seguridad
+445=Defensa de la casa
+446=Defensa en casa
+447=Defensa de vacaciones 
+448=Implementaci贸n fija 
+449=*Deshacer defensa no afecta
+450=Defensa contra desastres
+451=Defensa de 24 horas 
+452=Alarma antirrobo
+453=Silenciar alarma
+454=Informaci贸n de implementaci贸n
+455=El nombre no puede estar en blanco 
+456=Lienzo
+457=Consumo de energ铆a 
+458=Fecha
+459=Consumo de energ铆a en tiempo real 
+460=Consumo energ茅tico de este mes 
+461=Exterior/Interior
+462=Aun no has a帽adido ningun dispositivo
+
+463=Introduzca el c贸digo SN del dispositivo
+464=Puede empezar a usar la onda milim茅trica Zhaoguan
+465=Eliminar dispositivo
+466=STB
+467=Proyector
+468=Alguien cay贸
+469=Alguien est谩 en
+
+470=Bajo protecci贸n 
+471=Sensor de onda milim茅trica
+472=Exterior
+473=Columpio 
+474=Oscilaci贸n hacia arriba y hacia abajo 
+475=Gira a izquierda y derecha
+476=A帽adir residencia 
+477=Columpio 
+478=Patr贸n
+479=Velocidad
+480=Sensor ambiental 
+481=Puede empezar a usar el sensor ambiental 
+482=Sensor de gas
+483=Introduzca el c贸digo MAC del dispositivo
+484=Abierto
+485=Comprobar/Modificar
+486=Funci贸n de defensa/Estado de alarma 
+487=Objetivo de alarma despues de la activaci贸n 
+488=Paso de rostro
+489=Aplicar identificaci贸n facil a: 
+490=Control de acceso a la comunidad
+491=Acerda de identificacion facil y privacidad 
+492=Borrar datos 
+493=Resetear identificaci贸n facial 
+494=Establecer identificaci贸n facial 
+495=Configuraci贸n paso de rostro
+496=No hay ningun estado de implementacion de tareas asociado 
+497=Personalizado
+498=Implementaci贸n retrasada
+499=Agregar funci贸n de defensa
+500=Agregar destino de alarma
+501=Alarma de seguridad: se activa en {0}
+502=Borrar la alarma de seguridad?
+503=Exceso de estandar 
+504=Bueno
+505=Excelente
+506=Indentificacion facil ingresada correctamente
+507=Ingreso identificaci贸n facil fallida
+508=Formaldeh铆do
+509=Introduzca el nombre de seguridad
+510=Seleccione el destino de implementaci贸n 
+511=Atenuaci贸n combinada
+512=Mensajes no estan habilitados, vaya a configuraci贸n
+513=Introduzca el codigo de emparejamiento
+514=La informaci贸n de la ubicaci贸n del gateway no est谩 configurada
+515=Agregar seguridad
+516=Withdrawal
+------
+517=Instantaneous value
+518=Cumulative power consumption
+519=Voltage (V)
+520=Electric Current (A)
+521=Power (W)
+522=Refresh
+523=Delay alarm
+524=Bypass
+525=Enable
+526=Cancel account
+527=Homekit support notes
+528=Firmware update
+529=
+530=In order to prevent the wrong touch and click of opening and closing the door and ensure family safety, please enter your door lock password.
+531=Password free unlocking within five minutes
+532=The device is offline and cannot be operated temporarily
+533=Statistical Chart
+534=Data
+535=Dew point temperature
+536=Temperature statistics
+537=Humidity statistics
+538=Uint
+
+
+1000=Humedad de ambiente
+1001=V-chip
+1002=Ani贸n
+1003=Estirilizaci贸n
+1004=Humidificar
+1005=Restablecimiento del elemento de filtro
+1006=Iluminaci贸n
+1007=Autom谩tico
+1008=Manual
+1009=Fuerte
+1010=Dormir
+1011=Tiempo
+1012=Velocidad del viento
+1013=Engranaje 
+1014=Confirme si el elemento filtrante se ha restablecido y opere el equipo de acuerdo con el manual de instrucciones para que la vida 煤til del elemento filtrante se vuelva a cronometrar
+1015=Marcha baja
+1016=Engranaje medio
+1017=Marcha alta
+1018=Configuraci贸n de temportizaci贸n 
+1019=Hora
+1020=Tiempo del elemento de filtro: 
+1021=Filtro de aire
+1022=Velocidad actual del viento 
+1023=Cancelar tiempo 
+1024=Robot de barrido de pisos 
+1025=Succi贸n 
+1026=1掳 Marcha 
+1027=2掳 Marcha 
+1028=3掳 Marcha 
+1029=Carga 
+1030=Voz 
+1031=Silenciar 
+1032=Modo de limpieza
+1033=Gestion de consumibles
+1034=Historia
+1035=Autom谩tico
+1036=Aleatorio
+1037=Muro
+1038=Espiral
+1039=脕rea total limpia
+1040=Tiempo total de limpieza
+1041=Vida 煤til restante del cepillo lateral 
+1042=Vida 煤til residual del cepillo de rodillos 
+1043=Vida 煤til restante de la pantalla de filtro
+1044=Restablecer pincel de bordes
+1045=Restablecer cepillo de rollo
+1046=Restablecer pantalla
+1047=Confirmar para restablecer el pincel de bordes? 
+1048=Confirmar para restablecer el cepillo de rollo? 
+1049=Confirmar para restablecer la pantalla? 
+1050=Agregar dispositivo
+1051=Mini control remoto inteligente
+1052=Agregar control remoto por infrarrojos 
+1053=Presione el bot贸n del control remoto infrarrojo{0} durante 3 segundos y la luz indicadora{0} se enciende en azul r谩pidamente
+1054=Aseg煤rese de que su Bluetooth{0} est茅 activado y se pueda buscar
+1055=Siguiente paso
+1056=Buscando dispositivo鈥�
+1057=No se ha encontrado ning煤n mando a distancia por infrarrojos
+1058=1.Compruebe si el dispositivo est谩{0} encendido normalmente{0}2.Compruebe si la funci贸n Bluetooth{0} est谩 activada normalmente{0}3.Compruebe si el indicador{0} luz parpadea en azul
+1059=Buscar de nuevo
+1060=Conectar WiFi
+1061=En la actualidad, solo es compatible con la red WiFi 2.4G{0} y no admite nombres WiFi{0} con caracteres chinos
+1062=Contrase帽a
+1063=Conectando鈥�
+1064=Haga que el control remoto por infrarrojos{0} lo m谩s cerca posible del enrutador WiFi
+1065=Enlace de red
+1066=Subir a nube
+1067=Conectado con 茅xito 
+1068=1.Compruebe si el dispositivo est谩{0} encendido normalmente{0}2.Active la funci贸n Bluetooth{0}3.Presione el bot贸n durante 10 s y el indicador{0} luz estar谩 encendida
+1069=Error al agregar 
+1070=Agregado con 茅xito
+1071=隆Puedes empezar a usar el control infrarrojo{0}remote!
+1072=Empezar a usar 
+1073=Por favor encender Bluethooth
+1074=Informaci贸n de ubicaci贸n (GBS) no disponible
+1075=Red no disponible
+1076=Seleccione el mando a distancia por infrarrojos
+1077=Aire fresco
+1078=Pantalla de filtro residual 
+1079=Energia 
+1080=Ventilado
+;鍒�
+1081=1掳 Marcha 
+1082=2掳 Marcha 
+1083=3掳 Marcha 
+1084=1掳 Marcha 
+1085=2掳 Marcha 
+1086=3掳 Marcha 
+1087=Desbloquear 
+1088=Temp. Contrase帽a
+1089=Conectado 
+1090=Desconectado 
+1091=Generar 
+1092=Tiempo efectivo 
+1093=Tiempo de caducidad
+1094=Seleccionar hora 
+1095=Seleccionar fecha
+1096=Generar 
+1097=Se ha copiado la contrase帽a actual 
+1098=Borrar contrase帽a?
+1099=El tiempo de caducidad debe ser posterior al tiempo efectivo 
+1100=M茅todo de desbloqueo
+1101=Se sincronizar谩 con el bloqueo real, 驴confirmar para eliminar?
+1102=Borrar 
+1103=Comentar 
+1104=El comentario no puede estar en blanco
+1105=Asignar a: 
+1106=Escena de destino no existe 
+1107=Seleccionar escena
+1108=Desbloquear 
+1109=Siempre encendido
+1110=Configuraci贸n
+1111=Automatizaci贸n 
+1112=Activar el modo "Siempre encendido" 
+1113=Desactivar el modo "Siempre encendido"
+1114=Editar 
+1115=Siempre Encendido estar谩 apagado {0}
+1116=Condici贸n
+1117=Movimiento 
+1118=Siempre encendido
+1119=Bloquear 
+1120=Usuario
+1121=M茅todo de desbloqueo
+1122=Huella digital 
+1123=Tarjeta 
+1124=Clave
+1125=Informaci贸n
+1126=Desbloquear 
+1127=Alarma 
+1128=Sin conexi贸n 
+1129=Para el primer usuario, introduzca la contrase帽a.
+1130=Introduzca la contrase帽a de administrador
+1131=Enlace correcto
+1132=Saltar a la contrase帽a personal para desbloquear 
+1133=Saltar 
+1134=Por favor, dibuja tu patr贸n 
+1135=El bloqueo estar谩 siempre encendido despu茅s de la configuraci贸n, confirme para continuar
+1136=Confirmar 
+1137=Caducar 
+1138=Siempre Encendido caducar谩 despues de {0} horas
+1139=Introduzca el tiempo de caducidad 
+1140=El tiempo de caducidad no debe ser superior a 72 horas
+1141=El tiempo de caducidad no debe ser inferior a 1 hora
+1142=Error al establecer conexi贸n, intentelo de nuevo 
+1143=No se puede verificar el ID de administrador, vuelva a iniciar sesi贸n en la cuenta
+1144=Su residencia est谩 siendo migrada a otro HDL
+1145=Nota: 
+1. Todos sus datos de residencia se migrar谩n a un nuevo usuario. {0} 2. Despu茅s de la migraci贸n, el miembro original ser谩{0}autom谩ticamente desvinculado de esta residencia. {0} 3. La nueva cuenta es una HDL v谩lida. {0} 4. La cuenta del receptor no puede ser la misma{0} que la del lado de la migraci贸n.
+1147=Confirmar 
+1148=Cuenta del receptor de entrada
+1149=Perfil 
+1150=Confirmar migraci贸n de administrador de {0} a {1}
+1151=La cuenta no existe
+1152=No transferir la propiedad a usted mismo
+1153=Terminar
+1154=Transferir al usuario, por favor espere...
+1155={0} se ha convertido en administrador residencial
+1156=Los datos de residencia se eliminar谩n de su cuenta
+1157=No se puede migrar
+1158=Int茅ntelo de nuevo
+1159=Migraci贸n de la autoridad de administraci贸n
+1160=Su autoridad de administraci贸n se est谩 migrando a otros miembros
+1161=1.Sus datos (datos en la nube) de la residencia ser谩n{0}migrabados al nuevo administrador{0}2.Sus datos se intercambiar谩n con el miembro objetivo{0}y su permiso se cambiar谩 al miembro objetivo{0}
+1162=Confirmar
+1163=No hay miembros para elegir
+1164=Confirmar la migraci贸n de la autoridad de administraci贸n de {0} a {1}
+1165=Migrar correctamente
+1166=No se puede migrar
+1167=Migrar correctamente, y sus permisos se convertir谩n en miembros normales
+
+4000=Videoportero
+4001=Registro de llamadas 
+4002=*Los registros en la nube solo se conservan durante 30 d铆as
+4003=Llamada telef贸nica a domicilio
+4004=Contestado
+4005=Desbloqueado
+4006=A帽o
+4007=De
+4008=Llamada
+4009=Desbloqueado
+4010=Perdido
+4011=Rechazado
+4012=隆Los par谩metros de configuraci贸n son anormales!
+4013=C贸digo QR de control de acceso
+4014=Contrase帽a temporal 
+
+
+
+
+
+5000=Musica 
+5001=Grupo 
+5002=Configuracion 
+5003=Informaci贸n general 
+5004=Reproductor multimedia 
+5005=Bluetooth
+5006=Region 
+5007=Lista de canciones
+5008=Mis favoritos
+5009=Mi lista 
+5010=Seleccionar fuente 
+5011=Local
+5012=USB
+5013=Radio en linea
+5014=QQ musica
+5015=Bluetooth
+5016=Entrada de linea 
+5017=Revisar el nombre 
+5018=Individual
+5019=Juego aleatorio
+5020=Lista
+5021=Ha cambiado a: 
+5022=Cancelar 
+5023=Borrar 
+5024=Editar 
+5025=El nombre de la lista es el mismo
+5026=El nombre de la lista esta en blanco 
+5027=Introduzca el nombre de la lista 
+5028=Agregar nueva lista 
+5029=Preguntar 
+5030=Eliminar la carpeta o no? 
+5031=Confirmar 
+5032=El nombre est谩 en blanco 
+5033=A帽adido a la lista de canciones
+5034=Radio
+5035=Seleccionar grupo 
+5036=Play
+5037=Seleccione al menos mas de 2 reproductores multimedia
+5038=No se pueden seleccionar 2 o m谩s de 2 reproductores multimedia principales para convertirse en un grupo
+5039=No ha seleccionado el reproductor multimedia 
+5040=Seleccione esta opci贸n para quitar el reproductor multimedia 
+5041=No se ha seleccionado quitar el reproductor multimedia 
+5042=Configurando 
+5043=Borrando鈥�
+5044=Volumen
+5045=Volumen general
+5046=Ajustar volumen 
+5047="QQ music" no se ha instalado en su tel茅fono celular, proceda en el Centro de aplicaciones.
+
+6000=Normal 
+6001=Estado del dispositivo
+6002=piezas
+6003=Dispositivo de control IR actual
+6004=Se ha a帽adido el mando a distancia 
+6005=AC
+6006=TV 
+6007=Ventilador 
+6008=Decodificador
+6009=DVD
+6010=Proyector 
+6011=Personalizado
+6012=IR Control
+6013=Administraci贸n de dispositivos 
+6014=Agregar mando de distancia
+6015=En linea 
+6016=Sin conexi贸n 
+6017=N煤mero de version
+6018=Introduzca el nombre de mando a distancia 
+6019=Recordatorio: Despu茅s de crear el mando a distancia, se puede encontrar y utilizar en Function-Electrical Category{\r\n}
+6020=Boton recomendado
+6021=Introduzca el nombre del bot贸n 
+6022=Siguiente
+6023=Potencia
+6024=Volumen+
+6025=Volumen-
+6026=Channel+
+6027=Channel-
+6028=Subir 
+6029=Bajar
+6030=Izquierda
+6031=Derecha
+6032=Silenciar
+6034=Confirmar
+6035=Reproducir
+6037=Salir 
+6038=Menu
+6039=Pausar
+6040=Volver
+6041=Detener
+6042=Pagina de inicio
+6043=Avance r谩pido 
+6044=Rebobinar 
+6045=Tiempo 
+6046=Copiar funcion de control remoto
+6047=Apunta al centro del mando a distancia y pulsa el mismo bot贸n
+6048=Mando a distancia inteligente
+6049=Agregar bot贸n 
+6050=*Pulsaci贸n larga para la clasificaci贸n personalizada
+6051=Hecho
+6052=Agregado correctmente 
+6053=Se puede clasificar -funcion-operaci贸n electrica y uso 
+6054=Clasificaci贸n
+6055=Nombre del mando a distancia 
+6056=Regi贸n 
+6057=Continuar agregando
+6058=El茅ctrico
+6059=Error al agregar 
+6060=Reintentar
+6061=Hacer coincidir el mando a distancia
+6062=Haga clic en el bot贸n de abajo
+6063=Confirmar si el dispositivo esta respondiendo
+6064=Error de control 
+6065=Control exitoso 
+6066=Encendido 
+6067=Modo de enfriamiento
+6068=
+6069=Temperatura 26掳
+6070=Eliminar dispositivo
+6071=Modificar nombre
+6072=Confirmar eliminaci贸n 
+6073=Cancelar
+6074=El mando a distancia no puede superar los 10 puntos
+6075=El 谩rea donde pertenece el control remoto: 
+6076=Editar informaci贸n
+6077=Actualizaci贸n de la versi贸n 
+6078=El sistema est谩 en mantenimiento ~ Int茅ntelo de nuevo m谩s tarde ~
+6079=Error al obtener datos
+6080=Esta funcion no se admite temporalmente
+6081=Seleccionar banda IR
+6082=
+6083=Baja velocidad
+6084=Interruptor de velocidad del viento
+6085=Alta velocidad 
+6086=Auto
+6087=Temperatura+
+6088=Temperatura-
+6089=Purificador de aire
+6090=Calentador de agua
+6091=Producto no existe
+6092=El dispositivo no existe
+6093=El dispositivo no esta en linea
+6094=El dispositivo de puerta de enlace no existe
+6095=Mas de 30 botondes de adici贸n 
+6000=Renombrar
+6001=Introduzca el nombre
+6002=Xiaodu
+6003=aispeech
+6004=El sistema est谩 en mantenimiento ~ Int茅ntelo de nuevo m谩s tarde ~
+6005=Desvinculado
+6006=Altavoz inteligente
+6007=Controlar contenido
+6008=Error al cagar datos 
+6009=Error al configurar datos 
+6010="Todav铆a no hay altavoz", "Vaya a la aplicaci贸n de terceros para vincular el altavoz inteligente".
+6011=La modificaci贸n de los comentarios no tiene 茅xito
+6012=Quieres desvincularte? 
+6013=Desvinculaci贸n 
+6014=transferir a app de terceros 
+6015=A帽adir altavoces
+7000=Crear automatizaci贸n
+7001=Etidar automatizaci贸n
+7002=Si
+7003=Cuando cumple las siguientes condiciones al mismo tiempo
+7004=Cundo cumple una de las condiciones siguintes
+7005=Continuar con la ejecuci贸n 
+7006=L asiguiente acci贸n 
+7007=M茅todo de reciclaje 
+7008=Ejecutar una vez
+7009=Todos los d铆as
+7010=Cada semana 
+7011=Cada mes
+7012=Guardar
+7013=Mensaje push
+7014=Enviar notificaci贸n 
+7015=Seleccionar la condici贸n 
+7016=Momento 
+7017=Seleccione la condici贸n de tiempo 
+7018=Hora
+7019=Intervalo de tiempo 
+7020=Hora 
+7021=Minuto 
+7022=Segundo 
+7023=Cancelar 
+7024=Seguro 
+7025=*Debe ejecutar la automatizaci贸n que establezca una vez durante el intervalo de tiempo establecido.
+7026=Hora de inicio
+7027=Hora de finalizaci贸n 
+7028=Funci贸n
+7029=Seleccionar condici贸n funcional
+7030=Toda la regi贸n 
+7031=Toda la funci贸n 
+7032=Encendido
+7033=Apagado
+7034=Conmutador 
+7035=Completo
+7036=Agregar ejecuci贸n 
+7037=Lunes 
+7038=Martes
+7039=Mi茅rcoles
+7040=Jueves
+7041=Viernes
+7042=S谩bado
+7043=Domingo 
+7044=Cumplir con la condici贸n 
+7045=Configuraci贸n 
+7046=Nombre
+7047=Cambiar el nombre
+7048=El nombre de la automatizaci贸n ya existe 
+7049=Eliminar automatizaci贸n o no? 
+7050=Agregar escena
+7051=Retraso
+7052=No se puede guardar, int茅ntelo de nuevo
+7053=No se puede eliminar, int茅ntelo de nuevo
+7054=Pausar
+7055=Brillo
+7056=Porcentaje 
+7057=Modo
+7058=Enfriamiento
+7059=Calefacci贸n 
+7060=Autom谩tico
+7061=Deshumidificar 
+7062=Temperatura 
+7063=Velocidad de ventilador 
+7064=D铆a 
+7065=Noche 
+7066=Abandonar 
+7067=General 
+7068=Tiempo 
+7069=No ha configurado la automatizaci贸n, procesa a configurar 
+7070=Nada est谩 aqu铆 
+7071=No se ha establecido la hora de inicio, por favor configurar 
+7072=La hora de finalizaci贸n no se ha establecido, por favor estableza 
+7073=La hora de inicio y la hora de finalizacion no deben ser las mismas
+7074=La hora de inicio no debe ser mayor a la hora de finalizaci贸n 
+7075=La condicion no debe estar en blanco 
+7076=Target no debe estar en blanco 
+7077=La hora no se ha establecido, por favor establezca 
+7078=L a condici贸n o el objetivo no deben estar en blanco 
+7079=L a puerta de enlace esta fuera de l铆nea 
+7080=Salida/Puesta de sol/Mediod铆a
+7081=Amanecer 
+7082=Puesta de sol 
+7083=Mediod铆a 
+7084=A tiempo 
+7085=Avance 
+7086=Minutos
+7087=Cambio exterior 
+7088=Seleccionar condicion de cambio al aire libre
+7089=Temperatura exterior, humedad, cambio de PM2.5
+7090=Cambio de clima (clima urbano) 
+7091=Cambio en el entorno exterior 
+7092=Temperatura superior a 
+7093=Temperatura inferior
+7094=Humedad superior a 
+7095=Humedad por debajo 
+7096=PM2.5 supeior a
+7097=PM2.5 por debajo 
+7098=D铆a soleado
+7099=Nublado 
+7100=
+7101=*Establezca el valor en este rango (1 ~ 100).
+7102=Sin valor establecido 
+7103=Excelente: 0 ~ 35ug/m3
+7104=Bueno: 36 ~ 75ug/m3
+7105=Contaminaci贸n lum铆nica: 76 ~ 115ug/m3
+7106=Contaminaci贸n moderada: 116 ~ 150ug/m3
+7107=Contaminaci贸n intensa: > 150ug/m3
+7108=Fuga/Sin fuga
+7109=Fuga
+7110=Sin fuga
+7111=Fuga de agua/sin fugas de agua
+7112=Fuga de agua 
+7113=Sin fuga de agua 
+7114=Alguien/Nadie
+7115=Alguien
+7116=Nadie
+7117=Abierto/Cerrado
+7118=Activado
+7119=Cerrar
+7120=Funci贸n anti-desmantelamiento
+7121=En linea 
+7122=Fuera de linea 
+7123=Calidad del aire
+7124=Excelente
+7125=Bueno
+7126=Pobre
+7127=Enviar notificaci贸n 
+7128=Contenido de la notificaci贸n 
+7129=(dentro de los 100 caracteres)
+7130=Selecci贸n de cuenta
+7131=Aplicaci贸n push 
+7132=Automatizaci贸n 
+7133=Ejecutado
+7134=Estado de destino
+7135=Ca铆da
+7136=Temperatura
+7137=Humedad 
+7138=PM2.5
+7139=CO2
+7140=TVOC
+7141=Exceder 
+7142=Grave
+7143=Alto 
+7144=Excelencia 
+7145=Seguridad 
+7146=A帽adir seguridad
+7147=Armado 
+7148=Desarmado
+7149=Manualmente
+7150=Inteligente
+7151=Bueno 
+7152=Dejar o Arrivar a un lugar 
+7153=Salir 
+7154=Llegar 
+9000=Inicio sesi贸n con un nuevo n煤mero de tel茅fono celular 
+9001=Inicie sesi贸n con una nueva direcci贸n de correo el茅ctr贸nico 
+9002=Nuevo numero de celular revisado
+9003=Nuevo numero de celular enlazado
+9004=Nueva direcci贸n de correo electr贸nico revisado
+9005=Nueva direcci贸n de correo electr贸nico enlazado 
+9006=El c贸digo de verificaci贸n puede enviarse m谩s tarde, espere.
+9007=Por favor, espere
+9008=Volver 
+9009=El usuario no desea ser nombrado
+9010=Nueva contrase帽a 
+9011=Introduzca la nueva contrase帽a nuevamente
+9012=De acuerdo 
+9013=Acuerdo de servicio 
+9014=Normativa de protecci贸n de la informaci贸n del usuario
+9015=y
+9016=Lea y acepte el Acuerdo de servicio del usuario y las regulaciones de protecci贸n de la informaci贸n del usuario.
+9017=Esta seguro de cerrar sesi贸n?
+9018=Seleccione pais/regi贸n 
+9019=Actualizar ahora
+9020=Ahora no 
+9021=Pa铆s/regi贸n 
+9022=Informaci贸n del servidor 
+9023=Servidor actual 
+9024=*El servidor hace referencia a la base de datos para la nube, sin necesidad alguna, no se recomienda realizar migraci贸n de datos.
+9025=Si es necesaria la migraci贸n de datos, marque
+9026=Introducci贸n a la funci贸n 
+9027=Quejas 
+9028=Actualizaci贸n de la versi贸n 
+9029=(por favor indique "quejas" en el t铆tulo, luego procesaremos en prioridad.)
+9030=Copia realizada
+9031=No hay nada aqu铆 
+9032=Obtener nueva versi贸n 
+9033=脷ltima versi贸n 
+9034=Que puedo hacer por ti? 
+9035=Problema de funci贸n 
+9036=Problema de escena
+9037=Soporte de aplicaciones 
+9038=(Preguntas frecuentes) 
+9039=Compartir y funci贸n 
+9040=Alertas 
+9041=Informaci贸n del sistema 
+9042=Centro de informaci贸n 
+9043=Tenga en cuenta que su n煤mero de cuenta ha iniciado sesi贸n en otro lugar. Si no lo hace usted mismo, cambie la contrase帽a de inmediato.
+9044=Cargado correctamente
+9045=No se puede cargar 
+9046=Revisado correctamente
+9047=La contrase帽a que ha revisado ha entrado en vigor, vuelva a iniciar sesi贸n.
+9048=Iniciar sesion con la contrase帽a del numero de cuenta 
+9049=Contrase帽a incorrecta para muchas veces, 隆el n煤mero de cuenta est谩 bloqueado!
+9050=Verificar la identificaci贸n facial 
+9051=Error al guardar la identificaci贸n facial del usuario 
+9052=La notificaci贸n push de registro esta disponible 
+9053=La notificaci贸n push de registro es anormal 
+9054=Verificaci贸n numerica de contrase帽a 
+9055=Verificaci贸n de gestos 
+9056=A帽o 
+9057=Sin funci贸n regional 
+9058=Guardar o no?
+9059=No compartir ahora 
+9060=Usos-permiso 
+9061=Encuentra tu contrase帽a haciendo clic en "Olvid茅 mi contrase帽a", o int茅ntalo de nuevo en {0} minuto.
+9062=Comprobar 
+9063=Todav铆a tienes {0} veces.
+9064=Altavoz inteligente
+9065=Gesti贸n de datos 
+9066=Comentarios
+9067=Los comentarios no pueden estar en blanco 
+9068=Desea desvincularse? 
+9069=Aviso de propiedad
+10000=Contrasela no v谩lida, vuelva a iniciar sesi贸n 
+10001=Error al solicitar el servidor, int茅ntelo de nuevo m谩s tarde.
+10002=Mantenimiento del sistema, int茅ntalo de nuevo mas tarde 
+10003=No puede iniciar sesi贸n, agregue la residencia al principio.
+10004=El n煤mero de cuenta ya existe
+10005=Env铆as el c贸digo de verificaci贸n con demasiada frecuencia, int茅ntalo de nuevo m谩s tarde.
+10006=Error de firma 
+10007=Sistema ocupado, intentelo de nuevo mas tarde! 
+10008=Contrasea no v谩lida para iniciar sesi贸n 
+10009=El usuario ha sido deshabilitado 
+10010=Error de contrase帽a original 
+10011=El n煤mero de subcuenta ya existe 
+10012=El npumero de subcuenta no existe 
+10013=No esta permitido agregarse como miembro 
+10014=La residencia actual no pertenece al este n煤mero de cuenta 
+10015=El nombre de la residencia ya existe 
+10016=La residencia no existe 
+10017=Error de solicitud, par谩metro anormal! 
+10018=El n煤mero que enlazaste es duplicado 
+10019=Enlazar el gateway primero 
+10020=El gateway no existe 
+10021=El gateway esta fuera de l铆nea
+10022=El dispositivo est谩 fuera de l铆nea 
+10023=Error de control 
+10024=La escena ya existe 
+10025=La automatizaci贸n ya existe 
+10026=Spk no admite esta funci贸n 
+10027=Spk no admite este valor funcional 
+10028=No tienes permiso 
+10029=El destino del dispositivo est谩 duplicado 
+10030=No tiene permiso para el control remoto 
+10031=El dispositivo no debe estar en blanco 
+10032=El usuario no  tiene permiso 
+10033=El dispositivo no existe
diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/hvaccac_blue.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/hvaccac_blue.png
new file mode 100644
index 0000000..addcd70
--- /dev/null
+++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/hvaccac_blue.png
Binary files differ
diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/hvaccac_white.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/hvaccac_white.png
new file mode 100644
index 0000000..c63e9e3
--- /dev/null
+++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/hvaccac_white.png
Binary files differ
diff --git a/HDL-ON_Android/Assets/Phone/Public/dialogBg2.png b/HDL-ON_Android/Assets/Phone/Public/dialogBg2.png
new file mode 100644
index 0000000..2c28530
--- /dev/null
+++ b/HDL-ON_Android/Assets/Phone/Public/dialogBg2.png
Binary files differ
diff --git a/HDL-ON_Android/HDL-ON_Android.csproj b/HDL-ON_Android/HDL-ON_Android.csproj
index 8bf78f3..e235da9 100644
--- a/HDL-ON_Android/HDL-ON_Android.csproj
+++ b/HDL-ON_Android/HDL-ON_Android.csproj
@@ -233,6 +233,9 @@
     <AndroidAsset Include="Assets\Phone\FunctionIcon\CAC\DataIcon.png" />
     <AndroidAsset Include="Assets\Phone\FunctionIcon\CAC\JinMaoIcon.png" />
     <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\hvaccac.png" />
+    <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\hvaccac_blue.png" />
+    <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\hvaccac_white.png" />
+    <AndroidAsset Include="Assets\Phone\Public\dialogBg2.png" />
   </ItemGroup>
   <ItemGroup>
     <AndroidResource Include="Resources\values\colors.xml" />
diff --git a/HDL-ON_Android/Properties/AndroidManifest.xml b/HDL-ON_Android/Properties/AndroidManifest.xml
index a2a1833..cf1b3bd 100644
--- a/HDL-ON_Android/Properties/AndroidManifest.xml
+++ b/HDL-ON_Android/Properties/AndroidManifest.xml
@@ -1,5 +1,5 @@
 锘�<?xml version="1.0" encoding="utf-8"?>
-<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="202203171" android:versionName="1.5.5" package="com.hdl.onpro" xmlns:tools="http://schemas.android.com/tools">
+<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="202204081" android:versionName="1.5.6" package="com.hdl.onpro" xmlns:tools="http://schemas.android.com/tools">
 	<uses-sdk android:minSdkVersion="28" android:targetSdkVersion="30" />
 	<!--鍙嬬洘-->
 	<!--<uses-sdk android:minSdkVersion="8"></uses-sdk>-->
diff --git a/HDL-ON_Android/SplashActivity.cs b/HDL-ON_Android/SplashActivity.cs
index afcbe50..e5c0d5a 100644
--- a/HDL-ON_Android/SplashActivity.cs
+++ b/HDL-ON_Android/SplashActivity.cs
@@ -142,6 +142,10 @@
                 {
                     Language.CurrentLanguage = "Chinese";
                 }
+                else if(localeList.Language == "es")
+                {
+                    Language.CurrentLanguage = "Spanish";
+                }
                 else
                 {
                     Language.CurrentLanguage = "English";
diff --git a/HDL-ON_iOS/AppDelegate.cs b/HDL-ON_iOS/AppDelegate.cs
index 52a4be6..17392d8 100644
--- a/HDL-ON_iOS/AppDelegate.cs
+++ b/HDL-ON_iOS/AppDelegate.cs
@@ -237,6 +237,10 @@
                 //{
                 //    Language.CurrentLanguage = "russian";
                 //}
+                else if (NSLocale.PreferredLanguages[0].Contains("es-"))
+                {
+                    Language.CurrentLanguage = "Spanish";
+                }
                 else
                 {
                     Language.CurrentLanguage = "English";
diff --git a/HDL-ON_iOS/HDL-ON_iOS.csproj b/HDL-ON_iOS/HDL-ON_iOS.csproj
index 8c784f1..efe52e3 100644
--- a/HDL-ON_iOS/HDL-ON_iOS.csproj
+++ b/HDL-ON_iOS/HDL-ON_iOS.csproj
@@ -1392,6 +1392,9 @@
       <BundleResource Include="Resources\Phone\FunctionIcon\CAC\DataIcon.png" />
       <BundleResource Include="Resources\Phone\FunctionIcon\CAC\JinMaoIcon.png" />
       <BundleResource Include="Resources\Phone\FunctionIcon\Icon\hvaccac.png" />
+      <BundleResource Include="Resources\Phone\FunctionIcon\Icon\HomeIcon\hvaccac_blue.png" />
+      <BundleResource Include="Resources\Phone\FunctionIcon\Icon\HomeIcon\hvaccac_white.png" />
+      <BundleResource Include="Resources\Phone\Public\dialogBg2.png" />
     </ItemGroup>
     <ItemGroup>
       <ITunesArtwork Include="iTunesArtwork" />
diff --git a/HDL-ON_iOS/Info.plist b/HDL-ON_iOS/Info.plist
index fa35b4a..5e9bc21 100644
--- a/HDL-ON_iOS/Info.plist
+++ b/HDL-ON_iOS/Info.plist
@@ -100,9 +100,9 @@
 	<key>UIStatusBarStyle</key>
 	<string>UIStatusBarStyleLightContent</string>
 	<key>CFBundleShortVersionString</key>
-	<string>1.5.502203171</string>
+	<string>1.5.502204081</string>
 	<key>CFBundleVersion</key>
-	<string>1.5.503171</string>
+	<string>1.5.504081</string>
 	<key>NSLocationWhenInUseUsageDescription</key>
 	<string>Use geographic location to provide services such as weather</string>
 	<key>NSAppleMusicUsageDescription</key>
diff --git a/HDL-ON_iOS/Resources/Language.ini b/HDL-ON_iOS/Resources/Language.ini
index ddab725..b590d2b 100644
--- a/HDL-ON_iOS/Resources/Language.ini
+++ b/HDL-ON_iOS/Resources/Language.ini
@@ -518,6 +518,12 @@
 530=In order to prevent the wrong touch and click of opening and closing the door and ensure family safety, please enter your door lock password.
 531=Password free unlocking within five minutes
 532=The device is offline and cannot be operated temporarily
+533=Statistical Chart
+534=Data
+535=Dew point temperature
+536=Temperature statistics
+537=Humidity statistics
+538=Uint
 
 
 1000=Room Humidity
@@ -1659,6 +1665,12 @@
 530=涓洪槻姝㈠紑鍏抽棬鐨勮瑙︾偣鍑伙紝淇濊瘉瀹跺涵瀹夊叏锛岃杈撳叆鎮ㄧ殑闂ㄩ攣寮�闂ㄥ瘑鐮併��
 531=浜斿垎閽熷唴鍏嶅瘑鐮佸紑閿�
 532=璁惧绂荤嚎涓紝鏆傛椂鏃犳硶鎿嶄綔
+533=24灏忔椂缁熻鍥�
+534=鏁版嵁
+535=闇茬偣娓╁害
+536=娓╁害缁熻鍥�
+537=婀垮害缁熻鍥�
+538=鍗曚綅
  
 1000=瀹ゅ唴婀垮害
 1001=绔ラ攣
@@ -2781,6 +2793,12 @@
 530=In order to prevent the wrong touch and click of opening and closing the door and ensure family safety, please enter your door lock password.
 531=Password free unlocking within five minutes
 532=The device is offline and cannot be operated temporarily
+533=Statistical Chart
+534=Data
+535=Dew point temperature
+536=Temperature statistics
+537=Humidity statistics
+538=Uint
 
 
 
@@ -3403,3 +3421,6 @@
 10031=校褋褌褉芯泄褋褌胁芯 薪械 写芯谢卸薪芯 斜褘褌褜 锌褍褋褌褘屑.
 10032=校 锌芯谢褜蟹芯胁邪褌械谢褟 薪械褌 褉邪蟹褉械褕械薪懈褟.
 10033=校褋褌褉芯泄褋褌胁芯 薪械 褋褍褖械褋褌胁褍械褌.
+
+
+
diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/hvaccac_blue.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/hvaccac_blue.png
new file mode 100644
index 0000000..addcd70
--- /dev/null
+++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/hvaccac_blue.png
Binary files differ
diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/hvaccac_white.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/hvaccac_white.png
new file mode 100644
index 0000000..c63e9e3
--- /dev/null
+++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/hvaccac_white.png
Binary files differ
diff --git a/HDL-ON_iOS/Resources/Phone/Public/dialogBg2.png b/HDL-ON_iOS/Resources/Phone/Public/dialogBg2.png
new file mode 100644
index 0000000..2c28530
--- /dev/null
+++ b/HDL-ON_iOS/Resources/Phone/Public/dialogBg2.png
Binary files differ
diff --git a/HDL_ON/Common/R.cs b/HDL_ON/Common/R.cs
index 3156a9c..7cd6035 100644
--- a/HDL_ON/Common/R.cs
+++ b/HDL_ON/Common/R.cs
@@ -6,6 +6,10 @@
     {
 
         /// <summary>
+        /// 鍗曚綅
+        /// </summary>
+        public const int Uint = 538;
+        /// <summary>
         /// 婀垮害缁熻鍥�
         /// </summary>
         public const int HumidityStatistics = 537;
diff --git a/HDL_ON/DAL/Server/HttpServerRequest.cs b/HDL_ON/DAL/Server/HttpServerRequest.cs
index 4741b1c..0fdea4a 100644
--- a/HDL_ON/DAL/Server/HttpServerRequest.cs
+++ b/HDL_ON/DAL/Server/HttpServerRequest.cs
@@ -45,13 +45,17 @@
         /// <param name="deviceId">璁惧ID</param>
         /// <param name="deviceKey">鍔熻兘鏌ヨ绫诲瀷锛歱m25</param>
         /// <returns></returns>
-        public ResponsePackNew GetSensorHistory(string qType, string deviceId, string deviceKey)
+        public ResponsePackNew GetSensorHistory(string qType, string deviceId, string deviceKey,string time = "")
         {
             Dictionary<string, object> d = new Dictionary<string, object>();
             d.Add("type", qType);
             d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id);
             d.Add("deviceId", deviceId);
             d.Add("key", deviceKey);
+            if(time!= "")
+            {
+                d.Add("time", time);
+            }
 
             var requestJson = HttpUtil.GetSignRequestJson(d);
             return HttpUtil.RequestHttpsPost(NewAPI.Api_Post_EnvironmentalSensorHistoricalData, requestJson);
diff --git a/HDL_ON/DAL/ThirdPartySdk/ESOnVideo.cs b/HDL_ON/DAL/ThirdPartySdk/ESOnVideo.cs
index 3461c4b..016de0c 100644
--- a/HDL_ON/DAL/ThirdPartySdk/ESOnVideo.cs
+++ b/HDL_ON/DAL/ThirdPartySdk/ESOnVideo.cs
@@ -109,7 +109,7 @@
             }else if (interphoneType == InterphoneType.HDL.ToString())
             {
                 //HDLLinphone 鐙勮�愬厠
-                HDLLinphone.Current.ShowESVideoMonitor(mESVideoInfo);
+                HDLLinphone.Current.ShowESVideoMonitor(mESVideoInfo,false);
             }
             else
             {
@@ -164,7 +164,7 @@
           
 
 #endif
-        }
+            }
 
         /// <summary>
         /// 琚懠鍙〉闈�
diff --git a/HDL_ON/DAL/ThirdPartySdk/HDLLinphone.cs b/HDL_ON/DAL/ThirdPartySdk/HDLLinphone.cs
index 854604f..56ec48f 100644
--- a/HDL_ON/DAL/ThirdPartySdk/HDLLinphone.cs
+++ b/HDL_ON/DAL/ThirdPartySdk/HDLLinphone.cs
@@ -397,7 +397,10 @@
 
             if (isCallIn)
             {
+#if __IOS__
+#else
                 HDLLinphoneKit.Instance.HangUp();
+#endif
             }
             else
             {
@@ -431,10 +434,10 @@
         }
 
 
-        #endregion
+#endregion
 
 
-        #region 鈻�  --  璺宠浆鍛煎彨椤甸潰_______________________________
+#region 鈻�  --  璺宠浆鍛煎彨椤甸潰_______________________________
         /// <summary>
         /// 鏀跺埌鎺ㄩ�侊紝鍚庡垽鏂懠鍙綇瀹呮槸鍚︿负褰撳墠浣忓畢锛屼笉鏄殑璇濋噸鏂拌幏鍙朣IP璐﹀彿骞剁櫥褰�
         /// </summary>
@@ -629,10 +632,10 @@
             return checkIncomingCallThread == null || checkIncomingCallThread.ThreadState != ThreadState.Running;
         }
 
-        #endregion
+#endregion
 
 
-        #region 鈻�  --  Android鐩稿叧鎿嶄綔_______________________________
+#region 鈻�  --  Android鐩稿叧鎿嶄綔_______________________________
 
 #if __Android__
 
@@ -727,13 +730,13 @@
         }
 
 #endif
-        #endregion
+#endregion
 
-        #region 鈻�  --  iOS鐩稿叧鎿嶄綔_______________________________
+#region 鈻�  --  iOS鐩稿叧鎿嶄綔_______________________________
 
 #if __IOS__
 
-        #region OnHDLLinphoneCallDelegate
+#region OnHDLLinphoneCallDelegate
         /// <summary>
         /// 
         /// </summary>
@@ -810,10 +813,10 @@
 
         }
 
-        #endregion
+#endregion
 #endif
 
-        #endregion
+#endregion
 
     }
 
diff --git a/HDL_ON/UI/MainPage.cs b/HDL_ON/UI/MainPage.cs
index 3acd47a..78a70a9 100644
--- a/HDL_ON/UI/MainPage.cs
+++ b/HDL_ON/UI/MainPage.cs
@@ -26,7 +26,7 @@
     /// <summary>
     /// 鐗堟湰鍙�
     /// </summary>
-    public static string VersionString = "1.5.5";
+    public static string VersionString = "1.5.6";
     ///// <summary>
     ///// 瀹㈡埛绔被鍨�
     ///// </summary>
@@ -111,6 +111,7 @@
             SPK.AirFreshStandard,SPK.HvacAirFresh,
             SPK.AirSwitch,
             SPK.PanelSocket,SPK.ElectricSocket,
+            SPK.HvacCac
         };
 
 
diff --git a/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/CacControlPage.cs b/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/CacControlPage.cs
index 7683c79..f4319c0 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/CacControlPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/CacControlPage.cs
@@ -251,7 +251,7 @@
 
             Button btnDataText = new Button()
             {
-                X = Application.GetRealWidth(215),
+                X = Application.GetRealWidth(212),
                 Y = btnWindSpeed.Bottom,
                 Width = Application.GetRealWidth(90),
                 Height = Application.GetRealHeight(20),
@@ -296,10 +296,10 @@
             modeChangeView = new FrameLayout()
             {
                 X = Application.GetRealWidth(30),
-                Y = Application.GetRealHeight(128),
+                Y = Application.GetRealHeight(128 + 135),
                 Width = Application.GetRealWidth(160),
-                Height = Application.GetRealHeight(287),
-                BackgroundImagePath = "FunctionIcon/AC/DivBg1.png",
+                Height = Application.GetRealHeight(152),
+                BackgroundImagePath = "Public/dialogBg2.png",
             };
             dialogView.AddChidren(modeChangeView);
 
diff --git a/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/CacDayHistoryPage.cs b/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/CacDayHistoryPage.cs
index 6a8adb8..71f5518 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/CacDayHistoryPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/CacDayHistoryPage.cs
@@ -13,9 +13,16 @@
         EchartsOption_BrokenLine brokenLine;
         MyEchartsViewOn myEchartsView_Line;
         string curQueryType = "hour";
-        public CacDayHistoryPage()
+        string queryTime;
+        string functionId;
+        string time;
+        public CacDayHistoryPage(string functionId,string queryType, string time)
         {
+            this.time = time;
+            this.functionId = functionId;
+            curQueryType = queryType;
             bodyView = this;
+            queryTime = time;
         }
 
 
@@ -33,6 +40,23 @@
                 Height = Application.GetRealHeight(603),
             };
             bodyView.AddChidren(contentView);
+
+            var btnTitle = new Button()
+            {
+                Height = Application.GetRealHeight(60),
+                TextAlignment = TextAlignment.Center,
+                TextSize = CSS_FontSize.SubheadingFontSize,
+                TextColor = CSS_Color.FirstLevelTitleColor,
+            };
+            if(curQueryType == "room_temp")
+            {
+                btnTitle.Text = queryTime + "瀹ゅ唴娓╁害鍘嗗彶鏁版嵁";
+            }
+            else
+            {
+                btnTitle.Text = queryTime + "瀹ゅ唴婀垮害鍘嗗彶鏁版嵁";
+            }
+            contentView.AddChidren(btnTitle);
 
 
             var historyDataView = new FrameLayout()
@@ -56,42 +80,43 @@
 
 #if DEBUG
 
-            List<string> vs = new List<string>() {
-                        "1","2","3","4","5","6","7","8","9","10","11","12","13","14"
-                    };
-            brokenLine.InitXdataText(vs);
-            brokenLine.InitYdataText("yData", new List<EnvironmentalSensorHistor>() {
-                new EnvironmentalSensorHistor{ fieldName = "1", fieldValue= "23"  },
-                new EnvironmentalSensorHistor{ fieldName = "2", fieldValue= "22"  },
-                new EnvironmentalSensorHistor{ fieldName = "3", fieldValue= "-11"  },
-                new EnvironmentalSensorHistor{ fieldName = "4", fieldValue= "21"  },
-                new EnvironmentalSensorHistor{ fieldName = "5", fieldValue= "-41"  },
-                new EnvironmentalSensorHistor{ fieldName = "6", fieldValue= "23"  },
-                new EnvironmentalSensorHistor{ fieldName = "7", fieldValue= "-31"  },
-                new EnvironmentalSensorHistor{ fieldName = "8", fieldValue= "-23"  },
-                new EnvironmentalSensorHistor{ fieldName = "9", fieldValue= "-11"  },
-                new EnvironmentalSensorHistor{ fieldName = "10", fieldValue= "-21"  },
-                new EnvironmentalSensorHistor{ fieldName = "11", fieldValue= "24"  },
-                new EnvironmentalSensorHistor{ fieldName = "12", fieldValue= "41"  },
-                new EnvironmentalSensorHistor{ fieldName = "13", fieldValue= "32"  },
-                new EnvironmentalSensorHistor{ fieldName = "14", fieldValue= "23"  }
-            }, "#FF9D54");
-            brokenLine.yTitle = "(鈩�)";
-            brokenLine.xTitle = "";
-            if (curQueryType != "hour")
-            {
-                brokenLine.xTitle = Language.StringByID(StringId.Date);
-            }
-            var opString = brokenLine.InitOption();
+            //List<string> vs = new List<string>() {
+            //            "1","2","3","4","5","6","7","8","9","10","11","12","13","14"
+            //        };
+            //brokenLine.InitXdataText(vs);
+            //brokenLine.InitYdataText("yData", new List<EnvironmentalSensorHistor>() {
+            //    new EnvironmentalSensorHistor{ fieldName = "1", fieldValue= "23"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "2", fieldValue= "22"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "3", fieldValue= "-11"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "4", fieldValue= "21"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "5", fieldValue= "-41"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "6", fieldValue= "23"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "7", fieldValue= "-31"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "8", fieldValue= "-23"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "9", fieldValue= "-11"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "10", fieldValue= "-21"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "11", fieldValue= "24"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "12", fieldValue= "41"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "13", fieldValue= "32"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "14", fieldValue= "23"  }
+            //}, "#FF9D54");
+            //brokenLine.yTitle = "(鈩�)";
+            //brokenLine.xTitle = "";
+            ////if (curQueryType != "hour")
+            ////{
+            ////    brokenLine.xTitle = Language.StringByID(StringId.Date);
+            ////}
+            //var opString = brokenLine.InitOption();
 
-                myEchartsView_Line.ShowWithOption(opString);
+            //    myEchartsView_Line.ShowWithOption(opString);
 #endif
+            LoadMothed_GetHistoryData();
         }
 
         /// <summary>
         /// 璇诲彇鍘嗗彶鏁版嵁
         /// </summary>
-        void LoadMothed_GetHistoryData(Function sr, bool isDel)
+        void LoadMothed_GetHistoryData()
         {
 
             var loadPage = new Loading()
@@ -109,8 +134,7 @@
                         loadPage.Start(Language.StringByID(StringId.PleaseWait));
                     });
 
-                    var sensorType = sr.spk.Split(".")[1];
-                    var revertObj = new HttpServerRequest().GetSensorHistory(curQueryType, sr.deviceId, "total_electricity");
+                    var revertObj = new HttpServerRequest().GetSensorHistory("day_hour", functionId, curQueryType,time);
                     if (revertObj != null)
                     {
                         if (revertObj.Code == StateCode.SUCCESS)
@@ -126,19 +150,28 @@
                                 }
                                 brokenLine.InitXdataText(vs);
                             }
-                            if (sr.GetAttribute("ydata") == null)
-                            {
-                                sr.attributes.Add(new FunctionAttributes() { key = "ydata" });
-                            }
-                            sr.SetAttrState("ydata", brokenLine.InitYdataText(sr.name, revertData, sr.GetAttrState("color")) + ",");
+                            //if (sr.GetAttribute("ydata") == null)
+                            //{
+                            //    sr.attributes.Add(new FunctionAttributes() { key = "ydata" });
+                            //}
+                            //sr.SetAttrState("ydata",
+                            brokenLine.InitYdataText("", revertData, "#FF9D54");// + ",");
                         }
                     }
-                    brokenLine.yTitle = Language.StringByID(StringId.EnergyConsumption) + "(kW)";
-                    brokenLine.xTitle = Language.StringByID(StringId.timeMode);
-                    if (curQueryType != "hour")
+                    brokenLine.yTitle = Language.StringByID(StringId.Uint);
+                    if(curQueryType == "room_temp")
                     {
-                        brokenLine.xTitle = Language.StringByID(StringId.Date);
+                        brokenLine.yTitle += ":掳C";
                     }
+                    else
+                    {
+                        brokenLine.yTitle += ":%";
+                    }
+                    brokenLine.xTitle = Language.StringByID(StringId.timeMode);
+                    //if (curQueryType != "hour")
+                    //{
+                    //    brokenLine.xTitle = Language.StringByID(StringId.Date);
+                    //}
                     var opString = brokenLine.InitOption();
 
                     Application.RunOnMainThread(() =>
diff --git a/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/CacHistoryChoosePage.cs b/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/CacHistoryChoosePage.cs
index 24d02f0..d9514ef 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/CacHistoryChoosePage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/CacHistoryChoosePage.cs
@@ -60,7 +60,7 @@
             };
             tempView.AddChidren(btnTempName);
             btnTempName.MouseUpEventHandler = (sender, e) => {
-                var page = new CacWeekHistoryPage(device,"temp");
+                var page = new CacWeekHistoryPage(device, "room_temp");
                 MainPage.BasePageView.AddChidren(page);
                 page.InitView();
                 MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
@@ -96,7 +96,7 @@
             };
             humidityView.AddChidren(btnHumidityName);
             btnHumidityName.MouseUpEventHandler = (sender, e) => {
-                var page = new CacWeekHistoryPage(device, "humidity");
+                var page = new CacWeekHistoryPage(device, "room_humidity");
                 MainPage.BasePageView.AddChidren(page);
                 page.InitView();
                 MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
diff --git a/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/CacWeekHistoryPage.cs b/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/CacWeekHistoryPage.cs
index 071bc9d..1f5553b 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/CacWeekHistoryPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/CacWeekHistoryPage.cs
@@ -12,13 +12,15 @@
     {
 
         CacWeekHistoryPage bodyView;
+            HorizontalScrolViewLayout dateHorView;
         Function device;
         /// <summary>
         /// 鏁版嵁鏄剧ず绫诲瀷
-        /// temp 娓╁害
-        /// humidity 婀垮害
+        /// room_temp 娓╁害
+        /// room_humidity 婀垮害
         /// </summary>
         string showType;
+            Dictionary<string, double> dataDic = new Dictionary<string, double>();
         public CacWeekHistoryPage(Function device,string type)
         {
             bodyView = this;
@@ -29,7 +31,15 @@
 
         public void InitView()
         {
-            new TopViewDiv(bodyView, "鏁版嵁").LoadTopView();
+            if (showType == "room_temp")
+            {
+                new TopViewDiv(bodyView, Language.StringByID(StringId.Temp)).LoadTopView();
+            }
+            else
+            {
+                new TopViewDiv(bodyView, Language.StringByID(StringId.Humidity)).LoadTopView();
+            }
+
 
 
             InitContentView();
@@ -55,116 +65,101 @@
                 TextColor = CSS_Color.FirstLevelTitleColor,
                 TextSize = CSS_FontSize.TextFontSize,
                 TextAlignment = TextAlignment.Center,
-                Text = "鏈�杩�7澶╂瘡澶╁钩鍧囧鍐呮俯搴︾粺璁″浘"
             };
+            if (showType == "room_temp")
+            {
+                btnTitle.Text = "鏈�杩�7澶╂瘡澶╁钩鍧囧鍐呮俯搴︾粺璁″浘";
+            }
+            else
+            {
+                btnTitle.Text = "鏈�杩�7澶╂瘡澶╁钩鍧囧鍐呮箍搴︾粺璁″浘";
+            }
             contentView.AddChidren(btnTitle);
 
             FrameLayout dataView = new FrameLayout()
             {
-                Y = Application.GetRealHeight(69),
+                Y = Application.GetRealHeight(39),
                 Gravity = Gravity.CenterHorizontal,
                 Width = Application.GetRealWidth(293),
-                Height = Application.GetRealHeight(336),
+                Height = Application.GetRealHeight(345 + 30),
             };
             contentView.AddChidren(dataView);
 
             Button btnUnit = new Button()
             {
-                Height = Application.GetRealHeight(15),
+                Height = Application.GetRealHeight(15 + 30),
                 TextAlignment = TextAlignment.CenterLeft,
                 TextColor = 0xFF43425D,
                 TextSize = 8,
-                Text = "鍗曚綅锛氣剝"
             };
+            if (showType == "room_temp")
+            {
+                btnUnit.Text = Language.StringByID(StringId.Uint) + "锛氣剝";
+            }
+            else
+            {
+                btnUnit.Text = Language.StringByID(StringId.Uint) + "%";
+            }
             dataView.AddChidren(btnUnit);
 
-            Dictionary<string, int> dataDic = new Dictionary<string, int>();
 #if DEBUG
-            dataDic.Add("0201", 20);
-            dataDic.Add("0202", -20);
-            dataDic.Add("0203", 10);
-            dataDic.Add("0204", 40);
-            dataDic.Add("0205", 20);
-            dataDic.Add("0206", 20);
-            dataDic.Add("0207", 20);
+            //dataDic.Add("0201", 49);
+            //dataDic.Add("0202", 20);
+            //dataDic.Add("0203", 10);
+            //dataDic.Add("0204", 49);
+            //dataDic.Add("0205", 20);
+            //dataDic.Add("0206", 20);
+            //dataDic.Add("0207", 48);
 
             //dataDic.Add("0201", -20);
             //dataDic.Add("0202", -20);
             //dataDic.Add("0203", -20);
-            //dataDic.Add("0204", -40);
+            //dataDic.Add("0204", -48);
             //dataDic.Add("0205", -20);
             //dataDic.Add("0206", -20);
             //dataDic.Add("0207", -20);
 #endif
 
-            DataItemView dataShowView = new DataItemView("0");
-            dataShowView.Height = Application.GetRealHeight(157 * 2 + 1);
-            dataShowView.Y = Application.GetRealHeight(21);
+            DataItemView dataShowView = new DataItemView("0",360);
+            //dataShowView.Height = Application.GetRealHeight(360);
+            dataShowView.Y = Application.GetRealHeight(30);
 
             List<string> items = new List<string>()
             {
-                "50","40","30","20","10","0","-10","-20","-30","-40","-50"
+                "100","90","80","70","60","50","40","30","20","10","0"
             };
+            if (showType == "room_temp")
+            {
+                items = new List<string>()
+                {
+                    "50","40","30","20","10","0","-10","-20","-30","-40","-50"
+                };
+            }
             int index = 0;
-            foreach(var item in items)
+            foreach (var item in items)
             {
                 DataItemView dataItemView;
-                if(item == "0")
+                if (item == "0" )
                 {
                     dataItemView = dataShowView;
+                    index++;
                 }
                 else
                 {
-                    dataItemView = new DataItemView(item);
-                    dataItemView.Y = index * Application.GetRealHeight(30) + Application.GetRealHeight(15);
+                    dataItemView = new DataItemView(item,30);
+                    dataItemView.Y = ++index * Application.GetRealHeight(30) + Application.GetRealHeight(15);
                 }
-                dataItemView.InitView();
+                dataItemView.InitView(showType == "room_temp");
                 dataView.AddChidren(dataItemView);
-                index++;
             }
-
-            RefrshDataView(dataDic, dataShowView);
-
+            dateHorView = new HorizontalScrolViewLayout()
             {
-                var dateHorView = new HorizontalScrolViewLayout()
-                {
-                    X = Application.GetRealWidth(51),
-                    Y = dataView.Bottom + Application.GetRealHeight(11),
-                    Width = Application.GetRealWidth(267),
-                    Height = Application.GetRealHeight(26),
-                };
-                contentView.AddChidren(dateHorView);
-
-                foreach(var dic in dataDic)
-                {
-                    FrameLayout dateView = new FrameLayout()
-                    {
-                        Width = Application.GetRealWidth(39),
-                        Height = Application.GetRealHeight(26),
-                    };
-                    dateHorView.AddChidren(dateView);
-
-                    Button btnLineh = new Button()
-                    {
-                        Width = 1,
-                        Height = Application.GetRealHeight(4),
-                        Gravity = Gravity.CenterHorizontal,
-                        BackgroundColor = 0xFFDBDBDB
-                    };
-                    dateView.AddChidren(btnLineh);
-
-                    Button btnDate = new Button()
-                    {
-                        Y = Application.GetRealHeight(12),
-                        Height = Application.GetRealHeight(14),
-                        TextColor = 0xFF43425D,
-                        TextSize = 10,
-                        Text = dic.Key,
-                    };
-                    dateView.AddChidren(btnDate);
-                }
-
-            }
+                X = Application.GetRealWidth(48),
+                Y = dataView.Bottom,// - Application.GetRealHeight(19),
+                Width = Application.GetRealWidth(267),
+                Height = Application.GetRealHeight(26),
+            };
+            contentView.AddChidren(dateHorView);
 
             Button btnTip = new Button()
             {
@@ -178,18 +173,82 @@
             bodyView.AddChidren(btnTip);
 
 
-            new System.Threading.Thread(() => {
-                var revertObj = new HttpServerRequest().GetSensorHistory("week", device.deviceId, "room_temp");
+            new System.Threading.Thread(() =>
+            {
 
-            }) { IsBackground = true }.Start();
+                var revertObj = new HttpServerRequest().GetSensorHistory("week", device.deviceId, showType);
+                if (revertObj.Code == StateCode.SUCCESS)
+                {
+                    var revertData = Newtonsoft.Json.JsonConvert.DeserializeObject<List<EnvironmentalSensorHistor>>(revertObj.Data.ToString());
+                    foreach (var reObj in revertData)
+                    {
+                        double value = 0;
+                        try
+                        {
+                            value = Convert.ToDouble(reObj.fieldValue);
+                        }
+                        catch { }
+                        dataDic.Add(reObj.time, value);
+                    }
+                    Application.RunOnMainThread(() =>
+                    {
+                        RefrshDataView(dataDic, dataShowView);
+                        RefreshXtext();
+                    });
+
+                }
+            })
+            { IsBackground = true }.Start();
         }
 
-        void RefrshDataView(Dictionary<string,int> dataDic, DataItemView dataShowView)
+        void RefreshXtext()
+        {
+            dateHorView.RemoveAll();
+
+            foreach (var dic in dataDic)
+            {
+                FrameLayout dateView = new FrameLayout()
+                {
+                    Width = Application.GetRealWidth(39),
+                    Height = Application.GetRealHeight(26),
+                };
+                dateHorView.AddChidren(dateView);
+
+                Button btnLineh = new Button()
+                {
+                    Width = 1,
+                    Height = Application.GetRealHeight(4),
+                    Gravity = Gravity.CenterHorizontal,
+                    BackgroundColor = 0xFFDBDBDB
+                };
+                dateView.AddChidren(btnLineh);
+
+                Button btnDate = new Button()
+                {
+                    Y = Application.GetRealHeight(12),
+                    Height = Application.GetRealHeight(14),
+                    TextColor = 0xFF43425D,
+                    TextSize = 10,
+                    Text = dic.Key,
+                };
+                try
+                {
+                    string[] strs = dic.Key.Split(@"/");
+                    btnDate.Text = strs[1] + "/" + strs[2];
+                }
+                catch { }
+                dateView.AddChidren(btnDate);
+            }
+
+        }
+
+
+        void RefrshDataView(Dictionary<string,double> dataDic, FrameLayout dataShowView)
         {
             int valueIndex = 0;
             foreach (var data in dataDic)
             {
-                ColumnarView cv = new ColumnarView(data.Value);
+                ColumnarView cv = new ColumnarView(device.deviceId,showType, data.Key, data.Value);
                 cv.X = Application.GetRealWidth(valueIndex * 38 + 25);
                 cv.InitView();
                 dataShowView.AddChidren(cv);
@@ -207,19 +266,20 @@
     class DataItemView : FrameLayout
     {
         string value;
-
-        public DataItemView(string value)
+        Button btnLine;
+        int height;
+        public DataItemView(string value,int height)
         {
             this.value = value;
             Width = Application.GetRealWidth(293);
-            Height = Application.GetRealHeight(30);
+            this.height = height;
+            Height = Application.GetRealHeight(height);
         }
 
-        public void InitView() {
+        public void InitView(bool isTemp) {
 
             Button btnValue = new Button()
             {
-                Gravity = Gravity.CenterVertical,
                 Width = Application.GetRealWidth(18),
                 Height = Application.GetRealHeight(30),
                 TextAlignment = TextAlignment.CenterRight,
@@ -229,14 +289,30 @@
             };
             AddChidren(btnValue);
 
-            Button btnLine = new Button()
+            btnLine = new Button()
             {
-                Gravity = Gravity.CenterVertical,
                 X = Application.GetRealWidth(26),
                 Width = Application.GetRealWidth(267),
                 Height = 1,
                 BackgroundColor = CSS_Color.DividingLineColor,
             };
+            if (isTemp)
+            {
+                btnLine.Gravity = Gravity.CenterVertical;
+                btnValue.Gravity = Gravity.CenterVertical;
+            }
+            else
+            {
+                if (height == 360)
+                {
+                    btnValue.Y = Application.GetRealHeight(height - 45);
+                }
+                else
+                {
+                    btnLine.Gravity = Gravity.CenterVertical;
+                }
+                btnLine.Y = Application.GetRealHeight(height - 30);
+            }
             AddChidren(btnLine);
 
 
@@ -244,11 +320,16 @@
 
 
         }
+
     }
 
     class ColumnarView : VerticalScrolViewLayout
     {
-        int value;
+        string functionId;
+        string time;
+        string type;
+        double value;
+        string valueText;
         /// <summary>
         /// 鏂瑰悜锛氬悜涓娿�佸悜涓�
         /// </summary>
@@ -257,9 +338,13 @@
         Button btnValueText;
 
 
-        public ColumnarView(int value)
+        public ColumnarView(string functionId,string type, string key, double value)
         {
+            this.functionId = functionId;
+            this.type = type;
+            time = key;
             this.isUpward = value >= 0;
+            valueText = value.ToString();
             if (isUpward)
             {
                 this.value = value;
@@ -269,7 +354,7 @@
                 this.value = value * -1;
             }
             Width = Application.GetRealWidth(39);
-            Height = Application.GetRealHeight(value * 3 + 30);
+            Height = Application.GetRealHeight((int)(value * 3 + 30));
         }
 
         public void InitView()
@@ -278,7 +363,7 @@
             btnValue = new Button()
             {
                 Gravity = Gravity.CenterHorizontal,
-                Height = Application.GetRealHeight(value * 3),
+                Height = Application.GetRealHeight((int)(value * 3)),
                 Width = Application.GetRealWidth(16),
                 BackgroundColor = 0xFFFF9D54,
             };
@@ -288,51 +373,48 @@
                 Height = Application.GetRealHeight(30),
                 TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                 TextColor = 0xFF43425D,
-                Text = value + "鈩�",
+                Text = valueText,
             };
-            AddChidren(btnValueText);
-
-
-            if (isUpward)
+            if(type == "room_temp")
             {
-                //btnValue.Height += Application.GetRealHeight(1);
-                yValue = 158 - 30 - value * 3;
-                yValue = yValue > 0 ? yValue : 158;
-                Y = Application.GetRealHeight(yValue);
-                AddChidren(btnValueText);
-                AddChidren(btnValue);
+                btnValueText.Text += "鈩�";
+                if (isUpward)
+                {
+                    yValue = (int)(150 - value * 3);
+                    yValue = yValue > 0 ? yValue : 0;
+                    Y = Application.GetRealHeight(yValue+1);
+                    AddChidren(btnValueText);
+                    AddChidren(btnValue);
+                }
+                else
+                {
+                    Y = Application.GetRealHeight(180);
+                    AddChidren(btnValue);
+                    AddChidren(btnValueText);
+                }
             }
             else
             {
-                btnValue.Height += Application.GetRealHeight(2);
-                Y = Application.GetRealHeight(157);
-                AddChidren(btnValue);
+                yValue = (int)(360 -30- 30 - value * 3);
+                Y = Application.GetRealHeight(yValue+1);
                 AddChidren(btnValueText);
+                AddChidren(btnValue);
+                btnValueText.Text += "%";
             }
-
-
-
-
-
-
-
-
-
-
         }
 
         public void Clicker()
         {
             btnValue.MouseUpEventHandler = (sender, e) =>
             {
-                var page = new CacDayHistoryPage();
+                var page = new CacDayHistoryPage(functionId,type, time);
                 MainPage.BasePageView.AddChidren(page);
                 page.InitView();
                 MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
             };
             btnValueText.MouseUpEventHandler = (sender, e) =>
             {
-                var page = new CacDayHistoryPage();
+                var page = new CacDayHistoryPage(functionId,type, time);
                 MainPage.BasePageView.AddChidren(page);
                 page.InitView();
                 MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
diff --git a/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSensorPage.cs b/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSensorPage.cs
index 2d25afd..698b5aa 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSensorPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSensorPage.cs
@@ -955,5 +955,9 @@
         /// <summary>
         /// </summary>
         public string fieldValue { get; set; }
+        /// <summary>
+        /// 鏃堕棿
+        /// </summary>
+        public string time { get; set; }
     }
 }
\ No newline at end of file
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Light/ColorTureLampPageBLL.cs b/HDL_ON/UI/UI2/FuntionControlView/Light/ColorTureLampPageBLL.cs
index 8593e14..09d981d 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Light/ColorTureLampPageBLL.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Light/ColorTureLampPageBLL.cs
@@ -154,7 +154,8 @@
                 onDimmerBar = false;
                 function.SetAttrState(FunctionAttributeKey.Brightness, dimmerBar.Progress);
                 System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
-                d.Add(FunctionAttributeKey.Brightness, dimmerBar.Progress.ToString());
+                d.Add(FunctionAttributeKey.Brightness, dimmerBar.Progress.ToString());
+                d.Add(FunctionAttributeKey.FadeTime, function.GetAttrState(FunctionAttributeKey.FadeTime));
                 Control.Ins.SendWriteCommand(function, d);
                 //function.fadeTime = barFadeTime.Progress;
                 btnBrightnessText.Text = dimmerBar.Progress + "%";
@@ -242,6 +243,7 @@
                     function.trait_on_off.curValue = btnSwitch.IsSelected ? "on" : "off";
                     System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
                     d.Add(FunctionAttributeKey.OnOff, function.trait_on_off.curValue.ToString());
+                    d.Add(FunctionAttributeKey.FadeTime, function.GetAttrState(FunctionAttributeKey.FadeTime));
                     if (btnSwitch.IsSelected)
                     {
                         d.Add(FunctionAttributeKey.Brightness, function.lastBrightness.ToString());
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPageBLL.cs b/HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPageBLL.cs
index c64dfcd..400c887 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPageBLL.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPageBLL.cs
@@ -172,6 +172,7 @@
                     function.trait_on_off.curValue = btnSwitch.IsSelected ? "on" : "off";
                     System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
                     d.Add(FunctionAttributeKey.OnOff, function.trait_on_off.curValue.ToString());
+                    d.Add(FunctionAttributeKey.FadeTime, function.GetAttrState(FunctionAttributeKey.FadeTime));
                     if (btnSwitch.IsSelected)
                     {
                         if(function.lastBrightness == 0)

--
Gitblit v1.8.0