diff --git a/cbpi/__init__.py b/cbpi/__init__.py index 254756f..45c05cb 100644 --- a/cbpi/__init__.py +++ b/cbpi/__init__.py @@ -1,3 +1,3 @@ -__version__ = "4.1.0.a4" +__version__ = "4.1.0.a5" __codename__ = "Groundhog Day" diff --git a/cbpi/controller/satellite_controller.py b/cbpi/controller/satellite_controller.py index e53a086..c5856be 100644 --- a/cbpi/controller/satellite_controller.py +++ b/cbpi/controller/satellite_controller.py @@ -6,10 +6,12 @@ from asyncio_mqtt import Client, MqttError, Will from contextlib import AsyncExitStack, asynccontextmanager from cbpi import __version__ import logging +import shortuuid class SatelliteController: def __init__(self, cbpi): + self.client_id = shortuuid.uuid() self.cbpi = cbpi self.kettlecontroller = cbpi.kettle self.fermentercontroller = cbpi.fermenter @@ -47,7 +49,7 @@ class SatelliteController: except asyncio.CancelledError: pass - self.client = Client(self.host, port=self.port, username=self.username, password=self.password, will=Will(topic="cbpi/disconnect", payload="CBPi Server Disconnected")) + self.client = Client(self.host, port=self.port, username=self.username, password=self.password, will=Will(topic="cbpi/disconnect", payload="CBPi Server Disconnected"),client_id=self.client_id) self.loop = asyncio.get_event_loop() ## Listen for mqtt messages in an (unawaited) asyncio task task = self.loop.create_task(self.listen())