I haven’t figured out a way to have my phone automatically restart between the hours of midnight and 6am when the battery reaches 100%. Is there a way to do this?
There's no supported way for you to restart your device at a certain time considering on battery level with the APIs currently available. If you'd like us to consider adding the necessary functionality, please file an enhancement request using Feedback Assistant. Once you file the request, please post the FB number here.
If you're not familiar with how to file enhancement requests, take a look at Bug Reporting: How and Why?