Skip to content
Merged
1 change: 1 addition & 0 deletions homeassistant/components/ecovacs/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
"codeowners": ["@mib1185", "@edenhaus", "@Augar"],
"config_flow": true,
"documentation": "https://www.home-assistant.io/integrations/ecovacs",
"integration_type": "hub",
"iot_class": "cloud_push",
"loggers": ["sleekxmppfs", "sucks", "deebot_client"],
"requirements": ["py-sucks==0.9.11", "deebot-client==15.1.0"]
Expand Down
1 change: 1 addition & 0 deletions homeassistant/components/immich/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
"config_flow": true,
"dependencies": ["http"],
"documentation": "https://www.home-assistant.io/integrations/immich",
"integration_type": "service",
"iot_class": "local_polling",
"loggers": ["aioimmich"],
"quality_scale": "silver",
Expand Down
1 change: 1 addition & 0 deletions homeassistant/components/nextcloud/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
"codeowners": ["@mib1185"],
"config_flow": true,
"documentation": "https://www.home-assistant.io/integrations/nextcloud",
"integration_type": "service",
"iot_class": "cloud_polling",
"requirements": ["nextcloudmonitor==1.5.1"]
}
14 changes: 11 additions & 3 deletions homeassistant/components/openuv/coordinator.py
Original file line number Diff line number Diff line change
Expand Up @@ -68,18 +68,26 @@ async def _async_update_data(self) -> dict[str, Any]:


class OpenUvProtectionWindowCoordinator(OpenUvCoordinator):
"""Define an OpenUV data coordinator for the protetction window."""
"""Define an OpenUV data coordinator for the protection window."""

_reprocess_listener: CALLBACK_TYPE | None = None

async def _async_update_data(self) -> dict[str, Any]:
data = await super()._async_update_data()

for key in ("from_time", "to_time", "from_uv", "to_uv"):
if not data.get(key):
msg = "Skipping update due to missing data: {key}"
# a key missing from the data is an error.
if key not in data:
msg = f"Update failed due to missing data: {key}"
raise UpdateFailed(msg)

# check for null or zero value in the data & skip further processing
# of this update if one is found. this is a normal condition
# indicating that there is no protection window.
if not data[key]:
LOGGER.warning("Skipping update due to missing data: %s", key)
return {}

data = self._parse_data(data)
data = self._process_data(data)

Expand Down
1 change: 1 addition & 0 deletions homeassistant/components/tankerkoenig/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
"codeowners": ["@guillempages", "@mib1185", "@jpbede"],
"config_flow": true,
"documentation": "https://www.home-assistant.io/integrations/tankerkoenig",
"integration_type": "service",
"iot_class": "cloud_polling",
"loggers": ["aiotankerkoenig"],
"quality_scale": "platinum",
Expand Down
2 changes: 1 addition & 1 deletion homeassistant/components/unifiprotect/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@
"integration_type": "hub",
"iot_class": "local_push",
"loggers": ["uiprotect", "unifi_discovery"],
"requirements": ["uiprotect==7.22.0", "unifi-discovery==1.2.0"],
"requirements": ["uiprotect==7.23.0", "unifi-discovery==1.2.0"],
"ssdp": [
{
"manufacturer": "Ubiquiti Networks",
Expand Down
6 changes: 3 additions & 3 deletions homeassistant/generated/integrations.json
Original file line number Diff line number Diff line change
Expand Up @@ -3008,7 +3008,7 @@
},
"immich": {
"name": "Immich",
"integration_type": "hub",
"integration_type": "service",
"config_flow": true,
"iot_class": "local_polling"
},
Expand Down Expand Up @@ -4413,7 +4413,7 @@
},
"nextcloud": {
"name": "Nextcloud",
"integration_type": "hub",
"integration_type": "service",
"config_flow": true,
"iot_class": "cloud_polling"
},
Expand Down Expand Up @@ -6642,7 +6642,7 @@
},
"tankerkoenig": {
"name": "Tankerkoenig",
"integration_type": "hub",
"integration_type": "service",
"config_flow": true,
"iot_class": "cloud_polling"
},
Expand Down
2 changes: 1 addition & 1 deletion requirements_all.txt

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion requirements_test_all.txt

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions tests/components/matter/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -119,11 +119,13 @@ async def integration_fixture(
"silabs_dishwasher",
"silabs_evse_charging",
"silabs_laundrywasher",
"silabs_light_switch",
"silabs_refrigerator",
"silabs_water_heater",
"smoke_detector",
"solar_inverter",
"speaker",
"switchbot_k11_plus",
"switch_unit",
"tado_smart_radiator_thermostat_x",
"temperature_sensor",
Expand Down
Loading
Loading