| | |
| | | this.ShowTipMsg(msg);
|
| | | return false;
|
| | | }
|
| | | var mainWayId = HdlGatewayLogic.Current.GetGatewayId(mainGateway);
|
| | | var mainWayId = mainGateway.GwId;
|
| | |
|
| | | //主题数固定5+3+1
|
| | | int topicCount = 9;
|
| | |
| | | {
|
| | | var jobject = Newtonsoft.Json.Linq.JObject.Parse(message);
|
| | |
|
| | | var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<ZigBee.Device.Safeguard.ErrorResponData>(jobject["Data"].ToString());
|
| | | var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<CommonDevice.ErrorResponData>(jobject["Data"].ToString());
|
| | | if (temp != null)
|
| | | {
|
| | | string msg = HdlCheckLogic.Current.CheckCommonErrorCode(temp.Error);
|
| | |
| | | var dateTime = DateTime.Now;
|
| | | while ((DateTime.Now - dateTime).TotalMilliseconds < 3000)
|
| | | {
|
| | | if (topicCount <= 0 || error == true)
|
| | | //if (error == true) { break; }
|
| | | if (topicCount <= 0)
|
| | | {
|
| | | //9次主题全部接收完成
|
| | | await Task.Delay(1000);
|
| | | break;
|
| | | }
|
| | | await Task.Delay(50);
|
| | |
| | | SafeguardZoneInfo zoneInfo = this.dicAllZoneInfo[allData.ZoneId];
|
| | | zoneInfo.ZoneId = allData.ZoneId;
|
| | | zoneInfo.ZoneName = allData.ZoneName;
|
| | |
|
| | | //信息推送
|
| | | zoneInfo.InformationPush = allData.IsDisablePushMessage;
|
| | |
|
| | | //处理设备
|
| | | foreach (var data2 in allData.DeviceList)
|
| | |
| | |
|
| | | zoneInfo.dicAlarmDevice.Clear();
|
| | | zoneInfo.dicScenes.Clear();
|
| | |
|
| | | //信息推送
|
| | | zoneInfo.InformationPush = resData.IsDisablePushMessage;
|
| | |
|
| | | foreach (var data in resData.Actions)
|
| | | {
|
| | |
| | | foreach (var device in listdevice)
|
| | | {
|
| | | int MomentStatus = 1;
|
| | | int TriggerZoneStatus = 1;
|
| | | int TriggerZoneStatus = 3;
|
| | | //获取安防传感器的瞬间状态设定值
|
| | | this.GetSafeguardSensorMomentStatus(device, ref MomentStatus, ref TriggerZoneStatus);
|
| | |
|
| | |
| | | if (device.IasDeviceType == 13)
|
| | | {
|
| | | MomentStatus = 1;
|
| | | TriggerZoneStatus = 1;
|
| | | TriggerZoneStatus = 3;
|
| | | }
|
| | | //烟雾传感器
|
| | | else if (device.IasDeviceType == 40)
|
| | | {
|
| | | MomentStatus = 1;
|
| | | TriggerZoneStatus = 1;
|
| | | TriggerZoneStatus = 3;
|
| | | }
|
| | | //水侵传感器
|
| | | else if (device.IasDeviceType == 42)
|
| | | {
|
| | | MomentStatus = 1;
|
| | | TriggerZoneStatus = 1;
|
| | | TriggerZoneStatus = 3;
|
| | | }
|
| | | //燃气传感器
|
| | | else if (device.IasDeviceType == 43)
|
| | | {
|
| | | MomentStatus = 1;
|
| | | TriggerZoneStatus = 1;
|
| | | TriggerZoneStatus = 3;
|
| | | }
|
| | | //紧急按钮
|
| | | else if (device.IasDeviceType == 44)
|
| | | {
|
| | | MomentStatus = 1;
|
| | | TriggerZoneStatus = 1;
|
| | | TriggerZoneStatus = 3;
|
| | | }
|
| | | //钥匙扣
|
| | | else if (device.IasDeviceType == 277)
|
| | | {
|
| | | MomentStatus = 1;
|
| | | TriggerZoneStatus = 1;
|
| | | TriggerZoneStatus = 3;
|
| | | }
|
| | | //门窗传感器
|
| | | else if (device.IasDeviceType == 21 || device.IasDeviceType == 22)
|
| | | {
|
| | | MomentStatus = 0;
|
| | | TriggerZoneStatus = 1;
|
| | | TriggerZoneStatus = 3;
|
| | | }
|
| | | //如果是虚拟设备,则这个东西永恒为0
|
| | | if (device.DriveCode > 0)
|
| | |
| | | }
|
| | | else if (data.Type == "1")
|
| | | {
|
| | | var scene = Common.SceneRoomUI.AllSceneRoomUIList.Find((obj) => obj.sceneUI.Id == data.ScenesId);
|
| | | var scene = HdlSceneLogic.Current.GetSceneUIBySceneId(data.ScenesId);
|
| | | if (scene != null)
|
| | | {
|
| | | string msg = scene.sceneUI.Name + "\r\n";
|
| | | string msg = scene.Name + "\r\n";
|
| | | //目标场景不存在
|
| | | msg += Language.StringByID(R.MyInternationalizationString.uTargetSceneIsNotExsit);
|
| | | this.ShowTipMsg(msg);
|
| | |
| | |
|
| | | if (this.UserPassword == null)
|
| | | {
|
| | | var data = Global.ReadFileByDirectory(DirNameResourse.LocalMemoryDirectory, DirNameResourse.SafeguardUserPassword);
|
| | | var data = HdlFileLogic.Current.ReadFileByteContent(DirNameResourse.SafeguardUserPassword);
|
| | | if (data != null)
|
| | | {
|
| | | this.UserPassword = System.Text.Encoding.UTF8.GetString(data);
|
| | |
| | | if (result != GarrisonMode.None && result != GarrisonMode.RemoveGarrison)
|
| | | {
|
| | | //保存加密的密码到本地
|
| | | Global.WriteFileToDirectoryByBytes(DirNameResourse.LocalMemoryDirectory, DirNameResourse.SafeguardUserPassword, System.Text.Encoding.UTF8.GetBytes(this.UserPassword));
|
| | | HdlFileLogic.Current.SaveTextToFile(DirNameResourse.SafeguardUserPassword, this.UserPassword);
|
| | | }
|
| | | return result;
|
| | | }
|
| | |
| | | if (result2 != GarrisonMode.None && result2 != GarrisonMode.RemoveGarrison)
|
| | | {
|
| | | //保存加密密码到本地
|
| | | Global.WriteFileToDirectoryByBytes(DirNameResourse.LocalMemoryDirectory, DirNameResourse.SafeguardUserPassword, System.Text.Encoding.UTF8.GetBytes(this.UserPassword));
|
| | | HdlFileLogic.Current.SaveTextToFile(DirNameResourse.SafeguardUserPassword, this.UserPassword);
|
| | | }
|
| | | return result2;
|
| | | }
|
| | |
| | | if (result2 != -1)
|
| | | {
|
| | | //保存到加密密码本地
|
| | | Global.WriteFileToDirectoryByBytes(DirNameResourse.LocalMemoryDirectory, DirNameResourse.SafeguardUserPassword, System.Text.Encoding.UTF8.GetBytes(this.UserPassword));
|
| | | HdlFileLogic.Current.SaveTextToFile(DirNameResourse.SafeguardUserPassword, this.UserPassword);
|
| | | }
|
| | | return result2;
|
| | | }
|
| | |
| | | {
|
| | | return false;
|
| | | }
|
| | |
|
| | | if (zoneId > 3)
|
| | | {
|
| | | zoneId = 3;
|
| | | }
|
| | | //状态变更
|
| | | var result = await Safeguard.DisablePushMessageAsync(zoneId, statu);
|
| | | if (result == null || result.disablePushMessageResponseData == null || result.disablePushMessageResponseData.Result == 1)
|
| | |
| | | /// <returns>0:推送 1:不推送</returns>
|
| | | public int GetGarrisonInformationPushStatu(int zoneId)
|
| | | {
|
| | | if (zoneId > 3)
|
| | | {
|
| | | zoneId = 3;
|
| | | }
|
| | | if (this.dicAllZoneInfo.ContainsKey(zoneId) == false)
|
| | | {
|
| | | return 1;
|
| | |
| | | dicSort[modelNo] = Language.StringByID(R.MyInternationalizationString.Mode_Dry);
|
| | | }
|
| | | }
|
| | | else if (info.Data1 == 4 || info.Data1 == 5)
|
| | | else if (info.Data1 == 4 || info.Data1 == 5|| info.Data1 == 7)
|
| | | {
|
| | | //温度
|
| | | dicSort[temparetureNo] = $"{ info.Data2 / 100}℃";
|
| | |
| | | bool success = false;
|
| | | //超时时间
|
| | | int TimeOut = 0;
|
| | | string checkTopic = HdlGatewayLogic.Current.GetGatewayId(realWay) + "/Security/AdminSetNewPassword_Respon";
|
| | | string checkTopic = realWay.GwId + "/Security/AdminSetNewPassword_Respon";
|
| | | Action<string, string> getResultAction = (topic, message) =>
|
| | | {
|
| | | try
|
| | |
| | | /// </summary>
|
| | | public string ZoneName;
|
| | | /// <summary>
|
| | | /// 信息推送 0:推送 1:不推送 (只有防区ID:1,2,3才会有。4,5的都归为3,因为它是以防区模式ID(ActionType)为单位的)
|
| | | /// 信息推送 0:推送 1:不推送 |
| | | /// </summary>
|
| | | public int InformationPush = 1;
|
| | | /// <summary>
|