| | |
| | | using System; |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using HDL_ON.Common; |
| | | using HDL_ON.DAL.Server; |
| | |
| | | /// <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) |
| | | { |
| | |
| | | #endregion |
| | | |
| | | |
| | | #region base info |
| | | #region base info |
| | | public string sid = "0301011234567801012301230123"; |
| | | /// <summary> |
| | | /// 备注 |
| | |
| | | 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> |
| | | /// 使用次数 |
| | |
| | | { |
| | | 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); |
| | | if (vv == 0) |
| | | { |
| | | vv = 26; |
| | | } |
| | | sFunc.status.Add(new SceneFunctionStatus() { key = attr.key, value = Convert.ToInt32(vv).ToString() }); |
| | | } |
| | | else |
| | |
| | | public List<AttributesStatus> status = new List<AttributesStatus>(); |
| | | } |
| | | /// <summary> |
| | | /// a协议控制动作数据 |
| | | /// 功能属性状态 |
| | | /// </summary> |
| | | public class AttributesStatus |
| | | { |
| | |
| | | /// </summary> |
| | | public object curValue = new object(); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 功能属性键名列表 |
| | | /// </summary> |
| | |
| | | /// 模式 |
| | | /// </summary> |
| | | public const string Mode = "mode"; |
| | | /// <summary> |
| | | /// 扫风 |
| | | /// </summary> |
| | | public const string Swing = "swing"; |
| | | /// <summary> |
| | | /// 工作模式 |
| | | /// 地热/地冷/功率地热/功率地冷 |
| | |
| | | /// 空调、地热//app自加 |
| | | /// </summary> |
| | | public const string TempType = "temperature_type"; |
| | | |
| | | /// <summary> |
| | | /// 时间标记 |
| | | /// 地热//app自加 |
| | |
| | | /// 状态,传感器 |
| | | /// </summary> |
| | | public const string Status = "status"; |
| | | /// <summary> |
| | | /// 毫米波传感器,动作状态 |
| | | /// </summary> |
| | | public const string ActionStatus = "action_state"; |
| | | /// <summary> |
| | | /// 电量状态 |
| | | /// </summary> |
| | |
| | | /// </summary> |
| | | public const string Humidity = "humidity"; |
| | | /// <summary> |
| | | /// 温度 |
| | | /// </summary> |
| | | public const string Temperature = "temperature"; |
| | | /// <summary> |
| | | /// 室内温度 |
| | | /// </summary> |
| | | public const string IndoorTemp = "indoor_temp"; |
| | |
| | | /// </summary> |
| | | public const string FilterRemain = "filter_remain"; |
| | | /// <summary> |
| | | /// 过滤网是否超时警告 |
| | | /// 过滤网是否超时警告 |
| | | /// </summary> |
| | | public const string FilterTimeout = "filter_timeout"; |
| | | |
| | |
| | | /// </summary> |
| | | public const string TuyaWaterTime = "countdown_1"; |
| | | #endregion |
| | | /// <summary> |
| | | /// 功率 |
| | | /// </summary> |
| | | public const string Power = "power"; |
| | | /// <summary> |
| | | /// 总电量 |
| | | /// </summary> |
| | | public const string TotalElectricity = "total_electricity"; |
| | | |
| | | |
| | | } |
| | |
| | | |
| | | public static class SPK |
| | | { |
| | | |
| | | |
| | | |
| | | #region 灯光 |
| | | /// <summary> |
| | |
| | | /// 能源模块 |
| | | /// </summary> |
| | | public const string EnergyStandard = "energy.standard"; |
| | | |
| | | /// <summary> |
| | | /// 能源-电能 |
| | | /// </summary> |
| | | public const string ElectricEnergy = "energy.electric"; |
| | | /// <summary> |
| | | /// 能源spk列表 |
| | | /// </summary> |
| | |
| | | public static List<string> EnergySpkList() |
| | | { |
| | | var spkList = new List<string>(); |
| | | spkList.Add(EnergyStandard); |
| | | spkList.Add(ElectricEnergy); |
| | | return spkList; |
| | | } |
| | | #endregion |
| | |
| | | /// <summary> |
| | | /// 超声波传感器 |
| | | /// </summary> |
| | | public const string SensoruUtrasonic = "sensor.ultrasonic"; |
| | | public const string SensorUtrasonic = "sensor.ultrasonic"; |
| | | /// <summary> |
| | | /// (干接点) |
| | | /// </summary> |
| | | public const string SensorDryContact = "sensor.dryContact"; |
| | | |
| | | /// <summary> |
| | | /// 毫米波传感器 |
| | | /// </summary> |
| | | public const string SenesorMegahealth = "sensor.megahealth"; |
| | | /// <summary> |
| | | /// 安防传感器spk列表 |
| | | /// </summary> |
| | |
| | | public static List<string> ArmSensorSpkList() |
| | | { |
| | | var spkList = new List<string>(); |
| | | spkList.Add(SensorLight); |
| | | //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(SensorShanLan); |
| | | //spkList.Add(SensorDuiShe); |
| | | //spkList.Add(SensoruUtrasonic); |
| | | //spkList.Add(SensorDryContact); |
| | | spkList.Add(SenesorMegahealth); |
| | | return spkList; |
| | | } |
| | | #endregion |
| | |
| | | /// 湿度传感器 |
| | | /// </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"; |
| | | |
| | | /// <summary> |
| | | /// 环境传感器spk列表 |
| | |
| | | spkList.Add(SensorCO2); |
| | | spkList.Add(SensorTVOC); |
| | | spkList.Add(SensorHumidity); |
| | | spkList.Add(SensorEnvironment); |
| | | spkList.Add(SensorEnvironment2); |
| | | spkList.Add(SensorEnvironment3); |
| | | return spkList; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 环境传感器设备列表 |
| | | /// </summary> |
| | | /// <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 |
| | | |
| | |
| | | /// </summary> |
| | | public const string TvIr = "ir.tv"; |
| | | /// <summary> |
| | | /// 红外、小米电视 |
| | | /// </summary> |
| | | public const string TvXmIr = "ir.tvxm"; |
| | | /// <summary> |
| | | /// 家电、风扇 |
| | | /// </summary> |
| | | public const string ElectricFan = "electrical.fan"; |
| | |
| | | /// 红外遥控器 |
| | | /// </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"; |
| | | |
| | | #region 涂鸦 |
| | | /// <summary> |
| | |
| | | spkList.Add(ElectricSocket); |
| | | spkList.Add(ElectricTV); |
| | | spkList.Add(TvIr); |
| | | spkList.Add(TvXmIr); |
| | | spkList.Add(ElectricFan); |
| | | spkList.Add(FanIr); |
| | | spkList.Add(ClothesHanger); |
| | | spkList.Add(IrLearn); |
| | | spkList.Add(PjtIr); |
| | | spkList.Add(StbIr); |
| | | spkList.Add(ElectricTuyaAirCleaner); |
| | | spkList.Add(ElectricTuyaFan); |
| | | spkList.Add(ElectricTuyaWeepRobot); |
| | |
| | | } |
| | | #endregion |
| | | |
| | | |
| | | #region 第三方spk列表 |
| | | /// <summary> |
| | | /// 获取所有第三方品牌功能的spk |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public static List<string> GetAll3tySPK() |
| | | { |
| | | var spkList = new List<string>(); |
| | | spkList.Add(ElectricTuyaAirCleaner); |
| | | spkList.Add(ElectricTuyaFan); |
| | | spkList.Add(ElectricTuyaWaterValve); |
| | | spkList.Add(ElectricTuyaWeepRobot); |
| | | spkList.Add(SenesorMegahealth); |
| | | 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); |
| | | 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, |