Commit Graph

13066 Commits (168b3b50cdd8e306add1c03bfa7049bd6244ff39)

Author SHA1 Message Date
G Johansson 2ca61eef79
Code quality tests Wake on Lan (#82048) 2022-11-18 16:27:20 +01:00
J. Nick Koston 1c6b4967cf
Fix litejet tests (#82324)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2022-11-18 08:19:38 -06:00
J. Nick Koston 077bd594eb
Fix modbus test assuming repeat listeners always fire at 0 microseconds (#82320) 2022-11-18 14:23:42 +01:00
Jevgeni Kiski 5453b346dd
Add Vallox bypass locking switch entity (#75857)
* Switch entity

* adding missing function for tests

* Apply suggestions from code review

Co-authored-by: Sebastian Lövdahl <slovdahl@hibox.fi>

* Review

* fix

* Update homeassistant/components/vallox/switch.py

Co-authored-by: Andre Richter <andre-richter@users.noreply.github.com>

* Apply suggestions from code review

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

* Adding a separate parameter for the expected state

Co-authored-by: Sebastian Lövdahl <slovdahl@hibox.fi>
Co-authored-by: Andre Richter <andre-richter@users.noreply.github.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-11-18 10:16:54 +01:00
Jan Bouwhuis 7c2e7863d2
Remove legacy YAML support from MQTT (#82102) 2022-11-17 22:55:31 +01:00
Erik Montnemery 1a274adc28
Add config_entries.async_wait_component (#76980)
Co-authored-by: thecode <levyshay1@gmail.com>
2022-11-17 21:52:57 +01:00
Jan Bouwhuis b717da879f
Add support for Mqtt protocol version 5 (#82260) 2022-11-17 21:12:27 +01:00
J. Nick Koston 47c66dbed4
Offload platform specific bluetooth code to bluetooth-adapters (#82196)
* Offload platform specific bluetooth code to bluetooth-adapters

* adjust

* fix some more patch targets

* more test fixes

* almost there

* may not be setup yet

* more fixes

* fixes

* fix test

* fix merge
2022-11-17 14:34:19 -05:00
Álvaro Fernández Rojas 3dba9c4695
Add QNAP QSW accumulated port sensors (#76514)
Co-authored-by: J. Nick Koston <nick@koston.org>
2022-11-17 12:41:33 -06:00
J. Nick Koston 8da969b767
Disable BLE options flow for sleepy shelly devices (#82283) 2022-11-17 20:39:51 +02:00
J. Nick Koston 8792d664e7
Add websocket endpoints to control integration logging (#65158)
Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: Erik <erik@montnemery.com>
2022-11-17 08:57:43 -06:00
Erik Montnemery b6586d5c34
Align number and sensor device classes (#81909)
* Align number and sensor device classes

* Add tests

* Tweak tests
2022-11-17 14:00:28 +01:00
Thomas Dietrich ad8b882cb6
Switch statistics config to require either/both 'max_age' and 'sampling_size' (#80999)
* Remove default characteristic

* Remove default sampling_size

* Fix typo

* Fix typo
2022-11-17 10:31:06 +01:00
Jan Bouwhuis f60850586e
Remove `b64` encoding work-a-round for MQTT camera (#82244) 2022-11-17 10:11:25 +01:00
epenet 6424c71daa
Cleanup supported_features in demo (#82239)
* Cleanup supported_features in demo cover

* Improve other platforms

* Adjust media_player patch
2022-11-17 09:39:46 +01:00
Erik Montnemery a6ff8c5fb3
Fix Home Assistant Yellow tests (#82212) 2022-11-16 13:01:53 -06:00
Erik Montnemery aaec464627
Add support for managing the silabs multiprotocol add-on (#82170)
* Add support for managing the silabs multiprotocol add-on

* Fix passing context when starting option flow

* Allow unloading a ha yellow config entry

* Fix tests

* Log data passed to ZHA option flow

* Improve ZHA migration logic

* Move tests

* Improve test coverage

* Remove dead code

* Drop automatic ZHA migration
2022-11-16 17:38:07 +01:00
Erik Montnemery 607a0e7697
Reduce size of get_statistics_during_period WS API response (#82131) 2022-11-16 17:36:30 +01:00
Erik Montnemery bb64b39d0e
Minor refactor of zha config flow (#82200)
* Minor refactor of zha config flow

* Move ZhaRadioManager to a separate module
2022-11-16 17:13:23 +01:00
J. Nick Koston 03e6132d98
Fix static version in homekit tests (#82201) 2022-11-16 09:37:00 -06:00
rappenze f87ef742e8
Use parameterized test for better code readability (#82194)
* Use parameterized test for better code readability

* Use parameterized test for better code readability

* Update tests/components/fibaro/test_config_flow.py

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

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2022-11-16 15:27:20 +01:00
Yukon Vinecki 9098592257
Fix Z-Wave JS cover stop support (#78723)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2022-11-16 13:14:14 +01:00
Erik Montnemery 1582d88957
Remove deprecated history WS API (#82136) 2022-11-16 12:54:03 +01:00
Robert Svensson af6338343e
Remove (2021) backwards supporting functionality from UniFi (#81981) 2022-11-16 12:49:10 +01:00
Erik Montnemery 9b8f94363c
Fix statistic_during_period for data with holes (#81847) 2022-11-16 12:46:29 +01:00
rappenze ff1ec7a028
Normalize url entered in fibaro integration setup dialog (#81996)
* Normalize url entered in fibaro integration setup dialog

* Improvements as suggested in code review

* Fix spelling in comments
2022-11-16 10:44:34 +01:00
Franck Nijhof 5b29fe650b
Revert "Wake on LAN yaml configuration move to integration key" (#82184) 2022-11-16 10:22:50 +01:00
cnico c7dfd6b15a
Add flipr battery level sensor (#81389)
* Addition of battery level sensor. Correction of pylint errors

* Review improvement for typing

* Review improvement for typing

* Correction following review
2022-11-16 09:42:31 +01:00
G Johansson 52298a251b
Wake on LAN yaml configuration move to integration key (#81249)
* Wake on Lan integration yaml

* clean code

* Add test

* Add test fixture

* Address loading
2022-11-16 06:23:48 +01:00
Kevin Stillhammer aedbfdabee
Use HERE API v8 (#80892)
* Use HERE API v8

Signed-off-by: Kevin Stillhammer <kevin.stillhammer@gmail.com>

* Add migration

Signed-off-by: Kevin Stillhammer <kevin.stillhammer@gmail.com>

* Catch correct voluptuous error

Signed-off-by: Kevin Stillhammer <kevin.stillhammer@gmail.com>

* Use list comprehension for transit values

* Add migration alternative

Signed-off-by: Kevin Stillhammer <kevin.stillhammer@gmail.com>
2022-11-15 19:04:41 -08:00
J. Nick Koston 682187541f
Move BluetoothServiceInfoBleak to home_assistant_bluetooth (#82064) 2022-11-15 14:00:52 -06:00
J. Nick Koston 435fc23737
Add shelly ble scanner support (#82007) 2022-11-15 12:34:45 -06:00
Jan Bouwhuis 7932864e00
Always update attributes on an update for MQTT update (#82139) 2022-11-15 18:43:01 +01:00
J. Nick Koston ade4b62aec
Fix instability with HomeKit trigger accessories (#80703)
fixes https://github.com/home-assistant/core/issues/78774
fixes https://github.com/home-assistant/core/issues/81685
2022-11-15 18:41:55 +01:00
G Johansson 9eef5129f0
Full test coverage Min Max (#82053) 2022-11-15 09:04:22 -06:00
epenet 4cce359960
Fix legacy scrape scan interval (#81764)
* Fix legacy scrape scan interval

* Adjust init

* Adjust tests

* Clearer default
2022-11-15 13:39:30 +01:00
uvjustin 6bab63fb0a
Redact more credentials in stream URL query params (#82089)
Co-authored-by: Allen Porter <allen.porter@gmail.com>
2022-11-15 12:42:40 +08:00
J. Nick Koston 956120662e
Add the ability to register for shelly event callbacks (#82052) 2022-11-14 19:58:10 +01:00
G Johansson 13577981f9
Local ip tests (#82051) 2022-11-14 12:20:45 -06:00
Ernst Klamer af73afa2e2
Add support for HHCCJCY10 to xiaomi_ble (#82069) 2022-11-14 11:18:51 -06:00
J. Nick Koston 1ded3ac51e
Poll HomeKit Controller locks for state after lock operation (#82058) 2022-11-14 10:54:28 -06:00
Erik Montnemery de313dcc3f
Improve config tests (#81898)
* Improve config tests

* Fix stale docstring

* Use os.path.basename
2022-11-14 11:13:20 +01:00
Thomas Dietrich a0b0e4088c
Replace quantiles by percentile characteristic for statistics component (#81027)
* Remove quantiles characteristic

* Add percentile characteristic
2022-11-14 09:23:02 +01:00
Avi Miller 42652872f6
Restore color_temp handling for lifx.set_state (#82067)
fixes undefined
2022-11-13 19:43:45 -06:00
G Johansson 48f6c9a486
Add tests DNS IP (#82059) 2022-11-13 18:23:14 -06:00
Christopher Bailey ae436d46fc
Add options to UniFi Protect diagnostics (#82062) 2022-11-13 17:57:09 -06:00
J. Nick Koston f584efa0c2
Move bluetooth remote scanner implementation into a base class (#82012) 2022-11-13 14:18:36 -06:00
Oliver Dippel bd28483b43
Fix ibeacon source attribute not being updated (#81740)
fixes undefined
2022-11-13 14:17:59 -06:00
Avi Miller fe7ffe9519
Enable more customization of the LIFX pulse and color loop effects (#81699) 2022-11-13 10:59:47 -06:00
Christopher Bailey bfd2eb50b2
Detect Early Access versions of UniFi Protect and Warn User (#81758) 2022-11-13 09:34:29 -06:00
G Johansson 50c686343e
Bump pysensibo to 1.0.21 (#82023)
* pysensibo 1.0.21

* Add name to fixture
2022-11-13 16:05:54 +01:00
David F. Mulcahey ebffe0f33b
Fix ZHA configuration APIs (#81874)
* Fix ZHA configuration loading and saving issues

* add tests
2022-11-13 08:30:16 -05:00
corneyl a848dc1155
Add service for adding products to a Picnic order (#67877)
* Add Picnic services for searching products and adding products to the cart

* Improve the Picnic services implementation and add unit tests

* Fix pre-commit check issues

* Fix comments and example product name

* Remove search service, update add_product service schema

* Fix pylint suggestion

* Add more tests and removed unused code

* Remove code needed for the removed service, clean tests from obvious comments and add type hints

* Remove unused import

* Remove unnecessary comments and simplify getting the config entry id

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

* Don't use hass.data in tests, make device id mandatory for service

* Rewrite all service tests so using lru.cache is not needed

* Add test for uncovered line in _product_search()

* Require a config entry id as service parameter instead of device id

* Use explicit check in get_api_client() and raise HomeAssistantError

* Fix HomeAssistantError import, fix services tests

* Change HomeAssistantError to ValueError when config entry is not found

Co-authored-by: Allen Porter <allen.porter@gmail.com>
2022-11-12 20:15:45 -08:00
Ian Byrne 9be2704c11
Add option to include attachments from remote URL to Discord notifications (#74811)
* Add option to include attachments from remote URL to Discord notifications

* Use aiohttp instead of requests for Discord Notify URL retrieval

* Refactor discord notifications code

* Remove unecessary images check in discord notifier
2022-11-12 16:11:06 -08:00
Ziv b6c27585c7
Implemented RestoreEntity for Dynalite (#73911)
* Implemented RestoreEntity
Merged commit conflict

* removed accidental change

* Update homeassistant/components/dynalite/dynalitebase.py

Co-authored-by: Erik Montnemery <erik@montnemery.com>

* added tests for the state

* added tests for switch state

* moved to ATTR_x and STATE_x instead of strings
some fixes to test_cover

* moved blind to DEVICE_CLASS_BLIND

* used correct constant instead of deprecated

* Implemented RestoreEntity

* removed accidental change

* added tests for the state

* added tests for switch state

* moved to ATTR_x and STATE_x instead of strings
some fixes to test_cover

* fixed isort issue from merge

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2022-11-12 22:59:29 +01:00
On Freund 4bb1f4ec79
Add Armed binary sensor to local Risco (#81997) 2022-11-12 21:29:31 +01:00
uvjustin ee910bd0e4
Refactor camera stream settings (#81663) 2022-11-13 01:22:59 +08:00
epenet 1baa5c12c0
Fix rest schema (#81857) 2022-11-11 10:08:26 -06:00
J. Nick Koston 78180b2ad8
Fix bluetooth adapters with missing firmware patch files not being discovered (#81926) 2022-11-10 14:14:37 -06:00
Allen Porter e6d1a4a422
Revert google calendar back to old API for free/busy readers (#81894)
* Revert google calendar back to old API for free/busy readers

* Update homeassistant/components/google/calendar.py

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

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-11-10 08:31:28 -08:00
Erik Montnemery 9bd676aff6
Improve automation reload (#81854)
* Improve automation reload

* Small tweak

* Improve
2022-11-10 14:44:55 +01:00
Matthias Alphart ee9231363f
Refactor KNX Config and Options flows (#80641) 2022-11-10 14:25:41 +01:00
Erik Montnemery 874ece195e
Include config entry id in response to WS API hardware/info (#81906) 2022-11-10 13:19:21 +01:00
Martin Hjelmare 9ded232522
Move zwave_js addon manager to hassio integration (#81354) 2022-11-10 10:09:52 +01:00
Allen Porter f34de5072a
Bump gcal_sync to 4.0.1 to fix Google Calendar config flow (#81873)
Bump gcal_sync to 4.0.1

This reverts test chagnes from PR #81562 that were actually incorrect given
the calendar "get" API returns less information that the "CalendarList" api.
2022-11-09 19:34:31 -08:00
Erik Montnemery 7aa4654eb4
Improve docstring for sensor testcase (#81875) 2022-11-09 23:59:58 +01:00
Allen Porter 0941ed076c
Cleanup unnecessary google calendar test fixtures (#81876) 2022-11-09 20:59:00 +01:00
uvjustin 84725f15a6
Use IntEnum for stream orientation (#81835)
* Use IntEnum for stream orientation

* Rename enum values

* Add comments

* Fix import
2022-11-09 07:28:28 -08:00
Jc2k 9de4d7cba3
Fix homekit_controller climate entity not becoming active when changing modes (#81868) 2022-11-09 15:27:36 +00: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
Vincent Knoop Pathuis 0cd9fe3288
Landis+Gyr Heat Meter code improvements (#81184) 2022-11-09 13:45:28 +01:00
Avishay 92b5721f80
Fix modbus hvac mode keys (#81747)
Change the HVAC mode register conf constants
2022-11-09 11:09:21 +01:00
Aarni Koskela 6021cedb09
deconz: Use partition instead of split where possible (#81804)
* deconz: Use partition instead of split where possible

With a smattering of code deduplication

Split out of #81493

* Update homeassistant/components/deconz/util.py

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

Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>
2022-11-08 20:54:01 +01:00
J. Nick Koston 2cb58b8189
Fix off by one in HomeKit iid allocator (#81793) 2022-11-08 09:20:03 -06:00
Aaron Bach 45be2a260e
Add re-auth flow for OpenUV (#79691) 2022-11-08 07:41:09 -07:00
epenet c585817e67
Adjust REST schema validation (#81723)
fixes undefined
2022-11-08 11:18:58 +01:00
J. Nick Koston 53c1c2eb56
Fix homekit bridge iid allocations (#81613)
fixes undefined
2022-11-08 11:15:16 +01:00
Steven Looman 274049cc8e
Fix ignored upnp discoveries not being matched when device changes its unique identifier (#81240)
Fixes https://github.com/home-assistant/core/issues/78454
fixes undefined
2022-11-08 11:02:53 +01:00
Joakim Plate fc0e0bf099
Support for direct modbus connection to nibe pumps (#80557)
* Initial support for modbus

* Complete test coverage of config flow

* Bump to 1.1.0 with corrected numbers

* Handle missing mapping for reset-alarm

* Fixup type checks after library bump

* Adjust coil number

* Move word_swap to nibegw

* Adjust to 1.1.2 with fixes

* Add series property

* Add S series models

* Correct test for invalid host

* Apply suggestions from code review

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

* Move some things into library

* Adjust strings somewhat

* Correct black

* Correct test after validation change

Co-authored-by: J. Nick Koston <nick@koston.org>
2022-11-08 10:49:47 +01:00
Robert Svensson 23bed25e52
Remove old UniFi POE client implementation (#81749)
Remove all references to POE client implementation
2022-11-08 07:48:54 +01:00
Robert Svensson 3444d2af1a
UniFi switch entity description (#81680)
* Consolidate switch entities to one class

* Move turn on/off into UnifiSwitchEntity

* Add event subscription
Remove storing entity for everything but legacy poe switch

* Only one entity class

* Improve generics naming

* Rename loader to description

* Improve control_fn naming

* Move wrongfully placed method that should only react to dpi apps being emptied

* Improve different methods

* Minor renaming and sorting

* Mark callbacks properly
2022-11-08 07:38:31 +01:00
J. Nick Koston 5c38321c4f
Ignore unspecified addresses from zeroconf (#81620) 2022-11-07 15:50:45 -06:00
Joakim Sørensen e7a616b8ff
Use location info helper for IP in Cloudflare DNS (#81714)
* Use location info helper for IP in Cloudflare DNS

* simplify

* Blow up

* coverage
2022-11-07 19:31:47 +01:00
puddly 74357bef15
Use a unique ID for the Yellow ZHA hardware discovery (#81523)
* Set unique ID for hardware discovery

* Use the provided `name` for discovered hardware
2022-11-07 11:28:28 -05: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
puddly 3788a950e6
Validate matcher field case in `usb.async_is_plugged_in` (#81514)
* Support case-insensitive matching

* Revert "Support case-insensitive matching"

This reverts commit 0fdb2aa6bc.

* Explicitly check the case of matcher fields in `async_is_plugged_in`
2022-11-07 17:14:57 +01:00
J. Nick Koston 43745dbc6c
Pass explict time in logbook tests (#81725)
The CI sets the timezone to US/Pacific and the logbook
uses start_of_local_day when called without a time.

We now call the logbook api with a specific time to
avoid them being out of sync since the test would
fail at CET 8:55am on Mon Nov 7th 2022 (and probably
other dates)
2022-11-07 16:26:38 +01:00
StefanIacobLivisi 902e075d58
Add livisi integration (#76863) 2022-11-07 14:40:23 +01:00
epenet 934cec9778
Modernize rest switch tests (#81306)
* Adjust rest switch tests to use schema validation

* Simplify

* Use async_setup_component in tests

* Rewrite tests

* Add patch

* Remove patch

* Adjust mock
2022-11-07 13:08:05 +01:00
David F. Mulcahey d1fd141e8c
Bump ZHA quirks and associated changes (#81587) 2022-11-07 12:28:59 +01:00
J. Nick Koston 2bea77549d
Fix creating multiple ElkM1 systems with TLS 1.2 (#81627)
fixes https://github.com/home-assistant/core/issues/81516
2022-11-07 12:09:36 +01:00
J. Nick Koston 11a55d6d4c
Fix flapping logbook tests (#81695) 2022-11-07 11:41:02 +01:00
Benjamin Salchow 1d633ac484
Accept input register in Modbus binary sensor (#81352)
Adds input register as valid option for modbus binary_sensor

Co-authored-by: jan iversen <jancasacondor@gmail.com>
2022-11-07 10:14:12 +01:00
tstabrawa 499839c596
Fix nuheat temporary hold time (#81635)
Co-authored-by: J. Nick Koston <nick@koston.org>
2022-11-06 19:16:22 -06:00
Aarni Koskela 496f78bae5
FIX: patch correct async_setup_entry in tilt_ble (#81671) 2022-11-06 13:37:44 -06:00
Allen Porter 2ad1d31119
Bump gcal_sync to 4.0.0 (#81562)
* Bump gcal_sync to 2.2.4

* Bump gcal sync to 4.0.0

* Add Calendar accessRole fields which are now required
2022-11-05 17:06:34 -07:00
Avi Miller f66009c77d
Fix lifx.set_state so it works with kelvin and color_temp_kelvin and color names (#81515) 2022-11-05 16:46:00 -05:00
Aaron Bach 5884f50a82
Bump pyairvisual to 2022.11.1 (#81556) 2022-11-05 12:58:47 -05:00
J. Nick Koston 883ac12bcb
Add additional coverage for adding multiple elkm1 instances (#81528)
* Add additional coverage for adding multiple elkm1 instances

* fix copy error
2022-11-05 15:57:32 +01:00
David F. Mulcahey 83c6a7e18b
Fix invalid min and max color temp in bad ZHA light devices (#81604)
* Fix ZHA default color temps

* update test
2022-11-05 08:40:28 -04: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
hahn-th 918940a0c6
Add HmIP-WGC to homematicip_cloud integration (#75733)
* Add HmIP-WGC

* remove unused code

* removed test test_manually_configured_platform
2022-11-03 12:03:49 +01:00
Rami Mosleh 328eda044a
Use DataUpdateCoordinator for glances (#72748)
* use DataUpdateCoordinator for glances

add tests to increase coverage

fix test_config_flow.py

fix codecov/patch

remove unused const, minor tweaks

remove invalid_auth test as it is not implemented

fix type hints

* change to async_forward_entry_setups

* Use Dataupdatecoordinator for glances

* minor fixex

* minor fixes

* minor fix

* remove support_versions const

* coe cleanup

* address comments

* fix sensor native_value

* Rename entry to entry_data in `get_api`

* Remove whitespace in sensor name
2022-11-03 10:02:25 +01:00
Austin Brunkhorst 28989754cd
Update pysnooz to 0.8.3 (#81428) 2022-11-03 03:10:07 +01:00
epenet 466365c8de
Fix Renault charging power sensor (#81412) 2022-11-02 18:07:51 +01:00
Poltorak Serguei 7af0f16f79
Rework Z-Wave.Me to group entities of one physical devices (#78553)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Dmitry Vlasov <kerbalspacema@gmail.com>
2022-11-02 17:53:10 +01:00
G Johansson 93d74cafdc
Fix late review comments for Scrape (#81259)
* Review comments from #74325

* Remove moved test

* Fix init

* Handle no data

* Remove print

* Fix tests

* PlatformNotReady if no data

* Recover failed platform setup

* Fix broken test

* patch context

* reset test init

* Move to platform

* asyncio gather

* Remove duplicate code
2022-11-02 17:52:36 +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
J. Nick Koston ab14e55c05
Ensure we do not actually create a BleakScanner in the usage test (#81362)
Avoids a failure when bluetooth is turned off when
testing on macos:

bleak.exc.BleakError: Bluetooth device is turned off
2022-11-02 14:57:59 +01:00
Paulus Schoutsen a8c527f6f3
Add unit conversion for energy costs (#81379)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2022-11-02 12:18:50 +01:00
Mike Degatano 0bfb0c25f6
Improve supervisor repairs (#81387)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2022-11-01 21:29:11 -04:00
J. Nick Koston 914ccdbc4f
Fix unload race in unifiprotect tests (#81361) 2022-11-01 13:21:20 -05:00
Franck Nijhof 5c99e2e5d3
Improve error logging of WebSocket API (#81360) 2022-11-01 14:11:50 -04:00
J. Nick Koston 5b09ab93dc
Immediately prefer advertisements from alternate sources when a scanner goes away (#81357) 2022-11-01 13:07:03 -04:00
Jan Bouwhuis db0785827f
Revert "Do not write state if payload is `''`" for MQTT sensor (#81347)
* Revert "Do not write state if payload is ''"

This reverts commit 869c11884e.

* Add test
2022-11-01 16:25:01 +01:00
On Freund 009d5aedd5
Extract `bypassed` attribute in Risco zones to a switch (#81137)
* Split bypassed to a switch

* Address code review comments
2022-11-01 00:29:00 +01:00
On Freund f8de4c3931
Reauth flow for Risco cloud (#81264)
* Risco reauth flow

* Address code review comments

* Remove redundant log
2022-10-31 23:01:22 +01:00
epenet a0ed91e30c
Add type hints to rest tests (#81304) 2022-10-31 15:30:29 +01:00
Mike Degatano 82151bfd40
Create repairs for unsupported and unhealthy (#80747) 2022-10-31 09:57:54 -04:00
Tobias Sauerwein 927b8b2eef
Bump pyatmo to 7.3.0 (#81290)
* Bump pyatmo to 7.3.0

* Update test fixture data and tests
2022-10-31 11:09:15 +01:00
Maciej Bieniek ae2419b569
Add support for PMSx003 sensors in NAM integration (#81289)
* Add support for PMSx003

* Organize the order of tests
2022-10-31 10:22:45 +01:00
aschmitz a766b41b13
Add basic Aranet integration (#80865) 2022-10-30 22:50:46 -05:00
Allen Porter ba8fd6b01e
Google calendar test cleanup, avoiding dupe config entry setup (#81256) 2022-10-30 23:07:10 +01:00
Maciej Bieniek ec038835f6
Catch `ApiError` while checking credentials in NAM integration (#81243)
* Catch ApiError while checking credentials

* Update tests

* Suggested change
2022-10-30 20:01:10 +01:00
Stackie Jia a1eec7b55d
Expose NO2 and VOCs sensors to homekit (#81217)
Co-authored-by: J. Nick Koston <nick@koston.org>
2022-10-30 11:33:06 -05:00
Jc2k eb76f9b3cb
Set the correct state class for Eve Energy in homekit_controller (#81255) 2022-10-30 10:32:19 -05:00
G Johansson 662aee17a6
Scrape move yaml config to integration key (#74325)
* Scrape take 2

* cleanup

* new entity name

* Fix name, add tests

* Use FlowResultType

* Add test abort

* issue

* 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

* next version

* Reconfig

* Adjust sensor

* cleanup sensor

* cleanup init

* Fix tests

* coverage

* Guard against empty sensor

* naming

* Remove coverage

* Review comments

* Remove print

* Move sensor check
2022-10-30 13:02:11 +01:00
Garrett 494cbf0dbe
Add diagnostics to Subaru integration (#81169)
Co-authored-by: J. Nick Koston <nick@koston.org>
2022-10-29 15:02:32 -05:00
Maciej Bieniek 19debda059
Bump nettigo-air-monitor to 1.5.0 (#81183)
* Bump NAM library

* Update tests
2022-10-29 14:43:02 +02:00
Paulus Schoutsen a786b32857
Set date in test to fixed one (#81175) 2022-10-28 23:58:02 -04:00
Shay Levy 9dedbb2a24
Add diagnostics to Switcher (#81146) 2022-10-28 22:05:21 -04:00
Kevin Stillhammer 77585686e0
Allow empty string for filters for waze_travel_time (#80953)
* Allow empty string for filters

Signed-off-by: Kevin Stillhammer <kevin.stillhammer@gmail.com>

* Apply PR feedback

Signed-off-by: Kevin Stillhammer <kevin.stillhammer@gmail.com>

Signed-off-by: Kevin Stillhammer <kevin.stillhammer@gmail.com>
2022-10-28 21:01:53 -04:00
Robert Hillis 6225f1f737
Bump aiopyarr to 22.10.0 (#81153) 2022-10-28 17:25:44 -05:00
javicalle 4dbb265590
Fix RFLink unit conversions (#79436)
* Fix unit conversions

* Fix tests

* Address requests changes

* Address requests changes

* Address requests changes

* Address requests changes

* migrate to SensorEntityDescription

* forgotten test

* forgotten test

* chango to WIND_SPEED

* manage UOM

* fix test

* address comments

* fix implementation

* prevent from mutate config
2022-10-29 00:20:26 +02:00
Jan Bouwhuis bcae6d604e
Improve MQTT type hints part 8 (#81034)
* Improve typing device_tracker discovery

* Improve typing device_tracker yaml

* Add test source_type attribute

* Follow up comment

* Initialize at `__init__` not at class level.

* Use full name for return variable

* Correct import, remove assert

* Use AsyncSeeCallback
2022-10-28 18:20:33 +02:00
Maciej Bieniek 11ea834cbe
Improve MQTT update platform (#81131)
* Allow JSON as state_topic payload

* Add title

* Add release_url

* Add release_summary

* Add entity_picture

* Fix typo

* Add abbreviations
2022-10-28 17:05:43 +02:00
Shay Levy a34148104a
Add diagnostics to webostv (#81133) 2022-10-28 14:48:16 +02:00
Jan Bouwhuis f10f74a65a
Add default `source_type` for MQTT device_tracker (#81128)
Make sure the source_type is set - default to gps
2022-10-28 10:49:01 +02:00
Glenn Waters 5eb3473d41
Add diagnostics to Environment Canada integration (#79517)
* Add diagnostics to EC integration.

* Add test for diagnostics.

* Simplify diagnostics returned.

* Fix for comment.

* Update datetime to fixed date.
2022-10-28 06:38:11 +02:00
Matthias Alphart 428a33c00f
Migrate KNX to use kelvin for color temperature (#81112) 2022-10-27 16:00:34 -04:00
Erik Montnemery 68346599d2
Add WS API recorder/statistic_during_period (#80663) 2022-10-27 15:51:09 -04:00
J. Nick Koston c21fb222f9
Add support for oralb IO Series 4 (#81110) 2022-10-27 15:38:42 -04:00
Tobias Sauerwein fa350b984a
Clean up superfluous Netatmo API calls (#81095) 2022-10-27 14:42:16 -04:00
epenet 3d42a46871
Align Scrape resource model with Rest integration (#81074) 2022-10-27 17:48:35 +02:00
Aaron Bach 4e8e53f357
Remove previously-deprecated OpenUV services (#81055) 2022-10-27 10:22:44 +02:00
shbatm e785d04abf
Add RainMachine config option to use default run times from app (#80984) 2022-10-26 22:27:08 -06:00
puddly b8edc86500
Handle sending ZCL commands with empty bitmap options (#81051)
Handle sending commands with empty bitmaps
2022-10-26 21:29:48 -04:00
J. Nick Koston d381be3868
Fix homekit diagnostics test when version changes (#81046) 2022-10-26 22:50:59 +02: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
Erik Montnemery 95fc641949
Add support to the energy integration for tracking water usage (#80888) 2022-10-26 21:20:52 +02:00
Erik Montnemery a4310d2085
Allow integrations to drop custom unit conversion (#81005)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2022-10-26 15:11:28 -04:00
epenet 2a2e097e17
Use unit enums in unit utilities (#81030) 2022-10-26 20:47:17 +02:00
Daniel Gangl b2b3c47917
Add config flow to zamg (#66469) 2022-10-26 18:35:12 +02:00
Michał Huryn a1c18b06fb
Blebox typehints in binary sensor tests (#80676) 2022-10-26 18:20:49 +02:00
J. Nick Koston a72e906ac1
Fix zeroconf when location name has a period (#81022) 2022-10-26 10:39:13 -05:00
epenet 3eb574edca
Remove YAML import from coinbase (#80084) 2022-10-26 17:14:31 +02:00
Martin Hjelmare a1a0284e81
Fix zwave_js port enumeration (#81020) 2022-10-26 10:12:30 -05:00
J. Nick Koston abb3ce6d69
Fix zeroconf starting later than expected (#81023) 2022-10-26 10:06:56 -05:00
Allen Porter 0e2bea038d
Update Google Calendar to synchronize calendar events efficiently (#80925)
* Sync google calendar and serve from local storage

Update to use new gcal_sync APIs
Update google calendar filter logic
Remove storage on config entry removal
Make timeline queries timezone aware
Do not block startup while syncing

* Minor readability tweaks

* Remove unnecessary args to async_add_entities

* Change how task is created on startup

* Update homeassistant/components/google/calendar.py

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

* Revert min time between updates

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-10-26 07:57:49 -07:00
Avi Miller dde763418a
Add an RSSI sensor to the LIFX integration (#80993) 2022-10-26 09:12:45 -05:00
epenet 842cb18d39
Migrate energy units to an enum (#80998) 2022-10-26 13:56:51 +02:00
Maciej Bieniek 052c673c9e
Use `wind_speed` device class instead of `speed` in Accuweather (#81016) 2022-10-26 13:47:29 +02:00
Franck Nijhof 7a04ba96f3
Adjust unique ID of Octoprint camera entity (#80996) 2022-10-26 13:27:13 +02:00
G Johansson 9715b6c862
Remove yaml import anthemav (#79931) 2022-10-26 12:42:21 +02:00
G Johansson be7e61b88b
Add unique id for min_max (#81007) 2022-10-26 11:27:44 +02:00
Erik Montnemery 352976fd1d
Add rules for converting volumes (#80951)
* Add rules for converting volumes

* Use SensorDeviceClass in new tests

* Tweak tests

* Update flo tests

* Update sensor tests
2022-10-26 10:29:33 +02:00
J. Nick Koston e15f2e050e
Update ibeacon-ble to 1.0.1 (#80785) 2022-10-26 10:21:30 +02:00
J. Nick Koston a90ef3a575
Add additional data to HomeKit diagnostics (#80980) 2022-10-26 10:05:33 +02:00
Rami Mosleh a205ba7656
Remove deprecated YAML in `android_ip_webcam` (#80875) 2022-10-25 23:53:17 +02:00
Robert Svensson 115a1ceea0
Rewrite UniFi block client switch (#80969)
* Refactor UniFi block client switch entities

* Use new switch loader

* Rename lambdas

* Use is_on rather than _attr_is_on when applicable
2022-10-25 22:36:51 +02:00
Shay Levy 775f4e9e0d
Clean-up Shelly legacy update entities (#80961) 2022-10-25 21:27:54 +02:00
Michael 8175dab7ab
Add week period to recorder statistics api (#80784)
* add week period to get statistics api

* add test
2022-10-25 20:07:28 +02:00
Ryan Fleming c197e1765a
Add Octoprint camera entity (#79689) 2022-10-25 19:59:57 +02:00
Rami Mosleh d3ada34498
Remove deprecate service in `speedtestdotnet` (#80938)
Remove deprecate service
2022-10-25 10:44:27 -07:00
Thomas Dietrich 3346ddcd86
Add sum-differences characteristics to statistics component (#79439) 2022-10-25 16:46:47 +02:00
Erik Montnemery 727eccfec4
Add GJ as supported unit for energy sensors (#80870)
* Add GJ as supported unit for energy sensors

* Update homeassistant/const.py

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

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2022-10-25 16:43:00 +02:00
Lars 1c8156bd33
Update Fritz! lights to use kelvin (#79733) 2022-10-25 13:45:02 +02:00
On Freund 64eb316908
Add alarmed binary sensor to Risco integration (#77315)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-10-25 13:43:09 +02:00
Rami Mosleh 623abb4325
Remove deprecated YAML in Pushover (#80876) 2022-10-25 13:39:38 +02:00
Franck Nijhof 5b32540a84
Set water device class to flo, homewizard, p1_monitor, toon (#80944) 2022-10-25 13:21:47 +02:00
Parham Ghazanfari dbfca8def8
Add support for EventBridge to aws integration (#77573)
* Added EventBridge support to aws integration

* Added type hints for all aws notification services + Added unit tests for EventBridge AWS integration

* Increase line coverage for unit tests for aws integration.
2022-10-25 13:21:25 +02:00
HarvsG fe7402375d
Bayesian - support `unique_id:` (#79879)
* support unique_id

* adds test for unique_ids
2022-10-25 12:42:59 +02:00
Dave T e5716efa9c
Add visual image preview during generic camera options flow (#80392)
Co-authored-by: Dave T <davet2001@users.noreply.github.com>
2022-10-25 10:03:19 +02:00
Erik Montnemery 3d3349240f
Don't trigger statistics issues when sensor units are equivalent (#80099) 2022-10-25 09:50:01 +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
Ongy 3759be09df
Add media_player platform to Jellyfin (#76801) 2022-10-24 21:45:01 -05:00
Shay Levy dce4753510
Cleanup Shelly update platform (#80845) 2022-10-25 00:20:26 +03:00
Steven Looman b5f70a404a
Fix SSDP/UPnP server after testing (#80815) 2022-10-24 15:19:19 -05:00
Erik Montnemery f7694c0550
Only reload modified scripts (#80470)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2022-10-24 20:47:06 +02:00
Martin Hjelmare 838691f22f
Refactor zwave_js add-on manager (#80883)
* Make addon slug an instance attribute

* Extract addon name and addon config

* Update docstrings
2022-10-24 18:21:05 +02:00
Jc2k 4279d73800
Add support for Netatmo noise sensor to homekit_controller (#80889)
Co-authored-by: J. Nick Koston <nick@koston.org>
2022-10-24 10:31:26 -05:00
Erik Montnemery 6979cd95b0
Add suggested_unit_of_measurement attribute to sensors (#80638)
* Add suggested_unit_of_measurement attribute to sensors

* Lazy calculation of initial entity options

* Add type alias for entity options

* Small tweak

* Add tests

* Store suggested_unit_of_measurement in its own option key

* Adapt to renaming of IMPERIAL_SYSTEM

* Fix rebase mistakes

* Apply suggestions from code review

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

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2022-10-24 16:08:02 +02:00
epenet ec4b8c49fe
Add unique_id to scrape (#80581)
* Add unique_id to scrape

* Add tests
2022-10-24 15:14:43 +02:00
epenet 64d6d04ade
Use DataUpdateCoordinator in scrape (#80593)
* Add DataUpdateCoordinator to scrape

* Fix tests
2022-10-24 14:55:57 +02:00
Joakim Plate ebfb10c177
Allow hostname for nibe heatpump (#80793)
Allow hostname for nibe
2022-10-24 14:17:53 +02:00
Maciej Bieniek 1f0cb73ad0
Add `update` platform to MQTT integration (#80659) 2022-10-24 11:47:45 +02:00
Jan Bouwhuis 5e7f571f01
Move advanced MQTT options to entry (#79351)
* Move advanced broker settings to entry

* Add repair issue for deprecated settings

* Split CONFIG_SCHEMA

* Do not store certificate UI flags in entry

* Keep entered password in next dialog

* Do not process yaml config in flow

* Correct typo
2022-10-24 09:58:23 +02:00
Avi Miller 6e453ae471
Add device-specific diagnostics to the LIFX integration (#79964) 2022-10-23 22:49:18 -05:00
Garrett 073951177b
Code quality update for Subaru sensors (#79482)
* Use distance device class for sensors

* Change sensor name casing and unique_id

* Migrate sensor entity unique_id

* Match title-cased unique_id when migrating

* Remove unneeded regex to find '_' delimited id suffix

* Incorporate PR review comments

* Add check to prevent extra odometer entity migration
2022-10-24 01:54:22 +02:00
PeteRager 59b2869f6a
Fix oncue data unavailable when genset disconnected (#80668)
Co-authored-by: J. Nick Koston <nick@koston.org>
2022-10-23 18:01:43 -05:00
Julian Löhr 6795627734
Add ZHA StartUpColorTemperature configuration entity (#80853)
* Add ZHA start up color temperature entity

* Use device reported min max values

* Add color number test

* Fix code style
2022-10-23 18:46:47 -04:00
Kevin Addeman 3f3518e29d
Fix Lutron Caseta area names by ignoring root area during area name retrieval (#80576) 2022-10-23 17:28:15 -05:00
Robert Svensson 03bf37e12c
Refactor UniFi DPI switch entities (#80761)
* Refactor UniFi DPI switch entities

* Remove dpi presence from items_added
2022-10-23 22:42:24 +02:00
Robert Svensson d75834cd1e
Add presence duration number (#79498) 2022-10-23 22:30:03 +02:00
G Johansson b04165b495
Add Sensibo Climate React (#78221) 2022-10-23 15:22:14 -05:00
Kevin Addeman 071f335fdb
Add dynamic generation of device triggers from keypad buttons (#80797)
Co-authored-by: J. Nick Koston <nick@koston.org>
2022-10-23 14:57:04 -05:00
G Johansson 57b2bb4889
Add entity service - Set Full AC state to Sensibo (#80820)
Co-authored-by: J. Nick Koston <nick@koston.org>
2022-10-23 13:55:53 -05:00
Robert Svensson 0444dd71a6
Refactor UniFi outlet switches (#80738)
* Rewrite UniFi outlet switches

* Bump aiounifi to v41

* Remove devices from items_added input
2022-10-23 20:28:45 +02:00
Avi Miller 2966f9ed8e
Add themes for LIFX multi-zone devices via a new select entity (#80067) 2022-10-23 11:28:17 -05:00
Bouwe Westerdijk bd6678c73b
Bump plugwise to v0.25.3 (#80782) 2022-10-23 12:42:35 +02:00
Shay Levy 228d491216
Fix Shelly entry unload and add tests for init (#80760) 2022-10-22 09:00:35 +02:00
René Klomp f21fabba17
Bump pysma to 0.7.1 (#80601)
* Bump pysma to 0.7.0

* Bump pysma to 0.7.1

* Fix test
2022-10-21 22:54:42 +02:00
J. Nick Koston 9c8a919e3f
Remove system_log missing format arg test (#80739) 2022-10-21 14:49:39 -04:00
starkillerOG a2080492de
Remove Xiaomi Miio YAML import (#78995)
* Deprecate YAML import

* Add logging for unexpected errors

* remove unused import

* fix tests

* unused import

* fix tests

* fix snake_case

* Do not add to standard key string
2022-10-21 18:07:49 +02:00
Rami Mosleh 3aa24afad8
Retry setup in case of empty response from Pushover api (#80602)
Retry setup in case of empty response
2022-10-21 17:52:02 +02:00
Kevin Stillhammer c70614fd7c
Move default options to config_flow for waze_travel_time (#80681)
Move default options to config_flow

Signed-off-by: Kevin Stillhammer <kevin.stillhammer@gmail.com>

Signed-off-by: Kevin Stillhammer <kevin.stillhammer@gmail.com>
2022-10-21 08:02:41 -07:00
J. Nick Koston fe67703e13
Log invalid messages instead of raising in system_log (#80645) 2022-10-21 10:52:03 -04:00
Allen Porter 69dab4acfe
Reduce unnecessary alarm firing to speed up calendar trigger test (#80732) 2022-10-21 10:47:37 -04:00
Timm Schäuble e6892a613e
Bump simplepush to 2.1.1 (#80608)
* Update to new library version

* Remove test for removed send_encrypted function

* Bump simplepush to 2.1.1
2022-10-21 16:13:46 +02:00
Allen Porter d1d218444b
Improve calendar trigger test quality (#79451)
Improve calendar test quality
2022-10-21 10:56:17 +02:00
Franck Nijhof bb287dd0ed
Integrations v2.1: Virtual integrations (#80613) 2022-10-20 23:09:06 -04:00
Kevin Stillhammer b35cfe711a
Move default option handling to config_flow for google_travel_time (#80607)
Move default option handling to config_flow
2022-10-20 19:32:45 -07:00
Aaron Bach 60b3d6816b
Replace custom OpenUV data object with coordinators (#80705)
* Replace custom OpenUV data object with coordinators

* Typing

* Code review
2022-10-20 19:37:20 -06:00
Chris Talkington 245c13e6ed
Add diagnostics to jellyfin (#80651) 2022-10-20 20:02:40 -05:00
J. Nick Koston 03362bec1c
Defer bluetooth scanner watchdog restart if one is already in progress (#80679) 2022-10-20 13:56:20 -05:00
Robert Svensson 92eaa539b6
Simplify mocking UniFi websocket (#80652)
* Simplify mocking UniFi websocket

* Fix one more
2022-10-20 19:37:13 +02:00
Kevin Stillhammer 8dd2d6f825
Remove deprecated yaml import for waze_travel_time (#80669)
Remove deprecated yaml import

Signed-off-by: Kevin Stillhammer <kevin.stillhammer@gmail.com>

Signed-off-by: Kevin Stillhammer <kevin.stillhammer@gmail.com>
2022-10-20 08:17:21 -07:00
epenet e84e5f134e
Use US_CUSTOMARY_SYSTEM in tests (#80658)
* Use US_CUSTOMARY_SYSTEM in tests

* Don't update test_unit_system
2022-10-20 15:42:23 +02:00
Michał Huryn 4e4682d2e0
Add blebox binary_sensor platform (#79535)
* Add binary_sensor platform, with test.

* Applied suggestions by @epenet

* refactor: as @epenet suggested, passing entity_description to init

* Update homeassistant/components/blebox/binary_sensor.py

@epenet suggestion, moved refactored logic of create_blebox_entities into BleBoxBinarySensorEntity init

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

* refactor: as @epenet class selector and entity creation moved to binary_sensor

* refactor: list comprehension in entity list setup in binary sensor

* Update homeassistant/components/blebox/binary_sensor.py

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

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2022-10-20 14:35:28 +02:00
Shay Levy aea7a9af18
Bump aioshelly to 4.0.0 (#80423)
* Bump aioshelly to 4.0.0

* Remove leftover

* Fix number platform

* Set last_update_success to false upon failure in number and climate

* Set last_update_success upon failurie in entity
2022-10-20 15:08:48 +03:00
Avishay ae7eb9cef9
Add mode control for Modbus climate entities (#73906)
* Add support for Modbus HVAC control registers
2022-10-20 13:15:30 +02:00
epenet b23a66d776
Add websocket type hints in entity_registry (#80657)
* Add websocket type hints in entity_registry

* Adjust websocket_list_entities

* Fix update

* Fix websocket_update_entity

* Apply suggestion

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

* Apply suggestion

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

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-10-20 12:20:39 +02:00
Robert Svensson d0ed4b1ff2
Replace constants with enums in UniFi (#80637)
Replace constants with enums
Fix bad imports
2022-10-20 00:10:01 +03:00
uvjustin eb141a532c
Bump ha-av to v10.0.0 (#80514) 2022-10-20 00:06:49 +03:00
Robert Svensson 04cdcad7f8
Expose UniFi PoE ports as individual switches (#80566)
* Add simple PoE control switches

* Add basic tests

* Complete testing

* Dont use port.up as part of available

* Bump aiounifi to v40
2022-10-19 19:54:40 +02:00
epenet 374d46ec09
Improve type hints in blebox (#80511)
* Add generics to blebox

* Remove walrus

* Move logic into each platform

* Code style

* Apply suggestion
2022-10-19 17:49:40 +02:00
Franck Nijhof 6ea6782d23
Add buttons to dismiss notifications in LaMetric (#80605) 2022-10-19 17:46:54 +02:00
Erik Montnemery f4951a4f31
Add CI job which runs recorder tests on MariaDB (#80586)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2022-10-19 13:04:28 +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
Bouwe Westerdijk 0c8884fd51
Add sensor, selector and switch for Plugwise Anna + Loria combination (#80558)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2022-10-19 11:26:27 +02:00
Erik Montnemery 31a787558f
Ensure recorder test fixture is setup before hass fixture (#80528)
* Ensure recorder test fixture is setup before hass fixture

* Adjust more tests
2022-10-19 07:58:47 +02:00
Franck Nijhof e3919babb2
Add chart service to LaMetric (#80554) 2022-10-18 19:36:19 -06:00
Patrick ZAJDA a717ea8afc
Migrate Broadlink to new entity naming style (#80187)
* Migrate Broadlink to new entity naming style

Signed-off-by: Patrick ZAJDA <patrick@zajda.fr>

* Add some tests

Signed-off-by: Patrick ZAJDA <patrick@zajda.fr>

Signed-off-by: Patrick ZAJDA <patrick@zajda.fr>
2022-10-18 22:09:23 +02:00
Shay Levy 8e9457d808
Add Shelly support for sleeping Gen2 devices (#79889) 2022-10-18 22:42:22 +03:00
Aaron Bach 78e66b6cbe
Add diagnostics to Enphase Envoy (#79950)
* Streamline Enphase Envoy config flow tests

* Don't test data results using constants

* Add diagnostics to Enphase Envoy

* Use whole config entry

* Redact serial number

* One call
2022-10-18 10:25:07 -06:00
Aaron Bach 414d478d3e
Ensure Enphase Envoy test fixtures aren't session-scoped (#80499)
* Ensure Enphase Envoy test fixtures aren't session-scoped

* Code review
2022-10-18 10:24:49 -06:00
Aaron Bach 1cf801afbc
Remove unnecessary session scoping to several test fixtures (#80500)
Co-authored-by: Joakim Plate <elupus@ecce.se>
2022-10-18 18:06:23 +02:00
epenet c37e4b870f
Move attribution to standalone attribute [r-s] (#80520)
* Move attribution to standalone attribute [r-s]

* Fix test
2022-10-18 13:33:20 +02:00
Willem-Jan van Rootselaar 1fe397f7d7
Update bsblan integration (#67399)
* Update bsblan integration

Update the integration to current standards

* removed unused code

update coverage

* some cleanup

* fix conflicts due upstream changes

* fix prettier json files

* fix remove comment code

* use dataclass instead of tuple

* fix spelling

* Set as class attribute

main entity doesn't need to give own name

* fix requirements
2022-10-18 12:06:51 +02:00
jjlawren c1213857ce
Fix Plex reauth with multiple available servers (#80508) 2022-10-18 11:51:43 +02:00
Nippey 0e1fe4eba5
Modbus: Add support for Holding Registers to Binary Sensor (#80460)
Update handling of binary sensors to support reading from holding registers (command 0x03).
2022-10-18 10:31:08 +02:00
Raman Gupta d4c28e04e4
Reduce missed coverage in zwave_js (#79571)
* Reduce missed coverage in zwave_js.climate and cover

* Add switch platform coverage

* Add select platform

* Add lock platform

* Remove one line of coverage from number platform

* update docstring
2022-10-18 10:06:29 +02:00
J. Nick Koston f70f972d88
Fix connectable Bluetooth devices not being seen if the nearest scanner is non-connectable (#80388)
If we saw the non-connectable scanner advertisement first we would reject
the connectable scanner advertisement because it had worse signal strength.

In this case we need to check both
2022-10-17 21:13:26 -04:00
uvjustin d38d21ab3a
Fix stream recorder with orientation transforms (#80370)
Find moov instead of using fixed location
2022-10-17 21:12:45 -04:00
Aaron Bach 72f4665d33
Streamline Enphase Envoy config flow tests (#79914)
* Streamline Enphase Envoy config flow tests

* Don't test data results using constants

* Fix data issues

* Fixtures

* Simplify mock creation

* Docstrings
2022-10-17 20:29:10 +03:00
Franck Nijhof 326a1b21ca
Add message service to LaMetric (#80448) 2022-10-17 16:14:20 +02:00
Jose Ramirez f730f96024
Convert darksky unittest tests to pytest (#79868)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-10-17 16:09:37 +02:00
Florent Thoumie abec592a24
Update to iaqualink 0.5.0 (#80304)
* Update to iaqualink 0.5.0.

* Boolean conditional style fix

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

* Fix black formatting

* Update iaqualink tests after update to 0.5.x

* Remove debug print statements

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-10-17 10:14:29 +02:00
TheJulianJES b4a203c3c7
Add friendly name to ZHA identify button (#80446) 2022-10-16 19:57:24 -04:00
Joakim Plate 9eb4faf037
Fire bluetooth listener for all matching devices (#80440)
* Fire listener for all matching devices

* Add test case for seen device

* Avoid looping all data if we have address match

* Initialize to empty list
2022-10-16 21:49:12 +02:00
Allen Porter e71bd2c20b
Fix google calendar test to match API behavior (#80436) 2022-10-16 14:45:57 -04:00
Allen Porter a7f33535c7
Fix google calendar event transparency filter (#80438) 2022-10-16 14:45:27 -04:00
Bouwe Westerdijk f5666641ce
Bump plugwise to v0.25.2 and adapt climate (#80347)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2022-10-16 20:32:38 +02:00
Kevin Stillhammer ef90fe9aee
Display and log google_travel_time errors (#77604)
* Display and log google_travel_time errors

* Rename is_valid_config_entry to validate_config_entry

Signed-off-by: Kevin Stillhammer <kevin.stillhammer@gmail.com>

Signed-off-by: Kevin Stillhammer <kevin.stillhammer@gmail.com>
2022-10-16 10:06:53 -07:00
Steven Looman 731f618028
Make home assistant discoverable via UPnP/SSDP (#79820) 2022-10-15 14:00:46 -04:00
J. Nick Koston d12cbab6c4
Bump bleak to 0.19.0 (#80349) 2022-10-15 13:57:23 -04:00
Franck Nijhof 7bd9ce72f7
Add reauth support to LaMetric (#80355)
* Add reauth support to LaMetric

* Adjust docblock
2022-10-14 23:54:14 +02:00
J. Nick Koston 3b33e0d832
Add support for restoring HomeKit IIDs (#79913) 2022-10-14 09:58:09 -10:00
J. Nick Koston 0c76e3a97e
Automatically determine the advertising interval for bluetooth devices (#79669) 2022-10-14 14:39:18 -04:00
Charles Garwood a68bd8df6f
Add start_application service to fully_kiosk integration (#80226) 2022-10-14 19:21:58 +02:00
taiyeoguns e01572bc44
Convert graphite tests to pytest (#79807)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-10-14 17:59:09 +02:00
Franck Nijhof 6aa47e871d
Little cleanup of Alert tests (#80333) 2022-10-14 17:11:30 +02:00
Erik Montnemery 284893d942
Fix reload of automation and scripts when blueprint changed (#80322) 2022-10-14 16:43:09 +02:00
Erik Montnemery 81f40afd80
Only reload modified automations (#80282)
* Only reload modified automations

* Update tests

* Adjust spelling

* Improve efficiency of matching automations and configurations

* Reload automations without an alias if they have been moved

* Add test

* Add test

* Add test
2022-10-14 15:28:03 +02:00
Franck Nijhof dd266b7119
Remove elevation warning from sun (#80239) 2022-10-14 15:23:44 +02:00
epenet 4c3097a157
Use local UNIT constants in here_travel_time (#80324)
* Use local UNIT constants in here_travel_time

* Fix test
2022-10-14 15:16:03 +02:00
David F. Mulcahey d75e449c52
Add ability to convert ZCL schemas to vol schemas to ZHA (#79908)
* try serializing cluster command schemas

* use min and max value from zigpy type

* different type assignments

* initial command execution changes

* cleanup

* cleanup and typing

* typing

* typing

* add tests

* mypy

* handle raw values too

* check for None responses

* make backwards compatible

* update yaml for svc change
2022-10-14 08:15:10 -04:00
Marc Mueller a63c9e8fb9
Update python-typing-update to 0.5.0 (#80315) 2022-10-14 13:21:37 +02:00
hesselonline a534c136a1
Fix wallbox jwt issue (#79948)
* Bump Wallbox package

* remove debug message

* Force update of auth token by emptying it first

* Force token refresh by emptying token
Improve exception handling

* include tests

* Update __init__.py

* Removed the clearing ot jwt token, issue is fixed by upstream fix in wallbox package.

* Catch connectionerror

* Update homeassistant/components/wallbox/__init__.py

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

* Run black

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-10-14 13:09:00 +02:00
epenet 4c8f8c2e61
Adjust distance unit check in here travel time (#80243)
* Adjust distance unit check in here travel time

* Add tests

* Use system compare

* Use is not ==
2022-10-14 12:22:48 +02:00
epenet 0b7c84edbd
Adjust distance unit check in google travel time (#80232)
* Cleanup unused option in google travel time

* Adjust tests

* Adjust to use local constant

* Tweak logic

* Reduce size of PR

* Add tests

* Use system compare

* Use is not ==

* Adjust to use local constant again
2022-10-14 12:13:47 +02:00
Erik Montnemery 2c206ad050
Fix flaky recorder test (#80246)
* Fix flaky recorder test

* Update tests/components/recorder/test_init.py

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

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2022-10-14 09:10:38 +02:00
Shay Levy 5a51738b2f
Add Switcher runner support (#79430)
* Add Switcher runner support

* Retrigger docs check

* Review suggestions

* Move API strings to constants
2022-10-13 22:20:13 +01:00
Diogo Gomes 180b296426
IPMA Code quality improvement (#77771)
* merge upstream/dev

* remove comment

* coverage increase

* merge upstream/dev

* refactor

* wait for another PR

* remove left overs

* wait for next PR

* only remove on successful unload

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

Co-authored-by: Shay Levy <levyshay1@gmail.com>
2022-10-14 00:18:57 +03:00
Erik Montnemery e852c9b012
Fix logbook tests (#80264)
* Fix logbook tests

* Correct tests

* Improve tests
2022-10-13 17:34:45 +02:00
Aaron Bach eae96eb4c2
Add diagnostics to AirNow (#79904) 2022-10-13 07:31:33 -06:00
Erik Montnemery 04cc2ae264
Correct initialization of new databases (#80234) 2022-10-13 13:01:27 +02:00
Erik Montnemery acb1477673
Avoid time traveling in recorder tests (#80247) 2022-10-13 11:51:27 +02:00
Erik Montnemery 4462f2fc46
Fix recorder tests related to mysql (#80238) 2022-10-13 11:44:48 +02:00
Franck Nijhof ea6368775b
Make notifiers of Alert optional (#80209) 2022-10-13 09:04:36 +02:00
Erik Montnemery 466c4656ca
Refactor recorder migration (#80175)
* Refactor recorder migration

* Improve test coverage
2022-10-13 08:11:54 +02:00
Kevin Addeman 01c66aa7c1
Add support for area field from pylutron_caseta (#80221) 2022-10-12 14:26:54 -10:00
Kevin Addeman 82322e3804
Add button entities for Lutron Caseta/RA3/HWQSX (#79963)
Co-authored-by: J. Nick Koston <nick@koston.org>
2022-10-12 10:29:28 -10:00
Franck Nijhof 37a5a09910
Remove unused is_on helper function from Alert (#80190) 2022-10-12 21:10:03 +03:00
Franck Nijhof ad6c3d1cde
Move alert constants into const module (#80170)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2022-10-12 17:17:48 +02:00
Franck Nijhof 30920c3da7
Code quality improvements for Fully Kiosk (#80168) 2022-10-12 15:52:09 +02:00
Erik 4a1c40f09b Revert "Refactor recorder migration"
This reverts commit 69e10e5982.
2022-10-12 15:12:12 +02:00
Erik 69e10e5982 Refactor recorder migration 2022-10-12 15:00:28 +02:00
Bouwe Westerdijk 6abf677092
Bump plugwise to v0.25.0 and adapt relevant plugwise code (#80129) 2022-10-12 14:48:09 +02:00