async def main(loop):
    logging.basicConfig(level=logging.DEBUG)
    fake_ws = FakeWebsocketHmip(loop=loop, base_url='ws.homematic.com')
    connector = await fake_ws.start()

    incoming = {}

    def parser(*args, **kwargs):
        incoming['test'] = None

    async with aiohttp.ClientSession(connector=connector,
                                     loop=loop) as session:
        connection = AsyncConnection(loop, session)

        connection.headers[ATTR_AUTH_TOKEN] = 'auth_token'
        connection.headers[ATTR_CLIENT_AUTH] = 'client_auth'
        connection._urlWebSocket = 'wss://ws.homematic.com/'
        try:
            ws_loop = await connection.ws_connect(parser)
            await ws_loop
        except Exception as err:
            pass
        print(incoming)

        await fake_ws.stop()
async def client_connection(event_loop):
    connection = AsyncConnection(event_loop)
    connection._urlWebSocket = "ws://localhost:8123/"
    connection.ping_timeout = 1
    yield connection

    await connection._websession.close()
async def start_async_client_connection(connector, loop, base_url, url):
    session = aiohttp.ClientSession(connector=connector, loop=loop)
    connection = AsyncConnection(loop, session)
    connection._urlWebSocket = 'ws://' + base_url + url
    return connection