Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Glances add gpus #99186

Closed
wants to merge 125 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
125 commits
Select commit Hold shift + click to select a range
f325122
Raise PlatformNotReady on initial OwnTone connection failure (#97257)
uvjustin Aug 4, 2023
77eec53
Add overkiz battery sensor level medium (#97472)
matthieume Aug 4, 2023
21f878b
Fix ZHA `turn_on` issues with `transition=0`, improve tests (#97539)
TheJulianJES Aug 3, 2023
b667138
Bump pyDuotecno to 2023.8.1 (#97583)
cereal2nd Aug 2, 2023
20bddec
Bump Cryptography to 41.0.3 for a second security fix (#97611)
blastoise186 Aug 3, 2023
c5747df
Waqi State unknown if value is string (#97617)
joostlek Aug 4, 2023
72533ad
Bump dbus-fast to 1.90.1 (#97619)
bdraco Aug 3, 2023
62421d9
Bump python-roborock to 0.31.1 (#97632)
Lash-L Aug 3, 2023
455ac08
Bump intents to 2023.8.2 (#97636)
synesthesiam Aug 3, 2023
d131b8c
Add device naming to Yeelight (#97639)
joostlek Aug 2, 2023
5da94f4
Fix typo in tplink OUI (#97644)
bdraco Aug 3, 2023
a36e746
Revert "Add device naming to Yeelight" (#97647)
joostlek Aug 3, 2023
2f5f15b
Enable the `PRESET_MODE` `FanEntityFeature` for VeSync air purifiers …
DuckyCrayfish Aug 3, 2023
6a8484b
Fix tplink child plug state reporting (#97658)
bdraco Aug 3, 2023
7972904
Fix date and timestamp device class in Command Line Sensor (#97663)
gjohansson-ST Aug 3, 2023
1945275
Bump zeroconf to 0.72.3 (#97668)
bdraco Aug 3, 2023
0a24299
Bump pyatv to 0.13.3 (#97670)
bdraco Aug 3, 2023
12d3bce
Fix color mode attribute for both official and non official Hue light…
marcelveldt Aug 3, 2023
694d28a
Fix UniFi image platform not loading when passphrase is missing from …
Kane610 Aug 3, 2023
7a244e3
Fix Kostal_Plenticore SELECT entities using device_info correctly (#9…
N3rdix Aug 4, 2023
0617363
Fix freebox enumerate raid disks (#97696)
cyr-ius Aug 4, 2023
f066b46
Fix allow_name_translation logic (#97701)
amitfin Aug 4, 2023
6a9318b
Fix NWS twice_daily forecast day/night detection (#97703)
karwosts Aug 3, 2023
16e1212
Bump opower to 0.0.19 (#97706)
tronikos Aug 3, 2023
047a210
Fix detection of client wan-access rule in AVM Fritz!Box Tools (#97708)
mib1185 Aug 3, 2023
2b876fa
Fix unloading KNX integration without sensors (#97720)
farmio Aug 3, 2023
5283afc
Update zigpy to 0.56.3 (#97480)
cdce8p Jul 30, 2023
79486f1
Bump zigpy to 0.56.4 (#97722)
TheJulianJES Aug 3, 2023
53ee178
Fix keymitt_ble RuntimeWarning (#97729)
cdce8p Aug 4, 2023
9bec7ea
Bump zeroconf to 0.74.0 (#97745)
bdraco Aug 4, 2023
cdabf76
Avoid calling the http access logging when logging is disabled in emu…
bdraco Aug 4, 2023
39fc557
Bump opower to 0.0.20 (#97752)
tronikos Aug 4, 2023
9479a59
Bump pyduotecno to 2023.8.3 (#97759)
cereal2nd Aug 4, 2023
d71f16c
Add has entity name to Solarlog (#97764)
joostlek Aug 4, 2023
3b48c8a
Fix WAQI being zero (#97767)
joostlek Aug 4, 2023
b00fc96
Bumped version to 2023.8.1
frenck Aug 4, 2023
489860a
2023.8.1 (#97772)
frenck Aug 4, 2023
a397782
Handle Alert exception on notification failure (#93632)
karwosts Aug 4, 2023
2e98c3f
Add yeelight class to fix superclass issue (#97649)
joostlek Aug 5, 2023
f7dbe88
Fix metoffice visibility range sensor device class (#97763)
MrHarcombe Aug 4, 2023
01fad9b
Don't assume that `battery_level` value is always present in Tractive…
bieniu Aug 5, 2023
cdc1de0
Improve counting of UniFi WLAN Clients sensor (#97785)
Kane610 Aug 4, 2023
136b91b
Integration tado bump (#97791)
erwindouna Aug 7, 2023
19d6c0c
Ensure webhooks take HA cloud into account (#97801)
frenck Aug 7, 2023
922f3f2
Bump aiohomekit to 2.6.13 (#97820)
bdraco Aug 5, 2023
70730e4
Fix Samsung syncthru device info (#97843)
joostlek Aug 5, 2023
871ab7a
Fallback to get_hosts_info on older Fritz!OS in AVM Fritz!Tools (#97844)
mib1185 Aug 8, 2023
9b090d8
Fix Command Line template error when data is None (#97845)
gjohansson-ST Aug 5, 2023
60da270
Bump Omada API version to fix #96193 (#97848)
MarkGodwin Aug 5, 2023
379e144
Bump pysensibo to 1.0.33 (#97853)
gjohansson-ST Aug 5, 2023
5aa96aa
Add missing translation key to Gardena Bluetooth (#97855)
joostlek Aug 5, 2023
2b3bf36
Bump bimmer_connected to 0.13.9, fix notify (#97860)
rikroe Aug 5, 2023
80a4736
Do not fire homekit_controller events from IP polling (#97869)
bdraco Aug 5, 2023
a8c181b
Avoid polling event characteristic in homekit_controller (#97877)
bdraco Aug 6, 2023
c417b1e
Fix handling HomeKit events when the char is in error state (#97884)
bdraco Aug 6, 2023
79bb857
Bump python-roborock to 0.32.2 (#97907)
Lash-L Aug 6, 2023
a276fd4
modbus: Adjust read count by slave_count (#97908)
janiversen Aug 8, 2023
c9f474a
Bump pyatv to 0.13.4 (#97932)
bdraco Aug 6, 2023
4b09e3b
Bump yeelight to v0.7.13 (#97933)
alexyao2015 Aug 6, 2023
504d164
Android TV Remote: Fix missing key and cert when adding a device via …
tronikos Aug 7, 2023
a222707
Fix tomorrowio integration for new users (#97973)
lymanepp Aug 7, 2023
955c1ec
Bump ZHA dependency bellows to 0.35.9 (#97976)
puddly Aug 7, 2023
21f0210
Bump `pyairvisual` to 2023.08.1 (#97999)
bachya Aug 7, 2023
dbbe145
Bump aiohomekit to 2.6.15 (#98005)
bdraco Aug 8, 2023
4e6c839
Add translation keys to Tuya cover (#98040)
joostlek Aug 8, 2023
73f0ac0
Remove trailing . from melcloud service descriptions (#98053)
reedy Aug 8, 2023
61cafb2
Bump AIOAladdinConnect to 0.1.57 (#98056)
mkmer Aug 8, 2023
8bdac8f
Bump pynina to 0.3.2 (#98070)
DeerMaximum Aug 10, 2023
a2637ac
Bump opower to 0.0.24 (#98091)
tronikos Aug 9, 2023
84d185a
Improve UniFi control PoE mode (#98119)
Kane610 Aug 11, 2023
d488bb3
Add missing translation key in Tuya (#98122)
joostlek Aug 10, 2023
b584eb7
Correct unit of rain pause (#98131)
elupus Aug 10, 2023
32d4c26
Make gardena closing sensor unavailable when closed (#98133)
elupus Aug 11, 2023
a2dec23
Bump opower to 0.0.26 (#98141)
tronikos Aug 10, 2023
1ffbc81
Opower: Add gas sensors for utilities that report CCF (#98142)
tronikos Aug 10, 2023
773ec3a
Get Opower accounts from the customer endpoint (#98144)
tronikos Aug 10, 2023
819cea0
Update aioairzone to v0.6.5 (#98163)
Noltari Aug 10, 2023
63b2fa6
Use explicit device name in Broadlink (#98229)
joostlek Aug 11, 2023
0ce0050
Bump pynws 1.5.1; fix regression for precipitation probability (#98237)
MatthewFlamm Aug 11, 2023
c72a184
Bumped version to 2023.8.2
frenck Aug 11, 2023
f641c0b
Bump pymazda to 0.3.11 (#98084)
bdr99 Aug 9, 2023
73898da
2023.8.2 (#98255)
frenck Aug 11, 2023
350e5ee
Fix ness alarm armed_home state appearing as disarmed/armed_away (#94…
nickw444 Aug 16, 2023
cf839d0
Correct modbus config validator: slave/swap (#97798)
janiversen Aug 18, 2023
2a0c121
Fix Opower utilities that have different ReadResolution than previous…
tronikos Aug 11, 2023
0daa972
modbus config: count and slave_count can normally not be mixed. (#97902)
janiversen Aug 18, 2023
d842b25
Create abstraction for Generic YeeLight (#97939)
joostlek Aug 16, 2023
0070a5e
modbus: Repair swap for slaves (#97960)
janiversen Aug 18, 2023
3da1a61
Use Local Timezone for Withings Integration (#98137)
VidFerris Aug 16, 2023
16d2c80
Bump pyrainbird to 4.0.0 (#98271)
allenporter Aug 12, 2023
07bb0fc
Bump Python-Roborock to 0.32.3 (#98303)
Lash-L Aug 12, 2023
9f69ab1
Bump flux-led to 1.0.2 (#98312)
bdraco Aug 13, 2023
69c61a2
Use default translations by removing names from tplink descriptions (…
joostlek Aug 14, 2023
a962d2b
Fix tts notify config validation (#98381)
MartinHjelmare Aug 14, 2023
b76a4e0
Fix GoGoGate2 configuration URL when remote access is disabled (#98387)
oyvindwe Aug 17, 2023
a66e308
Handle missing keys in Honeywell (#98392)
mkmer Aug 16, 2023
9bbf855
Bump Reolink_aio to 0.7.7 (#98425)
starkillerOG Aug 15, 2023
d44d84b
Update rokuecp to 0.18.1 (#98432)
ctalkington Aug 15, 2023
c55b96e
Update pyipp to 0.14.3 (#98434)
ctalkington Aug 15, 2023
06d3698
Fix inconsistent lyric temperature unit (#98457)
lscorcia Aug 18, 2023
a835d07
Bump aiohomekit to 2.6.16 (#98490)
bdraco Aug 16, 2023
c81c014
Bump opower to 0.0.29 (#98503)
tronikos Aug 16, 2023
aaefc29
Revert "Integration tado bump" (#98505)
erwindouna Aug 17, 2023
1c7e300
Fix the availability condition for Shelly N current sensor (#98518)
bieniu Aug 18, 2023
88352b6
Correct number of registers to read for sensors for modbus (#98534)
janiversen Aug 18, 2023
8dcb04e
Pin setuptools to 68.0.0 (#98582)
frenck Aug 17, 2023
1c06953
Bump ESPHome recommended BLE version to 2023.8.0 (#98586)
bdraco Aug 17, 2023
7c5b1c8
Verisure unpack (#98605)
niro1987 Aug 18, 2023
9291fab
Update frontend to 20230802.1 (#98616)
bramkragten Aug 18, 2023
ce0f957
Bumped version to 2023.8.3
frenck Aug 18, 2023
bdd202b
2023.8.3 (#98623)
frenck Aug 18, 2023
bd0fe63
Fix octoprint down every two minutes (#90001)
markusressel Aug 21, 2023
e1eb1cf
modbus: slave is allowed with custom (#98644)
janiversen Aug 18, 2023
cdb0883
Bump opowerto 0.0.30 (#98660)
tronikos Aug 19, 2023
ebdf48e
Correct modbus swap/datatype error message (#98698)
janiversen Aug 21, 2023
dc6e752
Bump opower to 0.0.31 (#98716)
tronikos Aug 20, 2023
ce8eebe
Reduce Freebox router Raid warning to one occurence (#98740)
fthiery Aug 21, 2023
e208e7d
Remove repair issue for MQTT discovered items (#98768)
frenck Aug 21, 2023
119bc7d
Bump androidtvremote2 to 0.0.14 (#98801)
tronikos Aug 22, 2023
63a687c
Bump pylitterbot to 2023.4.4 (#98414)
natekspencer Aug 15, 2023
c8b5191
Bump pylitterbot to 2023.4.5 (#98854)
natekspencer Aug 23, 2023
e1b0051
Bump reolink-aio to 0.7.8 (#98942)
starkillerOG Aug 24, 2023
9bc4866
Bumped version to 2023.8.4
frenck Aug 24, 2023
7548c4a
2023.8.4 (#98955)
frenck Aug 24, 2023
869c237
Added GPU sensors to Glances component. requires python-glances-api u…
neuralyze Aug 28, 2023
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/airvisual/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,5 @@
"integration_type": "service",
"iot_class": "cloud_polling",
"loggers": ["pyairvisual", "pysmb"],
"requirements": ["pyairvisual==2022.12.1"]
"requirements": ["pyairvisual==2023.08.1"]
}
2 changes: 1 addition & 1 deletion homeassistant/components/airvisual_pro/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",
"loggers": ["pyairvisual", "pysmb"],
"requirements": ["pyairvisual==2022.12.1"]
"requirements": ["pyairvisual==2023.08.1"]
}
2 changes: 1 addition & 1 deletion homeassistant/components/airzone/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,5 @@
"documentation": "https://www.home-assistant.io/integrations/airzone",
"iot_class": "local_polling",
"loggers": ["aioairzone"],
"requirements": ["aioairzone==0.6.4"]
"requirements": ["aioairzone==0.6.5"]
}
2 changes: 1 addition & 1 deletion homeassistant/components/aladdin_connect/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/aladdin_connect",
"iot_class": "cloud_polling",
"loggers": ["aladdin_connect"],
"requirements": ["AIOAladdinConnect==0.1.56"]
"requirements": ["AIOAladdinConnect==0.1.57"]
}
13 changes: 10 additions & 3 deletions homeassistant/components/alert/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
STATE_ON,
)
from homeassistant.core import HassJob, HomeAssistant
from homeassistant.exceptions import ServiceNotFound
import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.entity import Entity
from homeassistant.helpers.entity_component import EntityComponent
Expand Down Expand Up @@ -293,9 +294,15 @@ async def _send_notification_message(self, message: Any) -> None:
LOGGER.debug(msg_payload)

for target in self._notifiers:
await self.hass.services.async_call(
DOMAIN_NOTIFY, target, msg_payload, context=self._context
)
try:
await self.hass.services.async_call(
DOMAIN_NOTIFY, target, msg_payload, context=self._context
)
except ServiceNotFound:
LOGGER.error(
"Failed to call notify.%s, retrying at next notification interval",
target,
)

async def async_turn_on(self, **kwargs: Any) -> None:
"""Async Unacknowledge alert."""
Expand Down
1 change: 1 addition & 0 deletions homeassistant/components/androidtv_remote/config_flow.py
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ async def async_step_user(
assert self.host
api = create_api(self.hass, self.host, enable_ime=False)
try:
await api.async_generate_cert_if_missing()
self.name, self.mac = await api.async_get_name_and_mac()
assert self.mac
await self.async_set_unique_id(format_mac(self.mac))
Expand Down
2 changes: 1 addition & 1 deletion homeassistant/components/androidtv_remote/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,6 @@
"iot_class": "local_push",
"loggers": ["androidtvremote2"],
"quality_scale": "platinum",
"requirements": ["androidtvremote2==0.0.13"],
"requirements": ["androidtvremote2==0.0.14"],
"zeroconf": ["_androidtvremote2._tcp.local."]
}
2 changes: 1 addition & 1 deletion homeassistant/components/apple_tv/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"documentation": "https://www.home-assistant.io/integrations/apple_tv",
"iot_class": "local_push",
"loggers": ["pyatv", "srptools"],
"requirements": ["pyatv==0.13.2"],
"requirements": ["pyatv==0.13.4"],
"zeroconf": [
"_mediaremotetv._tcp.local.",
"_companion-link._tcp.local.",
Expand Down
2 changes: 1 addition & 1 deletion homeassistant/components/bluetooth/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,6 @@
"bluetooth-adapters==0.16.0",
"bluetooth-auto-recovery==1.2.1",
"bluetooth-data-tools==1.6.1",
"dbus-fast==1.87.5"
"dbus-fast==1.90.1"
]
}
2 changes: 1 addition & 1 deletion homeassistant/components/bmw_connected_drive/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/bmw_connected_drive",
"iot_class": "cloud_polling",
"loggers": ["bimmer_connected"],
"requirements": ["bimmer-connected==0.13.8"]
"requirements": ["bimmer-connected==0.13.9"]
}
1 change: 1 addition & 0 deletions homeassistant/components/broadlink/light.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ class BroadlinkLight(BroadlinkEntity, LightEntity):
"""Representation of a Broadlink light."""

_attr_has_entity_name = True
_attr_name = None

def __init__(self, device):
"""Initialize the light."""
Expand Down
26 changes: 19 additions & 7 deletions homeassistant/components/command_line/sensor.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,11 @@
DOMAIN as SENSOR_DOMAIN,
PLATFORM_SCHEMA,
STATE_CLASSES_SCHEMA,
SensorDeviceClass,
SensorEntity,
SensorStateClass,
)
from homeassistant.components.sensor.helpers import async_parse_date_datetime
from homeassistant.const import (
CONF_COMMAND,
CONF_DEVICE_CLASS,
Expand Down Expand Up @@ -205,15 +207,25 @@ async def _async_update(self) -> None:
self._process_manual_data(value)
return

if self._value_template is not None:
self._attr_native_value = (
self._value_template.async_render_with_possible_json_value(
value,
None,
)
self._attr_native_value = None
if self._value_template is not None and value is not None:
value = self._value_template.async_render_with_possible_json_value(
value,
None,
)
else:

if self.device_class not in {
SensorDeviceClass.DATE,
SensorDeviceClass.TIMESTAMP,
}:
self._attr_native_value = value
self._process_manual_data(value)
return

if value is not None:
self._attr_native_value = async_parse_date_datetime(
value, self.entity_id, self.device_class
)
self._process_manual_data(value)
self.async_write_ha_state()

Expand Down
2 changes: 1 addition & 1 deletion homeassistant/components/conversation/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,5 @@
"integration_type": "system",
"iot_class": "local_push",
"quality_scale": "internal",
"requirements": ["hassil==1.2.5", "home-assistant-intents==2023.7.25"]
"requirements": ["hassil==1.2.5", "home-assistant-intents==2023.8.2"]
}
2 changes: 1 addition & 1 deletion homeassistant/components/duotecno/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,5 @@
"config_flow": true,
"documentation": "https://www.home-assistant.io/integrations/duotecno",
"iot_class": "local_push",
"requirements": ["pyduotecno==2023.8.0"]
"requirements": ["pyduotecno==2023.8.3"]
}
3 changes: 2 additions & 1 deletion homeassistant/components/emulated_hue/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
from aiohttp import web
import voluptuous as vol

from homeassistant.components.http import HomeAssistantAccessLogger
from homeassistant.components.network import async_get_source_ip
from homeassistant.const import (
CONF_ENTITIES,
Expand Down Expand Up @@ -100,7 +101,7 @@ async def start_emulated_hue_bridge(
config.advertise_port or config.listen_port,
)

runner = web.AppRunner(app)
runner = web.AppRunner(app, access_log_class=HomeAssistantAccessLogger)
await runner.setup()

site = web.TCPSite(runner, config.host_ip_addr, config.listen_port)
Expand Down
2 changes: 1 addition & 1 deletion homeassistant/components/esphome/const.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
DEFAULT_NEW_CONFIG_ALLOW_ALLOW_SERVICE_CALLS = False


STABLE_BLE_VERSION_STR = "2023.6.0"
STABLE_BLE_VERSION_STR = "2023.8.0"
STABLE_BLE_VERSION = AwesomeVersion(STABLE_BLE_VERSION_STR)
PROJECT_URLS = {
"esphome.bluetooth-proxy": "https://esphome.github.io/bluetooth-proxies/",
Expand Down
2 changes: 1 addition & 1 deletion homeassistant/components/flux_led/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -54,5 +54,5 @@
"iot_class": "local_push",
"loggers": ["flux_led"],
"quality_scale": "platinum",
"requirements": ["flux-led==1.0.1"]
"requirements": ["flux-led==1.0.2"]
}
5 changes: 3 additions & 2 deletions homeassistant/components/forked_daapd/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,10 @@ async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
"""Remove forked-daapd component."""
status = await hass.config_entries.async_unload_platforms(entry, PLATFORMS)
if status and hass.data.get(DOMAIN) and hass.data[DOMAIN].get(entry.entry_id):
hass.data[DOMAIN][entry.entry_id][
if websocket_handler := hass.data[DOMAIN][entry.entry_id][
HASS_DATA_UPDATER_KEY
].websocket_handler.cancel()
].websocket_handler:
websocket_handler.cancel()
for remove_listener in hass.data[DOMAIN][entry.entry_id][
HASS_DATA_REMOVE_LISTENERS_KEY
]:
Expand Down
6 changes: 4 additions & 2 deletions homeassistant/components/forked_daapd/media_player.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
from homeassistant.config_entries import ConfigEntry
from homeassistant.const import CONF_HOST, CONF_PASSWORD, CONF_PORT
from homeassistant.core import HomeAssistant, callback
from homeassistant.exceptions import PlatformNotReady
from homeassistant.helpers.aiohttp_client import async_get_clientsession
from homeassistant.helpers.dispatcher import (
async_dispatcher_connect,
Expand Down Expand Up @@ -127,10 +128,10 @@ def async_add_zones(api, outputs):
forked_daapd_updater = ForkedDaapdUpdater(
hass, forked_daapd_api, config_entry.entry_id
)
await forked_daapd_updater.async_init()
hass.data[DOMAIN][config_entry.entry_id][
HASS_DATA_UPDATER_KEY
] = forked_daapd_updater
await forked_daapd_updater.async_init()


async def update_listener(hass: HomeAssistant, entry: ConfigEntry) -> None:
Expand Down Expand Up @@ -914,7 +915,8 @@ def __init__(self, hass, api, entry_id):

async def async_init(self):
"""Perform async portion of class initialization."""
server_config = await self._api.get_request("config")
if not (server_config := await self._api.get_request("config")):
raise PlatformNotReady
if websocket_port := server_config.get("websocket_port"):
self.websocket_handler = asyncio.create_task(
self._api.start_websocket_handler(
Expand Down
15 changes: 13 additions & 2 deletions homeassistant/components/freebox/router.py
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@ def __init__(

self.devices: dict[str, dict[str, Any]] = {}
self.disks: dict[int, dict[str, Any]] = {}
self.supports_raid = True
self.raids: dict[int, dict[str, Any]] = {}
self.sensors_temperature: dict[str, int] = {}
self.sensors_connection: dict[str, float] = {}
Expand Down Expand Up @@ -160,8 +161,18 @@ async def _update_disks_sensors(self) -> None:

async def _update_raids_sensors(self) -> None:
"""Update Freebox raids."""
# None at first request
fbx_raids: list[dict[str, Any]] = await self._api.storage.get_raids() or []
if not self.supports_raid:
return

try:
fbx_raids: list[dict[str, Any]] = await self._api.storage.get_raids() or []
except HttpRequestError:
self.supports_raid = False
_LOGGER.info(
"Router %s API does not support RAID",
self.name,
)
return

for fbx_raid in fbx_raids:
self.raids[fbx_raid["id"]] = fbx_raid
Expand Down
Loading