Skip to content

Commit 777b312

Browse files
authored
2 parents 456f992 + d384bee commit 777b312

File tree

35 files changed

+288
-94
lines changed

35 files changed

+288
-94
lines changed

homeassistant/components/alexa_devices/manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,5 @@
88
"iot_class": "cloud_polling",
99
"loggers": ["aioamazondevices"],
1010
"quality_scale": "bronze",
11-
"requirements": ["aioamazondevices==3.5.0"]
11+
"requirements": ["aioamazondevices==3.5.1"]
1212
}

homeassistant/components/fujitsu_fglair/climate.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
FAN_HIGH,
1616
FAN_LOW,
1717
FAN_MEDIUM,
18+
FAN_OFF,
1819
SWING_BOTH,
1920
SWING_HORIZONTAL,
2021
SWING_OFF,
@@ -31,6 +32,7 @@
3132
from .entity import FGLairEntity
3233

3334
HA_TO_FUJI_FAN = {
35+
FAN_OFF: FanSpeed.QUIET,
3436
FAN_LOW: FanSpeed.LOW,
3537
FAN_MEDIUM: FanSpeed.MEDIUM,
3638
FAN_HIGH: FanSpeed.HIGH,

homeassistant/components/habitica/manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,5 @@
77
"iot_class": "cloud_polling",
88
"loggers": ["habiticalib"],
99
"quality_scale": "platinum",
10-
"requirements": ["habiticalib==0.4.0"]
10+
"requirements": ["habiticalib==0.4.1"]
1111
}

homeassistant/components/lifx/light.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@
1010
import voluptuous as vol
1111

1212
from homeassistant.components.light import (
13+
ATTR_BRIGHTNESS,
14+
ATTR_BRIGHTNESS_STEP,
15+
ATTR_BRIGHTNESS_STEP_PCT,
1316
ATTR_EFFECT,
1417
ATTR_TRANSITION,
1518
LIGHT_TURN_ON_SCHEMA,
@@ -234,6 +237,20 @@ async def set_state(self, **kwargs: Any) -> None:
234237
else:
235238
fade = 0
236239

240+
if ATTR_BRIGHTNESS_STEP in kwargs or ATTR_BRIGHTNESS_STEP_PCT in kwargs:
241+
brightness = self.brightness if self.is_on and self.brightness else 0
242+
243+
if ATTR_BRIGHTNESS_STEP in kwargs:
244+
brightness += kwargs.pop(ATTR_BRIGHTNESS_STEP)
245+
246+
else:
247+
brightness_pct = round(brightness / 255 * 100)
248+
brightness = round(
249+
(brightness_pct + kwargs.pop(ATTR_BRIGHTNESS_STEP_PCT)) / 100 * 255
250+
)
251+
252+
kwargs[ATTR_BRIGHTNESS] = max(0, min(255, brightness))
253+
237254
# These are both False if ATTR_POWER is not set
238255
power_on = kwargs.get(ATTR_POWER, False)
239256
power_off = not kwargs.get(ATTR_POWER, True)

homeassistant/components/matter/light.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
from typing import Any
66

77
from chip.clusters import Objects as clusters
8+
from chip.clusters.Objects import NullValue
89
from matter_server.client.models import device_types
910

1011
from homeassistant.components.light import (
@@ -241,7 +242,7 @@ def _get_color_temperature(self) -> int:
241242

242243
return int(color_temp)
243244

244-
def _get_brightness(self) -> int:
245+
def _get_brightness(self) -> int | None:
245246
"""Get brightness from matter."""
246247

247248
level_control = self._endpoint.get_cluster(clusters.LevelControl)
@@ -255,6 +256,10 @@ def _get_brightness(self) -> int:
255256
self.entity_id,
256257
)
257258

259+
if level_control.currentLevel is NullValue:
260+
# currentLevel is a nullable value.
261+
return None
262+
258263
return round(
259264
renormalize(
260265
level_control.currentLevel,

homeassistant/components/rainbird/__init__.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -218,6 +218,9 @@ def _async_fix_device_id(
218218
for device_entry in device_entries:
219219
unique_id = str(next(iter(device_entry.identifiers))[1])
220220
device_entry_map[unique_id] = device_entry
221+
if unique_id.startswith(mac_address):
222+
# Already in the correct format
223+
continue
221224
if (suffix := unique_id.removeprefix(str(serial_number))) != unique_id:
222225
migrations[unique_id] = f"{mac_address}{suffix}"
223226

homeassistant/components/schlage/manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,5 @@
55
"config_flow": true,
66
"documentation": "https://www.home-assistant.io/integrations/schlage",
77
"iot_class": "cloud_polling",
8-
"requirements": ["pyschlage==2025.4.0"]
8+
"requirements": ["pyschlage==2025.7.2"]
99
}

homeassistant/components/suez_water/manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,5 @@
88
"iot_class": "cloud_polling",
99
"loggers": ["pysuez", "regex"],
1010
"quality_scale": "bronze",
11-
"requirements": ["pysuezV2==2.0.5"]
11+
"requirements": ["pysuezV2==2.0.7"]
1212
}

homeassistant/components/telegram_bot/webhooks.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ def __init__(
8282
self.base_url = config.data.get(CONF_URL) or get_url(
8383
hass, require_ssl=True, allow_internal=False
8484
)
85-
self.webhook_url = f"{self.base_url}{TELEGRAM_WEBHOOK_URL}"
85+
self.webhook_url = self.base_url + _get_webhook_url(bot)
8686

8787
async def shutdown(self) -> None:
8888
"""Shutdown the app."""
@@ -98,9 +98,11 @@ async def _try_to_set_webhook(self) -> bool:
9898
api_kwargs={"secret_token": self.secret_token},
9999
connect_timeout=5,
100100
)
101-
except TelegramError:
101+
except TelegramError as err:
102102
retry_num += 1
103-
_LOGGER.warning("Error trying to set webhook (retry #%d)", retry_num)
103+
_LOGGER.warning(
104+
"Error trying to set webhook (retry #%d)", retry_num, exc_info=err
105+
)
104106

105107
return False
106108

@@ -143,7 +145,6 @@ class PushBotView(HomeAssistantView):
143145
"""View for handling webhook calls from Telegram."""
144146

145147
requires_auth = False
146-
url = TELEGRAM_WEBHOOK_URL
147148
name = "telegram_webhooks"
148149

149150
def __init__(
@@ -160,6 +161,7 @@ def __init__(
160161
self.application = application
161162
self.trusted_networks = trusted_networks
162163
self.secret_token = secret_token
164+
self.url = _get_webhook_url(bot)
163165

164166
async def post(self, request: HomeAssistantRequest) -> Response | None:
165167
"""Accept the POST from telegram."""
@@ -183,3 +185,7 @@ async def post(self, request: HomeAssistantRequest) -> Response | None:
183185
await self.application.process_update(update)
184186

185187
return None
188+
189+
190+
def _get_webhook_url(bot: Bot) -> str:
191+
return f"{TELEGRAM_WEBHOOK_URL}_{bot.id}"

homeassistant/components/tesla_fleet/const.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,8 @@
1414

1515
LOGGER = logging.getLogger(__package__)
1616

17-
CLIENT_ID = "71b813eb-4a2e-483a-b831-4dec5cb9bf0d"
18-
AUTHORIZE_URL = "https://auth.tesla.com/oauth2/v3/authorize"
19-
TOKEN_URL = "https://auth.tesla.com/oauth2/v3/token"
17+
AUTHORIZE_URL = "https://fleet-auth.prd.vn.cloud.tesla.com/oauth2/v3/authorize"
18+
TOKEN_URL = "https://fleet-auth.prd.vn.cloud.tesla.com/oauth2/v3/token"
2019

2120
SCOPES = [
2221
Scope.OPENID,

0 commit comments

Comments
 (0)