mirror of
https://github.com/natekspencer/hacs-oasis_mini.git
synced 2025-12-06 18:44:14 -05:00
Add additional helpers
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from datetime import timedelta
|
||||
from datetime import datetime, timedelta
|
||||
import logging
|
||||
from typing import Any
|
||||
from urllib.parse import urljoin
|
||||
@@ -37,7 +37,7 @@ class OasisCloudClient:
|
||||
_access_token: str | None
|
||||
|
||||
# these are "cache" fields for tracks/playlists
|
||||
_playlists_next_refresh: float
|
||||
_playlists_next_refresh: datetime
|
||||
playlists: list[dict[str, Any]]
|
||||
_playlist_details: dict[int, dict[str, str]]
|
||||
|
||||
@@ -52,7 +52,7 @@ class OasisCloudClient:
|
||||
self._access_token = access_token
|
||||
|
||||
# simple in-memory caches
|
||||
self._playlists_next_refresh = 0.0
|
||||
self._playlists_next_refresh = now()
|
||||
self.playlists = []
|
||||
self._playlist_details = {}
|
||||
|
||||
|
||||
@@ -143,8 +143,9 @@ class OasisMqttClient(OasisClientProtocol):
|
||||
async def _resubscribe_all(self) -> None:
|
||||
"""Resubscribe to all known devices after (re)connect."""
|
||||
self._subscribed_serials.clear()
|
||||
for serial in list(self._devices):
|
||||
for serial, device in self._devices.items():
|
||||
await self._subscribe_serial(serial)
|
||||
await self.async_get_all(device)
|
||||
|
||||
def start(self) -> None:
|
||||
"""Start MQTT connection loop."""
|
||||
@@ -316,9 +317,6 @@ class OasisMqttClient(OasisClientProtocol):
|
||||
payload = f"WRIJOBLIST={track_str}"
|
||||
await self._publish_command(device, payload)
|
||||
|
||||
# local state optimistic update
|
||||
device.update_from_status_dict({"playlist": playlist})
|
||||
|
||||
async def async_send_set_repeat_playlist_command(
|
||||
self,
|
||||
device: OasisDevice,
|
||||
|
||||
Reference in New Issue
Block a user