Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 1 addition & 1 deletion homeassistant/components/amcrest/strings.json
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@
"name": "Go to preset"
},
"ptz_control": {
"description": "Moves (pan/tilt) and/or zoom a PTZ camera.",
"description": "Moves (pan/tilt) and/or zooms a PTZ camera.",
"fields": {
"entity_id": {
"description": "[%key:component::amcrest::services::enable_recording::fields::entity_id::description%]",
Expand Down
5 changes: 0 additions & 5 deletions homeassistant/components/analytics_insights/sensor.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,6 @@ def get_app_entity_description(
translation_key="apps",
name=name_slug,
state_class=SensorStateClass.TOTAL,
native_unit_of_measurement="active installations",
value_fn=lambda data: data.apps.get(name_slug),
)

Expand All @@ -52,7 +51,6 @@ def get_core_integration_entity_description(
translation_key="core_integrations",
name=name,
state_class=SensorStateClass.TOTAL,
native_unit_of_measurement="active installations",
value_fn=lambda data: data.core_integrations.get(domain),
)

Expand All @@ -66,7 +64,6 @@ def get_custom_integration_entity_description(
translation_key="custom_integrations",
translation_placeholders={"custom_integration_domain": domain},
state_class=SensorStateClass.TOTAL,
native_unit_of_measurement="active installations",
value_fn=lambda data: data.custom_integrations.get(domain),
)

Expand All @@ -77,15 +74,13 @@ def get_custom_integration_entity_description(
translation_key="total_active_installations",
entity_registry_enabled_default=False,
state_class=SensorStateClass.TOTAL,
native_unit_of_measurement="active installations",
value_fn=lambda data: data.active_installations,
),
AnalyticsSensorEntityDescription(
key="total_reports_integrations",
translation_key="total_reports_integrations",
entity_registry_enabled_default=False,
state_class=SensorStateClass.TOTAL,
native_unit_of_measurement="active installations",
value_fn=lambda data: data.reports_integrations,
),
]
Expand Down
15 changes: 12 additions & 3 deletions homeassistant/components/analytics_insights/strings.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,14 +24,23 @@
},
"entity": {
"sensor": {
"apps": {
"unit_of_measurement": "active installations"
},
"core_integrations": {
"unit_of_measurement": "[%key:component::analytics_insights::entity::sensor::apps::unit_of_measurement%]"
},
"custom_integrations": {
"name": "{custom_integration_domain} (custom)"
"name": "{custom_integration_domain} (custom)",
"unit_of_measurement": "[%key:component::analytics_insights::entity::sensor::apps::unit_of_measurement%]"
},
"total_active_installations": {
"name": "Total active installations"
"name": "Total active installations",
"unit_of_measurement": "[%key:component::analytics_insights::entity::sensor::apps::unit_of_measurement%]"
},
"total_reports_integrations": {
"name": "Total reported integrations"
"name": "Total reported integrations",
"unit_of_measurement": "[%key:component::analytics_insights::entity::sensor::apps::unit_of_measurement%]"
}
}
},
Expand Down
2 changes: 1 addition & 1 deletion homeassistant/components/blebox/light.py
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ def is_on(self) -> bool:
return self._feature.is_on

@property
def brightness(self):
def brightness(self) -> int | None:
"""Return the name."""
return self._feature.brightness

Expand Down
1 change: 1 addition & 0 deletions homeassistant/components/cloud/ai_task.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@

def _convert_image_for_editing(data: bytes) -> tuple[bytes, str]:
"""Ensure the image data is in a format accepted by OpenAI image edits."""
img: Image.Image
stream = io.BytesIO(data)
with Image.open(stream) as img:
mode = img.mode
Expand Down
2 changes: 1 addition & 1 deletion homeassistant/components/control4/light.py
Original file line number Diff line number Diff line change
Expand Up @@ -199,7 +199,7 @@ def is_on(self) -> bool:
return self.coordinator.data[self._idx][CONTROL4_NON_DIMMER_VAR] > 0

@property
def brightness(self):
def brightness(self) -> int | None:
"""Return the brightness of this light between 0..255."""
if self._is_dimmer:
for var in CONTROL4_DIMMER_VARS:
Expand Down
2 changes: 1 addition & 1 deletion homeassistant/components/decora_wifi/light.py
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ def unique_id(self):
return self._switch.serial

@property
def brightness(self):
def brightness(self) -> int:
"""Return the brightness of the dimmer switch."""
return int(self._switch.brightness * 255 / 100)

Expand Down
2 changes: 1 addition & 1 deletion homeassistant/components/doods/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@
"iot_class": "local_polling",
"loggers": ["pydoods"],
"quality_scale": "legacy",
"requirements": ["pydoods==1.0.2", "Pillow==12.0.0"]
"requirements": ["pydoods==1.0.2", "Pillow==12.1.1"]
}
4 changes: 2 additions & 2 deletions homeassistant/components/eufy/light.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ def update(self) -> None:
self._attr_is_on = self._bulb.power

@property
def brightness(self):
def brightness(self) -> int:
"""Return the brightness of this light between 0..255."""
return int(self._brightness * 255 / 100)

Expand All @@ -88,7 +88,7 @@ def color_temp_kelvin(self) -> int:
)

@property
def hs_color(self):
def hs_color(self) -> tuple[float, float] | None:
"""Return the color of this light."""
return self._hs

Expand Down
2 changes: 1 addition & 1 deletion homeassistant/components/generic/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,5 @@
"documentation": "https://www.home-assistant.io/integrations/generic",
"integration_type": "device",
"iot_class": "local_push",
"requirements": ["av==16.0.1", "Pillow==12.0.0"]
"requirements": ["av==16.0.1", "Pillow==12.1.1"]
}
2 changes: 1 addition & 1 deletion homeassistant/components/homeassistant_yellow/strings.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
"otbr_addon_already_running": "[%key:component::homeassistant_hardware::firmware_picker::options::abort::otbr_addon_already_running%]",
"otbr_still_using_stick": "[%key:component::homeassistant_hardware::firmware_picker::options::abort::otbr_still_using_stick%]",
"read_hw_settings_error": "Failed to read hardware settings",
"unsupported_firmware": "The radio firmware on your {model} could not be determined. Make sure that no other integration or add-on is currently trying to communicate with the device.",
"unsupported_firmware": "The radio firmware on your {model} could not be determined. Make sure that no other integration or app is currently trying to communicate with the device.",
"write_hw_settings_error": "Failed to write hardware settings",
"zha_migration_failed": "[%key:component::homeassistant_hardware::silabs_multiprotocol_hardware::options::abort::zha_migration_failed%]",
"zha_still_using_stick": "[%key:component::homeassistant_hardware::firmware_picker::options::abort::zha_still_using_stick%]"
Expand Down
8 changes: 4 additions & 4 deletions homeassistant/components/iglo/light.py
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ def name(self):
return self._name

@property
def brightness(self):
def brightness(self) -> int:
"""Return the brightness of this light between 0..255."""
return int((self._lamp.state()["brightness"] / 200.0) * 255)

Expand Down Expand Up @@ -97,17 +97,17 @@ def min_color_temp_kelvin(self) -> int:
return self._lamp.min_kelvin

@property
def hs_color(self):
def hs_color(self) -> tuple[float, float]:
"""Return the hs value."""
return color_util.color_RGB_to_hs(*self._lamp.state()["rgb"])

@property
def effect(self):
def effect(self) -> str:
"""Return the current effect."""
return self._lamp.state()["effect"]

@property
def effect_list(self):
def effect_list(self) -> list[str]:
"""Return the list of supported effects."""
return self._lamp.effect_list()

Expand Down
7 changes: 4 additions & 3 deletions homeassistant/components/igloohome/lock.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
"""Implementation of the lock platform."""

from datetime import timedelta
from typing import Any

from aiohttp import ClientError
from igloohome_api import (
Expand Down Expand Up @@ -63,7 +64,7 @@ def __init__(
)
self.bridge_id = bridge_id

async def async_lock(self, **kwargs):
async def async_lock(self, **kwargs: Any) -> None:
"""Lock this lock."""
try:
await self.api.create_bridge_proxied_job(
Expand All @@ -72,7 +73,7 @@ async def async_lock(self, **kwargs):
except (ApiException, ClientError) as err:
raise HomeAssistantError from err

async def async_unlock(self, **kwargs):
async def async_unlock(self, **kwargs: Any) -> None:
"""Unlock this lock."""
try:
await self.api.create_bridge_proxied_job(
Expand All @@ -81,7 +82,7 @@ async def async_unlock(self, **kwargs):
except (ApiException, ClientError) as err:
raise HomeAssistantError from err

async def async_open(self, **kwargs):
async def async_open(self, **kwargs: Any) -> None:
"""Open (unlatch) this lock."""
try:
await self.api.create_bridge_proxied_job(
Expand Down
2 changes: 1 addition & 1 deletion homeassistant/components/image_upload/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,5 @@
"documentation": "https://www.home-assistant.io/integrations/image_upload",
"integration_type": "system",
"quality_scale": "internal",
"requirements": ["Pillow==12.0.0"]
"requirements": ["Pillow==12.1.1"]
}
2 changes: 1 addition & 1 deletion homeassistant/components/insteon/light.py
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ def __init__(self, device: InsteonDevice, group: int) -> None:
self._attr_supported_color_modes = {ColorMode.ONOFF}

@property
def brightness(self):
def brightness(self) -> int:
"""Return the brightness of this light between 0..255."""
return self._insteon_device_group.value

Expand Down
2 changes: 1 addition & 1 deletion homeassistant/components/matrix/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@
"iot_class": "cloud_push",
"loggers": ["matrix_client"],
"quality_scale": "legacy",
"requirements": ["matrix-nio==0.25.2", "Pillow==12.0.0", "aiofiles==24.1.0"]
"requirements": ["matrix-nio==0.25.2", "Pillow==12.1.1", "aiofiles==24.1.0"]
}
2 changes: 2 additions & 0 deletions homeassistant/components/matter/number.py
Original file line number Diff line number Diff line change
Expand Up @@ -498,6 +498,7 @@ def _update_from_device(self) -> None:
required_attributes=(
custom_clusters.InovelliCluster.Attributes.LEDIndicatorIntensityOff,
),
product_id=(2, 16),
),
MatterDiscoverySchema(
platform=Platform.NUMBER,
Expand All @@ -514,6 +515,7 @@ def _update_from_device(self) -> None:
required_attributes=(
custom_clusters.InovelliCluster.Attributes.LEDIndicatorIntensityOn,
),
product_id=(2, 16),
),
MatterDiscoverySchema(
platform=Platform.NUMBER,
Expand Down
2 changes: 1 addition & 1 deletion homeassistant/components/osramlightify/light.py
Original file line number Diff line number Diff line change
Expand Up @@ -244,7 +244,7 @@ def name(self):
return self._luminary.name()

@property
def hs_color(self):
def hs_color(self) -> tuple[float, float]:
"""Return last hs color value set."""
return color_util.color_RGB_to_hs(*self._rgb_color)

Expand Down
2 changes: 1 addition & 1 deletion homeassistant/components/pilight/light.py
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ def __init__(self, hass, name, config):
self._dimlevel_max = config.get(CONF_DIMLEVEL_MAX)

@property
def brightness(self):
def brightness(self) -> int | None:
"""Return the brightness."""
return self._brightness

Expand Down
2 changes: 1 addition & 1 deletion homeassistant/components/proxy/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,5 @@
"codeowners": [],
"documentation": "https://www.home-assistant.io/integrations/proxy",
"quality_scale": "legacy",
"requirements": ["Pillow==12.0.0"]
"requirements": ["Pillow==12.1.1"]
}
2 changes: 1 addition & 1 deletion homeassistant/components/qrcode/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@
"iot_class": "calculated",
"loggers": ["pyzbar"],
"quality_scale": "legacy",
"requirements": ["Pillow==12.0.0", "pyzbar==0.1.7"]
"requirements": ["Pillow==12.1.1", "pyzbar==0.1.7"]
}
2 changes: 1 addition & 1 deletion homeassistant/components/qwikswitch/light.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ class QSLight(QSToggleEntity, LightEntity):
"""Light based on a Qwikswitch relay/dimmer module."""

@property
def brightness(self):
def brightness(self) -> int | None:
"""Return the brightness of this light (0-255)."""
return self.device.value if self.device.is_dimmer else None

Expand Down
2 changes: 1 addition & 1 deletion homeassistant/components/recorder/strings.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"title": "Database backup failed due to lack of resources"
},
"maria_db_range_index_regression": {
"description": "Older versions of MariaDB suffer from a significant performance regression when retrieving history data or purging the database. Update to MariaDB version {min_version} or later and restart Home Assistant. If you are using the MariaDB core add-on, make sure to update it to the latest version.",
"description": "Older versions of MariaDB suffer from a significant performance regression when retrieving history data or purging the database. Update to MariaDB version {min_version} or later and restart Home Assistant. If you are using the MariaDB Core app, make sure to update it to the latest version.",
"title": "Update MariaDB to {min_version} or later resolve a significant performance issue"
}
},
Expand Down
2 changes: 1 addition & 1 deletion homeassistant/components/rflink/light.py
Original file line number Diff line number Diff line change
Expand Up @@ -226,7 +226,7 @@ def _handle_event(self, event):
self._state = True

@property
def brightness(self):
def brightness(self) -> int:
"""Return the brightness of this light between 0..255."""
return self._brightness

Expand Down
8 changes: 4 additions & 4 deletions homeassistant/components/roborock/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -144,18 +144,18 @@ async def shutdown_roborock(_: Event | None = None) -> None:
for coord in coordinators
if isinstance(coord, RoborockDataUpdateCoordinatorA01)
]
b01_coords = [
b01_q7_coords = [
coord
for coord in coordinators
if isinstance(coord, RoborockDataUpdateCoordinatorB01)
if isinstance(coord, RoborockB01Q7UpdateCoordinator)
]
if len(v1_coords) + len(a01_coords) + len(b01_coords) == 0:
if len(v1_coords) + len(a01_coords) + len(b01_q7_coords) == 0:
raise ConfigEntryNotReady(
"No devices were able to successfully setup",
translation_domain=DOMAIN,
translation_key="no_coordinators",
)
entry.runtime_data = RoborockCoordinators(v1_coords, a01_coords, b01_coords)
entry.runtime_data = RoborockCoordinators(v1_coords, a01_coords, b01_q7_coords)

await hass.config_entries.async_forward_entry_setups(entry, PLATFORMS)

Expand Down
6 changes: 3 additions & 3 deletions homeassistant/components/roborock/coordinator.py
Original file line number Diff line number Diff line change
Expand Up @@ -64,17 +64,17 @@ class RoborockCoordinators:

v1: list[RoborockDataUpdateCoordinator]
a01: list[RoborockDataUpdateCoordinatorA01]
b01: list[RoborockDataUpdateCoordinatorB01]
b01_q7: list[RoborockB01Q7UpdateCoordinator]

def values(
self,
) -> list[
RoborockDataUpdateCoordinator
| RoborockDataUpdateCoordinatorA01
| RoborockDataUpdateCoordinatorB01
| RoborockB01Q7UpdateCoordinator
]:
"""Return all coordinators."""
return self.v1 + self.a01 + self.b01
return self.v1 + self.a01 + self.b01_q7


type RoborockConfigEntry = ConfigEntry[RoborockCoordinators]
Expand Down
Loading
Loading