You need to take into consideration:
- how often users login and how likely they are to remember any credential
- how sensitive the information is (both financially and legally)
- whether federated authentication is an option or you need a specific form of id verification (e.g. legal proof of address)
I suppose you are authenticating households rather than individuals, therefore you might have legal requirements to not rely on e.g. Google or Facebook accounts. However, you could still set a password and, on top of that, allow customers to link their Google/Facebook identities to manage their account. It might depend on legal constraints whether or not you are able to do that, but it would greatly decrease the stress on users to remember their password.
One specificity of your business is that you probably provide users with a paper trail of their registration, at some point. It's very common for utility companies to provide identification information on bills and letters because it helps customers re-find this information. As it is rarely needed, it is quickly forgotten (and sometimes you've changed devices by the time you need to access such an account to e.g. close it or change addresses, so password managers might not help).
Therefore I strongly recommend you go for a solution that leaves customers with a paper trail. It is unlikely that a thief would break into their house specifically to mess with their energy information (since this information would primarily be valuable to... schedule a house robbing in the first place!). Mailing passwords seems a better option for me than emailing them (security issues; not all email is encrypted) or letting people choose them because it solves the frequency problem.
Letting customers choose them is acceptable only if logging into the account cannot cause financial damage or facilitate robberies (e.g. if you provide the ability to view logs of a smart energy reader, these show when people are usually not at home). This is for security reasons. Many users will choose crap passwords, and they'll be even more justified in doing so that they need a simple and highly memorable password for infrequent logins. Still, you can do like Twitter and ban the few thousand most common passwords (on top of ensuring that you use expensive hashing functions).