| | |
| | | using System; |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using HDL_ON.Common; |
| | | using HDL_ON.DAL.Server; |
| | |
| | | |
| | | #region 优化区域 2021-02-25 |
| | | /// <summary> |
| | | /// 更新的最后时间 |
| | | /// </summary> |
| | | public string time_stamp = "1615261019796"; |
| | | |
| | | public string GeteTime() |
| | | { |
| | | try |
| | | { |
| | | DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1)); // 当地时区 |
| | | return startTime.AddMilliseconds(Convert.ToDouble(time_stamp)).ToString("s"); |
| | | } |
| | | catch { |
| | | return DateTime.MinValue.ToString("s"); |
| | | } |
| | | } |
| | | /// <summary> |
| | | /// 获取属性列表 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | |
| | | /// <returns>修改结果</returns> |
| | | public bool SetAttrState(string key, object value) |
| | | { |
| | | //var attrState = status.Find((s) => s.key == key.ToString()); |
| | | var attr = attributes.Find((s) => s.key == key); |
| | | if (attr == null) |
| | | { |
| | |
| | | return true; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// icon文件名称 |
| | | /// </summary> |
| | | public string IconName |
| | | { |
| | | get |
| | | { |
| | | string iconPath = spk.Replace(".", ""); |
| | | switch (spk) |
| | | { |
| | | case SPK.PanelSocket: |
| | | iconPath = "electricalsocket"; |
| | | break; |
| | | case SPK.SenesorMegahealth2: |
| | | iconPath = "sensormegahealth"; |
| | | break; |
| | | case SPK.SensorEnvironmentHailin: |
| | | iconPath = "sensorenvironment"; |
| | | break; |
| | | case SPK.HvacAirFresh: |
| | | iconPath = "airFreshstandard"; |
| | | break; |
| | | case SPK.HvacAirFreshJinmao: |
| | | iconPath = "airFreshjinmao"; |
| | | break; |
| | | case SPK.HvacAC: |
| | | iconPath = "acstandard"; |
| | | break; |
| | | case SPK.HvacFan: |
| | | iconPath = "electricalfan"; |
| | | break; |
| | | case SPK.ElectricTuyaFan2: |
| | | iconPath = "electricaltyqborgovyzytytz"; |
| | | break; |
| | | case SPK.ElectricTuyaAirCleaner2: |
| | | iconPath = "electricalQ1RsefNf91tIXyyQ"; |
| | | break; |
| | | case SPK.ElectricTuyaWaterValve2: |
| | | iconPath = "electricalkoiGhMKwLf2ZP81g"; |
| | | break; |
| | | case SPK.ElectricTuyaWeepRobot2: |
| | | iconPath = "electricalai6HtccKFIw3dxo3"; |
| | | break; |
| | | case SPK.AvMusic: |
| | | iconPath = "musicstandard"; |
| | | break; |
| | | |
| | | } |
| | | return iconPath; |
| | | } |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 版本数据列表 |
| | | /// </summary> |
| | | public List<VersionInfo> versions = new List<VersionInfo>(); |
| | | |
| | | /// <summary> |
| | | /// 上一次打开的亮度 |
| | |
| | | #endregion |
| | | |
| | | |
| | | #region base info |
| | | #region base info |
| | | public string sid = "0301011234567801012301230123"; |
| | | /// <summary> |
| | | /// 备注 |
| | |
| | | /// </summary> |
| | | public string spk = ""; |
| | | |
| | | string spk_Prefix; |
| | | private string _SpkCategory = string.Empty; |
| | | /// <summary> |
| | | /// spk前缀 |
| | | /// 大类 |
| | | /// 功能类别 |
| | | /// 如:空调类、灯光类、窗帘类 |
| | | /// spk 产品的品类 |
| | | /// </summary> |
| | | public string Spk_Prefix |
| | | public string SpkCategory |
| | | { |
| | | get |
| | | { |
| | | if (string.IsNullOrEmpty(spk_Prefix)) |
| | | if (string.IsNullOrEmpty(_SpkCategory)) |
| | | { |
| | | spk_Prefix = spk.Split(".")[0]; |
| | | var arr = spk.Split("."); |
| | | if (arr.Length > 0) |
| | | { |
| | | _SpkCategory = arr[0]; |
| | | } |
| | | } |
| | | return spk_Prefix; |
| | | return _SpkCategory; |
| | | } |
| | | } |
| | | |
| | | private string _SpkClassification = string.Empty; |
| | | /// <summary> |
| | | /// spk 产品品类下的分类 |
| | | /// </summary> |
| | | public string SpkClassification |
| | | { |
| | | get |
| | | { |
| | | if (string.IsNullOrEmpty(_SpkClassification)) |
| | | { |
| | | var arr = spk.Split("."); |
| | | if (arr.Length > 1) |
| | | { |
| | | _SpkClassification = arr[1]; |
| | | } |
| | | } |
| | | return _SpkClassification; |
| | | } |
| | | } |
| | | |
| | | string _SpkManufacturer = string.Empty; |
| | | /// <summary> |
| | | /// spk 产品的厂商 |
| | | /// </summary> |
| | | public string SpkManufacturer |
| | | { |
| | | get |
| | | { |
| | | if (string.IsNullOrEmpty(_SpkManufacturer)) |
| | | { |
| | | var arr = spk.Split("."); |
| | | if (arr.Length > 2) |
| | | { |
| | | _SpkManufacturer = arr[2]; |
| | | } |
| | | } |
| | | return _SpkManufacturer; |
| | | } |
| | | } |
| | | |
| | | |
| | | //string spk_Prefix; |
| | | ///// <summary> |
| | | ///// spk前缀 |
| | | ///// 大类 |
| | | ///// 功能类别 |
| | | ///// 如:空调类、灯光类、窗帘类 |
| | | ///// </summary> |
| | | //public string Spk_Prefix |
| | | //{ |
| | | // get |
| | | // { |
| | | // if (string.IsNullOrEmpty(spk_Prefix)) |
| | | // { |
| | | // spk_Prefix = spk.Split(".")[0]; |
| | | // } |
| | | // return spk_Prefix; |
| | | // } |
| | | //} |
| | | |
| | | |
| | | /// <summary> |
| | | /// A协议功能的特性 |
| | | /// 如:是AC功能:特性:on_off,mode,fan,temperature |
| | |
| | | return _trait_on_off; |
| | | } |
| | | } |
| | | /// <summary> |
| | | /// 功能的属性状态列表 |
| | | /// </summary> |
| | | public List<AttributesStatus> status = new List<AttributesStatus>(); |
| | | /// <summary> |
| | | /// 通过状态列表组装属性里面的状态 |
| | | /// </summary> |
| | | public void AssembleStatus() |
| | | { |
| | | foreach (var sta in status) |
| | | { |
| | | SetAttrState(sta.key, sta.value); |
| | | } |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 使用次数 |
| | |
| | | case FunctionAttributeKey.SetTemp: |
| | | case FunctionAttributeKey.FanSpeed: |
| | | case FunctionAttributeKey.Percent: |
| | | case FunctionAttributeKey.CCT: |
| | | case FunctionAttributeKey.RGB: |
| | | //case FunctionAttributeKey.FadeTime: |
| | | if (attr.curValue.ToString() == "{}") |
| | | { |
| | |
| | | { |
| | | attr.curValue = "off"; |
| | | } |
| | | else |
| | | else if (attr.key == FunctionAttributeKey.Mode ) |
| | | { |
| | | if (DB_ResidenceData.Instance.GatewayType == 0) |
| | | { |
| | | attr.curValue = "0"; |
| | | } |
| | | else |
| | | { |
| | | if (SPK.AcSpkList().Contains(spk)) |
| | | { |
| | | attr.curValue = "cool"; |
| | | } |
| | | else if (SPK.FhSpkList().Contains(spk)) |
| | | { |
| | | attr.curValue = "day"; |
| | | } |
| | | } |
| | | } |
| | | else |
| | | { |
| | | attr.curValue = "0"; |
| | | } |
| | |
| | | { |
| | | double vv = 16; |
| | | Double.TryParse(attr.curValue.ToString(), out vv); |
| | | sFunc.status.Add(new SceneFunctionStatus() { key = attr.key, value = Convert.ToInt32(vv).ToString() }); |
| | | if (vv == 0) |
| | | { |
| | | vv = 26; |
| | | } |
| | | sFunc.status.Add(new SceneFunctionStatus() { key = attr.key, value = Convert.ToInt32(vv).ToString(), max = attr.max, min = attr.min }); |
| | | } |
| | | else |
| | | { |
| | | sFunc.status.Add(new SceneFunctionStatus() { key = attr.key, value = attr.curValue.ToString() }); |
| | | sFunc.status.Add(new SceneFunctionStatus() { key = attr.key, value = attr.curValue.ToString(), max = attr.max, min = attr.min }); |
| | | } |
| | | |
| | | break; |
| | | } |
| | | } |
| | |
| | | { |
| | | var sendDataObj = new AlinkFunctionStatusObj(); |
| | | sendDataObj.id = Control.Ins.msg_id.ToString(); |
| | | sendDataObj.time_stamp = Control.Ins.Get_TimeStamp(); |
| | | |
| | | |
| | | sendDataObj.time_stamp = Utlis.GetTimestamp(); |
| | | var acd = new AlinkStatusData(); |
| | | acd.sid = sid; |
| | | foreach (var dic in commandDictionary) |
| | |
| | | aca.value = dic.Value; |
| | | acd.status.Add(aca); |
| | | } |
| | | |
| | | sendDataObj.objects.Add(acd); |
| | | |
| | | return sendDataObj; |
| | | } |
| | | /// <summary> |
| | |
| | | public List<AttributesStatus> status = new List<AttributesStatus>(); |
| | | } |
| | | /// <summary> |
| | | /// a协议控制动作数据 |
| | | /// 功能属性状态 |
| | | /// </summary> |
| | | public class AttributesStatus |
| | | { |
| | |
| | | /// 功能属性 |
| | | /// 属性字段解析:attri :属性内容,value 属性的值,max 最大值 min 最小值 |
| | | /// </summary> |
| | | [System.Serializable] |
| | | [Serializable] |
| | | public class FunctionAttributes |
| | | { |
| | | /// <summary> |
| | |
| | | /// </summary> |
| | | public object curValue = new object(); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 功能属性键名列表 |
| | | /// </summary> |
| | |
| | | /// </summary> |
| | | public const string Mode = "mode"; |
| | | /// <summary> |
| | | /// 扫风 |
| | | /// </summary> |
| | | public const string Swing = "swing"; |
| | | /// <summary> |
| | | /// 工作模式 |
| | | /// 地热/地冷/功率地热/功率地冷 |
| | | /// </summary> |
| | |
| | | /// </summary> |
| | | public const string FanSpeed = "fan"; |
| | | /// <summary> |
| | | /// 手动风向 |
| | | /// </summary> |
| | | public const string FanManual = "fan_manual"; |
| | | /// <summary> |
| | | /// 自动风向 |
| | | /// </summary> |
| | | public const string FanAuto = "fan_auto"; |
| | | |
| | | /// <summary> |
| | | /// 设置温度 |
| | | /// </summary> |
| | | public const string SetTemp = "set_temp"; |
| | | /// <summary> |
| | | /// 温度加减 |
| | | /// </summary> |
| | | public const string SetTempStep = "set_temp_step"; |
| | | /// <summary> |
| | | /// 温度模式 |
| | | /// 空调、地热//app自加 |
| | | /// </summary> |
| | | public const string TempType = "temperature_type"; |
| | | |
| | | /// <summary> |
| | | /// 时间标记 |
| | | /// 地热//app自加 |
| | |
| | | /// <summary> |
| | | /// 室内温度 |
| | | /// </summary> |
| | | public const string IndoorTemp = "room_temp"; |
| | | public const string RoomTemp = "room_temp"; |
| | | /// <summary> |
| | | /// value |
| | | /// </summary> |
| | | public const string Value = "value"; |
| | | |
| | | public const string Co2 = "co2"; |
| | | public const string Temperature = "temperature"; |
| | | public const string Hcho = "hcho"; |
| | | public const string Humidity = "humidity"; |
| | | public const string Pm25 = "pm25"; |
| | | public const string Tvoc = "tvoc"; |
| | | /// <summary> |
| | | /// 状态,传感器 |
| | | /// </summary> |
| | | public const string Status = "status"; |
| | | /// <summary> |
| | | /// 状态(有无人) |
| | | /// </summary> |
| | | public const string PeopleStatus = "people_status"; |
| | | /// <summary> |
| | | /// 状态(报警) |
| | | /// </summary> |
| | | public const string AlarmStatus = "alarm_status"; |
| | | /// <summary> |
| | | /// 状态(闭合、打开) |
| | | /// </summary> |
| | | public const string ContactStatus = "contact_status"; |
| | | /// <summary> |
| | | /// 毫米波传感器,动作状态 |
| | | /// </summary> |
| | | public const string ActionStatus = "action_state"; |
| | | /// <summary> |
| | | /// 电量状态 |
| | | /// </summary> |
| | |
| | | /// </summary> |
| | | public const string AnionTimeLeft = "anion_time_surplus"; |
| | | /// <summary> |
| | | /// 打开登记(风扇) |
| | | /// 打开等级(风扇) |
| | | /// </summary> |
| | | public const string OpenLevel = "openLevel"; |
| | | /// <summary> |
| | | /// 红外按键 |
| | | /// </summary> |
| | | public const string Key = "key"; |
| | | |
| | | /// <summary> |
| | | /// 节能 |
| | | /// </summary> |
| | | public const string Energy = "energy"; |
| | | /// <summary> |
| | | /// 室内温度 |
| | | /// </summary> |
| | | public const string IndoorTemp = "indoor_temp"; |
| | | /// <summary> |
| | | /// 室内湿度 |
| | | /// </summary> |
| | | public const string IndoorHumidity = "indoor_humidity"; |
| | | /// <summary> |
| | | /// 过滤网剩余量 |
| | | /// </summary> |
| | | public const string FilterRemain = "filter_remain"; |
| | | /// <summary> |
| | | /// 过滤网是否超时警告 |
| | | /// </summary> |
| | | public const string FilterTimeout = "filter_timeout"; |
| | | |
| | | #region tuya |
| | | /// <summary> |
| | |
| | | /// </summary> |
| | | public const string TuyaWaterTime = "countdown_1"; |
| | | #endregion |
| | | /// <summary> |
| | | /// 功率 |
| | | /// </summary> |
| | | public const string Power = "power"; |
| | | /// <summary> |
| | | /// 总电量 |
| | | /// </summary> |
| | | public const string TotalElectricity = "total_electricity"; |
| | | |
| | | |
| | | } |
| | |
| | | { |
| | | get |
| | | { |
| | | return Convert.ToByte(loopId, 16); |
| | | try |
| | | { |
| | | return Convert.ToByte(loopId, 16); |
| | | }catch |
| | | { |
| | | return 0; |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | |
| | | public static class SPK |
| | | { |
| | | |
| | | |
| | | |
| | | #region 灯光 |
| | | /// <summary> |
| | | /// (开关灯) |
| | | /// </summary> |
| | |
| | | /// (CCT灯) |
| | | /// </summary> |
| | | public const string LightCCT = "light.cct"; |
| | | |
| | | /// <summary> |
| | | /// 灯光spk列表 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public static List<string> LightSpkList() |
| | | { |
| | | var spkList = new List<string>(); |
| | | spkList.Add(LightCCT); |
| | | spkList.Add(LightDimming); |
| | | spkList.Add(LightRGB); |
| | | spkList.Add(LightRGBW); |
| | | spkList.Add(LightSwitch); |
| | | return spkList; |
| | | } |
| | | #endregion |
| | | |
| | | #region 窗帘 |
| | | /// <summary> |
| | | /// (开关窗帘) |
| | | /// </summary> |
| | |
| | | /// (卷帘) |
| | | /// </summary> |
| | | public const string CurtainRoller = "curtain.roller"; |
| | | |
| | | /// <summary> |
| | | /// 窗帘spk列表 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public static List<string> CurtainSpkList() |
| | | { |
| | | var spkList = new List<string>(); |
| | | spkList.Add(CurtainRoller); |
| | | spkList.Add(CurtainSwitch); |
| | | spkList.Add(CurtainShades); |
| | | spkList.Add(CurtainTrietex); |
| | | return spkList; |
| | | } |
| | | #endregion |
| | | |
| | | #region 空调 |
| | | /// <summary> |
| | | /// (空调) |
| | | /// </summary> |
| | | public const string AcStandard = "ac.standard"; |
| | | /// <summary> |
| | | /// (红外空调) |
| | | /// </summary> |
| | | public const string AcIr= "ir.ac"; |
| | | /// <summary> |
| | | /// 空调 |
| | | /// </summary> |
| | | public const string HvacAC = "hvac.ac"; |
| | | |
| | | /// <summary> |
| | | /// 空调spk列表 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public static List<string> AcSpkList() |
| | | { |
| | | var spkList = new List<string>(); |
| | | spkList.Add(AcStandard); |
| | | spkList.Add(HvacAC); |
| | | spkList.Add(AcIr); |
| | | return spkList; |
| | | } |
| | | #endregion |
| | | |
| | | #region 地热 |
| | | /// <summary> |
| | | /// (地热) |
| | | /// </summary> |
| | | public const string FloorHeatStandard = "floorHeat.standard"; |
| | | /// <summary> |
| | | /// 地暖 |
| | | /// </summary> |
| | | public const string HvacFloorHeat = "hvac.floorHeat"; |
| | | |
| | | /// <summary> |
| | | /// 地热spk列表 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public static List<string> FhSpkList() |
| | | { |
| | | var spkList = new List<string>(); |
| | | spkList.Add(FloorHeatStandard); |
| | | spkList.Add(HvacFloorHeat); |
| | | return spkList; |
| | | } |
| | | #endregion |
| | | |
| | | #region 新风 |
| | | /// <summary> |
| | | /// (新风) |
| | | /// </summary> |
| | | public const string AirFreshStandard = "airFresh.standard"; |
| | | /// <summary> |
| | | /// 新风 |
| | | /// </summary> |
| | | public const string HvacAirFresh = "hvac.airFresh"; |
| | | /// <summary> |
| | | /// 新风 ——金茂定制 |
| | | /// </summary> |
| | | public const string AirFreshJinmao = "airFresh.jinmao"; |
| | | /// <summary> |
| | | /// 新风 ——金茂定制 |
| | | /// </summary> |
| | | public const string HvacAirFreshJinmao = "hvac.airFresh.jinmao"; |
| | | |
| | | /// <summary> |
| | | /// 新风spk列表 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public static List<string> AirFreshSpkList() |
| | | { |
| | | var spkList = new List<string>(); |
| | | spkList.Add(AirFreshStandard); |
| | | spkList.Add(AirFreshJinmao); |
| | | spkList.Add(HvacAirFresh); |
| | | spkList.Add(HvacAirFreshJinmao); |
| | | return spkList; |
| | | } |
| | | #endregion |
| | | |
| | | #region 能源 |
| | | /// <summary> |
| | | /// 能源模块 |
| | | /// </summary> |
| | | public const string EnergyStandard = "energy.standard"; |
| | | |
| | | /// <summary> |
| | | /// 能源-电能 |
| | | /// </summary> |
| | | public const string ElectricEnergy = "energy.electric"; |
| | | /// <summary> |
| | | /// 能源spk列表 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public static List<string> EnergySpkList() |
| | | { |
| | | var spkList = new List<string>(); |
| | | spkList.Add(ElectricEnergy); |
| | | return spkList; |
| | | } |
| | | #endregion |
| | | |
| | | #region 音乐 |
| | | /// <summary> |
| | | /// (音乐) |
| | | /// </summary> |
| | | public const string MusicStandard = "music.standard"; |
| | | /// <summary> |
| | | /// 音乐 |
| | | /// </summary> |
| | | public const string AvMusic = "av.music"; |
| | | |
| | | /// <summary> |
| | | /// 音乐spk列表 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public static List<string> MusicSpkList() |
| | | { |
| | | var spkList = new List<string>(); |
| | | spkList.Add(MusicStandard); |
| | | spkList.Add(AvMusic); |
| | | return spkList; |
| | | } |
| | | #endregion |
| | | |
| | | #region 传感器 |
| | | |
| | | #region 安防传感器 |
| | | /// <summary> |
| | | /// (亮度传感器) |
| | | /// </summary> |
| | | public const string SensorLight = "sensor.light"; |
| | | /// <summary> |
| | | /// (红外移动传感器) |
| | | /// </summary> |
| | | public const string SensorPir = "sensor.pir"; |
| | | /// <summary> |
| | | /// (门窗传感器) |
| | | /// </summary> |
| | | public const string SensorDoorWindow = "sensor.doorwindow"; |
| | | /// <summary> |
| | | /// 烟雾传感器 |
| | | /// </summary> |
| | | public const string SensorSmoke = "sensor.smoke"; |
| | | /// <summary> |
| | | /// 水浸传感器 |
| | | /// </summary> |
| | | public const string SensorWater = "sensor.water"; |
| | | /// <summary> |
| | | /// 燃气传感器 |
| | | /// </summary> |
| | | public const string SensorGas = "sensor.gas"; |
| | | /// <summary> |
| | | /// 红外珊栏传感器 |
| | | /// </summary> |
| | | public const string SensorShanLan = "sensor.shanlan"; |
| | | /// <summary> |
| | | /// 红外对射传感器 |
| | | /// </summary> |
| | | public const string SensorDuiShe = "sensor.duishe"; |
| | | /// <summary> |
| | | /// 超声波传感器 |
| | | /// </summary> |
| | | public const string SensorUtrasonic = "sensor.ultrasonic"; |
| | | /// <summary> |
| | | /// (干接点) |
| | | /// </summary> |
| | | public const string SensorDryContact = "sensor.dryContact"; |
| | | public const string SensorDryContact2 = "dryContact.standard"; |
| | | /// <summary> |
| | | /// 毫米波传感器 |
| | | /// </summary> |
| | | public const string SenesorMegahealth = "sensor.megahealth"; |
| | | public const string SenesorMegahealth2 = "sensor.megahealth.zg"; |
| | | /// <summary> |
| | | /// 安防传感器spk列表 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public static List<string> ArmSensorSpkList() |
| | | { |
| | | var spkList = new List<string>(); |
| | | //spkList.Add(SensorLight); |
| | | spkList.Add(SensorPir); |
| | | spkList.Add(SensorDoorWindow); |
| | | spkList.Add(SensorSmoke); |
| | | spkList.Add(SensorWater); |
| | | spkList.Add(SensorGas); |
| | | //spkList.Add(SensorShanLan); |
| | | //spkList.Add(SensorDuiShe); |
| | | //spkList.Add(SensoruUtrasonic); |
| | | spkList.Add(SensorDryContact); |
| | | spkList.Add(SensorDryContact2); |
| | | spkList.Add(SenesorMegahealth); |
| | | spkList.Add(SenesorMegahealth2); |
| | | return spkList; |
| | | } |
| | | #endregion |
| | | |
| | | #region 环境传感器 |
| | | /// <summary> |
| | | /// (温度传感器) |
| | | /// </summary> |
| | |
| | | /// 湿度传感器 |
| | | /// </summary> |
| | | public const string SensorHumidity = "sensor.humidity"; |
| | | /// <summary> |
| | | /// 环境传感器 |
| | | /// 环境检测传感器 |
| | | /// 特殊类spk |
| | | /// 该spk功能是环境传感器功能的集成 |
| | | /// </summary> |
| | | public const string SensorEnvironment = "sensor.environment"; |
| | | /// <summary> |
| | | /// 青萍环境传感器 |
| | | /// </summary> |
| | | public const string SensorEnvironment2 = "sensor.environment2"; |
| | | /// <summary> |
| | | /// 青萍环境传感器 |
| | | /// </summary> |
| | | public const string SensorEnvironment3 = "sensor.environment3"; |
| | | public const string SensorEnvironmentHailin = "sensor.environment.hailin"; |
| | | /// <summary> |
| | | /// 甲醛 |
| | | /// </summary> |
| | | public const string SensorHcho = "sensor.hcho"; |
| | | |
| | | /// <summary> |
| | | /// (红外移动传感器) |
| | | /// 环境传感器设备spk列表 |
| | | /// </summary> |
| | | public const string SensorPir = "sensor.pir"; |
| | | /// <returns></returns> |
| | | public static List<string> EnvironDeviceSpkList() |
| | | { |
| | | var spkList = new List<string>(); |
| | | spkList.Add(SensorTemperature); |
| | | spkList.Add(SensorPm25); |
| | | spkList.Add(SensorCO2); |
| | | spkList.Add(SensorTVOC); |
| | | spkList.Add(SensorHumidity); |
| | | spkList.Add(SensorEnvironment); |
| | | spkList.Add(SensorEnvironment2); |
| | | spkList.Add(SensorEnvironment3); |
| | | spkList.Add(SensorHcho); |
| | | return spkList; |
| | | } |
| | | /// <summary> |
| | | /// (门窗传感器) |
| | | /// 环境传感器spk列表 |
| | | /// </summary> |
| | | public const string SensorDoorWindow = "sensor.doorwindow"; |
| | | /// <summary> |
| | | /// 烟雾传感器 |
| | | /// </summary> |
| | | public const string SensorSmoke = "sensor.smoke"; |
| | | /// <summary> |
| | | /// 水浸传感器 |
| | | /// </summary> |
| | | public const string SensorWater = "sensor.water"; |
| | | /// <summary> |
| | | /// 燃气传感器 |
| | | /// </summary> |
| | | public const string SensorGas= "sensor.gas"; |
| | | /// <summary> |
| | | /// 红外珊栏传感器 |
| | | /// </summary> |
| | | public const string SensorShanLan = "sensor.shanlan"; |
| | | /// <summary> |
| | | /// 红外对射传感器 |
| | | /// </summary> |
| | | public const string SensorDuiShe = "sensor.duishe"; |
| | | /// <summary> |
| | | /// 超声波传感器 |
| | | /// </summary> |
| | | public const string SensoruUtrasonic = "sensor.ultrasonic"; |
| | | /// <returns></returns> |
| | | public static List<string> EnvironSpkList() |
| | | { |
| | | var spkList = new List<string>(); |
| | | spkList.Add(SensorTemperature); |
| | | spkList.Add(SensorPm25); |
| | | spkList.Add(SensorCO2); |
| | | spkList.Add(SensorTVOC); |
| | | spkList.Add(SensorHumidity); |
| | | spkList.Add(SensorHcho); |
| | | return spkList; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// (干接点) |
| | | /// 环境传感器设备列表 |
| | | /// </summary> |
| | | public const string SensorDryContact = "sensor.dryContact"; |
| | | /// <returns></returns> |
| | | public static List<string> EvironmentSensorList() |
| | | { |
| | | var spkList = new List<string>(); |
| | | spkList.Add(SensorEnvironment); |
| | | spkList.Add(SensorEnvironment2); |
| | | spkList.Add(SensorEnvironment3); |
| | | return spkList; |
| | | } |
| | | |
| | | #endregion |
| | | #endregion |
| | | |
| | | #region 家电 |
| | | /// <summary> |
| | | /// 家电、插座 |
| | | /// </summary> |
| | | public const string ElectricSocket = "electrical.socket"; |
| | | /// <summary> |
| | | /// 面板、插座、面板 |
| | | /// </summary> |
| | | public const string PanelSocket = "panel.socket"; |
| | | /// <summary> |
| | | /// 家电、电视 |
| | | /// </summary> |
| | | public const string ElectricTV = "electrical.tv"; |
| | | /// <summary> |
| | | /// 红外、电视 |
| | | /// </summary> |
| | | public const string TvIr = "ir.tv"; |
| | | /// <summary> |
| | | /// 红外、小米电视 |
| | | /// </summary> |
| | | public const string TvXmIr = "ir.tvxm"; |
| | | /// <summary> |
| | | /// 家电、风扇 |
| | | /// </summary> |
| | | public const string ElectricFan = "electrical.fan";
|
| | | /// <summary> |
| | | /// 家电、涂鸦空气净化器 |
| | | /// </summary> |
| | | public const string ElectricTuyaAirCleaner = "electrical.Q1RsefNf91tIXyyQ"; |
| | | /// <summary> |
| | | /// 家电、涂鸦电风扇 |
| | | /// </summary> |
| | | public const string ElectricTuyaFan = "electrical.tyqborgovyzytytz";
|
| | | /// <summary> |
| | | /// 家电、涂鸦扫地机器人 |
| | | /// </summary> |
| | | public const string ElectricTuyaWeepRobot = "electrical.ai6HtccKFIw3dxo3"; |
| | | /// <summary> |
| | | /// 家电、涂鸦水阀 |
| | | /// </summary> |
| | | public const string ElectricTuyaWaterValve = "electrical.koiGhMKwLf2ZP81g"; |
| | | public const string ElectricFan = "electrical.fan"; |
| | | public const string HvacFan = "hvac.fan"; |
| | | /// <summary> |
| | | /// 凉霸 |
| | | /// </summary> |
| | | public const string ClothesHanger = "electrical.racks"; |
| | | /// <summary> |
| | | /// 红外遥控器 |
| | | /// </summary> |
| | | public const string IrLearn = "ir.learn"; |
| | | /// <summary> |
| | | /// 红外投影仪 |
| | | /// </summary> |
| | | public const string PjtIr = "ir.pjt"; |
| | | /// <summary> |
| | | /// 红外机顶盒 |
| | | /// </summary> |
| | | public const string StbIr = "ir.stb"; |
| | | /// <summary> |
| | | /// 红外影碟机 |
| | | /// </summary> |
| | | public const string DvDIr = "ir.dvd"; |
| | | /// <summary> |
| | | /// 红外空气净化器 |
| | | /// </summary> |
| | | public const string PurifierIr = "ir.air_purifier"; |
| | | /// <summary> |
| | | /// 红外热水器 |
| | | /// </summary> |
| | | public const string HeaterIr = " ir.water_heater"; |
| | | /// <summary> |
| | | /// 红外风扇 |
| | | /// </summary> |
| | | public const string FanIr = "ir.fan"; |
| | | /// <summary> |
| | | /// 智能空开 |
| | | /// </summary> |
| | | public const string AirSwitch = "electrical.breaker"; |
| | | |
| | | #region 涂鸦 |
| | | /// <summary> |
| | | /// 家电、涂鸦空气净化器 |
| | | /// </summary> |
| | | public const string ElectricTuyaAirCleaner = "electrical.Q1RsefNf91tIXyyQ"; |
| | | public const string ElectricTuyaAirCleaner2 = "hvac.air.tuya_epi345"; |
| | | /// <summary> |
| | | /// 家电、涂鸦电风扇 |
| | | /// </summary> |
| | | public const string ElectricTuyaFan = "electrical.tyqborgovyzytytz"; |
| | | public const string ElectricTuyaFan2 = "hvac.fan.tuya_ef101"; |
| | | /// <summary> |
| | | /// 家电、涂鸦扫地机器人 |
| | | /// </summary> |
| | | public const string ElectricTuyaWeepRobot = "electrical.ai6HtccKFIw3dxo3"; |
| | | public const string ElectricTuyaWeepRobot2 = "electrical.sweep.tuya"; |
| | | /// <summary> |
| | | /// 家电、涂鸦水阀 |
| | | /// </summary> |
| | | public const string ElectricTuyaWaterValve = "electrical.koiGhMKwLf2ZP81g"; |
| | | public const string ElectricTuyaWaterValve2 = "electrical.watervalve.tuya_aw713"; |
| | | #endregion |
| | | |
| | | |
| | | /// <summary> |
| | | /// 家电spk列表 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public static List<string> ElectricalSpkList() |
| | | { |
| | | var spkList = new List<string>(); |
| | | spkList.Add(ElectricSocket); |
| | | spkList.Add(PanelSocket); |
| | | spkList.Add(ElectricTV); |
| | | spkList.Add(TvIr); |
| | | spkList.Add(TvXmIr); |
| | | spkList.Add(ElectricFan); |
| | | spkList.Add(HvacFan); |
| | | spkList.Add(FanIr); |
| | | spkList.Add(ClothesHanger); |
| | | spkList.Add(IrLearn); |
| | | spkList.Add(PjtIr); |
| | | spkList.Add(StbIr); |
| | | spkList.Add(ElectricTuyaAirCleaner); |
| | | spkList.Add(ElectricTuyaAirCleaner2); |
| | | spkList.Add(ElectricTuyaFan); |
| | | spkList.Add(ElectricTuyaFan2); |
| | | spkList.Add(ElectricTuyaWeepRobot); |
| | | spkList.Add(ElectricTuyaWeepRobot2); |
| | | spkList.Add(ElectricTuyaWaterValve); |
| | | spkList.Add(ElectricTuyaWaterValve2); |
| | | spkList.Add(AirSwitch); |
| | | return spkList; |
| | | } |
| | | |
| | | |
| | | #endregion |
| | | |
| | | #region 设备类 |
| | | /// <summary> |
| | | /// 红外宝 |
| | | /// </summary> |
| | | public const string IrModule = "ir.module"; |
| | | |
| | | /// <summary> |
| | | /// 红外空调 |
| | | /// 设备类spk列表 |
| | | /// </summary> |
| | | public const string IrAC = "ir.ac"; |
| | | /// <returns></returns> |
| | | public static List<string> DeviceSpkList() |
| | | { |
| | | var spkList = new List<string>(); |
| | | spkList.Add(IrModule); |
| | | return spkList; |
| | | } |
| | | #endregion |
| | | |
| | | |
| | | #region 第三方spk列表 |
| | | /// <summary> |
| | | /// 获取所有第三方品牌功能的spk |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public static List<string> GetAll3tySPK() |
| | | { |
| | | var spkList = new List<string>(); |
| | | spkList.Add(ElectricTuyaAirCleaner); |
| | | spkList.Add(ElectricTuyaAirCleaner2); |
| | | spkList.Add(ElectricTuyaFan); |
| | | spkList.Add(ElectricTuyaFan2); |
| | | spkList.Add(ElectricTuyaWaterValve); |
| | | spkList.Add(ElectricTuyaWaterValve2); |
| | | spkList.Add(ElectricTuyaWeepRobot); |
| | | spkList.Add(ElectricTuyaWeepRobot2); |
| | | spkList.Add(SenesorMegahealth); |
| | | spkList.Add(SenesorMegahealth2); |
| | | return spkList; |
| | | } |
| | | /// <summary> |
| | | /// 获取第三方设备spk |
| | | /// </summary> |
| | |
| | | |
| | | switch (brandType) |
| | | { |
| | | case BrandType.All3tyBrand: |
| | | case BrandType.Tuya: |
| | | list.Add(ElectricTuyaAirCleaner); |
| | | list.Add(ElectricTuyaFan); |
| | | list.Add(ElectricTuyaWaterValve); |
| | | list.Add(ElectricTuyaWeepRobot); |
| | | list.Add(ElectricTuyaAirCleaner2); |
| | | list.Add(ElectricTuyaFan2); |
| | | list.Add(ElectricTuyaWaterValve2); |
| | | list.Add(ElectricTuyaWeepRobot2); |
| | | break; |
| | | case BrandType.All3tyBrand: |
| | | list.Add(SenesorMegahealth);//兆观 |
| | | break; |
| | | } |
| | | return list; |
| | | } |
| | | #endregion |
| | | |
| | | /// <summary> |
| | | /// 没有状态显示的功能spk列表 |
| | | /// </summary> |
| | | public static List<string> NotStatusSpkList = new List<string> { |
| | | ElectricTV, FanIr, TvIr, TvXmIr, StbIr, PjtIr, IrLearn |
| | | }; |
| | | |
| | | /// <summary> |
| | | /// 第三方品牌列表 |
| | |
| | | All = 0, |
| | | Hdl = 1, |
| | | Tuya = 2, |
| | | /// <summary> |
| | | /// 兆观 |
| | | /// </summary> |
| | | Megahealth = 3, |
| | | |
| | | |
| | | All3tyBrand = 999, |
| | |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 功能类别 |
| | | /// </summary> |
| | | public static class FunctionCategory |
| | | { |
| | | /// <summary> |
| | | ///(灯) |
| | | /// </summary> |
| | | public const string Light = "light"; |
| | | /// <summary> |
| | | /// (窗帘) |
| | | /// </summary> |
| | | public const string Curtain = "curtain"; |
| | | /// <summary> |
| | | /// (空调) |
| | | /// </summary> |
| | | public const string AC = "ac"; |
| | | /// <summary> |
| | | /// (地热) |
| | | /// </summary> |
| | | public const string FloorHeat = "floorHeat"; |
| | | /// <summary> |
| | | /// (新风) |
| | | /// </summary> |
| | | public const string AirFresh = "airFresh"; |
| | | /// <summary> |
| | | /// (音乐) |
| | | /// </summary> |
| | | public const string Music = "music"; |
| | | /// <summary> |
| | | /// (传感器) |
| | | /// </summary> |
| | | public const string Sensor = "sensor"; |
| | | /// <summary> |
| | | /// (干接点) |
| | | /// </summary> |
| | | public const string DryContact = "dryContact"; |
| | | /// <summary> |
| | | /// 家电 |
| | | /// </summary> |
| | | public const string Electric = "electrical"; |
| | | |
| | | //Music = 0x09, |
| | | ///// <summary> |
| | | ///// 功能类别 |
| | | ///// </summary> |
| | | //public static class FunctionCategory |
| | | //{ |
| | | // /// <summary> |
| | | // ///(灯) |
| | | // /// </summary> |
| | | // public const string Light = "light"; |
| | | // /// <summary> |
| | | // /// (窗帘) |
| | | // /// </summary> |
| | | // public const string Curtain = "curtain"; |
| | | // /// <summary> |
| | | // /// (空调) |
| | | // /// </summary> |
| | | // public const string AC = "ac"; |
| | | // /// <summary> |
| | | // /// (地热) |
| | | // /// </summary> |
| | | // public const string FloorHeat = "floorHeat"; |
| | | // /// <summary> |
| | | // /// (新风) |
| | | // /// </summary> |
| | | // public const string AirFresh = "airFresh"; |
| | | // /// <summary> |
| | | // /// (音乐) |
| | | // /// </summary> |
| | | // public const string Music = "music"; |
| | | // /// <summary> |
| | | // /// (传感器) |
| | | // /// </summary> |
| | | // public const string Sensor = "sensor"; |
| | | // /// <summary> |
| | | // /// (干接点) |
| | | // /// </summary> |
| | | // public const string DryContact = "dryContact"; |
| | | // /// <summary> |
| | | // /// 家电 |
| | | // /// </summary> |
| | | // public const string Electric = "electrical"; |
| | | // /// <summary> |
| | | // /// 红外设备 |
| | | // /// </summary> |
| | | // public const string IR = "ir"; |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | //} |
| | | |
| | | |
| | | public class VersionInfo |
| | | { |
| | | public string module = ""; |
| | | public string version = ""; |
| | | } |
| | | } |