Commit Graph

673 Commits (666fc2333a44d72048aaa1a3a514dcdf2cd16ed4)

Author SHA1 Message Date
Jan Čermák 9680161701
Add RAPT Bluetooth integration (#87872)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-04-16 17:19:03 -10:00
G Johansson 00847ee4bc
Add config flow to Brottsplatskartan (#70233)
* Brottsplatskartan Config Flow

* Fix import

* Modify sensor

* Mod version

* Mod version 2

* has_entity_name

* Fix api constructor

* Switch to issue for depr.

* Fix docstrings

* Minor cleaning

* Fix argument for bpk constructor

* remove translations

* Fix tests

* reset config

* uuid to conftest

* hassfest

* depr version

* unique id

* reset not linked changes

* review comments

* fix area none

* relevant changes

* depr version

* slim test

* unique_id

* create_entry

* review comments and tests

* fix init test

* review comments
2023-04-12 11:05:24 +02:00
Michael Hansen 78fec33b17
Voip integration (#90945)
* Media playback working

* Working on OPUS audio

* Before rollback

* Fix is_end

* First working pipeline

* Clean up

* Remove asserts

* Send HA version in SDP

* Use async_pipeline_from_audio_stream

* Use config flow with allowed IP

* Satisfy ruff

* Remove use of regex for SIP IP

* Use voip-utils

* Fix imports

* Add Pipeline to __all__

* Fix voice assistant tests

* Basic VoIP test

* Run hassfest

* Generate requirements

* Bump voip utils (missing requirement)

* Allow tts_options to be passed in to pipeline run

* Add config flow tests

* Update test snapshots

* More tests

* Remove get_extra_info

* Appeasing the codebot
2023-04-11 20:25:05 -04:00
Erik Montnemery 8025fbf398
Remove the coronavirus integration (#90934)
* Remove the coronavirus integration

* Run hassfest and gen_requirements_all
2023-04-06 10:43:09 -04:00
tronikos 49468ef5d0
Android TV Remote integration (#89935)
* Android TV Remote integration

* Add diagnostics

* Remove test pem files from when api was not mocked

* Address review comments

* Remove hass.data call in test

* Store the certificate and key in /config/.storage

* update comments

* Update homeassistant/components/androidtv_remote/__init__.py

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

* import callback

* use async_generate_cert_if_missing

---------

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2023-04-05 21:00:40 -04:00
luar123 f0710bae06
Add config-flow to Snapcast (#80288)
* initial stab at snapcast config flow

* fix linting errors

* Fix linter errors

* Add import flow, support unloading

* Add test for import flow

* Add dataclass and remove unique ID in config-flow

* remove translations

* Apply suggestions from code review

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Refactor config flow and terminate connection

* Rename test_config_flow.py

* Fix tests

* Minor fixes

* Make mock_create_server a fixture

* Combine tests

* Abort if entry already exists

* Apply suggestions from code review

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Move HomeAssistantSnapcast to own file. Clean-up last commit

* Split import flow from user flow. Fix tests.

* Use explicit asserts. Add default values to dataclass

* Change entry title to Snapcast

---------

Co-authored-by: Barrett Lowe <barrett.lowe@gmail.com>
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-03-30 07:42:09 +02:00
Chris Xiao 7c778847e7
Add config flow to qBittorrent (#82560)
* qbittorrent: implement config_flow

Signed-off-by: Chris Xiao <30990835+chrisx8@users.noreply.github.com>

* qbittorrent: add English translations

Signed-off-by: Chris Xiao <30990835+chrisx8@users.noreply.github.com>

* qbittorrent: create sensors with config_flow

Signed-off-by: Chris Xiao <30990835+chrisx8@users.noreply.github.com>

* qbittorrent: set unique_id and icon

Signed-off-by: Chris Xiao <30990835+chrisx8@users.noreply.github.com>

* qbittorrent: add tests for config_flow

Signed-off-by: Chris Xiao <30990835+chrisx8@users.noreply.github.com>

* qbittorrent: detect duplicate config entries

Signed-off-by: Chris Xiao <30990835+chrisx8@users.noreply.github.com>

* qbittorrent: import YAML config

Signed-off-by: Chris Xiao <30990835+chrisx8@users.noreply.github.com>

* qbittorrent: update coveragerc

Signed-off-by: Chris Xiao <30990835+chrisx8@users.noreply.github.com>

* qbittorrent: delete translations file

* create `deprecated_yaml` issue in `setup_platform`

* move qbittorrent test fixtures to conftest.py

* improve code quality & remove wrong unique_id

* keep PLATFORM_SCHEMA until YAML support is removed

* remove CONF_NAME in config entry, fix setup_entry

* improve test suite

* clean up QBittorrentSensor class

* improve user flow tests

* explicit result assertion & minor tweaks in tests

Co-authored-by: epenet <epenet@users.noreply.github.com>

* implement entry unloading

Co-authored-by: epenet <epenet@users.noreply.github.com>

* add type hints

* tweak config_flow data handling

---------

Signed-off-by: Chris Xiao <30990835+chrisx8@users.noreply.github.com>
Co-authored-by: epenet <epenet@users.noreply.github.com>
2023-03-29 22:13:41 +02:00
Michael 45262c6114
Implement config flow for nextcloud (#89396)
* implement config flow

* add tests

* fix hassfest and requirements

* abort import on connection error

* add add_suggested_values_to_schema

* mock async_setup_entry

* revert code owner change

* fix try connect in config flow

* add device info

* allow multiple instances

* fix import in config flow

* remove custom scan interval from coordinator

* applay suggestions

* apply suggestions

* take over ownership from @meichthys

* cleanup import data before passing to user step

* apply suggestions to tests

* add untested files to .coveragerc
2023-03-26 21:14:17 +02:00
Thijs W b8bda93d87
Add config flow to frontier_silicon (#64365)
* Add config_flow to frontier_silicon

* Add missing translation file

* Delay unique_id validation until radio_id can be determined

* Fix tests

* Improve tests

* Use FlowResultType

* Bump afsapi to 0.2.6

* Fix requirements_test_all.txt

* Stash ssdp, reauth and unignore flows for now

* Re-introduce SSDP flow

* hassfest changes

* Address review comments

* Small style update

* Fix tests

* Update integrations.json

* fix order in manifest.json

* fix black errors

* Apply suggestions from code review

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Address review comments

* fix black errors

* Use async_setup_platform instead of async_setup

* Address review comments on tests

* parameterize tests

* Remove discovery component changes from this PR

* Address review comments

* Apply suggestions from code review

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Add extra asserts to tests

* Restructure _async_step_device_config_if_needed

* Add return statement

* Update homeassistant/components/frontier_silicon/media_player.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-03-10 10:26:03 +01:00
epenet 699cc6c092
Adjust docstring on hassfest generated files (#89080) 2023-03-03 11:34:20 +01:00
Stephan Uhle adb0455bd2
Add config flow to EDL21 (#87655)
* Added config_flow for edl21.

* Added already_configured check.

* Added config_flow test

* Added setup of the edl21 from configuration.yaml

* Ran script.gen_requirements_all

* Removed the generated translation file.

* Added a deprecation warning when importing from configuration.yaml.

* Readded the platform schema.

* Added handling of optional name for legacy configuration.

* Fixed handling of default value in legacy configuration.

* Added duplication check entries created via legacy config.

* Apply suggestions from code review

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Apply suggestions from code review

* Apply suggestions from code review

* Apply suggestions from code review

* Apply suggestions from code review

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Apply suggestions from code review

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-03-01 21:19:20 +01:00
Emory Penney 0e8d28dab0
Add Config Flow to Obihai (#88627)
* Obihai: Config Flow Only

* Remove reboot service

* Update .coveragerc

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* PR Feedback

* Use Issue Registry

* Add config_flow tests

* Another pass with pre-commit

* Resolve cyclical import and move sensorClasses to sensor

* Update homeassistant/components/obihai/config_flow.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update homeassistant/components/obihai/sensor.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update homeassistant/components/obihai/sensor.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update tests/components/obihai/test_config_flow.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Another round of feedback

* More PR feedback

* Offline testing, already_configured is required

* Update homeassistant/components/obihai/config_flow.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update homeassistant/components/obihai/config_flow.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update homeassistant/components/obihai/config_flow.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Cleanup

* Update homeassistant/components/obihai/__init__.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* PR feedback

* Backout today's changes: Fix mypy error

* Update tests/components/obihai/test_config_flow.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update tests/components/obihai/test_config_flow.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update tests/components/obihai/test_config_flow.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update tests/components/obihai/test_config_flow.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Don't plan ahead

* PR feedback

* Update homeassistant/components/obihai/config_flow.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Cleanup strings

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-02-27 17:22:15 +01:00
Erik Montnemery 4db40810dd
Add support for dormakaba dKey locks (#87501)
* Add support for dormakaba dKey locks

* Pylint

* Address review comments

* Add test for already configured entry

* Add user flow

* Address review comments

* Simplify config flow

* Add tests

* Sort manifest

* Remove useless _abort_if_unique_id_configured

* Remove config entry update listener

* Simplify user flow

* Remove startup event

* Revert "Simplify user flow"

This reverts commit 0ef9d1c6bb.
2023-02-12 13:46:31 +01:00
MarkGodwin ce9a514667
TP-Link Omada integration (#81223)
* TP-Link Omada integration
Support for PoE config of network switch ports

* Bump omada client version

* Fixing tests

* Refactored site config flow

* Code review comments

* Fixed tests and device display name issue

* Bump isort to fix pre-commit hooks

* Hassfest for the win

* Omada code review

* Black

* More config flow test coverage

* Full coverage for omada config_flow

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-02-06 10:57:18 -05:00
Klaas Schoute 3723241937
Add easyEnergy integration (#86266) 2023-02-03 19:56:17 +01:00
J. Nick Koston 03a8dcfdc1
Add Mopeka integration (#86500)
* Add Mopeka integration

Mopeka makes BLE propane tank monitors

* cover

* wip

* wip

* bump lib

* strip binary sensor

* all sensors

* all sensors

* update tests

* change quality

* change quality

* adjust

* integration_type, strict-typing
2023-01-25 12:28:13 -05:00
Paulus Schoutsen 7d641e4d3e
Add OpenAI integration (#86621)
* Add OpenAI integration

* Remove empty manifest fields

* More prompt tweaks

* Update manifest

* Update homeassistant/components/openai_conversation/config_flow.py

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

* Address comments

* Add full integration tests

* Cripple the integration

* Test single instance

Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-01-25 11:30:13 -05:00
Franck Nijhof 5f1edbccd1
Remove Almond integration (#86616) 2023-01-25 12:21:26 +01:00
On Freund 2c9e8ad475
ReadYourMeter Pro integration (#85986)
* ReadYourMeter Pro integration

* Add __init__.py to .coveragerc

* Address code review comments

* More code review comments
2023-01-24 22:41:33 +02:00
Erik Montnemery 9ef86b7b66
Add Thread integration (#86283)
* Add Thread integration

* Address review comments

* Address review comments
2023-01-23 10:27:24 -05:00
fwestenberg 29b2b6727e
Add Stookwijzer (#84435)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-01-20 13:42:47 +01:00
Erik Montnemery b4abfb1697
Adjust Thread config flow (#86097)
* Adjust Thread config flow

* Improve tests

* Update homeassistant/components/otbr/config_flow.py

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

Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-01-17 13:27:33 -05:00
Brandon Rothweiler 2ed6df9003
Add EufyLife Bluetooth integration (#85907)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-01-16 18:29:50 -10:00
Robert Hillis 3d7c61bbed
Add D-Link config flow (#84927) 2023-01-10 14:10:56 -10:00
Rami Mosleh a0e18051c7
Add config flow to imap (#74623)
* Add config flow to imap

fix coverage

fix config_flows.py

* move coordinator to seperate file, remove name key

* update intrgations.json

* update requirements_all.txt

* fix importing issue_registry

* Address comments

* Improve handling exceptions on intial connection

* exit loop tasks properly

* fix timeout

* revert async_timeout

* Improve entity update handling

* ensure we wait for idle to finish

* fix typing

* Update deprecation period

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-01-09 11:41:47 +01:00
Jack Boswell 3ad4caa3d7
Add Starlink Integration (#77091)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-01-07 10:13:37 -10:00
Robert Hillis ad65fc27bc
Add Google Mail integration (#82637)
* Add Google Mail integration

* oops

* prettier

* Add email service

* adjustments

* update

* move email to notify

* break out services

* tweaks

* Add CC and BCC support

* drop scope check, breakout tests

* use abstract auth

* tweak

* bump dependency

* dependency bump

* remove oauth2client
2023-01-07 11:59:14 -08:00
Allen Porter 5000c426c6
Add config flow for Rain Bird (#85271)
* Rainbird config flow

Convert rainbird to a config flow. Still need to handle irrigation numbers.

* Add options for irrigation time and deprecate yaml

* Combine exception handling paths to get 100% test coverage

* Bump the rainird config deprecation release

* Apply suggestions from code review

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

* Remove unnecessary sensor/binary sensor and address some PR feedback

* Simplify configuration flow and options based on PR feedback

* Consolidate data update coordinators to simplify overall integration

* Fix type error on python3.9

* Handle yaml name import

* Fix naming import post serialization

* Parallelize requests to the device

* Complete conversion to entity service

* Update homeassistant/components/rainbird/switch.py

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

* Update homeassistant/components/rainbird/config_flow.py

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

* Remove unused import

* Set default duration in options used in tests

* Add separate devices for each sprinkler zone and update service to use config entry

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-01-07 09:34:01 -08:00
930913 2507ec1f4b
Add LD2410 BLE integration (#83883) 2023-01-05 16:15:03 -10:00
Klaas Schoute 7d54620f34
Add EnergyZero integration (#83886) 2023-01-03 22:28:16 +01:00
Aarni Koskela 38f183a683
Ruuvi Gateway integration (#84853)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-01-03 10:19:43 -10:00
Koen van Zuijlen 6349760a2c
Zeversolar integration (#84887)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-01-03 20:14:08 +01:00
epenet 896526c24b
Add SFR Box integration (#84780)
* Add SFR Box integration

* Adjust error handling in config flow

* Add tests

* Use value_fn

* Add translation

* Enable mypy strict typing

* Add ConfigEntryNotReady

* Rename exception

* Fix requirements
2022-12-31 10:14:13 +01:00
starkillerOG a06b1eaf69
Add reolink IP NVR/Camera integration (#84081)
Co-authored-by: J. Nick Koston <nick@koston.org>
2022-12-27 10:15:53 -10:00
Aaron Bach e64973c7cc
Add PurpleAir integration (#82110) 2022-12-12 20:32:11 -07:00
Aaron Bach 3d4ee5906d
Add integration for AirVisual Pro (#79770)
* Add integration for AirVisual Pro

* Tests

* A few more redactions

* Loggers

* Consistency

* Remove unnecessary f-string

* Use `entry.as_dict()` in diagnostics

* One call

* Integration types

* Cleanup

* Import cleanup

* Code review

* Code review

* Code review
2022-12-12 14:28:27 -07:00
tronikos 5d31673465
Google Assistant SDK integration (#82328)
* Copy google_sheets to google_assistant_sdk

This is to improve diff of the next commit with the actual implementation.

Commands used:
cp -r homeassistant/components/google_sheets/ homeassistant/components/google_assistant_sdk/
cp -r tests/components/google_sheets/ tests/components/google_assistant_sdk/

find homeassistant/components/google_assistant_sdk/ tests/components/google_assistant_sdk/ -type f | xargs sed -i \
-e 's@google_sheets@google_assistant_sdk@g' \
-e 's@Google Sheets@Google Assistant SDK@g' \
-e 's@tkdrob@tronikos@g'

* Google Assistant SDK integration
Allows sending commands and broadcast messages to Google Assistant.

* Remove unnecessary async_entry_has_scopes check

* Bump gassist-text to fix protobuf dependency
2022-12-09 07:14:43 -08:00
Marcel van der Veldt e2308fd15c
Add matter integration BETA (#83064)
* Add matter base (#79372)

Co-authored-by: Marcel van der Veldt <m.vanderveldt@outlook.com>

* Add matter server add-on flow (#82698)

* Add matter server add-on flow

* Fix stale error argument

* Clean docstrings

* Use localhost as default address

* Add matter websocket api foundation (#82848)

* Add matter config entry add-on management (#82865)

* Use matter refactored server/client library (#83003)

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

* Bump python-matter-server to 1.0.6 (#83059)

* Extend matter websocket api (#82948)

* Extend matter websocket api

* Finish docstring

* Fix pin type

* Adjust api after new client

* Adjust api to frontend for now

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-12-01 20:44:56 +01:00
Allen Porter 532ab12a48
Local calendar integration (#79601) 2022-11-30 21:20:21 +01:00
Franck Nijhof 285aff154d
Remove Google Chat/Hangouts integration (#82645) 2022-11-24 18:33:13 +01:00
G Johansson b3dd59f202
Add config flow to Scrape (#81193)
* Scrape take 2

* cleanup

* new entity name

* Fix name, add tests

* Use FlowResultType

* Add test abort

* hassfest

* Remove not needed test

* clean

* Remove config entry and implement datacoordinator

* fix codeowners

* fix codeowners

* codeowners reset

* Fix coordinator

* Remove test config_flow

* Fix tests

* hassfest

* reset config flow

* reset strings

* reset sensor

* Reconfig

* Fix tests

* coverage

* Remove coverage

* Remove print

* Add config flow

* Fix config flow

* Add back init

* Add entry to sensor

* float to int

* Fix SelectSelector

* Add tests for config entry to existing

* Test config flow

* Fix test reload

* Fix rebase

* Fix strings

* clean init

* Clean test_sensor

* Align sensor setup entry

* Add error to strings

* review changes

* clean tests

* Add back options flow

* review changes

* update_listener

* Add tests

* Remove duplicate abort

* strings

* sensors to sensor

* review changes

* more review changes

* clarify test payload

* fixture name
2022-11-21 21:39:39 +01:00
Aarni Koskela 38b84620bd
Add support for Sensirion BLE sensors (#82382) 2022-11-19 14:26:54 -06:00
Aarni Koskela f3e85b6492
Deduplicate blackening (#81802) 2022-11-09 16:58:20 +01:00
Aarni Koskela ec316e94ed
RuuviTag BLE sensor support (#81327) 2022-11-09 08:35:30 -06: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
StefanIacobLivisi 902e075d58
Add livisi integration (#76863) 2022-11-07 14:40:23 +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
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
aschmitz a766b41b13
Add basic Aranet integration (#80865) 2022-10-30 22:50:46 -05:00
Daniel Gangl b2b3c47917
Add config flow to zamg (#66469) 2022-10-26 18:35:12 +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
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
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
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
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
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
Erik Montnemery 1021c90bb8
Use black to format hassfest generated files (#78794) 2022-09-19 17:37:22 -04: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
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
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 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
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
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
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
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
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
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
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
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 bb0038319d
Add Yale Access Bluetooth integration (#76182) 2022-08-10 10:08:02 -10: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
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 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
Paulus Schoutsen 6fd47d035e
Add basic Rhasspy integration (#74942)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2022-07-11 08:40:52 -07: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
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
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
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
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
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
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
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
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
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
Marcel van der Veldt 25779a49a4
Add slimproto integration (Squeezebox players) (#70444)
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-04-26 23:24:17 -07:00
Shai Ungar 3f5027834b
Sabnzbd config flow (#68138)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2022-04-26 23:09:10 -07:00
Robert Hillis b1a6521abd
Add config flow to steam_online integration (#67261)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2022-04-26 23:07:21 -07:00
G Johansson 6adcf500b3
Add trafikverket_ferry integration (#70443) 2022-04-26 19:40:53 -10:00
Robert Hillis 09a7116efc
Add config flow to tautulli integration (#57450) 2022-04-27 01:37:13 +02:00
Álvaro Fernández Rojas 8a2b20faf0
Add new QNAP QSW integration (#70151)
Co-authored-by: J. Nick Koston <nick@koston.org>
2022-04-26 13:10:23 -10:00
G Johansson 472ffd3bc6
Implement config flow for SQL integration (#68700) 2022-04-24 08:50:32 -10:00
Milan Meulemans c932407560
Add SENZ OAuth2 integration (#61233) 2022-04-14 15:29:31 -07:00
Billy Stevenson 2c3d9566cb
Add Meater integration (#44929)
Co-authored-by: Alexei Chetroi <lexoid@gmail.com>
Co-authored-by: Brian Rogers <brg468@hotmail.com>
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: Erik <erik@montnemery.com>
2022-04-01 15:11:37 +02:00
Antoni Czaplicki 76f07ec240
Add Uonet+ Vulcan integration (#56357)
* Add Uonet+ Vulcan integration

* Add "configuration_url", fix some minor issues

* Refactor and fix tests

* Optimize code

* Apply suggestion from code review

Co-authored-by: Maciej Bieniek <bieniu@users.noreply.github.com>

* Update error handling

* Fix some tests

* Update CODEOWNERS and fix pylint

* Cleanup vulcan tests

* Run prettier

Co-authored-by: Maciej Bieniek <bieniu@users.noreply.github.com>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2022-03-30 17:55:24 +02:00
Robert Hillis 9f0665bbb4
Add config flow to discord (#61069) 2022-03-30 13:18:48 +02:00
Michael 2f7aeb64d2
Add config flow to Tankerkoenig (#68386) 2022-03-29 20:23:30 -07:00
G Johansson 06435f633f
Implement config flow for trafikverket_train (#65182) 2022-03-29 08:32:38 -10:00
Erik Montnemery bdb61e0222
Add config flow for utility_meter (#68457) 2022-03-29 14:46:17 +02:00
Dave T c1a2be72fc
Generic IP Camera configflow 2 (#52360)
Co-authored-by: J. Nick Koston <nick@koston.org>
2022-03-28 09:08:00 -10:00
Erik Montnemery 2ec1e06c75
Mark group as a helper integration (#68775) 2022-03-28 12:36:11 +02:00
Erik Montnemery a597c11ea2
Mark threshold as a helper integration (#68780) 2022-03-28 12:26:52 +02:00
Erik Montnemery 48187cebad
Mark integration as a helper integration (#68778) 2022-03-28 10:35:52 +02:00
Erik Montnemery 95d6848726
Mark switch_as_x as a helper integration (#68779) 2022-03-28 10:35:08 +02:00
Erik Montnemery 66d892237d
Add config flow for min_max sensor (#67807)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2022-03-28 09:39:54 +02:00
rappenze e844c2380a
Add config flow to fibaro (#65203)
Co-authored-by: J. Nick Koston <nick@koston.org>
2022-03-26 09:50:50 -10:00
G Johansson 67cf053260
Implement config flow for filesize (#67668)
Co-authored-by: J. Nick Koston <nick@koston.org>
2022-03-25 09:30:28 -10:00
Erik Montnemery 9f079a22d5
Add config flow for times of the day binary sensor (#68246)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2022-03-24 20:46:34 +01:00
Robert Hillis e1ae940a34
Add config flow to deluge (#58789) 2022-03-22 21:01:24 -07:00
Erik Montnemery b5d2c6e43a
Add config flow for threshold binary sensor (#68238)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2022-03-22 11:32:19 +01:00
IceBotYT a43505a0a3
Add PECO power outage counter integration (#65194)
* Create a new NWS Alerts integration

* Create a new NWS Alerts integration

* Create new PECO integration

* Remove empty keys

* Revert "Create a new NWS Alerts integration"

This reverts commit 38309c5a87.

* Revert "Create a new NWS Alerts integration"

This reverts commit aeabdd37b8.

* Fix test with new mock data

* Add init and sensor to .coveragerc and more tests for config flow

* Small fixes and replacing patch with pytest.raises in testing invalid county

* Add type defs and fix test_config_flow to use MultipleValid instead

* Fix  issues with 'typing.Dict'

* Move API communication to seperate PyPI library

* Switch PyPI library from httpx to aiohttp to allow for passing in websessions

* Commit file changes requested by farmio as listed here: d267e4300a

* Add suggestions requested by farmio as listed here: 586d8ffa42

* Move native_unit_of_measurement from prop to attr

* Update PLATFORMS constant type annotation

Co-authored-by: Matthias Alphart <farmio@alphart.net>

* Add peco to .strict-typing

I am from school so I can't run mypy atm

* Forgot to import Final

* Do as requested [here](https://github.com/home-assistant/core/runs/5070634928?check_suite_focus=true)

* Updated mypy.ini, checks should pass now

* Fix to conform to mypy restrictions https://github.com/home-assistant/core/runs/5072861837\?check_suite_focus\=true

* Fix type annotations

* Fix tests

* Use cast in async_update_data

* Add data type to CoordinatorEntity and DataUpdateCoordinator

* More cleanup from suggestions here: https://github.com/home-assistant/core/pull/65194\#pullrequestreview-908183493

* Fix tests for new code

* Cleaning up a speck of dust

* Remove unused variable from the peco sensor

* Add rounding to percentage, and extra clean-up

* Final suggestions from @farmio

* Update SCAN_INTERVAL to be a little bit faster

* Change the SCAN_INTERVAL to be somewhat near the update interval of the outage map, as noted by farmio

* New UpdateCoordinator typing
2022-03-21 23:56:53 +01:00
Paulus Schoutsen 3213091b8d
Add integration type (#68349) 2022-03-20 20:38:13 -07:00
Baptiste Candellier a136cf7086
Remove SmartHab integration (#67874) 2022-03-20 19:00:16 +01:00
Raman Gupta 4cd4fbefbf
Add new tomorrow.io integration to replace Climacell (#68156)
* Add new tomorrow.io integration to replace Climacell - Part 1/3 (#57121)

* Add new tomorrow.io integration to replace Climacell - Part 1/3

* remove unused code

* remove extra test

* remove more unused code

* Remove even more unused code

* Feedback

* clean up options flow

* clean up options flow

* tweaks and fix tests

* remove device_class from tomorrowio entity description class

* use timestep

* fix tests

* always use default name but add zone name if location is in a zone

* revert change that will go into future PR

* review comments

* move code out of try block

* bump max requests to 500 as per docs

* fix tests

* Add new tomorrow.io integration to replace Climacell - Part 2/3 (#57124)

* Add new tomorrow.io integration to replace Climacell - Part 2/3

* translations

* set config flow to false in manifest

* Cleanup more code and re-add options flow test

* fixes

* patch I/O calls

* Update tests/components/climacell/test_config_flow.py

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

* remove unused import

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

* Fix codeowners

* fix mypy and pylint

* Switch to DeviceInfo

* Fix fixture location and improve sensor entities in tomorrowio integration (#63527)

* Add new tomorrow.io integration to replace Climacell - Part 3/3 (#59698)

* Switch to DeviceInfo

* Add new tomorrow.io integration to replace Climacell - Part 1/3 (#57121)

* Add new tomorrow.io integration to replace Climacell - Part 1/3

* remove unused code

* remove extra test

* remove more unused code

* Remove even more unused code

* Feedback

* clean up options flow

* clean up options flow

* tweaks and fix tests

* remove device_class from tomorrowio entity description class

* use timestep

* fix tests

* always use default name but add zone name if location is in a zone

* revert change that will go into future PR

* review comments

* move code out of try block

* bump max requests to 500 as per docs

* fix tests

* Migrate ClimaCell entries to Tomorrow.io

* tweaks

* pylint

* Apply fix from #60454 to tomorrowio integration

* lint and mypy

* use speed conversion instead of distance conversion

* Use SensorDeviceClass enum

* Use built in conversions and remove unused loggers

* fix requirements

* Update homeassistant/components/tomorrowio/__init__.py

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

* Use constants

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

* Black

* Update logic and add coverage

* remove extra line

* Do patching correctly

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-03-19 08:42:22 +01:00
Franck Nijhof 2686be921c
Remove deprecated (old) Z-Wave integration (#67221)
* Remove deprecated (old) Z-Wave integration

* Mark migration tests as skip, for later cleanup
2022-03-18 13:09:10 +01:00
Erik Montnemery 5bb271c9fb
Add config flow for derivative sensor (#68268) 2022-03-18 12:14:38 +01:00
Erik Montnemery 2fcced333d
Add config flow for sun (#68295)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2022-03-18 10:12:15 +01:00
Erik Montnemery 0655ebbd84
Add config flow for integration sensor (#68288) 2022-03-18 09:52:17 +01:00
Allen Porter 7876ffe9e3
Update google calendar integration with a config flow (#68010)
* Convert google calendar to config flow and async

* Call correct exchange method

* Fix async method and reduce unnecessary diffs

* Wording improvements

* Reduce unnecessary diffs

* Run load/update config from executor

* Update homeassistant/components/google/calendar.py

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

* Remove unnecessary updating of unexpected multiple config entries.

* Remove unnecessary unique_id checks

* Improve readability with comments about device code expiration

* Update homeassistant/components/google/calendar.py

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

* Update homeassistant/components/google/calendar.py

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

* Update homeassistant/components/google/api.py

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

* Add comment for when code is none on timeout

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-03-15 07:51:02 +01:00
Franck Nijhof 57c33a5cf0
Remove deprecated OpenZWave integration (#68054) 2022-03-14 17:33:04 +01:00
Franck Nijhof 0467dc55fe
Add config flow to Uptime (#67408) 2022-03-12 12:36:08 +01:00
Erik Montnemery cb7e492e81
Add switch_as_x integration (#67878)
* Add switch_as_x integration

* Address review comments

* Add translation strings

* Rename entity_type option to target_domain

* Move LightSwitch class definition to switch_as_x/light.py

* Update manifest

* Move tests
2022-03-10 12:23:01 +01:00
Álvaro Fernández Rojas 8549e31b27
Add Airzone HVAC Zoning Systems (#67666) 2022-03-08 22:28:39 +01:00
Steve Easley ea82f2e293
Add Kaleidescape integration (#67711) 2022-03-08 00:16:43 +01:00
Franck Nijhof 9d42a425fc
Add config flow to Season (#67413) 2022-03-07 18:58:29 +01:00
Erik Montnemery a9cc2d2322
Add config flow for cover, fan, light and media_player groups (#67660)
* Add options flow support to HelperConfigFlowHandler

* Add config flow for cover, fan, light and media_player groups

* Update according to review comments

* Update translation strings

* Update translation strings

* Copy schema before adding suggested values
2022-03-07 13:05:04 +01:00
Erik Montnemery 0c12914548
Add config flow for switch.light (#67447)
* Add config flow for switch.light

* Refactor according to code review

* Setup light switch from config entry

* Improve async_resolve_entity

* Prepare for multiple steps

* Remove name and options flow from switch light

* Check type before adding description to schema keys

* Remove options flow enabler

* Copy name from the switch

* Move helper flows to new file

* Improve test coverage

* Fix name

* Remove dead code from abstract method

* Remove manifest 'helper' option

* Validate registry entry id before forwarding to light platform

* Improve test

* Add translations

* Improve config entry setup

* Log when config entry fails setup

* Update homeassistant/components/switch/__init__.py

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

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2022-03-04 20:02:17 +01:00
Franck Nijhof 02391663c1
Add config flow to Moon (#67444) 2022-03-03 15:12:33 -08:00
Michael Chisholm b19bf9b147
Add dlna_dms integration to support DLNA Digital Media Servers (#66437) 2022-02-21 15:14:08 -08:00
Franck Nijhof d839febbe7
Add Radio Browser integration (#66950) 2022-02-21 09:13:02 -08:00
Klaas Schoute 6c2d6fde66
Add Pure Energie integration (#66846) 2022-02-19 17:53:25 +01:00
Franck Nijhof e26488b1ca
Add config flow to MJPEG IP Camera (#66607) 2022-02-18 00:03:41 -08:00
Mike Fugate 0bd0b4766e
Refactor sleepiq as async with config flow (#64850)
Co-authored-by: J. Nick Koston <nick@koston.org>
2022-02-16 08:51:29 -06:00
j-a-n 243d003acc
Add Moehlenhoff Alpha2 underfloor heating system integration (#42771)
* Add Moehlenhoff Alpha2 underfloor heating system integration

* isort changes

* flake8 changes

* Do not exclude config_flow.py

* pylint changes

* Add config_flow test

* correct requirements_test_all.txt

* more tests

* Update test description

* Test connection and catch TimeoutError in async_setup_entry

* Add version to manifest file

* Remove version from manifest file

* Replace tests.async_mock.patch by unittest.mock.patch

* Update moehlenhoff-alpha2 to version 1.0.1

* Update requirements for moehlenhoff-alpha2 1.0.1

* Update moehlenhoff-alpha2 to 1.0.2

* Use async_setup_platforms

* Use async_unload_platforms

* Separate connection and devices for each entry_id

* Use async_track_time_interval to schedule updates

* Check if input is valid before checking uniqueness

* Move Exception handling to validate_input

* Catch aiohttp.client_exceptions.ClientConnectorError

* Remove translation files

* Mock TimeoutError

* Fix data update

* Replace current callback implementation with ha dispatcher

* Return False in should_poll

* Remove unused argument

* Remove CONNECTION_CLASS

* Use _async_current_entries

* Call async_schedule_update_ha_state after data update

* Remove unneeded async_setup

Co-authored-by: Milan Meulemans <milan.meulemans@live.be>

* Remove unneeded async_setup_platform

Co-authored-by: Milan Meulemans <milan.meulemans@live.be>

* Set Schema attribute host required

Co-authored-by: Milan Meulemans <milan.meulemans@live.be>

* Remove unused Exception class

Co-authored-by: Milan Meulemans <milan.meulemans@live.be>

* Update manifest.json

Co-authored-by: Milan Meulemans <milan.meulemans@live.be>

* pylint constructor return type None

* Replace properties by class variables

* use pass instead of return

* Remove unused sync update method

* remove property hvac_action

* remove pass

* rework exception handling

* Update homeassistant/components/moehlenhoff_alpha2/config_flow.py

Co-authored-by: Milan Meulemans <milan.meulemans@live.be>

* Correct indentation

* catch Exception in validate_input

* Replace HomeAssistantType with HomeAssistant

* Update to moehlenhoff-alpha2 1.0.3

* Allow to switch between heating and cooling mode

* Update moehlenhoff-alpha2 to version 1.0.4

* Update heatarea data after setting target temperature

* Support hvac_action

* Fix heatarea update with multiple bases

* Update data after setting preset mode

* Use custom preset modes like defined by device

* Fix config flow test

* Fix test_duplicate_error

* Rename property to extra_state_attributes

Rename property device_state_attributes to extra_state_attributes and
return lowercase keys in dict.

* Refactor using DataUpdateCoordinator

* Remove _attr_should_poll

* Raise HomeAssistantError on communication error

Catch HTTPError instead of broad except and reraise as HomeAssistantError

* Change DataUpdateCoordinator name to alpha2_base

* Refresh coordinator before setting data

* Raise ValueError on invalid heat area mode

* Rename heatarea to heat_area

* Set type annotation in class attribute

* Move coordinator to top

* Move exception handling to the coordinator

* Use heat_area_id directly

* Sore get_cooling() result into local var

* Add explanation of status attributes

and remove BLOCK_HC

* Fix pylint warnings

* from __future__ import annotations

* Use Platform Enum

* Move data handling to coordinator

* Remove property extra_state_attributes

* Add missing annotations

* Update moehlenhoff-alpha2 to version 1.1.2

* Rework tests based on the scaffold template

* Set also heat/cool/day/night temp with target temp

* Remove unneeded code from tests

Co-authored-by: Milan Meulemans <milan.meulemans@live.be>
2022-02-10 08:28:52 +01:00
Sander Jochems 0ea82bdbfb
Fivem integration (#65089)
* Initial fivem integration setup

* Use licenseKey for unique ID

* Create FiveMServer class

* Create FiveMStatusBinarySensor

* Fix platform loading

* Create sensor platform

* Remove config flow tests

* Update manifest.json

* Use attr_ instead or properties in sensors.py

* Use entry_id as unique_id

* Move device info to _attr instead of property

* Register callback in FiveMEntity

* Create config flow tests

* Add loggin to fivem

* Use FiveM in config_flow

* Use update_coordinator instead of dispatcher

* Bump fivem-api to 0.1.2

* Remove leftovers

* More tests for config flow

* Add component files to .coveragerc

* Fix simple comments

* Add gamename check to config flow

* Use entity descriptions for sensors

* Move extra attributes to init

* Use [] instead of get() for server info

* Fix error in gamename test
2022-02-08 11:27:11 +02:00
Poltorak Serguei 3c5a667d97
Add Z-Wave.Me integration (#65473)
* Add support of Z-Wave.Me Z-Way and RaZberry server (#61182)

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: LawfulChaos <kerbalspacema@gmail.com>

* Add switch platform to Z-Wave.Me integration (#64957)

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

* Add button platform to Z-Wave.Me integration (#65109)

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
Co-authored-by: Dmitry Vlasov <kerbalspacema@gmail.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Fix button controller access (#65117)

* Add lock platform to Z-Wave.Me integration #65109 (#65114)

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
Co-authored-by: Dmitry Vlasov <kerbalspacema@gmail.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Add sensor platform to Z-Wave.Me integration (#65132)

* Sensor Entity

* Sensor fixes

* Apply suggestions from code review

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

* Inline descriotion according to review proposal

* State Classes for sensor

* Generic sensor

* Generic sensor

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

* Add binary sensor platform to Z-Wave.Me integration (#65306)

* Binary Sensor Entity

* Update docstring

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

* Add Light Entity platform to Z-Wave.Me integration (#65331)

* Light Entity

* mypy fix

* Fixes, ZWaveMePlatforms enum

* Apply suggestions from code review

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

* Fixes

* Fixes

* Fixes

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

* Add Thermostat platform to Z-Wave.Me integration #65331 (#65371)

* Climate entity

* Climate entity

* Apply suggestions from code review

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

* Climate entity fix

* Clean up

* cleanup

* Import order fix

* Correct naming

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

* Correct zwave_me .coveragerc (#65491)

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

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: LawfulChaos <kerbalspacema@gmail.com>
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2022-02-07 16:27:11 +01:00
Stephan Traub 432d9a8f19
Introduce wiz integration for the WiZ Platform (#44779)
Co-authored-by: Marvin Wichmann <marvin@fam-wichmann.de>
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Jan Stienstra <65826735+j-stienstra@users.noreply.github.com>
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2022-02-04 16:20:21 -08:00
Simon Hansen 049fc8a945
Add config flow to ISS integration (#64987)
* Initial commit

* Wrong flowhandler name

* Add config flow tests

* Tests for config flow

* ...

* Add test for no coordinates

* ...

* Update homeassistant/components/iss/config_flow.py

Co-authored-by: Shay Levy <levyshay1@gmail.com>

* Update homeassistant/components/iss/config_flow.py

* Update homeassistant/components/iss/binary_sensor.py

Co-authored-by: Shay Levy <levyshay1@gmail.com>

* Add myself as codeowner

Co-authored-by: Shay Levy <levyshay1@gmail.com>
2022-01-29 11:41:26 +02:00
tokenize47 2f30fdb9b8
Add solax config flow (#56620) 2022-01-26 10:58:06 +01:00
Nick Whyte 3dd7ec6856
Add Aussie Broadband integration (#53552) 2022-01-20 19:34:25 -10:00
G Johansson 543064d7b7
Implement config flow dnsip (#62843) 2022-01-20 10:45:58 -10:00
Jeef f854fdb8fd
Add Intellifire Gas Fireplace integration (#63637)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: Mick Vleeshouwer <mick@imick.nl>
2022-01-20 10:01:04 +01:00
Joakim Sørensen 6a0c3843e5
Revamp github integration (#64190)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-01-18 20:04:01 +01:00
Shay Levy dee843bf6e
Add LG webOS Smart TV config flow support (#64117)
* Add webOS Smart TV config flow support (#53256)

* Add Webostv config flow

* Fix tests mocks and apply review comments

* Apply review comments

* Change config flow to use ssdp UDN as unique_id

* Fix device info

* More review comments

* Fix _async_check_configured_entry

* Remove turn on script

* Add webOS Smart TV device triggers (#53752)

* Add webOS Smart TV config flow support (#53256)

* Add Webostv config flow

* Fix tests mocks and apply review comments

* Apply review comments

* Change config flow to use ssdp UDN as unique_id

* Fix device info

* More review comments

* Fix _async_check_configured_entry

* Remove turn on script

* Add webOS Smart TV device triggers (#53752)

* Fix webOS Smart TV mypy and pylint errors (#62620)

* Change webOS Smart TV PyPi aiopylgtv package to bscpylgtv (#62633)

* Change webOS Smart TV PyPi aiopylgtv package to bscpylgtv

* Update bscpylgtv to 0.2.8 (revised websockets requirment)

* Change webOS Smart TV PyPi package to aiowebostv (#63759)

* Change webOS Smart TV PyPi package to aiowebostv

* Apply suggestions from code review

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

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

* webOS TV check UUID for user added device (#63817)

* webOS TV check uuid when for user added device

* Apply suggestions from code review

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

* Add test for form abort and host update

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

* Rework webOS Smart TV device trigger to custom trigger platform (#63950)

* Rework webOS Smart TV device trigger to custom trigger platform

* Review comments and add tests

* Fix webOS TV import from YAML (#63996)

* Fix webOS TV import from YAML

* Fix requirements

* Migrate YAML entities unique id to UUID

* Add backoff to migration task delay

* Assert result data and unique_id

* Apply suggestions from code review

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

* Add codeowner

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-01-14 22:48:45 +01:00
Duco Sebel 8f6e24aa1e
Add HomeWizard Energy integration (#55812)
Co-authored-by: Matthias Alphart <farmio@alphart.net>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2022-01-10 16:23:31 -08:00
Simon Hansen b22a9b8669
Refactor Launch Library to use config flow (#62416)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: Joakim Sørensen <hi@ludeeus.dev>
2022-01-08 11:47:16 +01:00
J. Nick Koston 943aaaeb3f
Add SenseME integration (#62909)
Co-authored-by: Big Mike <mikelawrence@users.noreply.github.com>
2022-01-07 22:53:05 -10:00
J. Nick Koston 4283b2358c
Add support for Steamist steam showers (#63251)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2022-01-06 02:55:57 +01:00
mletenay f0acbabd48
Add Goodwe solar inverter integration (#58503)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: starkillerOG <starkiller.og@gmail.com>
2022-01-04 22:19:31 +01:00
J. Nick Koston 724f5dbf1a
Add Oncue by Kohler integration (#63203) 2022-01-02 09:15:39 -10:00
Allen Porter c7b991f56b
Add `rtsptowebrtc` integration (#59660)
* Add initial version of the webrtc integration

Add the webrtc integration. This integration proxies the
signal 'offer' from the client to a RTSPtoWebRTCP server that
returns an 'answer'.

The RTSPtoWebRTC server is a go binary based on pion, and this is
what is currently used by the WebRTC custom_component:
https://github.com/AlexxIT/WebRTC
https://github.com/deepch/RTSPtoWebRTC

* Readability improvements for webrtc

* Reach 100% test coverage

* Use rtsp-to-webrtc client library package

* Rename webrtc to rtstptowebrtc

This is to reflect naming as one type of approach to webrtc since other webrtc integrations would look very different.

* Remove internal quality scale

* Bump rtsptowebrtc to support heartbeats

* Shorten server url variable and remove const.py

* Add config flow validation for RTSPtoWebRTC server

* Add RTSPtoWebRTC server health checks

* Accept translation suggestion

* Apply suggestions from code review

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

* Update rtsptowebrtc to use new camera registry API

Update rtsptowebrtc to use new API added in #62962

* Remove unused variable

* Fix lint and typing errors for python 3.8

* Rename to rtsp_to_webrtc to follow standards

* Use async_on_unload for unsubscribing camera webrtc provider

* Remove unnecessary translations in config flow

* Remove unnecessary configuration setup

* Cleanup test setup and typing

* Patch integration setup to avoid starting the whole integration

Co-authored-by: J. Nick Koston <nick@koston.org>
2022-01-01 12:36:31 -08:00
Franck Nijhof b5300fb32e
Add configuration flow to Whois (#63069)
Co-authored-by: Dave T <17680170+davet2001@users.noreply.github.com>
2021-12-30 22:42:46 +01:00
Franck Nijhof 5ab527e59c
Add configuration flow to CPU Speed (#62929) 2021-12-28 21:17:53 +01:00
Sebastian Lövdahl b5fd2e0d58
Convert Vallox integration to config flow (#62780) 2021-12-28 10:06:29 -10:00
Franck Nijhof 1cfeb404b6
Add configuration flow to PVOutput (#62667)
* Add configuration flow to PVOutput

* Update homeassistant/components/pvoutput/sensor.py

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

* Update homeassistant/components/pvoutput/sensor.py

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

* Use account URL placeholder

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-12-27 22:05:10 +01:00
Christopher Bailey e982e7403a
Add unifiprotect integration (#62697)
Co-authored-by: J. Nick Koston <nick@koston.org>
2021-12-25 20:12:57 -10:00
Joakim Sørensen 13e3ca6ab1
Add config flow to version integration (#54642) 2021-12-23 21:04:58 +01:00
Mick Vleeshouwer 3605c4f32f
Add Overkiz integration (with base + sensor entity) (#62640) 2021-12-23 08:34:35 -10:00
G Johansson 566f631933
Implement config_Flow for Sensibo (#60900)
Co-authored-by: J. Nick Koston <nick@koston.org>
2021-12-22 10:32:50 -10:00
ollo69 5a41251d45
Add config_flow to AndroidTV integration (#54444)
Co-authored-by: Robert Hillis <tkdrob4390@yahoo.com>
2021-12-20 13:08:35 -06:00
Franck Nijhof 0dbd948867
Add Open-Meteo integration (second attempt) (#61742) 2021-12-16 21:12:33 +01:00
Eduard van Valkenburg 80833aa7fb
Add config flow to Azure Event Hub integration (#61155)
* config flow added, no tests yet

* added tests

* refinement of tests

* small reverses of hub code

* fix small bug

* test fixes from review

* test fixes from review

* further refinement of tests and config flow

* removed true return from hub and added failed reason for import

* added deepcopy to default options

* deleted max_delay from options, can still be in yaml for now

* updated dropped message

* mistaken period at eol
2021-12-16 18:57:51 +01:00
Alberto Geniola b0affe7bfb
Elmax integration (#59321)
* Add elmax integration.

* Run hassfest and generate requirements_all

* Remove secondary platforms from elmax integration as per first component integration.

* Move ElmaxCoordinator and ElmaxEntity into external file
Linting review

* Remove useless variables

* Fix wrong indentation.

* Remove unecessary platforms.

* Remove unnecessary attributes from manifest.

* Rely on property getters/setters rathern than private attribute from parent.
Update internal entity state just after transitory state update.

* Update homeassistant/components/elmax/const.py

Reference Platform constant

Co-authored-by: Marvin Wichmann <marvin@fam-wichmann.de>

* Update username/password values

Rely on already-present templating constants

Co-authored-by: Marvin Wichmann <marvin@fam-wichmann.de>

* Add missing constant import.

* Remove unnecessary test_unhandled_error() callback implementation.

* Add common.py to coverage ignore list.

* Improve coverage of config_flow.

* Rename the integration.

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

* Fix reauth bug and improve testing.

* Refactor lambdas into generators.

Co-authored-by: Marvin Wichmann <marvin@fam-wichmann.de>
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2021-12-07 22:42:55 +01:00
epenet 97d292133f
Revert "Add Open-Meteo integration (#60379)" (#61130)
This reverts commit d802f3a82f.
2021-12-06 23:35:14 +01:00
Franck Nijhof d802f3a82f
Add Open-Meteo integration (#60379)
Co-authored-by: MatthewFlamm <39341281+MatthewFlamm@users.noreply.github.com>
2021-12-06 10:01:12 -08:00
Milan Meulemans a7e129a952
Add Aseko Pool Live integration (#56299) 2021-12-05 17:02:46 -10:00
Maximilian 9f7b8d3009
Add nina integration (#56647)
* Added nina integration

* Improvements implemented

* Fixed lint errors

* Added tests

* Improvements implemented

* Use client session from HA

* Added custom coordinator

* Fixed tests

* Fix pylint errors

* Library updated to 0.1.4

* Optimization of static attributes

* Removed unused code

* Switched to BinarySensorDeviceClass

* Switched to Platform Enum

* Improve repetition

* Improve repetition

* Fix corona filter

* Removed intermediate variable

Co-authored-by: Marvin Wichmann <marvin@fam-wichmann.de>

* Fix black formatting

Co-authored-by: Marvin Wichmann <marvin@fam-wichmann.de>
2021-12-05 15:11:02 +01:00