Commit Graph

46 Commits (8e4321af59308ebc62cfbedfff88800c4aa8164b)

Author SHA1 Message Date
Aaron Bach ee215fb589
Streamline `hass.data` storage for AirVisual (#64476) 2022-01-19 14:32:23 -07:00
Marc Mueller 4e2cd1bec0
Update typing (2) [a-i] (#63923) 2022-01-11 21:23:26 +01:00
Franck Nijhof eb5a321a9f
Mark removed config schemas as removed (#61014) 2021-12-21 12:46:10 +01:00
Marc Mueller f57d42a9e8
Use platform enum (1) [A-D] (#60908)
* Use platform enum (1) [A-D]

* Fix imports

* Fix tests

* Use Platform even in tests
2021-12-03 08:51:30 -08:00
jugla 512bdac724
Air visual : robustness at startup when evaluate time interval (#59544) 2021-11-13 08:44:18 -07:00
Aaron Bach 39054d656b
Perform some AirVisual code cleanup (#58858) 2021-11-01 09:03:37 +01:00
Aaron Bach 3da3d26573
Make sure AirVisual data storage conforms to standards (#57806) 2021-10-16 23:58:39 -06:00
Aaron Bach b72f1553ea
Use current config entry standards for AirVisual (#57132) 2021-10-11 09:17:43 -06:00
Aaron Bach 4104a3dee6
Use built-in logic for options handler in AirVisual (#57131) 2021-10-08 14:20:57 -05:00
Aaron Bach c9e8d42405
Use EntityDescription - airvisual (#55125) 2021-08-25 10:51:02 +02:00
Aaron Bach e04b2c2e35
Bump pyairvisual to 5.0.9 (#53578) 2021-07-27 21:39:58 +02:00
Franck Nijhof d4c4263730
Adjust typing of _attr_extra_state_attributes (#53529) 2021-07-27 01:25:22 +02:00
Aaron Bach 8d9345c407
Add missing type annotations to Airvisual (#52615) 2021-07-21 22:18:08 +02:00
Aaron Bach 5ce4de7bbb
Migrate AirVisual `air_quality` platform to `sensor` platform (#52349)
* Migrate AirVisual air_quality platform sensors

* Remove redundancy

* Cleanup

* Properly set available

* Unwind config_entry -> entry name change

* More unwinding

* Rename

* Update homeassistant/components/airvisual/sensor.py

Co-authored-by: Franck Nijhof <git@frenck.dev>

* Code review

* Linting

Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-07-04 12:16:06 -06:00
Franck Nijhof 4007430d72
Small entity attribute cleanup in AirVisual (#51601)
* Small entity attribute cleanup in AirVisual

* Fix icon in sensor update
2021-06-08 08:29:04 +02:00
J. Nick Koston 51be2f860a
Reduce boilerplate to setup config entry platforms A-C (#49681)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-04-26 07:46:55 -10:00
J. Nick Koston 4cd7f9bd8b
Raise ConfigEntryAuthFailed during setup or coordinator update to start reauth (#48962) 2021-04-09 19:41:29 -10:00
jugla 76d9c62900
Evaluate AirVisual interval on reboot (#48392)
* Reevaluate interval on reboot (and periodically)

* AirVisual update interval periodically

* AirVisual : update periodically interval request

* AirVisual : update sever request interval periodically

* AirVisual : periodically update interval for server requests

* AirVisual : periodic update for server interval

* Airvisual : periodic update of server interval

* AirVisual : periodic update of server interval

* AirVisual : periodic update of interval request

* Periodic interval update of server request

* AirVisual : periodic update of interval request

* Reassess interval request on periodic event

* ReAssess interval between 2 requests during update

* ReAssess interval between 2 requests periodically

* Reassess interval of server requests periodically

* Reassess the interval between 2 server requests

* Reassess interval between 2 server requests

* Reassess server requests interval periodically

* Assess interval request after inserting instance
2021-03-30 11:03:35 -06:00
J. Nick Koston a851bff95a
Create async_config_entry_first_refresh to reduce coordinator boilerplate (#48451) 2021-03-29 12:51:39 -10:00
jugla 4d61f6f8c2
Reduce number of iqair request (#47890) 2021-03-14 09:04:08 -06:00
Erik Montnemery 6c084ae6ce
Update integrations a-e to override extra_state_attributes() (#47756) 2021-03-11 16:51:03 +01:00
Aaron Bach fa8ded5ad8
Fix AirVisual exception when config entry contains old integration type (#47405) 2021-03-04 13:20:08 -08:00
Quentame 198ecb0945
Uniformize platform setup (#47101)
* A platform is not a component

* Fix dynalite

* SUPPORTED_PLATFORMS --> PLATFORMS

* In tests

* In tests 2

* Fix SmartThings

* Fix ZHA test

* Fix Z-Wave

* Revert Z-Wave

* Use PLATFORMS const in ambient_station

* Fix ihc comment
2021-03-02 21:43:59 +01:00
Aaron Bach 3bdf962838
Add ability to configure AirVisual with city/state/country in UI (#44116) 2021-02-01 11:38:03 -10:00
Franck Nijhof 00d0c3f98b
Remove invalidation version from Airvisual (#43810) 2020-12-01 17:13:15 +01:00
Aaron Bach 3707b72a37
Deprecate YAML config for AirVisual (0.119 removal) (#42581) 2020-11-09 13:41:04 +01:00
Aaron Bach f78e75e16f
Properly unload listener for AirVisual config entry updates (#42583) 2020-10-29 19:04:12 -05:00
Aaron Bach 099de37ee5
Fix re-authentication in AirVisual (#41801) 2020-10-15 09:30:39 +02:00
Aaron Bach f82ca44aac
Bump pyairvisual to 5.0.2 (#40554)
* Bump pyairvisual to 5.0.2

* Fix tests
2020-09-24 15:31:47 -06:00
Aaron Bach 0e11c10468
Prompt user to reauthenticate AirVisual when API key expires (#38341)
* Prompt user to reauthenticate AirVisual when API key expires

* Don't version bump

* Cleanup

* Linting
2020-09-09 16:41:07 -06:00
springstan 64513c8c9a
Update airvisual to use CoordinatorEntity (#39417) 2020-08-30 09:01:19 -05: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
Aaron Bach 6609bd94e5
Prevent AirVisual from polling (#36199)
* Prevent AirVisual from polling

* Docstring
2020-05-27 13:53:14 -06:00
Aaron Bach 599d3ae930
Fix bugs with AirVisual auto-leveling API (#36097)
* Fix bugs with AirVisual auto-leveling API

* Code review

* Code review
2020-05-26 09:00:05 +02:00
Aaron Bach f5a326c51e
Auto-level AirVisual API calls (#34903) 2020-05-21 10:49:18 +02:00
Aaron Bach 953228ebd2
Allow use of common entity update service in AirVisual (#35203) 2020-05-04 15:09:09 -06:00
Aaron Bach 8661cf463a
Update AirVisual to use DataUpdateCoordinator (#34796)
* Update AirVisual to use DataUpdateCoordinator

* Empty commit to re-trigger build

* Don't include history or trends in config flow

* Code review
2020-05-01 11:29:58 -06:00
Aaron Bach 8ff1fc6f8b
Bump pyairvisual and remove unused trends (#34707) 2020-04-25 21:30:12 -06:00
Aaron Bach 86d3321d59
Store integration type in AirVisual config entry (#34621) 2020-04-24 10:11:17 -07:00
Aaron Bach 4d292c2723
Add support for AirVisual Node/Pro units (#32815)
* Add support for AirVisual Node Pro units

* Fixed tests

* Updated dependencies

* Guard looks cleaner

* Limit options update to geography-based entries

* Docstring

* Use proper precision in display_temp

* Add availability for AirVisualNodeProSensor

* Updated translations

* Samba stuff in play

* Wrap up Samba

* Fix tests

* Remove unnecessary updates

* Normalize labels

* Bump requirements

* Don't include configuration.yaml support for this new functionality

* Fix tests

* Code review

* Code review

* Update coveragerc

* Code review
2020-04-23 01:41:14 +02:00
Paulus Schoutsen 0b90ebf91e
Allow async_setup changes to config entry data be taken into a… (#34166)
* Allow async_setup changes to config entry data be taken into account

* Fix tests

* Limit scope try…finally

* Update tests/test_config_entries.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Fix import

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-04-14 18:46:41 -07:00
Aaron Bach 0e2fa7700d
Allow more than one AirVisual config entry with the same API k… (#33072)
* Allow more than one AirVisual config entry with the same API key

* Add tests

* Correctly pop geography

* Code review

* Code review
2020-03-24 11:39:38 -07:00
Aaron Bach 21cff003f8
Add options flow for AirVisual (#32634)
* Add options flow for AirVisual

* Code review

Co-Authored-By: Robert Svensson <Kane610@users.noreply.github.com>

Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>
2020-03-10 14:16:25 -06:00
Aaron Bach e9a7b66df6
Add config entry for AirVisual (#32072)
* Add config entry for AirVisual

* Update coverage

* Catch invalid API key from config schema

* Rename geographies to stations

* Revert "Rename geographies to stations"

This reverts commit 5477f89c24cb3f58965351985b1021fc5fc794a5.

* Update strings

* Update CONNECTION_CLASS

* Remove options (subsequent PR)

* Handle import step separately

* Code review comments and simplification

* Move default geography logic to config flow

* Register domain in config flow init

* Add tests

* Update strings

* Bump requirements

* Update homeassistant/components/airvisual/config_flow.py

* Update homeassistant/components/airvisual/config_flow.py

* Make schemas stricter

* Linting

* Linting

* Code review comments

* Put config flow unique ID logic into a method

* Fix tests

* Streamline

* Linting

* show_on_map in options with default value

* Code review comments

* Default options

* Update tests

* Test update

* Move config entry into data object (in prep for options flow)

* Empty commit to re-trigger build
2020-02-28 20:14:17 -07:00
Paulus Schoutsen f5076188ef
Consolidate all platforms that have no tests (#22096)
* Consolidate

* Fix tests

* Update imports

* Fix import

* Use importlib because integration and package share name

* Fix more tests

* Update .coveragerc and CODEOWNERS
2019-03-16 20:44:05 -07:00