Commit Graph
100 Commits
Author SHA1 Message Date
Ville SkyttäandGitHub 32f7045c7c Upgrade flake8 to 3.8.4 (#41117)
https://flake8.pycqa.org/en/latest/release-notes/3.8.4.html
2020-10-03 10:11:22 +02:00
Ville SkyttäandGitHub 5bbddb5b26 Use NamedTuple for Huawei LTE sensor metadata (#40655) 2020-09-28 20:33:32 +03:00
Ville SkyttäandGitHub 4ca7b8569b Remove pre-0.102 Huawei LTE setup noop warnings (#40654) 2020-09-27 18:02:44 +02:00
Ville SkyttäandGitHub e06f2a89ea Add Huawei LTE SMS storage full and unread sensors (#40021) 2020-09-24 20:18:55 +03:00
Ville SkyttäandGitHub e3f9818af5 Add more Huawei LTE sensor metadata (#39988) 2020-09-24 17:32:44 +03:00
Ville SkyttäandGitHub 5e90a4d000 Use more state attribute name constants (#40428) 2020-09-21 23:03:39 +02:00
167490b71c Complete helpers.service type hints (#40193)
* Complete helpers.service type hints

* Update homeassistant/helpers/service.py

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>

* Handle None entity.supported_features
2020-09-20 12:03:58 +03:00
Ville SkyttäandGitHub 271ffac4a9 Fix static/class async mocks on Python 3.8.0 and .1 (#40147)
* forked_daapd

* shelly

* simplipy
2020-09-17 08:20:00 +03:00
Ville SkyttäandGitHub eb0af3752c Add more SSDP discovery data and constants (#39984) 2020-09-14 09:18:09 +02:00
Ville SkyttäandGitHub ad1a71ebc3 Don't try to create /test dir in camera tests (#39914)
ERROR:homeassistant.components.camera:
Can't write image to file: [Errno 13] Permission denied: '/test'
2020-09-14 08:40:59 +02:00
Ville SkyttäandGitHub aad6a24f28 Fix vizio async mock fixtures on Python 3.8.0 and .1 (#39926) 2020-09-14 08:35:30 +02:00
Ville SkyttäandGitHub f828cdcaef Fix setup of ONVIF devices without snapshot capability (#39723)
* Fix setup of ONVIF devices without snapshot capability

* Unrelated debug message typo fix
2020-09-06 16:52:06 -04:00
9f5baa0bf7 Syncthru device registry (#36750)
* Store printer instances in hass.data

* Add SyncThru device registry support

* Use config entry id as hass.data key

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>

* Use printer hostname as device registry name

* Handle non-syncthru device more gracefully on entry setup

* Use device identifiers rather than connections to link entities with devices

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-09-02 11:50:57 +02:00
Ville SkyttäandGitHub b4db9f615d Fix huawei_lte duplicate device registry identifiers (#39409)
Regression in 3c0f766933

Refs https://github.com/home-assistant/core/pull/38925
2020-08-30 14:27:56 +02:00
Ville SkyttäandGitHub b882304ec2 Upgrade pydocstyle to 5.1.0 (#39374) 2020-08-29 10:07:48 +02:00
Ville SkyttäandGitHub 6ae9399237 Upgrade isort to 5.4.2 (#37939) 2020-08-29 08:23:55 +02:00
Ville SkyttäandGitHub 1bf2c4d976 Upgrade pylint to 2.6.0 (#39363) 2020-08-29 07:59:24 +02:00
Ville SkyttäandGitHub 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
Ville SkyttäandGitHub 27f3c0a302 Skip install on tox pylint (#39260)
We're not operating on the installed package anyway, and necessary
dependencies are handled with tox deps.

As a nice bonus side effect, doing this sidesteps breakage caused by
pip's (up to 20.2.2 at least) behavior of prepending site-packages to
sys.path in certain cases, which in turn results in failures e.g. if a
version of typing that is incompatible with the (now overridden)
stdlib is installed there. And that combined with also pip's behavior
of installing a default build system consisting of setuptools and
wheel under the hood when it sees our pyproject.toml without a
build-system defined would provoke the breakage before we have a
chance to uninstall typing. (There are ways around this too, but
skipping the install makes the issue moot at least with our current
dependency set.)
2020-08-27 16:57:58 +02:00
Ville SkyttäandGitHub 98993d8503 Trivial requirements cleanups (#39222) 2020-08-27 16:56:53 +02:00
Ville SkyttäandGitHub 802c556e82 State and service related type hint improvements (#38956)
* Improve type hint of service_func to register

* Add named type for state values

* Narrow some unnecessarily broad state type hints
2020-08-17 15:02:43 -04:00
Ville SkyttäandGitHub fca071742d Install ffmpeg on Travis CI for homekit camera tests (#38955)
INFO:homeassistant.setup:Setting up ffmpeg
DEBUG:haffmpeg.core:Start FFmpeg with ['ffmpeg', '-version', '']
ERROR:haffmpeg.core:FFmpeg fails [Errno 2] No such file or directory: 'ffmpeg': 'ffmpeg'
2020-08-17 09:50:21 +02:00
Ville SkyttäandGitHub 3c0f766933 Huawei LTE device registry improvements (#38925)
* Fix getting software version in unauthenticated mode

* Add serial number device identifier if available
2020-08-16 13:38:12 +02:00
Ville SkyttäandGitHub 991bf126d4 Helpers type hint improvements (#38522) 2020-08-12 23:01:10 +02:00
Ville SkyttäandGitHub 63403f894d Fix run-in-env.sh sh options (#38520)
Shebang takes only one arg, regression in
f6540e3002
2020-08-03 21:20:12 +02:00
Ville SkyttäandGitHub c2a21fa496 Update coordinator improvements (#38366)
* Make generic

* Add type info to bunch of uses

* Recognize requests exceptions

* Recognize urllib exceptions
2020-07-30 18:04:00 +03:00
Ville SkyttäandGitHub 34ac4e78af Fix libav install in Travis CI (#38221) 2020-07-26 15:56:00 +02:00
Ville SkyttäandGitHub aa1c5fc43d Various type hint improvements (#37952) 2020-07-22 08:06:37 -07:00
Ville SkyttäandGitHub 01d2d2f315 Fix wolflink datetime import (#38028) 2020-07-21 10:37:54 -07:00
Ville SkyttäandGitHub ac0dbb17af Attrs cleanups (#37849) 2020-07-14 10:30:30 -07:00
Ville SkyttäandGitHub 22f17a1887 Travis CI improvements (#37840) 2020-07-14 09:29:56 +02:00
Ville SkyttäandGitHub 9e8e5c37f4 Update Travis-CI to use Python 3.7.1 (#37830)
Refs 89a9634d35
2020-07-14 00:45:10 +02:00
a077c280c8 Convert syncthru to config flow and native SSDP discovery (#36690)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-07-08 16:38:16 -07:00
Ville SkyttäandGitHub c9a97da0ef Strings capitalization consistency fixes (#37454) 2020-07-06 09:59:57 -07:00
Ville SkyttäandGitHub 3d08601796 Use package constraints in tox lint (#37500)
Otherwise fails with
pip._vendor.pkg_resources.ContextualVersionConflict: (importlib-metadata
1.7.0 (.../.tox/lint/lib/python3.7/site-packages),
Requirement.parse('importlib-metadata==1.6.0'), {'homeassistant'})
2020-07-05 11:04:00 +02:00
Ville SkyttäandGitHub 63af60c7e7 Upgrade flake8 to 3.8.3 (#37501)
https://flake8.pycqa.org/en/latest/release-notes/3.8.2.html
https://flake8.pycqa.org/en/latest/release-notes/3.8.3.html
2020-07-05 11:03:22 +02:00
Ville SkyttäandGitHub 3832c8efd9 Remove pytest-xdist from tox now that it's in requirements_test.txt (#37455) 2020-07-04 10:03:29 +02:00
7c5e852303 Improve detected Huawei LTE device name (#36772)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-06-22 21:49:05 -07:00
Ville SkyttäandGitHub 0b7d2aa4d7 Add unique id to huawei_lte config entries (#36765) 2020-06-14 23:05:43 +02:00
Ville SkyttäandGitHub 29b8f76e57 Use past tense in messages for already invalidated deprecated configs (#36591) 2020-06-09 23:26:55 -07:00
Ville SkyttäandGitHub 0c5ca3084e Add and fix type hints (#36501)
* Fix exceptions.Unauthorized.permission type

* Use auth.permission consts more

* Auth typing improvements

* Helpers typing improvements

* Calculate self.state only once
2020-06-06 20:34:56 +02:00
Ville SkyttäandGitHub fc395de511 Upgrade mypy to 0.780 (#36416)
http://mypy-lang.blogspot.com/2020/06/mypy-0780-released.html
2020-06-03 22:51:44 +02:00
Ville SkyttäandGitHub f8416484f8 More data entry flow and HTTP related type hints (#34430) 2020-05-26 09:28:22 -05:00
Ville SkyttäandFranck Nijhof bc0109256f Upgrade huawei-lte-api to 1.4.12 (#35618)
https://github.com/Salamek/huawei-lte-api/releases/tag/1.4.12
2020-05-14 23:26:09 +02:00
Ville SkyttäandGitHub 7d02b15437 Upgrade huawei-lte-api to 1.4.12 (#35618)
https://github.com/Salamek/huawei-lte-api/releases/tag/1.4.12
2020-05-14 17:22:49 +02:00
Ville SkyttäandGitHub cf50ccb919 Run pre-commit gen_requirements_all on pre-commit config changes (#35588) 2020-05-14 07:24:27 +02:00
Ville SkyttäandGitHub e2b45915a6 Upgrade flake8 to 3.8.1, fix findings (#35578) 2020-05-13 17:14:30 -05:00
Ville SkyttäandGitHub b4404b071f Pylint cleanups (#35409)
* Avoid some outer name redefinitions

* Remove unneeded directives

* Narrow directive scope

* Don't disable redefined-variable-type
2020-05-09 14:08:40 +03:00
Ville SkyttäandGitHub 752679c55d Check isinstance on collections.abc, not typing classes (#35087) 2020-05-02 23:57:48 +02:00
Ville SkyttäandGitHub 43d63d0fe5 Use savoury1/ffmpeg4 PPA on Travis, PyAV 7 needs FFmpeg >= 4 (#35090) 2020-05-02 14:52:29 -07:00
Ville SkyttäandGitHub 5450cda3a5 Async vs sync inheritance mismatch fixes (#35088) 2020-05-02 14:35:55 -07:00
Ville SkyttäandGitHub 435a88636a Address new issues flagged by flake8 3.8.0a2 (#34964) 2020-04-30 21:37:58 +02:00
Ville SkyttäandGitHub 3259ba6116 Fix hassfest validate invocation in Tox (#34428) 2020-04-19 17:43:49 +02:00
Ville SkyttäandGitHub 267d98b5eb Type hint improvements (#33082) 2020-04-17 11:33:58 -07:00
Ville SkyttäandGitHub 9b7e31eca3 Make f-strings without placeholder normal strings (#33938) 2020-04-10 09:59:06 +02:00
Ville SkyttäandPaulus Schoutsen 197736f66b Upgrade huawei-lte-api to 1.4.11 (#32791)
https://github.com/Salamek/huawei-lte-api/releases/tag/1.4.11
2020-03-21 15:16:33 -07:00
Ville SkyttäandGitHub ffc9bcb4d7 Use PEP 526 syntax with NamedTuples (#33081) 2020-03-21 11:18:32 +02:00
Ville SkyttäandGitHub 05abf37046 Type hint improvements (#32905)
* Complete helpers.entity_component type hints

* Add discovery info type
2020-03-18 19:27:25 +02:00
Ville SkyttäandGitHub e97d21aec0 Run gen_requirements_all and hassfest in pre-commit (#32792)
Use generate mode for easy commit amendment with readily generated
files on failure.
2020-03-17 21:03:43 +01:00
Ville SkyttäandGitHub 433b89de50 Add Huawei LTE WiFi status binary sensors (#32553) 2020-03-17 19:04:01 +02:00
Ville SkyttäandGitHub e86919a997 Type hint improvements (#32793) 2020-03-14 11:39:28 +01:00
Ville SkyttäandGitHub d04479044c Upgrade huawei-lte-api to 1.4.11 (#32791)
https://github.com/Salamek/huawei-lte-api/releases/tag/1.4.11
2020-03-14 11:37:44 +01:00
Ville SkyttäandGitHub 221d5205e4 Upgrade mypy to 0.770, tighten config a bit (#32715)
* Upgrade mypy to 0.770, related cleanups

https://mypy-lang.blogspot.com/2020/03/mypy-0770-released.html

* Clean up config and make it a notch stricter, address findings
2020-03-12 11:52:20 +01:00
Ville SkyttäandGitHub da7c5518f3 Add Huawei LTE operator and network related sensors (#32485)
* Add Huawei LTE operator and network related sensors

Adds "Operator search mode", "Operator name", "Operator code", and "Preferred mode" sensors

* Blackify

* Blackify "Add Huawei LTE operator and network related sensors"
2020-03-05 21:29:53 +02:00
Ville SkyttäandGitHub 496bd3dddf Add and use more unit constants (#32122)
* Add and use speed constants

* Add and use meter based volume and area constants

* Add and use more mass unit constants

* Add and use concentration unit constants

* Add and use watts per square meter constant

* Use more time constants

* Use more data constants
2020-02-24 17:52:14 -08:00
Ville SkyttäandGitHub 9b2544c923 Remove some unneeded pylint suppressions (#32152) 2020-02-24 16:47:15 -08:00
Ville SkyttäandGitHub 03f7fe483b Type hint improvements (#31876)
* Complete components.remote type hints

* Define ConfigType only in helpers.typing
2020-02-16 13:47:55 +01:00
Ville SkyttäandGitHub 733f1e1101 Helpers typing improvements (#31865) 2020-02-15 13:03:53 -08:00
Ville SkyttäandGitHub 1609e33030 Simplify missing Garmin Connect data handling, mark entities un/available (#31718)
* Simplify missing Garmin Connect data handling, mark entities un/available

* Remove unnecessary else
2020-02-15 17:53:10 +02:00
Ville SkyttäandGitHub 3018e8ff47 Use time.monotonic instead of time.time where appropriate (#31780) 2020-02-13 22:57:07 +01:00
Ville SkyttäandGitHub 3e23a3a860 Add and use bunch of data size and rate related constants (#31781)
Also fix a few units to match the corresponding data.
2020-02-13 08:52:57 -08:00
Ville SkyttäandGitHub d1b0ab736d Improve Huawei LTE timeouting/stalling request behavior (#31710)
* Suppress data get timeout exceptions for 30s after notify attempts

At least SMS send failures may put the API in a state where it times out
some (but not all) data get operations for some time, e.g. 25s.

Closes https://github.com/home-assistant/home-assistant/issues/30827

* Do not pile up duplicate data requests

Do not add another request for a piece of data for which a previous
request is still in progress. For example failing SMS sends are known to
stall some (but not all) requests for some time, and firing up more is
not going to help.
2020-02-11 17:54:19 -08:00
Ville SkyttäandPaulus Schoutsen 64fc7103be Use min and m as units in Garmin Connect for consistency and correctness (#31543) 2020-02-06 11:08:16 -08:00
Ville SkyttäandGitHub 08a74ff686 Use min and m as units in Garmin Connect for consistency and correctness (#31543) 2020-02-06 10:54:01 -08:00
Ville SkyttäandGitHub dc5ca461a9 Run mypy through a pyenv/virtualenv enabler wrapper script (#30922) 2020-02-01 07:12:46 -08:00
Ville SkyttäandGitHub 8fff6462a1 Upgrade huawei-lte-api to 1.4.7 (#31155)
https://github.com/Salamek/huawei-lte-api/releases/tag/1.4.7
2020-01-27 08:50:01 +02:00
Ville SkyttäandFranck Nijhof 80a55360dc Remove no longer used Hound config (#31154) 2020-01-25 12:48:32 +01:00
Ville SkyttäandGitHub 98ac84349c Fix Huawei LTE SMS recipient setting from options UI (#31117)
* Fix Huawei LTE SMS recipient setting from options UI

Refs https://github.com/home-assistant/home-assistant/issues/30827

* Use core interfaces in tests

* ...more
2020-01-25 13:09:43 +02:00
Ville SkyttäandGitHub 9795449d22 Make pylint fail on informational messages too (#31136)
Refs https://github.com/PyCQA/pylint/issues/3250
2020-01-24 23:27:15 +02:00
Ville SkyttäandGitHub 5e2ba2eb77 Enable some more bandit checks (#30857)
* Enable B108 (hardcoded tmp dir), address findings

* Enable B602 (subprocess popen with shell), address findings

* Enable B604 (start process with shell), address findings

* Enable B306 (mktemp), B307 (eval), and B325 (tempnam), no issues to address
2020-01-20 18:44:55 +02:00
Ville Skyttäandspringstan 4a66eb0a69 Upgrade huawei-lte-api to 1.4.6 (#30683)
https://github.com/Salamek/huawei-lte-api/releases/tag/1.4.6
https://github.com/Salamek/huawei-lte-api/releases/tag/1.4.5
2020-01-11 23:36:40 +01:00
Ville Skyttäandspringstan 62f53b656d Fix test_scenes_with_entity (#30684)
Don't assume any particular order for returned scenes; it's undefined
(currently uses dict values()).
2020-01-11 22:25:59 +01:00
Ville SkyttäandPaulus Schoutsen 74cde3de6e Upgrade pydocstyle to 5.0.2 (#30648)
https://github.com/PyCQA/pydocstyle/blob/5.0.2/docs/release_notes.rst
2020-01-10 19:56:07 +01:00
Ville SkyttäandCharles Garwood 80cbc32c49 Spell Zigbee consistently, with lowercase "b" (#30440)
https://zigbeealliance.org/developer_resources/zigbee-specification/
"Please note that this uses old branding, Zigbee is always a lowercase
 B, not a capital. This change occurred shortly after the official
 release of this document."

Also other docs at https://zigbeealliance.org/solution_type/zigbee/,
https://github.com/zigpy/zigpy/issues/111
2020-01-06 08:32:10 -05:00
Ville SkyttäandGitHub f400b77837 Preserve new BLE tracker item name if seen before adding discovery (#30318)
* Preserve new BLE device name if one seen before the last scan but not on it

* Save an indented else block

* Use async_fire_time_changed and mock_device_tracker_conf in tests
2020-01-05 23:13:54 +02:00
Ville SkyttäandGitHub 5216477353 Be consistent with Home Assistant and Hass.io spelling (#30500)
* Be consistent with Home Assistant spelling

* Be consistent with Hass.io spelling
2020-01-05 14:09:17 +02:00
Ville SkyttäandPaulus Schoutsen fa4fa30461 Various string cleanups (#30435)
* Remove some unnecessary string concatenations

* Replace some simple str.formats with f-strings

* Replace some string concatenations with f-strings
2020-01-03 14:47:06 +01:00
Ville SkyttäandPaulus Schoutsen c130e81638 Fix number of times seen in debug message (#30429) 2020-01-03 11:31:50 +01:00
Ville SkyttäandGitHub e6388e186c Remove unnecessary string literal concatenations (#30360) 2020-01-02 21:17:10 +02:00
Ville SkyttäandGitHub 9892564ab5 Upgrade rflink to 0.0.50, ignore_devices now supports * and ? anywhere (#30268)
https://github.com/aequitas/python-rflink/releases/tag/0.0.50
https://github.com/aequitas/python-rflink/releases/tag/0.0.49
https://github.com/aequitas/python-rflink/releases/tag/0.0.48
https://github.com/aequitas/python-rflink/releases/tag/0.0.47
2019-12-29 21:12:49 +02:00
Ville SkyttäandPaulus Schoutsen 4e50a402c7 Note Huawei LTE notify service change requires restart (#30223)
Refs https://github.com/home-assistant/home-assistant/issues/30222
2019-12-28 16:31:42 +01:00
Ville SkyttäandPaulus Schoutsen c5a280c064 Huawei LTE: Fix YAML options overriding ones set from GUI (#30249)
Closes https://github.com/home-assistant/home-assistant/issues/30221
2019-12-28 16:27:49 +01:00
Ville SkyttäandMartin Hjelmare e4cda9ae0b Fix Huawei LTE error message on service call without URL and routers (#30250) 2019-12-28 12:55:45 +01:00
Ville SkyttäandMartin Hjelmare 50a87bbe18 Add Huawei LTE integration suspend and resume services (#30207)
Useful e.g. if accessing the router web interface from another source
such as a web browser is temporarily required.
2019-12-25 12:43:51 +01:00
Ville SkyttäandGitHub a5c4508571 Make Huawei LTE notify service name configurable (#30208)
* Default Huawei LTE notify service name to notify.huawei_lte, make configurable

Closes https://github.com/home-assistant/home-assistant/issues/29409

* Set default notify service name for uninvoked options flow
2019-12-25 13:42:28 +02:00
Ville SkyttäandPaulus Schoutsen 868eb3c735 More helpers type improvements (#30145) 2019-12-22 19:51:39 +01:00
Ville SkyttäandGitHub 6604680793 Helpers type hint improvements (#30106) 2019-12-21 09:23:48 +02:00
Ville SkyttäandFranck Nijhof ecdc1adf90 Upgrade mypy to 0.761 (#30104)
https://mypy-lang.blogspot.com/2019/12/mypy-0760-released.html
https://github.com/python/mypy/releases/tag/v0.761
2019-12-20 22:35:02 +01:00
Ville SkyttäandGitHub d236a19139 Include all SSDP data in discovery info (#28197)
* Include all SSDP data in discovery info

* Use UPnP device description as discovery info, inject some SSDP attrs

* Clean up attribute names

* Adapt existing SSDP flows to changed attribute names

* Prefix all SSDP UPnP attribute name constants with ATTR_UPNP, tweak a bit
2019-12-19 19:28:03 +02:00
Ville SkyttäandPaulus Schoutsen 445fd15f76 Drop Python 3.6 support (#29978) 2019-12-16 07:29:19 +01:00