I had some success with this if you haven’t solved already (or anyone else who is curious or looking for a Dynamo workflow). The above solution is great, but tricky to implement for those who don’t keep all their doors nested in one master door family (master door family has many advantages btw). This workflow uses a Generic Annotation family in the legend view populated by Dynamo.
Legend Components behave a little differently to normal model elements. By selecting the legend components in Dynamo you can get the parameter “Component Type” and convert to a string. This is the full name you see in the little list when placing the legend components in the view. Using the string split node you can extract the name of the corresponding family type. You can also extract its geometry to get a rough placement location in the Legend, however I wasn’t able to find any nodes that can place elements in a legend view.
Once you have the name, you can select the real corresponding elements in the model using FamilyType.ByName and extract the desired parameter data. This data can then be pushed into the instance parameters of a generic annotation family which you’ll also need to create and place in the legend view. Using Geometry.DistanceTo I was able to make sure that the parameters were being pushed into the closest generic annotation to the legend component.
The only issue is that the user will need to run the script to make sure any updates in the door parameters are accounted for, but I prefer this to creating phases and phantom objects in the model as a work-around.