Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
bdd0b74
Enhance Synology DSM handling of external USB drives (#145943)
lezmaka Sep 24, 2025
0a6ae3b
Add enum for Tuya device categories (#152858)
epenet Sep 24, 2025
934db45
Simplify access to Tuya device manager in async_setup_entry (#152859)
epenet Sep 24, 2025
023ecf2
Patch async_setup_entry in hardware integration flow tests (#152871)
MartinHjelmare Sep 24, 2025
7d1953e
Add Ekey Bionyx integration (#139132)
richardpolzer Sep 24, 2025
9d1c7da
Make SmartThings AC preset modes translatable (#152833)
joostlek Sep 24, 2025
711a56d
Add dynamic devices management for UptimeRobot (#152139)
chemelli74 Sep 24, 2025
1dccbee
Remove hardware flow thread confirm step after install (#152868)
MartinHjelmare Sep 24, 2025
afefa16
Remove analytics platform in automation (#152875)
arturpragacz Sep 24, 2025
4ea4eec
Remove analytics platform in template (#152876)
arturpragacz Sep 24, 2025
0f904d4
Filter out integration types in extended analytics (#152874)
arturpragacz Sep 24, 2025
475b84c
Remove codeowner. (#152869)
janiversen Sep 24, 2025
8782aa4
Hide asserts behind TYPE_CHECKING in Synology DSM (#152880)
mib1185 Sep 24, 2025
332a3fa
Fix mypy errors (#152879)
cdce8p Sep 24, 2025
9babc85
Add analytics to core files (#152877)
arturpragacz Sep 24, 2025
e14f5ba
Fix misleading + unclear comment in homeassistant.const (#152878)
emontnemery Sep 24, 2025
311d4c4
Use DeviceCategory in Tuya binary sensor (#152882)
epenet Sep 24, 2025
2d01a99
Bump renault-api to 0.4.1 (#152883)
epenet Sep 24, 2025
a2f4073
Use DeviceCategory in Tuya more platforms (#152885)
epenet Sep 24, 2025
fdacead
Add new virtual integration Neo (#152886)
bieniu Sep 24, 2025
c493c7d
Bump intents and fix tests (#152893)
synesthesiam Sep 24, 2025
62cea48
Fix typo in ekeybionyx strings.json (#152889)
richardpolzer Sep 24, 2025
dfbaf66
Add progress step decorator for easier config flows (#152739)
MindFreeze Sep 24, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .core_files.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ base_platforms: &base_platforms
# Extra components that trigger the full suite
components: &components
- homeassistant/components/alexa/**
- homeassistant/components/analytics/**
- homeassistant/components/application_credentials/**
- homeassistant/components/assist_pipeline/**
- homeassistant/components/auth/**
Expand Down
4 changes: 2 additions & 2 deletions CODEOWNERS

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

4 changes: 1 addition & 3 deletions homeassistant/components/acaia/coordinator.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,9 @@

from datetime import timedelta
import logging
from typing import cast

from aioacaia.acaiascale import AcaiaScale
from aioacaia.exceptions import AcaiaDeviceNotFound, AcaiaError
from bleak import BleakScanner

from homeassistant.components.bluetooth import async_get_scanner
from homeassistant.config_entries import ConfigEntry
Expand Down Expand Up @@ -45,7 +43,7 @@ def __init__(self, hass: HomeAssistant, entry: AcaiaConfigEntry) -> None:
name=entry.title,
is_new_style_scale=entry.data[CONF_IS_NEW_STYLE_SCALE],
notify_callback=self.async_update_listeners,
scanner=cast(BleakScanner, async_get_scanner(hass)),
scanner=async_get_scanner(hass),
)

@property
Expand Down
3 changes: 2 additions & 1 deletion homeassistant/components/analytics/analytics.py
Original file line number Diff line number Diff line change
Expand Up @@ -546,12 +546,13 @@ async def async_devices_payload(hass: HomeAssistant) -> dict:
if isinstance(integration, Integration)
}

# Filter out custom integrations
# Filter out custom integrations and integrations that are not device or hub type
integration_inputs = {
domain: integration_info
for domain, integration_info in integration_inputs.items()
if (integration := integrations.get(domain)) is not None
and integration.is_built_in
and integration.integration_type in ("device", "hub")
}

# Call integrations that implement the analytics platform
Expand Down
24 changes: 0 additions & 24 deletions homeassistant/components/automation/analytics.py

This file was deleted.

2 changes: 1 addition & 1 deletion homeassistant/components/conversation/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@
"documentation": "https://www.home-assistant.io/integrations/conversation",
"integration_type": "entity",
"quality_scale": "internal",
"requirements": ["hassil==3.2.0", "home-assistant-intents==2025.9.3"]
"requirements": ["hassil==3.2.0", "home-assistant-intents==2025.9.24"]
}
24 changes: 24 additions & 0 deletions homeassistant/components/ekeybionyx/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
"""The Ekey Bionyx integration."""

from __future__ import annotations

from homeassistant.config_entries import ConfigEntry
from homeassistant.const import Platform
from homeassistant.core import HomeAssistant

PLATFORMS: list[Platform] = [Platform.EVENT]


type EkeyBionyxConfigEntry = ConfigEntry


async def async_setup_entry(hass: HomeAssistant, entry: EkeyBionyxConfigEntry) -> bool:
"""Set up the Ekey Bionyx config entry."""
await hass.config_entries.async_forward_entry_setups(entry, PLATFORMS)

return True


async def async_unload_entry(hass: HomeAssistant, entry: EkeyBionyxConfigEntry) -> bool:
"""Unload a config entry."""
return await hass.config_entries.async_unload_platforms(entry, PLATFORMS)
14 changes: 14 additions & 0 deletions homeassistant/components/ekeybionyx/application_credentials.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
"""application_credentials platform the Ekey Bionyx integration."""

from homeassistant.components.application_credentials import AuthorizationServer
from homeassistant.core import HomeAssistant

from .const import OAUTH2_AUTHORIZE, OAUTH2_TOKEN


async def async_get_authorization_server(hass: HomeAssistant) -> AuthorizationServer:
"""Return authorization server."""
return AuthorizationServer(
authorize_url=OAUTH2_AUTHORIZE,
token_url=OAUTH2_TOKEN,
)
Loading
Loading