Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
b9417fe
Bump aiortm to 0.20.1 (#181524)
MartinHjelmare Sep 7, 2026
b37f496
Handle errors in easyEnergy price actions (#181434)
klaasnicolaas Sep 7, 2026
139de5c
Add specific gravity velocity sensor to rapt_ble (#181518)
sairon Sep 7, 2026
31af427
Fix easyEnergy price period count sensor semantics (#181431)
klaasnicolaas Sep 7, 2026
9c0d360
Make EnergyZero electricity sensor semantics interval-neutral (#181492)
klaasnicolaas Sep 7, 2026
c9678e4
Speed up orjson buffer trimming (#181522)
emontnemery Sep 7, 2026
7368c94
Add Homevolt battery mode select (#181465)
Danielhiversen Sep 7, 2026
0021571
Add sensor platform to Tuya ZNJDQ (circuit breaker) (#181520)
tmunzer Sep 7, 2026
9a884be
Add select platform to Tuya ZNJDQ (circuit breaker) (#181531)
tmunzer Sep 7, 2026
6f02b27
Bump modbus-connection to 4.11.0 (#181533)
balloob Sep 7, 2026
17f1e63
Fix swallowed exceptions in action handlers for NETGEAR LTE (#181539)
mstu01 Sep 7, 2026
9709ccc
Bump tuya-device-handlers to 0.0.28 (#181525)
huangrenwei79 Sep 7, 2026
be2e14f
Add quality scale file for Coolmaster (#178361)
dougrathbone Sep 7, 2026
4165508
Bump modbus-connection to 4.11.1 (#181544)
balloob Sep 7, 2026
443ef83
Fix unique_id for service entities in Alexa Devices (#181526)
chemelli74 Sep 7, 2026
c4bb96f
Handle reconfigure_successful centrally (#180723)
zweckj Sep 7, 2026
393df75
Bump satel-integra to 1.5.0 (#181523)
Tommatheussen Sep 7, 2026
117d32c
Handle monitoring failure for Satel Integra (#181548)
Tommatheussen Sep 7, 2026
ab9ccbf
Add volume filter DF Portainer (#181510)
erwindouna Sep 7, 2026
488ad06
Add cooling status/information sensors to Weheat (#181278)
barryvdh Sep 7, 2026
3df4460
Fix lingering tasks in insteon properties and config tests (#181555)
Markus98 Sep 7, 2026
d048e3f
Update zizmor (#181494)
renovate[bot] Sep 7, 2026
15fd245
Fix Vizio soundbars requiring authentication (#181556)
raman325 Sep 7, 2026
c6b9d70
Handle reauth_successful centrally (#181154)
zweckj Sep 7, 2026
42b59fa
Bump vizaio to 0.6.2 (#181562)
raman325 Sep 7, 2026
7d4fe95
Add binary_sensor platform to NeoPool (#180393)
svasek Sep 7, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions .github/actions/restore-or-build-venv/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ runs:
steps:
- name: Set up uv and managed Python
id: python
uses: ./.github/actions/setup-uv-python
uses: $/.github/actions/setup-uv-python
with:
uv-version: ${{ inputs.uv-version }}
python-version: ${{ inputs.python-version }}
Expand Down Expand Up @@ -73,7 +73,7 @@ runs:
# timeout instead of a per-step cap.
- name: Install additional OS dependencies
if: steps.cache-venv.outputs.cache-hit != 'true'
uses: ./.github/actions/cache-apt-packages
uses: $/.github/actions/cache-apt-packages
with:
packages: >-
bluez
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/builder.yml
Original file line number Diff line number Diff line change
Expand Up @@ -278,7 +278,7 @@ jobs:
name: Run E2E tests on base images
if: github.repository_owner == 'home-assistant'
needs: ["init", "build_base"]
uses: ./.github/workflows/e2e-tests.yml
uses: $/.github/workflows/e2e-tests.yml
with:
version: ${{ needs.init.outputs.version }}
image_prefixes: ${{ needs.init.outputs.architectures }}
Expand All @@ -287,7 +287,7 @@ jobs:
name: Run E2E tests on machine images
if: github.repository_owner == 'home-assistant'
needs: ["init", "build_machine"]
uses: ./.github/workflows/e2e-tests.yml
uses: $/.github/workflows/e2e-tests.yml
with:
version: ${{ needs.init.outputs.version }}
image_prefixes: ${{ needs.init.outputs.machines }}
Expand Down
46 changes: 23 additions & 23 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -373,7 +373,7 @@ jobs:
persist-credentials: false
- name: Set up Python ${{ matrix.python-version }} and build venv
id: python
uses: ./.github/actions/restore-or-build-venv
uses: $/.github/actions/restore-or-build-venv
with:
uv-version: ${{ needs.info.outputs.uv_version }}
python-version: ${{ matrix.python-version }}
Expand Down Expand Up @@ -417,13 +417,13 @@ jobs:
persist-credentials: false
- name: Install additional OS dependencies
timeout-minutes: 10
uses: ./.github/actions/cache-apt-packages
uses: $/.github/actions/cache-apt-packages
with:
packages: libturbojpeg
version: ${{ env.APT_CACHE_VERSION }}
- name: Set up Python and restore venv
id: python
uses: ./.github/actions/restore-or-build-venv
uses: $/.github/actions/restore-or-build-venv
with:
uv-version: ${{ needs.info.outputs.uv_version }}
python-version: ${{ needs.info.outputs.default_python }}
Expand Down Expand Up @@ -454,7 +454,7 @@ jobs:
persist-credentials: false
- name: Set up Python and restore venv
id: python
uses: ./.github/actions/restore-or-build-venv
uses: $/.github/actions/restore-or-build-venv
with:
uv-version: ${{ needs.info.outputs.uv_version }}
python-version: ${{ needs.info.outputs.default_python }}
Expand Down Expand Up @@ -484,7 +484,7 @@ jobs:
persist-credentials: false
- name: Set up Python
id: python
uses: ./.github/actions/setup-uv-python
uses: $/.github/actions/setup-uv-python
with:
uv-version: ${{ needs.info.outputs.uv_version }}
python-version: ${{ needs.info.outputs.default_python }}
Expand All @@ -510,7 +510,7 @@ jobs:
persist-credentials: false
- name: Set up Python
id: python
uses: ./.github/actions/setup-uv-python
uses: $/.github/actions/setup-uv-python
with:
uv-version: ${{ needs.info.outputs.uv_version }}
python-version: ${{ needs.info.outputs.default_python }}
Expand Down Expand Up @@ -565,7 +565,7 @@ jobs:
persist-credentials: false
- name: Set up Python ${{ matrix.python-version }} and restore venv
id: python
uses: ./.github/actions/restore-or-build-venv
uses: $/.github/actions/restore-or-build-venv
with:
uv-version: ${{ needs.info.outputs.uv_version }}
python-version: ${{ matrix.python-version }}
Expand Down Expand Up @@ -610,7 +610,7 @@ jobs:
persist-credentials: false
- name: Set up Python and restore venv
id: python
uses: ./.github/actions/restore-or-build-venv
uses: $/.github/actions/restore-or-build-venv
with:
uv-version: ${{ needs.info.outputs.uv_version }}
python-version: ${{ needs.info.outputs.default_python }}
Expand Down Expand Up @@ -657,7 +657,7 @@ jobs:
persist-credentials: false
- name: Set up Python and restore venv
id: python
uses: ./.github/actions/restore-or-build-venv
uses: $/.github/actions/restore-or-build-venv
with:
uv-version: ${{ needs.info.outputs.uv_version }}
python-version: ${{ needs.info.outputs.default_python }}
Expand Down Expand Up @@ -708,7 +708,7 @@ jobs:
echo "key=mypy-${MYPY_CACHE_VERSION}-${mypy_version}-${HA_SHORT_VERSION}-$(date -u '+%Y-%m-%dT%H:%M:%s')" >> $GITHUB_OUTPUT
- name: Set up Python and restore venv
id: python
uses: ./.github/actions/restore-or-build-venv
uses: $/.github/actions/restore-or-build-venv
with:
uv-version: ${{ needs.info.outputs.uv_version }}
python-version: ${{ needs.info.outputs.default_python }}
Expand Down Expand Up @@ -763,7 +763,7 @@ jobs:
persist-credentials: false
- name: Install additional OS dependencies
timeout-minutes: 10
uses: ./.github/actions/cache-apt-packages
uses: $/.github/actions/cache-apt-packages
with:
packages: >-
bluez
Expand All @@ -773,7 +773,7 @@ jobs:
execute_install_scripts: true
- name: Set up Python and restore venv
id: python
uses: ./.github/actions/restore-or-build-venv
uses: $/.github/actions/restore-or-build-venv
with:
uv-version: ${{ needs.info.outputs.uv_version }}
python-version: ${{ needs.info.outputs.default_python }}
Expand Down Expand Up @@ -858,7 +858,7 @@ jobs:
persist-credentials: false
- name: Install additional OS dependencies
timeout-minutes: 10
uses: ./.github/actions/cache-apt-packages
uses: $/.github/actions/cache-apt-packages
with:
packages: >-
bluez
Expand All @@ -869,7 +869,7 @@ jobs:
execute_install_scripts: true
- name: Set up Python ${{ matrix.python-version }} and restore venv
id: python
uses: ./.github/actions/restore-or-build-venv
uses: $/.github/actions/restore-or-build-venv
with:
uv-version: ${{ needs.info.outputs.uv_version }}
python-version: ${{ matrix.python-version }}
Expand Down Expand Up @@ -991,7 +991,7 @@ jobs:
persist-credentials: false
- name: Install additional OS dependencies
timeout-minutes: 10
uses: ./.github/actions/cache-apt-packages
uses: $/.github/actions/cache-apt-packages
with:
packages: >-
bluez
Expand All @@ -1003,7 +1003,7 @@ jobs:
execute_install_scripts: true
- name: Set up Python ${{ matrix.python-version }} and restore venv
id: python
uses: ./.github/actions/restore-or-build-venv
uses: $/.github/actions/restore-or-build-venv
with:
uv-version: ${{ needs.info.outputs.uv_version }}
python-version: ${{ matrix.python-version }}
Expand Down Expand Up @@ -1132,7 +1132,7 @@ jobs:
persist-credentials: false
- name: Install additional OS dependencies
timeout-minutes: 10
uses: ./.github/actions/cache-apt-packages
uses: $/.github/actions/cache-apt-packages
with:
packages: >-
bluez
Expand All @@ -1145,13 +1145,13 @@ jobs:
run: sudo /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh -y
- name: Cache PostgreSQL development headers
timeout-minutes: 10
uses: ./.github/actions/cache-apt-packages
uses: $/.github/actions/cache-apt-packages
with:
packages: postgresql-server-dev-14
version: ${{ env.APT_CACHE_VERSION }}
- name: Set up Python ${{ matrix.python-version }} and restore venv
id: python
uses: ./.github/actions/restore-or-build-venv
uses: $/.github/actions/restore-or-build-venv
with:
uv-version: ${{ needs.info.outputs.uv_version }}
python-version: ${{ matrix.python-version }}
Expand Down Expand Up @@ -1266,7 +1266,7 @@ jobs:
persist-credentials: false
- name: Install additional OS dependencies
timeout-minutes: 10
uses: ./.github/actions/cache-apt-packages
uses: $/.github/actions/cache-apt-packages
with:
packages: >-
bluez
Expand All @@ -1277,7 +1277,7 @@ jobs:
execute_install_scripts: true
- name: Set up Python ${{ matrix.python-version }} and restore venv
id: python
uses: ./.github/actions/restore-or-build-venv
uses: $/.github/actions/restore-or-build-venv
with:
uv-version: ${{ needs.info.outputs.uv_version }}
python-version: ${{ matrix.python-version }}
Expand Down Expand Up @@ -1409,7 +1409,7 @@ jobs:
persist-credentials: false
- name: Install additional OS dependencies
timeout-minutes: 10
uses: ./.github/actions/cache-apt-packages
uses: $/.github/actions/cache-apt-packages
with:
packages: >-
bluez
Expand All @@ -1420,7 +1420,7 @@ jobs:
execute_install_scripts: true
- name: Set up Python ${{ matrix.python-version }} and restore venv
id: python
uses: ./.github/actions/restore-or-build-venv
uses: $/.github/actions/restore-or-build-venv
with:
uv-version: ${{ needs.info.outputs.uv_version }}
python-version: ${{ matrix.python-version }}
Expand Down
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ repos:
exclude_types: [csv, json, html]
exclude: ^tests/fixtures/|homeassistant/generated/|tests/components/.*/snapshots/
- repo: https://github.com/zizmorcore/zizmor-pre-commit
rev: v1.29.0
rev: v1.30.0
hooks:
- id: zizmor
args:
Expand Down
1 change: 0 additions & 1 deletion homeassistant/components/abode/strings.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
{
"config": {
"abort": {
"reauth_successful": "[%key:common::config_flow::abort::reauth_successful%]",
"wrong_account": "You must authenticate with the same Abode account that was originally configured."
},
"error": {
Expand Down
3 changes: 1 addition & 2 deletions homeassistant/components/accuweather/strings.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
{
"config": {
"abort": {
"already_configured": "[%key:common::config_flow::abort::already_configured_location%]",
"reauth_successful": "[%key:common::config_flow::abort::reauth_successful%]"
"already_configured": "[%key:common::config_flow::abort::already_configured_location%]"
},
"create_entry": {
"default": "Some sensors are not enabled by default. You can enable them in the entity registry after the integration configuration."
Expand Down
2 changes: 0 additions & 2 deletions homeassistant/components/actron_air/strings.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@
"abort": {
"already_configured": "[%key:common::config_flow::abort::already_configured_account%]",
"oauth2_error": "Failed to start authentication flow",
"reauth_successful": "[%key:common::config_flow::abort::reauth_successful%]",
"reconfigure_successful": "[%key:common::config_flow::abort::reconfigure_successful%]",
"wrong_account": "You must authenticate with the same Actron Air account that was originally configured."
},
"error": {
Expand Down
1 change: 0 additions & 1 deletion homeassistant/components/airgradient/strings.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
"abort": {
"already_configured": "[%key:common::config_flow::abort::already_configured_device%]",
"invalid_version": "This firmware version is unsupported. Please upgrade the firmware of the device to at least version 3.1.1.",
"reconfigure_successful": "[%key:common::config_flow::abort::reconfigure_successful%]",
"unique_id_mismatch": "Please ensure you reconfigure against the same device."
},
"error": {
Expand Down
2 changes: 0 additions & 2 deletions homeassistant/components/airobot/strings.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@
"config": {
"abort": {
"already_configured": "[%key:common::config_flow::abort::already_configured_device%]",
"reauth_successful": "[%key:common::config_flow::abort::reauth_successful%]",
"reconfigure_successful": "[%key:common::config_flow::abort::reconfigure_successful%]",
"wrong_device": "Device ID does not match the existing configuration. Please use the correct device credentials."
},
"error": {
Expand Down
2 changes: 0 additions & 2 deletions homeassistant/components/airos/strings.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@
"discovery_failed": "Unable to start discovery, check logs for details",
"listen_error": "Unable to start listening for devices",
"no_devices_found": "[%key:common::config_flow::abort::no_devices_found%]",
"reauth_successful": "[%key:common::config_flow::abort::reauth_successful%]",
"reconfigure_successful": "[%key:common::config_flow::abort::reconfigure_successful%]",
"unique_id_mismatch": "Re-authentication should be used for the same device not a new one"
},
"error": {
Expand Down
1 change: 0 additions & 1 deletion homeassistant/components/airpatrol/strings.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
"config": {
"abort": {
"already_configured": "[%key:common::config_flow::abort::already_configured_device%]",
"reauth_successful": "[%key:common::config_flow::abort::reauth_successful%]",
"unique_id_mismatch": "Login credentials do not match the configured account"
},
"error": {
Expand Down
3 changes: 1 addition & 2 deletions homeassistant/components/airvisual/strings.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
{
"config": {
"abort": {
"already_configured": "[%key:common::config_flow::abort::already_configured_location%]",
"reauth_successful": "[%key:common::config_flow::abort::reauth_successful%]"
"already_configured": "[%key:common::config_flow::abort::already_configured_location%]"
},
"error": {
"cannot_connect": "[%key:common::config_flow::error::cannot_connect%]",
Expand Down
3 changes: 1 addition & 2 deletions homeassistant/components/airvisual_pro/strings.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
{
"config": {
"abort": {
"already_configured": "[%key:common::config_flow::abort::already_configured_device%]",
"reauth_successful": "[%key:common::config_flow::abort::reauth_successful%]"
"already_configured": "[%key:common::config_flow::abort::already_configured_device%]"
},
"error": {
"cannot_connect": "[%key:common::config_flow::error::cannot_connect%]",
Expand Down
1 change: 0 additions & 1 deletion homeassistant/components/aladdin_connect/strings.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
"cannot_connect": "[%key:common::config_flow::error::cannot_connect%]",
"cloud_not_enabled": "Please make sure you run Home Assistant with `{default_config}` enabled in your configuration.yaml.",
"missing_configuration": "[%key:common::config_flow::abort::oauth2_missing_configuration%]",
"reauth_successful": "[%key:common::config_flow::abort::reauth_successful%]",
"wrong_account": "You are authenticated with a different account than the one set up. Please authenticate with the configured account."
},
"create_entry": {
Expand Down
30 changes: 16 additions & 14 deletions homeassistant/components/alexa_devices/select.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,24 +66,26 @@ def _check_device() -> None:
new_devices = current_devices - known_devices
if new_devices:
known_devices.update(new_devices)
select_entities = [
AmazonSelectEntity(coordinator, serial_num, select_desc)
for select_desc in SELECTS
for serial_num in new_devices
if select_desc.is_available_fn(coordinator.data[serial_num])
]
select_service_entites = [
AmazonSelectServiceEntity(coordinator, select_desc)
for select_desc in SERVICE_SELECTS
for serial_num in new_devices
if select_desc.is_available_fn(coordinator.data[serial_num])
]
async_add_entities(select_entities)
async_add_entities(select_service_entites)
async_add_entities(
[
AmazonSelectEntity(coordinator, serial_num, select_desc)
for select_desc in SELECTS
for serial_num in new_devices
if select_desc.is_available_fn(coordinator.data[serial_num])
]
)

_check_device()
entry.async_on_unload(coordinator.async_add_listener(_check_device))

# Service entities
async_add_entities(
[
AmazonSelectServiceEntity(coordinator, select_desc)
for select_desc in SERVICE_SELECTS
]
)


class AmazonSelectEntity(AmazonEntity, SelectEntity):
"""Representation of a select entity."""
Expand Down
2 changes: 0 additions & 2 deletions homeassistant/components/alexa_devices/strings.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,6 @@
"already_configured": "[%key:common::config_flow::abort::already_configured_service%]",
"cannot_connect": "[%key:common::config_flow::error::cannot_connect%]",
"invalid_auth": "[%key:common::config_flow::error::invalid_auth%]",
"reauth_successful": "[%key:common::config_flow::abort::reauth_successful%]",
"reconfigure_successful": "[%key:common::config_flow::abort::reconfigure_successful%]",
"unknown": "[%key:common::config_flow::error::unknown%]"
},
"error": {
Expand Down
2 changes: 0 additions & 2 deletions homeassistant/components/androidtv_remote/strings.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@
"abort": {
"already_configured": "[%key:common::config_flow::abort::already_configured_device%]",
"cannot_connect": "[%key:common::config_flow::error::cannot_connect%]",
"reauth_successful": "[%key:common::config_flow::abort::reauth_successful%]",
"reconfigure_successful": "[%key:common::config_flow::abort::reconfigure_successful%]",
"unique_id_mismatch": "Please ensure you reconfigure against the same device."
},
"error": {
Expand Down
Loading
Loading