Bump `gios` to version 6.0.0 (#139832)
* Fix the code * Fix tests * Bump version * Use https for configuration URLpull/139846/head
parent
61e0b938ae
commit
c69cec28fe
|
@ -4,9 +4,14 @@ from __future__ import annotations
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
|
from aiohttp.client_exceptions import ClientConnectorError
|
||||||
|
from gios import Gios
|
||||||
|
from gios.exceptions import GiosError
|
||||||
|
|
||||||
from homeassistant.components.air_quality import DOMAIN as AIR_QUALITY_PLATFORM
|
from homeassistant.components.air_quality import DOMAIN as AIR_QUALITY_PLATFORM
|
||||||
from homeassistant.const import Platform
|
from homeassistant.const import Platform
|
||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
|
from homeassistant.exceptions import ConfigEntryNotReady
|
||||||
from homeassistant.helpers import device_registry as dr, entity_registry as er
|
from homeassistant.helpers import device_registry as dr, entity_registry as er
|
||||||
from homeassistant.helpers.aiohttp_client import async_get_clientsession
|
from homeassistant.helpers.aiohttp_client import async_get_clientsession
|
||||||
|
|
||||||
|
@ -36,8 +41,12 @@ async def async_setup_entry(hass: HomeAssistant, entry: GiosConfigEntry) -> bool
|
||||||
device_registry.async_update_device(device_entry.id, new_identifiers={new_ids})
|
device_registry.async_update_device(device_entry.id, new_identifiers={new_ids})
|
||||||
|
|
||||||
websession = async_get_clientsession(hass)
|
websession = async_get_clientsession(hass)
|
||||||
|
try:
|
||||||
|
gios = await Gios.create(websession, station_id)
|
||||||
|
except (GiosError, ConnectionError, ClientConnectorError) as err:
|
||||||
|
raise ConfigEntryNotReady from err
|
||||||
|
|
||||||
coordinator = GiosDataUpdateCoordinator(hass, entry, websession, station_id)
|
coordinator = GiosDataUpdateCoordinator(hass, entry, gios)
|
||||||
await coordinator.async_config_entry_first_refresh()
|
await coordinator.async_config_entry_first_refresh()
|
||||||
|
|
||||||
entry.runtime_data = GiosData(coordinator)
|
entry.runtime_data = GiosData(coordinator)
|
||||||
|
|
|
@ -37,7 +37,7 @@ class GiosFlowHandler(ConfigFlow, domain=DOMAIN):
|
||||||
websession = async_get_clientsession(self.hass)
|
websession = async_get_clientsession(self.hass)
|
||||||
|
|
||||||
async with asyncio.timeout(API_TIMEOUT):
|
async with asyncio.timeout(API_TIMEOUT):
|
||||||
gios = Gios(user_input[CONF_STATION_ID], websession)
|
gios = await Gios.create(websession, user_input[CONF_STATION_ID])
|
||||||
await gios.async_update()
|
await gios.async_update()
|
||||||
|
|
||||||
assert gios.station_name is not None
|
assert gios.station_name is not None
|
||||||
|
|
|
@ -13,7 +13,7 @@ SCAN_INTERVAL: Final = timedelta(minutes=30)
|
||||||
DOMAIN: Final = "gios"
|
DOMAIN: Final = "gios"
|
||||||
MANUFACTURER: Final = "Główny Inspektorat Ochrony Środowiska"
|
MANUFACTURER: Final = "Główny Inspektorat Ochrony Środowiska"
|
||||||
|
|
||||||
URL = "http://powietrze.gios.gov.pl/pjp/current/station_details/info/{station_id}"
|
URL = "https://powietrze.gios.gov.pl/pjp/current/station_details/info/{station_id}"
|
||||||
|
|
||||||
API_TIMEOUT: Final = 30
|
API_TIMEOUT: Final = 30
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,6 @@ import asyncio
|
||||||
from dataclasses import dataclass
|
from dataclasses import dataclass
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
from aiohttp import ClientSession
|
|
||||||
from aiohttp.client_exceptions import ClientConnectorError
|
from aiohttp.client_exceptions import ClientConnectorError
|
||||||
from gios import Gios
|
from gios import Gios
|
||||||
from gios.exceptions import GiosError
|
from gios.exceptions import GiosError
|
||||||
|
@ -39,11 +38,10 @@ class GiosDataUpdateCoordinator(DataUpdateCoordinator[GiosSensors]):
|
||||||
self,
|
self,
|
||||||
hass: HomeAssistant,
|
hass: HomeAssistant,
|
||||||
config_entry: GiosConfigEntry,
|
config_entry: GiosConfigEntry,
|
||||||
session: ClientSession,
|
gios: Gios,
|
||||||
station_id: int,
|
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Class to manage fetching GIOS data API."""
|
"""Class to manage fetching GIOS data API."""
|
||||||
self.gios = Gios(station_id, session)
|
self.gios = gios
|
||||||
|
|
||||||
super().__init__(
|
super().__init__(
|
||||||
hass,
|
hass,
|
||||||
|
|
|
@ -7,5 +7,5 @@
|
||||||
"integration_type": "service",
|
"integration_type": "service",
|
||||||
"iot_class": "cloud_polling",
|
"iot_class": "cloud_polling",
|
||||||
"loggers": ["dacite", "gios"],
|
"loggers": ["dacite", "gios"],
|
||||||
"requirements": ["gios==5.0.0"]
|
"requirements": ["gios==6.0.0"]
|
||||||
}
|
}
|
||||||
|
|
|
@ -1008,7 +1008,7 @@ georss-qld-bushfire-alert-client==0.8
|
||||||
getmac==0.9.5
|
getmac==0.9.5
|
||||||
|
|
||||||
# homeassistant.components.gios
|
# homeassistant.components.gios
|
||||||
gios==5.0.0
|
gios==6.0.0
|
||||||
|
|
||||||
# homeassistant.components.gitter
|
# homeassistant.components.gitter
|
||||||
gitterpy==0.1.7
|
gitterpy==0.1.7
|
||||||
|
|
|
@ -861,7 +861,7 @@ georss-qld-bushfire-alert-client==0.8
|
||||||
getmac==0.9.5
|
getmac==0.9.5
|
||||||
|
|
||||||
# homeassistant.components.gios
|
# homeassistant.components.gios
|
||||||
gios==5.0.0
|
gios==6.0.0
|
||||||
|
|
||||||
# homeassistant.components.glances
|
# homeassistant.components.glances
|
||||||
glances-api==0.8.0
|
glances-api==0.8.0
|
||||||
|
|
Loading…
Reference in New Issue