From fe98151180c63c9761eee6f8957bab491940f7d4 Mon Sep 17 00:00:00 2001 From: Lennard Beers Date: Thu, 25 Jan 2024 18:13:59 +0100 Subject: [PATCH] fix: do not use bluetooth proxies when local adapter is selected --- custom_components/eq3btsmart/__init__.py | 20 +- poetry.lock | 433 ++++++++++++++++++++++- pyproject.toml | 4 + 3 files changed, 450 insertions(+), 7 deletions(-) diff --git a/custom_components/eq3btsmart/__init__.py b/custom_components/eq3btsmart/__init__.py index ade23aa..8281321 100644 --- a/custom_components/eq3btsmart/__init__.py +++ b/custom_components/eq3btsmart/__init__.py @@ -4,6 +4,7 @@ from typing import Any from bleak.backends.device import BLEDevice +from bleak_esphome.backend.scanner import ESPHomeScanner from eq3btsmart import Thermostat from eq3btsmart.thermostat_config import ThermostatConfig from homeassistant.components import bluetooth @@ -135,27 +136,34 @@ async def async_get_device(hass: HomeAssistant, config: Eq3Config) -> BLEDevice: if device is None: raise Exception("Device not found") else: - device_advertisement_datas = sorted( + scanner_devices = sorted( bluetooth.async_scanner_devices_by_address( hass=hass, address=config.mac_address, connectable=True ), key=lambda device_advertisement_data: device_advertisement_data.advertisement.rssi, reverse=True, ) + + scanner_devices = [ + scanner_device + for scanner_device in scanner_devices + if not (isinstance(scanner_device.scanner, ESPHomeScanner)) + ] + if config.adapter == Adapter.LOCAL: - if len(device_advertisement_datas) == 0: + if len(scanner_devices) == 0: raise Exception("Device not found") - d_and_a = device_advertisement_datas[0] + scanner_device = scanner_devices[0] else: # adapter is e.g /org/bluez/hci0 list = [ x - for x in device_advertisement_datas + for x in scanner_devices if (d := x.ble_device.details) and d.get("props", {}).get("Adapter") == config.adapter ] if len(list) == 0: raise Exception("Device not found") - d_and_a = list[0] - device = d_and_a.ble_device + scanner_device = list[0] + device = scanner_device.ble_device return device diff --git a/poetry.lock b/poetry.lock index a8ab0f5..4fe127c 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,5 +1,50 @@ # This file is automatically @generated by Poetry 1.7.1 and should not be changed by hand. +[[package]] +name = "aioesphomeapi" +version = "21.0.1" +description = "Python API for interacting with ESPHome devices." +optional = false +python-versions = ">=3.9" +files = [ + {file = "aioesphomeapi-21.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9111c496fefee295938d2184018d39f4c3d9dd072b3e373be2e4628e109e3cf5"}, + {file = "aioesphomeapi-21.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e3aba2bfefad57ada4f461e15d5ae11bc4944e49c697b6d9594eda0673f21f6f"}, + {file = "aioesphomeapi-21.0.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e47db391e36c4c7fb80265cf7b3245a826641418fe868e4f9bb65f9b897823ef"}, + {file = "aioesphomeapi-21.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:491e0b30eabf8e4edea109fda0f423c2ec60142ce52bc40c1a741014728835b1"}, + {file = "aioesphomeapi-21.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:df0a376a8e867752eae6262bfc59babfb15deff3e4b61ca812aa0bba3a870792"}, + {file = "aioesphomeapi-21.0.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:76acc877275db547483b8cf087eda1f15aaeda3e78a0174141b75d093f3b1a33"}, + {file = "aioesphomeapi-21.0.1.tar.gz", hash = "sha256:f292c759dc1f3258905fe31284d39bcb926045677f41a1a1b3bf95ca438621c7"}, +] + +[package.dependencies] +aiohappyeyeballs = ">=2.3.0" +chacha20poly1305-reuseable = ">=0.12.0" +noiseprotocol = ">=0.3.1,<1.0" +protobuf = ">=3.19.0" +zeroconf = ">=0.128.4,<1.0" + +[[package]] +name = "aiofiles" +version = "23.2.1" +description = "File support for asyncio." +optional = false +python-versions = ">=3.7" +files = [ + {file = "aiofiles-23.2.1-py3-none-any.whl", hash = "sha256:19297512c647d4b27a2cf7c34caa7e405c0d60b5560618a29a9fe027b18b0107"}, + {file = "aiofiles-23.2.1.tar.gz", hash = "sha256:84ec2218d8419404abcb9f0c02df3f34c6e0a68ed41072acfb1cef5cbc29051a"}, +] + +[[package]] +name = "aiohappyeyeballs" +version = "2.3.2" +description = "Happy Eyeballs" +optional = false +python-versions = ">=3.8,<4.0" +files = [ + {file = "aiohappyeyeballs-2.3.2-py3-none-any.whl", hash = "sha256:903282fb08c8cfb3de356fd546b263248a477c99cb147e20a115e14ab942a4ae"}, + {file = "aiohappyeyeballs-2.3.2.tar.gz", hash = "sha256:77e15a733090547a1f5369a1287ddfc944bd30df0eb8993f585259c34b405f4e"}, +] + [[package]] name = "aiohttp" version = "3.9.1" @@ -286,6 +331,40 @@ typing-extensions = {version = ">=4.7.0", markers = "python_version < \"3.12\""} "winrt-Windows.Foundation.Collections" = {version = "2.0.0b1", markers = "platform_system == \"Windows\" and python_version >= \"3.12\""} "winrt-Windows.Storage.Streams" = {version = "2.0.0b1", markers = "platform_system == \"Windows\" and python_version >= \"3.12\""} +[[package]] +name = "bleak-esphome" +version = "0.4.1" +description = "Bleak backend of ESPHome" +optional = false +python-versions = ">=3.10,<3.13" +files = [ + {file = "bleak_esphome-0.4.1-py3-none-any.whl", hash = "sha256:97015bdc2f372acfcccf38c4bc5bd77dd8be527839bfd298bce8e6f49cc15f92"}, + {file = "bleak_esphome-0.4.1.tar.gz", hash = "sha256:45214eb25770ad738eeaf73367ea9fe51a64ba9ff2e3dbec5a38131a83dca87c"}, +] + +[package.dependencies] +aioesphomeapi = ">=21.0.0" +bleak = ">=0.21.1" +bluetooth-data-tools = ">=1.18.0" +habluetooth = ">=1.0.0" +lru-dict = ">=1.2.0" + +[[package]] +name = "bleak-retry-connector" +version = "3.4.0" +description = "A connector for Bleak Clients that handles transient connection failures" +optional = false +python-versions = ">=3.10,<3.13" +files = [ + {file = "bleak_retry_connector-3.4.0-py3-none-any.whl", hash = "sha256:5f6c26efa03d3ae94c55045b99079fc27f1a9480cf4c8f6d6f027a36bf15cf66"}, + {file = "bleak_retry_connector-3.4.0.tar.gz", hash = "sha256:71f30928180b74f0381e0752f681d18d8de888faa9c81c78cd17123718909ea0"}, +] + +[package.dependencies] +bleak = ">=0.21.0" +bluetooth-adapters = {version = ">=0.15.2", markers = "platform_system == \"Linux\""} +dbus-fast = {version = ">=1.14.0", markers = "platform_system == \"Linux\""} + [[package]] name = "bleak-winrt" version = "1.2.0" @@ -306,6 +385,106 @@ files = [ {file = "bleak_winrt-1.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:63130c11acfe75c504a79c01f9919e87f009f5e742bfc7b7a5c2a9c72bf591a7"}, ] +[[package]] +name = "bluetooth-adapters" +version = "0.17.0" +description = "Tools to enumerate and find Bluetooth Adapters" +optional = false +python-versions = ">=3.9,<3.13" +files = [ + {file = "bluetooth_adapters-0.17.0-py3-none-any.whl", hash = "sha256:24a8d485e77289f037494fe52877b5c20051feb4747f0173b768a66d8e2b13c4"}, + {file = "bluetooth_adapters-0.17.0.tar.gz", hash = "sha256:6a82ec713a4a5eccb870d7e9ff98e4002bbae885e1ab0f98f5056fc68db22325"}, +] + +[package.dependencies] +aiohttp = ">=3.8.1" +bleak = ">=0.21.1" +dbus-fast = ">=1.21.0" +mac-vendor-lookup = ">=0.1.12" +usb-devices = ">=0.4.5" + +[package.extras] +docs = ["Sphinx (>=5,<8)", "myst-parser (>=0.18,<2.1)", "sphinx-rtd-theme (>=1,<3)"] + +[[package]] +name = "bluetooth-auto-recovery" +version = "1.3.0" +description = "Recover bluetooth adapters that are in an stuck state" +optional = false +python-versions = ">=3.9,<4.0" +files = [ + {file = "bluetooth_auto_recovery-1.3.0-py3-none-any.whl", hash = "sha256:f804c59f1302830f9343f96bf0d150e6e51983e951ecd7ffe6f28d2286932717"}, + {file = "bluetooth_auto_recovery-1.3.0.tar.gz", hash = "sha256:36ebf08e7cf44e35c15175323aed91e1bf2418792a4c3f76165d16d0f437614b"}, +] + +[package.dependencies] +bluetooth-adapters = ">=0.16.0" +btsocket = ">=0.2.0" +PyRIC = ">=0.1.6.3" +usb-devices = ">=0.4.1" + +[package.extras] +docs = ["Sphinx (>=5.0,<6.0)", "myst-parser (>=0.18,<0.19)", "sphinx-rtd-theme (>=1.0,<2.0)"] + +[[package]] +name = "bluetooth-data-tools" +version = "1.19.0" +description = "Tools for converting bluetooth data and packets" +optional = false +python-versions = ">=3.10,<4.0" +files = [ + {file = "bluetooth_data_tools-1.19.0-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:cc9130b92fe5a11ba91b4632cb5b5c5bdf9dfe8c4741f610ae277c971c226a11"}, + {file = "bluetooth_data_tools-1.19.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c0137966b6a1e3b95b50fa81b64c53d87ab41ab53d9aab69bad4113c7311afc"}, + {file = "bluetooth_data_tools-1.19.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c98115130a41122360b799aa7b3492ccea45bb5095ac16bb7b727111737ea5ce"}, + {file = "bluetooth_data_tools-1.19.0-cp310-cp310-manylinux_2_31_x86_64.whl", hash = "sha256:a3de1c93f210bcae0048fa0ebc96b097613eddcbea5b05824df8b8fc90d343f8"}, + {file = "bluetooth_data_tools-1.19.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:1b57bfbb878decfda85816b0744d6a18c82a353f6531ef5b5037a4088865c7de"}, + {file = "bluetooth_data_tools-1.19.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:252fa800bfc22de0cc19e491e99e155305a47788cff6c31d56450f6137c74f6b"}, + {file = "bluetooth_data_tools-1.19.0-cp310-cp310-win32.whl", hash = "sha256:541adf9b8a093c4333f7c4b99e2662ec7c38a9dde8b2561d5e280da06573707a"}, + {file = "bluetooth_data_tools-1.19.0-cp310-cp310-win_amd64.whl", hash = "sha256:74843706ad65dbc0c32cf4ce073e266353f48970ab0a6ae2edda1969fbb318d1"}, + {file = "bluetooth_data_tools-1.19.0-cp311-cp311-macosx_11_0_x86_64.whl", hash = "sha256:2e36ec53e6264faa9a75e8b704ce8f274ab0ba336ce3e5b7a279c254b2231bc2"}, + {file = "bluetooth_data_tools-1.19.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5ebd2783c1f487d2c991f4f2ed399ea452fdee605e4de4417f353a5bee494b82"}, + {file = "bluetooth_data_tools-1.19.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:238db5bf2f19872c1318fcc35a4efc48961065ff7c227a0d239b220de1576d80"}, + {file = "bluetooth_data_tools-1.19.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:bae1f9a2a1a89c5268c796d32c6a000d783ad9fc73fa9a271a287c6eaa1ecd97"}, + {file = "bluetooth_data_tools-1.19.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9763c3d3df14d16884775d61f034499afa4a32b8538cb6f2c71630ef6967295b"}, + {file = "bluetooth_data_tools-1.19.0-cp311-cp311-win32.whl", hash = "sha256:d23997cc3d849bfdf85ef42645b999054e4913a320ad10e77ca7557806008768"}, + {file = "bluetooth_data_tools-1.19.0-cp311-cp311-win_amd64.whl", hash = "sha256:4b73b3509497d642404c8efc2b42de3b34d06172a88dbeacc6f8ebc1de1e550f"}, + {file = "bluetooth_data_tools-1.19.0-cp312-cp312-macosx_11_0_x86_64.whl", hash = "sha256:8371aeb50cef225a17df9a013277b3363ca59a53097cec5cb1ec89dea8323c3c"}, + {file = "bluetooth_data_tools-1.19.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:586bdeca2e24a41ceddad7fa02a3ed7a9c865f13ee95e8231b6a56c0a07e3e87"}, + {file = "bluetooth_data_tools-1.19.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:56f6f822f2d69a620151f2a0bb9ad8502e5c59f84cff473befe545709bd952b5"}, + {file = "bluetooth_data_tools-1.19.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:8c6f4c95590c1524bf1cb3e543ee48760965b9eb5a2944b90e82f42200fce759"}, + {file = "bluetooth_data_tools-1.19.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:72188dd239728d6845d759671733d6b4cbf37face2adfd844fdcf431fce4103f"}, + {file = "bluetooth_data_tools-1.19.0-cp312-cp312-win32.whl", hash = "sha256:30acd97edc15d97eacae205b2c495371d7ae8cd878b3d72424286935ebd7d857"}, + {file = "bluetooth_data_tools-1.19.0-cp312-cp312-win_amd64.whl", hash = "sha256:ce08ad5d2ce7ea624388bf5263c2688c356fae45c583d7331439b489f4191f01"}, + {file = "bluetooth_data_tools-1.19.0-pp310-pypy310_pp73-macosx_11_0_x86_64.whl", hash = "sha256:8e81410105a4b753fb4afc6a881fa666c0dcba70fb38fe26835f4bf8baa71cd4"}, + {file = "bluetooth_data_tools-1.19.0-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c183ed080682cd4ab9f84205d648c46b9d65d41f4d9bbd65dc3a4787c07e633c"}, + {file = "bluetooth_data_tools-1.19.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4e6dde7df8f61f13bb2e6bff29a93a190f31a858d753c48986c66c9aa3bdd3c2"}, + {file = "bluetooth_data_tools-1.19.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:6e5d1546c3a2d400d78c70ededc49c4f7b418386b4b1f68611871ec3a39a8c85"}, + {file = "bluetooth_data_tools-1.19.0.tar.gz", hash = "sha256:5b58349126efbb38d61222267cf85bf1766f832cc5744a59e70a1a2653e477d9"}, +] + +[package.dependencies] +cryptography = ">=41.0.3" + +[package.extras] +docs = ["Sphinx (>=5.0,<6.0)", "myst-parser (>=0.18,<0.19)", "sphinx-rtd-theme (>=1.0,<2.0)"] + +[[package]] +name = "btsocket" +version = "0.2.0" +description = "Python library for BlueZ Bluetooth Management API" +optional = false +python-versions = "*" +files = [ + {file = "btsocket-0.2.0-py2.py3-none-any.whl", hash = "sha256:0d33893039284fa3a496dd31cb15227e1cf07f0d42d3843d3284b522cccf575a"}, + {file = "btsocket-0.2.0.tar.gz", hash = "sha256:6862250b7e0973d2beea9e49d3b5ced324d80e5003a0350856879e537ba777a8"}, +] + +[package.extras] +dev = ["bumpversion", "coverage", "pycodestyle", "pygments", "sphinx", "sphinx-rtd-theme", "twine"] +docs = ["pygments", "sphinx", "sphinx-rtd-theme"] +rel = ["bumpversion", "twine"] +test = ["coverage", "pycodestyle"] + [[package]] name = "certifi" version = "2023.11.17" @@ -392,6 +571,80 @@ files = [ {file = "cfgv-3.4.0.tar.gz", hash = "sha256:e52591d4c5f5dead8e0f673fb16db7949d2cfb3f7da4582893288f0ded8fe560"}, ] +[[package]] +name = "chacha20poly1305-reuseable" +version = "0.12.0" +description = "ChaCha20Poly1305 that is reuseable for asyncio" +optional = false +python-versions = ">=3.8,<4.0" +files = [ + {file = "chacha20poly1305_reuseable-0.12.0-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:750d34f2a28dee10a97818ebcfba74a4b5323a13299de62eccdd4c7bb6d46d53"}, + {file = "chacha20poly1305_reuseable-0.12.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:260978d0e18cd06b9f5e14de880229a1347c8bc079a38e4e7c7a9baa7f297f66"}, + {file = "chacha20poly1305_reuseable-0.12.0-cp310-cp310-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:2efc2925aad9e791573333fa7e40efa54a51eda0df9dfccd0f17bd535f0e2e57"}, + {file = "chacha20poly1305_reuseable-0.12.0-cp310-cp310-manylinux_2_17_x86_64.manylinux_2_5_x86_64.manylinux1_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9f153fdca4dbd93aabe9475200c847c0a9b8710573d8bcd7588ba4dab0ca06e6"}, + {file = "chacha20poly1305_reuseable-0.12.0-cp310-cp310-manylinux_2_31_x86_64.whl", hash = "sha256:278a3098e4fd77f5f62012832922eda0ca061eb4b393f03b546db0d93c722a20"}, + {file = "chacha20poly1305_reuseable-0.12.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:f26dfef3b7c4f14b505ba560138fb8518cb91ccba852d489c191cc6b089afaa6"}, + {file = "chacha20poly1305_reuseable-0.12.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:44131bf6d997c1952f4e74f851ea653414543f43718ad7b6430674f112f2c5bf"}, + {file = "chacha20poly1305_reuseable-0.12.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:490eb4e875659993223955a795ef86b3fa43c237ef5c161e3ebbd463fcd36a83"}, + {file = "chacha20poly1305_reuseable-0.12.0-cp310-cp310-win32.whl", hash = "sha256:5bca6a125eb36757532b1193d362862e801b1df9ff40dfb24f71fa5f8b46eb43"}, + {file = "chacha20poly1305_reuseable-0.12.0-cp310-cp310-win_amd64.whl", hash = "sha256:c2fef7a8362c2b8014dd1c35b8109bdaefbdcc76fa378161a82e78ab2e56ed7d"}, + {file = "chacha20poly1305_reuseable-0.12.0-cp311-cp311-macosx_11_0_x86_64.whl", hash = "sha256:8a811ac8daccc236bd5cde4c4623215764ab7849fc265ba22862b09c9eeb8593"}, + {file = "chacha20poly1305_reuseable-0.12.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:62eaf80660a9bfdc1ea4636745490b76815ecdae8653a7190a2b4aefc0eae71e"}, + {file = "chacha20poly1305_reuseable-0.12.0-cp311-cp311-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:2aea40696aa747857ec5ba18311c7aaf1d133df32b54f516c5fbe91c9f674eb1"}, + {file = "chacha20poly1305_reuseable-0.12.0-cp311-cp311-manylinux_2_17_x86_64.manylinux_2_5_x86_64.manylinux1_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf4fb957dc9b16bc6fc26b8bb5b033cd745b62a06ec6fc6ff566b786437b1c06"}, + {file = "chacha20poly1305_reuseable-0.12.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:79184e09ce1830ec998d3ad8dfb39ccc40d3ea4ce6980cc28315fe2bddeb6464"}, + {file = "chacha20poly1305_reuseable-0.12.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:dd2d283323b5ac40f4cffb69a3dbaccc3d6bd94d98d7757acd8b7ab15e618ecb"}, + {file = "chacha20poly1305_reuseable-0.12.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9be4938dec30d187a28e34cb1a25def5b176b463bf4096b93148a443e4224dce"}, + {file = "chacha20poly1305_reuseable-0.12.0-cp311-cp311-win32.whl", hash = "sha256:d5186f6ad2e86acfb9ee13d98e8e5df148c33bc2a55a99fbc8be9651c5525f10"}, + {file = "chacha20poly1305_reuseable-0.12.0-cp311-cp311-win_amd64.whl", hash = "sha256:82f932d6c98b4ce21c256f549e80cac19bec5c7596332349ab9316305f030cbe"}, + {file = "chacha20poly1305_reuseable-0.12.0-cp312-cp312-macosx_11_0_x86_64.whl", hash = "sha256:1cb7bc824854b01a459e20b535d76c55852b7b4738159e84330cb20d302495d5"}, + {file = "chacha20poly1305_reuseable-0.12.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:60a299f5e5241fbffcdc20e100ecc84152bf1b8dcd9ffc7a40b465dcd0a6a517"}, + {file = "chacha20poly1305_reuseable-0.12.0-cp312-cp312-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:8dcb15c798d8f84d984505156c6a682d2643cffeefea556221ec690f0fb24ef0"}, + {file = "chacha20poly1305_reuseable-0.12.0-cp312-cp312-manylinux_2_17_x86_64.manylinux_2_5_x86_64.manylinux1_x86_64.manylinux2014_x86_64.whl", hash = "sha256:783ef26c562fc03a93fdc76b0e542b452f28dfb3aa675080045cb9299f6154fc"}, + {file = "chacha20poly1305_reuseable-0.12.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:c716571a2de0701df8b6a104efaf24105e28ccddb6ed23cb971518b33550a1d1"}, + {file = "chacha20poly1305_reuseable-0.12.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:b104648d0bb8340bc1b8bb53e628be14517b23eccabf0dcf4d5e0250a4f9f821"}, + {file = "chacha20poly1305_reuseable-0.12.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:159f7923f5196ceb012bd686c96f881e66940e02c054ff9fc739d99f04168690"}, + {file = "chacha20poly1305_reuseable-0.12.0-cp312-cp312-win32.whl", hash = "sha256:5230ad468f6ff7f7833247e0267d9d364216ea1cd5e5075d63ddad6864236ed3"}, + {file = "chacha20poly1305_reuseable-0.12.0-cp312-cp312-win_amd64.whl", hash = "sha256:a210c5323f736c1003e3e7781355ec91103bccc3a85798425d3d3325d0a0bcf3"}, + {file = "chacha20poly1305_reuseable-0.12.0-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:fa0e39cbb0cd5fd3b6b833a8ff8ffafc5053ddd54360b4760bfd41f922809934"}, + {file = "chacha20poly1305_reuseable-0.12.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cd6ca9e23429202507d6f3bcdeba988ce53b1df7e1d45f48e056e877ed15ffe3"}, + {file = "chacha20poly1305_reuseable-0.12.0-cp38-cp38-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:b53d122022d8da2c435f61b80dda6e5cc2d2f6b9ec89bab8a7ef7976b6b00ad7"}, + {file = "chacha20poly1305_reuseable-0.12.0-cp38-cp38-manylinux_2_17_x86_64.manylinux_2_5_x86_64.manylinux1_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ef229a9619e6c890337a92eb0ee6aee4076a0bb215e3787051cb0b8e5f40f177"}, + {file = "chacha20poly1305_reuseable-0.12.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:fbdd860ce4e603c35f9459c36054192336a8a7ecc162b7b254a5e0f41ffc76cc"}, + {file = "chacha20poly1305_reuseable-0.12.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:86b46463307d246b6636803355b541f60b80a66496922a16e4dc4d7c02ad922a"}, + {file = "chacha20poly1305_reuseable-0.12.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:fcae6e2c3ebb47562744dcb6f62144eaf84be94890bb98c7f752405ab4cd4386"}, + {file = "chacha20poly1305_reuseable-0.12.0-cp38-cp38-win32.whl", hash = "sha256:e975ea57f4c0ca3013b82f5f678b09877167707f51b89a3f8243e0a17f125c25"}, + {file = "chacha20poly1305_reuseable-0.12.0-cp38-cp38-win_amd64.whl", hash = "sha256:a7adfec441daf2a99225830e68649c290bd5d25a7f19ac316bcaed97d25dd09e"}, + {file = "chacha20poly1305_reuseable-0.12.0-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:0c2559696a61d4caf4b805eacd8546cf4010bc6b3e6340be84816ac4d5fad388"}, + {file = "chacha20poly1305_reuseable-0.12.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e4ad7fc74ccb2304991d61edc7585e3c860c64393f6ff5e8ae9d0c81512db8f"}, + {file = "chacha20poly1305_reuseable-0.12.0-cp39-cp39-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:d02d0217db191726aad22a5c1600ccd9d0e29158e1a34ec0d61f3f9e7fc7043d"}, + {file = "chacha20poly1305_reuseable-0.12.0-cp39-cp39-manylinux_2_17_x86_64.manylinux_2_5_x86_64.manylinux1_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2cacd00f388eb817a16a62831b4b3e6ec2511d46044db2e94b0e3c3d403c4b4"}, + {file = "chacha20poly1305_reuseable-0.12.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:c1f4b34a868915e2fd478761e8836070cb0913b91769fa525f9ef1163cb4908d"}, + {file = "chacha20poly1305_reuseable-0.12.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:9159ed775fee33a857188aac51c3e901d89a6e22c1ed5b906c271137897ecb61"}, + {file = "chacha20poly1305_reuseable-0.12.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:dbd425f82b6fc5658428c4a813e4ed0500c621432d31df3c780d12ff92a7f5ff"}, + {file = "chacha20poly1305_reuseable-0.12.0-cp39-cp39-win32.whl", hash = "sha256:3dd4a3c9863b4a9a18ba5a20402bf505aa220281ef02056042cceb587028b737"}, + {file = "chacha20poly1305_reuseable-0.12.0-cp39-cp39-win_amd64.whl", hash = "sha256:0c1cdbf74c880d083212d54fe228d0398a7ed4d9827018a1b8145adb3dcf8632"}, + {file = "chacha20poly1305_reuseable-0.12.0-pp310-pypy310_pp73-macosx_11_0_x86_64.whl", hash = "sha256:9493dc3d1f09539472a760a6365ad90296ef7c258edc4bef86703b6b1a7b5630"}, + {file = "chacha20poly1305_reuseable-0.12.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:53ae391d39de13364b596ef51f583ec2cc74ec37d04a743ce3253e0ffcbf6657"}, + {file = "chacha20poly1305_reuseable-0.12.0-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:a68ba1fbe6cc00951eb9cad99cce830793867b9940fa7e14e0326ff4eff3bb91"}, + {file = "chacha20poly1305_reuseable-0.12.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux_2_5_x86_64.manylinux1_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c6b4d7d8d5562844757e93735cc9e6b651e64e9f3c77b55a6f24d310486a25bf"}, + {file = "chacha20poly1305_reuseable-0.12.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:d104d495139c48b2d2d7e8f2eea48f843fbb201dfc018d89425870ac058177bf"}, + {file = "chacha20poly1305_reuseable-0.12.0-pp38-pypy38_pp73-macosx_11_0_x86_64.whl", hash = "sha256:9b0011230f7f7a5b4fdfff3d4225c5f9d52dcbb08e21e32b2e4dd7d652efa745"}, + {file = "chacha20poly1305_reuseable-0.12.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76ea0eb896a0d3649d2f37480321bb8e731c553ed5eb65a5233a0bd855d04798"}, + {file = "chacha20poly1305_reuseable-0.12.0-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:816b725ad52eb85d2d3cf02403ac8a34c7937e8565f9e72aed7b7ef5eee9c5c3"}, + {file = "chacha20poly1305_reuseable-0.12.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux_2_5_x86_64.manylinux1_x86_64.manylinux2014_x86_64.whl", hash = "sha256:871adad99cbfa50943f7e1e191ffce2c8db5009a278c0f2ac9910e91a3024314"}, + {file = "chacha20poly1305_reuseable-0.12.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:1cbeb002a9de0ca1d509b6983f7ce14a982e7c89f6b60917c9869fd051dba4d4"}, + {file = "chacha20poly1305_reuseable-0.12.0-pp39-pypy39_pp73-macosx_11_0_x86_64.whl", hash = "sha256:dc9a83183b5fed8f771c797ee90d7b44f6430f1fbf0daefa2809dad282923613"}, + {file = "chacha20poly1305_reuseable-0.12.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d363fc0ab344c7faacab09490e51a8836de4a809fa81c918e2346452f7d7deac"}, + {file = "chacha20poly1305_reuseable-0.12.0-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:d1d47a4cbbdb67871f4726a31f3fa2d3a3c7e16dda7db9352924e69e4010a791"}, + {file = "chacha20poly1305_reuseable-0.12.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux_2_5_x86_64.manylinux1_x86_64.manylinux2014_x86_64.whl", hash = "sha256:49f05675f5dde3f055cdd83da841dcefd23affed0eb2b278382661bc022a5334"}, + {file = "chacha20poly1305_reuseable-0.12.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:10f55c73185d3b8799f6183c609b6b33db6cfbb0891b1450eba8120a9e758416"}, + {file = "chacha20poly1305_reuseable-0.12.0.tar.gz", hash = "sha256:238a1d5af6473a8ed249e6ddad327190b3567a673ad54766c9cb2da5c78a4c9b"}, +] + +[package.dependencies] +cryptography = ">=36.0.2" + [[package]] name = "charset-normalizer" version = "3.3.2" @@ -796,6 +1049,49 @@ files = [ {file = "h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d"}, ] +[[package]] +name = "habluetooth" +version = "2.4.0" +description = "High availability Bluetooth" +optional = false +python-versions = ">=3.10,<3.13" +files = [ + {file = "habluetooth-2.4.0-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:880ea213372fec4a1de8dd8fab1ec10a2042c2a3c40209490ce823ffb3cad60b"}, + {file = "habluetooth-2.4.0-cp310-cp310-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:3e80369d28a86740a0574c6a86dcfdfb149822a1095b7c6f7a682b92baed1d97"}, + {file = "habluetooth-2.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:73323c9fd60e5521fce4a4a6d89c22ca2b46904ec04dfa85e638bffc163a16a0"}, + {file = "habluetooth-2.4.0-cp310-cp310-manylinux_2_35_x86_64.whl", hash = "sha256:131bff116f668c7c69a458bb99770746fa99a4603e18f86b9ebe0cdebce92b36"}, + {file = "habluetooth-2.4.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e26e0f268f76c4bb2c52cc900dccbae6f25c6b1e7dfb5f81735aea4138584b3c"}, + {file = "habluetooth-2.4.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:3bb97f3d4d28a23c72ff2b9575355ece362a2ef9623e374e1a2daa96e9cbdaa3"}, + {file = "habluetooth-2.4.0-cp310-cp310-win32.whl", hash = "sha256:2279a8f4b0fd22d97d03094b283e4c928c1341ab1f7f2395f04668d1a8c28aed"}, + {file = "habluetooth-2.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:1c2a7c9909947879f39d640381d58d4b33050b683280084defe10486504b4d92"}, + {file = "habluetooth-2.4.0-cp311-cp311-macosx_11_0_x86_64.whl", hash = "sha256:acebfd58ec93a5c005284fe7c759559716b8490b3be9fd96ecf2bfb653891f01"}, + {file = "habluetooth-2.4.0-cp311-cp311-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:385970bb6035bbfcd07b762f20e9da090daa0edd1de934e47f8226a5869e390f"}, + {file = "habluetooth-2.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cd895f5003a398d8ba0057e68ea06e5d02f9033617ca67c365219294b2c138af"}, + {file = "habluetooth-2.4.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:bef13236920f669d5148059892387c68c6b8dec11a32bf775e2b4303327d37c5"}, + {file = "habluetooth-2.4.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5de96beeed7df7ac5e328fd9a2c5cec2116a009cbf6c40a77189298f204cf0a4"}, + {file = "habluetooth-2.4.0-cp311-cp311-win32.whl", hash = "sha256:9f8dccde07a1f0417b01d03bef88a2b01059096a85ca7b30e9a9dd16802887df"}, + {file = "habluetooth-2.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:49162796f00954369ef9995bfc7ef94ab9e7f212f1db15da26e05eafafc7040d"}, + {file = "habluetooth-2.4.0-cp312-cp312-macosx_11_0_x86_64.whl", hash = "sha256:c0b983c073bb8ad45987d2775bb537b72bca9d9c9c2c5cd149426e1683bd0285"}, + {file = "habluetooth-2.4.0-cp312-cp312-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:b4717d742e8d5099d71d4a049d465886b5e2e80fe6a8868f2e878a43545a21b4"}, + {file = "habluetooth-2.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:37c1e5df5cd92d0c14842cb81890d7967824c814367f683e6407d7d96a5b3961"}, + {file = "habluetooth-2.4.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:b90ed2a72caa68fca1e7b05a853ae4ee3e29b392e04101e57e9abc642e90815b"}, + {file = "habluetooth-2.4.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:ef1ebe93e64907bb5cd6228aa1e9fc6b635e12bce4b593cb9a6925692dd0232c"}, + {file = "habluetooth-2.4.0-cp312-cp312-win32.whl", hash = "sha256:7d0b424b80ed787883cc9d936bc88158a1bb06c36cc8f30626bec119c10a38e3"}, + {file = "habluetooth-2.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:e29ab2201325ef55fbbbb22af6141908208d069b7ff279952e5f028b7d89b731"}, + {file = "habluetooth-2.4.0-pp310-pypy310_pp73-macosx_11_0_x86_64.whl", hash = "sha256:89313e67c4b3eabae59bc3ac99490b95cdb49cbce1f94015ebbd74aaf37ccfc2"}, + {file = "habluetooth-2.4.0-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:17384117a49373fe79bc162b32413534bb95f3eb7bc65d216fd326125c42437b"}, + {file = "habluetooth-2.4.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux_2_5_x86_64.manylinux1_x86_64.manylinux2014_x86_64.whl", hash = "sha256:79995345fc0a4d10fe98d894f67708bbcf1dd60efddc9b2fa5a3443f4bd59170"}, + {file = "habluetooth-2.4.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:7934bc8f433116232ee8aa01f5d232ab5e08098c1c12e684d422228cd40d8259"}, + {file = "habluetooth-2.4.0.tar.gz", hash = "sha256:93b70fedda825a56e8812d7a5f43f8dc6b94bb1ea770c6cb57c87f8ac5068bf4"}, +] + +[package.dependencies] +bleak = ">=0.21.1" +bleak-retry-connector = ">=3.3.0" +bluetooth-adapters = ">=0.16.1" +bluetooth-auto-recovery = ">=1.2.3" +bluetooth-data-tools = ">=1.16.0" + [[package]] name = "home-assistant-bluetooth" version = "1.10.4" @@ -1066,6 +1362,23 @@ files = [ [package.extras] test = ["pytest"] +[[package]] +name = "mac-vendor-lookup" +version = "0.1.12" +description = "Find the vendor for a given MAC address" +optional = false +python-versions = "<4, >=3.5" +files = [ + {file = "mac_vendor_lookup-0.1.12-py3-none-any.whl", hash = "sha256:aeec6eac01b07e6558d889b51f475a1e1e938e09cab409a069ab6a43b13cba58"}, +] + +[package.dependencies] +aiofiles = "*" +aiohttp = "*" + +[package.extras] +test = ["coverage", "pytest"] + [[package]] name = "markupsafe" version = "2.1.3" @@ -1279,6 +1592,20 @@ files = [ [package.dependencies] setuptools = "*" +[[package]] +name = "noiseprotocol" +version = "0.3.1" +description = "Implementation of Noise Protocol Framework" +optional = false +python-versions = "~=3.5" +files = [ + {file = "noiseprotocol-0.3.1-py3-none-any.whl", hash = "sha256:2e1a603a38439636cf0ffd8b3e8b12cee27d368a28b41be7dbe568b2abb23111"}, + {file = "noiseprotocol-0.3.1.tar.gz", hash = "sha256:b092a871b60f6a8f07f17950dc9f7098c8fe7d715b049bd4c24ee3752b90d645"}, +] + +[package.dependencies] +cryptography = ">=2.8" + [[package]] name = "orjson" version = "3.9.9" @@ -1408,6 +1735,26 @@ nodeenv = ">=0.11.1" pyyaml = ">=5.1" virtualenv = ">=20.10.0" +[[package]] +name = "protobuf" +version = "4.25.2" +description = "" +optional = false +python-versions = ">=3.8" +files = [ + {file = "protobuf-4.25.2-cp310-abi3-win32.whl", hash = "sha256:b50c949608682b12efb0b2717f53256f03636af5f60ac0c1d900df6213910fd6"}, + {file = "protobuf-4.25.2-cp310-abi3-win_amd64.whl", hash = "sha256:8f62574857ee1de9f770baf04dde4165e30b15ad97ba03ceac65f760ff018ac9"}, + {file = "protobuf-4.25.2-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:2db9f8fa64fbdcdc93767d3cf81e0f2aef176284071507e3ede160811502fd3d"}, + {file = "protobuf-4.25.2-cp37-abi3-manylinux2014_aarch64.whl", hash = "sha256:10894a2885b7175d3984f2be8d9850712c57d5e7587a2410720af8be56cdaf62"}, + {file = "protobuf-4.25.2-cp37-abi3-manylinux2014_x86_64.whl", hash = "sha256:fc381d1dd0516343f1440019cedf08a7405f791cd49eef4ae1ea06520bc1c020"}, + {file = "protobuf-4.25.2-cp38-cp38-win32.whl", hash = "sha256:33a1aeef4b1927431d1be780e87b641e322b88d654203a9e9d93f218ee359e61"}, + {file = "protobuf-4.25.2-cp38-cp38-win_amd64.whl", hash = "sha256:47f3de503fe7c1245f6f03bea7e8d3ec11c6c4a2ea9ef910e3221c8a15516d62"}, + {file = "protobuf-4.25.2-cp39-cp39-win32.whl", hash = "sha256:5e5c933b4c30a988b52e0b7c02641760a5ba046edc5e43d3b94a74c9fc57c1b3"}, + {file = "protobuf-4.25.2-cp39-cp39-win_amd64.whl", hash = "sha256:d66a769b8d687df9024f2985d5137a337f957a0916cf5464d1513eee96a63ff0"}, + {file = "protobuf-4.25.2-py3-none-any.whl", hash = "sha256:a8b7a98d4ce823303145bf3c1a8bdb0f2f4642a414b196f04ad9853ed0c8f830"}, + {file = "protobuf-4.25.2.tar.gz", hash = "sha256:fe599e175cb347efc8ee524bcd4b902d11f7262c0e569ececcb89995c15f0a5e"}, +] + [[package]] name = "pycparser" version = "2.21" @@ -1528,6 +1875,16 @@ cryptography = ">=38.0.0,<40.0.0 || >40.0.0,<40.0.1 || >40.0.1,<42" docs = ["sphinx (!=5.2.0,!=5.2.0.post0)", "sphinx-rtd-theme"] test = ["flaky", "pretend", "pytest (>=3.0.1)"] +[[package]] +name = "pyric" +version = "0.1.6.3" +description = "Python Wireless Library" +optional = false +python-versions = "*" +files = [ + {file = "PyRIC-0.1.6.3.tar.gz", hash = "sha256:b539b01cafebd2406c00097f94525ea0f8ecd1dd92f7731f43eac0ef16c2ccc9"}, +] + [[package]] name = "pytest" version = "7.4.4" @@ -1772,6 +2129,17 @@ brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] zstd = ["zstandard (>=0.18.0)"] +[[package]] +name = "usb-devices" +version = "0.4.5" +description = "Tools for mapping, describing, and resetting USB devices" +optional = false +python-versions = ">=3.9,<4.0" +files = [ + {file = "usb_devices-0.4.5-py3-none-any.whl", hash = "sha256:8a415219ef1395e25aa0bddcad484c88edf9673acdeae8a07223ca7222a01dcf"}, + {file = "usb_devices-0.4.5.tar.gz", hash = "sha256:9b5c7606df2bc791c6c45b7f76244a0cbed83cb6fa4c68791a143c03345e195d"}, +] + [[package]] name = "virtualenv" version = "20.25.0" @@ -2137,6 +2505,69 @@ files = [ idna = ">=2.0" multidict = ">=4.0" +[[package]] +name = "zeroconf" +version = "0.131.0" +description = "A pure python implementation of multicast DNS service discovery" +optional = false +python-versions = ">=3.7,<4.0" +files = [ + {file = "zeroconf-0.131.0-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:3bc16228495e67ec990668970e815b341160258178c21b7716400c5e7a78976a"}, + {file = "zeroconf-0.131.0-cp310-cp310-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:e0d1357940b590466bc72ac605e6ad3f7f05b2e1475b6896ec8e4c61e4d23034"}, + {file = "zeroconf-0.131.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:434344df3037df08bad7422d5d36a415f30ddcc29ac1ad0cc0160b4976b782b5"}, + {file = "zeroconf-0.131.0-cp310-cp310-manylinux_2_31_x86_64.whl", hash = "sha256:c75bb2c1e472723067c7ec986ea510350c335bf8e73ad12617fc6a9ec765dc4b"}, + {file = "zeroconf-0.131.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:18ff5b28e8935e5399fe47ece323e15816bc2ea4111417c41fc09726ff056cd2"}, + {file = "zeroconf-0.131.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:3a49aaff22bc576680b4bcb3c7de896587f6ab4adaa788bedbc468dd0ad28cce"}, + {file = "zeroconf-0.131.0-cp310-cp310-win32.whl", hash = "sha256:c3f0f87e47e4d5a9bcfcfc1ce29d0e9127a5cab63e839cc6f845c563f29d765c"}, + {file = "zeroconf-0.131.0-cp310-cp310-win_amd64.whl", hash = "sha256:52b65e5eeacae121695bcea347cc9ad7da5556afcd3765c461e652ca3e8a84e9"}, + {file = "zeroconf-0.131.0-cp311-cp311-macosx_11_0_x86_64.whl", hash = "sha256:6a041468c428622798193f0006831237aa749ee23e26b5b79e457618484457ef"}, + {file = "zeroconf-0.131.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9a7f3b9a580af6bf74a7c435b80925dfeb065c987dffaf4d957d578366a80b2c"}, + {file = "zeroconf-0.131.0-cp311-cp311-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:cc7a76103b03f47d2aa02206f74cc8b2120f4bac02936ccee5d6f29290f5bde5"}, + {file = "zeroconf-0.131.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5d777b177cb472f7996b9d696b81337bfb846dbe454b8a34a8e33704d3a435b0"}, + {file = "zeroconf-0.131.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:b843d5e2d2e576efeab59e382907bca1302f20eb33ee1a0a485e90d017b1088a"}, + {file = "zeroconf-0.131.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:08eb87b0500ddc7c148fe3db3913e9d07d5495d756d7d75683f2dee8d7a09dc5"}, + {file = "zeroconf-0.131.0-cp311-cp311-win32.whl", hash = "sha256:3b167b9e47f3fec8cc28a8f73a9e47c563ceb6681c16dcbe2c7d41e084cee755"}, + {file = "zeroconf-0.131.0-cp311-cp311-win_amd64.whl", hash = "sha256:f74149a22a6a27e4c039f6477188dcbcb910acd60529dab5c114ff6265d40ba7"}, + {file = "zeroconf-0.131.0-cp312-cp312-macosx_11_0_x86_64.whl", hash = "sha256:4865ef65b7eb7eee1a38c05bf7e91dd8182ef2afb1add65440f99e8dd43836d2"}, + {file = "zeroconf-0.131.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:38bfd08c9191716d65e6ac52741442ee918bfe2db43993aa4d3b365966c0ab48"}, + {file = "zeroconf-0.131.0-cp312-cp312-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:2389e3a61e99bf74796da7ebc3001b90ecd4e6286f392892b1211748e5b19853"}, + {file = "zeroconf-0.131.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:194cf1465a756c3090e23ef2a5bd3341caa8d36eef486054daa8e532a4e24ac8"}, + {file = "zeroconf-0.131.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:2907784c8c88795bf1b74cc9b6a4051e37a519ae2caaa7307787d466bc57884c"}, + {file = "zeroconf-0.131.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:ce67d8dab4d88bcd1e5975d08235590fc5b9f31b2e2b7993ee1680810e67e56d"}, + {file = "zeroconf-0.131.0-cp312-cp312-win32.whl", hash = "sha256:9dfa3d8827efffebec61b108162eeb76b0fe170a8379f9838be441f61b4557fd"}, + {file = "zeroconf-0.131.0-cp312-cp312-win_amd64.whl", hash = "sha256:8642d374481d8cc7be9e364b82bcd11bda4a095c24c5f9f5754017a118496b77"}, + {file = "zeroconf-0.131.0-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:bdb1a2a67e34059e69aaead600525e91c126c46502ada1c7fc3d2c082cc8ad27"}, + {file = "zeroconf-0.131.0-cp38-cp38-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:bf9ec50ffdf4e179c035f96a106a5c510d5295c5fb7e2e69dd4cda7b7f42f8bf"}, + {file = "zeroconf-0.131.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:551c04799325c890f2baa347e82cd2c3fb1d01b14940d7695f27c49cd2413b0c"}, + {file = "zeroconf-0.131.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a984c93aa413a594f048ef7166f0d9be73b0cd16dfab1395771b7c0607e07817"}, + {file = "zeroconf-0.131.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:4713e5cd986f9467494e5b47b0149ac0ffd7ad630d78cd6f6d2555b199e5a653"}, + {file = "zeroconf-0.131.0-cp38-cp38-win32.whl", hash = "sha256:02e3b6d1c1df87e8bc450de3f973ab9f4cfd1b4c0a3fb9e933d84580a1d61263"}, + {file = "zeroconf-0.131.0-cp38-cp38-win_amd64.whl", hash = "sha256:14f0bef6b4f7bd0caf80f207acd1e399e8d8a37e12266d80871a2ed6c9ee3b16"}, + {file = "zeroconf-0.131.0-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:fdcb9cb0555c7947f29a4d5c05c98e260a04f37d6af31aede1e981bf1bdf8691"}, + {file = "zeroconf-0.131.0-cp39-cp39-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:10e8d23cee434077a10ceec4b419b9de8c84ede7f42b64e735d0f0b7708b0c66"}, + {file = "zeroconf-0.131.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c55a1627290ba0718022fb63cf5a25d773c52b00319ef474dd443ebe92efab1"}, + {file = "zeroconf-0.131.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:a3f1d959e3a57afa6b383eb880048929473507b1cc0e8b5e1a72ddf0fc1bbb77"}, + {file = "zeroconf-0.131.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:e7d51df61579862414ac544f2892ea3c91a6b45dd728d4fb6260d65bf6f1ef0f"}, + {file = "zeroconf-0.131.0-cp39-cp39-win32.whl", hash = "sha256:cb2879708357cac9805d20944973f3d50b472c703b8eaadd9bf136024c5539b4"}, + {file = "zeroconf-0.131.0-cp39-cp39-win_amd64.whl", hash = "sha256:3f49ec4e8d5bd860e9958e88e8b312e31828f5cb2203039390c551f3fb0b45dd"}, + {file = "zeroconf-0.131.0-pp310-pypy310_pp73-macosx_11_0_x86_64.whl", hash = "sha256:d4baa0450b9b0f1bd8acc25c2970d4e49e54726cbc437b81ffb65e5ffb6bd321"}, + {file = "zeroconf-0.131.0-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:3768ab13a8d7f0df85e40e766edd9e2aef28710a350dc4b15e1f2c5dd1326f00"}, + {file = "zeroconf-0.131.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c10158396d6875f790bfb5600391d44edcbf52ac4d148e19baab3e8bb7825f76"}, + {file = "zeroconf-0.131.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:28d906fc0779badb2183f5b20dbcc7e508cce53a13e63ba4d9477381c9f77463"}, + {file = "zeroconf-0.131.0-pp38-pypy38_pp73-macosx_11_0_x86_64.whl", hash = "sha256:7c4235f45defd43bb2402ff8d3c7ff5d740e671bfd926852541c282ebef992bc"}, + {file = "zeroconf-0.131.0-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:d08170123f5c04480bd7a82122b46c5afdb91553a9cef7d686d3fb9c369a9204"}, + {file = "zeroconf-0.131.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1a57e0c4a94276ec690d2ecf1edeea158aaa3a7f38721af6fa572776dda6c8ad"}, + {file = "zeroconf-0.131.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:0251034ed1d57eeb4e08782b22cc51e2455da7552b592bfad69a5761e69241c7"}, + {file = "zeroconf-0.131.0-pp39-pypy39_pp73-macosx_11_0_x86_64.whl", hash = "sha256:34c3379d899361cd9d6b573ea9ac1eba53e2306eb28f94353b58c4703f0e74ae"}, + {file = "zeroconf-0.131.0-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:d5d92987c3669edbfa9f911a8ef1c46cfd2c3e51971fc80c215f99212b81d4b1"}, + {file = "zeroconf-0.131.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a613827f97ca49e2b4b6d6eb7e61a0485afe23447978a60f42b981a45c2b25fd"}, + {file = "zeroconf-0.131.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:24b0a46c5f697cd6a0b27678ea65a3222b95f1804be6b38c6f5f1a7ce8b5cded"}, + {file = "zeroconf-0.131.0.tar.gz", hash = "sha256:90c431e99192a044a5e0217afd7ca0ca9824af93190332e6f7baf4da5375f331"}, +] + +[package.dependencies] +ifaddr = ">=0.1.7" + [[package]] name = "zlib-ng" version = "0.4.0" @@ -2192,4 +2623,4 @@ files = [ [metadata] lock-version = "2.0" python-versions = ">=3.11,<3.13" -content-hash = "8534911e33776217a51a5e0ef86d85f31696f6db542c7e6dfdb38452579bdfa0" +content-hash = "0226eef3953cf23dea52216e66cf78b7550c59702d5009f06e7e1eea0552ee6b" diff --git a/pyproject.toml b/pyproject.toml index 8afc0c0..6d3e316 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -26,6 +26,10 @@ voluptuous-stubs = "^0.1.1" [tool.poetry.group.test.dependencies] pytest = "^7.4.4" + +[tool.poetry.group.integration.dependencies] +bleak-esphome = "^0.4.1" + [build-system] requires = ["poetry-core"] build-backend = "poetry.core.masonry.api"