@matthewsalazar below is the code I ended up with. Here are the inputs using data retrieved earlier in the script:
IN[0] = family file
IN[1] = Type Name
IN[2] = Input Parameter Current Value
IN[3] = Assembly Code
Let me know if you need more of the input process too.
import clr
clr.AddReference('RevitAPI')
from Autodesk.Revit.DB import *
clr.AddReference('RevitServices')
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager
docs = IN[0]
typs = IN[1]
vals = IN[2]
uiapp = DocumentManager.Instance.CurrentUIApplication
for n,doc in enumerate(docs):
familydoc = uiapp.Application.OpenDocumentFile(doc)
famMan = familydoc.FamilyManager
inp = famMan.get_Parameter(IN[3])
#go to matching type
familyTypesItor = famMan.Types.ForwardIterator()
familyTypesItor.Reset()
while (familyTypesItor.MoveNext()):
familyType = familyTypesItor.Current
if familyType.Name == typs[n]:
tc = Transaction(familydoc,"setnow")
tc.Start()
famMan.CurrentType = familyType
tc.Commit()
tc.Dispose()
ts = Transaction(familydoc,"setnow")
ts.Start()
famMan.Set(inp,vals[n])
ts.Commit()
ts.Dispose()
familydoc.Close()
#output all data for error report
OUT = IN[4]