Skip to content

Commit 0a974be

Browse files
committed
Function to request status update
- Add an external function to request a status update from the device
1 parent 001f1d3 commit 0a974be

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

letpot/deviceclient.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -191,9 +191,7 @@ async def subscribe(self, callback: Callable[[LetPotDeviceStatus], None]) -> Non
191191
await client.subscribe(f"{self._device_serial}/data")
192192

193193
tg.create_task(self._handle_messages(callback))
194-
tg.create_task(
195-
self._publish(self._converter.get_current_status_message())
196-
)
194+
tg.create_task(self.request_status_update())
197195
except aiomqtt.MqttError as err:
198196
self._client = None
199197

@@ -222,6 +220,12 @@ def get_light_brightness_levels(self) -> list[int]:
222220
else:
223221
return self._converter.get_light_brightness_levels()
224222

223+
async def request_status_update(self) -> None:
224+
"""Request the device to send the current device status."""
225+
if self._converter is None:
226+
raise LetPotException("Missing converter to build request message")
227+
await self._publish(self._converter.get_current_status_message())
228+
225229
async def set_light_brightness(self, level: int) -> None:
226230
"""Set the light brightness for this device (brightness level)."""
227231
if level not in self.get_light_brightness_levels():

0 commit comments

Comments
 (0)