wxr
2021-07-01 43b0d5870d528f23ecd6aeceb6cfd4325188b46f
HDL_ON/Entity/Function/Function.cs
@@ -1,4 +1,4 @@
using System;
using System;
using System.Collections.Generic;
using HDL_ON.Common;
using HDL_ON.DAL.Server;
@@ -126,7 +126,6 @@
        /// <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)
            {
@@ -151,6 +150,12 @@
            }
        }
        /// <summary>
        /// 版本数据列表
        /// </summary>
        public List<VersionInfo> versions = new List<VersionInfo>();
        /// <summary>
        /// 上一次打开的亮度
        /// 灯光私有属性
@@ -167,7 +172,7 @@
        #endregion
        #region base info
        #region base info
        public string sid = "0301011234567801012301230123";
        /// <summary>
        /// 备注
@@ -712,6 +717,10 @@
        /// </summary>
        public const string Mode = "mode";
        /// <summary>
        /// 扫风
        /// </summary>
        public const string Swing = "swing";
        /// <summary>
        /// 工作模式
        /// 地热/地冷/功率地热/功率地冷
        /// </summary>
@@ -762,7 +771,7 @@
        /// <summary>
        /// 室内温度
        /// </summary>
        public const string IndoorTemp = "room_temp";
        public const string RoomTemp = "room_temp";
        /// <summary>
        /// value
        /// </summary>
@@ -771,6 +780,10 @@
        /// 状态,传感器
        /// </summary>
        public const string Status = "status";
        /// <summary>
        /// 毫米波传感器,动作状态
        /// </summary>
        public const string ActionStatus = "action_state";
        /// <summary>
        /// 电量状态
        /// </summary>
@@ -832,7 +845,7 @@
        /// </summary>
        public const string AnionTimeLeft = "anion_time_surplus";
        /// <summary>
        /// 打开登记(风扇)
        /// 打开等级(风扇)
        /// </summary>
        public const string OpenLevel = "openLevel";
        /// <summary>
@@ -840,6 +853,30 @@
        /// </summary>
        public const string Key = "key";
        /// <summary>
        /// 节能
        /// </summary>
        public const string Energy = "energy";
        /// <summary>
        /// 湿度
        /// </summary>
        public const string Humidity = "humidity";
        /// <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>
@@ -847,6 +884,14 @@
        /// </summary>
        public const string TuyaWaterTime = "countdown_1";
        #endregion
        /// <summary>
        /// 功率
        /// </summary>
        public const string Power = "power";
        /// <summary>
        /// 总电量
        /// </summary>
        public const string TotalElectricity = "total_electricity";
    }
@@ -889,7 +934,13 @@
        {
            get
            {
                return Convert.ToByte(loopId, 16);
                try
                {
                    return Convert.ToByte(loopId, 16);
                }catch
                {
                    return 0;
                }
            }
        }
@@ -898,6 +949,10 @@
    public static class SPK
    {
        #region 灯光
        /// <summary>
        /// (开关灯)
        /// </summary>
@@ -918,6 +973,24 @@
        /// (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>
@@ -934,6 +1007,23 @@
        /// (卷帘)
        /// </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>
@@ -942,22 +1032,171 @@
        /// (红外空调)
        /// </summary>
        public const string AcIr= "ir.ac";
        /// <summary>
        /// 空调spk列表
        /// </summary>
        /// <returns></returns>
        public static List<string> AcSpkList()
        {
            var spkList = new List<string>();
            spkList.Add(AcStandard);
            spkList.Add(AcIr);
            return spkList;
        }
        #endregion
        #region 地热
        /// <summary>
        /// (地热)
        /// </summary>
        public const string FloorHeatStandard = "floorHeat.standard";
        /// <summary>
        /// 地热spk列表
        /// </summary>
        /// <returns></returns>
        public static List<string> FhSpkList()
        {
            var spkList = new List<string>();
            spkList.Add(FloorHeatStandard);
            return spkList;
        }
        #endregion
        #region 新风
        /// <summary>
        /// (新风)
        /// </summary>
        public const string AirFreshStandard = "airFresh.standard";
        /// <summary>
        /// 新风 ——金茂定制
        /// </summary>
        public const string AirFreshJinmao = "airFresh.jinmao";
        /// <summary>
        /// 新风spk列表
        /// </summary>
        /// <returns></returns>
        public static List<string> AirFreshSpkList()
        {
            var spkList = new List<string>();
            spkList.Add(AirFreshStandard);
            spkList.Add(AirFreshJinmao);
            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>
        /// 音乐spk列表
        /// </summary>
        /// <returns></returns>
        public static List<string> MusicSpkList()
        {
            var spkList = new List<string>();
            spkList.Add(MusicStandard);
            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 SensoruUtrasonic = "sensor.ultrasonic";
        /// <summary>
        /// (干接点)
        /// </summary>
        public const string SensorDryContact = "sensor.dryContact";
        /// <summary>
        /// 毫米波传感器
        /// </summary>
        public const string SenesorMegahealth = "sensor.megahealth";
        /// <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(SenesorMegahealth);
            return spkList;
        }
        #endregion
        #region 环境传感器
        /// <summary>
        /// (温度传感器)
        /// </summary>
@@ -980,42 +1219,23 @@
        public const string SensorHumidity = "sensor.humidity";
        /// <summary>
        /// (红外移动传感器)
        /// 环境传感器spk列表
        /// </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 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);
            return spkList;
        }
        #endregion
        #endregion
        /// <summary>
        /// (干接点)
        /// </summary>
        public const string SensorDryContact = "sensor.dryContact";
        #region 家电
        /// <summary>
        /// 家电、插座
        /// </summary>
@@ -1027,11 +1247,49 @@
        /// <summary>
        /// 红外、电视
        /// </summary>
        public const string IrTV = "ir.tv";
        public const string TvIr = "ir.tv";
        /// <summary>
        /// 红外、小米电视
        /// </summary>
        public const string TvXmIr = "ir.tvxm";
        /// <summary>
        /// 家电、风扇
        /// </summary>
        public const string ElectricFan = "electrical.fan";
        public const string ElectricFan = "electrical.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";
        #region 涂鸦
        /// <summary>
        /// 家电、涂鸦空气净化器
        /// </summary>
@@ -1039,7 +1297,7 @@
        /// <summary>
        /// 家电、涂鸦电风扇
        /// </summary>
        public const string ElectricTuyaFan = "electrical.tyqborgovyzytytz";
        public const string ElectricTuyaFan = "electrical.tyqborgovyzytytz";
        /// <summary>
        /// 家电、涂鸦扫地机器人
        /// </summary>
@@ -1048,24 +1306,70 @@
        /// 家电、涂鸦水阀
        /// </summary>
        public const string ElectricTuyaWaterValve = "electrical.koiGhMKwLf2ZP81g";
        #endregion
        /// <summary>
        /// 凉霸
        /// 家电spk列表
        /// </summary>
        public const string ClothesHanger = "electrical.racks";
        /// <returns></returns>
        public static List<string> ElectricalSpkList()
        {
            var spkList = new List<string>();
            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);
            spkList.Add(ElectricTuyaWaterValve);
            return spkList;
        }
        #endregion
        #region 设备类
        /// <summary>
        /// 红外宝
        /// </summary>
        public const string IrModule = "ir.module";
        /// <summary>
        /// 红外空调
        /// </summary>
        public const string IrAC = "ir.ac";
        /// <summary>
        /// 红外遥控器
        /// </summary>
        public const string IrLearn = "ir.learn";
        /// <summary>
        /// 设备类spk列表
        /// </summary>
        /// <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(ElectricTuyaFan);
            spkList.Add(ElectricTuyaWaterValve);
            spkList.Add(ElectricTuyaWeepRobot);
            spkList.Add(SenesorMegahealth);
            return spkList;
        }
        /// <summary>
        /// 获取第三方设备spk
        /// </summary>
@@ -1076,16 +1380,20 @@
            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>
        /// 第三方品牌列表
@@ -1095,6 +1403,10 @@
            All = 0,
            Hdl = 1,
            Tuya = 2,
            /// <summary>
            /// 兆观
            /// </summary>
            Megahealth = 3,
            All3tyBrand = 999,
@@ -1156,4 +1468,9 @@
    }
public class VersionInfo
{
    public string module = "";
    public string version = "";
}
}