first of all: many thanks for this! currently testing your integration and found a minor issue:
Could not parse config file: Please ensure the matrix configuration section contains the following keys: {'mxid', 'password', 'host', 'room_id'}.
the reason is that the generated config file is using mxid correctly but the documentation points to username instead of mxid (I created it manually so stumbled over it)