wjc
2022-03-18 d44d009da78f96fe50e6dc7c1883e79ffb1aff58
HDL_ON/Entity/Function/Function.cs
@@ -112,11 +112,30 @@
        public string GetAttrState(string key)
        {
            var attrState = attributes.Find((s) => s.key == key.ToString());
            if (attrState == null || string.IsNullOrEmpty(attrState.state))
            if (attrState == null)
            {
                return "0";
            }
            if (string.IsNullOrEmpty(attrState.state))
            {
                return GetOriginalState(key);
            }
            return attrState.state;
        }
        /// <summary>
        /// 获取初始状态
        /// </summary>
        /// <param name="key"></param>
        /// <returns></returns>
        public string GetOriginalState(string key)
        {
            var originalState = status.Find((s) => s.key == key.ToString());
            if (originalState == null || string.IsNullOrEmpty(originalState.value))
            {
                return "0";
            }
            return originalState.value;
        }
        /// <summary>
        /// 设置属性状态
@@ -169,6 +188,9 @@
                        break;
                    case SPK.HvacFan:
                        iconPath = "electricalfan";
                        break;
                    case SPK.HvacFloorHeat:
                        iconPath = "floorHeatstandard";
                        break;
                    case SPK.ElectricTuyaFan2:
                        iconPath = "electricaltyqborgovyzytytz";
@@ -553,6 +575,13 @@
                SaveFunctionFile();
                if (pack.Code == StateCode.SUCCESS)
                {
                    if (UI.RoomPage.bodyView != null)
                    {
                        Application.RunOnMainThread(() =>
                        {
                            UI.RoomPage.bodyView.ReLoadPage();
                        });
                    }
                }
                else
                {
@@ -698,6 +727,20 @@
            sendDataObj.objects.Add(acd);
            return sendDataObj;
        }
        public AlinkDoorlockObj GetGatewayAlinkDoorlockData(string userId,string extStr)
        {
            var sendDataObj = new AlinkDoorlockObj();
            sendDataObj.id = Control.Ins.msg_id.ToString();
            sendDataObj.time_stamp = Utlis.GetTimestamp();
            var acd = new AlinkDoorlockStatus();
            acd.sid = sid;
            acd.user_id = extStr;
            acd.ext_str = extStr;
            sendDataObj.objects.Add(acd);
            return sendDataObj;
        }
        /// <summary>
        /// 获取Api控制数据
        /// </summary>
@@ -751,6 +794,24 @@
        public string time_stamp = "";
        public string id = "";
    }
    /// <summary>
    /// 门锁通讯数据
    /// </summary>
    public class AlinkDoorlockObj
    {
        public List<AlinkDoorlockStatus> objects = new List<AlinkDoorlockStatus>();
        public string time_stamp = "";
        public string id = "";
    }
    public class AlinkDoorlockStatus
    {
        public string sid;
        public string user_id;
        public string ext_str;
    }
    /// <summary>
    /// 本地状态读取
    /// A协议状态读取格式对象
@@ -1110,7 +1171,17 @@
    public static class SPK
    {
        /// <summary>
        /// 门锁
        /// </summary>
        public const string DoorLock = "security.door";
        public static List<string> GetDoorLockSPKList()
        {
            var list = new List<string>();
            list.Add(DoorLock);
            return list;
        }
        #region 灯光