Commit Graph

13162 Commits (7aadcc1f9791b36ff50a0e09268f7e0defd2a91d)

Author SHA1 Message Date
Franck Nijhof 58f2fc8610
Use enum sensor device class in Moon (#83108)
* Use enum sensor device class in Moon

* Adjust tests
2022-12-03 11:25:04 +01:00
Franck Nijhof b40923a4cd
Use enum sensor device class in PrusaLink (#83107) 2022-12-03 11:22:36 +01:00
Alex Yao 652fedf4d1
Fix html5 Firefox Notifications (#82556)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
fixes undefined
2022-12-02 20:51:16 -05:00
J. Nick Koston 4a56461d3c
Fix reauth with esphome when adding noise encryption (#83164)
* Fix reauth with esphome when adding noise encryption

fixes #80813

* fix with unique id
2022-12-02 19:49:13 -05:00
Philip Allgaier d3b35ca2a7
Address review comments for shopping list websockets (#83143) 2022-12-02 19:33:25 +01:00
Franck Nijhof a4a80f367b
Use enum sensor device class in HomeKit Controller (#83109) 2022-12-02 14:50:01 +01:00
Erik Montnemery 46500beefc
Enable strict typing of analytics (#83119) 2022-12-02 14:05:08 +01:00
Philip Allgaier 80debae96d
Add support for item removal to shopping list (#82992) 2022-12-02 12:40:59 +01:00
ollo69 5789790d32
Review AsusWRT sensors tests (#71307)
* Review AsusWRT sensors tests

* Fix grammar

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-12-02 11:22:16 +01:00
Franck Nijhof ce00f093d6
Add enum device_class and state options property to sensor entities (#82489) 2022-12-02 09:11:15 +01:00
Christopher Bailey 6fb9bdec93
Assorted fixes for UniFi Protect (#83032) 2022-12-01 16:37:44 -05:00
Allen Porter 5d1ca73a34
Add create and delete for Google Calendar events (#83034)
* Add Google Calendar create/delete support

Includes editing for recurring events

* Fix default calendar access role

* Formatting improvements

* Address other details that have changed due to local sync

* Update tests/components/google/test_calendar.py

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

* Update tests/components/google/test_calendar.py

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

* Update tests/components/google/test_calendar.py

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

* Increase test coverage

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-12-01 21:39:58 +01: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
Daniel Hjelseth Høyer 87b6bb45d0
Remove home id from Tibber diagnostics (#83066)
Tibber diagnostic

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
2022-12-01 20:24:17 +02:00
Todd Johnson 5533368171
Add dialect support to google_translate (#81768)
* Add TLD option support to google_translate

* Fix tests for added TLD option in google_translate

* Add Language to TLD mapping, Make tld configurable in google_translate

* Move const to dedicated file in google_translate
2022-12-01 13:31:19 +01:00
Keilin Bickar f4a58c7dc7
Bump sense_api to 0.11.0 and add refresh token support (#83030)
fixes undefined
2022-12-01 10:53:48 +01:00
Erik Montnemery 8e617bbc1d
Add `translation_key` property to entites (#82701)
* Add translation_key attribute to entity state

* Update accuweather test

* Index entity translation keys by platform

* Store translation key in entity registry
2022-12-01 09:34:09 +01:00
Joakim Sørensen 817bbfe6aa
Bump hass-nabucasa from 0.56.0 to 0.59.0 (#82987)
* Bump hass-nabucasa from 0.56.0 to 0.58.0

* 0.59.0
2022-12-01 09:08:39 +01:00
J. Nick Koston c91417e71f
Fix yale access bluetooth locks delaying startup when key changes (#83024)
If the keys changed for the yale locks, the locks would be
slow to setup. Because august had yalexs_ble as an
after dep, it would be waiting with the new keys but not
able to setup because it was waiting for the locks to setup
which would be trying over and over until they failed because
the key had changed out from under it.

This change moves some more code into the lib to avoid
the dep and allows both to startup at the same time so
the cloud service can feed the new keys in if needed without
waiting for the lock to fail to setup

changelog: https://github.com/bdraco/yalexs-ble/compare/v1.9.8...v1.10.0
2022-12-01 03:36:02 +01:00
Kevin Stillhammer e158546425
Add missing @callback decorator in here_travel_time sensor (#83009) 2022-11-30 22:40:17 +01:00
Aaron Bach 671e6b3832
Remove old system ID format from SimpliSafe base stations (#82993) 2022-11-30 22:10:56 +01:00
Allen Porter 532ab12a48
Local calendar integration (#79601) 2022-11-30 21:20:21 +01:00
puddly 7f96fbb035
Bump ZHA dependencies (#82999) 2022-11-30 20:56:07 +01:00
Matthias Alphart a43d944309
Address late KNX flow tests review (#82975)
* KNX flow tests review

* patch out async_setup_entry in options-flow tests

* remove unneeded hass.async_block_till_done()

* Update test_config_flow.py

* autouse setup mock

* patch out async_setup too

* rename fixture according to pytest docs

* test call count to async_setup_entry

* dict access instead of .get()
2022-11-30 18:54:06 +01:00
Willem-Jan van Rootselaar 949dede16b
Add support for BSBLAN firmware v3 (#82288)
* bump python-bsblan version to 0.5.8

* add static_state

this holds values that only needs retrieving once in a while

* update diagnostics  json with the right info
2022-11-30 16:36:33 +01:00
Kevin Stillhammer dffdc78915
Make HERETravelTimeSensor extend RestoreSensor (#82400) 2022-11-30 16:13:11 +01:00
epenet 5be961f07f
Use SchemaOptionsFlowHandler in blink (#82903)
* Use SchemaOptionsFlowHandler in blink

* Use config entry update listener

* Adjust tests

* Simplify options init

* Don't reload

* Use selector
2022-11-30 14:59:26 +01:00
epenet cbf8a41eed
Add ability to edit sensors in scrape config flow (#82926)
* Add ability to edit sensors in scrape config flow

* Fix docstring

* Update homeassistant/components/scrape/config_flow.py

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

* docstring

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2022-11-30 14:16:28 +01:00
epenet 92fef0f2ba
Improve resource validation in scrape config flow (#82965)
* Improve resource validation in scrape

* Coverage
2022-11-30 14:05:01 +01:00
Christopher McCurdy 4167edc52d
Create a UUID from given LG soundbar device name (#81918)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Fixes https://github.com/home-assistant/core/issues/77524
fixes undefined
2022-11-30 12:53:49 +01:00
Duco Sebel c2d372dd13
Fix HomeWizard code quality issues (#82973)
* Sort platforms a-z

* Collect all switch entities and load in a single call

* Add test for button press
2022-11-30 10:28:28 +01:00
epenet 200f29563a
Enforce MediaPlayerState in group (#78465)
* Enforce MediaPlayerState in group

* Adjust

* Use self._attr_state

* Add warning

* Add group name to logger warning

* Remove logger warning

* Remove duplicate code

* Add type hints to tests

* Improve coverage

* Improve coverage

* suppress ValueError
2022-11-30 10:13:14 +01:00
J. Nick Koston a28214caec
Fix bluetooth remote connections not picking the best path (#82957) 2022-11-29 19:56:31 -10:00
Christopher Bailey 6c5aa3b8f9
Make UniFI Protect views more versatile (#82928) 2022-11-29 18:49:16 -10:00
Marvin Wichmann 1908feab79
Increase file upload limit to 100 MB (#77117)
* Increase file upload limit to 100 MB

* Remove comment

* Add test and fix chunk processing

* Add test for wrong field

* Add review suggestions

* Use nonlocal and remove unneeded executor task

* Use Janus to process chunk uploading

* Address review comments

* Address review comments #2

* Improve tests

* Fix discovery test

* Fix tests
2022-11-29 20:46:34 -05:00
J. Nick Koston a3ec9529ec
Fix lutron caseta triggers when device fails to setup before startup finishes (#82714)
Refactor the trigger attach so its not dependant on the intergration
being already setup

fixes #82495 & fixes #81999
2022-11-29 20:46:01 -05:00
Joakim Plate c576a68d33
Upgrade pytest-aiohttp (#82475)
* Upgrade pytest-aiohttp

* Make sure executors, tasks and timers are closed

Some test will trigger warnings on garbage collect, these warnings
spills over into next test.

Some test trigger tasks that raise errors on shutdown, these spill
over into next test.

This is to mimic older pytest-aiohttp and it's behaviour on test
cleanup.

Discussions on similar changes for pytest-aiohttp are here:
https://github.com/pytest-dev/pytest-asyncio/pull/309

* Replace loop with event_loop

* Make sure time is frozen for tests

* Make sure the ConditionType is not async

  /home-assistant/homeassistant/helpers/template.py:2082: RuntimeWarning: coroutine 'AsyncMockMixin._execute_mock_call' was never awaited
    def wrapper(*args, **kwargs):
  Enable tracemalloc to get traceback where the object was allocated.
  See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.

* Increase litejet press tests with a factor 10

The times are simulated anyway, and we can't stop the normal
event from occuring.

* Use async handlers for aiohttp

tests/components/motioneye/test_camera.py::test_get_still_image_from_camera
tests/components/motioneye/test_camera.py::test_get_still_image_from_camera
tests/components/motioneye/test_camera.py::test_get_stream_from_camera
tests/components/motioneye/test_camera.py::test_get_stream_from_camera
tests/components/motioneye/test_camera.py::test_camera_option_stream_url_template
tests/components/motioneye/test_camera.py::test_camera_option_stream_url_template
  /Users/joakim/src/hass/home-assistant/venv/lib/python3.9/site-packages/aiohttp/web_urldispatcher.py:189: DeprecationWarning: Bare functions are deprecated, use async ones
    warnings.warn(

* Switch to freezegun in modbus tests

The tests allowed clock to tick in between steps

* Make sure skybell object are fully mocked

Old tests would trigger attempts to post to could services:

```
DEBUG:aioskybell:HTTP post https://cloud.myskybell.com/api/v3/login/ Request with headers: {'content-type': 'application/json', 'accept': '*/*', 'x-skybell-app-id': 'd2b542c7-a7e4-4e1e-b77d-2b76911c7c46', 'x-skybell-client-id': '1f36a3c0-6dee-4997-a6db-4e1c67338e57'}
```

* Fix sorting that broke after rebase
2022-11-29 22:36:36 +01:00
Erik Montnemery b7652c78ee
Add options flow to enable multiprotocol support on sky connect (#82525) 2022-11-29 16:34:55 -05:00
Jan Bouwhuis 2785b2b52f
Add mqtt text platform (#82884) 2022-11-29 20:31:05 +01:00
Joakim Sørensen 10e7d6e04d
Add supervisor key to homassistant_alerts (#82862) 2022-11-29 13:22:36 -05:00
Matthias Alphart 0561c14d53
Add `text` platform for KNX (#82811) 2022-11-29 18:05:51 +01:00
epenet db9e8d2fa1
Use OptionsFlowWithConfigEntry in braviatv (#82902)
* Use OptionsFlowWithConfigEntry in braviatv

* Make use of add_suggested_values_to_schema

* Full coverage
2022-11-29 16:48:51 +01:00
epenet 23831d746e
Add ability to remove sensors in scrape config flow (#82912)
* Add ability to remove sensors in scrape config flow

* Add test

* Cleanup registry

* Cleanup

* Adjust comments

* Fix bad cleanup
2022-11-29 13:36:33 +01:00
Olen 33cd59d3c2
Add Twinkly effects (#82861)
* Add Twinkly effects

* Remove spurious comment
2022-11-29 11:15:30 +01:00
hahn-th 9f8dea10f7
Add support for HmIP-eTRV-E to homematicip_cloud (#82876)
* Add device HmIP-eTRV-E

* Fix test
2022-11-29 11:13:53 +01:00
Christopher Bailey 596016c2ac
Add new features from new UniFi Protect (#82892)
Co-authored-by: J. Nick Koston <nick@koston.org>
2022-11-28 23:44:31 -10:00
Raman Gupta 1453308bc4
Add reproduce state support to `text` platform (#82772)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2022-11-29 10:27:05 +01:00
Erik Montnemery f869ce9d06
Validate common statistics DB schema errors on start (#79707)
* Validate common statistics db schema errors on start

* Fix test

* Add tests

* Adjust tests

* Disable statistics schema validation in tests

* Update after rebase
2022-11-29 10:16:08 +01:00
epenet 53e05dec02
Add ability to add sensors in scrape config flow (#82802)
* Add ability to add sensors in scrape config flow

* Fix menu

* Adjust comment

* Use sentinel

* Adjust docstring
2022-11-29 10:13:38 +01:00
Raman Gupta 258b9fe663
Support restoring TextEntity native_value (#82770) 2022-11-29 10:09:41 +01:00
J. Nick Koston 46b18367f7
Send back BLE address type when connecting via esphome proxies (#82890) 2022-11-28 18:54:53 -10:00
Joakim Sørensen 7c82b78f8c
Add repair for legacy subscription to cloud integration (#82621) 2022-11-28 23:35:24 +01:00
Joakim Sørensen 82b2aaaa3e
Patch entry setup in upcloud test (#82882) 2022-11-28 22:38:31 +01:00
ark eb25968b31
Add valid country tests to workday sensors (#82799)
fixes undefined
2022-11-28 22:22:57 +01:00
Raman Gupta 71eb45072c
Add device action for `text` platform (#82773) 2022-11-28 20:57:44 +01:00
Jan Bouwhuis 5d4c4a1293
Add humidifier support for Alexa (#81329) 2022-11-28 09:55:22 -10:00
Christopher Bailey b842e26d36
Split UniFi Protect object sensor into multiple (#82595) 2022-11-28 09:07:53 -10:00
Erik Montnemery 892be99ca0
Check if Multi-PAN addon is using the HA Yellow's radio (#82853) 2022-11-28 13:55:07 -05:00
Erik Montnemery a038314d8b
Add display unit to WS recorder/get_statistics_metadata (#82870) 2022-11-28 13:46:57 -05:00
Avi Miller 9849735dc5
Bump aiolifx to 0.8.7 and refactor config flow connection (#82818)
Signed-off-by: Avi Miller <me@dje.li>

Signed-off-by: Avi Miller <me@dje.li>
2022-11-28 17:27:27 +01:00
Marc Mueller 63d519c1a8
Spelling updates (#82867) 2022-11-28 16:51:43 +01:00
Marc Mueller d72802cfb0
Spelling - runtime and test changes (#82868) 2022-11-28 16:42:20 +01:00
Shay Levy 4c3d481b7b
Parametrize Switcher button tests (#82849) 2022-11-28 14:57:52 +01:00
Paulus Schoutsen 7dff44b3e9
Fix mobile app passing incorrect device ID when scanning tag (#82820) 2022-11-28 08:35:57 -05:00
Matthias Alphart e738df502b
Fix KNX secure config switching from manual to keyfile (#82724) 2022-11-28 10:18:45 +01:00
epenet 8a20a90324
Use SchemaOptionsFlowHandler in asuswrt (#82806) 2022-11-28 09:56:08 +01:00
Erik Montnemery 67e4f2c202
Raise repairs issue if country is not configured (#82685) 2022-11-28 09:54:13 +01:00
Shay Levy f97ac9fdcd
Add Switcher button platform (#81245) 2022-11-28 10:06:14 +02:00
Matthias Alphart cb06f8b668
KNX Config/OptionsFlow: minimize wait time for interface discovery (#81982)
* Minimize wait time for interface discovery

* fix OptionsFlow when connection failed

there is no `self.hass.data["KNX"]` when we are in retry mode after failed integration setup

* review changes

* fix new tests
2022-11-28 07:03:51 +01:00
Duco Sebel 367b5e586b
Add support for HomeWizard identify feature (#82375)
* Add support for Identify feature

* Add tests for button

* Use only identifiers for device_info

* Update homeassistant/components/homewizard/button.py
2022-11-27 20:48:35 -05:00
Matthias Alphart 4517af509c
Add support for KNX IP-Secure routing (#82765)
* always use instance variable for new entry data

- change `self._tunneling_config` to non-optional `self.new_entry_data`
- always use self.new_entry_data in `finish_flow()`

* support secure routing

* amend current tests

* use sync latency tolerance

* test secure routing config flow

* diagnostics redact backbone_key

* test xknx library setup

* check length of backbone_key

* better readable key validation
2022-11-27 23:33:12 +01:00
J. Nick Koston d6e287f47a
Add manufacturer and model to bluetooth adapter device (#82769)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2022-11-27 15:44:44 -05:00
Álvaro Fernández Rojas 873b903cf0
Add QNAP QSW binary sensors for each port (#76522)
Co-authored-by: J. Nick Koston <nick@koston.org>
2022-11-27 15:34:14 -05:00
Robert Svensson 3853182ccf
Add deconz_relative_rotary event for Hue Tap Dial (#82727) 2022-11-27 15:01:58 -05:00
J. Nick Koston f0ae1cc6ce
Add bluetooth diagnostics to esphome (#82761) 2022-11-27 14:59:37 -05:00
uvjustin 31ad208500
Use async with to fetch HTTP streams in tests (#82788) 2022-11-27 14:35:03 -05:00
Duco Sebel 27bd1520e8
Add support for HomeWizard enable/disable cloud feature (#82573) 2022-11-27 14:26:15 -05:00
J. Nick Koston 05f89efd2c
Fix homekit controller triggers not attaching when integration is setup after startup (#82717)
fixes https://github.com/home-assistant/core/issues/78852
2022-11-26 09:19:06 -10:00
G Johansson 987cf8b9d0
Fix pushbullet test that break CI (#82744)
pushbullet break ci
2022-11-26 13:01:22 -05:00
Erik Montnemery 2fe8e95309
Add helper to calculate statistic period start and end (#82493)
* Add helper to calculate statistic period start and end

* Don't parse values in resolve_period

* Add specific test for resolve_period

* Improve typing

* Move to recorder/util.py

* Extract period schema
2022-11-26 13:00:40 -05:00
jan iversen 8ed4ce64c3
Solve modbus binary slave problem (#82338)
* Solve modbus binary slave problem.
2022-11-26 11:11:50 +01:00
Robert Svensson e1a0f8314e
Fix deCONZ Air Quality PPB device class and unit of measurement (#82726)
Fix Air Quality PPB device class and unit of measurement
2022-11-26 10:56:09 +01:00
Matthias Alphart daf56e92a0
Update xknx to 2.0.0 (#82709) 2022-11-26 06:49:11 +01:00
mbo18 6f1208b07f
Add more sensors to SensorEntityDescription for RFLink (#82036)
* Add more sensors to SensorEntityDescription

* changes from comments

* add device_class precipitation

* fix test

* change state_class for total_rain
2022-11-26 05:40:02 +01:00
Willem-Jan van Rootselaar fb132f8a26
Add diagnostics to bsblan (#80957)
* add diagnostics to bsblan

* add device info

check firmware.

* add test for diagnostics

* Update tests/components/bsblan/test_diagnostics.py

Co-authored-by: Aarni Koskela <akx@iki.fi>

* add fixture for diagnostics test

Co-authored-by: Aarni Koskela <akx@iki.fi>
2022-11-26 03:12:07 +01:00
uvjustin 5381f9f92f
Fix owntone websocket reconnection (#82680) 2022-11-25 16:16:16 +01:00
Jan Bouwhuis 4335b0db25
Clean up or correct from removed deprecation for MQTT platform (#82684)
Clean up or correct from removed deprecation
2022-11-25 16:11:22 +01:00
Franck Nijhof 13458dc722
Centralize exception handling in Plugwise (#82694) 2022-11-25 15:56:58 +01:00
Klaas Schoute be13f3fbcf
Add API key validation for Forecast.Solar (#80856)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2022-11-25 15:05:01 +01:00
Kevin Stillhammer 5257875ac6
Use SensorDeviceClass.DISTANCE for here_travel_time (#79159)
* Use SensorDeviceClass.DISTANCE in here_travel_time

* Removed unused import

* Use explicit units and conversion
2022-11-25 12:30:33 +01:00
Bouwe Westerdijk ea1868b7b9
Bump plugwise to v0.25.12 (#82146)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
fixes undefined
2022-11-25 10:55:51 +01:00
Jan Bouwhuis 01b0f4d565
Announce a deprecated callback for MQTT subscribe will stop working (#82610)
* Announce a deprecated callback will stop working

* Use 2 months grace period

* Use 2 months grace period

* Use 2 months grace period

* Add deprecation comment to tests
2022-11-25 10:22:12 +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
J. Nick Koston 09c3df7eb2
Fix iBeacons with infrequent random mac address changes unexpectedly going unavailable (#82668)
fixes https://github.com/home-assistant/core/issues/79781
2022-11-24 23:20:19 +01:00
uvjustin fcfc0e64d5
Fix mime type in forked_daapd test (#82660) 2022-11-24 22:41:26 +01:00
Erik Montnemery b94e1e9ef8
Fire events when long term statistics is updated (#82492)
* Fire events when long term statistics is updated

* Allow the new events to be subscribed to by anyone

* Address review comments

* Finish renaming events

* Finish renaming events

* Fix do_adhoc_statistics

* Adjust tests

* Adjust tests
2022-11-24 22:01:36 +01:00
Robert Hillis c30ce12c49
Remove deprecated Radarr YAML config (#81210) 2022-11-24 21:14:26 +01:00
G Johansson a63581b5c8
Add unique id for Scrape config entry entities (#82508)
* scrape unique id

* fix uuid str

* add back UoM
2022-11-24 21:12:47 +01:00
Shay Levy 815dfe9134
Fix Shelly gen2 channel name (#82655)
* Fix Shelly gen2 channel name

* Review comment
2022-11-24 21:38:32 +02:00
G Johansson 635d8c01fb
Add sum to min_max helper (#82651)
sum to min_max
2022-11-24 20:21:09 +01:00
epenet 6e2803a6d8
Use SchemaOptionsFlowHandler in Accuweather (#82627)
Use SchemaOptionsFlowHandler in accuweather
2022-11-24 20:08:14 +01:00
Raman Gupta 003e4224c8
Add `text` platform (#79454)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2022-11-24 20:01:01 +01:00
Maciej Bieniek 34633b0ede
Bump nextdns library to 1.2.0 (#82643) 2022-11-24 19:24:47 +01:00
Shay Levy 1e68e8c4b4
Add Shelly tests coverage (#82642)
* Add Shelly tests coverage

* Review comments

* Remove leftovers
2022-11-24 20:07:19 +02:00
Franck Nijhof 285aff154d
Remove Google Chat/Hangouts integration (#82645) 2022-11-24 18:33:13 +01:00
Joakim Sørensen d0390860fb
Add repair abort flow to demo integration (#82614) 2022-11-24 14:54:41 +01:00
Joakim Sørensen 621068211f
Do not delete issue when aborting repairs fix flow (#82593)
* Do not delete issue when aborting repairs fix flow

* lint

* types
2022-11-24 08:21:54 +01:00
mkmer ae07e2a9a8
Add reauth config flow to Whirlpool (#82532)
* Add ReauthFlow

* Update homeassistant/components/whirlpool/config_flow.py

Darn it - thought I caught all of these.

Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>

* Update homeassistant/components/whirlpool/config_flow.py

Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>

* Update homeassistant/components/whirlpool/config_flow.py

Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>

* Update homeassistant/components/whirlpool/config_flow.py

Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>

* Update homeassistant/components/whirlpool/config_flow.py

Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>

* Update homeassistant/components/whirlpool/config_flow.py

Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>

Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
2022-11-23 19:40:33 -08:00
Maciej Bieniek 845bcf3f7d
Translate `PowerOff` state of `select` entity in Harmony integration (#77491)
* Add custom device_class for select entity

* Update tests

* Make the state PowerOff translatable

* Update strings.select.json file

* add select.en.json

Co-authored-by: J. Nick Koston <nick@koston.org>
2022-11-24 00:08:43 +01:00
Joakim Plate 8bd4125390
Test corrections noticed during pytest upgrade (#82579)
* Withing trigger a call to coordinator after init

* Stop discovery task on STOP event

* Stop dsmr connection task on STOP

* Use autospec in modem_serial tests

close on AioSerial is non async, and should not be mocked as a coroutine

* Make sure responder is specced correctly

tests/components/emulated_hue/test_init.py::test_setup_works
  /Users/joakim/src/hass/home-assistant/homeassistant/components/emulated_hue/__init__.py:119: RuntimeWarning: coroutine 'AsyncMockMixin._execute_mock_call' was never awaited
    protocol.close()

* Don't assume Pymodbus is the only thing logging

* Use gather instead of wait

```
homeassistant/components/homeassistant/__init__.py:208: DeprecationWarning: The explicit passing of coroutine objects to asyncio.wait() is deprecated since Python 3.8, and scheduled for removal in Python 3.11.
```

* Increase wait time for automation tests

Assuming exit within 1 seconds is unreasonable on a potentially loaded
test machine.

* Avoid changing app state after startup
2022-11-23 20:53:28 +01:00
Joakim Plate 25c7754edb
Upgrade arcam_fmj to entity naming (#82586) 2022-11-23 20:36:17 +01:00
Álvaro Fernández Rojas f1ffb25d99
Add Airzone DHCP discovery support (#82339) 2022-11-23 12:32:23 -07:00
epenet f91e250e90
Fix TemplateError definition (#82570) 2022-11-23 20:30:32 +01:00
G Johansson 8704f1aa47
Fully type min_max (#79496) 2022-11-23 19:54:12 +01:00
Duco Sebel a969f69fd5
Add support for controlling HomeWizard Energy Socket status light level (#82378)
* Add control option for Energy Socket status LED

* Add tests for number

* Fix failing tests in switch

* Fix comments

* Adjust name

* Simplify device_info
2022-11-23 11:47:32 -05:00
Jan Bouwhuis 4f3919cb95
Move mqtt device_tracker files (#82581)
Move mqtt device_tracker files to single file
2022-11-23 16:24:56 +01:00
Joakim Plate a55fb445b0
Bump to Arcam 1.0.1 and make strictly typed (#82487)
* Make arcam_fmj strictly typed

* Add test for invalid UDN
2022-11-23 16:23:25 +01:00
Jan Bouwhuis 32d68f375b
Add Mqtt WebSockets support (#82078)
* Add Mqtt WebSockets support

* Fix tests

* Add testing websockets options

* Add tests transport settings

* Do not use templates for ws_headers

* Use json helper - small corrections
2022-11-23 15:03:31 +01:00
Joakim Sørensen 3738135e0b
Add helper to access RepairsFlowManager (#82567)
async_external_step
2022-11-23 12:00:38 +01:00
Hessel c68149c75b
Fix Wallbox price unit (#82420)
* Change Symbol to Currency code in test

* change unit to currency/kWh

* f string
2022-11-23 11:25:21 +01:00
Shay Levy 4a089b5c28
Add tests coverage for Shelly climate platform (#82529) 2022-11-22 09:04:55 -06:00
Jan Bouwhuis 9c1e8486c5
Add unique id option for `mqtt_room` sensors (#82521)
Add unique_id setting for mqtt_room
2022-11-22 15:56:31 +01:00
Jevgeni Kiski 157222126e
Add Vallox temperature control entities (#75858)
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-22 12:46:57 +01:00
epenet 9d192643ee
Move PluggableAction to trigger helpers (#81900)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Joakim Plate <elupus@ecce.se>
Co-authored-by: Shay Levy <levyshay1@gmail.com>
2022-11-22 11:35:18 +01:00
Erik Montnemery be7e76f302
Migrate ZHA when enabling multi-PAN support on HA Yellow (#82213)
* Migrate ZHA when enabling multi-PAN support on HA Yellow

* Refactor BaseZhaFlow.async_step_maybe_confirm_ezsp_restore

* Change data passed to ZHA to initiate migration

* Catch errors during ZHA migration

* Fix ZhaMigrationHelper.async_prepare_yellow_migration return value

* Improve test coverage

* Improve test coverage

* Fix spelling

* Rename some none HA yellow specifics

* Rename again

* Increase number of migration retries + refactor

* Suppress OperationNotAllowed when reloading

* Adjust tests
2022-11-22 11:17:23 +01:00
jan iversen 15176300e2
Add full test of wrap option (#82308)
fixes undefined
2022-11-22 09:57:04 +01:00
Guido Schmitz 1e64d830ac
Migrate devolo Home Control to new entity naming (#74969) 2022-11-22 09:54:05 +01:00
Aarni Koskela e4c73259f7
Configure autoflake for pre-commit (#82414) 2022-11-22 08:10:36 +01:00
J. Nick Koston 7df711f1f3
Show HomeKit Controller unhandled pairing error reason in the UI (#82505) 2022-11-21 21:24:35 -05:00
J. Nick Koston a7caa038be
Accept advertisements from alternate scanners when a scanner stops scanning (#82448) 2022-11-21 21:23:07 -05:00
puddly dfed57ed4d
Bump ZHA dependencies (#82509)
* Bump ZHA dependencies

* Use the corrected `TypeValue` keyword argument name in unit tests
2022-11-21 19:39:34 -05: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
Shay Levy 91a44b697b
Add tests coverage for Shelly number platform (#82480) 2022-11-21 10:55:06 -06:00
epenet 13c03d022b
Fix suggested values in openuv config flow (#82479)
* Fix suggested values in openuv config flow

* Don't use new helper
2022-11-21 17:12:28 +01:00
Shay Levy 32f3eb722e
Add tests coverage for Shelly entity (#82432)
* Add tests coverage for Shelly entity

* Make it generator expression
2022-11-20 23:59:25 +02:00
J. Nick Koston 3f5649092e
Break out bluetooth apis into api.py (#82416)
* Break out bluetooth apis into api.py

Like #82291 this is not a functional change.

* cleanups
2022-11-20 12:33:03 -05:00
J. Nick Koston a1d9d7116c
Prevent powerwall from switching addresses if its online (#82410)
* Prevent powerwall from switching addresses if its online

If the wifi interface was discovered we would switch the
ip address in the entry to the wifi ip even if it was
connected via ethernet

* cover

* more cover
2022-11-20 10:38:30 -05:00
Jan Bouwhuis 5c00b8b823
Wait for MQTT entry on snips integration startup (#81733)
Wait for MQTT integration to load
2022-11-20 16:17:45 +01:00
J. Nick Koston 7801cd96de
Split bluetooth models into base_scanner and wrappers (#82291) 2022-11-20 08:44:28 -06:00
Aarni Koskela 38b84620bd
Add support for Sensirion BLE sensors (#82382) 2022-11-19 14:26:54 -06:00
Shay Levy 8bd7f59b93
Add tests for Shelly sensor platform (#82385) 2022-11-19 22:01:30 +02:00
Shay Levy ea98f0e9e8
Add tests for Shelly binary_sensor platform (#82367)
* Add tests for Shelly binary_sensor platform

* Rename create to register for
2022-11-19 18:07:02 +02:00
Ernst Klamer 672acf30a4
Bump bthome-ble to 2.3.1 (#82342)
* Bump bthome-ble

* Bump bthome-ble
2022-11-19 13:48:33 +01:00
Ayk Borstelmann 3b783a85c3
AVM Fritz!Box SmartHome: Integrate Templates (#81885) 2022-11-18 17:37:56 +01:00
Hessel f7badfe441
Add wallbox Energy Price (#82039)
fixes undefined
2022-11-18 17:36:38 +01:00
G Johansson c5c23cbc95
Add unique id to Times of Day (#81196) 2022-11-18 16:53:32 +01:00
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