| | |
| | | data.DeviceEpoint = device.DeviceEpoint;
|
| | | data.DeviceName = device.DeviceName;
|
| | | data.Time = DateTime.Now.ToString("HH:mm:ss");
|
| | | data.RoomName = Common.Room.CurrentRoom.GetRoomNameByDevice(device);
|
| | | data.RoomName = HdlRoomLogic.Current.GetRoomNameByDevice(device);
|
| | | //报警结束
|
| | | data.AlarmMsg = msgInfo.AlarmMsg != string.Empty ? msgInfo.AlarmMsg : Language.StringByID(R.MyInternationalizationString.uAlarmFinish);
|
| | | //电池报警
|
| | |
| | |
|
| | | //限制它的长度
|
| | | this.listSafetyAlarmInfo.Insert(0, data);
|
| | | if (this.listSafetyAlarmInfo.Count > UserCenterResourse.Option.SafetyOnedayMaxAlarmMsgCount)
|
| | | if (this.listSafetyAlarmInfo.Count > UserCenterResourse.ResidenceOption.SafetyOnedayMaxAlarmMsgCount)
|
| | | {
|
| | | this.listSafetyAlarmInfo.RemoveAt(this.listSafetyAlarmInfo.Count - 1);
|
| | | }
|
| | |
| | |
|
| | | //限制它的长度
|
| | | this.listSafetyAlarmInfo.Insert(0, data);
|
| | | if (this.listSafetyAlarmInfo.Count > UserCenterResourse.Option.SafetyOnedayMaxAlarmMsgCount)
|
| | | if (this.listSafetyAlarmInfo.Count > UserCenterResourse.ResidenceOption.SafetyOnedayMaxAlarmMsgCount)
|
| | | {
|
| | | this.listSafetyAlarmInfo.RemoveAt(this.listSafetyAlarmInfo.Count - 1);
|
| | | }
|
| | |
| | | var listInfo = new List<SafeguardAlarmInfo>();
|
| | | for (int j = 0; j < info.Count; j++)
|
| | | {
|
| | | if (j == UserCenterResourse.Option.SafetyOnedayMaxAlarmMsgCount)
|
| | | if (j == UserCenterResourse.ResidenceOption.SafetyOnedayMaxAlarmMsgCount)
|
| | | {
|
| | | //每天最多三十条数据
|
| | | break;
|
| | |
| | | }
|
| | | dic[listFile[i]] = listInfo;
|
| | |
|
| | | if (dic.Count == UserCenterResourse.Option.SafetyMaxAlarmMsgDay)
|
| | | if (dic.Count == UserCenterResourse.ResidenceOption.SafetyMaxAlarmMsgDay)
|
| | | {
|
| | | //只要三天的量
|
| | | break;
|
| | |
| | | return alarmInfo;
|
| | | } |
| | | |
| | | /// <summary>
|
| | | /// 获取单个Json数据里面,包含的全部报警信息条数
|
| | | /// </summary>
|
| | | /// <param name="alarmInfo"></param>
|
| | | /// <returns></returns> |
| | | public List<string> GetSensorListAlarmMsg(SafeguardAlarmInfo alarmInfo)
|
| | | {
|
| | | var listMsg = new List<string>();
|
| | | //一条信息里面,它可能包含多个报警
|
| | | if (string.IsNullOrEmpty(alarmInfo.AlarmMsg) == false)
|
| | | {
|
| | | //报警信息
|
| | | listMsg.Add(alarmInfo.AlarmMsg);
|
| | | }
|
| | | if (alarmInfo.BatteryMsg != null)
|
| | | {
|
| | | //电池电量
|
| | | listMsg.Add(alarmInfo.BatteryMsg);
|
| | | }
|
| | | if (alarmInfo.DemolishmentMsg != null)
|
| | | {
|
| | | //被拆报警
|
| | | listMsg.Add(alarmInfo.DemolishmentMsg);
|
| | | }
|
| | |
|
| | | return listMsg;
|
| | | } |
| | | |
| | | #endregion |
| | | |
| | | |
| | |
| | | msgInfo.DeviceEpoint = device.DeviceEpoint;
|
| | | msgInfo.DeviceName = device.DeviceName;
|
| | | msgInfo.Time = DateTime.Now.ToString("HH:mm:ss");
|
| | | msgInfo.RoomName = Common.Room.CurrentRoom.GetRoomNameByDevice(device);
|
| | | msgInfo.RoomName = HdlRoomLogic.Current.GetRoomNameByDevice(device);
|
| | |
|
| | | //限制它的长度
|
| | | this.listDoorLockAlarmInfo.Insert(0, msgInfo);
|
| | | if (this.listDoorLockAlarmInfo.Count > UserCenterResourse.Option.DoorLockOnedayMaxAlarmMsgCount)
|
| | | if (this.listDoorLockAlarmInfo.Count > UserCenterResourse.ResidenceOption.DoorLockOnedayMaxAlarmMsgCount)
|
| | | {
|
| | | this.listDoorLockAlarmInfo.RemoveAt(this.listDoorLockAlarmInfo.Count - 1);
|
| | | }
|
| | |
| | | var listInfo = new List<DeviceAlarmInfo>();
|
| | | for (int j = 0; j < info.Count; j++)
|
| | | {
|
| | | if (j == UserCenterResourse.Option.DoorLockOnedayMaxAlarmMsgCount)
|
| | | if (j == UserCenterResourse.ResidenceOption.DoorLockOnedayMaxAlarmMsgCount)
|
| | | {
|
| | | //每天最多三十条数据
|
| | | break;
|
| | |
| | | }
|
| | | dic[listFile[i]] = listInfo;
|
| | |
|
| | | if (dic.Count == UserCenterResourse.Option.DoorLockMaxAlarmMsgDay)
|
| | | if (dic.Count == UserCenterResourse.ResidenceOption.DoorLockMaxAlarmMsgDay)
|
| | | {
|
| | | //只要三天的量
|
| | | break;
|
| | |
| | | /// </summary>
|
| | | /// <param name="jobject"></param>
|
| | | /// <returns></returns>
|
| | | private DeviceAlarmInfo GetDoorLockAlarmInfo(Newtonsoft.Json.Linq.JObject jobject)
|
| | | public DeviceAlarmInfo GetDoorLockAlarmInfo(Newtonsoft.Json.Linq.JObject jobject)
|
| | | {
|
| | | var info = (DoorLockAlarmsResult)JsonConvert.DeserializeObject<DoorLockAlarmsResult>(jobject["Data"].ToString());
|
| | | var info = JsonConvert.DeserializeObject<DoorLockAlarmsResult>(jobject["Data"].ToString());
|
| | | var alarmInfo = new DeviceAlarmInfo();
|
| | | |
| | | if (info.Clusterid == 1) |
| | |
| | | //暴力开门 |
| | | alarmInfo.AlarmMsg = Language.StringByID(R.MyInternationalizationString.uDoorLockAlarmMsg5); |
| | | } |
| | | else if (info.AlarmCode == 16) |
| | | else if (info.AlarmCode == 216) |
| | | { |
| | | //常开模式开启 |
| | | //常开模式开启(门锁触发) |
| | | alarmInfo.AlarmMsg = Language.StringByID(R.MyInternationalizationString.uDoorLockAlarmMsg6); |
| | | alarmInfo.MsgDiv = 9000; |
| | | } |
| | | else if (info.AlarmCode == 17) |
| | | else if (info.AlarmCode == 217) |
| | | { |
| | | //常开模式结束 |
| | | alarmInfo.AlarmMsg = Language.StringByID(R.MyInternationalizationString.uDoorLockAlarmMsg7); |
| | | //常开模式结束(门锁触发) |
| | | alarmInfo.AlarmMsg = Language.StringByID(R.MyInternationalizationString.uDoorLockAlarmMsg7);
|
| | | alarmInfo.MsgDiv = 9000; |
| | | }
|
| | | else if (info.AlarmCode == 218) |
| | | { |
| | | //常开模式开启(网关触发) |
| | | alarmInfo.AlarmMsg = Language.StringByID(R.MyInternationalizationString.uDoorLockAlarmMsg9);
|
| | | alarmInfo.MsgDiv = 9000; |
| | | }
|
| | | else if (info.AlarmCode == 219) |
| | | { |
| | | //常开模式结束(网关触发) |
| | | alarmInfo.AlarmMsg = Language.StringByID(R.MyInternationalizationString.uDoorLockAlarmMsg10);
|
| | | alarmInfo.MsgDiv = 9000; |
| | | } |
| | | else if (info.AlarmCode == 32) |
| | | else if (info.AlarmCode == 232) |
| | | { |
| | | //门铃触发 |
| | | //有人访问 |
| | | alarmInfo.AlarmMsg = Language.StringByID(R.MyInternationalizationString.uDoorLockAlarmMsg8); |
| | | } |
| | | } |
| | |
| | | }
|
| | | oldDeviceAlarmFile = fileName;
|
| | | return fileName;
|
| | | } |
| | | |
| | | #endregion |
| | | |
| | | #region ■ 结构体_____________________________ |
| | | |
| | | /// <summary> |
| | | /// 门锁的报警结果 |
| | | /// </summary> |
| | | private class DoorLockAlarmsResult |
| | | { |
| | | /// <summary> |
| | | /// 报警类型 |
| | | /// </summary> |
| | | public int AlarmCode = -1; |
| | | /// <summary> |
| | | /// Clusterid |
| | | /// </summary> |
| | | public int Clusterid = -1; |
| | | } |
| | | |
| | | #endregion |