コード例 #1
0
        internal void FillFromStateList(XMLAPI.StateList.Device d)
        {
            PendingConfig = String.IsNullOrWhiteSpace(d.Config_pending) ? false : Convert.ToBoolean(d.Config_pending);
            Reachable     = String.IsNullOrWhiteSpace(d.Unreach) ? true : !Convert.ToBoolean(d.Unreach);

            foreach (var c in d.Channel)
            {
                var dc = ChannelByISEID[c.Ise_id];
                dc.UpdateFromXMLAPI(c.Datapoint);
            }

            //Datapoint voltageDp;

            //if(DatapointByType != null && DatapointByType.TryGetValue("OPERATING_VOLTAGE", out voltageDp))
            //{
            //    if (Convert.ToDecimal(voltageDp.Value) == 0.0M)
            //        Reachable = false;
            //}

            Datapoint rssiDp;

            if (DatapointByType != null && DatapointByType.TryGetValue("RSSI_DEVICE", out rssiDp))
            {
                if (rssiDp.Value as string == "0")
                {
                    Reachable = false;
                }
            }
        }
コード例 #2
0
ファイル: Device.cs プロジェクト: grusin/csharphomematic
        internal void FillFromStateList(XMLAPI.StateList.Device d)
        {
            PendingConfig = String.IsNullOrWhiteSpace(d.Config_pending) ? false : Convert.ToBoolean(d.Config_pending);
            Reachable     = String.IsNullOrWhiteSpace(d.Unreach) ? true : !Convert.ToBoolean(d.Unreach);

            foreach (var c in d.Channel)
            {
                var dc = ChannelByISEID[c.Ise_id];
                dc.UpdateFromXMLAPI(c.Datapoint);
            }

            Datapoint rssiDp;

            if (DatapointByName != null && DatapointByName.TryGetValue("RSSI_DEVICE", out rssiDp))
            {
                if (rssiDp.Value as string == "0")
                {
                    Reachable = false;
                }
            }
        }