Beispiel #1
0
        /// <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>());
        }
Beispiel #4
0
        ///// <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>());
        }
Beispiel #5
0
        /// <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[]>());
        }
Beispiel #6
0
        /// <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>());
        }
Beispiel #7
0
        /// <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>());
        }
Beispiel #8
0
        /// <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[]>());
        }
Beispiel #9
0
        /// <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>());
        }
Beispiel #10
0
        /// <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>());
        }
Beispiel #11
0
        /// <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>());
        }