async def init(self):
self.fsm = FSM()<EOL>checks = []<EOL>async for check in self.run_checks():<EOL><INDENT>checks.append(check)<EOL>logger.error('<STR_LIT>', check.code, check.reason)<EOL><DEDENT>if checks:<EOL><INDENT>exit(<NUM_LIT:1>)<EOL><DEDENT>await self.fsm.async_init()<EOL>self.platforms = {}<EOL>
Creates the FSM and the cache. It can be called several times to reset
stuff (like for unit tests...).

It also runs all the health checks in order to see if everything is fit
for running.