Bump pyTibber to 0.37.6 (#170393)

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
This commit is contained in:
Daniel Hjelseth Høyer
2026-05-18 07:54:45 +02:00
committed by GitHub
parent 828dde26e5
commit 1b7bda06d3
5 changed files with 25 additions and 10 deletions
+11 -4
View File
@@ -47,21 +47,28 @@ class TibberRuntimeData:
price_coordinator: TibberPriceCoordinator | None = field(default=None)
_client: tibber.Tibber | None = None
async def async_get_client(self, hass: HomeAssistant) -> tibber.Tibber:
"""Return an authenticated Tibber client."""
async def _async_get_access_token(self) -> str:
"""Return a valid Tibber access token."""
await self.session.async_ensure_token_valid()
token = self.session.token
access_token = token.get(CONF_ACCESS_TOKEN)
access_token: str | None = token.get(CONF_ACCESS_TOKEN)
if not access_token:
raise ConfigEntryAuthFailed("Access token missing from OAuth session")
return access_token
async def async_get_client(self, hass: HomeAssistant) -> tibber.Tibber:
"""Return an authenticated Tibber client."""
access_token = await self._async_get_access_token()
if self._client is None:
self._client = tibber.Tibber(
access_token=access_token,
websession=async_get_clientsession(hass),
time_zone=dt_util.get_default_time_zone(),
ssl=ssl_util.get_default_context(),
refresh_access_token=self._async_get_access_token,
)
await self._client.set_access_token(access_token)
else:
await self._client.set_access_token(access_token)
return self._client
@@ -8,5 +8,5 @@
"integration_type": "hub",
"iot_class": "cloud_polling",
"loggers": ["tibber"],
"requirements": ["pyTibber==0.37.5"]
"requirements": ["pyTibber==0.37.6"]
}
+1 -1
View File
@@ -1968,7 +1968,7 @@ pyRFXtrx==0.31.1
pySDCP==1
# homeassistant.components.tibber
pyTibber==0.37.5
pyTibber==0.37.6
# homeassistant.components.dlink
pyW215==0.8.0
+1 -1
View File
@@ -1714,7 +1714,7 @@ pyHomee==1.4.0
pyRFXtrx==0.31.1
# homeassistant.components.tibber
pyTibber==0.37.5
pyTibber==0.37.6
# homeassistant.components.dlink
pyW215==0.8.0
+11 -3
View File
@@ -46,13 +46,21 @@ async def test_data_api_runtime_creates_client(hass: HomeAssistant) -> None:
client = await runtime.async_get_client(hass)
mock_client_cls.assert_called_once_with(
access_token="access-token", websession=ANY, time_zone=ANY, ssl=ANY
access_token="access-token",
websession=ANY,
time_zone=ANY,
ssl=ANY,
refresh_access_token=ANY,
)
session.async_ensure_token_valid.assert_awaited_once()
mock_client.set_access_token.assert_awaited_once_with("access-token")
mock_client.set_access_token.assert_not_awaited()
assert client is mock_client
mock_client.set_access_token.reset_mock()
refresh_access_token = mock_client_cls.call_args.kwargs["refresh_access_token"]
session.async_ensure_token_valid.reset_mock()
assert await refresh_access_token() == "access-token"
session.async_ensure_token_valid.assert_awaited_once()
session.async_ensure_token_valid.reset_mock()
cached_client = await runtime.async_get_client(hass)