public async Task <bool> WriteNodeValueAsync(string serverUrl, VariableNode variableNode, VariableState state) { Session session = await GetSessionAsync(serverUrl); var typeManager = new DataTypeManager(session); WriteValueCollection writeValues = new WriteValueCollection(); WriteValue writeValue = new WriteValue { NodeId = variableNode.NodeId, AttributeId = Attributes.Value, Value = typeManager.GetDataValueFromVariableState(state, variableNode) }; writeValues.Add(writeValue); session.Write(null, writeValues, out var results, out _); if (!StatusCode.IsGood(results[0])) { if (results[0] == StatusCodes.BadTypeMismatch) { throw new ValueToWriteTypeException("Wrong Type Error: data sent are not of the type expected. Check your data and try again"); } throw new ValueToWriteTypeException(results[0].ToString()); } return(true); }