Skip to content

MQTT: reconnect if cached client connection is dropped #110

@declension

Description

@declension

If a cached MQTT transport's client somehow disconnects, you get this:

Reusing cached instance Squeezebox server over MQTT to client to aorobo3koaq53.iot.eu-west-1.amazonaws.com:8883Disconnected from client to aorobo3koaq53.iot.eu-west-1.amazonaws.com:8883

Then

Traceback (most recent call last):
File "/var/task/handler.py", line 47, in lambda_handler
return sqa.handle(event, context)
File "/var/task/squeezealexa/main.py", line 65, in handle
return super(SqueezeAlexa, self).handle(event, context)
File "/var/task/squeezealexa/alexa/handlers.py", line 49, in handle
return self.on_intent(request, session)
File "/var/task/squeezealexa/main.py", line 90, in on_intent
return intent_handler(self, intent, session, pid=pid)
File "/var/task/squeezealexa/main.py", line 106, in on_pause
self._server.pause(player_id=pid)
File "/var/task/squeezealexa/squeezebox/server.py", line 364, in pause
self.player_request("pause 1", player_id=player_id)
File "/var/task/squeezealexa/squeezebox/server.py", line 259, in player_request
raw=raw, wait=wait)[0]
File "/var/task/squeezealexa/squeezebox/server.py", line 171, in _request
cmd=first_word, transport=self.transport))
squeezealexa.squeezebox.server.SqueezeboxException: Can't do 'pause', MQTT to client to **********.iot.eu-west-1.amazonaws.com:8883 is not connected

See #109 for the (now fixed) problem reporting this nicely.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions