old mode 100755
new mode 100644
| | |
| | | }
|
| | |
|
| | | /// <summary>
|
| | | /// 获取面板颜色的信息(出错会返回null)
|
| | | /// </summary>
|
| | | /// <param name="panel">按键面板的某一个回路</param>
|
| | | /// <returns></returns>
|
| | | public async Task<Panel.KeyColorData> GetPanelColorInfo(Panel panel)
|
| | | {
|
| | | panel.DeviceEpoint = 1;
|
| | | Panel.KeyNum keyNum = (Panel.KeyNum)panel.DeviceEpoint; |
| | | var result = await panel.GetPanelColorInfoAsync(keyNum);
|
| | | //共通错误检测
|
| | | string error = HdlCheckLogic.Current.CheckCommonErrorCode(result);
|
| | | if (error != null)
|
| | | {
|
| | | this.ShowErrorMsg(error);
|
| | | return null;
|
| | | }
|
| | |
|
| | | if (result == null || result.keyColorData == null)
|
| | | {
|
| | | //获取按键面板颜色调节信息失败
|
| | | string msg = Language.StringByID(R.MyInternationalizationString.uGetPanelColorRegulationInfoFail);
|
| | | this.ShowErrorMsg(msg);
|
| | | return null;
|
| | | }
|
| | | return result.keyColorData;
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | | /// 设置按键面板指定端点的【指示灯开关颜色】的信息
|
| | | /// </summary>
|
| | | /// <param name="panel">按键面板的某一个回路</param>
|
| | |
| | | public async Task<bool> SetPanelEpointColorInfo(Panel panel, Panel.KeyColorData colorData)
|
| | | {
|
| | | var keyNum = new Panel.KeyNumStatus();
|
| | | Type type = keyNum.GetType();
|
| | | Type type = keyNum.GetType(); |
| | | type.InvokeMember("Key" + panel.DeviceEpoint, System.Reflection.BindingFlags.SetField, null, keyNum, new object[] { true });
|
| | |
|
| | | var result = await panel.SetPanelColorInfoAsync(colorData, keyNum);
|
| | |
| | | return true;
|
| | | }
|
| | |
|
| | | #endregion
|
| | | /// <summary>
|
| | | /// 设置面板颜色
|
| | | /// </summary>
|
| | | /// <param name="panel">按键面板的</param>
|
| | | /// <param name="colorData">只设置开的颜色</param>
|
| | | /// <returns></returns>
|
| | | public async Task<bool> SetPanelColorInfo(Panel panel, Panel.KeyColorData colorData)
|
| | | {
|
| | | var keyNum = new Panel.KeyNumStatus();
|
| | | //默认第一个用面板第一个按键颜色作为整个面板的颜色
|
| | | keyNum.Key1 = true;
|
| | | var result = await panel.SetPanelColorInfoAsync(colorData, keyNum);
|
| | | if (result == null || result.responseData == null)
|
| | | {
|
| | | //设置按键面板指示灯颜色失败
|
| | | string msg = Language.StringByID(R.MyInternationalizationString.uSetPanelPilolightSettionFail);
|
| | | this.ShowErrorMsg(msg);
|
| | | return false;
|
| | | }
|
| | | if (result.responseData.status != 0)
|
| | | {
|
| | | //设置按键面板指示灯颜色失败
|
| | | string msg = Language.StringByID(R.MyInternationalizationString.uSetPanelPilolightSettionFail);
|
| | | this.ShowErrorMsg(msg);
|
| | | return false;
|
| | | }
|
| | | //备份设备
|
| | | await HdlGatewayLogic.Current.UpLoadDeviceBackupDataToGateway(panel, GatewayBackupEnum.A干接点颜色调节, colorData);
|
| | | return true;
|
| | | }
|
| | |
|
| | | #endregion
|
| | | |
| | | #region ■ 亮度调节___________________________
|
| | | /// <summary>
|
| | | /// 获取设备亮度配置(ui叫亮度调节,使用返回值的panelDirectionsLevel)
|
| | |
| | | return true;
|
| | | }
|
| | |
|
| | | #endregion
|
| | |
|
| | | #region ■ 接近感应___________________________
|
| | | /// <summary>
|
| | | /// 获取接近感应配置(ui叫接近感应,使用返回值的panelProximitySensorInfo)
|
| | | /// </summary>
|
| | | /// <param name="device">设备对象</param>
|
| | | /// <returns></returns>
|
| | | public async Task<Panel.PanelProximitySensorInfo> GetDeviceProximitySensorsSettion(CommonDevice device)
|
| | | {
|
| | | //借用它的函数
|
| | | var panel = new Panel();
|
| | | panel.DeviceAddr = device.DeviceAddr;
|
| | | panel.DeviceEpoint = device.DeviceEpoint;
|
| | | panel.CurrentGateWayId = device.CurrentGateWayId;
|
| | |
|
| | | var result = await panel.GetProximitySensorAsync();
|
| | | panel = null;
|
| | | //共通错误检测
|
| | | string error = HdlCheckLogic.Current.CheckCommonErrorCode(result);
|
| | | if (error != null)
|
| | | {
|
| | | this.ShowErrorMsg(error);
|
| | | return null;
|
| | | }
|
| | | if (result == null || result.panelProximitySensorInfo == null || string.IsNullOrEmpty(result.errorMessageBase) == false)
|
| | | {
|
| | | //获取接近感应信息失败
|
| | | string msg = Language.StringByID(R.MyInternationalizationString.GetPanelProximityFail);
|
| | | this.ShowErrorMsg(msg);
|
| | | return null;
|
| | | }
|
| | | return result.panelProximitySensorInfo;
|
| | | }
|
| | |
|
| | |
|
| | | /// <summary>
|
| | | /// 配置接近传感
|
| | | /// </summary>
|
| | | /// <param name="device">设备对象</param>
|
| | | /// <para>sensorEnable:传感器使能</para>
|
| | | /// <returns></returns>
|
| | | public async Task<bool> SetProximitySensorStatus(CommonDevice device, bool sensorEnable)
|
| | | {
|
| | | //借用它的函数
|
| | | var panel = new Panel();
|
| | | panel.DeviceAddr = device.DeviceAddr;
|
| | | panel.DeviceEpoint = device.DeviceEpoint;
|
| | | panel.CurrentGateWayId = device.CurrentGateWayId;
|
| | |
|
| | | var result = await panel.SetProximitySensor(sensorEnable);
|
| | | panel = null;
|
| | |
|
| | | //共通错误检测
|
| | | string error = HdlCheckLogic.Current.CheckCommonErrorCode(result);
|
| | | if (error != null)
|
| | | {
|
| | | this.ShowErrorMsg(error);
|
| | | return false;
|
| | | }
|
| | |
|
| | | if (result == null || result.responseData == null)
|
| | | {
|
| | | //接近传感配置失败
|
| | | string msg = Language.StringByID(R.MyInternationalizationString.SetPannelProximityFail);
|
| | | //拼接上【网关回复超时】的Msg
|
| | | msg = UserCenterLogic.CombineGatewayTimeOutMsg(msg, result);
|
| | |
|
| | | this.ShowTipMsg(msg);
|
| | | return false;
|
| | | }
|
| | |
|
| | | // 备份设备
|
| | | var backData = new Newtonsoft.Json.Linq.JObject
|
| | | {
|
| | | { "sensorEnable",sensorEnable }
|
| | | };
|
| | | //备份设备
|
| | | await HdlGatewayLogic.Current.UpLoadDeviceBackupDataToGateway(device, GatewayBackupEnum.A面板接近感应功能, backData);
|
| | | return true;
|
| | | }
|
| | | #endregion
|
| | |
|
| | | #region ■ 节能模式___________________________
|
| | |
| | | /// </summary>
|
| | | /// <param name="panel">按键面板的某一个回路</param>
|
| | | /// <param name="parameter">
|
| | | /// <para>方法1:当int[]传空,返回值是“面板具有的功能大类,即返回“第一级别。1024:灯类,256:按键类,768:PIR类</para> |
| | | /// <para>方法1:当int[]传空,返回值是“面板具有的功能大类,即返回“第一级别。1024:灯类,256:按键类,768:PIR类</para> |
| | | /// <para>方法2:、当int[]值为第一级别PrivateFuncTypeFir中选择一个。</para> |
| | | /// <para>返回值是“面按键发送功能类”,即返回“第二级别。</para> |
| | | /// <para>100:Switch,开关(按键类);200:Dimmer,调光(按键类);300:Curtain,窗帘(按键类)</para> |
| | | /// <para>0:EnergySavingMode,节能模式(灯类);1:SleepMode,睡眠模式(灯类);100:WhiteBalance,白平衡(灯类);101:RGBColor,RGB指示灯颜色(灯类);102:RGBLevel,RGB指示灯亮度(灯类)</para> |
| | | /// <para>方法3:当int[]值为第一级别PrivateFuncTypeFir中选择一个,接着再选第二级别PrivateFunTypeSec中选择一个 </para> |
| | | /// <para>返回值是“面按键具体功能配置”,即返回“第二级别。</para> |
| | | /// <para>100:SwitchOpen,开关开(按键类);101:SwitchClose,开关关(按键类);102:SwitchChange,开关切换(按键类)</para> |
| | | /// <para>200:DimmerStepUp,增大调光(按键类);201:DimmerStepDown,降低调光(按键类);202:DimmerStepChange,调光切换(按键类)</para> |
| | | /// <para>100:SwitchOpen,开关开(按键类);101:SwitchClose,开关关(按键类);102:SwitchChange,开关切换(按键类)</para> |
| | | /// <para>200:DimmerStepUp,增大调光(按键类);201:DimmerStepDown,降低调光(按键类);202:DimmerStepChange,调光切换(按键类)</para> |
| | | /// <para>300:CurtainOpen,窗帘开(按键类);301:CurtainClose,窗帘关(按键类);302:CurtainStop,窗帘停;303:CurtainUpStop,窗帘上升停;304:CurtainDownstop,窗帘下降停</para>
|
| | | /// </param>
|
| | | /// <returns></returns>
|