async def read_attribute(self, attr): """ Read one attribute of a node result code from server is checked and an exception is raised in case of error """ rv = ua.ReadValueId() rv.NodeId = self.nodeid rv.AttributeId = attr params = ua.ReadParameters() params.NodesToRead.append(rv) result = await self.server.read(params) result[0].StatusCode.check() return result[0]
async def read_attributes(self, attrs): """ Read several attributes of a node list of DataValue is returned """ params = ua.ReadParameters() for attr in attrs: rv = ua.ReadValueId() rv.NodeId = self.nodeid rv.AttributeId = attr params.NodesToRead.append(rv) results = await self.server.read(params) return results
async def read_attribute(self, attr, indexrange=None): """ Read one attribute of a node attributeid is a member of ua.AttributeIds indexrange is a NumericRange (a string; e.g. "1" or "1:3". result code from server is checked and an exception is raised in case of error """ rv = ua.ReadValueId() rv.NodeId = self.nodeid rv.AttributeId = attr rv.IndexRange = indexrange params = ua.ReadParameters() params.NodesToRead.append(rv) result = await self.server.read(params) result[0].StatusCode.check() return result[0]