wxr
2021-03-15 6e580804d74d7a6fb118b6ba381e88aa81f267c7
HDL_ON/Entity/Function/Function.cs
@@ -65,6 +65,22 @@
        #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>
@@ -79,7 +95,7 @@
            return attrs;
        }
        /// <summary>
        /// 获取制定属性
        /// 获取指定属性
        /// </summary>
        /// <returns></returns>
        public FunctionAttributes GetAttribute(string key)
@@ -96,7 +112,7 @@
        public string GetAttrState(string key)
        {
            var attrState = attributes.Find((s) => s.key == key.ToString());
            if(attrState == null)
            if (attrState == null || string.IsNullOrEmpty(attrState.state))
            {
                return "0";
            }
@@ -108,7 +124,7 @@
        /// <param name="key"></param>
        /// <param name="value"></param>
        /// <returns>修改结果</returns>
        public bool SetAttrState(string key, string value)
        public bool SetAttrState(string key, object value)
        {
            //var attrState = status.Find((s) => s.key == key.ToString());
            var attr = attributes.Find((s) => s.key == key);
@@ -118,13 +134,36 @@
            }
            else
            {
                attr.state = value;
                attr.state = value.ToString();
                attr.curValue = value.ToString();
            }
            return true;
        }
        /// <summary>
        /// icon文件名称
        /// </summary>
        public string IconName
        {
            get
            {
                return spk.Replace(".","");
            }
        }
        /// <summary>
        /// 上一次打开的亮度
        /// 灯光私有属性
        /// </summary>
        [Newtonsoft.Json.JsonIgnore]
        public int lastBrightness = 100;
        /// <summary>
        /// 工作模式对应的工作温度
        /// 地热私有属性
        /// </summary>
        [Newtonsoft.Json.JsonIgnore]
        public Dictionary<string, byte> Fh_Mode_Temp = new Dictionary<string, byte>();
        #endregion
@@ -263,7 +302,6 @@
        public void CollectFunction()
        {
            var result = "";
            //var waitPage = new Loading();
            new System.Threading.Thread(() =>
            {
@@ -282,6 +320,12 @@
                    {
                        collect = !collect;
                        IMessageCommon.Current.ShowErrorInfoAlter(result);
                    });
                }else
                {
                    Application.RunOnMainThread(() =>
                    {
                        UI.HomePage.RefreshFunctionView();
                    });
                }
            })
@@ -492,9 +536,7 @@
        {
            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)
@@ -504,9 +546,7 @@
                aca.value = dic.Value;
                acd.status.Add(aca);
            }
            sendDataObj.objects.Add(acd);
            return sendDataObj;
        }
        /// <summary>
@@ -672,13 +712,41 @@
        /// </summary>
        public const string Mode = "mode";
        /// <summary>
        /// 工作模式
        /// 地热/地冷/功率地热/功率地冷
        /// </summary>
        public const string WorkMode = "mode_work";
        /// <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>
        public const string TimeFlag = "time_flag";
        /// <summary>
        /// 延时
        /// </summary>
@@ -763,8 +831,14 @@
        /// 负离子剩余时间
        /// </summary>
        public const string AnionTimeLeft = "anion_time_surplus";
        /// <summary>
        /// 打开登记(风扇)
        /// </summary>
        public const string OpenLevel = "openLevel";
        /// <summary>
        /// 红外按键
        /// </summary>
        public const string Key = "key";
        #region tuya
@@ -865,6 +939,10 @@
        /// </summary>
        public const string AcStandard = "ac.standard";
        /// <summary>
        /// (红外空调)
        /// </summary>
        public const string AcIr= "ir.ac";
        /// <summary>
        /// (地热)
        /// </summary>
        public const string FloorHeatStandard = "floorHeat.standard";
@@ -947,6 +1025,10 @@
        /// </summary>
        public const string ElectricTV = "electrical.tv";
        /// <summary>
        /// 红外、电视
        /// </summary>
        public const string IrTV = "ir.tv";
        /// <summary>
        /// 家电、风扇
        /// </summary>
        public const string ElectricFan = "electrical.fan";
@@ -978,6 +1060,10 @@
        /// 红外空调
        /// </summary>
        public const string IrAC = "ir.ac";
        /// <summary>
        /// 红外遥控器
        /// </summary>
        public const string IrLearn = "ir.learn";
        /// <summary>
@@ -1059,8 +1145,12 @@
        /// 家电
        /// </summary>
        public const string Electric = "electrical";
        /// <summary>
        /// 红外设备
        /// </summary>
        public const string IR = "ir";
        //Music = 0x09,
    }