private void AddProperty(BacnetPropertyIds id, BacnetPropertyValue val) { //var id = BacnetPropertyIds.PROP_OBJECT_IDENTIFIER; //var val = new BacnetValue(object_id); if (!BACnetObject.SupportedPropertyIds.Contains(id)) { return; } var prop = new BACnetProperty(this, id, val); addProp(id, prop); //if id == BacnetPropertyIds. //if (BACnetObject.RequiredPropertyIds.Contains(id)) //don't keep required properties separate anymore..... // RequiredProperties[id] = prop; //TODO: could put option to not overwrite, I guess... //else //{ //var kvp = new KeyValuePair<BacnetPropertyIds, BACnetProperty>(id, prop); //BacnetProperties.Add(kvp); }
//private void AddProperty(BacnetPropertyIds id) //{ // //var id = BacnetPropertyIds.PROP_OBJECT_IDENTIFIER; // //var val = new BacnetValue(object_id); // var prop = new BACnetProperty(this, id); //don't know the value, so query device after property instantiation. // var kvp = new KeyValuePair<BacnetPropertyIds, BACnetProperty>(id, prop); // if (BACnetObject.RequiredPropertyIds.Contains(id)) // this.RequiredProperties[id] = prop; // else // Properties.Add(kvp); //} private void AddProperty(BacnetPropertyIds id) { if (!BACnetObject.SupportedPropertyIds.Contains(id)) //make this better later { return; } //var bpv = new BacnetPropertyValue(); var prop = new BACnetProperty(this, id); addProp(id, prop); //AddProperty(id, new BacnetValue(null)); //setting this to null means we still need to read the property. }
private void addProp(BacnetPropertyIds id, BACnetProperty prop) { if (!BACnetObject.SupportedPropertyIds.Contains(id)) { return; } //Console.WriteLine("Read property: " + id.ToString() + " (value: " + prop.ValueString() + ")"); if (id == BacnetPropertyIds.PROP_PRESENT_VALUE) { Console.WriteLine(this.BacnetObjectId + ": present value = " + prop.ValueString()); } var kvp = new KeyValuePair <BacnetPropertyIds, BACnetProperty>(id, prop); BacnetProperties.Add(kvp); }