Commit Graph

947 Commits (e2f5a707cea0b44adea1bfca555ddda790da865e)

Author SHA1 Message Date
Malte Franken b7f3eb77dc
Add integration_type to usgs_earthquakes_feed (#81846) 2022-11-09 11:20:27 +01:00
Malte Franken 3edaef63b0
Add integration_type to ign_sismologia (#81729)
define integration type
2022-11-08 14:47:00 +01:00
Erik Montnemery c3d4a9cd99
Create repairs issue if an outdated currency code is configured (#81717)
* Create repairs issue if an outdated currency code is configured

* Add script for updating list of currencies

* Use black for formatting

* Move currency codes to a separate file

* Address review comments
2022-11-08 07:21:09 +01:00
Robert Hillis bc146a09db
Add integration_type for some integrations (#81499) 2022-11-07 19:39:29 +01:00
puddly 604cd46ec9
Enable SkyConnect config flow and use correct case in USB matching (#81522)
* Ensure `USBCallbackMatcher` uses the appropriate case for each field

* Enable the config flow for the SkyConnect integration

* Update unit test
2022-11-07 17:26:16 +01:00
Mick Vleeshouwer ff18cece7b
Add Brandt, Hexaom, SIMU & Ubiwizz as virtuals integrations of Overkiz (#79566)
* Match supported brands with Overkiz libs

* Add missing files for mypy
2022-11-07 16:17:56 +01:00
StefanIacobLivisi 902e075d58
Add livisi integration (#76863) 2022-11-07 14:40:23 +01:00
Malte Franken efd60de1ac
Add integration_type to geonetnz_volcano (#81607)
define integration type
2022-11-07 09:01:07 +01:00
Malte Franken 64a508be7b
Add integration_type to geonetnz_quakes (#81548)
define integration type
2022-11-05 11:05:19 +01:00
Renat Sibgatulin dd5baa6e48
Add air-Q integration (air quality sensors) (#76999)
* Added initial files for air-Q integration

* Allow FIXME comments in pylint (temporary)

Also reintroduce --ignore-missing-annotations=y

* Set up air-q entry to connect to aioairq's API (initial attempt)

Also add necessary constants

* Implement a class for sensors and its update logic

Very early stage, WIP

* Zeroconf and authentication are working

* Complete the bare-bone minimal working version

Specifically, make AirQSensor update its values.

* Handle invalid authentication gracefully

* Handle ClientConnectionError gracefully

* Add field hint for the login form

The key in the schema, which defines the form in
`ConfigFlow.async_show_form` is looked up in both `airq/strings/json`
and `airq/translations/en.json`. I am still not 100% sure how this
lookup is performed. WIP

* Minor cleanups

* Extend sensor list to all supported by SensorDeviceClass

Also manage warming up sensors

* aioairq is published to PyPI and mentioned in requirements

* Reordered constants and list content alphabetically

As required by style guides. Also turned SENSOR_TYPES to a list

* Updated file docstrings for a dev unfamiliar w/homeassistant like myself

* Adding a bit of logging for the integration setup process

* Expose scan interval & smoothing flag

Also streamline test_authentication in config_flow.

* Fix a type annotation mistake

* Use as many constants from homeassistant.const as possible

My only concern is using CONST_IP_ADDRESS = "ip_address" for smth which
stands for both IP address and mDNS...

* Temporarily rollback ConfigFlow.async_step_configure and use defaults

TODO: implement OptionFlowHandler instead

* Define custom Coordinator, w subset of airq config

The latter is then accessed from entity / sensor constructors to define
correct DeviceInfo

* Provide translations to de & fr + minor changes to en

* Provide translations to ru + a minor en changes

* Make translation a little more helpful and polite

* Fix devicename and entry title

* Remove stale commented out code

* Test config_flow

At this point two helper functions which interact with the external
library are not tested

* Clean up unrelated and meant as temporary changes

* Clean up unnecessary comments meant for internal use

* Move fetching config to a dedicated async coordinator method

As opposed to it being a potentially poorly justified step in
async_setup_entry

* Remove zeroconf support since it is not yet ready

* Remove translations other than en

* Remove unnecessary comments, manifest.json entries, and constants

* Improve exception handling

- `_LOGGER` uses `debug` and not `error` levels.
- Drop `ClientConnect` and catch `aiohttop.ClientConnectError` directly
- Drop `Exception` as it is not expected from `aioairq` (remove the
  corresponding test too)

* Drop strings for obsolete errors and steps

Specifically, `unknown` error isn't caught any more. `configure` step
has also been removed.

* Refactor en.json to be consistent with strings.json

* Move target_route from a coordinator argument to a constant

At this point a user cannot configure the target_route route, thus it
does not make sense to expose it half-heartedly in
`AirQCoordinator.__init__`, since it cannot be accessed.

* Fix an async call in `AirQCoordinator.async_setup_entry`

* Refactor underlying aioairq API

- Use `homeassistant.helpers.aiohttp.async_get_clientsession` and pass a
  single persistent session to `aioariq.AirQ.__init__`
- `aioairq.AirQ.fetch_device_info` now returns a `DeviceInfo` object heavily
  inspired and almost compatible with `homeassistant.helpers.entity.DeviceInfo`.
  Make heavier use of this object and define a single `DeviceInfo` in the
  `AirQCoordinator` (instead of recreating the same object for each sensor
  of the device in `sensor.AirQSensor`)
- Drop two helper functions in `config_flow.py` and operate on `aioariq.AirQ`
  methods directly

* Fix the version of aioairq

* Add 15 more sensors + icons

* Remove cnt* & TypPS, change units of health & performance

* Add 12 more sensors

* Add a missing icon

* Gracefully handle device not being available on setup

If the device and the host are not on the same WiFi,
ServerTimeoutError is raised, which is caught by
ClientConnectionError.
If the device is powered off, ClientConnectionError is expected.
In both cases, ConfigEntryNotReady is raised, as prescribed by the docs.
Newer version of aioairq times-out far quicker than the default 5 mins.

* Rename two sensors

* Validate provided IP address / mDNS

aioairq now raises InvalidInput if provided IP / mDNS does not seem
valid. Handle this exception correctly

* Apply suggestions from code review

Clean up the comments and rename the logger

Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: Artem Draft <Drafteed@users.noreply.github.com>

* Only fetch device info during the first refresh

- Fetched info is stored in AirQCoordinator.device_info.
- In `AirQSensor.native_value` only multiply by the factor if
  the sensor reading is not None
- Fix the tests for ConfigFlow for aioairq==0.2.3. Specifically
  make the dummy data pass the new validation step upstream
  + add a test which fails it

* Drop custom device classes for now

* Apply suggestions from code review

Co-authored-by: Artem Draft <Drafteed@users.noreply.github.com>

* Only fetch device info during ConfigFlow.async_step_user

Store the result obtained by `airq.fetch_device_info` it in
`config_entry.data`. Pass the entire config entry to `AirQCoordinator`
and build the entire `homeassistant.helpers.entity.DeviceInfo` in the
`AirQCoordinator.__init__`. This makes
`AirQCoordinator._async_fetch_device_info` and overloaded
`AirQCoordinator._async_config_entry_first_refresh` obsolete.

Bump aioairq version.

Turn update_interval from `AirQCoordinator.__init__` argument into a
contestant.

* Custom entity description exposing a hook to modify sensor value

Use a `AirQEntityDescription` with a callable `value_fn` which allows to
change the sensor value retrieved from the device. Note that the
callable does not handle data retrieval itself (even from
`coordinator.data`). Instead it is purely a hook to transform obtained
value.

* Avoid duplicated use of unique_id

Device info is fetched  during the `ConfigFlow.async_user_step`.
`unique_id` is taken from the device info and is **not** stored
in `config_entry.data`. Subsequently `config_entry.unique_id` is
used instead.

* Drop unnecessary try-except

Co-authored-by: Artem Draft <Drafteed@users.noreply.github.com>

* Clarify the use of value_transform_fn

* Refactor the use of lambdas in AirQEntityDescription

Now it is the job of the callable under `value` to get the sensor
reading from the coordinator's data. Factoring this functionality into a
callback decouples  the key of the description from the key of dict,
returned by the API, so `AirQEntityDescription` no longer requires its key
to be set to smth clearly internal (e.g. `nh3_MR100`).

* Use a callback to update native_value

Since all `native_value`s are updated synchronously, it can as well be
done in a callback for better state consistency (right?)

* Revert the description keys to match data keys

Must match given the current way of identifying available sensors. On a
broader scale, they must match to be able to relate the descriptions to
sensors, unless a separate lookup table is maintained.

* Reduce number of loops when adding sensors

Filtering warming up sensors and non-sensor keys can be combined with
adding entities.

* Remove obsolete imports

* Update integrations.json

* Add integration_type

Integration supports multiple devices => hub

Co-authored-by: dl2080 <daniel.lehmann@runbox.com>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: Artem Draft <Drafteed@users.noreply.github.com>
Co-authored-by: Daniel Lehmann <43613560+dl2080@users.noreply.github.com>
Co-authored-by: Martin Selbmann <job@martin-selbmann.de>
2022-11-03 23:13:57 +01:00
Malte Franken ee4d28000d
Add integration_type to gdacs (#81451) 2022-11-03 09:32:40 +01:00
Rami Mosleh fc3843f5e2
Add config flow to `pushbullet` (#74240)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-11-02 16:11:44 +01:00
Aidan Timson d6689937a3
Add integration type to OVO Energy (#81187) 2022-10-31 20:42:02 +01:00
Aidan Timson 8044b9587a
Add integration type to System Bridge (#81186) 2022-10-31 20:41:12 +01:00
aschmitz a766b41b13
Add basic Aranet integration (#80865) 2022-10-30 22:50:46 -05:00
G Johansson 7bd89621ce
Change IoT Class for Min/Max to calculated (#81199) 2022-10-29 14:21:28 -04:00
epenet 7feb463a4c
Add integration_type to samsungtv (#81101) 2022-10-27 19:18:09 +03:00
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
Daniel Gangl b2b3c47917
Add config flow to zamg (#66469) 2022-10-26 18:35:12 +02:00
Marc Mueller b148cdd64a
Add integration type to fritzbox_callmointor integration (#81032) 2022-10-26 18:19:54 +02:00
Raman Gupta 1b3c383558
Add integration_type to vizio, tomorrowio, zwave_js (#80975) 2022-10-25 23:31:44 +02:00
Aaron Bach 2af58ad609
Set integration type on codeowned integrations @bachya (#80974) 2022-10-25 22:23:54 +02:00
Franck Nijhof 98591cd4b6
Remove hardware and fix raspberry pi brands in integrations.json (#80970) 2022-10-25 21:05:04 +02:00
Erik Montnemery 3aa64aaaf1
Mark some integrations as system integrations (#80948) 2022-10-25 15:30:46 +02:00
Bram Kragten 36bb0bbc1a
Fix `integrations.json` creation, make `iot_standards` a list (#80945) 2022-10-25 13:43:40 +02:00
hackerESQ f977b264a1
Add tplink dhcp entry for EP25 model (#80650)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2022-10-25 13:22:09 +02:00
Franck Nijhof 52f109f6ab
Add IKEA SYMFONISK as virtual integration (#80833) 2022-10-25 12:09:22 +02:00
J. Nick Koston 559e281431
Add oralb integration (#80918)
* mapping

* update

* working

* tests

* fixes

* temp add binary sensor platform to make sure it works

* fixes

* 100% cover

* adjust

* disable chatty sensors by default

* remove binary sensor_platform for next PR

* time is much nicer than counter
2022-10-24 23:11:40 -05:00
Simon Hansen b56d332c26
Add integration_type to launchlibrary (#80907) 2022-10-24 23:23:14 +02:00
Simon Hansen 2ddf1f9416
Add integration_type to iss (#80909) 2022-10-24 23:19:59 +02:00
Kevin Addeman fdcce0446c
Add Lutron Caseta zeroconf discovery for RA3/HWQSX (#80852) 2022-10-23 18:17:36 -05:00
Franck Nijhof d4a5393f7b
Set integration type on codeowned integrations @frenck (#80830) 2022-10-23 20:43:13 +02:00
Chris Talkington 9734086d9b
Add integration_type to jellyfin (#80832) 2022-10-23 13:42:25 -05:00
Chris Talkington 18f51db15d
Add integration_type to ipp and roku (#80831) 2022-10-23 13:31:24 -05:00
Steven Hosking c4831333fa
Extend roomba mac range in manifest (#80714)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2022-10-22 10:44:25 -05:00
Guido Schmitz 85dda68524
Add integration_type to devolo integrations (#80695) 2022-10-22 15:55:23 +02:00
Maciej Bieniek b6b36861d9
Add `integration_type` field for a few integrations (#80767) 2022-10-22 14:38:08 +02:00
Paulus Schoutsen e38d93ee93
Remove unused keys from ultraloq (#80762) 2022-10-21 20:56:20 -04:00
Paulus Schoutsen 43d43689f7
Add ultraloq virtual integration (#80755) 2022-10-21 20:29:01 -04:00
Paulus Schoutsen 76dbd017a7
Conditionally include config flow and iot_class when relevant (#80756) 2022-10-21 20:27:59 -04:00
Guido Schmitz 78f71c46da
Add iot_standards to devolo brand (#80332) 2022-10-21 11:25:35 +02:00
Franck Nijhof bb287dd0ed
Integrations v2.1: Virtual integrations (#80613) 2022-10-20 23:09:06 -04:00
Robert Svensson 60a208a860
Add integration_type to Axis, deCONZ and UniFi manifest (#80630) 2022-10-19 21:56:19 +02:00
Franck Nijhof c4bbc439a5
Integrations v2.1: Differentiating hubs, devices and services (#80524)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2022-10-19 12:41:43 +02:00
Franck Nijhof 40bfc61ebd
Revert "Add Mazda brand" (#80314) 2022-10-14 15:48:10 +02:00
Lén 0f9703cd99
Add Heiwa as supported brand (#80242) 2022-10-14 10:19:32 +02:00
Austin Brunkhorst 7d097d18b0
Add support for Snooz BLE devices (#78790)
Co-authored-by: J. Nick Koston <nick@koston.org>
2022-10-10 13:14:27 -10:00
Franck Nijhof 907af7ffe4
Remove system marker from Supervisor integration (#79997) 2022-10-10 11:05:28 +02:00
starkillerOG 7bc2d97aca
Add Roborock as supported brand of xiaomi miio (#79312)
* Add Roborock as supported brand

* Update supported_brands.py
2022-10-08 12:55:56 -06:00
spycle e2b7e79ccb
Fix keymitt_ble discovery (#79809)
* Fix keymitt_ble discovery

* Update tests

* Up version

* Up version keymitt_ble

* Up version keymitt_ble
2022-10-08 08:19:40 +02:00
Brandon Rothweiler 2452e70e29
Add Mazda brand (#79683) 2022-10-07 17:49:47 -06:00
Glenn Waters d3fee8aad9
Add supported brands to UPB integration (#79619) 2022-10-06 20:33:37 +02:00
Jafar Atili 92c9ddf3e3
Add supported brands for switchbee (#79595) 2022-10-05 09:25:46 +02:00
Tobias Sauerwein 905950f341
Netatmo add supported brands (#79563) 2022-10-05 08:58:24 +02:00
Paulus Schoutsen abc80d8245
Add a couple more brands (#79600) 2022-10-04 11:45:40 -04:00
Franck Nijhof 2b27cfdabb
Set system & entity integration types (#79593) 2022-10-04 10:36:42 -04:00
Franck Nijhof 74a8472eed
Collect all brands (#79579) 2022-10-04 09:24:55 -04:00
J. Nick Koston 52cdae254c
Bump govee-ble to 0.19.1 to handle another H5181 (#79340)
fixes #79188
2022-09-30 10:33:14 +02:00
Zack Barett 0001270bad
Add Third Reality to Zigbee Iot standards (#79341) 2022-09-29 23:13:09 -04:00
Vincent Giorgi d5b966d942
Add Airthings BLE component (#77284)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2022-09-29 15:55:45 -04:00
Paulus Schoutsen 616b85df31
Add DialogFlow to Google brand (#79245) 2022-09-29 08:34:51 -04:00
Paulus Schoutsen a1c26cd4cd
Add Leviton brand (#79244) 2022-09-29 12:28:51 +02:00
uvjustin 79713d637a
Use Owntone name for forked-daapd (#79214)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2022-09-28 22:46:27 -04:00
Paulus Schoutsen 14c68c8692
Add ubiquiti brand (#79232) 2022-09-28 20:30:50 -04:00
Paulus Schoutsen e3ed4eeb76
Add Denon brand (#79230) 2022-09-28 23:09:53 +02:00
Paulus Schoutsen b43e19a0c1
Add Cast + Chat to Google brand (#79231) 2022-09-28 23:09:42 +02:00
Paulus Schoutsen e6becabe11
Add fritz brand (#79226) 2022-09-28 22:45:35 +02:00
Paulus Schoutsen 62c114e849
Add Apple brand (#79227) 2022-09-28 16:21:09 -04:00
Paulus Schoutsen c40c772f74
Finish Google brand (#79225) 2022-09-28 21:43:51 +02:00
Bram Kragten bfd9201623
Update frontend to 20220928.0 (#79217) 2022-09-28 19:05:37 +02:00
Erik Montnemery b173ae7f44
Add support for integrations v2 (#78801)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-09-28 11:31:48 -04:00
Yuxin Wang 52307708c8
Refactor apcupsd to use config flow (#64809)
* Add Config Flow to APCUPSd integration and remove YAML support.

* Hide the binary sensor if user does not select STATFLAG resource.

* Add tests for config flows.

* Simplify config flow code.

* Spell fix.

* Fix pylint warnings.

* Simplify the code for config flow.

* First attempt to implement import flows to suppport legacy YAML configurations.

* Remove unnecessary log calls.

* Wrap synchronous update call with `hass.async_add_executor_job`.

* Import the YAML configurations when sensor platform is set up.

* Move the logger call since the variables are not properly set up.

* Add codeowner.

* Fix name field of manifest.json.

* Fix linting issue.

* Fix incorrect dependency due to incorrect rebase.

* Update codeowner and config flows via hassfest.

* Postpone the deprecation warning to 2022.7.

* Import future annotations for init file.

* Add an newline at the end to make prettier happy.

* Update github id.

* Add type hints for return types of steps in config flow.

* Move the deprecation date for YAML config to 2022.12.

* Update according to reviews.

* Use async_forward_entry_setups.

* Add helper properties to `APCUPSdData` class.

* Add device_info for binary sensor.

* Simplify config flow.

* Remove options flow strings.

* update the tests according to the changes.

* Add `entity_registry_enabled_default` to entities and use imported CONF_RESOURCES to disable entities instead of skipping them.

* Update according to reviews.

* Do not use model of the UPS as the title for the integration.

Instead, simply use "APCUPSd" as the integration title and let the device info serve as title for each device instead.

* Change schema to be a global variable.

* Add more comments.

* Rewrite the tests for config flows.

* Fix enabled_by_default.

* Show friendly titles in the integration.

* Add import check in `async_setup_platform` to avoid importing in sensor platform setup.

* Add import check in `async_setup_platform` to avoid importing in sensor platform setup.

* Update comments in test files.

* Use parametrize instead of manually iterating different test cases.

* Swap the order of the platform constants.

* Avoid using broad exceptions.

* Set up device info via `_attr_device_info`.

* Remove unrelated test in `test_config_flow`.

* Use `DeviceInfo` instead of dict to assign to `_attr_device_info`.

* Add english translation.

* Add `async_create_issue` for deprecated YAML configuration.

* Enable UPS status by default since it could show "online, charging, on battery etc" which is meaningful for all users.

* Apply suggestions from code review

* Apply suggestion

* Apply suggestion

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-09-28 09:14:04 +02:00
J. Nick Koston 1cf1d2c2bb
Update pySwitchbot for newer firmwares (#79174)
changelog: https://github.com/Danielhiversen/pySwitchbot/compare/0.19.11...0.19.12

found while developing bluetooth proxies for esphome
2022-09-27 22:50:40 -04:00
Tom Puttemans 7aa53feff4
Add config flow and MQTT autodiscover to dsmr_reader integration (#71617)
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2022-09-25 23:15:50 -04:00
J. Nick Koston 62490f1838
Bump govee-ble to 0.19.0 (#79038) 2022-09-24 22:02:17 -04:00
Joakim Plate 55d90c0abc
Correct ssdp generation for bravia (#79002)
Correct ssdp generation
2022-09-23 15:42:11 +02:00
Artem Draft 7c460cc641
Add PSK auth and SSDP discovery to Bravia TV (#77772) 2022-09-23 09:03:43 -04:00
Robert Hillis 0ccb495209
Radarr Config Flow (#78965) 2022-09-22 22:16:24 -04:00
Joakim Plate f5120872aa
Support for nibe heat pumps with local access (#78542)
* Add nibe local integration

* Add sensor platform

* Enable sensor platform

* Fix manifest

* Correct domain after rename

* Adjust tests for rename

* Correct codeowners

* Add requirements for tests

* Grab coil by name

* Switch to home assistant error

* Config entry always exist

* Switch to create task

* Bump to 0.5.0

* Use new coils access

* Remove unneeded check

* Use single instance of logger

* Test invalid ip

* Don't allow coil to be None

* Remove sleep

* Initialize data in coordinator init

* Add utils to ignore

* Update homeassistant/components/nibe_heatpump/manifest.json

Co-authored-by: J. Nick Koston <nick@koston.org>

* Use generator instead

* Use tenacity as retry decorator

* Use package instead of name to get logger

* Skip broad exception handling

* Catch missing coil exception

* Add missing test

Co-authored-by: J. Nick Koston <nick@koston.org>
2022-09-22 08:43:30 +02:00
spycle 0e0318dc53
Add Keymitt BLE integration (#76575)
Co-authored-by: J. Nick Koston <nick@koston.org>
2022-09-21 15:44:37 -10:00
Ernst Klamer c4eafb98fa
Add support for Kegtron Smart (Beer) Keg Monitor BLE devices (#78709) 2022-09-21 05:09:39 -10:00
Aaron Bach e265848b63
Remove deprecated Flu Near You integration (#78700) 2022-09-21 11:24:21 +02:00
Robert Hillis 2a2cc79fc3
Add Lidarr integration (#66438) 2022-09-20 11:51:29 -04:00
J. Nick Koston bb78d52f34
Add iBeacon Tracker integration (#78671) 2022-09-19 21:43:41 -04:00
J. Nick Koston 5829ff5aea
Prevent tilt_ble from matching generic ibeacons (#78722) 2022-09-19 20:57:18 -04:00
Erik Montnemery 1021c90bb8
Use black to format hassfest generated files (#78794) 2022-09-19 17:37:22 -04:00
Franck Nijhof 564150169b
Update LaMetric config entry using DHCP discovery data (#78527)
* Update LaMetric config entry using DHCP discovery data

* Update translations
2022-09-16 08:35:12 +02:00
Robert Hillis a46982befb
Add Google Sheets integration (#77853)
Co-authored-by: Allen Porter <allen@thebends.org>
2022-09-14 14:31:54 -04:00
Franck Nijhof 393f1487a5
Remove Ambee integration (#78427) 2022-09-14 10:25:01 +02:00
J. Nick Koston 13e8bae432
Bump govee-ble to 0.17.3 (#78405) 2022-09-13 16:17:09 -04:00
J. Nick Koston 131512f7fd
Make yalexs_ble matcher more specific (#78307) 2022-09-13 12:38:01 +02:00
jafar-atili 24266f1426
Add SwitchBee Integration (#70201)
* Add SwitchBee Integration

* fixes

* improved API and more logs

* fixed test_config_flow code

* removed light and cover

* Fixed CR comments, updated pylib, improved response time and lowered the scan interval for lower latency

* CR fixes, added advanced setup form to let the
user choose the following:
    - scan interval in seconds: default 5
    - whether to expose scenarios and group switches from the CU or not

* used SCAN_INTERVAL_SEC instead of typing just the number

* Fixed PR comments, added unit tests

* fixes

* Improved the pypi and updated the code accordingly

* Add SwitchBee Integration

* fixes

* improved API and more logs

* fixed test_config_flow code

* removed light and cover

* Fixed CR comments, updated pylib, improved response time and lowered the scan interval for lower latency

* CR fixes, added advanced setup form to let the
user choose the following:
    - scan interval in seconds: default 5
    - whether to expose scenarios and group switches from the CU or not

* used SCAN_INTERVAL_SEC instead of typing just the number

* Fixed PR comments, added unit tests

* fixes

* Improved the pypi and updated the code accordingly

* fixes

* restored new line in .coveragerc

* test: increased config_flow test coverage

* removed two way type

* Updated CODEOWNERS

* fix: code review comments

* fixed review comments

* added device_info

* moved device info to attribute
2022-09-13 09:01:29 +02:00
Radu 6a5678154a
Add ZigStar ZeroConf (#78237) 2022-09-12 09:26:23 -05:00
Alex Thompson 951047d94e
Add initial implementation of tilt_ble integration (#77633)
Co-authored-by: J. Nick Koston <nick@koston.org>
2022-09-07 09:24:21 -05:00
J. Nick Koston ac8a12f99c
Bump thermopro-ble to 0.4.3 (#77863)
* Bump thermopro-ble to 0.4.2

- Turns on rounding of long values
- Uses bluetooth-data-tools under the hood
- Adds the TP393 since it works without any changes to the parser

Changelog: https://github.com/Bluetooth-Devices/thermopro-ble/compare/v0.4.0...v0.4.2

* bump again for device detection fix
2022-09-06 09:55:43 +02:00
J. Nick Koston 33dd8a4a45
Bump led-ble to 0.7.0 (#77845) 2022-09-05 14:05:37 -04:00
J. Nick Koston 2b63d7644a
Bump led-ble to 0.6.0 (#77788)
* Bump ble-led to 0.6.0

Fixes reading the white channel on same devices

Changelog: https://github.com/Bluetooth-Devices/led-ble/compare/v0.5.4...v0.6.0

* Bump flux_led to 0.28.32

Changelog: https://github.com/Danielhiversen/flux_led/compare/0.28.31...0.28.32

Fixes white channel support for some more older protocols

* keep them in sync

* Update homeassistant/components/led_ble/manifest.json
2022-09-04 19:54:40 +03:00
J. Nick Koston ed365cb8e9
Add BlueMaestro integration (#77758)
* Add BlueMaestro integration

* tests

* dc
2022-09-04 09:45:52 -04:00
Øyvind Matheson Wergeland f52c00a1c1
Add Nobø Ecohub integration (#50913)
* Initial version of Nobø Ecohub.

* Options update listener for Nobø Ecohub

* Unit test for nobo_hub config flow

* Cleanup

* Moved comment re backwards compatibility

* Improved tests

* Improved tests

* Options flow test
Pylint

* Fix backwards compatibility mode

* Don't require Python 3.9

* Import form configuration.yaml

* Check if device is already configured.
Correct tests for only discovering serial prefix
Fix importing when only serial suffix is configured

* Use constants

* Pylint and variable name clenaup.

* Review

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

* Fix tests

* Correct disabling off_command and on_commands ("Default" is a hard coded week profile in the hub).

* Improve options dialog

* Configure override type in options dialog

* Formatting

* pyupgrade

* Incorporated review comments

* Incorporated review comments.

* Incorporated second round of review comments.

* Add polling to discover preset change in HVAC_MODE_AUTO.

* Added tests/components/nobo_hub to CODEOWNERS.

* Update homeassistant/components/nobo_hub/config_flow.py

Review

Co-authored-by: Allen Porter <allen.porter@gmail.com>

* Update homeassistant/components/nobo_hub/climate.py

Review

Co-authored-by: Allen Porter <allen.porter@gmail.com>

* Simplify if tests.

* Update homeassistant/components/nobo_hub/__init__.py

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

* Update homeassistant/components/nobo_hub/__init__.py

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

* Update homeassistant/components/nobo_hub/__init__.py

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

* Separate config step for manual configuration.

* Fixed indentation

* Made async_set_temperature more robust

* Thermometer supports tenths even though thermostat is in ones.

* Preserve serial suffix in config dialog on error.

* Initial version of Nobø Ecohub.

* Improved tests

* Review

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

* Configure override type in options dialog

* Separate config step for manual configuration.

* Update homeassistant/components/nobo_hub/__init__.py

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

* Formatting (prettier)

* Fix HA stop listener.

* Review

* Apply suggestions from code review

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Review
- Removed workaround to support "OFF" setting.
- Simplified config flow to add a new device.

* Apply suggestions from code review

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Apply suggestions from code review

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Fixed review comments

* Update en.json with correction in review.

* Implemented review comments:
- Register devices
- Simplifed async_set_temperature

* Register hub as device in init module

* Implemented review comments.
Upgraded pynobo to 1.4.0.

* Apply suggestions from code review

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Avoid tacking on the device name in the entity name

* Inherit entity name from device name

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: Allen Porter <allen.porter@gmail.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-09-03 10:11:40 +02:00
J. Nick Koston 67ccb6f25a
Fix yet another Govee H5181 variant (#77611) 2022-08-31 12:41:22 -04:00
Pascal Vizeli 105bb3e082
Ecowitt integration (#77441)
* Add ecowitt integration

* add tests

* use total

* use total

* test coverage

* Update homeassistant/components/ecowitt/__init__.py

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>

* Update homeassistant/components/ecowitt/binary_sensor.py

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>

* Update homeassistant/components/ecowitt/entity.py

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>

* Update homeassistant/components/ecowitt/diagnostics.py

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>

* add to async_on_unload

* remove attr_name / unload callback

* support unload platforms

* using replace

* address mapping

* update type

* mark final

* Apply suggestions from code review

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Fix bracket

* Fix another bracket

* Address comment

* Add strings

* update tests

* Update homeassistant/components/ecowitt/strings.json

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* update text

* Update homeassistant/components/ecowitt/strings.json

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-08-31 12:51:39 +02:00
Joakim Plate 4185a70882
Allow data from un-connectable sources in fjäråskupan (#77236) 2022-08-30 23:40:25 -04:00
J. Nick Koston 5297dc1d5f
Bump govee-ble to add support for H5185 firmware variant (#77564) 2022-08-30 22:01:35 -04:00
J. Nick Koston edb8c58566
Add sensorpro (BLE) integration (#77569) 2022-08-30 21:49:31 -04:00
Justin Vanderhooft 8d94c8f74a
Add Melnor Bluetooth valve watering Integration (#70457) 2022-08-30 16:06:44 -05:00
J. Nick Koston ba499dff25
Add Nutrichef as a supported brand of inkbird (#77551) 2022-08-30 13:29:13 -05:00
guozi7788 f9eee0e9d7
Add the USB discovery for the Sonoff ZigBee dongle plus V2 (#77523) 2022-08-30 08:58:21 -05:00
Paulus Schoutsen 481205535c
Add PrusaLink integration (#77429)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-08-29 20:45:27 -04:00
J. Nick Koston 8e0c26bf86
Add LED BLE integration (#77489)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2022-08-29 11:38:18 -05:00
Robert Hillis f41ba39a5e
Add Litter Robot 4 DHCP discovery (#77463) 2022-08-28 21:11:57 -05:00
J. Nick Koston 533d23ce05
Add thermobeacon supported brands (#77423)
Add thermobeacon alternate brands
2022-08-28 20:46:04 +02:00
Ernst Klamer b2e958292c
Add support for BThome (#77224)
* Add BThome BLE

* Update BThome to latest version

* 0.3.4

* Rename to bthome 2

* Fix uuids not being found

* Make energy a total increasing state class

* Change unit of measurement of VOC

* Use short identifier

* Fix the reauth flow

* Bump bthome_ble

* Parameterize sensor tests

* Remove Move function to parameter

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2022-08-27 15:25:29 +02:00
J. Nick Koston f6bc5ad8b1
Add Thermobeacon (BLE) integration (#77313) 2022-08-26 22:44:10 -04:00
J. Nick Koston 0f86bb94d5
Add thermopro integration (BLE) (#77242) 2022-08-25 08:24:55 -05:00
J. Nick Koston de7fdeddf9
Update qingping matcher to support additional models (#77225)
* Update qingping matcher to support additional models

* tweak

* bump

* Update BinarySensorEntityDescription

Co-authored-by: Marcel van der Veldt <m.vanderveldt@outlook.com>
2022-08-24 06:18:47 +02:00
y34hbuddy 99ec341d6e
Refactor volvooncall to use ConfigFlow (#76680)
* refactor volvooncall to use ConfigFlow

* remove unused constant SIGNAL_STATE_UPDATED

* implemented feedback

* improve ConfigFlow UX by giving an option for region=None

* implemented more feedback

* next round of feedback

* implemented more feedback

* improve test coverage

* more test coverage

* Apply suggestions from code review

* implemented feedback on tests

* Apply suggestions from code review

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-08-23 20:58:17 +02:00
J. Nick Koston 3938015c93
Add support for scanners that do not provide connectable devices (#77132) 2022-08-22 14:02:26 -04:00
Rami Mosleh 72a4f8af3d
Add config flow to `pushover` (#74500)
* Add config flow to `pushover`

* Add tests for reauth

* add deprecated yaml issue

* address comments

* fix test error, other fixes

* update translations
2022-08-19 08:07:32 +02:00
Vincent Knoop Pathuis 7a497c1e6e
Add Landis+Gyr Heat Meter integration (#73363)
* Add Landis+Gyr Heat Meter integration

* Add contant for better sensor config

* Add test for init

* Refactor some of the PR suggestions in config_flow

* Apply small fix

* Correct total_increasing to total

* Add test for restore state

* Add MWh entity that can be added as gas on the energy dashoard

* Remove GJ as unit

* Round MWh to 5 iso 3 digits

* Update homeassistant/components/landisgyr_heat_meter/const.py

* Update CODEOWNERS

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2022-08-18 16:40:04 +02:00
Franck Nijhof 71cdc1645b
Refactor LaMetric integration (#76759)
* Refactor LaMetric integration

* Use async_setup

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* use async_get_service

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update tests/components/lametric/conftest.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update tests/components/lametric/conftest.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Pass hassconfig

* Remove try/catch

* Fix passing hassconfig

* Use menu

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-08-18 00:49:11 +02:00
Franck Nijhof ec1b133201
Add DHCP updates to Fully Kiosk (#76896) 2022-08-16 21:19:23 -04:00
Charles Garwood 1e9ede25ad
Add Fully Kiosk Browser integration with initial binary sensor platform (#76737)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2022-08-16 20:08:35 +02:00
Paulus Schoutsen c7d46bc719
Improve Awair config flow (#76838) 2022-08-16 14:30:07 +02:00
J. Nick Koston f55c274d83
Add Qingping integration (BLE) (#76598)
* Add Qingping integration (BLE)

* commit the binary sensor

* add binary_sensor file

* Update homeassistant/components/qingping/sensor.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/qingping/config_flow.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/qingping/sensor.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* fix const CONCENTRATION_MICROGRAMS_PER_CUBIC_METER

* cover case where config flow is started, another path adds it, and then they resume

* fix missed values

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-08-14 09:00:27 +02:00
J. Nick Koston 75ca80428d
Add support for August locks to Yale Access Bluetooth (#76625) 2022-08-11 21:12:25 -04:00
Zach Berger ebbff7b60e
Add Awair Local API support (#75535) 2022-08-11 09:01:35 -04:00
J. Nick Koston eb0b6f3d75
Fix Govee 5181 with old firmware (#76600) 2022-08-11 11:08:03 +02:00
J. Nick Koston bb0038319d
Add Yale Access Bluetooth integration (#76182) 2022-08-10 10:08:02 -10:00
J. Nick Koston 929eeac1e4
Add support for Govee 5184 BBQ sensors (#76490) 2022-08-09 10:53:21 -04:00
J. Nick Koston 6bae03c14b
Fix inkbird ibbq2s that identify with xbbq (#76492) 2022-08-09 10:49:17 -04:00
Rami Mosleh f90d007e73
Add config flow to `android_ip_webcam` (#76222)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-08-09 14:08:46 +02:00
Koen van Zuijlen cefc535edb
Add JustNimbus integration (#75718)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2022-08-08 23:35:05 +02:00
Laz a1d5a4bc79
Add Escea fireplace integration (#56039)
Co-authored-by: Teemu R. <tpr@iki.fi>
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-08-08 11:48:42 +02:00
Martin Hjelmare d1ab93fbaf
Add openexchangerates config flow (#76390) 2022-08-07 23:45:32 +02:00
J. Nick Koston 56acb66514
Fix Govee 5185 Meat Thermometers with older firmware not being discovered (#76414) 2022-08-07 10:11:34 -10:00
Paulus Schoutsen 89e0db3548
Remove Z-Wave JS trigger uart USB id (#76391) 2022-08-07 14:36:30 -04:00
Joakim Plate 2dd62b14b6
Convert fjäråskupan to built in bluetooth (#75380)
* Add bluetooth discovery

* Use home assistant standard api

* Fixup manufacture data

* Adjust config flow to use standard features

* Fixup tests

* Mock bluetooth

* Simplify device check

* Fix missing typing

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-08-01 16:56:08 +02:00
Jc2k ca6676a708
Fix xiaomi_ble discovery for devices that don't put the fe95 uuid in service_uuids (#75923) 2022-07-29 14:28:39 +02:00
J. Nick Koston 9f16c14681
Fix incorrect manufacturer_id for govee 5182 model (#75899) 2022-07-28 17:07:32 -10:00
Zack Barett b0c17d67df
Add Leviton as a supported brand of ZwaveJS (#75729)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-07-27 23:39:39 +02:00
IceBotYT d99334eb07
Add LaCrosse View integration (#71896)
* Add new LaCrosse View integration

* Add new LaCrosse View integration

* Add retry logic

* Actually use the start time for the retry logic

* Get new token after 1 hour

* Replace retry logic with more reliable logic

* Improve test coverage

* Add device info and unique id to config entry

* Fix manufacturer name

* Improve token refresh and check sensor permission

* Improve test cover

* Add LaCrosse View to .strict-typing

* Remove empty fields in manifest.json

* Fix mypy

* Add retry logic for get_data

* Add missing break statement in retry decorator

* Fix requirements

* Finish suggestions by Allen Porter

* Suggestions by Allen Porter

* Fix typing issues with calls to get_locations and get_sensors
2022-07-27 07:37:22 -07:00
J. Nick Koston 511af3c455
Update switchbot bluetooth matchers for sensor devices (#75690) 2022-07-24 16:55:52 -05:00
J. Nick Koston ba71a3c24d
Add Govee BLE integration (#75631)
* Add Govee BLE integration

* add missing files

* remove test file not needed yet

* fix

* add bbq sensors

* fixed lib

* bump again to fix the names

* fix discovery of the newer bbq devices

* fix the test to test the right thing

* verify no outstanding flows

* only accept entities that match the platform

* refactor

* refactor

* refactor

* Refactor PassiveBluetoothDataUpdateCoordinator to support multiple platforms

* cover

* Update for new model

* Update for new model

* Update tests/components/govee_ble/test_sensor.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* purge dead code

* backmerge from integration

* Update docstring

* Update docstring

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-07-24 10:39:23 +02:00
J. Nick Koston 82c92b5634
Add Moat (BLE) integration (#75643)
* Add Moat (BLE) integration

* fix pin

* resync

* Update tests/components/moat/test_sensor.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/moat/sensor.py

* backmerge from integration

* purge dead code

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-07-24 09:51:14 +02:00
Jc2k 402e533fef
Initial xiaomi_ble integration (#75618)
* Initial xiaomi_ble integration

* black

* Update homeassistant/components/xiaomi_ble/config_flow.py

Co-authored-by: Ernst Klamer <e.klamer@gmail.com>

* Update homeassistant/components/xiaomi_ble/config_flow.py

Co-authored-by: Ernst Klamer <e.klamer@gmail.com>

* Apply suggestions from code review

Co-authored-by: Ernst Klamer <e.klamer@gmail.com>

* Update tests/components/xiaomi_ble/test_config_flow.py

Co-authored-by: Ernst Klamer <e.klamer@gmail.com>

* Update homeassistant/components/xiaomi_ble/sensor.py

Co-authored-by: Ernst Klamer <e.klamer@gmail.com>

* Update tests/components/xiaomi_ble/test_config_flow.py

Co-authored-by: Ernst Klamer <e.klamer@gmail.com>

* Remove debug code

* Need 'proper' MAC when running tests on linux

* Need to use proper MAC so validation passes

* Add tests for already_in_progress and already_configured

* copy test, add session fixture

* fix test

Co-authored-by: Ernst Klamer <e.klamer@gmail.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2022-07-23 00:55:06 +02:00
J. Nick Koston 38bccadaa6
Add support for setting up and removing bluetooth in the UI (#75600)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2022-07-22 13:19:53 -05:00
J. Nick Koston 06115bcbff
Add inkbird (BLE) integration (#75594) 2022-07-21 22:17:09 -05:00
J. Nick Koston 67e16d77e8
Add SensorPush BLE integration (#75531) 2022-07-21 20:31:23 -05:00
J. Nick Koston 1354952977
Migrate LIFX to config entry per device (#74316) 2022-07-18 17:56:34 -05:00
J. Nick Koston 91f2550bc3
Change manufacturer_data_first_byte to manufacturer_data_start (#75379) 2022-07-17 17:25:45 -05:00
J. Nick Koston 8d63f81821
Add bluetooth discovery to HomeKit Controller (#75333)
Co-authored-by: Jc2k <john.carr@unrouted.co.uk>
2022-07-17 08:19:05 -05:00
Allen Porter b4003713b6
Remove nest mac prefix that matches cast devices (#75108) 2022-07-14 22:01:18 -07:00
Paulus Schoutsen 41ec8cd354
Expose supported brands via API (#75074) 2022-07-12 13:49:54 -07:00
Paulus Schoutsen 6fd47d035e
Add basic Rhasspy integration (#74942)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2022-07-11 08:40:52 -07:00
Jc2k 59170d3c54
Prepare homekit_controller for _hap._udp.local. (#74857)
* Prepare homekit_controller for _hap._udp.local.
2022-07-10 19:50:54 +01:00
J. Nick Koston a697672944
Add bluetooth integration (#74653)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2022-07-08 18:55:31 -05:00
J. Nick Koston 099e7e0637
Add oui for tplink es20m (#74526) 2022-07-07 01:20:29 +02:00
Maciej Bieniek 84119eefaa
Add NextDNS integration (#74150)
* Initial commit

* Update manifest

* Add first test

* Simplify init

* More tests

* Update tests

* More tests

* More tests

* Add tests for sensor platform

* More tests for sensor platform

* Add tests for system_health

* Fix typo

* Improve test coverage

* Improve test coverage

* Add tests for diagnostics

* Add comment

* Run hassfest

* Fix typo

* Run gen_requirements_all

* Fix tests

* Change key name in diagnostics

* Remove diagnostics and system_health platforms

* Bump library
2022-07-03 09:51:50 -07:00
J. Nick Koston 1288085b31
Revert scrape changes to 2022.6.6 (#74305) 2022-07-01 10:10:40 -07:00
Stefan Rado 273e9b287f
Add config flow for Bose SoundTouch (#72967)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2022-06-30 22:20:00 -07:00
Jesse Hills f311d53c60
ESPHome use dhcp responses to update connection host of known devices (#74206)
* ESPHome use dhcp responses to update connection host of known devices

* Add test for dhcp

* Add another test to cover when there are no changes required
2022-06-30 10:07:03 -07:00
MasonCrawford 5fa3b90b2c
Add config flow to lg_soundbar (#71153)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2022-06-30 10:00:39 -07:00
Alex Henry f5c6a6be3a
Add config flow to AnthemAV integration (#53268)
* Add config flow to AnthemAV integration

* Add importing of existing configuration

* Change setting to optional and add default value

* Use entity attribute

* Reduce changes by removing additional media player properties

* Remove title from translation

* Refactor config flow and fix PR comments

* Fix a failing test because of wrong renaming

* Add typing and use existing class and enum

* Bump dependency to v1.3.1

* Remove unecessary async_reload_entry

* Fix requirements_test_all after rebase

* Add const for timeout and remove async_block in test

* Reapply CodeOwner and configflow after rebase

* Remove name from configflow

* Fix manifest prettier failure

* Simplify code and avoid catching broad exception

* Removed unused strings and translations

* Avoid asserting hass.data
2022-06-30 07:13:08 -07:00
Rami Mosleh d1708861db
Add config flow for `simplepush` (#73471)
* Add config flow for `simplepush`

* fix warning message

* fix typos

* Add importing yaml config

* patch integration setup

* Add check for errrors raised by the library

* fix coverage

* Adjust comment and logging message

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-06-24 08:39:48 +02:00
J. Nick Koston e5c40d58ff
Add roku 3820X model to discovery (#73933) 2022-06-23 21:13:43 -05:00
henryptung bccec77e19
Fix Broadlink discovery for new RM Mini3 (#73822) 2022-06-23 09:38:39 +02:00
Álvaro Fernández Rojas be6c2554dd
Add QNAP QSW DHCP discovery (#73130)
* qnap_qsw: add DHCP discovery

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* qnap_qsw: config_flow: add async_step_dhcp

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* qnap_qsw: config_flow: lower DHCP logging

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* tests: qnap_qsw: fix copy & paste

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* qnap_qsw: dhcp: introduce changes suggested by @bdraco

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* Update homeassistant/components/qnap_qsw/config_flow.py

Co-authored-by: J. Nick Koston <nick@koston.org>

* qnap_qsw: async_step_user: disable raising on progress

Allows async_step_user to win over a discovery.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

Co-authored-by: J. Nick Koston <nick@koston.org>
2022-06-19 09:43:29 -05:00
Allen Porter b014d558ff
Add application credentials platform for nest and deprecate yaml for SDM API (#73050)
* Update the nest integration to be useable fully from the config flow

* Support discovery in nest config flow

* Remove configuration entries

* Remove unused import

* Remove dead code

* Update homeassistant/components/nest/strings.json

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Remove commented out code

* Use config flow for app auth reauthentication path

* Improves for re-auth for upgrading existing project and creds

* More dead code removal

* Apply suggestions from code review

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Remove outdated code

* Update homeassistant/components/nest/config_flow.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-06-15 07:15:53 -07:00
Thibaut 658ce9d4f2
Remove Somfy integration (#73527)
* Remove somfy

* Remove somfy
2022-06-15 12:18:15 +02:00
Raman Gupta dc48791864
Add config flow to eight_sleep (#71095)
* Add config flow to eight_sleep

* simplify tests

* Remove extra file

* remove unused import

* fix redundant code

* Update homeassistant/components/eight_sleep/__init__.py

Co-authored-by: J. Nick Koston <nick@koston.org>

* incorporate feedback

* Review comments

* remove typing from tests

* Fix based on changes

* Fix requirements

* Remove stale comment

* Fix tests

* Reverse the flow and force the config entry to reconnect

* Review comments

* Abort if import flow fails

* Split import and user logic

* Fix error

Co-authored-by: J. Nick Koston <nick@koston.org>
2022-06-11 02:16:46 -04:00
Dave T e67aa09bf2
Add zeroconf discovery to hive (#73290)
Co-authored-by: Dave T <davet2001@users.noreply.github.com>
2022-06-09 11:40:01 -10:00
BigMoby 0c21bf7c25
Remove iAlarm XR integration (#73083)
* fixing after MartinHjelmare review

* fixing after MartinHjelmare review conversion alarm state to hass state

* fixing after MartinHjelmare review conversion alarm state to hass state

* manage the status in the alarm control

* simplyfing return function

* Removing iAlarm XR integration because of Antifurto365 explicit request to remove after some issues in their cloud service
2022-06-06 22:23:10 -07:00
J. Nick Koston cac84e4160
Add config flow to radiotherm (#72874) 2022-06-05 13:59:52 -10:00
Robert Hillis a502a8798f
Add config flow to skybell (#70887) 2022-06-04 16:37:08 -10:00
G Johansson 8d0dd1fe8c
Config flow for scrape integration (#70476) 2022-06-03 09:24:04 -10:00
Aidan Timson 2ba45a9f99
System Bridge 3.x.x (#71218)
* Change to new package and tcp

* Rework integration pt1

* Show by default

* Handle auth error

* Use const

* New version avaliable (to be replaced in future by update entity)

* Remove visible

* Version latest

* Filesystem space use

* Dev package

* Fix sensor

* Add services

* Update package

* Add temperature and voltage

* GPU

* Bump package version

* Update config flow

* Add displays

* Fix displays connected

* Round to whole number

* GPU fan speed in RPM

* Handle disconnections

* Update package

* Fix

* Update tests

* Handle more errors

* Check submodule and return missing uuid in test

* Handle auth error on config flow

* Fix test

* Bump package version

* Handle key errors

* Update package to release version

* Client session in config flow

* Log

* Increase timeout and use similar logic in config flow to init

* 30 secs

* Add test for timeout error

* Cleanup logs

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update tests/components/system_bridge/test_config_flow.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* uuid raise specific error

* Type

* Lambda to functions for complex logic

* Unknown error test

* Bump package to 3.0.5

* Bump package to 3.0.6

* Use typings from package and pydantic

* Use dict()

* Use data listener function and map to models

* Use passed module handler

* Use lists from models

* Update to 3.1.0

* Update coordinator to use passed module

* Improve coordinator

* Add debug

* Bump package and avaliable -> available

* Add version check

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-06-01 23:54:22 +02:00
BigMoby 42c80dda85
Create iAlarmXR integration (#67817)
* Creating iAlarmXR integration

* fixing after review code

* fixing remaining review hints

* fixing remaining review hints

* updating underlying pyialarm library

* Creating iAlarmXR integration

* fixing after review code

* fixing remaining review hints

* fixing remaining review hints

* updating underlying pyialarm library

* fixing after iMicknl review

* Improving exception handling

* Updating pyialarmxr library

* fixing after merge dev

* fixing after iMicknl review

* Update CODEOWNERS

Co-authored-by: Ludovico de Nittis <git@denittis.one>

* fixing iot_class

* Update homeassistant/components/ialarmxr/config_flow.py

Co-authored-by: J. Nick Koston <nick@koston.org>

* fixing after bdraco review

* Update homeassistant/components/ialarmxr/config_flow.py

Co-authored-by: J. Nick Koston <nick@koston.org>

* reverting catching exception in setup step

* Update homeassistant/components/ialarmxr/__init__.py

Co-authored-by: J. Nick Koston <nick@koston.org>

* Update homeassistant/components/ialarmxr/__init__.py

Co-authored-by: J. Nick Koston <nick@koston.org>

* fixing after bdraco suggestions

* Update homeassistant/components/ialarmxr/alarm_control_panel.py

Co-authored-by: J. Nick Koston <nick@koston.org>

* Update homeassistant/components/ialarmxr/alarm_control_panel.py

Co-authored-by: Mick Vleeshouwer <mick@imick.nl>

* Update homeassistant/components/ialarmxr/config_flow.py

Co-authored-by: J. Nick Koston <nick@koston.org>

* Update homeassistant/components/ialarmxr/config_flow.py

Co-authored-by: J. Nick Koston <nick@koston.org>

* Update homeassistant/components/ialarmxr/__init__.py

Co-authored-by: J. Nick Koston <nick@koston.org>

* Update homeassistant/components/ialarmxr/__init__.py

Co-authored-by: J. Nick Koston <nick@koston.org>

* Update homeassistant/components/ialarmxr/utils.py

Co-authored-by: J. Nick Koston <nick@koston.org>

* regenerate translation and rename function to async_get_ialarmxr_mac

* removing and collapsing unused error messages

* fixing tests

* improve code coverage in tests

* improve code coverage in tests

* improve code coverage in tests

* fixing retry policy with new pyalarmxr library

* snake case fix

* renaming integration in ialarm_xr

* renaming control panel name

Co-authored-by: Ludovico de Nittis <git@denittis.one>
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Mick Vleeshouwer <mick@imick.nl>
2022-05-25 10:52:06 +02:00
Allen Porter f6370d0522
Add Honeywell Lyric application credentials platform and deprecate configuration in yaml (#72335)
Add Honeywell Lyric application credentials platform and deprecate config yaml
2022-05-23 20:16:21 +02:00
Allen Porter dc76cce96b
Add SENZ application credentials platform (#72338) 2022-05-23 14:44:45 +02:00
Allen Porter 39ce25f76d
Add Withings application_credentials platform (#71990)
* Add Withings application_credentials platform

* Update withings auth implementation
2022-05-22 14:30:57 -07:00
xLarry abf9aab18f
Add laundrify integration (#65090)
* First version of laundrify integration

* Code cleanup

* Code cleanup after review #2

* Move coordinator to its own file

* Save devices as dict and implement available prop as fn

* Validate token on init, abort if already configured

* Some more cleanup after review

* Add strict type hints

* Minor changes after code review

* Remove OptionsFlow (use default poll interval instead)

* Fix CODEOWNERS to pass hassfest job

* Fix formatting to pass prettier job

* Fix mypy typing error

* Update internal device property after fetching data

* Call parental update handler and remove obsolete code

* Add coordinator tests and fix some config flow tests

* Refactor tests

* Refactor fixtures

* Device unavailable if polling fails
2022-05-21 15:18:01 -04:00
Kevin Stillhammer f1ac9f8cca
Add ConfigFlow for here_travel_time (#69212)
* Add ConfigFlow for here_travel_time

* Use Selectors and Menu

* Use separate config flow steps for menus

* Move time options together

* Update homeassistant/components/here_travel_time/config_flow.py

Co-authored-by: Allen Porter <allen.porter@gmail.com>

* Blacken config_flow

* Initialize _config

* Only catch HERE errors

* Fix unknown error test

* Implement async_step_import

* Only catch errors for validate_api_key

* Split lat/lon

* Add additional test coverage

* Use TimeSelector in option flow

* Assert config entry data/option

Co-authored-by: Allen Porter <allen.porter@gmail.com>
2022-05-21 07:36:02 -07:00
Allen Porter c028db00de
Add Neato application credentials platform and deprecate configuration.yaml (#72175) 2022-05-19 21:22:37 -07:00
Allen Porter 7d26be2d4d
Add Home Connect application_credentials platform and deprecate configuration.yaml (#71988)
Add Home Connect application_credentials platform
2022-05-17 10:48:31 +02:00
Matrix e0154d6fb1
Add YoLink product integration (#69167)
* add yolink integration with door sensor

* Add test flow and update .coveragerc

* Yolink integration Bug fix

* resovle test flow

* issues resolve

* issues resolve

* issues resolve

* resolve issues

* issues resolve

* issues resolve

* change .coveragerc and test_flow

* Update yolink api version

* add test for config entry

* change config flow and add test cases

* remove config entry data

* Add token check for re-auth test flow

* fix test flow issues

* Add application credentials

* Add alias for application_credentials

* support application credentials and cloud account linking

* fix suggest change
2022-05-17 09:59:39 +02:00
Allen Porter ddecf76f6f
Add application_credentials platform for netatmo (#71884) 2022-05-16 21:09:48 -07:00
Allen Porter 7c68278482
Add application_credentials platform to geocaching integration (#71880) 2022-05-16 09:57:25 +02:00
Allen Porter 2613c865f7
Add Spotify application_credentials platform (#71871) 2022-05-16 09:31:14 +02:00
J. Nick Koston 51c6a68036
Add Big Ass Fans integration (#71498)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2022-05-14 17:22:47 -05:00
Allen Porter 355445db2d
Add application credentials platform for google calendar integration (#71808)
* Add google application_credentials platform

* Further simplify custom auth implementation overrides

* Add test coverage in application_credentials

* Simplify wording in a comment

* Remove unused imports accidentally left from merge

* Wrap lines that are too long for style guide

* Move application credential loading to only where it is needed

* Leave CLIENT_ID and CLIENT_SECRET as required.
2022-05-14 10:27:47 -07:00
Robert Hillis 4ea6e5dfc0
Add config flow to Slack integration (#69880) 2022-05-13 20:05:06 -04:00
mkmer f6600bbc20
Add Aladdin connect config flow (#68304)
* Adding flow and async

* Fixes to init

* Lint and type

* Fixed coveragerc file

* Added Test Coverage

* Added Update Listener and removed unused code

* Wrong integration name in init.

* Nothing

* Added yaml import flow

* Added YAML import functionality

* Added back aladdin_connect files to coverage rc

* Removed commented code

* Clean up error message

* Update homeassistant/components/aladdin_connect/__init__.py

Co-authored-by: G Johansson <goran.johansson@shiftit.se>

* Update homeassistant/components/aladdin_connect/__init__.py

Co-authored-by: G Johansson <goran.johansson@shiftit.se>

* Update homeassistant/components/aladdin_connect/config_flow.py

Co-authored-by: G Johansson <goran.johansson@shiftit.se>

* Updated Documentation errors

* recommended change broke cover.py - backed out

* Cleaned up unused defenitions

* implimented recommended changes from gjohansson

* Dev environment cleanup

* Raised errors for better recovery, replaced removed update files, utilized PLATFORM vars to init platform

* Added back removal

* Added Code Owner

* Fixed more comment errors and import duplicates

* Added test coverage and formated code

* Added test coverage for model and init

* Added test_cover for full testing coverage

* Added await to async call

* Added missing asserts to failure tests

* Updated tranlsation

* Fixed wording in yaml import function, white space in const.py, return from validate_input.

* Update homeassistant/components/aladdin_connect/config_flow.py

Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>

* "too much" whitespace

* Added back mising strings.json errors

* Added ConfigFlowReconfig and tests

* Finished up reauth config flow and associated tests

* Added reauth to strings, removed username from reauth

* recommended changes, ran script.translations, added auth test to reauth

* put back self.entry.data unpack.

* Cleanup for error message, fixed missing "asserts" in tests

* Added yaml import assertions

* Fixed documentation errors in test_cover.

* remove unused string.

* revised tests and wording for yaml import

* Documentation cleanup.

* Changed sideeffect names

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>
2022-05-14 00:41:01 +02:00
Rudolf Offereins 577b8cd976
Add Geocaching integration (#50284)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Reinder Reinders <reinder.reinders@gmail.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2022-05-12 12:12:47 +02:00
Fairesoimeme 1d63c2069e
Add ZiGate device on automatic integration USB and ZEROCONF (#68577)
Co-authored-by: J. Nick Koston <nick@koston.org>
2022-05-08 18:27:09 -05:00
Shawn Saenger 5e737bfe4f
Add ws66i core integration (#56094)
* Add ws66i core integration

* Remove all ws66i translations

* Update ws66i unit tests to meet minimum code coverage

* Update ws66i based on @bdraco review

* General improvements after 2nd PR review

* Disable entities if amp shutoff, set default source names, set 30sec polling

* Add _attr_ and change async_on_unload

* Improve entity generation

* Implement coordinator

* Made options fields required, retry connection on failed attempts, use ZoneStatus for attributes

* Refactor WS66i entity properties, raise HomeAssistantError on restore service if no snapshot

* Update to pyws66i v1.1

* Add quality scale of silver to manifest

* Update config_flow test
2022-05-08 16:52:39 -05:00
Paul Annekov 2eaaa525f4
Add Ukraine Alarm integration (#71501)
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2022-05-08 08:22:20 -07:00
Guido Schmitz fdee8800a0
Handle empty zeroconf properties in devolo_home_network (#71288)
* Handle empty zeroconf properties in devolo_home_network

* Change approach

* Restore test data
2022-05-04 15:51:21 +02:00
Robert Svensson a0fe5b0247
Make deCONZ SSDP discovery more strict by matching on manufacturerURL (#71124) 2022-04-30 19:33:47 +02:00
Allen Porter 00b5d30e24
Add application credentials platform (#69148)
* Initial developer credentials scaffolding
- Support websocket list/add/delete
- Add developer credentials protocol from yaml config
- Handle OAuth credential registration and de-registration
- Tests for websocket and integration based registration

* Fix pydoc text

* Remove translations and update owners

* Update homeassistant/components/developer_credentials/__init__.py

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

* Update homeassistant/components/developer_credentials/__init__.py

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

* Remove _async_get_developer_credential

* Rename to application credentials platform

* Fix race condition and add import support

* Increase code coverage (92%)

* Increase test coverage 93%

* Increase test coverage (94%)

* Increase test coverage (97%)

* Increase test covearge (98%)

* Increase test coverage (99%)

* Increase test coverage (100%)

* Remove http router frozen comment

* Remove auth domain override on import

* Remove debug statement

* Don't import the same client id multiple times

* Add auth dependency for local oauth implementation

* Revert older oauth2 changes from merge

* Update homeassistant/components/application_credentials/__init__.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Move config credential import to its own fixture

* Override the mock_application_credentials_integration fixture instead per test

* Update application credentials

* Add dictionary typing

* Use f-strings as per feedback

* Add additional structure needed for an MVP application credential

Add additional structure needed for an MVP, including a target
component Xbox

* Add websocket to list supported integrations for frontend selector

* Application credentials config

* Import xbox credentials

* Remove unnecessary async calls

* Update script/hassfest/application_credentials.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update script/hassfest/application_credentials.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update script/hassfest/application_credentials.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update script/hassfest/application_credentials.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Import credentials with a fixed auth domain

Resolve an issue with compatibility of exisiting config entries when importing
client credentials

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-04-30 08:06:43 -07:00
J. Nick Koston 79c9d22893
Add dhcp hostname of older ZJ series Magic Home bulbs to discovery (#70958) 2022-04-27 21:18:59 -07:00