* Move parts of ssdp to async_upnp_client
* Fix test for environments with multiple sources
* Fix sonos tests
* More fixes/changes
* More fixes
* Use async_upnp_client==0.21.0
* Pylint/test fixes
* More changes after review
* Fix tests
* Improve testing
* Fix mypy
* Fix yamaha_musiccast tests?
* Changes after review
* Pylint
* Reduce calls to combined_headers
* Update to async_upnp_client==0.21.1
* Update to async_upnp_client==0.21.2
* use as_dict
Co-authored-by: J. Nick Koston <nick@koston.org>
* New binary sensor for connectivity
* Add binary_sensor
* New binary sensor for connectivity
* Add binary_sensor
* Handle values returned as None
* Small text update for Uptime
* Update homeassistant/components/upnp/binary_sensor.py
Co-authored-by: Joakim Sørensen <hi@ludeeus.dev>
* Update homeassistant/components/upnp/binary_sensor.py
Co-authored-by: Joakim Sørensen <hi@ludeeus.dev>
* Update homeassistant/components/upnp/binary_sensor.py
Co-authored-by: Joakim Sørensen <hi@ludeeus.dev>
* Update homeassistant/components/upnp/binary_sensor.py
Co-authored-by: Joakim Sørensen <hi@ludeeus.dev>
* Update homeassistant/components/upnp/binary_sensor.py
Co-authored-by: Joakim Sørensen <hi@ludeeus.dev>
* Update homeassistant/components/upnp/binary_sensor.py
Co-authored-by: Joakim Sørensen <hi@ludeeus.dev>
* Update homeassistant/components/upnp/binary_sensor.py
Co-authored-by: Joakim Sørensen <hi@ludeeus.dev>
* Update homeassistant/components/upnp/binary_sensor.py
Co-authored-by: Joakim Sørensen <hi@ludeeus.dev>
* Updates based on review
* Update homeassistant/components/upnp/binary_sensor.py
Co-authored-by: Joakim Sørensen <hi@ludeeus.dev>
* Further updates based on review
* Set device_class as a class atribute
* Create 1 combined data coordinator
and UpnpEntity class
* Updates on coordinator
* Update comment
* Fix in async_step_init for coordinator
* Add async_get_status to mocked device
and set times polled for each call seperately
* Updated to get device through coordinator
Check polling for each status call seperately
* Use collections.abc instead of Typing for Mapping
* Remove adding device to hass.data as coordinator
is now saved
* Removed setting _coordinator
* Added myself as codeowner
* Update type in __init__
* Removed attributes from binary sensor
* Fix async_unload_entry
* Add expected return value to is_on
Co-authored-by: Joakim Sørensen <hi@ludeeus.dev>
* Store coordinator at Device
* Use DeviceUpdater to follow config/location changes
* Cleaning up
* Fix unit tests + review changes
* Don't test internals
* Don't set config_entry.unique_id from setup entry. Fixes#40168
* Ensure entry has a unique_id
* Add test test_flow_import_incomplete
* Add test test_flow_import_duplicate
* Re-add testing import_info
* Simplify import flow
* Remove not needed line
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Remove unnecessary exception re-wraps
* Preserve exception chains on re-raise
We slap "from cause" to almost all possible cases here. In some cases it
could conceivably be better to do "from None" if we really want to hide
the cause. However those should be in the minority, and "from cause"
should be an improvement over the corresponding raise without a "from"
in all cases anyway.
The only case where we raise from None here is in plex, where the
exception for an original invalid SSL cert is not the root cause for
failure to validate a newly fetched one.
Follow local convention on exception variable names if there is a
consistent one, otherwise `err` to match with majority of codebase.
* Fix mistaken re-wrap in homematicip_cloud/hap.py
Missed the difference between HmipConnectionError and
HmipcConnectionError.
* Do not hide original error on plex new cert validation error
Original is not the cause for the new one, but showing old in the
traceback is useful nevertheless.
* Rewrite parts of upnp component
* Linting
* Add SCAN_INTERVAL
* Get values simultaneously
* Move to time related constants, as per #32065
* Linting
* Move constant KIBIBYTE to homeassistant.const
* Simplify code
* Fix tests for #33344
* Changes after review
* Update homeassistant/components/upnp/sensor.py
* Changes after review
* Formatting
* Formatting
* Use ST from discovery info to avoid swapping device_types if device advertises multiple versions
* Linting
* Requirements for upnp + dlna_dmr components
* Linting
* Regen requirements
* Changes after review by @MartinHjelmare
* Changes after review by @MartinHjelmare
* Formatting
* Linting
* Changes after review by @MartinHjelmare
* Changes after review by @MartinHjelmare
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
* Use local_ip from config to discover IGD device
In case of multi-homed server UPNP discovery finds IGD device on some "default" interface. WIth this modification discovery will be performed from 'local_ip'.
* Update device.py
* Changed version of async_upnp_client in requirements
* Used aysnc_upnp_client==0.14.0
* Changed requirement to async_upnp_client==0.14.0.dev0
* Changed requirement to async_upnp_client==0.14.0.dev0
* Changed requirement to async_upnp_client==0.14.0.dev0
* Fixed code style
* Fixed code style
* Changed version of async_upnp_client in requerements
* Changed version of async_upnp_client in requirements
* Regenerated requirements (new async_upnp_client)
* Regenerated requirements (new async_upnp_client)
* Changed requirement to async_upnp_client=0.14.1
* Changed requirement to async_upnp_client=0.14.1
* Updated requirements
* Updated requirements.txt
* Corrected requirements
* Corrected import of DeviceState
* Constants changed according new async_upnp_client
* Upgraded for async_upnp_client==0.14.2
* Disable creating port mappings from UI, add discovery from component
* Remove unused constant
* Upgrade to async_upnp_client==0.13.6 and use manufacturer from device
* Upgrade to async_upnp_client==0.13.7
* Fix discovery-dependency for upnp
* Only delete port mappings on EVENT_HOMEASSISTANT_STOP + refactoring MockDevice
* Call and store local_ip from async_setup
* Don't depend on http-component
* Remove discovery dependency
* Validate ports as port
Better than just a positive integer since it limits the range from 1 to 65535.
* Validate port for Axis
* Validate port for Xiaomi Home Camera
* Validate port for Modbus
* Validate port for Yamaha MusicCast Receivers
* Update zhong_hong.py
Validate port as a port, the gateway address as positive_int
Also moved the default values to their variable
* Validate port for the Asterisk Voicemail interface
* Fix lint
* Validate port for Xiaomi Cameras