add function SmartMachine::Metadata.from_metadata