Commit Graph

956 Commits (1eb2ddf0103b3795632d6a98d96350593eece9ef)

Author SHA1 Message Date
Franck Nijhof 566c0f63bd
Removes OpenALPR Local integration (#85544) 2023-01-17 10:43:14 +01: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
Jan Rieger 89d085a69c
Add Fire TV virtual integration (#85741) 2023-01-16 20:12:31 +01:00
Marcel van der Veldt fe583b7c4a
Remove SSDP discovery from Hue (#85506)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-01-16 19:56:46 +01:00
Robert Hillis 3627a98602
Add dhcp discovery to D-Link (#85661)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-01-14 15:58:04 -10:00
Teju Nareddy cb04a52220
Fix IoT Class for Torque integration (#85667)
* Fix IoT Class for Torque plugin

This is currently misclassified:
- There is no "Torque" server, the Torque plugin is the server that receives data directly from the client. It should be `local` instead of `cloud`.
- The client sends data to the server as needed. This plugin will NOT poll for data. It should be `push` instead of `poll`.

* Run hassfest

Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-01-12 21:52:39 +01:00
Klaas Schoute 6f92c5381d
Add Energie VanOns virtual integration (#85704) 2023-01-12 01:14:36 +01:00
Robert Hillis 3d7c61bbed
Add D-Link config flow (#84927) 2023-01-10 14:10:56 -10:00
Erik Montnemery 7621c450c7
Add kitchen_sink integration (#85592) 2023-01-10 17:31:47 +01:00
Jafar Atili a8f95c36a6
Bump pySwitchbee to 1.7.19 (#84442)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-01-09 09:23:49 -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
mkmer d75087ede5
Add Whirlpool washer and dryer to Whirlpool integration (#85066)
* redo Add sensor

* move back to ClientError
simplify washer_state

* Cleanup Sensor definitions

* Seperated EndTimeSensor

* Clean up WasherDryerTimeClass

* Start with Timestamp = None

* Clean up class description

* One more ClientError

* change to restore sensor

* Don't update when no state change

* Seperate washer tests
Add restore_state test

* Remove unused loop in washer sensor test

* No loops in sensor tests

* Remove unnecessary SensorTestInstance
2023-01-06 12:41:46 -08:00
930913 2507ec1f4b
Add LD2410 BLE integration (#83883) 2023-01-05 16:15:03 -10:00
Klaas Schoute e8b68e67a7
Add Mijndomein Energie virtual integration (#85165) 2023-01-05 11:22:27 +01:00
Klaas Schoute 0239938d99
Add ANWB Energie (virtual) integration (#85077) 2023-01-04 10:42:55 +01:00
shbatm e150b0cf0f
ISY994: Add dhcp support for eisy (#85083) 2023-01-03 15:14:36 -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
shbatm 240e1fd8f3
Update ISY994 integration to be model agnostic (#85017) 2023-01-02 14:22:40 -10: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
J. Nick Koston 6374cc6480
Fix thermobeacon WS08 models that identify with manufacturer_id 27 (#84812)
fixes #84706
2022-12-29 15:09:37 -10: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
Michał Huryn c737378ee1
Add blebox discovery/zeroconf (#83837)
Co-authored-by: J. Nick Koston <nick@koston.org>
2022-12-23 12:52:06 -10:00
Aarni Koskela e575fffd23
Mark RuuviTag devices not connectable (#84345) 2022-12-22 10:47:08 -10:00
Tarik2142 6a1c59be2c
Add ZHA Zeroconf discovery for SLZB-06 (#84111)
* Add Zeroconf discovery for SLZB-06

* update hostname

* Update homeassistant/components/zha/manifest.json

Co-authored-by: puddly <32534428+puddly@users.noreply.github.com>

* Update manifest.json

Co-authored-by: puddly <32534428+puddly@users.noreply.github.com>
2022-12-21 15:51:38 +01:00
J. Nick Koston 316f187bee
Bump PySwitchbot to 0.30.0 (#84347) 2022-12-21 11:10:54 +01:00
Franck Nijhof 5651f4a3fe
Remove Deutsche Bahn integration (#84236) 2022-12-19 21:43:28 +01:00
ollo69 3351846b0e
Add integration-type property to Nut manifest (#84020) 2022-12-19 14:46:40 +01:00
J. Nick Koston 884fbdd5ce
Bump PySwitchbot to 0.29.1 (#84119)
fixes https://github.com/home-assistant/core/issues/82795
closes https://github.com/home-assistant/core/issues/78562
2022-12-18 14:54:29 -10:00
J. Nick Koston e7064bda25
Add dhcp discovery for newer august/yale bridges (#84125) 2022-12-17 16:42:47 -10:00
Ville Skyttä f02b6f1119
Huawei LTE SSDP improvements (#81643)
* Recognize more SSDP friendly names as "ours"

* Trigger on SoyeaLink devices

* Pass discovered URL through context, it does not persist via user_input

* Use manufacturer from SSDP

* Actually use serial number if available, update URL for configured

* Remove heuristic friendly name filtering against non-LTE devices
2022-12-14 23:48:25 +01:00
ollo69 9a25e75947
Add integration-type property to androidTV manifest (#84018) 2022-12-14 23:41:46 +01:00
Philip Allgaier 3d7a3afca7
Add strings to alert integration (#83926) 2022-12-14 21:25:18 +01: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
Christian Kündig b2edf9b598
Set connectable as false for sensirion_ble (#83481)
This is a passive ble integration. Not setting it as false means it won't match properly when using through a passive remote scanner.
2022-12-08 15:23:25 +02: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
Erik Montnemery e1338adf1a
Allow configuring country and language in core config (#81734)
* Allow configuring country and language in core config

* Add script for updating list of countries

* Use black for formatting

* Fix quoting

* Move country codes to a separate file

* Address review comments

* Add generated/countries.py

* Get default language from owner account

* Remove unused variable

* Add script to generate list of supported languages

* Add tests

* Fix stale docsring

* Use format_python_namespace

* Correct async_user_store

* Improve typing

* Fix with_store decorator

* Initialize language in core store migration

* Fix startup

* Tweak

* Apply suggestions from code review

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

* Update storage.py

Co-authored-by: Franck Nijhof <git@frenck.dev>
2022-11-24 23:25:50 +01:00
Franck Nijhof 285aff154d
Remove Google Chat/Hangouts integration (#82645) 2022-11-24 18:33:13 +01:00
Álvaro Fernández Rojas f1ffb25d99
Add Airzone DHCP discovery support (#82339) 2022-11-23 12:32:23 -07:00
Tom Schneider 27e6b69656
Add yamaha brand configuration (#81267)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2022-11-23 20:19:20 +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
J. Nick Koston 4c8850ec7b
Add dhcp support for newer powerwall gateways (#82236) 2022-11-17 10:10:55 +01:00
Brynley McDonald 3bfb91d159
Add integration_type for flick_electric (#81065)
* Add integration_type for flick_electric

* Updates from hassfest
2022-11-16 00:27:09 -06:00
J. Nick Koston f035223599
Make sure the config_flow key is set for brands (#82038)
Fixes https://github.com/home-assistant/frontend/issues/14376
2022-11-15 18:27:59 +01:00
Ernst Klamer af73afa2e2
Add support for HHCCJCY10 to xiaomi_ble (#82069) 2022-11-14 11:18:51 -06:00
J. Nick Koston 50f960097f
Add support for thermobeacon WS 03 aka device 0x18 (#82045)
* Add support for thermobeacon WS 03 aka device 0x18

changelog: https://github.com/Bluetooth-Devices/thermobeacon-ble/compare/v0.3.2...v0.4.0

* empty
2022-11-13 20:30:50 +01:00
Malte Franken 3658c5f673
Add integration_type to nsw_rural_fire_service_feed (#82031)
define integration type
2022-11-13 16:06:33 +01:00
Malte Franken 3089ca06c5
Add integration_type to qld_bushfire (#81895)
define integration type
2022-11-10 08:16:37 +01: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
Ernst Klamer b72876d369
Add support for BTHome V2 to bthome (#81811)
* Add BTHome v2 support

* Add new sensor types

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

* Add script for updating list of currencies

* Use black for formatting

* Move currency codes to a separate file

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

* Enable the config flow for the SkyConnect integration

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

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

* Allow FIXME comments in pylint (temporary)

Also reintroduce --ignore-missing-annotations=y

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

Also add necessary constants

* Implement a class for sensors and its update logic

Very early stage, WIP

* Zeroconf and authentication are working

* Complete the bare-bone minimal working version

Specifically, make AirQSensor update its values.

* Handle invalid authentication gracefully

* Handle ClientConnectionError gracefully

* Add field hint for the login form

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

* Minor cleanups

* Extend sensor list to all supported by SensorDeviceClass

Also manage warming up sensors

* aioairq is published to PyPI and mentioned in requirements

* Reordered constants and list content alphabetically

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

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

* Adding a bit of logging for the integration setup process

* Expose scan interval & smoothing flag

Also streamline test_authentication in config_flow.

* Fix a type annotation mistake

* Use as many constants from homeassistant.const as possible

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

* Temporarily rollback ConfigFlow.async_step_configure and use defaults

TODO: implement OptionFlowHandler instead

* Define custom Coordinator, w subset of airq config

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

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

* Provide translations to ru + a minor en changes

* Make translation a little more helpful and polite

* Fix devicename and entry title

* Remove stale commented out code

* Test config_flow

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

* Clean up unrelated and meant as temporary changes

* Clean up unnecessary comments meant for internal use

* Move fetching config to a dedicated async coordinator method

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

* Remove zeroconf support since it is not yet ready

* Remove translations other than en

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

* Improve exception handling

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

* Drop strings for obsolete errors and steps

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

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

* Move target_route from a coordinator argument to a constant

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

* Fix an async call in `AirQCoordinator.async_setup_entry`

* Refactor underlying aioairq API

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

* Fix the version of aioairq

* Add 15 more sensors + icons

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

* Add 12 more sensors

* Add a missing icon

* Gracefully handle device not being available on setup

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

* Rename two sensors

* Validate provided IP address / mDNS

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

* Apply suggestions from code review

Clean up the comments and rename the logger

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

* Only fetch device info during the first refresh

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

* Drop custom device classes for now

* Apply suggestions from code review

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

* Only fetch device info during ConfigFlow.async_step_user

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

Bump aioairq version.

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

* Custom entity description exposing a hook to modify sensor value

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

* Avoid duplicated use of unique_id

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

* Drop unnecessary try-except

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

* Clarify the use of value_transform_fn

* Refactor the use of lambdas in AirQEntityDescription

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

* Use a callback to update native_value

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

* Revert the description keys to match data keys

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

* Reduce number of loops when adding sensors

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

* Remove obsolete imports

* Update integrations.json

* Add integration_type

Integration supports multiple devices => hub

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

* update

* working

* tests

* fixes

* temp add binary sensor platform to make sure it works

* fixes

* 100% cover

* adjust

* disable chatty sensors by default

* remove binary sensor_platform for next PR

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

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

* Update tests

* Up version

* Up version keymitt_ble

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

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

* Add tests for config flows.

* Simplify config flow code.

* Spell fix.

* Fix pylint warnings.

* Simplify the code for config flow.

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

* Remove unnecessary log calls.

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

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

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

* Add codeowner.

* Fix name field of manifest.json.

* Fix linting issue.

* Fix incorrect dependency due to incorrect rebase.

* Update codeowner and config flows via hassfest.

* Postpone the deprecation warning to 2022.7.

* Import future annotations for init file.

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

* Update github id.

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

* Move the deprecation date for YAML config to 2022.12.

* Update according to reviews.

* Use async_forward_entry_setups.

* Add helper properties to `APCUPSdData` class.

* Add device_info for binary sensor.

* Simplify config flow.

* Remove options flow strings.

* update the tests according to the changes.

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

* Update according to reviews.

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

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

* Change schema to be a global variable.

* Add more comments.

* Rewrite the tests for config flows.

* Fix enabled_by_default.

* Show friendly titles in the integration.

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

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

* Update comments in test files.

* Use parametrize instead of manually iterating different test cases.

* Swap the order of the platform constants.

* Avoid using broad exceptions.

* Set up device info via `_attr_device_info`.

* Remove unrelated test in `test_config_flow`.

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

* Add english translation.

* Add `async_create_issue` for deprecated YAML configuration.

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

* Apply suggestions from code review

* Apply suggestion

* Apply suggestion

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

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

* Add sensor platform

* Enable sensor platform

* Fix manifest

* Correct domain after rename

* Adjust tests for rename

* Correct codeowners

* Add requirements for tests

* Grab coil by name

* Switch to home assistant error

* Config entry always exist

* Switch to create task

* Bump to 0.5.0

* Use new coils access

* Remove unneeded check

* Use single instance of logger

* Test invalid ip

* Don't allow coil to be None

* Remove sleep

* Initialize data in coordinator init

* Add utils to ignore

* Update homeassistant/components/nibe_heatpump/manifest.json

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

* Use generator instead

* Use tenacity as retry decorator

* Use package instead of name to get logger

* Skip broad exception handling

* Catch missing coil exception

* Add missing test

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

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