mirror of
https://github.com/home-assistant/core.git
synced 2025-07-08 22:07:10 +00:00
Replace led-ble util with bluetooth-data-tools (#81093)
This commit is contained in:
parent
9b0b8ae9c0
commit
b7533aff48
@ -678,7 +678,6 @@ omit =
|
|||||||
homeassistant/components/lcn/services.py
|
homeassistant/components/lcn/services.py
|
||||||
homeassistant/components/led_ble/__init__.py
|
homeassistant/components/led_ble/__init__.py
|
||||||
homeassistant/components/led_ble/light.py
|
homeassistant/components/led_ble/light.py
|
||||||
homeassistant/components/led_ble/util.py
|
|
||||||
homeassistant/components/lg_netcast/media_player.py
|
homeassistant/components/lg_netcast/media_player.py
|
||||||
homeassistant/components/lg_soundbar/media_player.py
|
homeassistant/components/lg_soundbar/media_player.py
|
||||||
homeassistant/components/lidarr/__init__.py
|
homeassistant/components/lidarr/__init__.py
|
||||||
|
@ -10,6 +10,7 @@
|
|||||||
"bleak-retry-connector==2.8.3",
|
"bleak-retry-connector==2.8.3",
|
||||||
"bluetooth-adapters==0.7.0",
|
"bluetooth-adapters==0.7.0",
|
||||||
"bluetooth-auto-recovery==0.3.6",
|
"bluetooth-auto-recovery==0.3.6",
|
||||||
|
"bluetooth-data-tools==0.2.0",
|
||||||
"dbus-fast==1.72.0"
|
"dbus-fast==1.72.0"
|
||||||
],
|
],
|
||||||
"codeowners": ["@bdraco"],
|
"codeowners": ["@bdraco"],
|
||||||
|
@ -4,6 +4,7 @@ from __future__ import annotations
|
|||||||
import logging
|
import logging
|
||||||
from typing import Any
|
from typing import Any
|
||||||
|
|
||||||
|
from bluetooth_data_tools import human_readable_name
|
||||||
from led_ble import BLEAK_EXCEPTIONS, LEDBLE
|
from led_ble import BLEAK_EXCEPTIONS, LEDBLE
|
||||||
import voluptuous as vol
|
import voluptuous as vol
|
||||||
|
|
||||||
@ -16,7 +17,6 @@ from homeassistant.const import CONF_ADDRESS
|
|||||||
from homeassistant.data_entry_flow import FlowResult
|
from homeassistant.data_entry_flow import FlowResult
|
||||||
|
|
||||||
from .const import DOMAIN, LOCAL_NAMES, UNSUPPORTED_SUB_MODEL
|
from .const import DOMAIN, LOCAL_NAMES, UNSUPPORTED_SUB_MODEL
|
||||||
from .util import human_readable_name
|
|
||||||
|
|
||||||
_LOGGER = logging.getLogger(__name__)
|
_LOGGER = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
"name": "LED BLE",
|
"name": "LED BLE",
|
||||||
"config_flow": true,
|
"config_flow": true,
|
||||||
"documentation": "https://www.home-assistant.io/integrations/led_ble/",
|
"documentation": "https://www.home-assistant.io/integrations/led_ble/",
|
||||||
"requirements": ["led-ble==1.0.0"],
|
"requirements": ["bluetooth-data-tools==0.2.0", "led-ble==1.0.0"],
|
||||||
"dependencies": ["bluetooth"],
|
"dependencies": ["bluetooth"],
|
||||||
"codeowners": ["@bdraco"],
|
"codeowners": ["@bdraco"],
|
||||||
"bluetooth": [
|
"bluetooth": [
|
||||||
|
@ -1,51 +0,0 @@
|
|||||||
"""The yalexs_ble integration models."""
|
|
||||||
from __future__ import annotations
|
|
||||||
|
|
||||||
from homeassistant.components.bluetooth import (
|
|
||||||
BluetoothScanningMode,
|
|
||||||
BluetoothServiceInfoBleak,
|
|
||||||
async_discovered_service_info,
|
|
||||||
async_process_advertisements,
|
|
||||||
)
|
|
||||||
from homeassistant.components.bluetooth.match import ADDRESS, BluetoothCallbackMatcher
|
|
||||||
from homeassistant.core import HomeAssistant, callback
|
|
||||||
|
|
||||||
from .const import DEVICE_TIMEOUT
|
|
||||||
|
|
||||||
|
|
||||||
@callback
|
|
||||||
def async_find_existing_service_info(
|
|
||||||
hass: HomeAssistant, local_name: str, address: str
|
|
||||||
) -> BluetoothServiceInfoBleak | None:
|
|
||||||
"""Return the service info for the given local_name and address."""
|
|
||||||
for service_info in async_discovered_service_info(hass):
|
|
||||||
device = service_info.device
|
|
||||||
if device.address == address:
|
|
||||||
return service_info
|
|
||||||
return None
|
|
||||||
|
|
||||||
|
|
||||||
async def async_get_service_info(
|
|
||||||
hass: HomeAssistant, local_name: str, address: str
|
|
||||||
) -> BluetoothServiceInfoBleak:
|
|
||||||
"""Wait for the service info for the given local_name and address."""
|
|
||||||
if service_info := async_find_existing_service_info(hass, local_name, address):
|
|
||||||
return service_info
|
|
||||||
return await async_process_advertisements(
|
|
||||||
hass,
|
|
||||||
lambda service_info: True,
|
|
||||||
BluetoothCallbackMatcher({ADDRESS: address}),
|
|
||||||
BluetoothScanningMode.ACTIVE,
|
|
||||||
DEVICE_TIMEOUT,
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def short_address(address: str) -> str:
|
|
||||||
"""Convert a Bluetooth address to a short address."""
|
|
||||||
split_address = address.replace("-", ":").split(":")
|
|
||||||
return f"{split_address[-2].upper()}{split_address[-1].upper()}"[-4:]
|
|
||||||
|
|
||||||
|
|
||||||
def human_readable_name(name: str | None, local_name: str, address: str) -> str:
|
|
||||||
"""Return a human readable name for the given name, local_name, and address."""
|
|
||||||
return f"{name or local_name} ({short_address(address)})"
|
|
@ -14,6 +14,7 @@ bleak-retry-connector==2.8.3
|
|||||||
bleak==0.19.2
|
bleak==0.19.2
|
||||||
bluetooth-adapters==0.7.0
|
bluetooth-adapters==0.7.0
|
||||||
bluetooth-auto-recovery==0.3.6
|
bluetooth-auto-recovery==0.3.6
|
||||||
|
bluetooth-data-tools==0.2.0
|
||||||
certifi>=2021.5.30
|
certifi>=2021.5.30
|
||||||
ciso8601==2.2.0
|
ciso8601==2.2.0
|
||||||
cryptography==38.0.3
|
cryptography==38.0.3
|
||||||
|
@ -452,6 +452,10 @@ bluetooth-adapters==0.7.0
|
|||||||
# homeassistant.components.bluetooth
|
# homeassistant.components.bluetooth
|
||||||
bluetooth-auto-recovery==0.3.6
|
bluetooth-auto-recovery==0.3.6
|
||||||
|
|
||||||
|
# homeassistant.components.bluetooth
|
||||||
|
# homeassistant.components.led_ble
|
||||||
|
bluetooth-data-tools==0.2.0
|
||||||
|
|
||||||
# homeassistant.components.bond
|
# homeassistant.components.bond
|
||||||
bond-async==0.1.22
|
bond-async==0.1.22
|
||||||
|
|
||||||
|
@ -366,6 +366,10 @@ bluetooth-adapters==0.7.0
|
|||||||
# homeassistant.components.bluetooth
|
# homeassistant.components.bluetooth
|
||||||
bluetooth-auto-recovery==0.3.6
|
bluetooth-auto-recovery==0.3.6
|
||||||
|
|
||||||
|
# homeassistant.components.bluetooth
|
||||||
|
# homeassistant.components.led_ble
|
||||||
|
bluetooth-data-tools==0.2.0
|
||||||
|
|
||||||
# homeassistant.components.bond
|
# homeassistant.components.bond
|
||||||
bond-async==0.1.22
|
bond-async==0.1.22
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user