Commit graph

72 commits

Author SHA1 Message Date
Steven Looman
d50795af2b
Move upnp derived sensors to library, be more robust about failing getting some data (#79955) 2022-10-26 14:34:44 -05:00
Steven Looman
d550b17bd9
Use identifiers host and serial number to match device (#75657) 2022-09-06 11:33:16 -04:00
J. Nick Koston
cd03c49fc2
Wait for config entry platform forwards (#73806) 2022-07-09 17:27:42 +02:00
epenet
640f53ce21
Remove YAML configuration from upnp (#72410) 2022-05-30 17:07:18 +02:00
Steven Looman
2e36a79357
Changes after late upnp review (#72241)
* Changes after review of #70008, part 1

* Changes after review from #70008

* Revert to UpnpDataUpdateCoordinator._async_update_data
2022-05-24 21:37:37 +02:00
Steven Looman
bddfbe01f3
Better handle devices changing UDN and/or location in upnp component (#70008) 2022-04-20 11:01:43 -10:00
Steven Looman
0d6d8a17e3
Drop upnp options flow (#69134) 2022-04-12 14:10:54 -07:00
Marc Mueller
add741d789
Update coordinator typing (6) [t-v] (#68466) 2022-03-21 14:20:35 +01:00
epenet
8260767e8f
Enable basic type checking in upnp (#66253)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2022-03-08 07:51:23 +01:00
Steven Looman
dbbb5655e5
Bump async-upnp-client to 0.25.0 (#66414)
Co-authored-by: J. Nick Koston <nick@koston.org>
2022-02-27 08:29:29 -10:00
Marc Mueller
b79b35abb5
Use platform enum (7) [T-Z] (#60948)
Co-authored-by: Joakim Sørensen <hi@ludeeus.dev>
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2021-12-04 14:10:01 +01:00
epenet
4207d5a85f
Use dataclass properties in upnp (#60893)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-12-02 23:32:42 -08:00
Paulus Schoutsen
e1e864d2b6
Get the registry using the callback method (#58542) 2021-10-27 15:58:14 -07:00
Steven Looman
be4b1d15ec
Add configuration_url to upnp device (#58385) 2021-10-25 13:19:04 +02:00
Steven Looman
b75f1b8951
Fix broken upnp derived sensors reporting b/s instead of kb/s (#57681) 2021-10-15 13:03:03 -07:00
Steven Looman
3825f80a2d
Fix upnp creating derived sensors (#57436) 2021-10-11 09:35:26 +02:00
Paulus Schoutsen
222a0c26e0
Guard upnp create device (#57156) 2021-10-05 21:31:11 -07:00
Steven Looman
30c25d4448
Clean up upnp YAML config (#56200)
* Put back local_ip option to config schema + deprecate config schema

* More cleanup

* Remove log

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-09-15 06:57:02 +02:00
Steven Looman
73260c5b88
Move parts of ssdp to async_upnp_client (#55540)
* 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>
2021-09-11 13:38:16 -10:00
ehendrix23
4310a7d814
Add upnp sensor for IP, Status, and Uptime (#54780)
Co-authored-by: Joakim Sørensen <hi@ludeeus.dev>
2021-09-03 17:15:28 +02:00
Ville Skyttä
939fde0a50
ConfigType and async_setup/setup type hint improvements (#54739) 2021-08-18 13:22:05 +02:00
ehendrix23
8bf79d61ee
Add upnp binary sensor for connectivity status (#54489)
* 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>
2021-08-17 20:23:41 +02:00
Steven Looman
2c1728022d
Use ssdp callbacks in upnp (#53840) 2021-08-13 11:13:25 -05:00
Simone Chemelli
75f7d3d696
Replace util.get_local_ip in favor of components.network.async_get_source_ip() - part 1 (#52980) 2021-07-22 08:12:33 -10:00
J. Nick Koston
d56bd61b93
Populate upnp devices from ssdp (#51221)
* Populate upnp devices from ssdp

* Update tests since data comes in via HASS format now

* pylint
2021-06-08 22:32:06 +02:00
tkdrob
c0656878db
Normalize async_setup_entry (#51161) 2021-05-27 15:56:20 +02:00
J. Nick Koston
4b74c57285
Reduce config entry setup/unload boilerplate T-U (#49786) 2021-04-27 22:19:57 +02:00
jan iversen
6992e24263
Rename HomeAssistantType —> HomeAssistant, integrations t* - v* (#49544)
* Integration vizio: HomeAssistantType -> HomeAssistant.

* Integration velbus: HomeAssistantType -> HomeAssistant.

* Integration vacuum: HomeAssistantType -> HomeAssistant.

* Integration upnp: HomeAssistantType -> HomeAssistant.

* Integration upcloud: HomeAssistantType -> HomeAssistant.

* Integration twinkly: HomeAssistantType -> HomeAssistant.

* Integration tts: HomeAssistantType -> HomeAssistant.

* Integration tradfri: HomeAssistantType -> HomeAssistant.

* Integration traccar: HomeAssistantType -> HomeAssistant.

* Integration tplink: HomeAssistantType -> HomeAssistant.
2021-04-22 10:53:57 -04:00
Steven Looman
555f508b8c
Reinitialize upnp device on config change (#49081)
* Store coordinator at Device

* Use DeviceUpdater to follow config/location changes

* Cleaning up

* Fix unit tests + review changes

* Don't test internals
2021-04-14 23:39:44 +02:00
Steven Looman
3e26e2adad
Handle device IP change in upnp (#46859) 2021-02-23 21:00:47 -06:00
Steven Looman
efa339ca54
Allow upnp ignore SSDP-discoveries (#46592) 2021-02-20 16:26:17 -10:00
Steven Looman
25c5c6aec9
Refactoring upnp component (#43646) 2021-01-29 10:23:34 +01:00
Steven Looman
05f9fb80c8
Fix upnp first discovered device is used (#44151)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-12-12 19:47:46 +01:00
Steven Looman
c812812631
Don't set upnp config_entry.unique_id from setup entry (#40988)
* 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>
2020-10-06 13:57:36 +02:00
Ville Skyttä
b4bac0f7a0
Exception chaining and wrapping improvements (#39320)
* 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.
2020-08-28 13:50:32 +02:00
Franck Nijhof
1c2ebdf307
Upgrade black to 20.8b1 (#39287) 2020-08-27 13:56:20 +02:00
Paulus Schoutsen
03676693ce
Catch upnp timeout error (#38794) 2020-08-13 12:11:58 +02:00
Steven Looman
c33f309d5f
Fix upnp error on unload_entry if device does not exist (#38230) 2020-08-05 02:24:42 +02:00
Steven Looman
48899c7a1c
Move upnp update_interval options flow (#35474) 2020-05-11 20:03:12 +02:00
Steven Looman
ee07fac9bc
Simplification of upnp component (#35191) 2020-05-04 10:30:43 -07:00
Steven Looman
6afb42bf7a
Improve UPnP configuration flow (#34737) 2020-05-02 18:03:54 -07:00
Steven Looman
dfc66b2018
Rewrite parts of upnp component (#33108)
* 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>
2020-04-11 00:24:03 +02:00
Paulus Schoutsen
d4615fd432
Freeze config entry data (#32615)
* Freeze config entry data

* Fix mutating entry.data

* Fix config entry options tests
2020-03-09 14:07:50 -07:00
Quentame
5015993f30 Move upnp imports at top-level (#29083) 2019-11-25 15:37:03 -08:00
escoand
82729bef70 Show all UPNP/IGD sensors in one device (#27517)
* show all UPNP/IGD sensors in one device

* use device name correctly

* Use id of device
2019-10-31 20:51:35 +01:00
Paulus Schoutsen
4de97abc3a Black 2019-07-31 12:25:30 -07:00
Paulus Schoutsen
1e22c8daca
Automatically generate config flow list (#23802)
* Add config flow to manifest.json

* Still load config flows via config flow platform

* Fix typo

* Lint

* Update config_flows.py"

* Catch import error when setting up entry

* Lint

* Fix tests

* Fix imports

* Lint

* Fix Unifi tests

* Fix translation test

* Add homekit_controller config flow
2019-05-13 01:16:55 -07:00
Steven Looman
05960fa29c Sort discovered entries by 'st' to ensure getting the same device each discovery (#23763) 2019-05-09 16:17:46 -07:00
cgtobi
2c07bfb9e0 Remove dependencies and requirements (#23024)
* Remove dependencies and requirements

* Revert "Remove dependencies and requirements"

This reverts commit fe7171b4cd.

* Remove dependencies and requirements

* Revert "Remove dependencies and requirements"

This reverts commit 391355ee2c.

* Remove dependencies and requirements

* Fix flake8 complaints

* Fix more flake8 complaints

* Revert non-component removals
2019-04-12 10:13:30 -07:00
Steven Looman
613c356c5f Upgrade to async_upnp_client==0.14.7 (#22543) 2019-03-29 13:41:50 -07:00