/// <summary> /// 发送自定义数据到门口机 /// 并等待设备的回执 /// </summary> /// <param name="num">设备机身号</param> /// <param name="data">数据内容</param> /// <exception cref="TimeoutException"></exception> /// <returns></returns> public static async Task <Message> EM_CustomDataSendAsync(string num, TimeoutDataSetting data) { var api = Api.EM_CustomData_Send; var device = new Device(num); return(await EmqttdClient.SendAsync(device.SubDevice, api, data)); }
/// <summary> /// 发送自定义数据到客户端 /// 并等待设备的回执 /// </summary> /// <param name="id">客户端id</param> /// <param name="data">数据内容</param> /// <exception cref="TimeoutException"></exception> /// <returns></returns> public static async Task <Message> Push_CustomDataSendAsync(string id, TimeoutDataSetting data) { var api = Api.Push_CustomData_Send; var client = new PushClient(id); return(await EmqttdClient.SendAsync(client.SubPushClient, api, data)); }
/// <summary> /// 设备系统控制 /// </summary> /// <param name="num">设备机身号</param> /// <param name="data">控制内容</param> /// <exception cref="TimeoutException"></exception> /// <returns></returns> public static async Task <Message <bool> > Sys_ControlAsync(string num, SysCtrlSetting data) { var api = Api.Sys_Control; var device = new Device(num); var message = await EmqttdClient.SendAsync(device.SubDevice, api, data); return(message.Cast <bool>()); }
///// <summary> ///// 智能空调控制 ///// </summary> ///// <param name="num">中控机机身号</param> ///// <param name="data">CMAirBody 空调控制实体</param> ///// <exception cref="TimeoutException"></exception> ///// <returns></returns> //public static async Task<Message<bool>> CM_SetAirAsync(string num, CMAirSetting data) //{ // var api = Api.CM_SetAir; // var device = new Device(num); // var message = await EmqttdClient.SendAsync(device.SubDevice, api, data); // return message.Cast<bool>(); //} /// <summary> /// 恒亦明LED控制器 /// </summary> /// <param name="num">中控机机身号</param> /// <param name="data">CMLedBody 控制实体</param> /// <exception cref="TimeoutException"></exception> /// <returns></returns> public static async Task <Message <bool> > CM_SetLedAsync(string num, CMLedSetting data) { var api = Api.CM_SetLed; var device = new Device(num); var message = await EmqttdClient.SendAsync(device.SubDevice, api, data); return(message.Cast <bool>()); }
/// <summary> /// 设置智能门锁 - 获取临时密码列表 /// </summary> /// <param name="num">中控机机身号</param> /// <param name="data">CMCtrlRequest 实体</param> /// <exception cref="TimeoutException"></exception> /// <returns></returns> public static async Task <Message <CMTempPassWordBody[]> > CM_GetTempPassWordListAsync(string num, CMCtrlRequest data) { var api = Api.CM_GetTempPassWordList; var device = new Device(num); var message = await EmqttdClient.SendAsync(device.SubDevice, api, data); return(message.Cast <CMTempPassWordBody[]>()); }
/// <summary> /// 设置智能门锁 /// </summary> /// <param name="num">中控机机身号</param> /// <param name="data">请求数据</param> /// <exception cref="TimeoutException"></exception> /// <returns></returns> public static async Task <Message <bool> > CM_SmartLockOpenAsync(string num, CMCtrlRequest data) { var api = Api.CM_SmartLockOpen; var device = new Device(num); var message = await EmqttdClient.SendAsync(device.SubDevice, api, data); return(message.Cast <bool>()); }
/// <summary> /// 红外电视按键学习 /// </summary> /// <param name="num">中控机机身号</param> /// <param name="data">电视控制数据实体</param> /// <exception cref="TimeoutException"></exception> /// <returns></returns> public static async Task <Message <bool> > CM_LearnInfTvKeyAsync(string num, CMInfTvKeyCtrl data) { var api = Api.CM_LearnInfTvKey; var device = new Device(num); var message = await EmqttdClient.SendAsync(device.SubDevice, api, data); return(message.Cast <bool>()); }
/// <summary> /// 获取红外电视按键学习状态 /// </summary> /// <param name="num">中控机机身号</param> /// <param name="data">电视控制数据实体</param> /// <exception cref="TimeoutException"></exception> /// <returns></returns> public static async Task <Message <CMInfTvKeyState[]> > CM_GetInfTvKeysAsync(string num, CMCtrlRequest data) { var api = Api.CM_GetInfTvKeys; var device = new Device(num); var message = await EmqttdClient.SendAsync(device.SubDevice, api, data); return(message.Cast <CMInfTvKeyState[]>()); }
/// <summary> /// 门口机开锁 /// </summary> /// <param name="num">门口机机身号</param> /// <param name="data">数据</param> /// <exception cref="TimeoutException"></exception> /// <returns></returns> public static async Task <Message <bool> > EM_UnlockAsync(string num, TimeoutDataSetting data) { var api = Api.EM_Unlock; var device = new Device(num); var message = await EmqttdClient.SendAsync(device.SubDevice, api, data); return(message.Cast <bool>()); }
/// <summary> /// 获取中控机的设备列表 /// </summary> /// <param name="num">中控机机身号</param> /// <exception cref="TimeoutException"></exception> /// <returns></returns> public static async Task <Message <CMDeivceData> > CM_GetDeviceListAsync(string num) { var api = Api.CM_GetDeviceList; var data = TimeoutRequest.Default; var device = new Device(num); var message = await EmqttdClient.SendAsync(device.SubDevice, api, data); return(message.Cast <CMDeivceData>()); }
/// <summary> /// 测试数据 /// </summary> /// <param name="num">设备机身号</param> /// <param name="data">数据</pm> /// <exception cref="TimeoutException"></exception> /// <returns></returns> public static async Task <Message <string> > Sys_TestDataAsync(string num, string data) { var api = Api.Sys_TestData; var device = new Device(num); var body = new TimeoutDataSetting { Timeout = 5, Data = data }; var message = await EmqttdClient.SendAsync(device.SubDevice, api, body); return(message.Cast <string>()); }