mirror of
https://github.com/home-assistant/core.git
synced 2025-07-23 21:27:38 +00:00

* Modernize dlna_dmr component: configflow, test, types * Support config-flow with ssdp discovery * Add unit tests * Enforce strict typing * Gracefully handle network devices (dis)appearing * Fix Aiohttp mock response headers type to match actual response class * Fixes from code review * Fixes from code review * Import device config in flow if unavailable at hass start * Support SSDP advertisements * Ignore bad BOOTID, fix ssdp:byebye handling * Only listen for events on interface connected to device * Release all listeners when entities are removed * Warn about deprecated dlna_dmr configuration * Use sublogger for dlna_dmr.config_flow for easier filtering * Tests for dlna_dmr.data module * Rewrite DMR tests for HA style * Fix DMR strings: "Digital Media *Renderer*" * Update DMR entity state and device info when changed * Replace deprecated async_upnp_client State with TransportState * supported_features are dynamic, based on current device state * Cleanup fully when subscription fails * Log warnings when device connection fails unexpectedly * Set PARALLEL_UPDATES to unlimited * Fix spelling * Fixes from code review * Simplify has & can checks to just can, which includes has * Treat transitioning state as playing (not idle) to reduce UI jerking * Test if device is usable * Handle ssdp:update messages properly * Fix _remove_ssdp_callbacks being shared by all DlnaDmrEntity instances * Fix tests for transitioning state * Mock DmrDevice.is_profile_device (added to support embedded devices) * Use ST & NT SSDP headers to find DMR devices, not deviceType The deviceType is extracted from the device's description XML, and will not be what we want when dealing with embedded devices. * Use UDN from SSDP headers, not device description, as unique_id The SSDP headers have the UDN of the embedded device that we're interested in, whereas the device description (`ATTR_UPNP_UDN`) field will always be for the root device. * Fix DMR string English localization * Test config flow with UDN from SSDP headers * Bump async-upnp-client==0.22.1, fix flake8 error * fix test for remapping * DMR HA Device connections based on root and embedded UDN * DmrDevice's UpnpDevice is now named profile_device * Use device type from SSDP headers, not device description * Mark dlna_dmr constants as Final * Use embedded device UDN and type for unique ID when connected via URL * More informative connection error messages * Also match SSDP messages on NT headers The NT header is to ssdp:alive messages what ST is to M-SEARCH responses. * Bump async-upnp-client==0.22.2 * fix merge * Bump async-upnp-client==0.22.3 Co-authored-by: Steven Looman <steven.looman@gmail.com> Co-authored-by: J. Nick Koston <nick@koston.org>
82 lines
2.0 KiB
Plaintext
82 lines
2.0 KiB
Plaintext
PyJWT==2.1.0
|
|
PyNaCl==1.4.0
|
|
aiodiscover==1.4.2
|
|
aiohttp==3.7.4.post0
|
|
aiohttp_cors==0.7.0
|
|
astral==2.2
|
|
async-upnp-client==0.22.3
|
|
async_timeout==3.0.1
|
|
attrs==21.2.0
|
|
awesomeversion==21.8.1
|
|
backports.zoneinfo;python_version<"3.9"
|
|
bcrypt==3.1.7
|
|
certifi>=2021.5.30
|
|
ciso8601==2.2.0
|
|
cryptography==3.4.8
|
|
emoji==1.5.0
|
|
hass-nabucasa==0.50.0
|
|
home-assistant-frontend==20210922.0
|
|
httpx==0.19.0
|
|
ifaddr==0.1.7
|
|
jinja2==3.0.1
|
|
paho-mqtt==1.5.1
|
|
pillow==8.2.0
|
|
pip>=8.0.3,<20.3
|
|
pyserial==3.5
|
|
python-slugify==4.0.1
|
|
pyudev==0.22.0
|
|
pyyaml==5.4.1
|
|
requests==2.26.0
|
|
scapy==2.4.5
|
|
sqlalchemy==1.4.23
|
|
voluptuous-serialize==2.4.0
|
|
voluptuous==0.12.2
|
|
yarl==1.6.3
|
|
zeroconf==0.36.7
|
|
|
|
pycryptodome>=3.6.6
|
|
|
|
# Constrain urllib3 to ensure we deal with CVE-2019-11236 & CVE-2019-11324
|
|
urllib3>=1.24.3
|
|
|
|
# Constrain H11 to ensure we get a new enough version to support non-rfc line endings
|
|
h11>=0.12.0
|
|
|
|
# Constrain httplib2 to protect against GHSA-93xj-8mrv-444m
|
|
# https://github.com/advisories/GHSA-93xj-8mrv-444m
|
|
httplib2>=0.19.0
|
|
|
|
# gRPC 1.32+ currently causes issues on ARMv7, see:
|
|
# https://github.com/home-assistant/core/issues/40148
|
|
# Newer versions of some other libraries pin a higher version of grpcio,
|
|
# so those also need to be kept at an old version until the grpcio pin
|
|
# is reverted, see:
|
|
# https://github.com/home-assistant/core/issues/53427
|
|
grpcio==1.31.0
|
|
google-cloud-pubsub==2.1.0
|
|
google-api-core<=1.31.2
|
|
|
|
# This is a old unmaintained library and is replaced with pycryptodome
|
|
pycrypto==1000000000.0.0
|
|
|
|
# To remove reliance on typing
|
|
btlewrap>=0.0.10
|
|
|
|
# This overrides a built-in Python package
|
|
enum34==1000000000.0.0
|
|
typing==1000000000.0.0
|
|
uuid==1000000000.0.0
|
|
|
|
# Temporary constraint on pandas, to unblock 2021.7 releases
|
|
# until we have fixed the wheels builds for newer versions.
|
|
pandas==1.3.0
|
|
|
|
# regex causes segfault with version 2021.8.27
|
|
# https://bitbucket.org/mrabarnett/mrab-regex/issues/421/2021827-results-in-fatal-python-error
|
|
# This is fixed in 2021.8.28
|
|
regex==2021.8.28
|
|
|
|
# anyio has a bug that was fixed in 3.3.1
|
|
# can remove after httpx/httpcore updates its anyio version pin
|
|
anyio>=3.3.1
|