using System;
|
using System.Collections.Generic;
|
using HDL_ON.Common;
|
|
namespace HDL_ON.Entity
|
{
|
public class Security
|
{
|
/// <summary>
|
/// 安防sid
|
/// </summary>
|
public string sid;
|
/// <summary>
|
/// 安防名称
|
/// </summary>
|
public string name;
|
/// <summary>
|
/// 安防延时
|
/// </summary>
|
public string delay;
|
/// <summary>
|
/// 状态 enable布防、disable撒防
|
/// </summary>
|
public string status;
|
/// <summary>
|
/// 类型
|
/// "all"--全宅布防,
|
/// "normal"--普通模式,
|
/// "all_day":24小时,
|
/// "mute":静音
|
/// </summary>
|
public string type;
|
/// <summary>
|
/// 更新时间
|
/// </summary>
|
public string modifyTime;
|
/// <summary>
|
/// 安防输入条件
|
/// </summary>
|
public List<SecurityInput> input = new List<SecurityInput>();
|
/// <summary>
|
/// 安防输出
|
/// </summary>
|
public List<SecurityOutput> output = new List<SecurityOutput>();
|
/// <summary>
|
/// 安防通知配置
|
/// </summary>
|
public SecurityNoticeConfig noticeConfig = new SecurityNoticeConfig();
|
/// <summary>
|
/// 安防推送配置
|
/// </summary>
|
public List<SecurityPushConfig> pushConfigs = new List<SecurityPushConfig>();
|
|
/// <summary>
|
/// 数据存储文件名
|
/// </summary>
|
[Newtonsoft.Json.JsonIgnore]
|
public string savePath
|
{
|
get
|
{
|
return "SecurityData_" + sid;
|
}
|
}
|
/// <summary>
|
/// 保存文件
|
/// </summary>
|
public void SaveFile()
|
{
|
var ssd = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(this));
|
FileUtlis.Files.WriteFileByBytes(savePath, ssd);
|
}
|
}
|
|
/// <summary>
|
/// 安防状态配置
|
/// </summary>
|
public class SecurityState
|
{
|
/// <summary>
|
/// 安防云端id
|
/// </summary>
|
public string userSecurityId;
|
/// <summary>
|
/// 网关id 网关id 如果传的是sid该字段需要传
|
/// </summary>
|
public string gatewayId;
|
/// <summary>
|
/// 安防sid
|
/// </summary>
|
public string sid;
|
/// <summary>
|
/// 状态 enable布防、disable撒防
|
/// </summary>
|
public string status;
|
}
|
|
/// <summary>
|
/// 安防bypass设置对象
|
/// </summary>
|
public class SecurityBypass
|
{
|
/// <summary>
|
/// 安防云端id
|
/// </summary>
|
public string userSecurityId;
|
/// <summary>
|
/// 输入设备bypass状态列表
|
/// </summary>
|
public List<SecurityBypassInput> input = new List<SecurityBypassInput>();
|
|
}
|
/// <summary>
|
/// 输入设备bypass状态
|
/// </summary>
|
public class SecurityBypassInput
|
{
|
/// <summary>
|
/// 设备sid
|
/// </summary>
|
public string sid;
|
/// <summary>
|
/// true:启用
|
/// false:停用(临时bypass)
|
/// </summary>
|
public string bypass;
|
}
|
|
|
/// <summary>
|
/// 安防输入
|
/// </summary>
|
public class SecurityInput
|
{
|
/// <summary>
|
/// 输入条件(功能)的sid
|
/// 输入设备sid
|
/// </summary>
|
public string sid;
|
/// <summary>
|
/// Bypass设置 true:启用中、false:临时bypass中
|
/// </summary>
|
public string bypass;
|
/// <summary>
|
/// 安防输入条件
|
/// </summary>
|
public List<SecurityInputCondition> condition = new List<SecurityInputCondition>();
|
|
}
|
/// <summary>
|
/// 安防输入条件
|
/// </summary>
|
public class SecurityInputCondition
|
{
|
/// <summary>
|
/// 属性(条件)名称
|
/// </summary>
|
public string key;
|
/// <summary>
|
/// 操作(执行)条件
|
/// < 小于 > 大于 ==等于
|
/// </summary>
|
public string comparator;
|
/// <summary>
|
/// 条件值类型
|
/// int \float\ string
|
/// </summary>
|
public string data_type = "string";
|
/// <summary>
|
/// 值
|
/// </summary>
|
public string value;
|
}
|
|
/// <summary>
|
/// 安防输出
|
/// </summary>
|
public class SecurityOutput
|
{
|
/// <summary>
|
/// 控制目标类型
|
/// 设备:0,场景1,自动化2
|
/// </summary>
|
public string target_type;
|
/// <summary>
|
/// 输出目标的sid
|
/// </summary>
|
public string sid;
|
/// <summary>
|
/// 安防输出状态
|
/// </summary>
|
public List<SecurityOutputStatus> status = new List<SecurityOutputStatus>();
|
}
|
/// <summary>
|
/// 安防输出状态
|
/// </summary>
|
public class SecurityOutputStatus
|
{
|
public string key;
|
public string value;
|
}
|
|
/// <summary>
|
/// 安防通知配置
|
/// </summary>
|
public class SecurityNoticeConfig
|
{
|
/// <summary>
|
/// 是否开启通知
|
/// </summary>
|
public bool enable;
|
/// <summary>
|
/// 通知内容
|
/// </summary>
|
public string noticeContent;
|
|
}
|
/// <summary>
|
/// 安防推送配置
|
/// </summary>
|
public class SecurityPushConfig
|
{
|
/// <summary>
|
/// 推送方式
|
/// APP:app push
|
/// SMS:短信
|
/// </summary>
|
public string pushMethod;
|
/// <summary>
|
/// 推送目标
|
/// </summary>
|
public List<string> pushTarget = new List<string>();
|
}
|
}
|