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
4 changes: 2 additions & 2 deletions CODEOWNERS

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

2 changes: 1 addition & 1 deletion homeassistant/components/airos/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,5 @@
"integration_type": "device",
"iot_class": "local_polling",
"quality_scale": "silver",
"requirements": ["airos==0.6.3"]
"requirements": ["airos==0.6.4"]
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"domain": "dwd_weather_warnings",
"name": "Deutscher Wetterdienst (DWD) Weather Warnings",
"codeowners": ["@runningman84", "@stephan192", "@andarotajo"],
"codeowners": ["@runningman84", "@stephan192"],
"config_flow": true,
"documentation": "https://www.home-assistant.io/integrations/dwd_weather_warnings",
"integration_type": "service",
Expand Down
2 changes: 1 addition & 1 deletion homeassistant/components/fritzbox/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"integration_type": "hub",
"iot_class": "local_polling",
"loggers": ["pyfritzhome"],
"requirements": ["pyfritzhome==0.6.19"],
"requirements": ["pyfritzhome==0.6.20"],
"ssdp": [
{
"st": "urn:schemas-upnp-org:device:fritzbox:1"
Expand Down
14 changes: 9 additions & 5 deletions homeassistant/components/litterrobot/button.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
from dataclasses import dataclass
from typing import Any, Generic

from pylitterbot import FeederRobot, LitterRobot3, LitterRobot4, Robot
from pylitterbot import FeederRobot, LitterRobot3, LitterRobot4, LitterRobot5, Robot

from homeassistant.components.button import ButtonEntity, ButtonEntityDescription
from homeassistant.const import EntityCategory
Expand All @@ -24,20 +24,24 @@ class RobotButtonEntityDescription(ButtonEntityDescription, Generic[_WhiskerEnti
press_fn: Callable[[_WhiskerEntityT], Coroutine[Any, Any, bool]]


ROBOT_BUTTON_MAP: dict[type[Robot], RobotButtonEntityDescription] = {
LitterRobot3: RobotButtonEntityDescription[LitterRobot3](
ROBOT_BUTTON_MAP: dict[tuple[type[Robot], ...], RobotButtonEntityDescription] = {
(LitterRobot3, LitterRobot5): RobotButtonEntityDescription[
LitterRobot3 | LitterRobot5
](
key="reset_waste_drawer",
translation_key="reset_waste_drawer",
entity_category=EntityCategory.CONFIG,
press_fn=lambda robot: robot.reset_waste_drawer(),
),
LitterRobot4: RobotButtonEntityDescription[LitterRobot4](
(LitterRobot4, LitterRobot5): RobotButtonEntityDescription[
LitterRobot4 | LitterRobot5
](
key="reset",
translation_key="reset",
entity_category=EntityCategory.CONFIG,
press_fn=lambda robot: robot.reset(),
),
FeederRobot: RobotButtonEntityDescription[FeederRobot](
(FeederRobot,): RobotButtonEntityDescription[FeederRobot](
key="give_snack",
translation_key="give_snack",
press_fn=lambda robot: robot.give_snack(),
Expand Down
16 changes: 9 additions & 7 deletions homeassistant/components/litterrobot/select.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
from dataclasses import dataclass
from typing import Any, Generic, TypeVar

from pylitterbot import FeederRobot, LitterRobot, LitterRobot4, Robot
from pylitterbot import FeederRobot, LitterRobot, LitterRobot4, LitterRobot5, Robot
from pylitterbot.robot.litterrobot4 import BrightnessLevel, NightLightMode

from homeassistant.components.select import SelectEntity, SelectEntityDescription
Expand All @@ -32,9 +32,11 @@ class RobotSelectEntityDescription(
select_fn: Callable[[_WhiskerEntityT, str], Coroutine[Any, Any, bool]]


ROBOT_SELECT_MAP: dict[type[Robot], tuple[RobotSelectEntityDescription, ...]] = {
ROBOT_SELECT_MAP: dict[
type[Robot] | tuple[type[Robot], ...], tuple[RobotSelectEntityDescription, ...]
] = {
LitterRobot: (
RobotSelectEntityDescription[LitterRobot, int]( # type: ignore[type-abstract] # only used for isinstance check
RobotSelectEntityDescription[LitterRobot, int](
key="cycle_delay",
translation_key="cycle_delay",
unit_of_measurement=UnitOfTime.MINUTES,
Expand All @@ -43,8 +45,8 @@ class RobotSelectEntityDescription(
select_fn=lambda robot, opt: robot.set_wait_time(int(opt)),
),
),
LitterRobot4: (
RobotSelectEntityDescription[LitterRobot4, str](
(LitterRobot4, LitterRobot5): (
RobotSelectEntityDescription[LitterRobot4 | LitterRobot5, str](
key="globe_brightness",
translation_key="globe_brightness",
current_fn=(
Expand All @@ -61,7 +63,7 @@ class RobotSelectEntityDescription(
)
),
),
RobotSelectEntityDescription[LitterRobot4, str](
RobotSelectEntityDescription[LitterRobot4 | LitterRobot5, str](
key="globe_light",
translation_key="globe_light",
current_fn=(
Expand All @@ -78,7 +80,7 @@ class RobotSelectEntityDescription(
)
),
),
RobotSelectEntityDescription[LitterRobot4, str](
RobotSelectEntityDescription[LitterRobot4 | LitterRobot5, str](
key="panel_brightness",
translation_key="brightness_level",
current_fn=(
Expand Down
14 changes: 9 additions & 5 deletions homeassistant/components/litterrobot/sensor.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
from datetime import datetime
from typing import Any, Generic

from pylitterbot import FeederRobot, LitterRobot, LitterRobot4, Pet, Robot
from pylitterbot import FeederRobot, LitterRobot, LitterRobot4, LitterRobot5, Pet, Robot

from homeassistant.components.sensor import (
SensorDeviceClass,
Expand Down Expand Up @@ -44,8 +44,10 @@ class RobotSensorEntityDescription(SensorEntityDescription, Generic[_WhiskerEnti
value_fn: Callable[[_WhiskerEntityT], float | datetime | str | None]


ROBOT_SENSOR_MAP: dict[type[Robot], list[RobotSensorEntityDescription]] = {
LitterRobot: [ # type: ignore[type-abstract] # only used for isinstance check
ROBOT_SENSOR_MAP: dict[
type[Robot] | tuple[type[Robot], ...], list[RobotSensorEntityDescription]
] = {
LitterRobot: [
RobotSensorEntityDescription[LitterRobot](
key="waste_drawer_level",
translation_key="waste_drawer",
Expand Down Expand Up @@ -145,15 +147,17 @@ class RobotSensorEntityDescription(SensorEntityDescription, Generic[_WhiskerEnti
)
),
),
RobotSensorEntityDescription[LitterRobot4](
],
(LitterRobot4, LitterRobot5): [
RobotSensorEntityDescription[LitterRobot4 | LitterRobot5](
key="litter_level",
translation_key="litter_level",
native_unit_of_measurement=PERCENTAGE,
icon_fn=lambda state: icon_for_gauge_level(state, 10),
state_class=SensorStateClass.MEASUREMENT,
value_fn=lambda robot: robot.litter_level,
),
RobotSensorEntityDescription[LitterRobot4](
RobotSensorEntityDescription[LitterRobot4 | LitterRobot5](
key="pet_weight",
translation_key="pet_weight",
native_unit_of_measurement=UnitOfMass.POUNDS,
Expand Down
2 changes: 1 addition & 1 deletion homeassistant/components/proxmoxve/coordinator.py
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,7 @@ def _fetch_all_nodes(
list[dict[str, Any]], list[tuple[list[dict[str, Any]], list[dict[str, Any]]]]
]:
"""Fetch all nodes, and then proceed to the VMs and containers."""
nodes = self.proxmox.nodes.get()
nodes = self.proxmox.nodes.get() or []
vms_containers = [self._get_vms_containers(node) for node in nodes]
return nodes, vms_containers

Expand Down
2 changes: 1 addition & 1 deletion homeassistant/components/renault/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,5 @@
"iot_class": "cloud_polling",
"loggers": ["renault_api"],
"quality_scale": "silver",
"requirements": ["renault-api==0.5.3"]
"requirements": ["renault-api==0.5.5"]
}
16 changes: 8 additions & 8 deletions homeassistant/components/telegram_bot/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -71,9 +71,9 @@
ATTR_KEYBOARD_INLINE,
ATTR_MEDIA_TYPE,
ATTR_MESSAGE,
ATTR_MESSAGE_ID,
ATTR_MESSAGE_TAG,
ATTR_MESSAGE_THREAD_ID,
ATTR_MESSAGEID,
ATTR_ONE_TIME_KEYBOARD,
ATTR_OPEN_PERIOD,
ATTR_OPTIONS,
Expand Down Expand Up @@ -264,7 +264,7 @@
vol.Optional(CONF_CONFIG_ENTRY_ID): cv.string,
vol.Optional(ATTR_TITLE): cv.string,
vol.Required(ATTR_MESSAGE): cv.string,
vol.Required(ATTR_MESSAGEID): vol.Any(
vol.Required(ATTR_MESSAGE_ID): vol.Any(
cv.positive_int, vol.All(cv.string, "last")
),
vol.Optional(ATTR_CHAT_ID): vol.Coerce(int),
Expand All @@ -281,7 +281,7 @@
{
vol.Optional(ATTR_ENTITY_ID): vol.All(cv.ensure_list, [cv.string]),
vol.Optional(CONF_CONFIG_ENTRY_ID): cv.string,
vol.Required(ATTR_MESSAGEID): vol.Any(
vol.Required(ATTR_MESSAGE_ID): vol.Any(
cv.positive_int, vol.All(cv.string, "last")
),
vol.Optional(ATTR_CHAT_ID): vol.Coerce(int),
Expand Down Expand Up @@ -311,7 +311,7 @@
{
vol.Optional(ATTR_ENTITY_ID): vol.All(cv.ensure_list, [cv.string]),
vol.Optional(CONF_CONFIG_ENTRY_ID): cv.string,
vol.Required(ATTR_MESSAGEID): vol.Any(
vol.Required(ATTR_MESSAGE_ID): vol.Any(
cv.positive_int, vol.All(cv.string, "last")
),
vol.Optional(ATTR_CHAT_ID): vol.Coerce(int),
Expand All @@ -325,7 +325,7 @@
{
vol.Optional(ATTR_ENTITY_ID): vol.All(cv.ensure_list, [cv.string]),
vol.Optional(CONF_CONFIG_ENTRY_ID): cv.string,
vol.Required(ATTR_MESSAGEID): vol.Any(
vol.Required(ATTR_MESSAGE_ID): vol.Any(
cv.positive_int, vol.All(cv.string, "last")
),
vol.Optional(ATTR_CHAT_ID): vol.Coerce(int),
Expand All @@ -347,7 +347,7 @@
vol.Optional(ATTR_ENTITY_ID): vol.All(cv.ensure_list, [cv.string]),
vol.Optional(CONF_CONFIG_ENTRY_ID): cv.string,
vol.Optional(ATTR_CHAT_ID): vol.Coerce(int),
vol.Required(ATTR_MESSAGEID): vol.Any(
vol.Required(ATTR_MESSAGE_ID): vol.Any(
cv.positive_int, vol.All(cv.string, "last")
),
}
Expand All @@ -364,7 +364,7 @@
SERVICE_SCHEMA_SET_MESSAGE_REACTION = vol.Schema(
{
vol.Optional(CONF_CONFIG_ENTRY_ID): cv.string,
vol.Required(ATTR_MESSAGEID): vol.Any(
vol.Required(ATTR_MESSAGE_ID): vol.Any(
cv.positive_int, vol.All(cv.string, "last")
),
vol.Optional(ATTR_CHAT_ID): vol.Coerce(int),
Expand Down Expand Up @@ -485,7 +485,7 @@ async def _async_send_telegram_message(service: ServiceCall) -> ServiceResponse:
for chat_id, message_id in service_response.items():
formatted_response = {
ATTR_CHAT_ID: int(chat_id),
ATTR_MESSAGEID: message_id,
ATTR_MESSAGE_ID: message_id,
}

if target_notify_entity_id:
Expand Down
8 changes: 4 additions & 4 deletions homeassistant/components/telegram_bot/bot.py
Original file line number Diff line number Diff line change
Expand Up @@ -73,9 +73,9 @@
ATTR_KEYBOARD,
ATTR_KEYBOARD_INLINE,
ATTR_MESSAGE,
ATTR_MESSAGE_ID,
ATTR_MESSAGE_TAG,
ATTR_MESSAGE_THREAD_ID,
ATTR_MESSAGEID,
ATTR_MSG,
ATTR_MSGID,
ATTR_ONE_TIME_KEYBOARD,
Expand Down Expand Up @@ -319,8 +319,8 @@ def _get_msg_ids(
"""
message_id: Any | None = None
inline_message_id: int | None = None
if ATTR_MESSAGEID in msg_data:
message_id = msg_data[ATTR_MESSAGEID]
if ATTR_MESSAGE_ID in msg_data:
message_id = msg_data[ATTR_MESSAGE_ID]
if (
isinstance(message_id, str)
and (message_id == "last")
Expand Down Expand Up @@ -491,7 +491,7 @@ async def _send_msg(

event_data: dict[str, Any] = {
ATTR_CHAT_ID: chat_id,
ATTR_MESSAGEID: message_id,
ATTR_MESSAGE_ID: message_id,
}
if message_tag is not None:
event_data[ATTR_MESSAGE_TAG] = message_tag
Expand Down
2 changes: 1 addition & 1 deletion homeassistant/components/telegram_bot/const.py
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@
ATTR_RESIZE_KEYBOARD = "resize_keyboard"
ATTR_ONE_TIME_KEYBOARD = "one_time_keyboard"
ATTR_KEYBOARD_INLINE = "inline_keyboard"
ATTR_MESSAGEID = "message_id"
ATTR_MESSAGE_ID = "message_id"
ATTR_INLINE_MESSAGE_ID = "inline_message_id"
ATTR_MEDIA_TYPE = "media_type"
ATTR_MSG = "message"
Expand Down
6 changes: 3 additions & 3 deletions requirements_all.txt

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

6 changes: 3 additions & 3 deletions requirements_test_all.txt

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

1 change: 1 addition & 0 deletions tests/components/matter/common.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@
"heiman_motion_sensor_m1",
"heiman_smoke_detector",
"ikea_air_quality_monitor",
"ikea_bilresa_dual_button",
"ikea_scroll_wheel",
"inovelli_vtm30",
"inovelli_vtm31",
Expand Down
Loading
Loading