also hide serial / firmware in smart details if empty, remove a few unnecessary ops, and add a few more passed state values