| | |
| | | using Newtonsoft.Json.Linq; |
| | | using System.Collections.Generic; |
| | | using Shared; |
| | | using HDL_ON.Entity; |
| | | |
| | | namespace HDL_ON.UI.UI2.PersonalCenter.PirDevice |
| | | { |
| | |
| | | public class PirSend |
| | | { |
| | | /// <summary> |
| | | /// 网关ID(获取嘉乐网关ID) |
| | | /// </summary> |
| | | public static string GatewayId |
| | | { |
| | | get |
| | | { |
| | | if (Entity.DB_ResidenceData.Instance.HomeGateway == null) |
| | | { |
| | | return DriverLayer.Control.Ins.GatewayId; |
| | | } |
| | | return Entity.DB_ResidenceData.Instance.HomeGateway.gatewayId; |
| | | } |
| | | } |
| | | /// <summary> |
| | | /// 住宅ID |
| | | /// </summary> |
| | | public static string HomeId |
| | | { |
| | | get |
| | | { |
| | | return Entity.DB_ResidenceData.Instance.CurrentRegion.RegionID; |
| | | return Entity.DB_ResidenceData.Instance.CurrentRegion.id; |
| | | } |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 乐橙subAccessToken |
| | | /// </summary> |
| | | public static string LcSubAccessToken = ""; |
| | | |
| | | /// <summary> |
| | | /// 是否为其他主用户分享过来的住宅 |
| | | /// </summary> |
| | |
| | | { |
| | | get |
| | | { |
| | | return Entity.DB_ResidenceData.Instance.CurrentRegion.IsOthreShare; |
| | | return Entity.DB_ResidenceData.Instance.CurrentRegion.isOtherShare; |
| | | } |
| | | } |
| | | /// <summary> |
| | | /// 获取设备列表 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public static ResponsePackNew GetDeviceList(string spk) |
| | | { |
| | | var jObject = new JObject { }; |
| | | jObject.Add("homeId", HomeId); |
| | | jObject.Add("spk", spk); |
| | | //d.Add("gatewayId", DB_ResidenceData.residenceData.HomeGateway.gatewayId); |
| | | //d.Add("roomId", DB_ResidenceData.residenceData.residecenInfo.RegionID);//可控参数,当需要分页获取,怎么知道分页总数 |
| | | //d.Add("searchType", DB_ResidenceData.residenceData.residecenInfo.RegionID); |
| | | //d.Add("pageSize", DB_ResidenceData.residenceData.residecenInfo.RegionID); |
| | | //d.Add("pageNo", DB_ResidenceData.residenceData.residecenInfo.RegionID); |
| | | var responsePackNew = RequestServerhomeId(jObject, NewAPI.Api_Post_GetDevcieList); |
| | | return responsePackNew; |
| | | } |
| | | /// <summary> |
| | | /// 获取设备详情通过(spk,sid) |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public static ResponsePackNew GetinfoBySid(Control control) |
| | | { |
| | | var jObject = new JObject { }; |
| | | jObject.Add("homeId", HomeId); |
| | | jObject.Add("spk", control.spk); |
| | | jObject.Add("sid", control.sid); |
| | | var responsePackNew = RequestServerhomeId(jObject, NewAPI.Api_Post_GetinfoBySid); |
| | | return responsePackNew; |
| | | } |
| | | /// <summary> |
| | | /// 获取遥控器列表 |
| | | /// </summary> |
| | | public static ResponsePackNew GetList() |
| | | public static ResponsePackNew ControlList(string deviceId) |
| | | { |
| | | var jObject = new JObject { { "homeId", HomeId }, { "deviceId", "0" }}; |
| | | var jObject = new JObject { { "homeId", HomeId }, { "deviceId", deviceId} }; |
| | | var responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Ir_List); |
| | | return responsePackNew; |
| | | } |
| | |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | /// <param name="control"></param> |
| | | /// <param name="bool_library">(true=码库,false=自学的)</param> |
| | | /// <returns></returns> |
| | | public static ResponsePackNew Add(Control control,bool bool_library) |
| | | public static ResponsePackNew Add(Control control) |
| | | { |
| | | var jObject = new JObject { }; |
| | | jObject.Add("homeId", HomeId); |
| | | jObject.Add("deviceId", control.deviceId); |
| | | jObject.Add("name", control.name); |
| | | jObject.Add("spk", "ir.module"); |
| | | jObject.Add("spk", control.spk); |
| | | jObject.Add("type", control.type); |
| | | if (bool_library) |
| | | if (control.type=="library") |
| | | { |
| | | jObject.Add("group_id", "123"); |
| | | jObject.Add("groupId", control.groupId); |
| | | var libraryjay = new JArray { }; |
| | | for (int i = 0; i < control.library.Count; i++) |
| | | { |
| | |
| | | { |
| | | var jObject = new JObject { }; |
| | | jObject.Add("homeId", HomeId); |
| | | jObject.Add("deviceId", HomeId); |
| | | jObject.Add("deviceId", control.deviceId); |
| | | jObject.Add("spk", control.spk); |
| | | if (control.spk== Entity.SPK.AcStandard) { |
| | | jObject.Add("group_id", control.group_id); |
| | | if (control.spk== SPK.AcIr) { |
| | | jObject.Add("groupId", control.groupId); |
| | | } |
| | | var libraryJay = new JArray { }; |
| | | for (int i = 0; i < control.library.Count; i++) |
| | |
| | | { |
| | | var statusJob = new JObject { }; |
| | | var job = control.status[i]; |
| | | statusJob.Add("key", job.Key); |
| | | statusJob.Add("key", job.key); |
| | | statusJob.Add("value", job.value); |
| | | statusJay.Add(statusJob); |
| | | } |
| | |
| | | /// 红外码学习 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public static void CodeStudy(ButtonObj buttonObj, Action<ResponsePackNew> action) |
| | | public static void CodeStudy(Control control, AttributesStatus buttonObj, Action<Cloud> action) |
| | | { |
| | | //var whichDayJson = jay["whichDay"].ToString(); |
| | | //var whichDayAry = Newtonsoft.Json.Linq.JArray.Parse(whichDayJson); |
| | | //for (int b = 0; b < whichDayAry.Count; b++) |
| | | //{ |
| | | // var days = whichDayAry[b].ToString(); |
| | | // timer.whichDay.Add(int.Parse(days)); |
| | | //} |
| | | var job = new JObject { }; |
| | | job.Add("key", buttonObj.Key); |
| | | job.Add("key", buttonObj.key); |
| | | job.Add("data_type", "string"); |
| | | var valuejArray = new JArray { }; |
| | | valuejArray.Add(buttonObj.value); |
| | | job.Add("value", valuejArray); |
| | | var jArray = new JArray { }; |
| | | jArray.Add(job); |
| | | var jObject = new JObject { { "homeId", HomeId }, { "deviceId", "0" }, { "attributes", jArray } }; |
| | | ResponsePackNew responsePackNew = null; |
| | | var jObject = new JObject { { "homeId", HomeId }, { "deviceId", control.deviceId }, { "attributes", jArray } }; |
| | | Cloud cloud = null; |
| | | new System.Threading.Thread(() => |
| | | { |
| | | |
| | | try |
| | | { |
| | | //发送红外码学习命令 |
| | | responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Ir_CodeStudy); |
| | | var responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Ir_CodeStudy); |
| | | if (responsePackNew != null && responsePackNew.Code == "0" && responsePackNew.Data.ToString() != "") |
| | | { |
| | | PirMethod method = new PirMethod(); |
| | | PirMethod.buttondata = ""; |
| | | cloud = method.MqttDate("按键", control.sid, 25); |
| | | } |
| | | else |
| | | { |
| | | PirMethod method = new PirMethod(); |
| | | method.ErrorShow(responsePackNew, ""); |
| | | } |
| | | } |
| | | catch { } |
| | | finally |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | action(responsePackNew); |
| | | action(cloud); |
| | | }); |
| | | } |
| | | |
| | |
| | | /// 自学按键删除 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public static ResponsePackNew CodeRemove(ButtonObj buttonObj) |
| | | public static ResponsePackNew CodeRemove(AttributesStatus buttonObj,string deviceId) |
| | | { |
| | | var job = new JObject { }; |
| | | job.Add("key", buttonObj.Key); |
| | | job.Add("key", buttonObj.key); |
| | | job.Add("data_type", "string"); |
| | | var valuejArray = new JArray { }; |
| | | valuejArray.Add(buttonObj.value); |
| | | job.Add("value", valuejArray); |
| | | var jArray = new JArray { }; |
| | | jArray.Add(job); |
| | | var jObject = new JObject { { "homeId", HomeId }, { "deviceId", "0" }, { "attributes", jArray } }; |
| | | var jObject = new JObject { { "homeId", HomeId }, { "deviceId", deviceId }, { "attributes", jArray } }; |
| | | var responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Ir_CodeRemove); |
| | | return responsePackNew; |
| | | } |
| | | /// <summary> |
| | | /// 遥控器删除 |
| | | /// 红外宝/遥控器删除 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public static ResponsePackNew DeleteRemove(string deviceId) |
| | | public static ResponsePackNew DeleteDevice(string deviceId) |
| | | { |
| | | var job = new JObject { }; |
| | | job.Add("deviceId", deviceId); |
| | | var jArray = new JArray { }; |
| | | jArray.Add(job); |
| | | var jObject = new JObject { { "homeId", HomeId }, { "deviceId", "0" }, { "devices", jArray } }; |
| | | var responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Ir_DeviceRemove); |
| | | var jObject = new JObject { { "homeId", HomeId }, { "deviceId", deviceId } }; |
| | | var responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Ir_DeviceDel); |
| | | return responsePackNew; |
| | | } |
| | | /// <summary> |
| | | /// 修改红外宝/设备名称 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public static ResponsePackNew DeviceRename(string deviceId,string name) |
| | | { |
| | | var jObject = new JObject { { "homeId", HomeId }, { "deviceId", deviceId }, { "name", name} }; |
| | | var responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Ir_DeviceRename); |
| | | return responsePackNew; |
| | | } |
| | | /// <summary> |
| | |
| | | url = "/smart-footstone/app/ir/code/list"; |
| | | jObject.Add("brandId", id); |
| | | } |
| | | responsePackNew = RequestServerhomeId(jObject, url); |
| | | responsePackNew = RequestServerhomeId(jObject, url,5); |
| | | } |
| | | catch { } |
| | | finally |
| | |
| | | { IsBackground = true }.Start(); |
| | | |
| | | } |
| | | |
| | | /// <summary> |
| | | ///请求服务器(与住宅有关:例如;homeId) |
| | | /// </summary> |