Compare commits

..

2188 Commits

Author SHA1 Message Date
Paulus Schoutsen
651312fb42 Add frontend dev proxy for WDS 2023-02-27 23:13:58 -05:00
Matthias Alphart
7b3cab1bfe Update xknx to 2.6.0 (#88864) 2023-02-28 00:22:22 +01:00
Paul Bottein
c096ef3fce Update frontend to 20230227.0 (#88857) 2023-02-28 00:20:40 +01:00
Emory Penney
9fed4472f1 Adding Obihai codeowner (#88856)
Obihai: Adding codeowner
2023-02-27 22:29:51 +01:00
puddly
7a5a882687 Bump ZHA dependencies (#88799)
* Bump ZHA dependencies

* Use `importlib.metadata.version` to get package versions
2023-02-27 15:07:57 -05:00
Klaas Schoute
73c7ee4326 Bump odp-amsterdam to v5.1.0 (#88847) 2023-02-27 18:45:29 +01:00
Mick Vleeshouwer
79f96fe900 Support ValveHeatingTemperatureInterface in Overkiz integration (#88804)
* Add ValveHeatingTemperatureInterface support

* Update presets

* Bugfix

* Bugfixes

* Bugfix

* Update manifest

* Apply feedback

* Sort alphabetically

* Update homeassistant/components/overkiz/climate_entities/valve_heating_temperature_interface.py

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

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-02-27 17:25:02 +01:00
Mick Vleeshouwer
7cc8712a0c Change string to enum in SomfyThermostat (#88813) 2023-02-27 17:24:02 +01:00
Emory Penney
0e8d28dab0 Add Config Flow to Obihai (#88627)
* Obihai: Config Flow Only

* Remove reboot service

* Update .coveragerc

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

* PR Feedback

* Use Issue Registry

* Add config_flow tests

* Another pass with pre-commit

* Resolve cyclical import and move sensorClasses to sensor

* Update homeassistant/components/obihai/config_flow.py

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

* Update homeassistant/components/obihai/sensor.py

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

* Update homeassistant/components/obihai/sensor.py

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

* Update tests/components/obihai/test_config_flow.py

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

* Another round of feedback

* More PR feedback

* Offline testing, already_configured is required

* Update homeassistant/components/obihai/config_flow.py

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

* Update homeassistant/components/obihai/config_flow.py

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

* Update homeassistant/components/obihai/config_flow.py

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

* Cleanup

* Update homeassistant/components/obihai/__init__.py

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

* PR feedback

* Backout today's changes: Fix mypy error

* Update tests/components/obihai/test_config_flow.py

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

* Update tests/components/obihai/test_config_flow.py

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

* Update tests/components/obihai/test_config_flow.py

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

* Update tests/components/obihai/test_config_flow.py

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

* Don't plan ahead

* PR feedback

* Update homeassistant/components/obihai/config_flow.py

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

* Cleanup strings

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-02-27 17:22:15 +01:00
StefanIacobLivisi
fd87748b99 LIVISI climate device improvement (#88844)
Code review follow-up
2023-02-27 17:20:10 +01:00
Ernst Klamer
00954dfc1f Add gas sensor to BTHome (#88770)
* Bump bthome

* Add gas sensor
2023-02-27 10:40:08 -05:00
Paul Bottein
e95944bf9f Add filter options to entity and device selectors (#87536)
* Add support for multiple device classes

* Add support for entity filter selector

* Add support for device filter selector

* Apply suggestions

* Fix wrong property name

* Update snapshot

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-02-27 10:38:18 -05:00
avee87
ac70612ec5 Improve helper integration scaffold (#88713) 2023-02-27 16:25:27 +01:00
epenet
7419a92a1b Cleanup YAML import in aladdin_connect (#88694) 2023-02-27 16:20:01 +01:00
Erik Montnemery
ff4de8cd06 Add WS API for creating a Thread network (#88830)
* Add WS API for creating a Thread network

* Add tests
2023-02-27 10:19:13 -05:00
Bouwe Westerdijk
bdb9994b7e Correct Plugwise gas_consumed_interval sensor (#87449)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-02-27 16:17:57 +01:00
Paulus Schoutsen
2dcc2f88cc Use snapshots in blueprint import tests (#88843) 2023-02-27 09:57:26 -05:00
Erik Montnemery
db1dd16ab0 Add thread user flow (#88842) 2023-02-27 15:30:04 +01:00
Erik Montnemery
2c2489284b Catch CancelledError when setting up components (#88635)
* Catch CancelledError when setting up components

* Catch CancelledError when setting up components

* Also catch SystemExit
2023-02-27 09:29:14 -05:00
epenet
198ebaff6e Add missing mock in abode config flow tests (#88828) 2023-02-27 14:03:51 +01:00
epenet
5cc9e7fedd Add missing mock in cert_expiry config flow tests (#88835) 2023-02-27 14:01:53 +01:00
epenet
76819fbb23 Add missing mock in brunt config flow tests (#88834) 2023-02-27 14:01:09 +01:00
Erik Montnemery
aeb6c4f078 Tweak OTBR tests (#88839) 2023-02-27 13:59:16 +01:00
Jan Bouwhuis
b25f6e3ffc Prepare for refactoring of MQTT related tests (#88557)
* Update mqtt_mock

* Tests manual_mqtt

* Tests mqtt_json

* Tests mqtt_room
2023-02-27 13:54:56 +01:00
mkmer
b542f6b3ac Bump aiosomecomfort to 0.0.10 (#88766) 2023-02-27 13:48:23 +01:00
landaisbenj
a8d587bc53 Add state_class to qbittorent sensors (#88829)
Update Sensor.py on qbittorent integration

Add stat class fonctionnality to sensor speed.
2023-02-27 11:52:07 +01:00
Erik Montnemery
fe8f3602ff Fix sensor unit conversion bug (#88825)
* Fix sensor unit conversion bug

* Ensure the correct unit is stored in the entity registry
2023-02-27 11:46:55 +01:00
stickpin
735000475a Upgrade caldav to 1.2.0 (#88791) 2023-02-27 11:29:46 +01:00
Michael Davie
ae3e8746f7 Bump env_canada to 0.5.29 (#88821) 2023-02-27 11:19:29 +01:00
StefanIacobLivisi
10bf910f88 Add support for LIVISI climate devices (#86691)
* Add support for LIVISI climate devices

* Remove the reauthentication logic

* Add support for LIVISI climate devices

* Remove the reauthentication support

* Code review follow-up

* Update homeassistant/components/livisi/manifest.json

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

* Update homeassistant/components/livisi/manifest.json

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

* Code review follow-up

* Code Review Follow-up

* Code Review Follow-up

* Code review follow-up

* Code review follow-up

* Code review follow-up

* Code review follow-up

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-02-27 10:38:52 +01:00
dependabot[bot]
b7846de311 Bump actions/setup-python from 4.3.0 to 4.5.0 (#88823)
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4.3.0 to 4.5.0.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v4.3.0...v4.5.0)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-27 09:30:33 +01:00
dependabot[bot]
66b33e1090 Bump actions/checkout from 3.1.0 to 3.3.0 (#88824)
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.1.0 to 3.3.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3.1.0...v3.3.0)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-27 08:41:23 +01:00
Mick Vleeshouwer
4fd7ca503f Bump pyoverkiz to 1.7.6 (#88808) 2023-02-27 08:09:45 +01:00
Mick Vleeshouwer
33466cdddd Add climate state translations to Overkiz integration (#88809)
Add climate translations
2023-02-27 07:45:53 +01:00
Paulus Schoutsen
0d25eef19c Use a background task for LIFX discovery (#88820) 2023-02-26 22:42:17 -05:00
J. Nick Koston
b5223e1196 Restore previous behavior of only waiting for new tasks at shutdown (#88740)
* Restore previous behavior of only waiting for new tasks at shutdown

* cleanup

* do a swap instead

* await canceled tasks

* await canceled tasks

* fix

* not needed since we no longer clear

* log it

* reword

* wait for airvisual

* tests
2023-02-26 22:36:18 -05:00
J. Nick Koston
1d1c553d9b Avoid starting a bluetooth poll when Home Assistant is stopping (#88819)
* Avoid starting a bluetooth poll when Home Assistant is stopping

* tests
2023-02-26 22:02:52 -05:00
J. Nick Koston
f8934175cb Prevent integrations from retrying setup once shutdown has started (#88818)
* Prevent integrations from retrying setup once shutdown has started

* coverage
2023-02-26 22:01:02 -05:00
J. Nick Koston
4898d22960 Fix flux_led discovery running at shutdown (#88817) 2023-02-26 21:14:54 -05:00
J. Nick Koston
480a495239 Fix unifiprotect discovery running at shutdown (#88802)
* Fix unifiprotect discovery running at shutdown

Move the discovery start into `async_setup` so we only
start discovery once reguardless of how many config entries
for unifiprotect they have (or how many times they reload).

Always make discovery a background task so it does not get
to block shutdown

* missing decorator
2023-02-26 21:08:20 -05:00
J. Nick Koston
d219e7c8b1 Bump yalexs-ble to 2.0.4 (#88798)
changelog: https://github.com/bdraco/yalexs-ble/compare/v2.0.3...v2.0.4
2023-02-26 21:06:27 -05:00
Diogo Gomes
c8fc2dc440 Add Camera platform to Prosegur (#76428)
* add camera to prosegur

* add tests

* address review

* better tests

* clean

* clean

* fix tests

* leftover from merge

* sorting missing

* Update homeassistant/components/prosegur/services.yaml

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

---------

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2023-02-26 20:25:55 -05:00
Paulus Schoutsen
9be3f86a4c Check circular dependencies (#88778) 2023-02-26 20:25:29 -05:00
J. Nick Koston
bea81d3f63 Fix lock services not removing entity fields (#88805) 2023-02-26 18:59:28 -05:00
starkillerOG
0f01866508 Do not block on reolink firmware check fail (#88797)
Do not block on firmware check fail
2023-02-26 21:49:24 +01:00
starkillerOG
588b51bdfa Simplify reolink update unique_id (#88794)
simplify unique_id
2023-02-26 21:45:14 +01:00
puddly
0fb41bdffe Unblock JSON CI by fixing improperly indented JSON in test fixture (#88803) 2023-02-26 14:41:16 -06:00
hahn-th
c9dfa15ed6 Add device HmIP-DLD (#83380)
* Add HmIP-DLD

* Remove commented code

* Fix errors

* Format using black

* Fix device count

* Add missing tests

* Apply changes by reviewer

* Change setup entry code

* Remove jammed state

* Add error messages

* Update homeassistant/components/homematicip_cloud/helpers.py

Co-authored-by: Aaron Bach <bachya1208@gmail.com>

* Add decorator

* Add error log output

* Update test_device.py

---------

Co-authored-by: Aaron Bach <bachya1208@gmail.com>
2023-02-26 10:49:25 -07:00
Joakim Plate
e00ff54869 Update nibe library to 2.0.0 (#88769) 2023-02-26 11:05:31 +01:00
shbatm
7c23de469e Add ISY994 services to set and delete lock codes (#88754) 2023-02-26 01:12:00 -06:00
Yuxin Wang
490a0908d4 Avoiding testing implementation details in apcupsd tests (#88772)
Fix apcupsd tests.
2023-02-26 07:57:31 +01:00
J. Nick Koston
327edabb64 Fix checking if a package is installed on py3.11 (#88768)
pkg_resources is abandoned and we need to move away
from using it https://github.com/pypa/pkg_resources

In the mean time we need to keep it working. This fixes
a new exception in py3.11 when a module is not installed
which allows proper fallback to pkg_resources.Requirement.parse
when needed

```
2023-02-25 15:46:21.101 ERROR (MainThread) [aiohttp.server] Error handling request
Traceback (most recent call last):
  File "/opt/homebrew/lib/python3.11/site-packages/aiohttp/web_protocol.py", line 433, in _handle_request
    resp = await request_handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/lib/python3.11/site-packages/aiohttp/web_app.py", line 504, in _handle
    resp = await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/lib/python3.11/site-packages/aiohttp/web_middlewares.py", line 117, in impl
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bdraco/home-assistant/homeassistant/components/http/security_filter.py", line 60, in security_filter_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bdraco/home-assistant/homeassistant/components/http/forwarded.py", line 100, in forwarded_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bdraco/home-assistant/homeassistant/components/http/request_context.py", line 28, in request_context_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bdraco/home-assistant/homeassistant/components/http/ban.py", line 80, in ban_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bdraco/home-assistant/homeassistant/components/http/auth.py", line 235, in auth_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bdraco/home-assistant/homeassistant/components/http/view.py", line 146, in handle
    result = await result
             ^^^^^^^^^^^^
  File "/Users/bdraco/home-assistant/homeassistant/components/config/config_entries.py", line 148, in post
    return await super().post(request)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bdraco/home-assistant/homeassistant/components/http/data_validator.py", line 72, in wrapper
    result = await method(view, request, data, *args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bdraco/home-assistant/homeassistant/helpers/data_entry_flow.py", line 71, in post
    result = await self._flow_mgr.async_init(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bdraco/home-assistant/homeassistant/config_entries.py", line 826, in async_init
    flow, result = await task
                   ^^^^^^^^^^
  File "/Users/bdraco/home-assistant/homeassistant/config_entries.py", line 844, in _async_init
    flow = await self.async_create_flow(handler, context=context, data=data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bdraco/home-assistant/homeassistant/config_entries.py", line 950, in async_create_flow
    await async_process_deps_reqs(self.hass, self._hass_config, integration)
  File "/Users/bdraco/home-assistant/homeassistant/setup.py", line 384, in async_process_deps_reqs
    await requirements.async_get_integration_with_requirements(
  File "/Users/bdraco/home-assistant/homeassistant/requirements.py", line 52, in async_get_integration_with_requirements
    return await manager.async_get_integration_with_requirements(domain)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bdraco/home-assistant/homeassistant/requirements.py", line 171, in async_get_integration_with_requirements
    await self._async_process_integration(integration, done)
  File "/Users/bdraco/home-assistant/homeassistant/requirements.py", line 186, in _async_process_integration
    await self.async_process_requirements(
  File "/Users/bdraco/home-assistant/homeassistant/requirements.py", line 252, in async_process_requirements
    await self._async_process_requirements(name, missing)
  File "/Users/bdraco/home-assistant/homeassistant/requirements.py", line 284, in _async_process_requirements
    installed, failures = await self.hass.async_add_executor_job(
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/python@3.11/3.11.1/Frameworks/Python.framework/Versions/3.11/lib/python3.11/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bdraco/home-assistant/homeassistant/requirements.py", line 113, in _install_requirements_if_missing
    if pkg_util.is_installed(req) or _install_with_retry(req, kwargs):
       ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bdraco/home-assistant/homeassistant/util/package.py", line 40, in is_installed
    pkg_resources.get_distribution(package)
  File "/opt/homebrew/lib/python3.11/site-packages/pkg_resources/__init__.py", line 478, in get_distribution
    dist = get_provider(dist)
           ^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/lib/python3.11/site-packages/pkg_resources/__init__.py", line 354, in get_provider
    return working_set.find(moduleOrReq) or require(str(moduleOrReq))[0]
                                            ~~~~~~~~~~~~~~~~~~~~~~~~~^^^
IndexError: list index out of range
``
2023-02-25 22:47:18 -05:00
Robert Svensson
b4a3a663cf Simplify adding unifi entities (#88571) 2023-02-25 08:18:49 -08:00
avee87
1519a78567 Fix log message in recorder on total_increasing reset (#88710) 2023-02-25 12:05:24 +01:00
J. Nick Koston
57360a7528 Prevent new discovery flows from being created when stopping (#88743) 2023-02-25 12:02:07 +01:00
J. Nick Koston
7b61d3763b Log futures that are blocking shutdown stages (#88736) 2023-02-25 12:01:30 +01:00
Joakim Sørensen
0f204d6502 Remove homeassistant_hardware after dependency from zha (#88751) 2023-02-25 12:01:01 +01:00
Arturo
0a3a8c4b3c Fix matter light color capabilities bit map (#88693)
* Adds matter light color capabilities bit map

* Fixed matter light hue and saturation test
2023-02-25 10:25:04 +01:00
Rami Mosleh
091305fc57 Use DataUpdateCoordinator for islamic_prayer_times (#73893)
* use DataUpdateCoordinator for islamic_prayer_times

Add suggested type hints

remove uneccassry options setup

* Use entity_description for sensors

* move coordinator into separate file, sensor_descptions to sensor.py

* add strict typing

* revert strict typing

* fix test coverage

* revert unrelated file changes

* fix sorting

* Update code based on review

* add missing type hint

* more missing type hints

* Update homeassistant/components/islamic_prayer_times/coordinator.py

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

* remove config_entry parameter

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-02-25 10:05:51 +01:00
Austin Mroczek
3499d60401 Bump total_connect_client to v2023.2 (#88729)
* bump total_connect_client to v2023.2

* Trigger Build
2023-02-25 09:20:17 +01:00
Artem Draft
f18c0bf626 Pass assumed_state property in universal media player (#87846)
Pass assumed_state property in universal media player
2023-02-25 07:43:58 +01:00
J. Nick Koston
f52a5f6965 Make hass.async_stop an untracked task (#88738) 2023-02-24 23:11:48 -05:00
Álvaro Fernández Rojas
1edef73c9a Update aioqsw v0.3.2 (#88695)
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2023-02-24 22:10:00 -05:00
mkmer
5a365788b5 Add missing reauth strings to Honeywell (#88733)
Add missing reauth strings
2023-02-24 21:49:49 -05:00
Bram Kragten
a60fd18386 Update frontend to 20230224.0 (#88721) 2023-02-24 21:39:59 -05:00
J. Nick Koston
0223058d25 Reduce overhead to save json data to postgresql (#88717)
* Reduce overhead to strip nulls from json

* Reduce overhead to strip nulls from json

* small cleanup
2023-02-24 21:37:36 -05:00
J. Nick Koston
7b2e743a6b Fix timeout in purpleapi test (#88715)
https://github.com/home-assistant/core/actions/runs/4264644494/jobs/7423099757
2023-02-24 14:33:25 -05:00
J. Nick Koston
69a3738bdb Fix migration failing when existing data has duplicates (#88712) 2023-02-24 11:41:44 -06:00
Jon Caruana
e69091c6db Use strict typing for LiteJet integration (#88629)
* Strict typing for LiteJet.

* Add test for new check.

* PR feedback.

* PR feedback.
2023-02-24 17:51:48 +01:00
J. Nick Koston
ee7dfdae30 Bump aioesphomeapi to 13.4.1 (#88703)
changelog: https://github.com/esphome/aioesphomeapi/releases/tag/v13.4.1
2023-02-24 11:09:12 -05:00
epenet
fdc06c2fc2 Improve type hint in webostv trigger (#88599)
Improve type hint in webostv trigger
2023-02-24 16:54:02 +01:00
StefanIacobLivisi
ba929dfc79 Bump aiolivisi to 0.0.16 (#88700)
Increment aiolivisi library version
2023-02-24 15:22:30 +01:00
epenet
753c790a25 Use async_timeout in integrations (#88697) 2023-02-24 08:13:03 -05:00
Thomas Dietrich
ee8f746808 Change statistics component ownership (#88692) 2023-02-24 08:11:40 -05:00
stickpin
84823d2fcf Upgrade caldav to 1.1.3 (#88681)
* Update caldav to 1.1.3

* update caldav to 1.1.3

* update caldav to 1.1.3

---------

Co-authored-by: Allen Porter <allen@thebends.org>
2023-02-24 06:32:59 +00:00
J. Nick Koston
0ae2fdc08b Switch samsungtv to use async_timeout to avoid task creation (#88679)
wait_for creates a task, async_timeout does the same work
and avoids the task creation
2023-02-23 23:00:08 -05:00
Erik Montnemery
d90ee85118 Allow conditions to be implemented in platforms (#88509)
* Allow conditions to be implemented in platforms

* Update tests

* Tweak typing

* Rebase fixes
2023-02-23 22:30:51 -05:00
Franck Nijhof
2f826a6f86 Modernize uptime tests (#88636)
* Modernize uptime tests

* Fix tests
2023-02-23 22:15:20 -05:00
David Poll
af49b98475 Enable jinja loop controls (break/continue) (#88625)
Enables jinja loop controls (break/continue)
2023-02-23 22:14:28 -05:00
puddly
9575cd9161 Name the Yellow-internal radio and multi-PAN addon as ZHA serial ports (#88208)
* Expose the Yellow-internal radio and multi-PAN addon as named serial ports

* Remove the serial number if it isn't available

* Use consistent names for the addon and Zigbee radio

* Add `homeassistant_hardware` and `_yellow` as `after_dependencies`

* Handle `hassio` not existing when listing serial ports

* Add unit tests
2023-02-23 20:52:53 -05:00
J. Nick Koston
f0b029c363 Bump mopeka_iot_ble to 0.4.1 (#88680)
* Bump mopeka_iot_ble to 0.4.1

closes #88232

* adjust tests
2023-02-23 20:52:31 -05:00
Michael Hansen
a71487a42b Make a copy of matching states so translated state names can be used (#88683) 2023-02-23 20:50:23 -05:00
Michael Hansen
d5f1713498 Include binary_sensor in default Assist exposed domains (#88682) 2023-02-23 19:40:10 -05:00
Marcel van der Veldt
301144993c Fix support for Bridge(d) and composed devices in Matter (#88662)
* Refactor discovery of entities to support composed and bridged devices

* Bump library version to 3.1.0

* move discovery schemas to platforms

* optimize a tiny bit

* simplify even more

* fixed bug in light platform

* fix color control logic

* fix some issues

* Update homeassistant/components/matter/discovery.py

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

* fix some tests

* fix light test

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-02-23 14:58:37 -05:00
Bram Kragten
e0601530a0 Update frontend to 20230223.0 (#88677) 2023-02-23 13:38:07 -05:00
Allen Porter
e1e0400b16 Fix local calendar issue with events created with fixed UTC offsets (#88650)
Fix issue with events created with UTC offsets
2023-02-23 13:37:15 -05:00
Raman Gupta
5739782877 Add support for firmware target in zwave_js FirmwareUploadView (#88523)
* Add support for firmware target in zwave_js FirmwareUploadView

fix

* Update tests/components/zwave_js/test_api.py

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

* Update tests/components/zwave_js/test_api.py

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

* Update tests/components/zwave_js/test_api.py

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

* Update tests/components/zwave_js/test_api.py

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

* fix types

* Switch back to using Any

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-02-23 13:24:55 -05:00
Franck Nijhof
6112793b19 Modernize Twentemilieu tests (#88640) 2023-02-23 10:26:17 -05:00
Franck Nijhof
f8314fe007 Update apprise to 1.3.0 (#88658) 2023-02-23 10:23:03 -05:00
epenet
dac3c7179f Add missing async_setup_entry mock in openuv (#88661) 2023-02-23 10:22:39 -05:00
Franck Nijhof
6511b3f355 Update pre-commit to 3.1.0 (#88657) 2023-02-23 10:59:47 +01:00
Artem Draft
6474297d1f Browse media support in universal media player (#85668)
Allow forward and override browse media in universal media player
2023-02-23 09:17:46 +01:00
J. Nick Koston
27ebee1501 Fix untrapped exceptions during Yale Access Bluetooth first setup (#88642) 2023-02-23 08:18:55 +01:00
starkillerOG
23b52025f9 Bump reolink-aio to 0.5.1 and check if update supported (#88641) 2023-02-23 08:13:03 +01:00
epenet
87dc692a20 Use json_loads_object in alexa (#88610) 2023-02-22 22:01:32 +01:00
Erik Montnemery
473db48943 Bump python-otbr-api to 1.0.4 (#88613)
* Bump python-otbr-api to 1.0.4

* Adjust tests
2023-02-22 15:31:02 -05:00
Franck Nijhof
aa3657e071 Bump version to 2023.4.0dev0 (#88630) 2023-02-22 21:29:49 +01:00
puddly
2a819f23c1 Disable the ZHA bellows UART thread when connecting to a TCP coordinator (#88202)
Disable the bellows UART thread when connecting to a TCP coordinator
2023-02-22 15:12:55 -05:00
Paulus Schoutsen
c6ff79aa0e Error checking for OTBR (#88620)
* Error checking for OTBR

* Other errors in flow too

* Tests
2023-02-22 20:58:11 +01:00
J. Nick Koston
3ebb2fc3a9 Fix handling of HomeKit sources with unsafe characters (#88280)
fixes #87049
2023-02-22 14:33:27 -05:00
Maciej Bieniek
64e39c9c81 Bump brother to 2.2.0 (#88618) 2023-02-22 20:28:58 +01:00
David F. Mulcahey
205c5ccbf3 Bump ZHA quirks to 0.0.93 (#88621) 2023-02-22 20:27:36 +01:00
Marcel van der Veldt
881e85d74f Bump python-matter-server to 3.0.0 (#88607)
* Bump python-matter-server to 3.0.0

Include all fixes for the changed api schema of the library

* fix test fixtures

* remove invalid data from fixtures

* fix some of the tests

* fix binary sensor bug

* fix sensor bug

* fix switch test

* fix tests

* adjust bugs and typos
2023-02-22 14:24:30 -05:00
Quentame
9c7adfc4b2 Bump Météo-France to 1.2.0 (#88617) 2023-02-22 20:16:22 +01:00
Jon Caruana
d41facf750 Add devices to LiteJet (#88406) 2023-02-22 12:08:11 -06:00
Bram Kragten
0c03862a70 Update frontend to 20230222.0 (#88615) 2023-02-22 18:53:46 +01:00
Raman Gupta
05a7df5629 Add controller support to zwave_js/subscribe_firmware_update_status (#87348) 2023-02-22 12:08:57 -05:00
Quentame
1cf5b7c9f7 Bump Freebox to 1.1.0 (#88609) 2023-02-22 18:02:34 +01:00
Erik Montnemery
1f34fa63ab Always include platform in config/entity_registry/list_for_display (#88601)
Always include platform in config/entity_registry/list_for_display
2023-02-22 17:59:52 +01:00
Raman Gupta
cab8a59be4 Add dsk option to zwave_js/add_node WS command (#87823)
* Add dsk option to zwave_js/add_node WS command

* Bump zwave-js-server-python to 0.46.0 (#88520)

* fix tests
2023-02-22 11:53:22 -05:00
Raman Gupta
1f9f6ab1f0 Update zwave_js FirmwareUploadView to support controller updates (#87239)
* Update zwave_js FirmwareUploadView to support controller updates

* Add coverage

* Change None check to assertion
2023-02-22 11:52:00 -05:00
Raman Gupta
5683d21931 Add new zwave_js WS command to parse DSK from QR code (#87237)
* Add new zwave_js WS command to parse DSK from QR code

* remove minimum character check since it is not needed in this case
2023-02-22 11:51:40 -05:00
Jc2k
f7bfdfefde Diagnostics report for Thread networks (#88541)
* Initial diagnostics

* Include MLP of local OTBR

* Add dep on pyroute2

* Move pyroute2 onto executor

* More comments

* Read thread data direct from zeroconf cache

* Get neighbour cache for known BR's

* isort

* mypy

* Add diagnostic test

* rel import

* Fix pylint

* Restore coverage in discovery.py
2023-02-22 11:24:21 -05:00
Jan Bouwhuis
3afc39dbbf Set default for hass_config_yaml fixture to "" (#88608)
Set default for hass_config_yaml fixture to ""
2023-02-22 17:18:11 +01:00
starkillerOG
68d4cbb210 Bump reolink-aio to 0.5.0 (#88594) 2023-02-22 16:54:13 +01:00
Michael Hansen
59f2b2ad51 Bump intents package version; hassil==1.0.5; home-assistant-intents==2023.2.22 (#88605)
* Bump hassil and intents versions

* Adjust tests to handle abbreviated responses
2023-02-22 09:36:42 -06:00
starkillerOG
f97b50f762 Add Reolink update entity (#87865) 2023-02-22 16:26:12 +01:00
Yann Le Moigne
2314d15761 Fix cover template: optimistic mode is ignored (#87925)
* Fix cover template: optimistic mode is ignored (#84334)

* Fix invalid check in is_closed (make test pass)

* Add test for non optimistic cover

* Update homeassistant/components/template/cover.py

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

* Update test_cover.py

* Fix format

* Fix tests

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-02-22 15:54:18 +01:00
Albin Médoc
f40b712664 Fix 500 error when getting calendar events (#88276)
* Fix 500 error when getting calendar event

* Add test for calendar dates in wrong order

* Update calendar tests to use f strings
2023-02-22 15:33:43 +01:00
Erik Montnemery
594b7b7e2c Add clarifying comment about unit of elevation (#88489)
* Add clarifying comment about unit of elevation

* Make it a docstring
2023-02-22 09:06:43 -05:00
TheJulianJES
5bffbafae4 Add ZHA "consumer connected" binary sensor for Xiaomi EU plugs (#88194)
* Initialize consumer_connected attribute

* Add binary sensor for consumer_connected
2023-02-22 14:47:43 +01:00
Tom Harris
0f212478cf Bump Insteon dependencies (#88514) 2023-02-22 14:41:46 +01:00
epenet
3f11fbfda8 Use load_json_object in ecobee (#88584)
* Use load_json_object in ecobee

* Adjust tests
2023-02-22 13:58:07 +01:00
epenet
db6dba87e5 Use load_json_object in html5 (#88586) 2023-02-22 13:57:32 +01:00
epenet
209278d423 Improve type hint in homeassistant trigger (#88596)
Imrpove type hint in homeassistant trigger
2023-02-22 13:56:30 +01:00
epenet
10bb0ab6b4 Use load_json_object in matrix (#88587) 2023-02-22 13:56:11 +01:00
epenet
42d90538e4 Use load_json_object in ps4 (#88590) 2023-02-22 13:55:44 +01:00
epenet
1278fe1f81 Use load_json_object in nanoleaf (#88592)
* Use load_json_object in nanoleaf

* pretty

* prettier
2023-02-22 13:54:02 +01:00
epenet
79adfbc862 Use load_json_object in tellduslive (#88591) 2023-02-22 13:53:00 +01:00
epenet
3c1e62aeef Improve type hint in zwave_js trigger (#88597)
Imrpove type hint in zwave_js trigger
2023-02-22 13:39:28 +01:00
Erik Montnemery
6d9411b8a1 Improve trigger platform typing (#88511)
* Improve trigger platform typing

* Tweak docstring

* Revert "Tweak docstring"

This reverts commit c31f790fc3.

* Tweak docstring
2023-02-22 11:59:53 +01:00
Martin Hjelmare
33b16d20b1 Clean up tradfri import flow (#88588) 2023-02-22 10:53:48 +01:00
Chris Xiao
93c681ae58 Add options flow for met (#88525)
* implement options flow for met

* add tests for met options flow

* fix met options flow tests

* fix met options flow when tracking home
2023-02-22 10:18:58 +01:00
epenet
aa20c902db Add typed helpers and improve type hints in util/json (#88534)
* Add type hints to load_json

* Adjust ios

* Adjust nest

* Add use of load_json_array

* Add tests

* Adjust test patch

* Add test_load_json_os_error
2023-02-22 10:09:28 +01:00
J. Nick Koston
906d397736 Update homekit to use async_get_integrations (#88550) 2023-02-22 09:25:47 +01:00
J. Nick Koston
8806c3dd20 Speed up loading non-english language translations (#88553)
Speed up loading non-english languages

We called async_get_integrations in each gathered task
instead of once for both languages we were loading
2023-02-21 21:18:33 -05:00
J. Nick Koston
e38836b6e1 Update async_matching_config_entries to use async_get_integrations (#88527)
* Update async_matching_config_entries to use async_get_integrations

* Update homeassistant/components/config/config_entries.py

* Update homeassistant/components/config/config_entries.py
2023-02-21 21:17:18 -05:00
J. Nick Koston
5bc0636905 Replace fire_coroutine_threadsafe with asyncio.run_coroutine_threadsafe (#88572)
fire_coroutine_threadsafe did not hold a reference to the asyncio
task which meant the task had the risk of being prematurely
garbage collected
2023-02-21 21:16:18 -05:00
J. Nick Koston
e54eb7e2c8 Switch shell_command to use async_timeout instead of asyncio.wait_for (#88573)
This avoids creating a task every time
2023-02-21 21:11:54 -05:00
J. Nick Koston
cbba0fee42 Bump sqlalchemy to 2.0.4 (#88574)
changelog: https://docs.sqlalchemy.org/en/20/changelog/changelog_20.html#change-2.0.4
2023-02-21 21:11:16 -05:00
Maciej Bieniek
a54e523731 Bump nettigo-air-monitor to version 2.1.0 (#88569)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-02-21 17:41:46 -06:00
Erik Montnemery
356c316b39 Fix stray prints seen inbetween tests (#88570) 2023-02-21 17:19:38 -06:00
Erik Montnemery
bfa315be51 Bump hatasmota to 0.6.4 (#88565) 2023-02-21 23:38:50 +01:00
J. Nick Koston
ec53c26f90 Constrain faust-cchardet to first version that builds wheels successfully (#88563) 2023-02-21 16:32:15 -06:00
J. Nick Koston
93e37243f6 Fix logbook test that failed to exclude EVENT_HOMEASSISTANT_FINAL_WRITE (#88568) 2023-02-21 16:22:44 -06:00
Franck Nijhof
3501a9788f Update entity registry snapshot serializer (#88566)
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-02-21 22:37:13 +01:00
Jan Bouwhuis
3f79155df6 Remove deprecated callback support for MQTT subscribe (#88543)
* Remove deprecated callback support and fix tests

* Add note with removal instruction
2023-02-21 22:21:00 +01:00
rhpijnacker
24234a55a5 Bump pyRFXtrx to 0.30.1 (#88538) 2023-02-21 21:43:39 +01:00
J. Nick Koston
e6c792deed Add missing kelvin attributes to light recorder platform (#88561) 2023-02-21 14:23:53 -06:00
J. Nick Koston
ff93b7a01c Restore vulcan integration (#88556) 2023-02-21 20:56:36 +01:00
J. Nick Koston
905a0f2eb6 Fix sonos blocking I/O in the event loop (#88554) 2023-02-21 13:54:08 -06:00
J. Nick Koston
7929e76ebb Only build the field_map once in recorder history (#88529) 2023-02-21 13:45:05 -06:00
Erik Montnemery
0c4c95394e Add WS command config/entity_registry/list_for_display (#87787)
* Add WS command config/entity_registry/list_for_display

* Make more keys in the display dict optional

* Move disabled_by check to ws command handler

* Hide hidden_by if not hidden

* Use send_json_auto_id in the new test

* Don't include entities which have no data needed for display

* Include platform for entries with translation_key
2023-02-21 20:40:39 +01:00
Teemu R
a93b4e7197 Use device-native kelvins for tplink color temperature (#85646) 2023-02-21 12:52:50 -06:00
Maciej Bieniek
c06420689e Bump nextdns to version 1.3.0 (#88555)
Bump nextdns
2023-02-21 19:43:40 +01:00
Michael Muré
d14000f704 Add esphome climate quiet fan mode (#74303)
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2023-02-21 11:09:41 -06:00
Marc Mueller
77ec6cb879 Update actions/cache to 3.2.6 (#88537) 2023-02-21 10:22:21 -06:00
Jc2k
ce1ef1d720 Activate thread integration if thread border routers are present (#88551) 2023-02-21 16:22:00 +00:00
Jorgen Evens
4e32b65694 Improve pjlink reliability (#80745)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-02-21 16:48:53 +01:00
Martin Hjelmare
08aae9cccd Remove tibber monthly cost state class (#88542) 2023-02-21 15:39:15 +01:00
J.P. Krauss
b5ead9e76f Bump pyairnow to 1.2.1 (#88516) 2023-02-21 11:09:18 +01:00
epenet
a51cc75f03 Add type hints to core tests (part 2) (#88492) 2023-02-21 09:27:13 +01:00
epenet
a102883eff Add type hints to integration tests (part 2) (#88493) 2023-02-21 09:25:05 +01:00
Jan Bouwhuis
ebb450c946 Default hass_config to contain an empty config (#88515)
* Default hass_config to {}

* Correct type hint
2023-02-21 08:48:44 +01:00
mletenay
60ca3b3223 Extract goodwe data update coordinator to a separate module (#88396)
* Extract coordinator to separate module

* Make field protected and replace cast
2023-02-21 08:14:12 +01:00
Raman Gupta
8722f5b42b Bump zwave-js-server-python to 0.46.0 (#88520) 2023-02-21 07:15:55 +01:00
Luke
84763c793d Support Ecobee climate Aux Heat on/off (#86100)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-02-20 17:56:03 -06:00
Robert Svensson
f0af0e2b42 Bump pydeconz to v108 (catch lingering tasks) (#88510) 2023-02-20 17:34:00 -06:00
Kevin Worrel
d54858044c Disable circuits set as 'Don't Show' in ScreenLogic by default (#88518) 2023-02-20 17:30:21 -06:00
J. Nick Koston
4f4defc055 Bump yalexs-ble to 2.0.2 (#88513) 2023-02-20 16:25:50 -06:00
J. Nick Koston
8e7081a8ce Bump pySwitchbot to 0.37.3 (#88512) 2023-02-20 16:25:13 -06:00
Robert Svensson
d8f47c0e8c Bump Axis to v47 (catch lingering tasks) (#88508)
Bump Axis to v47

Primary fix is to catch lingering tasks from create_task

https://github.com/Kane610/axis/compare/v46...v47
2023-02-20 22:58:57 +01:00
Vincent Bédard
2a1e046d46 Increase the maximum value for the transition parameter in the service hue.activate_scene (#88414)
* Increase hue.activate_scene max transition

* Adjust the maximum transition (hue.activate_scene)
2023-02-20 22:54:03 +01:00
Chris Xiao
7a884a9d61 Only do unit conversion of met elevation when set in config entry (#88491)
convert met elevation unit only when it exists in config entry

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-02-20 22:46:13 +01:00
Erik Montnemery
30ebc6604f Invert trigger._PLATFORM_ALIASES (#88503) 2023-02-20 22:14:41 +01:00
J. Nick Koston
35adb2f7e8 Remove previously deprecated Detected Object from unifiprotect (#85656) 2023-02-20 22:14:01 +01:00
Carlos Gustavo Sarmiento
fa2e7aa592 Add state_class = MEASUREMENT to Derivative sensor (#88408)
* Add `state_class = MEASUREMENT` to Derivative sensor

One line change per title.

* Update sensor.py

* Update tests for Derivative Sensor
2023-02-20 21:57:58 +01:00
Bram Kragten
bee79e351e Allow translation for data entry submit button (#88499) 2023-02-20 19:52:39 +01:00
J. Nick Koston
ecf87ae979 Improve performance of websocket_api dispatch (#88496)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2023-02-20 19:51:34 +01:00
Erik Montnemery
cc4a179ca8 Support templating for in state conditions (#88411) 2023-02-20 18:57:00 +01:00
emanuelst
0b81c836ef Update HomeKit VOC mappings (#87663)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-02-20 11:56:41 -06:00
J. Nick Koston
9c82cfecca Avoid asking recorder platforms for list_statistic_ids when already complete (#88495)
* Avoid asking recorder platforms for list_statistic_ids when already complete

If we already had all the data needed for list_statistic_ids, we would
still query recorder platforms and throw away the results

* Update homeassistant/components/recorder/statistics.py
2023-02-20 12:39:42 -05:00
Michael Hansen
5bf3a0b7af Load custom sentences for language variations (en-us, etc.) (#88498) 2023-02-20 12:28:04 -05:00
Maciej Bieniek
7119a0f811 Use suggested_display_precision instead of rounding in Shelly sensor platform (#87084) 2023-02-20 10:20:52 -06:00
Jan Bouwhuis
4f6a25b470 Allow parameterizing YAML config in tests (#87981)
* Add fixture to parameterize yaml config

* Apply to more tests

* Re-add @fixture label

* Add fixtures to patch yaml content and targets

* Typo

* Improve docstr

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

* Update references to mock_yaml_configuration

* Apply new fixtures

* Apply to check_config tests

* Follow up comments

* Rename fixtures, update docstr

* Split paths

* Patch load_yaml_config_file instead

* sort

* Fix tests

* improve docst

* Rename fixtures

* sorting

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

* Improve docstr

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

* Improve docstr

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

* Improve docstr

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

* Improve docstr

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

* Improve docstr

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

* Improve docstr

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

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-02-20 16:57:12 +01:00
J. Nick Koston
1759f58fc1 Ensure new MariaDB/MySQL tables are created using the InnoDB engine (#88468)
Ensure new tables are created using InnoDB

InnoDB is the only supported engine to use with MariaDB
or MySQL as we currently have large keys in the states
table that will not work with MyIASM. Other storage
engines including Aria will likely work fine, but they
are not officially supported.
2023-02-20 08:58:59 -05:00
Matthias Alphart
6a0ea09f29 Upload KNX Keyfile from Config/Options Flow directly (#88097)
* Manage KNX Keyfile from UI

* migrate config entry to use new keyfile

* Revert "migrate config entry to use new keyfile"

use same config style as before instead of entry version migration

* clean up uploaded file when integration is removed

* change default filename

* revert to previous step name

* remove empty directory on unload
2023-02-20 14:48:56 +01:00
J. Nick Koston
9876dd804e Exclude event_id and event_score from being recorded in unifiprotect (#88387) 2023-02-20 14:09:56 +01:00
Marc Mueller
306322704c Update CI runner to ubuntu-22.04 (#88420) 2023-02-20 13:10:33 +01:00
Franck Nijhof
36e59fc322 Cleanups in WLED tests (#88480) 2023-02-20 13:00:02 +01:00
Koen van Zuijlen
92815c9948 Bump zeversolar to 0.3.1 (#88386)
Updated zeversolar to 0.3.1
2023-02-20 12:50:43 +01:00
epenet
ec5c3d6330 Add type hints to integration tests (#88476) 2023-02-20 11:43:51 +01:00
epenet
5f25b71df7 Add type hints to core tests (#88478) 2023-02-20 11:42:56 +01:00
majuss
26755a6841 Bump lupupy to 0.3.0 (#88473)
* Bumped lupupy to support XT2 and up

* requirements script

* Bump lupupy to 0.3.0
2023-02-20 10:22:52 +01:00
Jesse Hills
6da524b378 ESPHome: Add additional field for current temperature precision (#88464) 2023-02-20 09:54:40 +01:00
Yuxin Wang
ba2e80f741 Add more tests for APC UPS Daemon integration (#85967)
* Add tests for init.

* Add more test init.

* Fix test init side_effect.

* Add test sensor.

* Fix sensor test file name.

* Fix sensor test.

* Add binary sensor test.

* Fix comments and styling.

* Remove apcupsd from omissions in coveragerc.

* Add a test case for binary sensor when STATFLAG is not available.

* Complete type annotations for test files.

* Revert "Remove apcupsd from omissions in coveragerc."

This reverts commit 66b05fcb8829619a771a650a3d70174089e15d91.
2023-02-20 09:51:01 +01:00
Alan Edwardes
b78318a617 Remove Audio Content Restrictions From vlc_telnet (#86821) 2023-02-20 09:20:46 +01:00
jan iversen
b11539fb04 Move connect method into a task (#88452)
Move connect() into a task.
2023-02-20 08:32:47 +01:00
epenet
488d78571e Add missing device class triggers (#88316)
* Add constant tests for sensor device classes

* Add missing strings

* Adjust tests

* Add missing conditions

* Add missing trigger

* Cleanup
2023-02-20 08:30:51 +01:00
Paulus Schoutsen
69e42d0e4d Fix Vulcan break CI (#88469)
* Fix Vulcan break CI

* Remove unrelated change

* Flake8 ignore
2023-02-19 23:49:42 -05:00
Paulus Schoutsen
79c6dcb3ca Disable vulcan (#88466)
Disable Vulcan integration
2023-02-19 22:06:01 -05:00
Marc Mueller
f3c6558db4 Improve conversation typing (#88440) 2023-02-19 21:27:30 -05:00
J. Nick Koston
c2b770bcb9 Load pending state attributes and event data ids at startup (#88444)
* Load pending state attributes and event data ids at startup

Since we queue all events to be processed after startup
we can have a thundering herd of queries to prime the
LRUs of event data and state attributes ids. Since we
know we are about to process a chunk of events we can
fetch all the ids in two queries

* lru

* fix hang

* Fix recorder LRU being destroyed if event session is reopened

We would clear the LRU in _close_event_session but
it would never get replaced with an LRU again so
it would leak memory if the event session is reopened

* Fix recorder LRU being destroyed if event session is reopened

We would clear the LRU in _close_event_session but
it would never get replaced with an LRU again so
it would leak memory if the event session is reopened

* cleanup
2023-02-19 21:26:38 -05:00
Franck Nijhof
c4f92f5ad4 Cleanup use of test fixtures in LaMetric tests (#88453)
Cleanup use of test fixture in LaMetric tests
2023-02-19 21:15:07 -05:00
Franck Nijhof
172d505314 Refactor Whois tests (#88456) 2023-02-19 21:14:10 -05:00
Franck Nijhof
037b3ebd26 Refactor EnergyZero tests (#88458) 2023-02-19 21:11:05 -05:00
J. Nick Koston
3533e77ec9 Fix using MariaDB slow range select workaround with Postgresql (#88459)
* Mark PostgreSQL range select as fast

Currently we were using the slow range select workaround for
PostgreSQL that was original developed for MariaDB but
its actually slower on PostgreSQ

fixes #83253

* Mark PostgreSQL range select as fast

Currently we were using the slow range select workaround for
PostgreSQL that was original developed for MariaDB but
its actually slower on PostgreSQ

fixes #83253
2023-02-19 21:08:43 -05:00
J. Nick Koston
0b311c8c7f Fix statistics_at_time query not using index (#88460)
* Fix statistics_at_time query not using index

fixes #82411

* fix refactoring error

* fix query so sqlalc does not get confused

* split it

* write as subquery

* reduce

* cleanup

* reduce

* Revert "reduce"

This reverts commit 43b4b55778.
2023-02-19 21:07:31 -05:00
J. Nick Koston
eac9ad8437 Fix most recent states query not using the index for group by (#88461)
* Fix most recent states query not using the index for group by

fixes #87851

* Apply suggestions from code review

* reduce
2023-02-19 21:05:45 -05:00
J. Nick Koston
9a6bcc2b63 Fix incorrect created and created_ts columns in statistics database schema (#88462)
* Remove default from created statistics schema

We were still inserting created times because even though
None was passed when creating the object explictly, the
default would still be used

* adjust column

* preserve original pre sql alc 2.0 behavior
2023-02-19 21:00:49 -05:00
Franck Nijhof
68e1aaa0be Refactor Elgato tests (#88376) 2023-02-19 20:14:18 +01:00
J. Nick Koston
a9731a7b26 Make the recorder LRU adjustment threadsafe (#88443) 2023-02-19 19:30:08 +01:00
Ruslan Sayfutdinov
0d832c0a5a Cleanup mypy ignore list feature (#88451) 2023-02-19 19:29:06 +01:00
J. Nick Koston
08cdb0e3ee Fix recorder LRU being destroyed if event session is reopened (#88448) 2023-02-19 19:20:01 +01:00
starkillerOG
1cdd914411 Bump motionblinds to 0.6.17 (#88450) 2023-02-19 19:15:28 +01:00
Franck Nijhof
1d43e6bf86 Merge branch 'master' into dev 2023-02-19 18:26:30 +01:00
Franck Nijhof
564f714386 Update pipdeptree to 2.5.0 (#88390) 2023-02-19 18:09:26 +01:00
Franck Nijhof
17e87556de Add uchardet-dev to Wheels build deps (#88449) 2023-02-19 17:39:17 +01:00
J. Nick Koston
9df00bd285 Adjust recorder LRU cache to align with the number of entities (#88350)
* Adjust size of recorder LRU based on number of entities

If there are a large number of entities the cache would
get thrashed as there were more state attributes being
recorded than the size of the cache. This meant we had
to go back to the database to do lookups frequently when
an instance has more than 2048 entities that change
frequently

* add a test

* do not actually record 4096 states

* patch target

* patch target
2023-02-19 00:02:36 -05:00
spycle
e799f24853 Update keymitt dependency (#88430) 2023-02-18 22:43:28 -06:00
Chris Talkington
04fabf4838 Update rokuecp to 0.17.1 (#88425) 2023-02-18 22:40:02 -06:00
Teemu R
1d928f05fa Update python-kasa to 0.5.1 (#88416) 2023-02-18 22:39:08 -06:00
Franck Nijhof
6cbad61572 Enable Ruff RUF006; Hard reference to asyncio.create_task return value (#88216)
* Enable Ruff RUF006

* Fix test

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-02-18 23:05:44 -05:00
J. Nick Koston
d4376b2041 Use a single session to compile statistics (#88405)
We had two session_scope contexts in compile_statistics which causes
a commit to happen twice during the compile.
2023-02-18 20:23:47 -05:00
J. Nick Koston
3ca9f3c0d5 Only build the recorder SupportedDialect enum once (#88402)
Every call to dialect_name was creating a new enum object
in the recorder
2023-02-18 20:21:14 -05:00
jjlawren
496ab49d80 Bump SoCo to 0.29.1 (#88410)
Bump soco to 0.29.1
2023-02-18 15:02:03 -05:00
Erik Montnemery
06213ee595 Drop sqlachemy_utils workaround (#88393) 2023-02-18 09:18:23 -06:00
Erik Montnemery
1eb20affa1 Update use of sqlalchemy with_variant (#88395) 2023-02-18 09:18:01 -06:00
Tom Harris
d84fde8c54 Insteon scenes (#87803)
* Add Insteon scene support

* Bump to pyinsteon 1.3.1

* Add tests

* Bump Insteon Panel to 0.3.1

* Change docstring
2023-02-18 15:52:49 +01:00
epenet
1128041899 Add type hints to integration tests (zwave_js) (#88311) 2023-02-18 14:59:26 +01:00
Franck Nijhof
31061b9f35 Fix snapshots testing repr 0 value IntFlags (#88379) 2023-02-18 07:38:19 -06:00
Franck Nijhof
1caacab8dd Enable Ruff B014 (#88377) 2023-02-18 07:38:04 -06:00
Erik Montnemery
83e5bf7ae8 Use entity_sources to determine integration in recorder platforms (#88382) 2023-02-18 07:21:41 -06:00
mletenay
728f0d5b3b Fix goodwe text(enum) sensors device class (#87914) 2023-02-18 13:39:38 +01:00
Guido Schmitz
1279868bf5 Bump devolo_plc_api to 1.2.0 (#88348) 2023-02-18 13:34:26 +01:00
Erik Montnemery
f0b7343993 Change state class of weight sensors from total to measurement (#88314) 2023-02-18 13:26:53 +01:00
stickpin
4f17f2ef5f Upgrade caldav to 1.1.1 (#88378) 2023-02-18 13:16:46 +01:00
Jon Caruana
e5e551f4ea Code quality/test improvement to available attributes of LiteJet (#86683)
* PR feedback, and add related tests.

* PR feedback.

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-02-18 12:43:32 +01:00
jjlawren
beaa36c36e Guard against duplicate Sonos discoveries (#88305) 2023-02-18 10:41:25 +01:00
J. Nick Koston
714328d2ca Handle key change in Yale Access Bluetooth after first connect (#88282) 2023-02-18 10:40:51 +01:00
Mike Heath
4265def234 Allow user FKB config flow to take precendence (#88281) 2023-02-18 10:40:21 +01:00
J. Nick Koston
0a7cf2b88c Speed up formatting history data (#88230) 2023-02-18 10:34:44 +01:00
Joakim Plate
f7609e4f92 Make use of new background task in arcam_fmj (#88351) 2023-02-18 10:28:42 +01:00
J. Nick Koston
289bab6f87 Make recorder platform attribute exclude integration aware (#88357) 2023-02-18 10:08:59 +01:00
Marc Mueller
97d9951d8a Update mypy to 1.0.1 (#88361) 2023-02-18 10:02:41 +01:00
J. Nick Koston
5c09d81f86 Ensure doorbird always prefers internal url (#88369)
* Ensure doorbird always uses internal url

The doorbird should always use the internal url to
ensure the webhooks work. The doorbird does not
verify ssl so there is no concern about ssl matching
according to the LAN-2-LAN API v0.32 Dec 21 2022

* adjust

* Update homeassistant/components/doorbird/__init__.py
2023-02-18 09:33:40 +01:00
Marc Mueller
39067f61e4 Sync pytest job needs [ci] (#88363) 2023-02-17 23:25:35 -06:00
Paulus Schoutsen
db3cd8e276 Fix danglin task for util.timeout (#88366)
Fix danglin task for util timeout
2023-02-18 00:11:35 -05:00
Franck Nijhof
1e05697080 Enable Ruff B007 (#88356)
* Enable Ruff B007

* Adjust existing cases
2023-02-17 21:08:18 -05:00
modrisb
9fd35d53e7 Change core return code processing (#88326)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-02-17 20:56:02 -05:00
Franck Nijhof
2ea5811e3a Hold strong references to tasks in WLED (#88257) 2023-02-17 23:21:28 +01:00
Joakim Sørensen
fa811da872 Use ubuntu-20.04 for Ruff lint job (#88355) 2023-02-17 23:07:02 +01:00
Joakim Sørensen
04d51aa8de Do not try to run DB jobs if there are no target groups (#88352) 2023-02-17 22:49:22 +01:00
Franck Nijhof
6891eb7ed1 Add support for snapshot testing (#88323)
* Add support for snapshot testing

* Use snapshots in Elgato diagnostics test

* Use snapshots in Elgato sensor test

* Fix flake8 warning

* Slightly improve serialized output

* Remove snapshot naming in elgato sensor tests

* Improve snapshoting of via_device_id in device registry item

* Update pylint typehints plugin for snapshot fixture typing

* Use snapshots in Elgato configflow test

* Use snapshots in Bluetooth repair issue tests
2023-02-17 16:35:55 -05:00
Michael Hansen
325674ec44 Only expose default cloud domains in Assist default agent (#88274)
* Only expose default cloud domains in default agent

* Copy exposed domain list to conversation

* Implement requested changes

* Add test for exposed devices/areas
2023-02-17 16:19:22 -05:00
J. Nick Koston
331102e592 Dismiss discoveries when the underlying device disappears (#88340)
* Implement discovery removals

Bluetooth, HomeKit, SSDP, and Zeroconf now implement
dismissing discoveries when the underlying discovered
device disappears

* cover

* add zeroconf test

* cover

* cover bluetooth

* fix rediscover
2023-02-17 15:51:19 -05:00
Paulus Schoutsen
710b250c1d Fix dangling task for bluetooth_le_tracker (#88284) 2023-02-17 20:57:45 +01:00
Paulus Schoutsen
91ecdc83b2 Fix dangling task for livisi (#88294) 2023-02-17 20:57:00 +01:00
Paulus Schoutsen
d866b0ddcb Fix dangling task for squeezebox (#88299) 2023-02-17 20:56:27 +01:00
Paulus Schoutsen
99c904ea5d Fix dangling task for plum_lightpad (#88295) 2023-02-17 20:55:13 +01:00
Paulus Schoutsen
0a363fa004 Fix dangling task for sense (#88296) 2023-02-17 20:54:34 +01:00
Paulus Schoutsen
4b3b2fb693 Fix dangling task for smart_meter_texas (#88297) 2023-02-17 20:53:49 +01:00
Paulus Schoutsen
28a09199ac Fix dangling task for insteon (#88293) 2023-02-17 20:53:06 +01:00
Paulus Schoutsen
517e88600c Fix dangling task for mysensors (#88290)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-02-17 20:52:30 +01:00
Paulus Schoutsen
5a31bb2ff3 Fix dangling task for crownstone (#88292) 2023-02-17 20:51:22 +01:00
Franck Nijhof
26f0de0d80 Update pyfido to 2.1.2 (#88343) 2023-02-17 19:51:36 +01:00
Paulus Schoutsen
3a32d2bdcb Add background tasks to config entries (#88335)
* Use a set for config entries task tracking

* Allow adding background tasks to config entries

* Add tests for config entry add tasks

* Update docstrings on core create task

* Migrate roon and august

* Use in more places

* Guard for None
2023-02-17 13:50:05 -05:00
Erik Montnemery
2b8abf84bd Fail tests which cause an SQLAlchemy warning (#88327)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-02-17 19:17:06 +01:00
Erik Montnemery
45829b016c Remove conditional test of self.hass from tplink_omada switch (#88325) 2023-02-17 19:16:37 +01:00
J. Nick Koston
30384501af Cleanup august binary sensors (#88332) 2023-02-17 19:15:56 +01:00
epenet
a16e298599 Adjust json imports in tests (#88248) 2023-02-17 19:13:48 +01:00
jjlawren
b51836a57b Detect when battery-powered Sonos devices are turned off (#87606) 2023-02-17 19:13:22 +01:00
epenet
7427d4f323 Add type hints to integration tests (zha) (#88309) 2023-02-17 18:54:26 +01:00
epenet
185cd61cbd Add type hints to integration tests (recorder) (#88313) 2023-02-17 18:50:09 +01:00
epenet
0a80ac19bc Add type hints to integration tests (part 18) (#88174) 2023-02-17 18:45:48 +01:00
Paulus Schoutsen
f465561536 Fix dangling task for cast (#88285) 2023-02-17 18:43:40 +01:00
dcmeglio
da046f93f4 Add additional characteristics for Airversa Homekit Air Purifiers (#85660) 2023-02-17 15:55:31 +00:00
epenet
5b80b1f55a Add type hints to integration tests (part 25) (#88308) 2023-02-17 16:52:28 +01:00
Ernst Klamer
aeb09678a8 Bump xiaomi-ble to 0.16.4 (#88333) 2023-02-17 15:45:18 +00:00
Paulus Schoutsen
a223b30924 Fix dangling task for roon (#88291) 2023-02-17 16:42:45 +01:00
epenet
9a5f88f55f Add type hints to integration tests (part 23) (#88235) 2023-02-17 16:40:46 +01:00
epenet
aa50096a31 Add type hints to integration tests (part 24) (#88307) 2023-02-17 16:34:53 +01:00
Paulus Schoutsen
f3e4783a5e Fix dangling task for wiz (#88301) 2023-02-17 08:29:46 -06:00
Erik Montnemery
9989a4787b Fix recorder platform tests (#88330) 2023-02-17 08:22:15 -06:00
epenet
dfdd279add Fix incorrect condition for atmospheric_pressure (#88320) 2023-02-17 14:00:32 +01:00
epenet
5dda1de5bd Adjust async_setup_entry in config_flow scaffold (#88319) 2023-02-17 13:43:56 +01:00
Erik Montnemery
273d289e03 Fix sleepiq test to not contact the API (#88315)
* Fix sleepiq test to not contact the API

* Add an autosue fixture for config entry setup
2023-02-17 12:32:27 +01:00
J. Nick Koston
5ff87e6110 Bump ha-ffmpeg to 3.1.0 (#88304)
changelog: https://github.com/home-assistant-libs/ha-ffmpeg/compare/3.0.2...3.1.0
2023-02-17 09:19:12 +01:00
Paulus Schoutsen
a356f35638 Fix dangling task for google (#88287) 2023-02-16 20:31:06 -08:00
Paulus Schoutsen
0904848579 Fix dangling task for homeassistant integration (#88288) 2023-02-16 22:23:44 -06:00
Paulus Schoutsen
509d968814 Fix dangling task for elkm1 (#88286)
* Fix dangling task for elkm1

* Update homeassistant/components/elkm1/__init__.py

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

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2023-02-16 23:22:34 -05:00
J. Nick Koston
3212a43e6b Fix handling of dns resolution failure during sense setup (#88279)
```
2023-02-16 20:44:54.516 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry alexander for sense
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/aiohttp/connector.py", line 1152, in _create_direct_connection
    hosts = await asyncio.shield(host_resolved)
  File "/usr/local/lib/python3.10/site-packages/aiohttp/connector.py", line 1152, in _create_direct_connection
    hosts = await asyncio.shield(host_resolved)
  File "/usr/local/lib/python3.10/site-packages/aiohttp/connector.py", line 861, in _resolve_host
    await event.wait()
  File "/usr/local/lib/python3.10/site-packages/aiohttp/locks.py", line 34, in wait
    raise self._exc
  File "/usr/local/lib/python3.10/site-packages/aiohttp/connector.py", line 874, in _resolve_host
    addrs = await self._resolver.resolve(host, port, family=self._family)
  File "/usr/local/lib/python3.10/site-packages/aiohttp/resolver.py", line 33, in resolve
    infos = await self._loop.getaddrinfo(
  File "/usr/local/lib/python3.10/asyncio/base_events.py", line 860, in getaddrinfo
    return await self.run_in_executor(
  File "/usr/local/lib/python3.10/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/local/lib/python3.10/socket.py", line 955, in getaddrinfo
    for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno -3] Try again

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 381, in async_setup
    result = await component.async_setup_entry(hass, self)
  File "/usr/src/homeassistant/homeassistant/components/sense/__init__.py", line 83, in async_setup_entry
    await gateway.get_monitor_data()
  File "/usr/local/lib/python3.10/site-packages/sense_energy/asyncsenseable.py", line 214, in get_monitor_data
    json = await self._api_call("app/monitors/%s/overview" % self.sense_monitor_id)
  File "/usr/local/lib/python3.10/site-packages/sense_energy/asyncsenseable.py", line 174, in _api_call
    async with self._client_session.get(
  File "/usr/local/lib/python3.10/site-packages/aiohttp/client.py", line 1141, in __aenter__
    self._resp = await self._coro
  File "/usr/local/lib/python3.10/site-packages/aiohttp/client.py", line 536, in _request
    conn = await self._connector.connect(
  File "/usr/local/lib/python3.10/site-packages/aiohttp/connector.py", line 540, in connect
    proto = await self._create_connection(req, traces, timeout)
  File "/usr/local/lib/python3.10/site-packages/aiohttp/connector.py", line 901, in _create_connection
    _, proto = await self._create_direct_connection(req, traces, timeout)
  File "/usr/local/lib/python3.10/site-packages/aiohttp/connector.py", line 1166, in _create_direct_connection
    raise ClientConnectorError(req.connection_key, exc) from exc
aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host api.sense.com:443 ssl:default [Try again]  ```
2023-02-16 23:18:16 -05:00
J. Nick Koston
b9f29c27ab Cleanup stale recorder code (#88275)
- Removes dead commit function
- Small cleanup to debug handling in execute
2023-02-16 23:12:11 -05:00
Paulus Schoutsen
3c68907351 Fix dangling task for homekit (#88289) 2023-02-16 23:07:54 -05:00
Paulus Schoutsen
baee6b1f5e Fix dangling task for sonos (#88298) 2023-02-16 23:07:35 -05:00
Paulus Schoutsen
093f7d6bf1 Fix dangling task for zha (#88302) 2023-02-16 23:07:15 -05:00
Paulus Schoutsen
a5170340a3 Fix dangling task for unifiprotect (#88300) 2023-02-16 22:05:06 -06:00
Jesse Hills
a26d41f260 Implement Switchbot Blind Tilt (#86591)
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: BelowAverageDeveloper <90269575+BelowAverageDev@users.noreply.github.com>
2023-02-16 21:06:02 -06:00
Paulus Schoutsen
6cab27f378 Add support for background tasks in HA (#88265)
* Add support for background tasks

* make name mandatory for background tasks

* Update docstring

* async_create_background_task

* Grammar
2023-02-16 20:39:29 -05:00
J. Nick Koston
2ce631733a Switch ld2410_ble to use no_devices_found (#88270) 2023-02-16 22:52:57 +01:00
J. Nick Koston
a059cd7f80 Switch keymitt_ble to use no_devices_found (#88271)
* Switch keymitt_ble to use no_devices_found

* Switch keymitt_ble to use no_devices_found
2023-02-16 22:52:29 +01:00
J. Nick Koston
06b1bf9c92 Switch led_ble to use no_devices_found (#88269) 2023-02-16 22:51:57 +01:00
J. Nick Koston
ffa7cac38e Switch switchbot to use no_devices_found (#88268) 2023-02-16 22:51:27 +01:00
J. Nick Koston
b2a1df19a0 Switch yalexs_ble to use no_devices_found (#88267) 2023-02-16 22:50:49 +01:00
epenet
3873484849 Refactor json tests to align with new code (#88247)
* Refactor json tests to align with new code

* Use tmp_path
2023-02-16 21:34:19 +01:00
Michael Hansen
dc30210237 Use blocking in intent service calls and verify results (#88035)
* Use blocking in service calls and verify result

* Block for 2 seconds and update states after

* Small timeout in service call to allow exceptions

* Move sun test
2023-02-16 14:01:41 -05:00
J. Nick Koston
5fe8829cf6 Speed up compiling hourly statistics (#88225) 2023-02-16 12:55:25 -06:00
mkmer
d46bbcf5a3 Bump aiosomecomfort to 0.0.8 (#88195)
* Update is_aux_heat in runtime

* Fix merge mistake

* Merge fixes 2.0

* Bump aiosomecomfort to 0.0.8
2023-02-16 13:54:26 -05:00
epenet
8c821c8969 Add JSON support to load_fixture (#88076)
* Add JSON support to load_fixture

* More tests

* Remove lru_cache on load_json
2023-02-16 19:40:47 +01:00
Paulus Schoutsen
bc2b35765e Stop processing when we hit bad encryption in mobile app (#88150)
* Stop processing when we hit bad encryption

* Accept webhook payload that is a list

* Rename functions because we import them

* Revert a debug thing

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-02-16 13:05:16 -05:00
Jan Bouwhuis
57738fbb8c Replace deprecated SSLContext constant PROTOCOL_TLS in mqtt (#88214)
Replace deprecated SSLContext constants
2023-02-16 13:01:28 -05:00
J. Nick Koston
c79157208b Add python 3.11 to the CI (#88038)
* Remove profiler.memory service

guppy3 is not python3.11 compat
https://github.com/zhuyifei1999/guppy3/issues/41

This service will return if and when guppy3 becomes
python3.11 compat

* squash

* temp remove

* temp dump tests

* temp dump tests

* drop a few more to get a run

* drop a few more to get a run

* Account for changed python3.11 enum.IntFlag behavior in zha

There may be additional changes needed, but I could only
see what needed to be updated based on the tests

* merge

* restore

* restore

* legacy value

* tweak a bit for the python 3.11 timings

* block cchardet

* conditional

* adjust est

* test

* not yet

* tweak

* give a little leeway for timing

* Fix otbr tests

* Increase database test timeout

It looks like we need a little more time to run
with the addiitonal tests in #87019

* Increase database test timeout

It looks like we need a little more time to run
with the addiitonal tests in #87019

* Fix aprs tests with python 3.11

* merge fix

* hints

* Update homeassistant/package_constraints.txt

* Update script/gen_requirements_all.py

* Constrain uamqp for Python 3.10 only

* Bump vulcan-api to 2.3.0

see https://github.com/kapi2289/vulcan-api/pull/126
see https://github.com/home-assistant/core/pull/88038
see https://github.com/home-assistant/docker/pull/260

* add ban

* Bump python-matter-server to 2.1.1

* revert

* Update tests/asyncio_legacy.py

---------

Co-authored-by: Erik <erik@montnemery.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: Marcel van der Veldt <m.vanderveldt@outlook.com>
2023-02-16 12:38:32 -05:00
J. Nick Koston
6c542bd314 Speed up formatting statistics data (#88228)
* Speed up fetching statistics by using attrgetter

Uses the faster native code vs a lambda
4aeae28671/Modules/_operator.c (L1406)

* avoid dict lookups

* avoid dict lookups

* naming

* split

* Revert "split"

This reverts commit 0ead89603d.

* Revert "Revert "split""

This reverts commit 20014af168.

* tweak

* tweak

* tweak

* tweak

* Revert "tweak"

This reverts commit d5e4aac7c5.

* Revert "tweak"

This reverts commit 0cebae33f8.

* Revert "tweak"

This reverts commit 0184e47e24.

* comment

* comment

* comment

* reduce local vars

* less
2023-02-16 12:34:20 -05:00
Kevin Stillhammer
792538c124 Fix default value for departure time in google_travel_time (#88255)
Fix default value for departure time
2023-02-16 12:28:39 -05:00
J. Nick Koston
d2277fa6db Fix restore of MQTT subscriptions from reload (#88220) 2023-02-16 11:14:26 -06:00
Marcel van der Veldt
d03655cb6f Bump python-matter-server to 2.1.1 (#88258) 2023-02-16 18:53:03 +02:00
J. Nick Koston
cd57cdf8c4 Bump vulcan-api to 2.3.0 for python 3.11 (#88254)
Bump vulcan-api to 2.3.0

see https://github.com/kapi2289/vulcan-api/pull/126
see https://github.com/home-assistant/core/pull/88038
see https://github.com/home-assistant/docker/pull/260
2023-02-16 18:48:43 +02:00
epenet
88cfbf6a34 Add type hints to integration tests (part 22) (#88234) 2023-02-16 14:08:03 +01:00
Marc Mueller
567c7f4f99 Update pydantic to 1.10.5 (#88250) 2023-02-16 14:01:59 +01:00
Erik Montnemery
601ac3d9a9 Drop unnecessary copy from entitydescription.name to _attr_name (#88251) 2023-02-16 13:54:32 +01:00
epenet
ba23816a0c Inverse json import logic (#88099)
* Fix helpers and util

* Adjust components

* Move back errors

* Add report

* mypy

* mypy

* Assert deprecation messages

* Move test_json_loads_object

* Adjust tests

* Fix rebase

* Adjust pylint plugin

* Fix plugin

* Adjust references

* Adjust backup tests
2023-02-16 11:37:57 +01:00
Franck Nijhof
580869a9a6 Update typing-extensions to 4.5.0 (#88236) 2023-02-16 11:21:54 +01:00
epenet
dab8557951 Add type hints to integration tests (part 21) (#88233) 2023-02-16 11:15:26 +01:00
Brandon Rothweiler
0748e12341 Fix capitalization of OwnTone integration (#88219) 2023-02-16 10:16:32 +01:00
J. Nick Koston
c83ea297b5 Refactor zeroconf task handling (#88204)
* Refactor zeroconf task handling

- Avoid the need to create tasks for most callbacks
- Fixes the untracked task that could get unexpectedly GCed

* be consistant

* be consistant

* fix zeroconf tests

* runtime

* Revert "runtime"

This reverts commit 19e6b61837.

* precalc

* refactor

* tweak

* update tests
2023-02-15 21:44:11 -05:00
J. Nick Koston
c0e22be7a8 Fix allowing identical flows to be created before startup (#88213)
The check for identical flows only worked after
the start event. We now check against pending
flows as well

If startup took a while we could end up
with quite the thundering herd
2023-02-15 21:36:00 -05:00
rappenze
57cea6d637 Update pyfibaro to version 0.6.8 (#88203)
Update pyfibaro library to version 0.6.8
2023-02-15 23:28:44 +01:00
Kevin Stillhammer
a190bcdc3f Bump voluptuous-serialize to 2.6.0 (#88211) 2023-02-15 23:14:45 +01:00
Franck Nijhof
d3ed8de232 Update Ruff to v0.0.247 (#88210)
* Update Ruff to v0.0.247

* Fix new found violations
2023-02-15 16:46:03 -05:00
Paulus Schoutsen
a7e42798da 2023.2.5 (#88190) 2023-02-15 15:30:55 -05:00
Franck Nijhof
a1efd59760 Constrain uamqp for Python 3.10 only (#88198) 2023-02-15 14:24:31 -06:00
Ville Skyttä
b5a686730c Let black infer target-version (#88199) 2023-02-15 21:12:54 +01:00
Marcel van der Veldt
684845fd8c Bump python-matter-server to 2.1.0 (#88192)
* Bump python-matter-server to 2.1.0

* Fix tests

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-02-15 13:24:01 -05:00
Marcel van der Veldt
dfe0ededa0 Bump python-matter-server to 2.1.0 (#88192)
* Bump python-matter-server to 2.1.0

* Fix tests

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-02-15 13:23:03 -05:00
J. Nick Koston
c8b827b46b Fix aprs tests with python 3.11 (#88189)
* Fix aprs tests with python 3.11

* hints
2023-02-15 13:03:48 -05:00
Erik Montnemery
80e2f96097 Add WS command thread/delete_dataset (#88077)
* Add WS command thread/delete_dataset

* Return not_allowed when trying to delete the preferred dataset
2023-02-15 12:55:10 -05:00
J. Nick Koston
4221433ca6 Account for changed python3.11 enum.IntFlag 0 behavior in zha (#88144) 2023-02-15 11:40:48 -06:00
Paulus Schoutsen
3e3936e783 backport try_parse_enum 2023-02-15 12:17:03 -05:00
epenet
80ee196fd8 Add type hints to integration tests (part 19) (#88178) 2023-02-15 18:07:40 +01:00
Jc2k
f5a05c1bd2 Support HomeKit Controller Thread Provisioning (#87809) 2023-02-15 16:41:07 +00:00
J. Nick Koston
402170d49e Increase database test timeout (#88187) 2023-02-15 10:30:01 -06:00
Paulus Schoutsen
0d140426cc Bumped version to 2023.2.5 2023-02-15 11:14:27 -05:00
starkillerOG
bbbc864a8c Bump reolink-aio to 0.4.2 (#88175) 2023-02-15 11:13:40 -05:00
Michał Huryn
1ca6c26312 Blebox fix thermobox reporting wrong state (#88169)
fix: fixed climate hvac_mode for when device is off
2023-02-15 11:12:45 -05:00
Mark Broadbent
2d293c19bf Update orjson to resolve segmentation fault during JSON serialisation (#88119)
Home Assistant uses orjson 3.8.5 that contains an issue[1] on musl libc
platforms that causes a segmentation fault.  This particularly affect
Home Assistant container installations reported in #87283 and #87522.

This updates the version to 3.8.6 that resolves the segmentation
fault during json serialisation.

[1] https://github.com/ijl/orjson/issues/335
2023-02-15 11:12:18 -05:00
Thomas Dietrich
634aff0006 Statistics component fix device_class for incremental source sensors (#88096)
* Return None device_class for incremental source sensors

* Ignore linting error

* Fix ignore linting error

* Fix ignore linting error

* Fix ignore linting error

* Catch potential parsing error with enum
2023-02-15 11:11:25 -05:00
Gertjan
55fed18e3e Fixed float number validation in sensor component (#88074) 2023-02-15 11:11:24 -05:00
Ryan Fleming
be5777ba59 Bump pyoctoprintapi to 0.1.11 (#88052)
Bump pyoctoprint to get camera url fixes
2023-02-15 11:11:12 -05:00
Paulus Schoutsen
8024a17025 Handle device reg fields not being valid data in openai conversion (#88047)
Handle device reg fields not being valid data
2023-02-15 11:10:15 -05:00
mkmer
97dab32a4c Bump AIOAladdinConnect 0.1.56 (#88041) 2023-02-15 11:09:15 -05:00
mkmer
e3273a75da Honeywell disable detergent level by default (#88040)
* Disable fill by default

* Fix tests

* use TANK_FILL.get

* Remove None from attribute get
add reload to sensor test

* Typing
fix iteration error
2023-02-15 11:08:37 -05:00
Aaron Bach
7337cc8e89 Bump pyopenuv to 2023.02.0 (#88039) 2023-02-15 11:08:25 -05:00
Daniel Hjelseth Høyer
7a3fdc08a4 Update tibber lib 0.26.13 (#88018) 2023-02-15 11:07:15 -05:00
Jan Bouwhuis
03e9dff327 Allow resetting MQTT climate attributes and ignore empty values (#87936)
Allow reseting MQTT climate attributes
2023-02-15 16:31:49 +01:00
J. Nick Koston
61539686a4 Disable profiler.memory service with python 3.11 (#88136) 2023-02-15 16:20:47 +01:00
Erik Montnemery
6254200b37 Fix otbr tests (#88184) 2023-02-15 16:19:46 +01:00
mkmer
2af4d2152b Honeywell disable detergent level by default (#88040)
* Disable fill by default

* Fix tests

* use TANK_FILL.get

* Remove None from attribute get
add reload to sensor test

* Typing
fix iteration error
2023-02-15 16:01:20 +01:00
epenet
a704e7b40d Add postgresql 12.14 to database tests (#88071)
* Add postgre 12.14 to database tests

* Rename jobs
2023-02-15 15:56:15 +01:00
Gertjan
66ba0cb1d3 Fixed float number validation in sensor component (#88074) 2023-02-15 15:53:44 +01:00
Ville Skyttä
93f23e7523 Do not round Huawei LTE LTE frequency values (#88127)
Suggest display precision 0 instead.

While at it, fix source info in frequency formatter docstring.
2023-02-15 15:28:35 +01:00
Michał Huryn
cf11a30689 Blebox fix thermobox reporting wrong state (#88169)
fix: fixed climate hvac_mode for when device is off
2023-02-15 15:27:46 +01:00
Franck Nijhof
c3a70a7ec5 Remove uamqp version constrain (#88176) 2023-02-15 15:24:58 +01:00
epenet
3a9adacdde Add type hints to integration tests (part 20) (#88179) 2023-02-15 15:23:34 +01:00
Franck Nijhof
793e51ac76 Enable Ruff SIM212 (#88181) 2023-02-15 15:22:34 +01:00
starkillerOG
951269e88c Bump reolink-aio to 0.4.2 (#88175) 2023-02-15 15:16:47 +01:00
Erik Montnemery
8613d60c5e Add WS command for discovering Thread routers (#88021)
* Add WS command for discovering Thread routers

* Fix type annotations

* Mock zeroconf in tests

* Key discovery by external MAC address

* Add tests

* Include hostname in data, allow missing fields

* Fix typo

* Include server instead of hostname
2023-02-15 15:15:29 +01:00
epenet
c7fc90f8a0 Adjust imports in rflink test_init (#88177) 2023-02-15 15:11:22 +01:00
epenet
ccf44d58cc Expose DEVICE_CLASS_STATE_CLASSES sensor constant (#88172) 2023-02-15 14:48:27 +01:00
Franck Nijhof
f67ebcade1 Enable Ruff SIM201 (#88171) 2023-02-15 14:43:02 +01:00
epenet
443d446cbf Remove invalid pragma: no cover (#88173) 2023-02-15 14:39:12 +01:00
Franck Nijhof
ed79265843 Enable Ruff PT006 (#88165)
* Enable Ruff PT006

* Adjust existing cases

* Fix tests

* Remove unneeded parentheses
2023-02-15 14:09:50 +01:00
J. Nick Koston
6f38bc274a Fix netatmo with python 3.11 (#88093) 2023-02-15 14:02:33 +01:00
epenet
b21bf8763e Fix mobile app regression accepting sensor states (#88164)
* Fix mobile app regression accepting sensor states

* Adjust tests
2023-02-15 07:17:19 -05:00
Franck Nijhof
9030ca05b1 Enable Ruff SIM118 (#87772) 2023-02-15 12:39:12 +01:00
epenet
2cdc741900 Add type hints to integration tests (part 17) (#88163) 2023-02-15 11:14:04 +01:00
Mike Heath
04e9c7748f Support Fully Kiosk Browser device discovery via MQTT (#88109)
Support FKB device discovery via MQTT
2023-02-15 11:11:04 +01:00
epenet
88444b2e0c Add type hints to integration tests (part 16) (#88008) 2023-02-15 10:50:02 +01:00
Jan Bouwhuis
09b509da94 Add note on always subscribing to the MQTT broker when topics are shared (#88159)
Add note on always subscribing
2023-02-15 10:46:57 +01:00
epenet
a1b7842df2 Fix incorrect reference to json WriteError (#88161) 2023-02-15 10:40:26 +01:00
epenet
6c430e03bc Add type hints to integration tests (part 14) (#88005) 2023-02-15 10:31:43 +01:00
Thomas Dietrich
a0e0feb444 Statistics component fix device_class for incremental source sensors (#88096)
* Return None device_class for incremental source sensors

* Ignore linting error

* Fix ignore linting error

* Fix ignore linting error

* Fix ignore linting error

* Catch potential parsing error with enum
2023-02-15 10:22:09 +01:00
Maciej Bieniek
95bb019f71 Do not reload Shelly TRV entry when not needed (#88037)
* Do not reload the entry when the target temperature changes

* Do not reload the entry when the mode changes

* Increase test coverage

* Increase test coverage
2023-02-15 10:21:53 +01:00
Maciej Bieniek
cd4ce86f07 Add support for triple_push event for Shelly gen2 devices (#88081)
* Add support for triple_push event

* Sort

* Fix tests
2023-02-15 10:20:27 +01:00
epenet
50cbabb2d8 Add type hints to integration tests (part 15) (#88006) 2023-02-15 10:00:49 +01:00
Jan Bouwhuis
6c23d6abfe Fix doc string in mqtt test (#88138)
Fix docstr
2023-02-15 05:56:03 +01:00
J. Nick Koston
cc8c42ea7a Bump docker base to 2023.02.0 (#88084)
* Bump base image to 2023.02.0

changelog: https://github.com/home-assistant/docker-base/compare/2022.11.0...2023.02.0

* Bump base image to 2023.02.0

changelog: https://github.com/home-assistant/docker-base/compare/2022.11.0...2023.02.0
2023-02-14 20:34:54 -05:00
Brandon Rothweiler
7cf5fd5952 Fix typo in OpenAI prompt (#88137) 2023-02-14 20:33:58 -05:00
dcmeglio
361b39c4c3 Move denonavr state update callbacks to async_added_to_hass (#88147)
Move state update callbacks to async_added_to_hass.
2023-02-15 02:20:55 +01:00
J. Nick Koston
0c35c6a313 Fix enum try_parse test for python3.11 (#88131) 2023-02-14 15:29:44 -06:00
J. Nick Koston
80b25d6f40 Bump pyunifiprotect to 4.7.0 for python 3.11 (#88130) 2023-02-14 15:29:34 -06:00
J. Nick Koston
5f69ae4360 Fix exception ordering in yeelight for python 3.11 (#88134) 2023-02-14 15:17:22 -06:00
Carlos Cristobal
9756131473 Replace Fitbit weight SensorStateClass measurement with total (#88118)
* Remove SensorStateClass.MEASUREMENT from weight

* Using SensorStateClass.TOTAL for weight
2023-02-14 16:15:09 -05:00
Jan Bouwhuis
aaf8196997 Fix race on check MQTT subscriptions (#88117)
* Check MQTT subscriptions under paho client lock

* Check simple subscriptions first

* Apply suggestion
2023-02-14 15:39:33 -05:00
Joakim Plate
8529bcef2a Bump arcam dependency to 1.2.1 (#88125) 2023-02-14 14:31:29 -06:00
Mark Broadbent
568e0ae029 Update orjson to resolve segmentation fault during JSON serialisation (#88119)
Home Assistant uses orjson 3.8.5 that contains an issue[1] on musl libc
platforms that causes a segmentation fault.  This particularly affect
Home Assistant container installations reported in #87283 and #87522.

This updates the version to 3.8.6 that resolves the segmentation
fault during json serialisation.

[1] https://github.com/ijl/orjson/issues/335
2023-02-14 15:26:52 -05:00
J. Nick Koston
a149d67b30 Fix twentemilieu diagnostics with python 3.11 (#88121) 2023-02-14 15:26:03 -05:00
J. Nick Koston
44e8e808a1 Fix apprise tests for python 3.11 (#88126) 2023-02-14 15:25:25 -05:00
Paulus Schoutsen
2e74e75177 Graphite flaky test fix (#88115) 2023-02-14 15:21:05 -05:00
J. Nick Koston
aaeb909148 Fix wemo tests with py3.11 (#88123) 2023-02-14 13:58:57 -06:00
J. Nick Koston
4d90d3cd91 Fix vera tests with python3.11 (#88124) 2023-02-14 13:58:44 -06:00
J. Nick Koston
e7d5943c90 Fix zwave_me tests with python 3.11 (#88122) 2023-02-14 13:58:29 -06:00
Martin Hjelmare
d0a9d65875 Fix august untracked task (#88107) 2023-02-14 20:25:29 +01:00
Robert Svensson
3d8e8293d6 Bump pydeconz to v107 (#88114) 2023-02-14 13:48:24 -05:00
Aaron Bach
6bb7a7225d Revert "Add a calendar entity to Ridwell (#86117)" (#88106)
This reverts commit 16a5275461.
2023-02-14 10:23:32 -07:00
J. Nick Koston
f237bb14ca Add strict typing to yalexs_ble (#88086)
* Add strict typing to yalexs_ble

* Add strict typing to yalexs_ble

* Add strict typing to yalexs_ble
2023-02-14 11:38:51 -05:00
J. Nick Koston
f4ef64a7d7 Fix rmvtransport integration with py3.11 (#88094)
In py3.11 `Passing coroutines is forbidden, use tasks explicitly`
2023-02-14 11:32:36 -05:00
J. Nick Koston
85b852d8ad Fix cloud integration with py3.11 (#88088)
In py3.11 `Passing coroutines is forbidden, use tasks explicitly`
2023-02-14 11:31:52 -05:00
J. Nick Koston
692920e01e Fix hassio integration with py3.11 (#88090)
In py3.11 `Passing coroutines is forbidden, use tasks explicitly`
2023-02-14 11:31:01 -05:00
J. Nick Koston
e6b7f1d487 Fix forked_daapd integration with py3.11 (#88091)
In py3.11 `Passing coroutines is forbidden, use tasks explicitly`
2023-02-14 11:30:16 -05:00
Teemu R
5335dfbc67 Prefer effect over other light settings for tplink (#85642) 2023-02-14 10:29:11 -06:00
J. Nick Koston
c54500cb1f Fix invalid spec in mqtt tests for py3.11 (#88092)
Fix invalid spec in mqtt tests

unittest.mock.InvalidSpecError: Cannot spec a Mock object.
2023-02-14 11:28:46 -05:00
J. Nick Koston
9593d9610d Fix sleepiq with python 3.11 (#88098)
There is a breaking change in enum behavior

see https://blog.pecar.me/python-enum
2023-02-14 11:26:33 -05:00
J. Nick Koston
3e8a6cb3b7 Fix unifiprotect with python 3.11 (#88101)
There are some breaking changes to Enum https://blog.pecar.me/python-enum

needs https://github.com/AngellusMortis/pyunifiprotect/pull/263 but
does not need to be in this PR
2023-02-14 11:26:14 -05:00
Teemu R
95476f46c2 Shorten tplink update cycle (#87399) 2023-02-14 10:15:47 -06:00
Martin Hjelmare
4b58800530 Fix apple tv untracked task (#88102) 2023-02-14 17:14:17 +01:00
J. Nick Koston
f11ba1b7cb Fix group integration with py3.11 (#88089)
In py3.11 `Passing coroutines is forbidden, use tasks explicitly`
2023-02-14 10:24:10 -05:00
J. Nick Koston
d8ee60ee44 Change DeviceAutomationDetails to use a dataclass for py3.11 (#88087)
A NamedTuple can no longer be an enum value in py3.11
2023-02-14 10:22:57 -05:00
Daniel Hjelseth Høyer
e96210fced Fix Tibber stats (#88025) 2023-02-14 08:14:10 -06:00
Aaron Bach
16a5275461 Add a calendar entity to Ridwell (#86117) 2023-02-14 06:58:41 -07:00
Martin Hjelmare
e1a5d5a749 Refactor tradfri sensor tests (#88026) 2023-02-14 13:35:27 +01:00
Matthias Alphart
d7861e79c5 Update xknx to 2.5.0 (#88069) 2023-02-14 12:44:43 +01:00
epenet
7d7ee1cead Cleanup renault services (#88064) 2023-02-14 12:05:23 +01:00
Erik Montnemery
ee6886dabd Add dormakaba_dkey door and dead bolt binary sensors (#87990)
* Add dormakaba_dkey door and dead bolt binary sensors

* Rename dead bolt sensor

* Fix docstring

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-02-14 11:55:58 +01:00
Paulus Schoutsen
fa5c60c9ee Handle device reg fields not being valid data in openai conversion (#88047)
Handle device reg fields not being valid data
2023-02-14 11:45:27 +01:00
Ryan Fleming
1431979eab Bump pyoctoprintapi to 0.1.11 (#88052)
Bump pyoctoprint to get camera url fixes
2023-02-14 08:40:03 +01:00
mkmer
01cd60fc12 Bump AIOAladdinConnect 0.1.56 (#88041) 2023-02-13 23:46:46 -05:00
J. Nick Koston
94386b6674 Bump home-assistant-bluetooth to 1.9.3 (#88051) 2023-02-13 23:28:30 -05:00
J. Nick Koston
c1039fab4a Bump dbus-fast to 1.84.1 (#88042) 2023-02-13 23:19:49 -05:00
J. Nick Koston
8a2d81fe4b Bump zeroconf to 0.47.3 (#88045)
changelog: https://github.com/python-zeroconf/python-zeroconf/compare/0.47.1...0.47.3
2023-02-13 23:19:36 -05:00
Paulus Schoutsen
d54f59478f Keep task references while running (#87970)
* Keep task references while running

* Update pilight tests pointing at correct logger call

* Fix graphite tests

* Fix profiler tests

* More graphite test fixes

* Remove extra sleep

* Fix tests

* Shutdown background tasks as part of stage 1

* Remove unnecessary sleep in test

* Remove unused method on mock hass

* Skip on cancelled too

* Remove background tasks

* Test trigger variables without actually sleeping

* Fix graphite

* One more graphite grrrrrrr
2023-02-13 23:16:59 -05:00
J. Nick Koston
e41af8928b Restore original aiohttp cancelation behavior (#88046) 2023-02-13 22:00:36 -06:00
J. Nick Koston
484027023c Fix new stats rows creating data in the old created column (#88013) 2023-02-13 21:53:37 -06:00
dcmeglio
3d9d79684d Add support for telnet connections for Denonavr integration (#85980)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-02-13 18:36:09 -06:00
Aaron Bach
b4c343b1a2 Bump pyopenuv to 2023.02.0 (#88039) 2023-02-13 16:40:49 -07:00
Daniel Hjelseth Høyer
e0235fbb30 Update tibber lib 0.26.13 (#88018) 2023-02-13 16:46:25 -06:00
epenet
efef915fc7 Add mariadb 10.3.32 to database tests (#87741)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-02-13 16:28:39 -06:00
Assaf Inbal
d8ec259e9a Add mjpeg camera stream_source (#86908)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-02-13 16:12:12 -06:00
Erik Montnemery
4ca0a24f87 Increase test scope of MariaDB + PostgreSQL tests (#87019)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-02-13 15:58:13 -06:00
J. Nick Koston
026b4f5307 Bump aiohttp to 3.8.4 (#88032) 2023-02-13 15:52:20 -06:00
Martin Hjelmare
ab2ab1573e Refactor tradfri diagnostics tests (#88017) 2023-02-13 18:39:48 +01:00
Paulus Schoutsen
2fa35e174a 2023.2.4 (#88007) 2023-02-13 10:06:16 -05:00
Martin Hjelmare
8993a36e27 Refactor tradfri fan tests (#87999) 2023-02-13 15:40:21 +01:00
Paulus Schoutsen
3b4efba606 Bumped version to 2023.2.4 2023-02-13 09:24:50 -05:00
J. Nick Koston
fb456a66c6 Bump aioesphomeapi to 13.3.1 (#87969)
* Bump aioesphomeapi to 13.3.0

We probably need to include https://github.com/esphome/aioesphomeapi/pull/382
as well in another bump

* bump
2023-02-13 09:23:32 -05:00
Florent Thoumie
cd5042e2c2 Fix iaqualink exception handling after switch to httpx (#87898)
Fix exception handling after switch to httpx
2023-02-13 09:22:57 -05:00
J. Nick Koston
65c8895bf7 Retrigger Bluetooth discovery when calling async_rediscover_address (#87884)
* Retrigger Bluetooth discovery when calling async_rediscover_address

* Retrigger Bluetooth discovery when calling async_rediscover_address

* tweak
2023-02-13 09:22:56 -05:00
G Johansson
e8081c6159 Fix unbound variable in Group sensor (#87878)
* group bound last

* Add test
2023-02-13 09:22:55 -05:00
Diogo Gomes
da2c1c1142 Bump pyipma to 3.0.6 (#87867)
bump pyipma
2023-02-13 09:22:44 -05:00
J. Nick Koston
250f032a0d Ensure recorder still shuts down if the final commit fails (#87799) 2023-02-13 09:22:14 -05:00
Avi Miller
ec755b34f0 Bump aiolifx to 0.8.9 (#87790)
Signed-off-by: Avi Miller <me@dje.li>
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-02-13 09:21:54 -05:00
starkillerOG
f8075f2dfd Bump reolink-aio to 0.4.0 (#87733)
bump reolink-aio to 0.4.0
2023-02-13 09:20:42 -05:00
John Pettitt
8780db82e5 Fix bad battery sense in ambient_station (#87668) 2023-02-13 09:18:09 -05:00
J. Nick Koston
09970a083b Bump yalexs_ble to 1.12.12 to fix reconnect when services fail to resolve (#87664)
* Bump yalexs_ble to 1.12.11 to fix reconnect when services fail to resolve

changelog: https://github.com/bdraco/yalexs-ble/compare/v1.12.8...v1.12.11

* bump to make it work with esphome proxy as well

* empty
2023-02-13 09:17:54 -05:00
J. Nick Koston
a779e43e2a Bump cryptography to 39.0.1 for CVE-2023-23931 (#87658)
Bump cryptography to 39.0.1

CVE-2023-23931
2023-02-13 09:16:57 -05:00
Luke
1603a0b037 Bump oralb-ble to 0.17.5 (#87657)
fixes undefined
2023-02-13 09:16:56 -05:00
Ernst Klamer
151b33a4ab Keep sleepy xiaomi-ble devices that don't broadcast regularly available (#87654)
Co-authored-by: J. Nick Koston <nick@koston.org>
fixes undefined
2023-02-13 09:16:18 -05:00
H. Balázs
03ba7672ea Upgrading volvooncall to 0.10.2 (#87572)
* Upgrading volvooncall to 0.10.2

This release fixes the incorrect remaining time of charging the battery

* updating volvooncall test requirements

* Updating volvooncall requirements

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-02-13 09:14:01 -05:00
jan iversen
f2697b3e96 Correct sensor restore entity in modbus (#87563)
* Correct sensor restore entity.

* Review comments.
2023-02-13 09:12:09 -05:00
starkillerOG
0a69f825d2 Reolink unregistered webhook on unexpected error (#87538) 2023-02-13 09:12:08 -05:00
starkillerOG
640f5f41cc Netgear ssdp discovery abort if no serial (#87532)
fixes undefined
2023-02-13 09:11:31 -05:00
J. Nick Koston
ae06d9fd5c Bump aioesphomeapi to 13.3.1 (#87969)
* Bump aioesphomeapi to 13.3.0

We probably need to include https://github.com/esphome/aioesphomeapi/pull/382
as well in another bump

* bump
2023-02-13 09:07:56 -05:00
J. Nick Koston
03eea7bd3f Avoid subprocess memory copy when c library supports posix_spawn (#87958)
* use posix spawn on alpine

* Avoid subprocess memory copy when c library supports posix_spawn

By default python 3.10 will use the fork() which has to
copy all the memory of the parent process (in our case
this can be huge since Home Assistant core can use
hundreds of megabytes of RAM). By using posix_spawn
this is avoided.

In python 3.11 vfork will also be available
https://github.com/python/cpython/issues/80004#issuecomment-1093810689
https://github.com/python/cpython/pull/11671 but we won't
always be able to use it and posix_spawn is considered safer
https://bugzilla.kernel.org/show_bug.cgi?id=215813#c14

The subprocess library doesn't know about musl though
even though it supports posix_spawn https://git.musl-libc.org/cgit/musl/log/src/process/posix_spawn.c
so we have to teach it since it only has checks for glibc
1b736838e6/Lib/subprocess.py (L745)

The constant is documented as being able to be flipped here:
https://docs.python.org/3/library/subprocess.html#disabling-use-of-vfork-or-posix-spawn

* Avoid subprocess memory copy when c library supports posix_spawn

By default python 3.10 will use the fork() which has to
copy memory of the parent process (in our case
this can be huge since Home Assistant core can use
hundreds of megabytes of RAM). By using posix_spawn
this is avoided and subprocess creation does not
get discernibly slow the larger the Home Assistant
python process grows.

In python 3.11 vfork will also be available
https://github.com/python/cpython/issues/80004#issuecomment-1093810689
https://github.com/python/cpython/pull/11671 but we won't
always be able to use it and posix_spawn is considered safer
https://bugzilla.kernel.org/show_bug.cgi?id=215813#c14

The subprocess library doesn't know about musl though
even though it supports posix_spawn https://git.musl-libc.org/cgit/musl/log/src/process/posix_spawn.c
so we have to teach it since it only has checks for glibc
1b736838e6/Lib/subprocess.py (L745)

The constant is documented as being able to be flipped here:
https://docs.python.org/3/library/subprocess.html#disabling-use-of-vfork-or-posix-spawn

* missed some

* adjust more tests

* coverage
2023-02-13 09:02:51 -05:00
epenet
cf2fcdfba1 Add mariadb 10.6.10 to database tests (#87989) 2023-02-13 14:42:04 +01:00
epenet
ea11a30a35 Add type hints to integration tests (part 13) (#87998) 2023-02-13 14:38:37 +01:00
Paulus Schoutsen
c557cd2b1e Make all history stats tests async (#87973) 2023-02-13 14:34:28 +01:00
epenet
1e352b60df Add type hints to integration tests (part 11) (#87996) 2023-02-13 14:22:49 +01:00
Erik Montnemery
8f2a764a43 Adjust suggested_display_precision according to unit conversion (#87614) 2023-02-13 13:55:12 +01:00
epenet
ea29cdfe83 Add type hints to integration tests (part 12) (#87997) 2023-02-13 13:03:51 +01:00
G Johansson
896dd1a36b Change name to entity_id Text platform error messages (#87963) 2023-02-13 12:51:38 +01:00
mletenay
ea94a2fbfd Add support for 4 MPTT inverter (#86901) 2023-02-13 12:49:11 +01:00
Franck Nijhof
b0146618cb Update pytest-asyncio to 0.20.3 (#87995) 2023-02-13 12:40:19 +01:00
Jan Bouwhuis
950ee34514 Correct typing on hass_storage fixure (#87986)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-02-13 12:12:34 +01:00
David Bonnes
dc8ceaf4bf Change geniushub codeowner (#87918) 2023-02-13 12:11:38 +01:00
Franck Nijhof
f1daeabff0 Add homeassistant.reload_all service (#87769) 2023-02-13 12:09:29 +01:00
epenet
03710e58b5 Add type hints to integration tests (part 9) (#87983) 2023-02-13 12:06:51 +01:00
Franck Nijhof
6359775cfc Add more entities for Elgato Key Light Mini (#87793)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-02-13 11:54:50 +01:00
starkillerOG
3a9caeffe5 Reolink late review comments (#87991)
late review comments
2023-02-13 11:47:39 +01:00
epenet
89e4ee5320 Add type hints to integration tests (part 8) (#87982) 2023-02-13 11:13:48 +01:00
Erik Montnemery
575f7c4205 Add dormakaba_dkey battery sensor (#87975)
* Add dormakaba_dkey battery sensor

* Update .coveragerc

* Apply suggestion from code review

* Update .coveragerc
2023-02-13 11:09:23 +01:00
epenet
9404a107b2 Add type hints to integration tests (part 10) (#87985) 2023-02-13 10:25:26 +01:00
Erik Montnemery
3f910b49ae Fix sensor unit conversion (#87978) 2023-02-13 10:08:07 +01:00
epenet
b68f502769 Add type hints to integration tests (part 7) (#87980) 2023-02-13 09:53:09 +01:00
epenet
b9beed4624 Add type hints to integration tests (part 6) (#87979) 2023-02-13 09:45:11 +01:00
Joakim Sørensen
e842f90767 Add recorder engine name and version to analytics (#87784)
* Add recorder to analytics

* Add test

* Add recorder to after_dependencies

* Add version

* dialect can not be None
2023-02-13 09:18:12 +01:00
G Johansson
9008556457 Change name to entity_id Select platform error messages (#87962) 2023-02-12 22:54:04 +01:00
G Johansson
824a0475ae Change name to entity_id Number platform error messages (#87961) 2023-02-12 22:26:25 +01:00
racsa1
6ca4c5cfe7 Bump pydaikin 2.9.0 (#87067)
Co-authored-by: rsa <>
2023-02-12 22:23:56 +01:00
G Johansson
8c00f435a6 Change name to entity_id update platform error messages (#87960) 2023-02-12 22:18:09 +01:00
Luke
bb4d6c0d2c Rework user_input check in config flow scaffold (#87820)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-02-12 22:02:14 +01:00
Raman Gupta
65d7242c22 Bump zwave-js-server-python to 0.45.2 (#87822) 2023-02-12 22:01:37 +01:00
J. Nick Koston
7b9293941e The recorder/statistic(s)_during_period websocket API now require the statistic_id(s) field (#87937) 2023-02-12 14:51:10 -06:00
rappenze
5f4a2a713c Remove deprecated fibaro yaml config (#87939) 2023-02-12 21:50:50 +01:00
Jan Bouwhuis
666aace8a2 Complete partly implemented type hints for dict on MQTT platforms (#87839) 2023-02-12 21:47:38 +01:00
starkillerOG
168d307762 Netgear allow to remove old devices (#87849) 2023-02-12 21:45:54 +01:00
Ernst Klamer
f96e8c82e8 Bump bthome-ble to 2.5.2 (#87862) 2023-02-12 21:44:08 +01:00
J. Nick Koston
d1e1734fc7 Use PidfdChildWatcher by default when available (#87951)
This is a backport from cpython 3.12

https://docs.python.org/3/library/asyncio-policy.html
> PidfdChildWatcher is a “Goldilocks” child watcher implementation. It doesn’t require signals or threads, doesn’t interfere with any processes launched outside the event loop, and scales linearly with the number of subprocesses launched by the event loop. The main disadvantage is that pidfds are specific to Linux, and only work on recent (5.3+) kernels.

https://github.com/python/cpython/pull/98024
There are some additional fixes in cpython 3.12
in https://github.com/python/cpython/pull/94184
when there is no event loop running in the main thread
but this is not a problem we have
2023-02-12 15:41:55 -05:00
Jan Bouwhuis
71b67e20e4 Improve MQTT Callable type hints (#87838) 2023-02-12 21:24:59 +01:00
J. Nick Koston
1a35c2d805 Avoid creating a task when waiting for the MQTT mid (#87887) 2023-02-12 14:24:55 -06:00
J. Nick Koston
f2fb6a9a60 Optimize mqtt matchers (#87853) 2023-02-12 14:24:35 -06:00
Ernst Klamer
18d3e4dca8 Fix kegtron state class for volume sensors (#87950) 2023-02-12 21:22:21 +01:00
J. Nick Koston
753c7abaf4 Make mqtt websocket subscribe use callback functions (#87885)
Nothing was being awaited so this was needlessly generating tasks when the callbacks fired
2023-02-12 21:05:37 +01:00
J. Nick Koston
1d4d688af3 Make mqtt discovery use callback functions (#87883) 2023-02-12 20:41:03 +01:00
Steffen Zimmermann
87a8a3c166 Bump wiffi to 1.1.2 (#87798) 2023-02-12 20:25:03 +01:00
jan iversen
a88676384a Bump pymodbus to v3.1.3 (#87841) 2023-02-12 20:21:59 +01:00
J. Nick Koston
ac97097167 Speed up template lru_caches (#87942)
By avoiding the argument unpacking these functions are faster
and reduce stack overhead
2023-02-12 14:13:13 -05:00
Chris Straffon
132bc5a4f2 Update growatt_server owners (#87804) 2023-02-12 20:12:05 +01:00
J. Nick Koston
e19f8595fa Small cleanups to template helper (#87944)
- reduce dict lookups
- avoid split_entity_id
2023-02-12 14:11:48 -05:00
rappenze
69dc50c917 Small code improvements fibaro integration (#87949) 2023-02-12 19:56:02 +01:00
epenet
728f62b1ec Add type hints to integration tests (part 5) (#87850) 2023-02-12 19:39:48 +01:00
Erik Montnemery
00c356e1ce Enable strict typing for the dormakaba_dkey integration (#87934) 2023-02-12 19:00:35 +01:00
Klaas Schoute
60bcbd0473 Bump gridnet to v4.2.0 (#87903) 2023-02-12 18:53:05 +01:00
J. Nick Koston
aa8927c98c Speed up loops with jinja templates (#87945) 2023-02-12 18:40:55 +01:00
Allen Porter
4d186366bd Improve Google Calendar config flow error message when API disabled (#87889) 2023-02-12 18:28:44 +01:00
David Bonnes
ffc60d9091 Bump incomfort client library to 0.5.0 (#87877) 2023-02-12 18:27:08 +01:00
J. Nick Koston
b054296c42 Speed up selecting which statistics to compile (#87938) 2023-02-12 18:15:27 +01:00
Erik Montnemery
10b7c273b1 Bump py-dormakaba-dkey to 1.0.2 (#87935) 2023-02-12 09:12:33 -06:00
starkillerOG
97699d1e9d Bump reolink-aio to 0.4.1 (#87933) 2023-02-12 09:12:20 -06:00
Dustin Rodrigues
c7e9afcef8 Fix typo in requires-python hassfest error message (#87896) 2023-02-12 09:11:56 -06:00
Erik Montnemery
4db40810dd Add support for dormakaba dKey locks (#87501)
* Add support for dormakaba dKey locks

* Pylint

* Address review comments

* Add test for already configured entry

* Add user flow

* Address review comments

* Simplify config flow

* Add tests

* Sort manifest

* Remove useless _abort_if_unique_id_configured

* Remove config entry update listener

* Simplify user flow

* Remove startup event

* Revert "Simplify user flow"

This reverts commit 0ef9d1c6bb.
2023-02-12 13:46:31 +01:00
J. Nick Koston
7aa1359c4a Cache try_parse_enum (#87911) 2023-02-12 03:57:36 -06:00
Florent Thoumie
6680e819e5 Fix iaqualink exception handling after switch to httpx (#87898)
Fix exception handling after switch to httpx
2023-02-12 09:04:59 +01:00
J. Nick Koston
32a6280139 Optimize _sorted_statistics_to_dict to avoid checking which types each loop (#87901)
* Optimize _sorted_statistics_to_dict to avoid checking which types each loop

* tweak

* avoid some more dict lookups
2023-02-11 23:21:40 -05:00
J. Nick Koston
85649ec589 Reduce overhead to see if an entity is recorded (#87912)
A significant chunk of list_statistic_ids was checking if the entity
was recorded because it had to get the recorder instance over and
over
2023-02-11 23:21:16 -05:00
J. Nick Koston
e899754919 Bump sqlalchemy to 2.0.3 (#87913)
changes: https://docs.sqlalchemy.org/en/20/changelog/changelog_20.html#change-2.0.3
2023-02-11 23:20:22 -05:00
Diogo Gomes
d0d2c3e7c3 Bump pyipma to 3.0.6 (#87867)
bump pyipma
2023-02-11 23:18:34 -05:00
rappenze
e1340e6ed4 Replace fiblary3 with pyfibaro library (#83500)
* Replace fiblary3 with pyfibaro library

* Fix some missing replacements for pyfibaro library

* Remove debug code which was committed accidentially

* Use fibaro_parent_id in another place

* Fix some bugs

* Move more code to the library

* Move has_unit check to correct place
2023-02-11 22:13:12 +01:00
J. Nick Koston
86a93e9fce Optimize fetching statistics by avoiding recalculating time boundaries (#87859)
* predictive

* fix conversion error

* fix conversion error

* fix conversion error

* convert day to use new algo

* reduce
2023-02-11 11:41:57 -05:00
J. Nick Koston
34e2751f14 Retrigger Bluetooth discovery when calling async_rediscover_address (#87884)
* Retrigger Bluetooth discovery when calling async_rediscover_address

* Retrigger Bluetooth discovery when calling async_rediscover_address

* tweak
2023-02-11 16:59:51 +01:00
G Johansson
7aa79415c1 Fix unbound variable in Group sensor (#87878)
* group bound last

* Add test
2023-02-11 16:27:22 +01:00
epenet
b7b82b1e3f Add more type hints to conftest.py (#87842)
* Add more type hints in conftest.py

* Adjust stop_hass

* Adjust mock_integration_frame

* Adjust pylint plugin
2023-02-11 13:48:53 +01:00
Joakim Sørensen
6d87ebc7de Delete empty typescript file in repository root (#87873)
Delete typescript file
2023-02-11 13:40:49 +01:00
epenet
9f688a564f Add type hints to integration tests (part 4) (#87848) 2023-02-11 08:26:13 +01:00
Ernst Klamer
a385a00d08 Add support for Govee H5198 (#87864) 2023-02-10 15:56:30 -06:00
Jan Bouwhuis
41a92a872f Add missed type hint on MQTT device tracker test (#87847) 2023-02-10 22:42:56 +01:00
Jan Bouwhuis
0bf4896c7f Add type hints to MQTT init tests (#87402)
* Add hass type hint and `None` return type

* Add type hints on tmp_path

* Add registry hints

* Add caplog and hass_ws_client type hints

* Add type hints for MqttMockHAClientGenerator

* Add type hints MqttMockPahoClient

* Hints on fixtures `calls` and `record_calls`

* Other fixture type hints tweaks

* Add hints for mock_usename_password_set

* Update tests/components/mqtt/test_init.py

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

* correct domain

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-02-10 18:38:37 +01:00
J. Nick Koston
c35661947a Optimize fetching statistics by avoiding timestamp conversions (#87845)
* Optimize fetching statistics by avoiding timestamp conversions

* remove accidential unrelated change

* fix test

* recreate so we handle timezone changes
2023-02-10 11:26:46 -05:00
epenet
6a1cd75a67 Add MockHAClientWebSocket test helper (#87832)
* Add MockHAClientWebSocket test helper

* Add sample use

* Add missing type hint
2023-02-10 10:23:26 -05:00
epenet
0cf5e9fb4a Add type hints to integration tests (part 2) (#87789)
* Add type hints to integration tests (part 2)

* typo

* Improve analytics

* Improve automation

* Imrpove bluetooth
2023-02-10 16:05:26 +01:00
epenet
fa7acb4f0d Add type hints to integration tests (part 3) (#87844) 2023-02-10 16:05:01 +01:00
epenet
22bfb99db4 Add type hints to requests_mock (#87757) 2023-02-10 11:44:09 +01:00
epenet
fac746c974 Improve recorder type hints in tests (#87826)
* Improve recorder type hints in tests

* Add comment

* Adjust comment
2023-02-10 11:11:39 +01:00
Mike Heath
b5dfd83c46 Fix Fully Kiosk Browser merging entities when MAC empty (#87743)
* Fix FKB merging entities when MAC empty

Fully Kiosk Browser will sometimes return an empty MAC address in the
device_info API call. When two Fully Kiosk devices are added with
missing MAC addresses, HA will assume the two devices are the same and
merge the entities. This fixes that problem.

Fixes #77722

* Update homeassistant/components/fully_kiosk/entity.py

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

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-02-10 09:19:09 +01:00
dependabot[bot]
3057dd241a Bump actions/cache from 3.2.4 to 3.2.5 (#87825)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-10 08:43:24 +01:00
Luke
8de321253b Reorganize manifest scaffold (#87819)
* reorganize manifest.json

* add iot_class to manifest
2023-02-10 07:52:00 +01:00
Raman Gupta
8aa64c8008 Add has_firmware_update_cc bool to zwave_js/node_status cmd (#87310)
* Add `has_firmware_update_cc` bool to zwave_js/node_status cmd

* fix test

* Switch order of equality check
2023-02-10 00:49:09 -05:00
Michael Hansen
8cd5106c15 Add HassGetState intent for queries (#87808)
* Use names instead of entity ids for list

* Add HassGetState for Assist queries

* Add unknown area to test

* Clean up and test device classes
2023-02-09 23:39:46 -05:00
J. Nick Koston
ea356ad260 Optimize fetching weekly/monthly/yearly statistics (#87747)
* Optimize fetching statistics

* speed up

* avoid double groupby

* avoid another loop

* tweak flow

* fixes

* tweak

* avoid a new dt object in the cache for week/month

* avoid a new dt object in the cache for week/month
2023-02-09 21:22:32 -05:00
Ernst Klamer
9dd806278b Keep sleepy xiaomi-ble devices that don't broadcast regularly available (#87654)
Co-authored-by: J. Nick Koston <nick@koston.org>
fixes undefined
2023-02-09 16:42:08 -06:00
J. Nick Koston
4cebc767b5 Give users a hint that their bluetooth adapter has been ignored (#87727) 2023-02-09 16:41:53 -06:00
J. Nick Koston
cbaf4764e7 Ensure MySQL tests cleanup connections and raise an exception if they do not (#87767)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
Co-authored-by: Erik <erik@montnemery.com>
2023-02-09 16:27:53 -06:00
J. Nick Koston
84d14cc76a Add reauthentication support to Yale Access Bluetooth (#87719)
* Bump yalexs_ble to 1.12.11 to fix reconnect when services fail to resolve

changelog: https://github.com/bdraco/yalexs-ble/compare/v1.12.8...v1.12.11

* bump to make it work with esphome proxy as well

* empty

* Add reauth support to yalexs_ble

* lint

* reduce

* tweak

* tweak

* test for reauth

* Apply suggestions from code review

* cleanup
2023-02-09 22:24:14 +01:00
J. Nick Koston
509de02044 Ensure recorder still shuts down if the final commit fails (#87799) 2023-02-09 15:12:40 -06:00
starkillerOG
f96de4ab45 Bump motionblinds to 0.6.16 (#87782) 2023-02-09 21:43:28 +01:00
Tom Harris
926534bde2 Bump pyinsteon to 1.3.1 (#87788)
* Bump pyinsteon to 1.3.1

* Fix record received test

* Fix status received test
2023-02-09 21:40:06 +01:00
Avi Miller
8fddd0e53a Bump aiolifx to 0.8.9 (#87790)
Signed-off-by: Avi Miller <me@dje.li>
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-02-09 21:38:17 +01:00
jan iversen
b9b5a279f2 Correct sensor restore entity in modbus (#87563)
* Correct sensor restore entity.

* Review comments.
2023-02-09 21:35:44 +01:00
Erik Montnemery
cc564026fa Move EntityCategory to homeassistant.const (#87792)
* Move EntityCategory to homeassistant.const

* Fix more imports
2023-02-09 20:15:37 +01:00
J. Nick Koston
abf0c87e40 Migrate statistics to use timestamp columns (#87321) 2023-02-09 12:24:19 -06:00
Erik Montnemery
8ccb3b7151 Fix circular import loop in homeassistant/helpers/entity.py (#87780)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-02-09 19:15:53 +01:00
Erik Montnemery
2fae82a9ef Really ensure recorder test fixture is setup before hass fixture (#87796) 2023-02-09 11:43:14 -06:00
J. Nick Koston
db503c0daa Always use UTC time for the MariaDB/MySQL session (#87583) 2023-02-09 11:39:45 -06:00
J. Nick Koston
c05a7b29e6 Terminate stale MySQL connections at the end of test runs (#87794) 2023-02-09 11:13:13 -06:00
Jan Bouwhuis
1a38b9f665 Improve coverage MQTT device_trigger (#87408)
* Improve coverage MQTT device_trigger

* Use assert
2023-02-09 17:42:32 +01:00
epenet
a13535b0c7 Bump renault-api to 0.1.12 (#87773)
fix https://github.com/hacf-fr/renault-api/pull/789
2023-02-09 16:55:02 +01:00
Jan Bouwhuis
a244f9b202 Add type hints tests MQTT config_flow (#87783) 2023-02-09 16:47:28 +01:00
epenet
07a1a0efa9 Add type hints to integration tests (part 1) (#87777) 2023-02-09 16:09:13 +01:00
G Johansson
2b3e6a4ca8 Change name to entity_id for lock validation error message (#87574) 2023-02-09 15:59:30 +01:00
J. Nick Koston
03b47f1931 Disable test_entity_ids on MariaDB (#87766)
Dropping the database after this test will fail on
MySQL and hang forever because it causes an InnoDB deadlock

```
| 2042 | root   | localhost:52698 | NULL               | Query   |   41 | Waiting for table metadata lock | DROP DATABASE `homeassistant-test` |    0.000 |
```
2023-02-09 15:30:35 +01:00
J. Nick Koston
f4a81a8b5b Disable test_migration_in_progress on MySQL (#87765)
This test was recently enabled on MySQL in
https://github.com/home-assistant/core/pull/87753

Since it the migration is still in progress in the background
when the test ends, it causes deadlock with InnoDB when its dropped
out from under it
2023-02-09 15:27:27 +01:00
Jan Bouwhuis
dc5f35a85e Add missed type hints on MQTT platform tests (#87781) 2023-02-09 15:22:30 +01:00
J. Nick Koston
483b0cd017 Skip db locking test with postgresql/MySQL (#87760)
* Skip db locking test with postgresql/MySQL

https://github.com/home-assistant/core/pull/87756#issuecomment-1423828389

* switch to the guards instead
2023-02-09 13:58:32 +01:00
Franck Nijhof
f5b651750c Enable Ruff ICN001 (#87775) 2023-02-09 13:41:50 +01:00
Marc Mueller
67499e0204 Enable pydantic mypy plugin (#87415) 2023-02-09 13:33:10 +01:00
Erik Montnemery
2d2ff19949 Round value in state_with_unit template function (#87619) 2023-02-09 12:54:59 +01:00
majuss
773446946e Bump lupupy to 0.2.8 (#87754) 2023-02-09 12:49:01 +01:00
epenet
94779dddaa Add type hints to diagnostics test helper (#85494)
* Add type hints to diagnostics test helper

* Move type alias to the top

* Use Any

* Move TestClientGenerator to typing helper

* Use `dict[str, Any]` again

* Use JsonObjectType

* Add cast
2023-02-09 12:15:18 +01:00
epenet
ecb1d93b2e Allow pytest to start before black finishes (#87770)
Speed-up CI
2023-02-09 11:57:15 +01:00
epenet
bb174780b9 Apply registry type hints on mqtt platform tests (#87758)
Apply registry fixture types on platform tests
2023-02-09 11:53:56 +01:00
epenet
678d1e367d Refactor onewire options flow tests (#87711) 2023-02-09 11:52:26 +01:00
Franck Nijhof
330e1c6cbb Clean up unnecessary registry mocks from integration tests (#87763) 2023-02-09 10:43:45 +01:00
John Pettitt
59890cca68 Fix bad battery sense in ambient_station (#87668) 2023-02-09 10:36:05 +01:00
Franck Nijhof
14c19a2456 Trigger full CI on recorder test changes (#87764) 2023-02-09 10:19:39 +01:00
J. Nick Koston
77cdde94f3 Turn back off test_shutdown_before_startup_finishes test on MySQL (#87761) 2023-02-09 03:12:10 -06:00
Jan Bouwhuis
df76e31cdf Apply MQTT fixture types on platform tests (#87722)
* Apply MQTT fixture types on platform tests

* Add caplog type hint

* Add hass_ws_client type hint

* Add tmp_path type hint

* Add hass_client_no_auth type hint
2023-02-09 09:48:22 +01:00
J. Nick Koston
b0cbe5cb69 Bump yalexs_ble to 1.12.12 to fix reconnect when services fail to resolve (#87664)
* Bump yalexs_ble to 1.12.11 to fix reconnect when services fail to resolve

changelog: https://github.com/bdraco/yalexs-ble/compare/v1.12.8...v1.12.11

* bump to make it work with esphome proxy as well

* empty
2023-02-09 09:35:33 +01:00
starkillerOG
bcf8cf4d8b Add reolink https webhook warning (#87332)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
fixes undefined
2023-02-09 09:24:18 +01:00
epenet
c946f684bc Add more type hints to conftest (#87755)
* Add pytest type hints to conftest

* Add bluetooth and integration frame
2023-02-09 09:20:05 +01:00
Erik Montnemery
58618b2978 Improve recorder tests to use MariaDB / PostgreSQL (#87756) 2023-02-09 02:18:20 -06:00
Erik Montnemery
b0f5bdd504 Improve migration tests to use MariaDB / PostgreSQL database (#87753) 2023-02-09 08:42:32 +01:00
Paulus Schoutsen
f9dc562251 Stub I/O when loading registries in tests (#87744) 2023-02-09 08:25:52 +01:00
Franck Nijhof
769e0356ad Clean up unnecessary registry mocks from scaffolding templates (#87732) 2023-02-09 08:22:41 +01:00
Franck Nijhof
76bf6f164f Clean up unnecessary registry mocks from mqtt tests (#87728)
* Clean up unnecessary registry mocks from mqtt tests

* Fix helper methods
2023-02-09 08:19:06 +01:00
Franck Nijhof
80bf632e2d Clean up unnecessary registry mocks from helpers (#87734) 2023-02-08 20:15:29 -05:00
Arturo
1c02f19d9a Fix matter color temperature light (#87677)
* Adds tests for each matter light type and fixes small issue with color temperature lights not being detected properly

* Removes commented out code

* Changed matter light tests to pytest.mark.parametrize to reduce duplicate code
2023-02-08 23:41:04 +01:00
J. Nick Koston
1a7c99382c Revert "Bump aiolifx to 0.8.8" (#87740) 2023-02-08 16:36:09 -06:00
epenet
aff0174afa Add more type hints to conftest (#87737) 2023-02-08 22:58:00 +01:00
starkillerOG
17aee5e3a3 Bump reolink-aio to 0.4.0 (#87733)
bump reolink-aio to 0.4.0
2023-02-08 22:52:23 +01:00
starkillerOG
0ab30ece68 Netgear ssdp discovery abort if no serial (#87532)
fixes undefined
2023-02-08 15:38:44 -06:00
Avi Miller
014743a27c Bump aiolifx to 0.8.8 (#87729)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-02-08 15:35:53 -06:00
Marc Mueller
18a3fe1237 Remove platformdirs constraint (#87735) 2023-02-08 15:32:03 -06:00
H. Balázs
e1830128cc Upgrading volvooncall to 0.10.2 (#87572)
* Upgrading volvooncall to 0.10.2

This release fixes the incorrect remaining time of charging the battery

* updating volvooncall test requirements

* Updating volvooncall requirements

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-02-08 22:28:47 +01:00
epenet
a31bd49eee Use matrix for db recorder tests (#87640)
* (mock) Mark mariadb as success to skip on partial builds

* mariadb_groups

* Adjust

* Fix yaml

* mariadb-group

* Add postgresql-group

* Align

* Include mariadb-postgresql

* Update ci.yaml

* Update ci.yaml

* Rename jobs

* Remove recorder tests from coverage needs
2023-02-08 22:21:47 +01:00
Erik Montnemery
0cfb937d07 Enforce sorting of manifests (#87020) 2023-02-08 21:48:58 +01:00
Jan Bouwhuis
b93c135c8d Add type hints for MQTT discovery tests (#87425)
* Add type hints for MQTT discovery tests

* Remove more unused caplog instances

* rebase commit

* Small corrections

* Add event tye hint and correct string assignment

* Another Event type hint

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

* Correct test_complex_discovery_topic_prefix

* Import individual items from homeassistant.core

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-02-08 20:56:27 +01:00
Erik Montnemery
b0b1d8143f Sort manifests 10 (#87031) 2023-02-08 20:41:50 +01:00
Erik Montnemery
1d64ba9d34 Sort manifests 6 (#87027) 2023-02-08 20:38:43 +01:00
Erik Montnemery
90d7fb8418 Sort manifests 5 (#87026) 2023-02-08 20:35:25 +01:00
Erik Montnemery
1450b44c63 Sort manifests 7 (#87028) 2023-02-08 20:32:43 +01:00
Erik Montnemery
231aad7a68 Sort manifests 1 (#87022) 2023-02-08 20:29:44 +01:00
Franck Nijhof
51a9f65a01 Clean up unnecessary registry mocks from Core tests (#87726) 2023-02-08 13:28:44 -06:00
Erik Montnemery
899adef590 Sort manifests 4 (#87025) 2023-02-08 20:27:05 +01:00
Erik Montnemery
23fa500406 Sort manifests 9 (#87030) 2023-02-08 20:22:30 +01:00
Erik Montnemery
78c9b70c8d Sort manifests 3 (#87024) 2023-02-08 20:19:19 +01:00
Erik Montnemery
87420e949d Sort manifests 2 (#87023) 2023-02-08 20:16:39 +01:00
Erik Montnemery
5dfb9cddd6 Sort manifests 8 (#87029) 2023-02-08 20:13:46 +01:00
Erik Montnemery
6c2702a7b8 Sort manifests 11 (#87032) 2023-02-08 20:10:18 +01:00
Erik Montnemery
2246255e90 Create or import thread active dataset when setting up OTBR (#87186)
* Create a thread active dataset when discovering OTBR

* Align with lib changes

* Use thread preferred dataset if set

* Create a dataset also from the user flow
2023-02-08 19:32:19 +01:00
epenet
278050a73f Add type hints to integration tests (t-z) (#87707) 2023-02-08 19:10:53 +01:00
epenet
f75ac17554 Add type hints to integration tests (j-m) (#87704) 2023-02-08 19:06:59 +01:00
Martin Hjelmare
630028106a Refactor tradfri cover tests (#87710)
* Refactor tradfri cover tests

* Complete typing
2023-02-08 18:31:04 +01:00
epenet
37a2040d7b Add type hints to integration tests (h-i) (#87703) 2023-02-08 18:12:56 +01:00
epenet
807c69f621 Add type hints to integration tests (b-c) (#87698) 2023-02-08 18:08:43 +01:00
Jan Bouwhuis
1a414f1433 Add hass and None return type on MQTT platform tests (#87713)
Add hass and `None` return type on MQTT tests
2023-02-08 18:08:03 +01:00
epenet
ba85fdcd61 Add type hints to integration tests (q-s) (#87706) 2023-02-08 08:12:54 -08:00
epenet
3abf7ea18a Add type hints to integration tests (m-p) (#87705) 2023-02-08 07:48:54 -08:00
Franck Nijhof
6551eb168d Add common area, device, entity and issue registry test fixtures (#87694) 2023-02-08 16:28:44 +01:00
Erik Montnemery
94519de8dd Upgrade SQLAlchemy to 2.0.2 (#86436)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-02-08 08:17:32 -06:00
Erik Montnemery
93dafefd96 Include entity options in RegistryEntry.as_partial_dict (#87539) 2023-02-08 08:32:46 -05:00
epenet
7a4d15a657 Add type hints to integration tests (f-g) (#87700) 2023-02-08 13:33:52 +01:00
epenet
3052de3e8e Add type hints to integration tests (d-e) (#87699) 2023-02-08 13:01:44 +01:00
starkillerOG
5e214f2e43 Reolink unregistered webhook on unexpected error (#87538) 2023-02-08 12:23:27 +01:00
epenet
2545694d41 Add type hints to integration tests (a) (#87684)
* Add type hints to accuweather tests

* Adjust a** components

* Adjust aiohttp_client

* ClientSessionGenerator/WebSocketGenerator
2023-02-08 12:16:23 +01:00
Franck Nijhof
7665c89b83 Remove sneaked in translation from TP-Link Omada (#87695) 2023-02-08 11:54:18 +01:00
Franck Nijhof
1c3713d08f Add studio mode switch to Elgato (#87691) 2023-02-08 11:42:53 +01:00
Jan Bouwhuis
fc7e4b7664 Add type hints on common MQTT tests (#87299)
* Add hints for hass and return type

* Fix MqttMockType add apply hints to test_common

* Add type hints for other arguments

* Merge changes

* Add missed annotation

* Make tests types private and move to top
2023-02-08 11:20:27 +01:00
Franck Nijhof
0bf612fa63 Add entity descriptions in Elgato buttons (#87656) 2023-02-08 11:09:31 +01:00
Erik Montnemery
45ac8c515e Update unit system unit conversions (#87632)
* Update unit system unit conversions

* Tweak tests
2023-02-08 10:52:54 +01:00
Franck Nijhof
c3e733c0aa Replace global test markers with fixtures in Devolo home control tests (#87676) 2023-02-08 10:51:25 +01:00
epenet
a4c4f77f73 Add more fixtures to pylint plugin (#87685) 2023-02-08 10:51:09 +01:00
Franck Nijhof
380bfe5b28 Enable Ruff PT002, PT003 (#87686) 2023-02-08 10:50:53 +01:00
Franck Nijhof
6582367917 Add battery sensor to Elgato (#87680) 2023-02-08 10:22:12 +01:00
Franck Nijhof
e749521b29 Replace global test markers with fixtures in Synology DSM tests (#87678) 2023-02-08 09:42:57 +01:00
epenet
c98b4e3204 Add typing to tests with single hass argument (2) (#87675)
* Add typing to tests with single hass argument (2)

* a few more
2023-02-08 08:51:43 +01:00
Luke
1bbc03d0ba Bump oralb-ble to 0.17.5 (#87657)
fixes undefined
2023-02-07 20:01:36 -06:00
J. Nick Koston
f0118b3d30 Bump cryptography to 39.0.1 for CVE-2023-23931 (#87658)
Bump cryptography to 39.0.1

CVE-2023-23931
2023-02-07 20:30:16 -05:00
Paulus Schoutsen
9962e9b67e 2023.2.3 (#87652) 2023-02-07 20:21:44 -05:00
Jc2k
d829a2045a Fix incorrect unique_id for BLE HomeKit devices (#87550) 2023-02-07 19:10:51 -06:00
Thomas Hollstegge
79f385afde Add myself as codeowner for emulated_hue (#87659) 2023-02-07 15:43:47 -06:00
Franck Nijhof
cc3ae5b19b Mark ESPHome update entity unavailable when device is offline (#87576) 2023-02-07 22:15:54 +01:00
shbatm
8e8a170121 Bump PyISY to 3.1.13, check portal for network buttons (#87650) 2023-02-07 15:41:54 -05:00
Allen Porter
aacd8e044d Bump pyrainbird to 2.0.0 (#86851) 2023-02-07 15:41:53 -05:00
Kevin Worrel
c505975940 Use library data to map state class for ScreenLogic (#87649)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-02-07 14:13:06 -06:00
Arturo
e84a11963e Add color support to matter lights (#87366)
* Added the correct attributes to ColorTemperatureLight and ExtendedColorLight and added CurrentY to codespell ignore word list

* Added enums for matter color modes

* Added support for reading color and color temperature settings from matter api

* Added away of getting the ColorControl featureMap while the get_cluster(ColorControl) function is fixed

* Initial working implementation of color and color temperature

* Full supports for lights with both hs and xy

* Added checks to make sure color features are supported before making matter call

* Changed how color mode is figured out

* Moved the logic that gets the brightness to its own function

* Adds matter light tests for hass triggered events

* Adds full test coverage for matter all types of matter lights

* Adds full test coverage for matter all types of matter lights

* Moved light convertion logic to util.py

* Reorderd codespell ignore list and removed unused code

* Adds brightness state test
2023-02-07 20:44:02 +01:00
shbatm
096f6eb554 Bump PyISY to 3.1.13, check portal for network buttons (#87650) 2023-02-07 13:03:27 -06:00
Paulus Schoutsen
08fb16a0c2 Bumped version to 2023.2.3 2023-02-07 13:40:53 -05:00
Thomas Hollstegge
354d77d26b Do not return cached values for entity states in emulated_hue (#87642)
* Do not return cached values for state and brightness

* Move building the uncached state dict behind a lru_cache (_build_entity_state_dict)

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2023-02-07 13:40:28 -05:00
Allen Porter
2e541e7ef6 Improve rainbird device reliability by sending requests serially (#87603)
Send rainbird requests serially
2023-02-07 13:40:27 -05:00
J. Nick Koston
a2c9f92420 Bump sensorpush-ble to 1.5.5 (#87595)
* Bump sensorpush-ble to 1.5.4

changelog: https://github.com/Bluetooth-Devices/sensorpush-ble/compare/v1.5.2..v1.5.4

same fix as #85432 but for sensorpush

* bump again to fix parser with passive scans
2023-02-07 13:40:26 -05:00
J. Nick Koston
e67d9988fd Bump bluemaestro-ble to 0.2.3 (#87594)
changelog: https://github.com/Bluetooth-Devices/bluemaestro-ble/compare/v0.2.1..v0.2.3

same fix as #85432 but for bluemaestro
2023-02-07 13:40:24 -05:00
J. Nick Koston
c4470fc36d Bump thermopro-ble to 0.4.5 (#87592)
changelog: https://github.com/Bluetooth-Devices/thermopro-ble/compare/v0.4.3..v0.4.5

same fix as #85432 but for thermopro
2023-02-07 13:40:23 -05:00
J. Nick Koston
ab14671dbc Bump sensorpro-ble to 0.5.3 (#87591)
changelog: https://github.com/Bluetooth-Devices/sensorpro-ble/compare/v0.5.1...v0.5.3

same fix as #85432 but for sensorpro
2023-02-07 13:40:22 -05:00
J. Nick Koston
be83753514 Bump inkbird-ble to 0.5.6 (#87590)
changelog: https://github.com/Bluetooth-Devices/inkbird-ble/compare/v0.5.5...v0.5.6

fixes #85432
2023-02-07 13:40:21 -05:00
J. Nick Koston
e0a6a6cfa6 Fix LD2410 BLE detection with passive scans (#87584) 2023-02-07 13:40:19 -05:00
J. Nick Koston
0d9393ca79 Fix indent on slow_range_in_select for MySQL/MariaDB (#87581)
We would calculate this value and throw it away
because it was only used on first_connection
2023-02-07 13:40:18 -05:00
Martin Hjelmare
d06e640889 Fix matter remove config entry device (#87571) 2023-02-07 13:40:17 -05:00
Luke
9657567280 Bump oralb-ble to 0.17.4 (#87570)
closes undefined
2023-02-07 13:40:16 -05:00
Paulus Schoutsen
5bc49b1757 OpenAI: Ignore devices without a name (#87558)
Ignore devices without a name
2023-02-07 13:40:14 -05:00
J. Nick Koston
590bdc1f49 Optimize history.get_last_state_changes query (#87554)
fixes undefined
2023-02-07 13:40:13 -05:00
Michael Davie
bc01df6b52 Bump env_canada to 0.5.28 (#87509)
Co-authored-by: J. Nick Koston <nick@koston.org>
fixes undefined
2023-02-07 13:40:12 -05:00
Ben Corrado
7fd3f404de Add LD2410BLE support for new firmware version (#87507)
* Updated local_name to reflect the naming scheme in HLK firmware 2.01.23020209

* Adding generated bluetooth file.
2023-02-07 13:40:10 -05:00
rikroe
f59eb6c277 Bump bimmer_connected to 0.12.1 (#87506)
Co-authored-by: rikroe <rikroe@users.noreply.github.com>
fixes undefined
2023-02-07 13:40:09 -05:00
snapcase
08c23dd688 Bump jaraco.abode to 3.3.0 (#87498)
Fixes https://github.com/home-assistant/core/issues/86765
fixes undefined
2023-02-07 13:40:08 -05:00
Ernst Klamer
1a72b64024 Bump xiaomi-ble to 0.16.1 (#87496)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-02-07 13:40:07 -05:00
J. Nick Koston
8a257df59f Fix recorder run history during schema migration and startup (#87492)
Fix recorder run history during schema migration

RunHistory.get and RunHistory.current can be called before
RunHistory.start. We need to return a RecorderRuns object
with the recording_start time that will be used when start
it called to ensure history queries still work as expected.

fixes #87112
2023-02-07 13:40:05 -05:00
Maikel Punie
e30ea3e344 Add the correct loggers to velbus manifest.json (#87488) 2023-02-07 13:40:04 -05:00
Robert Hillis
423d8f0bca Disable uptime sensor by default in Unifi (#87484)
Disable Uptime sensor by default in Unifi
2023-02-07 13:40:03 -05:00
Michael
b2ccf2e87e Bump py-synologydsm-api to 2.1.4 (#87471)
fixes undefined
2023-02-07 13:40:02 -05:00
majuss
4a7aee4bde Bump lupupy to 0.2.7 (#87469) 2023-02-07 13:40:00 -05:00
Gregory Haynes
5b0c7321b5 Add missing name field to emulated_hue config (#87456)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-02-07 13:39:59 -05:00
J. Nick Koston
1df82f39c1 Speed up purge time with newer MariaDB versions (#87409)
* Speed up purge time with newer MariaDB versions

* fix

* document

* document

* document

* rename

* self review

* Update homeassistant/components/recorder/util.py

* fixes
2023-02-07 13:39:58 -05:00
Thomas Hollstegge
589ff54e63 Do not return cached values for entity states in emulated_hue (#87642)
* Do not return cached values for state and brightness

* Move building the uncached state dict behind a lru_cache (_build_entity_state_dict)

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2023-02-07 13:39:08 -05:00
J. Nick Koston
1170b36a82 Fix LD2410 BLE detection with passive scans (#87584) 2023-02-07 13:38:48 -05:00
Franck Nijhof
c25bff9389 Tweak Elgato tests (#87629) 2023-02-07 19:14:13 +01:00
epenet
3e09950dd6 Align postgresql with mariadb in CI (#87646)
Align postgresql with mariadb
2023-02-07 18:27:33 +01:00
epenet
a202588fd2 Add return type to json_loads (#85672)
* Add JSON type definitions

* Sample use

* Keep mutable for a follo-up PR (avoid dead code)

* Use list/dict

* Remove JsonObjectType

* Remove reference to Union

* Cleanup

* Improve rest

* Rename json_dict => json_data

* Add docstring

* Add type hint to json_loads

* Add cast

* Move type alias to json helpers

* Cleanup

* Create and use json_loads_object

* Make error more explicit and add tests

* Use JsonObjectType in conversation

* Remove quotes
2023-02-07 17:21:55 +01:00
Franck Nijhof
20b60d57f2 Add lru cache to loading fixtures in tests (#87634) 2023-02-07 16:50:13 +01:00
Erik Montnemery
720f51657d Add CI job which runs recorder tests on PostgreSQL (#80614)
Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-02-07 09:46:14 -06:00
epenet
3a83b2f66f Rename fixture function in stt tests (#87630) 2023-02-07 16:06:53 +01:00
Marc Mueller
b478b4fa16 Add ParamSpec TypeAliases [mypy 1.0] (#87597) 2023-02-07 15:56:26 +01:00
epenet
1b23429f41 Add __init__ return type to integrations (#87637) 2023-02-07 15:55:14 +01:00
Marc Mueller
785b949a82 Show diff on ruff failure [ci] (#87635) 2023-02-07 15:53:26 +01:00
epenet
b854dd99fc Add rest to strict-typing (#86149)
* Add type hints to rest notify

* Add rest to strict-typing
2023-02-07 15:48:16 +01:00
epenet
59ca7780fa Add typing to tests with single hass argument (#87631) 2023-02-07 15:01:16 +01:00
Marc-Olivier Arsenault
fe9f6823c3 Add ecobee ventilator (#83645)
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-02-07 07:54:23 -06:00
Jan Bouwhuis
4aa61b0d64 Cleanup remains of legacy validation MQTT light (#87467) 2023-02-07 14:52:40 +01:00
epenet
4d73de6295 Remove unused function in slack tests (#87618) 2023-02-07 07:52:15 -06:00
J. Nick Koston
0a1d5c85ad Optimize history.get_last_state_changes query (#87554)
fixes undefined
2023-02-07 07:50:44 -06:00
epenet
4142f0d15d Add return type to tests without arguments (#87613)
* Add return type to tests without arguments

* Black

* Cancel fixture amends
2023-02-07 14:20:06 +01:00
Marc Mueller
fb4c0b4b7a Enable error-code redundant-self [mypy 1.0] (#87602) 2023-02-07 14:02:38 +01:00
Erik Montnemery
4cecc28f8c Update unit system unit conversions (#87621) 2023-02-07 13:19:11 +01:00
epenet
8f8bdac451 Fix namespace issue in pylint plugin (#87627) 2023-02-07 13:07:21 +01:00
Jan Bouwhuis
be564e0162 Cleanup value_template config parameter from MQTT basic light (#87466)
* Remove not supported case from code for MQTT light

* Remove from schema
2023-02-07 13:05:24 +01:00
epenet
ef6798e854 Add caplog to known fixtures in pylint plugin (#87617) 2023-02-07 11:34:02 +01:00
Jan Bouwhuis
c78cae4483 Fix handling None or empty value for numeric MQTT sensor (#87004)
* Allow `None` for numeric sensor, ignore empty val

* Add test case with omitting a value

* Use _numeric_state_expected property

* Only respect None if numeric state is expected
2023-02-07 11:23:23 +01:00
Marc Mueller
42008c50f3 Enable error-code truthy-iterable [mypy 1.0] (#87596) 2023-02-07 11:16:22 +01:00
epenet
aa00114c2f Add return type to async tests without arguments (#87612) 2023-02-07 10:26:56 +01:00
epenet
ea32a2ae63 Check return and mqtt fixtures typing in tests (#87607)
Check return type and mqtt fixtures typing in tests
2023-02-07 10:21:54 +01:00
Maciej Bieniek
6a3619d9fa Refactor NAM sensor platform (#87048)
* Bump backend library

* Remove AQI_LEVEL_STATE_MAPPING

* Add native_precission

* Update diagnostics fixture

* Use _attr_native_value

* Fix type

* Improve lambda

* Revert native_value property

* native_precision -> suggested_display_precision
2023-02-07 09:14:20 +01:00
Jan Bouwhuis
73e3b30906 Add suggested_display_precision config option for MQTT sensor (#87129)
* Add precision for MQTT sensor

* Correct tests

* Use _attr_suggested_display_precision

* Rename option and add abbreviation

* Make abbr more compact
2023-02-07 08:55:35 +01:00
J. Nick Koston
3aa744ed19 Fix indent on slow_range_in_select for MySQL/MariaDB (#87581)
We would calculate this value and throw it away
because it was only used on first_connection
2023-02-06 23:59:54 -05:00
J. Nick Koston
8757e1ced8 Bump inkbird-ble to 0.5.6 (#87590)
changelog: https://github.com/Bluetooth-Devices/inkbird-ble/compare/v0.5.5...v0.5.6

fixes #85432
2023-02-06 23:59:21 -05:00
J. Nick Koston
37e6e67542 Bump sensorpro-ble to 0.5.3 (#87591)
changelog: https://github.com/Bluetooth-Devices/sensorpro-ble/compare/v0.5.1...v0.5.3

same fix as #85432 but for sensorpro
2023-02-06 23:59:17 -05:00
J. Nick Koston
a582f8181c Bump thermopro-ble to 0.4.5 (#87592)
changelog: https://github.com/Bluetooth-Devices/thermopro-ble/compare/v0.4.3..v0.4.5

same fix as #85432 but for thermopro
2023-02-06 23:59:13 -05:00
J. Nick Koston
4c06e00ea6 Bump bluemaestro-ble to 0.2.3 (#87594)
changelog: https://github.com/Bluetooth-Devices/bluemaestro-ble/compare/v0.2.1..v0.2.3

same fix as #85432 but for bluemaestro
2023-02-06 23:59:09 -05:00
J. Nick Koston
e8027ebab2 Bump sensorpush-ble to 1.5.5 (#87595)
* Bump sensorpush-ble to 1.5.4

changelog: https://github.com/Bluetooth-Devices/sensorpush-ble/compare/v1.5.2..v1.5.4

same fix as #85432 but for sensorpush

* bump again to fix parser with passive scans
2023-02-06 23:59:05 -05:00
Paulus Schoutsen
400c88a1cc OpenAI: Ignore devices without a name (#87558)
Ignore devices without a name
2023-02-06 23:57:08 -05:00
Marc Mueller
ea4e2ab4aa Add Self typing (4) [mypy 1.0] (#87601) 2023-02-06 22:30:22 -06:00
Marc Mueller
f7b39aa4a8 Add Self typing (3) [mypy 1.0] (#87600) 2023-02-06 22:30:07 -06:00
Marc Mueller
342b406dc0 Add Self typing (1) [mypy 1.0] (#87598) 2023-02-06 22:29:47 -06:00
Marc Mueller
a5d376069a Add Self typing (2) [mypy 1.0] (#87599) 2023-02-06 23:23:52 -05:00
Allen Porter
37bb1e8948 Improve rainbird device reliability by sending requests serially (#87603)
Send rainbird requests serially
2023-02-06 19:57:16 -08:00
Marc Mueller
af59623601 Enable local_partial_types for strict typing [mypy] (#86409) 2023-02-06 20:41:39 -06:00
Kevin Worrel
687d326bb4 Support local push updates for most ScreenLogic entities (#87438)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-02-06 20:13:36 -06:00
Marc Mueller
4fbb14ecc7 Update mypy to 1.0.0 (#87586) 2023-02-07 02:31:14 +01:00
Paulus Schoutsen
ff6e597a63 Add Matter to supported standards for brands (#87564)
* Add Matter standard to TP-Link

* --amend
2023-02-06 20:09:01 -05:00
Marc Mueller
e348c25e18 Pin platformdirs to resolve dependency conflict (#87589) 2023-02-06 18:58:00 -06:00
Martin Hjelmare
f378dcdc30 Fix matter remove config entry device (#87571) 2023-02-06 22:41:52 +01:00
Luke
e53de2742c Bump oralb-ble to 0.17.4 (#87570)
closes undefined
2023-02-06 13:28:53 -06:00
karwosts
40086cc663 Remove default:0 from duration for timer.start service (#87553)
fixes undefined
2023-02-06 19:48:27 +01:00
Mark Huson
d2ec63d757 Update example data to define in as a dictionary (#87557) 2023-02-06 19:48:10 +01:00
Erik Montnemery
e4285b0186 Comment lack of rounding in AlexaTemperatureSensor (#87561) 2023-02-06 19:37:14 +01:00
Paulus Schoutsen
a090652560 Use correct state in Entity repr and output similar value to State class (#87519)
* Use correct state in Entity repr

* Test Entity.__repr__

* Align with State class
2023-02-06 13:35:36 -05:00
Maikel Punie
815ee58ea3 Bump velbus-aio to 2023.2.0 (#87562)
Bump valbusaio to 2023.2.0
2023-02-06 13:12:57 -05:00
Ben Corrado
fee693979d Add LD2410BLE support for new firmware version (#87507)
* Updated local_name to reflect the naming scheme in HLK firmware 2.01.23020209

* Adding generated bluetooth file.
2023-02-06 13:00:06 -05:00
Franck Nijhof
746afb70ba Fix pypi package translations + add translation build artifacts (#87548) 2023-02-06 11:21:57 -05:00
Maikel Punie
e1a3d61870 Velbus raise PlatformNotReady exception (#87526) 2023-02-06 17:21:53 +01:00
epenet
3d7ae84326 Remove use of HomeAssistantType (#87525) 2023-02-06 17:17:43 +01:00
rikroe
406a29912d Fix notify targets for bmw_connected_drive (#87503)
Co-authored-by: rikroe <rikroe@users.noreply.github.com>
2023-02-06 17:15:28 +01:00
snapcase
a61e87c46d Bump jaraco.abode to 3.3.0 (#87498)
Fixes https://github.com/home-assistant/core/issues/86765
fixes undefined
2023-02-06 17:12:54 +01:00
Maikel Punie
a11a43bb09 Add the correct loggers to velbus manifest.json (#87488) 2023-02-06 17:11:21 +01:00
Clifford Roche
0c8b7f1061 Bump greeclimate to 1.4.1 (#87513) 2023-02-06 17:08:26 +01:00
Michael Davie
61bf8fd02a Bump env_canada to 0.5.28 (#87509)
Co-authored-by: J. Nick Koston <nick@koston.org>
fixes undefined
2023-02-06 17:05:28 +01:00
MarkGodwin
ce9a514667 TP-Link Omada integration (#81223)
* TP-Link Omada integration
Support for PoE config of network switch ports

* Bump omada client version

* Fixing tests

* Refactored site config flow

* Code review comments

* Fixed tests and device display name issue

* Bump isort to fix pre-commit hooks

* Hassfest for the win

* Omada code review

* Black

* More config flow test coverage

* Full coverage for omada config_flow

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-02-06 10:57:18 -05:00
Kirill Kulakov
258357c2cd Xiaomi 2S air purifier mode selection support (#86649)
* Xiaomi 2S air purifier mode selection support

* Update homeassistant/components/xiaomi_miio/select.py

Co-authored-by: Teemu R. <tpr@iki.fi>

* rename fix translation keys and rename key to be specific to airpurifiers

Co-authored-by: Teemu R. <tpr@iki.fi>
2023-02-06 16:42:11 +01:00
epenet
de807fa782 Ensure __init__ return type is None (#87521)
* Ensure __init__ return type is None

* Remove hass-constructor plugin

* Simplify

* Replace dict with list

* Cleaup pyproject.toml

* Move is_method outside loop

* Adjust loop
2023-02-06 16:25:12 +01:00
Franck Nijhof
939eef3b28 Remove translations from Core (#87543)
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-02-06 15:06:43 +01:00
Jan Bouwhuis
4ad386d794 Correct type hints mqtt_client_mock and move new generator type (#87527)
* Correct mqtt_client_mock and move MqttMockType

* Rename MqttMockType to MqttMockGenerator

* Make types more specific

* adjust returntype _setup_mqtt_entry

* Correct return type _setup_mqtt_entry

* Update tests/conftest.py

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

* Update tests/conftest.py

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

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-02-06 15:05:06 +01:00
Jan Bouwhuis
212e172be2 Cleanup not used schema validator for MQTT vacuum (#87462)
* Cleanup not used schema validator for MTT vacuum

* Only leave warning
2023-02-06 13:34:36 +01:00
majuss
c597478a51 Bump lupupy to 0.2.7 (#87469) 2023-02-06 13:30:35 +01:00
epenet
bb3e0633a4 Add init return type to integrations (#87523)
Add type hints to integrations
2023-02-06 11:37:25 +01:00
ollo69
ade0d6fcae Use suggested_display_precision for AsusWrt sensors (#87396)
* Use native_precision for AsusWrt sensors

* Use  suggested_display_precision
2023-02-06 11:05:10 +01:00
J. Nick Koston
c7980bda82 Fix recorder run history during schema migration and startup (#87492)
Fix recorder run history during schema migration

RunHistory.get and RunHistory.current can be called before
RunHistory.start. We need to return a RecorderRuns object
with the recording_start time that will be used when start
it called to ensure history queries still work as expected.

fixes #87112
2023-02-05 22:12:41 -05:00
GitHub Action
f475446ebf [ci skip] Translation update 2023-02-06 00:23:07 +00:00
Martin Hjelmare
24bb3a705c Adjust matter test exception argument (#87282) 2023-02-06 01:02:06 +01:00
Matthias Alphart
0a2fc442a3 Update xknx to 2.4.0 - Support KNX Data Secure (#87502)
Update xknx to 2.4.0
2023-02-06 00:38:00 +01:00
rikroe
a367cd8d5c Bump bimmer_connected to 0.12.1 (#87506)
Co-authored-by: rikroe <rikroe@users.noreply.github.com>
fixes undefined
2023-02-05 17:34:52 -06:00
Ernst Klamer
d38ce1ad7a Bump xiaomi-ble to 0.16.1 (#87496)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-02-05 17:31:21 -06:00
J. Nick Koston
c11f3ffa17 Speed up purge time with newer MariaDB versions (#87409)
* Speed up purge time with newer MariaDB versions

* fix

* document

* document

* document

* rename

* self review

* Update homeassistant/components/recorder/util.py

* fixes
2023-02-05 17:58:34 -05:00
Nicklas Johnson
49d7bbe55d Fix emulated hue SO_REUSEPORT when creating the upnp socket for proper sharing (#86916)
Co-authored-by: J. Nick Koston <nick@koston.org>
fixes undefined
2023-02-05 14:57:22 -06:00
Franck Nijhof
d389de71f5 Coordinator refactor in Elgato (#87490) 2023-02-05 21:54:30 +01:00
Martin Hjelmare
0aa489e3f0 Refactor tradfri switch tests (#86816)
Co-authored-by: Patrik Lindgren <21142447+ggravlingen@users.noreply.github.com>
2023-02-05 21:02:17 +01:00
Raman Gupta
a2530e7f19 Add RF region property to zwave_js/network_status cmd (#87236) 2023-02-05 14:13:55 -05:00
Michael
9911dcfb73 Bump py-synologydsm-api to 2.1.4 (#87471)
fixes undefined
2023-02-05 13:06:17 -06:00
Robert Hillis
d5b2062774 Disable uptime sensor by default in Unifi (#87484)
Disable Uptime sensor by default in Unifi
2023-02-05 19:28:28 +01:00
Franck Nijhof
1cd7f221d5 Update elgato to 4.0.1 (#87479) 2023-02-05 19:22:15 +01:00
Nathan Spencer
11ccd166fe Use pybalboa 1.0.0 (#87214)
* Use pybalboa 1.0.0

* Code changes per PR review
2023-02-05 19:10:35 +01:00
krahabb
899342d391 Refactor async_call_later to improve performance and reduce conversion loss (#87117)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-02-05 12:04:38 -06:00
Gregory Haynes
936ffafd27 Add missing name field to emulated_hue config (#87456)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-02-05 11:34:37 -06:00
Cameron Gray
04e05af44c Add log for successful update in no ip (#87441)
* Add Success logging as info message

Create "Info Log" for when domain is successfully updated.

* Update homeassistant/components/no_ip/__init__.py

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

* Closing Parenthesis added

* amend as per black suggestion

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-02-05 11:38:59 +01:00
Paulus Schoutsen
1c88195d32 2023.2.2 (#87433) 2023-02-04 22:01:23 -05:00
Franck Nijhof
d82e409d8e Update black to 23.1.0 (#87188) 2023-02-04 21:26:10 -05:00
Steffen Zimmermann
329d50865a Use official unit of measure for Lux in wiffi component (#87377)
use official unit of measure for Lux in wiffi component

Add a mapping for the wiffi unit of illuminance 'lux' to the Home Assistant unit 'lx'. This fixed the following warning during startup:

```
2023-02-04 10:28:30.653 WARNING (MainThread) [homeassistant.components.sensor] Entity sensor.helligkeit (<class 'homeassistant.components.wiffi.sensor.NumberEntity'>) is using native unit of measurement 'lux' which is not a valid unit for the device class ('illuminance') it is using; expected one of ['lx']; Please update your configuration if your entity is manually configured, otherwise create a bug report at https://github.com/home-assistant/core/issues?q=is%3Aopen+is%3Aissue+label%3A%22integration%3A+wiffi%22
```
2023-02-04 21:11:52 -05:00
Paulus Schoutsen
3253eeca7a Bumped version to 2023.2.2 2023-02-04 21:08:23 -05:00
J. Nick Koston
f4f1b0dfc5 Bump aiohomekit to 2.4.6 (#87427)
fixes #86083

changelog: https://github.com/Jc2k/aiohomekit/compare/2.4.5...2.4.6
2023-02-04 21:08:15 -05:00
J. Nick Koston
1f08fc72bb Disable mopeka accelerometer sensors by default (#87420)
* Disable mopeka accelerometer sensors by default

These generate a significant amount of noise and are
only useful when placing the sensor. Disable them by
default. This not a breaking change because existing
preferences are preserved.

* adjust tests
2023-02-04 21:08:14 -05:00
J. Nick Koston
323ab97ff5 Ignore invalid zeroconf names from devices with broken firmwares (#87414) 2023-02-04 21:08:13 -05:00
Vincent Knoop Pathuis
93229196d8 Fix state class in Enphase Envoy (#87397)
* Change total_increasing to total

* As suggested in PR: only Last Seven Days TOTAL
2023-02-04 21:08:12 -05:00
Aarni Koskela
23e04ba891 Fix Ruuvi Gateway data being ignored when system is not using UTC time (#87384) 2023-02-04 21:08:11 -05:00
Jc2k
2d5ab5a0dc Fix exception when trying to poll a HomeKit device over Thread with no active encryption context (#87379)
Bump aiohomekit==2.4.5
2023-02-04 21:08:10 -05:00
Matthew Donoughe
30f63ae0ea Update pylutron-caseta to 0.18.1 (#87361)
update pylutron-caseta to 0.18.1
2023-02-04 21:08:09 -05:00
Luke
2d85890789 Bump oralb-ble to 0.17.2 (#87355) 2023-02-04 21:08:08 -05:00
Michael
c791a7c7fb Bump py-synologydsm-api to 2.1.2 (#87324)
fixes undefined
2023-02-04 21:08:07 -05:00
G Johansson
fe7c7001ad Fix code format issue in Yale Smart Alarm (#87323)
fixes undefined
2023-02-04 21:08:06 -05:00
Koen van Zuijlen
6d2a2b1c91 Fixed parser for zeversolar hardware version M10 (#87319)
fixes undefined
2023-02-04 21:08:05 -05:00
Artem Draft
1df7fcea09 Fix Bravia TV refreshing zero volume level (#87318)
fixes undefined
2023-02-04 21:08:04 -05:00
Franck Nijhof
681de9a516 Don't override icon in sensor group when device class is set (#87304) 2023-02-04 21:08:03 -05:00
Franck Nijhof
a5378ec9a8 Fix incorrect description in sensor group config flow (#87298) 2023-02-04 21:08:02 -05:00
Franck Nijhof
54687d6b56 Extend state class sensor warnings with expected values (#87294) 2023-02-04 21:08:01 -05:00
epenet
4c0ea397c8 Bump sfrbox-api to 0.0.6 (#87281) 2023-02-04 21:08:00 -05:00
epenet
9769a0f0ec Fix volume state class in renault (#87280) 2023-02-04 21:07:59 -05:00
starkillerOG
e78dd34a45 Bump reolink-aio to 0.3.4 (#87272) 2023-02-04 21:07:58 -05:00
G Johansson
6543a1169b Filesize timestamp remove state class (#87247)
fixes undefined
2023-02-04 21:07:57 -05:00
jjlawren
012ba55154 Handle failed Sonos subscriptions better (#87240)
Catch unsubscribe failure separately from ZGS poll
2023-02-04 21:07:56 -05:00
Brett Adams
e12425c229 Fix call values in Aussie Broadband (#87229)
Fixed calls values

Added lamda for International, Voicemail, and Other calls.
2023-02-04 21:07:55 -05:00
J. Nick Koston
5aaddf72e6 Add missing mopeka translations (#87421)
fixes #87163
2023-02-04 20:08:18 -05:00
Vincent Knoop Pathuis
65f660b7d4 Fix state class in Enphase Envoy (#87397)
* Change total_increasing to total

* As suggested in PR: only Last Seven Days TOTAL
2023-02-04 20:06:42 -05:00
J. Nick Koston
f60b805fb9 Bump aiohomekit to 2.4.6 (#87427)
fixes #86083

changelog: https://github.com/Jc2k/aiohomekit/compare/2.4.5...2.4.6
2023-02-04 20:05:40 -05:00
Poltorak Serguei
4a83a63b32 Add Z-Wave.Me cover stop command (#87428)
* Add stop command to cover

* Add type annotation

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-02-05 01:25:07 +01:00
Raman Gupta
e3b820d9db Simplify zwave_js code (#87235) 2023-02-05 01:20:17 +01:00
epenet
2f3b509513 Refactor onewire options flow (#87162)
* Refactor onewire options flow

* Adjust

* Apply suggestions from code review

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

* Use async_entries_for_config_entry

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-02-05 01:18:20 +01:00
Ty Parker
a703aa1dff Add repeat options to tplink sequence effect service (#86040)
Add repeat options to sequence effect service
2023-02-05 00:14:25 +01:00
J. Nick Koston
4d0e236c6a Ignore invalid zeroconf names from devices with broken firmwares (#87414) 2023-02-04 16:29:03 -06:00
J. Nick Koston
3be6d4dcfb Disable mopeka accelerometer sensors by default (#87420)
* Disable mopeka accelerometer sensors by default

These generate a significant amount of noise and are
only useful when placing the sensor. Disable them by
default. This not a breaking change because existing
preferences are preserved.

* adjust tests
2023-02-04 22:34:34 +02:00
epenet
19e27f4f52 Ensure recorder api aligns with sensor converters (#87257) 2023-02-04 14:28:47 -06:00
Erik Montnemery
bcc1aa03b4 Move sensor rounding to frontend (#87330)
* Move sensor rounding to frontend

* Update integrations

* Add comment
2023-02-04 14:54:36 -05:00
Aarni Koskela
ee6773236e Update Ruff to 0.0.241 (#87386)
Changes: https://github.com/charliermarsh/ruff/compare/v0.0.237...v0.0.241
2023-02-04 14:42:36 -05:00
Aarni Koskela
72cb58e850 Fix Ruuvi Gateway data being ignored when system is not using UTC time (#87384) 2023-02-04 12:12:34 -06:00
epenet
f6c76372ce Ensure hass is typed (#87068)
* Ensure hass is typed

* Adjust pilight

* Adjust homeassistant scene

* Adjust hassio

* Adjust gree

* Adjust google_maps

* Adjust energyzero

* Adjust harmony

* Adjust mobile_app
2023-02-04 12:52:59 -05:00
Franck Nijhof
3d557b5583 Collection of code styling tweaks (#87381) 2023-02-04 12:52:26 -05:00
Franck Nijhof
e55f11296e Fix accidentally introduced breaking change in number entity (#87383) 2023-02-04 14:32:33 +01:00
Franck Nijhof
9e775c43af Fix typing issue in easyEnergy (#87371) 2023-02-04 13:42:03 +01:00
Jc2k
2c648172d3 Fix exception when trying to poll a HomeKit device over Thread with no active encryption context (#87379)
Bump aiohomekit==2.4.5
2023-02-04 11:38:22 +00:00
Erik Montnemery
0d713809e7 Store preferred dataset separately in thread dataset store (#87378) 2023-02-04 06:33:17 -05:00
Luke
ff7c455478 Bump oralb-ble to 0.17.2 (#87355) 2023-02-04 11:54:38 +01:00
Franck Nijhof
bf482eee24 Extend state class sensor warnings with expected values (#87294) 2023-02-04 11:49:24 +01:00
Raman Gupta
95e8717fb4 Bump zwave-js-server-python to 0.45.1 (#87309) 2023-02-04 11:23:48 +02:00
Matthew Donoughe
7e6fb98d17 Update pylutron-caseta to 0.18.1 (#87361)
update pylutron-caseta to 0.18.1
2023-02-04 10:17:16 +01:00
Franck Nijhof
9ead071202 Tiny cleanup in Number base entity (#87339) 2023-02-04 10:04:44 +01:00
Paulus Schoutsen
fc38b4327f Add support for multiple conversation agents (#87337)
* Add support for multiple conversation agents

* Lock initializing default agent

* Allow unsetting agent when never set
2023-02-03 23:35:29 -05:00
GitHub Action
3f992ed31d [ci skip] Translation update 2023-02-04 00:23:44 +00:00
Franck Nijhof
28b6306ad6 Remove use of Number DEVICE_CLASSES_SCHEMA from MQTT (#87345) 2023-02-04 00:08:15 +01:00
Franck Nijhof
fcb612cd6f Collection of code styling tweaks (#87344) 2023-02-03 23:51:27 +01:00
Artem Draft
3ccd0ef013 Fix Bravia TV refreshing zero volume level (#87318)
fixes undefined
2023-02-03 23:22:33 +01:00
Franck Nijhof
ca1a12898c Enable Ruff D212 (#87347) 2023-02-03 23:08:48 +01:00
Jan Bouwhuis
97de0c6d9a Late review on added type hint MQTT fixture (#87342) 2023-02-03 22:22:52 +01:00
Shay Levy
3cb9b273c9 Add Shelly Pro 3EM energy sensors (#86476)
* Add Shelly Pro 3EM energy sensors

* Add total and total returned energy counters

* Set single phase energy counters disabled by default
2023-02-03 23:18:59 +02:00
Franck Nijhof
0de7be7803 Update whois to 0.9.27 (#87305) 2023-02-03 15:49:02 -05:00
Franck Nijhof
f3e74469db Update coverage to 7.1.0 (#87328) 2023-02-03 15:48:47 -05:00
Raman Gupta
86cef27e1c Rename zwave_js ws API command (#87336) 2023-02-03 15:26:20 -05:00
Erik Montnemery
6f097eecc3 Add WS commands thread/list_datasets, thread/get_dataset_tlv (#87333) 2023-02-03 15:22:31 -05:00
Marc Mueller
04b921e3b5 Update pip constraint to 23.1 (#87331) 2023-02-03 21:02:35 +01:00
Eduard van Valkenburg
fd4851053c Bump azure-eventhub to 5.11.1 (#87175)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-02-03 21:01:33 +01:00
G Johansson
96128340a0 Fix code format issue in Yale Smart Alarm (#87323)
fixes undefined
2023-02-03 20:04:51 +01:00
Franck Nijhof
e794dd0078 Download/Update translations on build (#87289) 2023-02-03 20:00:01 +01:00
Klaas Schoute
3723241937 Add easyEnergy integration (#86266) 2023-02-03 19:56:17 +01:00
starkillerOG
4c1147e62b Reolink add number platform (#87217)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-02-03 19:29:27 +01:00
Jan Bouwhuis
3edfd10f2d Add type hints for MQTT common helper and fixtures (#87065) 2023-02-03 19:27:46 +01:00
Glenn Waters
71200baa8f Bump UPB integration library to 0.5.3 (#86740) 2023-02-03 19:27:27 +01:00
Koen van Zuijlen
c6338b7ba1 Fixed parser for zeversolar hardware version M10 (#87319)
fixes undefined
2023-02-03 18:46:11 +01:00
epenet
cd99cdbc7d Fix missing property in bosch_shc (#87260) 2023-02-03 18:41:47 +01:00
Michael
efb8cb8c90 Bump py-synologydsm-api to 2.1.2 (#87324)
fixes undefined
2023-02-03 18:39:30 +01:00
Erik Montnemery
4f94c7cab6 Add thread WS API (#87307) 2023-02-03 11:47:09 -05:00
epenet
b03f4fa1d3 Improve type hints in cloud (#87263) 2023-02-03 17:10:25 +01:00
epenet
ad039b5ffc Fix geniushub type hint (#87258) 2023-02-03 17:10:01 +01:00
epenet
9400dac905 Improve type hints in melcloud (#87264) 2023-02-03 17:09:34 +01:00
epenet
e40df09098 Improve type hints in edl21 (#87267) 2023-02-03 17:09:16 +01:00
G Johansson
b092698418 Fix UoM and device_class in Trafikverket Weather (#87308) 2023-02-03 17:07:50 +01:00
epenet
cf39403282 Improve type hints in google assistant (#87273) 2023-02-03 17:05:49 +01:00
Franck Nijhof
1b4f4edce2 Don't override icon in sensor group when device class is set (#87304) 2023-02-03 16:38:05 +01:00
epenet
61734f04b8 Re-enable Ruff D418 (#87302) 2023-02-03 16:33:03 +01:00
Erik Montnemery
4d4fb2477d Optionally update sensor units when unit system is changed (#83851) 2023-02-03 16:30:50 +01:00
Franck Nijhof
4b27af6a8f Re-enabled Ruff E713 (#87301) 2023-02-03 16:18:33 +01:00
epenet
5958e7c515 Improve type hints in evohome (#87266) 2023-02-03 16:18:10 +01:00
Paul Bottein
e77e49a87a Add icons for prusalink sensors and buttons (#87256)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-02-03 16:03:15 +01:00
epenet
923abdb02a Add configurator to strict typing (#87279) 2023-02-03 16:02:55 +01:00
epenet
9306e0371e Improve type hints in duckdns (#87270) 2023-02-03 16:00:34 +01:00
Franck Nijhof
695a453159 Fix incorrect description in sensor group config flow (#87298) 2023-02-03 15:59:34 +01:00
epenet
23a9b92a1c Improve type hints in homematicip_cloud (#87269) 2023-02-03 15:52:14 +01:00
Erik Montnemery
527de22adf Add thread dataset store (#87187)
* Add thread dataset store

* Address review comments

* Bump python-otbr-api to 1.0.3

* Remove stuff which we don't need yet
2023-02-03 09:47:41 -05:00
Franck Nijhof
1409b89af3 Sync input_select & select (#87255) 2023-02-03 15:43:17 +01:00
epenet
783e6fdd36 Ignore TAI8570 errors in onewire (#87154) 2023-02-03 09:11:54 -05:00
BasBruss
5422ef239b Fix monetary state class in tibber (#87274)
state_class=SensorStateClass.TOTAL for monetary data
2023-02-03 09:02:23 -05:00
epenet
e00622f137 Bump sfrbox-api to 0.0.6 (#87281) 2023-02-03 09:01:51 -05:00
epenet
2433fc2bab Fix volume state class in renault (#87280) 2023-02-03 09:01:25 -05:00
starkillerOG
37efd8938a Bump reolink-aio to 0.3.4 (#87272) 2023-02-03 09:00:22 -05:00
epenet
8c6eee7d38 Add type hints to configurator request_config (#87287) 2023-02-03 08:48:58 -05:00
epenet
810367b757 Fix can not typo (#87254) 2023-02-03 11:37:16 +01:00
Franck Nijhof
b8a1f87073 Fix schema typing on async_register_entity_service (#87250) 2023-02-03 11:25:02 +01:00
Erik Montnemery
91668f8599 Use SensorStateClass enum in sensor (#87066)
* Use SensorStateClass enum in sensor

* Apply suggestions from code review

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

* Update homeassistant/components/sensor/recorder.py

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

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-02-03 10:49:41 +01:00
Tobias Stanzel
2349aa73b2 Add Bosch SHC sensor state class (#86823)
Added missing state class
2023-02-03 10:27:21 +01:00
G Johansson
19b4cf4c8b Filesize timestamp remove state class (#87247)
fixes undefined
2023-02-03 09:15:54 +01:00
jjlawren
a8b7a32578 Handle failed Sonos subscriptions better (#87240)
Catch unsubscribe failure separately from ZGS poll
2023-02-02 23:42:36 -05:00
Marc Mueller
2c0c386ba7 Reduce required permissions for fritzbox_callmonitor (#87089)
* Test new FritzAuthorizationError

* Reduce required permissions
2023-02-02 21:13:53 -05:00
Brett Adams
904b25d0d2 Fix call values in Aussie Broadband (#87229)
Fixed calls values

Added lamda for International, Voicemail, and Other calls.
2023-02-02 21:10:47 -05:00
Crisicus
934bb3e0c1 Fix an extra quote typo in the percentage util (#87161) 2023-02-02 19:59:08 -06:00
Paulus Schoutsen
dbd8ffc282 2023.2.1 (#87221) 2023-02-02 20:52:38 -05:00
starkillerOG
25cfa8afdd Reolink simplify (#87224)
Simplify
2023-02-02 20:35:43 -05:00
GitHub Action
ce79b26ab6 [ci skip] Translation update 2023-02-03 00:25:31 +00:00
Paulus Schoutsen
372afc5c28 Bumped version to 2023.2.1 2023-02-02 16:48:09 -05:00
Karlie Meads
ed8a0ef0ea Fix disabled condition within an automation action (#87213)
fixes undefined
2023-02-02 16:48:04 -05:00
Michael
1d8f5b2e16 Bump py-synologydsm-api to 2.1.1 (#87211)
bump py-synologydsm-api to 2.1.1
2023-02-02 16:48:03 -05:00
Bram Kragten
75796e1f0f Update frontend to 20230202.0 (#87208) 2023-02-02 16:48:02 -05:00
mkmer
063bbe91d1 Bump AIOSomecomfort to 0.0.6 (#87203)
* Bump to 0.0.5

* Bump aiosomecomfort to 0.0.6

* lower case aiosomecomfort

* Fix other bad imports....

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-02-02 16:48:01 -05:00
mkmer
bfcae4e07b Add Reauth config flow to honeywell (#86170) 2023-02-02 16:48:00 -05:00
J. Nick Koston
be77d7daa5 Fix statistics graphs not loading with data_rate, electric_current, voltage, information, and unitless units (#87202)
* Add missing converts to recorder/statistics_during_period API

This was resulting in the stats graphs not loading on the frontend

* its in two places
2023-02-02 16:46:16 -05:00
starkillerOG
a58e4e0f88 Reolink unsubscribe webhook when first refresh fails (#87147)
* catch ValueError on webhook async_register

* add ONVIF to webhook_id

* Unsubscribe webhook when ConfigEntryNotReady for async_config_entry_first_refresh

* Revert catching ValueError
2023-02-02 16:46:15 -05:00
Dmitry Vlasov
56a583e6ac Add missing supported features to Z-Wave.Me siren (#87141) 2023-02-02 16:46:14 -05:00
epenet
517e89ab3c Add missing converters to recorder statistics (#87137) 2023-02-02 16:46:13 -05:00
epenet
ef8029ebbf Fix invalid state class in renault (#87135) 2023-02-02 16:46:12 -05:00
starkillerOG
264b6d4f77 Bump reolink-aio to 0.3.2 (#87121) 2023-02-02 16:46:11 -05:00
starkillerOG
b24d0a86ee Bump reolink_aio to 0.3.1 (#87118) 2023-02-02 16:46:10 -05:00
shbatm
8a7e2922c2 Support ISY994 Z-Wave motorized blinds as cover (#87102) 2023-02-02 16:46:09 -05:00
mkmer
e9c10de9a9 Bump AIOSomecomfort to 0.0.6 (#87203)
* Bump to 0.0.5

* Bump aiosomecomfort to 0.0.6

* lower case aiosomecomfort

* Fix other bad imports....

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-02-02 16:45:49 -05:00
Karlie Meads
e40a9822f5 Fix disabled condition within an automation action (#87213)
fixes undefined
2023-02-02 22:35:02 +01:00
epenet
11cb6b131f Improve type hints in saj (#87183) 2023-02-02 16:33:23 -05:00
epenet
cdc01fce4c Improve type hints in transmission (#87171) 2023-02-02 16:32:51 -05:00
epenet
111a77893e Improve type hints in whirlpool (#87169)
Imrpove type hints in whirlpool
2023-02-02 16:32:40 -05:00
epenet
8a58d1d321 Improve type hints in Xiaomi Miio (#87167)
Imrpove type hints in Xiaomi Miio
2023-02-02 16:32:12 -05:00
epenet
62482f3500 Improve typing in script integration (#87076) 2023-02-02 16:31:46 -05:00
epenet
ea3395d576 Improve typing in plaato (#87074) 2023-02-02 16:31:24 -05:00
epenet
275438adf3 Improve typing in ping binary sensor (#87073) 2023-02-02 16:31:09 -05:00
epenet
22c295fbdc Improve typing in ihc util (#87069) 2023-02-02 16:30:32 -05:00
epenet
a79be493e5 Adjust hass_client type hint in integration tests (#86954)
* Adjust hass_client type hint in integration tests

* Adjust hass_client_no_auth

* Fix rebase
2023-02-02 16:29:57 -05:00
GrahamJB1
8bff95014c Add modbus min/max values (#86131)
* modbus min/max values
Co-authored-by: jan iversen <jancasacondor@gmail.com>
2023-02-02 22:29:03 +01:00
Franck Nijhof
9f9873b39a Add ability to generate development translations for all integrations (#87197) 2023-02-02 16:27:51 -05:00
epenet
98198d3c1f Improve type hints in template (#87172) 2023-02-02 16:26:03 -05:00
epenet
9327947332 Improve type hints in onvif (#87184) 2023-02-02 16:25:43 -05:00
Bram Kragten
843e3ca9e6 Update frontend to 20230202.0 (#87208) 2023-02-02 16:11:01 -05:00
Michael
5d8bd0e2e5 Bump py-synologydsm-api to 2.1.1 (#87211)
bump py-synologydsm-api to 2.1.1
2023-02-02 16:10:51 -05:00
starkillerOG
f439a94a0d Reolink unsubscribe webhook when first refresh fails (#87147)
* catch ValueError on webhook async_register

* add ONVIF to webhook_id

* Unsubscribe webhook when ConfigEntryNotReady for async_config_entry_first_refresh

* Revert catching ValueError
2023-02-02 15:21:41 -05:00
Franck Nijhof
f9d7d65f3a Use template selector for prompt template in OpenAI (#87205)
* Use template selector for prompt template in OpenAI

* Fix tests

* Do not parse template result
2023-02-02 15:20:10 -05:00
J. Nick Koston
22698b1cc5 Fix statistics graphs not loading with data_rate, electric_current, voltage, information, and unitless units (#87202)
* Add missing converts to recorder/statistics_during_period API

This was resulting in the stats graphs not loading on the frontend

* its in two places
2023-02-02 14:52:55 -05:00
Franck Nijhof
3e087ac88c Adjust IoT Class of Reolink to local push (#87206) 2023-02-02 14:33:17 -05:00
shbatm
439232223a Support ISY994 Z-Wave motorized blinds as cover (#87102) 2023-02-02 14:27:30 -05:00
Jan Bouwhuis
d8bba6747e Address late review on readability sensor code (#87111)
* Improve readability _numeric_state_expected

* Update homeassistant/components/sensor/__init__.py
2023-02-02 20:22:33 +01:00
epenet
5df16d761c Cleanup coordinator in motion blinds (#87185) 2023-02-02 19:23:51 +01:00
J. Nick Koston
389fc515a1 Prevent overly large attributes from being stored in the database (#87105) 2023-02-02 11:49:33 -06:00
Franck Nijhof
5e81d28116 Update black to 23.1.0 (#87188) 2023-02-02 18:35:24 +01:00
Paul Bottein
f7666239ff Add author metadata for blueprints (#87070) 2023-02-02 11:00:26 -05:00
Marc Mueller
07a3046d11 Update pylint to 2.16.0 (#87083) 2023-02-02 12:49:01 +01:00
epenet
bd6a4d10ea Use try_parse_enum in integrations (#87085) 2023-02-02 12:34:01 +01:00
Dmitry Vlasov
4a38b622b2 Update zwave-me-ws version to 0.3.1 (#87145) 2023-02-02 12:02:29 +01:00
starkillerOG
d017214d8b Bump reolink-aio to 0.3.2 (#87121) 2023-02-02 11:24:06 +01:00
epenet
7643f98d20 Fix invalid state class in renault (#87135) 2023-02-02 10:38:21 +01:00
Dmitry Vlasov
41b9994218 Add missing supported features to Z-Wave.Me siren (#87141) 2023-02-02 10:36:38 +01:00
epenet
58596d205c Ensure sensor and recorder converters align (#87138) 2023-02-02 10:36:03 +01:00
epenet
cc469ab9a9 Add unit conversion to Power sensors (#87136)
* Add missing PowerConverter to UNIT_CONVERTERS

* Adjust tests
2023-02-02 10:27:12 +01:00
epenet
6806e85eab Add missing converters to recorder statistics (#87137) 2023-02-02 09:44:26 +01:00
J. Nick Koston
1fd58b6cb7 Fix a few cartesian products in recorder tests (#87106)
Fixes
```
recorder/test_init.py:251: SAWarning: SELECT statement has a cartesian product between FROM element(s) "states" and FROM element "state_attributes".  Apply join condition(s) between each element to resolve.
```
2023-02-02 07:47:09 +01:00
starkillerOG
29d6ae8d0c Bump reolink_aio to 0.3.1 (#87118) 2023-02-02 04:56:18 +01:00
GitHub Action
0f80932709 [ci skip] Translation update 2023-02-02 00:25:01 +00:00
Franck Nijhof
5fe3adff57 2023.2.0 (#87101) 2023-02-01 19:33:00 +01:00
Joakim Sørensen
4641497806 Bump isort from 5.11.4 to 5.12.0 (#86890) 2023-02-01 18:47:22 +01:00
Jan Bouwhuis
2e16b7e2df Add numeric_state_expected property to Sensor class (#87013)
* Add is_numeric property to Sensor class

* Follw up comment

* Update homeassistant/components/sensor/__init__.py

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

* Update homeassistant/components/sensor/__init__.py

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

* Tests and corrections

* Simplify converion check

* Correct custom device class handling

* Update homeassistant/components/sensor/__init__.py

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

* rename to numeric_state_expected

* Replace with new const

* Adjust docstr

* Update homeassistant/components/sensor/__init__.py

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

* Move to const

* Correct logic

* Do not use bool

* Adjust docstr must be numeric

* remote state from docstr

* protect numeric_state_expected

* Use try_parse_enum for custom class check

* Remove redundant type hints

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-02-01 18:45:13 +01:00
Franck Nijhof
eed15bb9fa Bumped version to 2023.2.0 2023-02-01 18:41:13 +01:00
Bram Kragten
7028aa7dac Update frontend to 20230201.0 (#87099) 2023-02-01 18:40:59 +01:00
Daniel Hjelseth Høyer
6c93b28374 Update pyTibber to 0.26.12 (#87098) 2023-02-01 18:40:55 +01:00
Paulus Schoutsen
65286d0544 Fix Assist skipping entities that are hidden or have entity category (#87096)
Skipping entities that are hidden or have entity category
2023-02-01 18:40:51 +01:00
J. Nick Koston
a678eee31b Reduce chance of queue overflow during schema migration (#87090)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-02-01 18:40:47 +01:00
mkmer
fe541583a8 Bump AIOAladdinConnect to 0.1.55 (#87086) 2023-02-01 18:40:44 +01:00
mkmer
eabcfa419e Bump AIOAladdinConnect to 0.1.54 (#86749) 2023-02-01 18:40:39 +01:00
J. Nick Koston
fb55933b0a Reduce chance of queue overflow during schema migration (#87090)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-02-01 18:34:40 +01:00
Bram Kragten
0a524833e3 Update frontend to 20230201.0 (#87099) 2023-02-01 18:06:12 +01:00
Daniel Hjelseth Høyer
54900ca25f Update pyTibber to 0.26.12 (#87098) 2023-02-01 18:04:24 +01:00
Paulus Schoutsen
f32f46aff5 Fix Assist skipping entities that are hidden or have entity category (#87096)
Skipping entities that are hidden or have entity category
2023-02-01 10:48:04 -06:00
Poltorak Serguei
97fac1dde8 Improve Z-Wave.Me integration description (#87088)
Z-Wave.Me integration Description improved
2023-02-01 16:50:53 +01:00
Michael
2f51059b7f Proper handling of authentication errors in AVM Fritz!Tools (#79434) 2023-02-01 16:03:18 +01:00
epenet
afa55156d6 Improve typing in nest legacy platforms (#87071) 2023-02-01 06:57:53 -08:00
mkmer
2412f7d266 Bump AIOAladdinConnect to 0.1.55 (#87086) 2023-02-01 15:57:21 +01:00
epenet
1225c5e97d Add enum util (#87082)
* Add enum helper

* docstring

* Move to util

* Add use case
2023-02-01 15:00:27 +01:00
epenet
8efd01b2e8 Type fixes for alexa entities (#87077)
* Type fixes for alexa entities

* Adjust get_type
2023-02-01 14:07:32 +01:00
epenet
10bfebed19 Improve typing in plex services (#87078) 2023-02-01 13:24:07 +01:00
epenet
5005ba0b4a Improve typing in philips_js coordinator (#87075) 2023-02-01 12:15:58 +01:00
epenet
2b4796b9ac Improve typing in unifi services (#87072) 2023-02-01 11:45:04 +01:00
Paulus Schoutsen
d57ce25287 Bumped version to 2023.2.0b9 2023-01-31 23:16:09 -05:00
Paulus Schoutsen
c786fe27d7 Guard what version we can install ESPHome updates with (#87059)
* Guard what version we can install ESPHome updates with

* Update homeassistant/components/esphome/dashboard.py
2023-01-31 23:16:04 -05:00
Paulus Schoutsen
fd3d76988e Trigger update of ESPHome update entity when static info updates (#87058)
Trigger update of update entity when static info updates
2023-01-31 23:16:03 -05:00
J. Nick Koston
c43174ee4b Ensure humidity is still exported to HomeKit when it is read-only (#87051)
* Ensure humidity is still exported to HomeKit when is cannot be set

We would only send humidity to HomeKit if the device supported
changing the humidity

* remove unrelated changes
2023-01-31 23:16:02 -05:00
Paulus Schoutsen
ad87c4557d Guard what version we can install ESPHome updates with (#87059)
* Guard what version we can install ESPHome updates with

* Update homeassistant/components/esphome/dashboard.py
2023-01-31 23:15:23 -05:00
Paulus Schoutsen
8417f22904 Trigger update of ESPHome update entity when static info updates (#87058)
Trigger update of update entity when static info updates
2023-01-31 22:13:41 -05:00
tronikos
f7ae265760 Google Assistant SDK: platinum quality scale (#86876) 2023-01-31 21:05:56 -05:00
J. Nick Koston
faf79d0b50 Ensure humidity is still exported to HomeKit when it is read-only (#87051)
* Ensure humidity is still exported to HomeKit when is cannot be set

We would only send humidity to HomeKit if the device supported
changing the humidity

* remove unrelated changes
2023-01-31 21:03:43 -05:00
GitHub Action
be73e43989 [ci skip] Translation update 2023-02-01 00:27:42 +00:00
Paulus Schoutsen
0bae47c992 Bumped version to 2023.2.0b8 2023-01-31 15:16:21 -05:00
Paulus Schoutsen
0d3a368a1f Improve JSON errors from HTTP view (#87042) 2023-01-31 15:16:16 -05:00
Franck Nijhof
c7871d13cf Fix Yamaha MusicCast zone sleep select entity (#87041) 2023-01-31 15:16:15 -05:00
J. Nick Koston
3d6ced2a16 Add a repair issue when using MariaDB is affected by MDEV-25020 (#87040)
closes https://github.com/home-assistant/core/issues/83787
2023-01-31 15:16:14 -05:00
Michael Hansen
2f403b712c Bump home-assistant-intents to 2023.1.31 (#87034) 2023-01-31 15:16:12 -05:00
mkmer
1caca91174 Honeywell Correct key name (#87018)
* Correct key name

* Logic error around setpoint and auto mode

* Set tempurature and setpoints correctly

* Only high/low in auto.
2023-01-31 15:16:11 -05:00
Franck Nijhof
1859dcf99b Only report invalid numeric value for sensors once (#87010) 2023-01-31 15:16:10 -05:00
Bouwe Westerdijk
c34eb1ad9d Bump plugwise to v0.27.5 (#87001)
fixes undefined
2023-01-31 15:16:08 -05:00
Paulus Schoutsen
be69e9579c Bump ESPHome Dashboard API 1.2.3 (#86997) 2023-01-31 15:16:07 -05:00
Michael Davie
ac6fa3275b Bump env_canada to 0.5.27 (#86996)
fixes undefined
2023-01-31 15:16:06 -05:00
J. Nick Koston
5284837c8f Add a repair issue when using MariaDB is affected by MDEV-25020 (#87040)
closes https://github.com/home-assistant/core/issues/83787
2023-01-31 20:42:07 +01:00
Paulus Schoutsen
9c0856787d Improve JSON errors from HTTP view (#87042) 2023-01-31 20:37:26 +01:00
Franck Nijhof
5b728a41de Fix Yamaha MusicCast zone sleep select entity (#87041) 2023-01-31 20:37:11 +01:00
mkmer
ee30f5afcc Honeywell Correct key name (#87018)
* Correct key name

* Logic error around setpoint and auto mode

* Set tempurature and setpoints correctly

* Only high/low in auto.
2023-01-31 12:59:06 -05:00
Michael Hansen
52cf6c7baf Fix assert order in intent tests (#87036)
Fix assert order
2023-01-31 10:59:00 -06:00
Michael Hansen
68450734f1 Bump home-assistant-intents to 2023.1.31 (#87034) 2023-01-31 10:23:03 -06:00
Álvaro Fernández Rojas
c780334608 Update AEMET-OpenData to v0.2.2 (#87017) 2023-01-31 16:48:51 +01:00
Matrix
d6e817aa62 Separate the yolink garage door device from the door sensor (#84561)
* Separate the garage door device from the door sensor

* Bump yolink api to 0.2.1

* fix suggest

* fix typos

* Bump yolink-api to 0.2.6

* Bump version to 0.2.7 and fix rename effects

* change aiohttp min version to 3.8.1
2023-01-31 14:50:19 +01:00
Franck Nijhof
4dba9c09fc Only report invalid numeric value for sensors once (#87010) 2023-01-31 12:44:18 +01:00
On Freund
35b82db8b0 Rympro integration code fixes (#86734)
* Address review comments

* Add coordinator.py to coveragerc

* Apply suggestions from code review

Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>

* Update homeassistant/components/rympro/coordinator.py

Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>

* Move SCAN_INTERVAL to coordinator.py

---------

Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2023-01-31 10:40:43 +01:00
Martin Mauch
a28e7e1541 Fix typo in EnOcean (#86868) 2023-01-31 09:49:37 +01:00
Bouwe Westerdijk
7f01d57965 Bump plugwise to v0.27.5 (#87001)
fixes undefined
2023-01-31 09:32:39 +01:00
epenet
0d018d53f1 Don't run tests if ruff fails (#87003) 2023-01-31 09:31:49 +01:00
Michael Davie
be25d17e02 Bump env_canada to 0.5.27 (#86996)
fixes undefined
2023-01-31 08:56:27 +01:00
epenet
7db166b515 Fix tests typing helper (#86956) 2023-01-31 08:48:35 +01:00
Jan Bouwhuis
33ede351f0 Cleanup code for parsing yaml MQTT config (#86944)
* Cleanup code for parsing yaml configs

* Add abstractmethod decorator to async_update

* Replace get() with default-list ensured by schema
2023-01-31 08:24:33 +01:00
Paulus Schoutsen
1c4ba61725 Bump ESPHome Dashboard API 1.2.3 (#86997) 2023-01-31 00:05:59 -05:00
Paulus Schoutsen
2f896c5df8 Bumped version to 2023.2.0b7 2023-01-30 23:47:52 -05:00
Paulus Schoutsen
c9e86ccd38 ESPHome handle remove password and no encryption (#86995)
* ESPHome handle remove password and no encryption

* Start reauth for invalid api password

---------

Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2023-01-30 23:47:48 -05:00
Paulus Schoutsen
8760227296 ESPHome discovered dashboard checks reauth flows (#86993) 2023-01-30 23:47:47 -05:00
Michael Hansen
edf02b70ea Prioritize entity names over area names in Assist matching (#86982)
* Refactor async_match_states

* Check entity name after state, before aliases

* Give entity name matches priority over area names

* Don't force result to have area

* Add area alias in tests

* Move name/area list creation back

* Clean up PR

* More clean up
2023-01-30 23:47:46 -05:00
shbatm
32a7ae6129 Bump pyisy to 3.1.11 (#86981)
* Bump pyisy to 3.1.10

* Bump pyisy to 3.1.11
2023-01-30 23:47:45 -05:00
Paulus Schoutsen
29056f1bd7 Check dashboard when showing reauth form (#86980) 2023-01-30 23:47:44 -05:00
puddly
01dea7773a Bump ZHA dependencies (#86979)
Bump ZHA dependency bellows from 0.34.6 to 0.34.7
2023-01-30 23:47:43 -05:00
Bram Kragten
688bba15ac Update frontend to 20230130.0 (#86978) 2023-01-30 23:47:42 -05:00
Franck Nijhof
f6230e2d71 Allow any state class when using the precipitation device class (#86977) 2023-01-30 23:47:41 -05:00
Steven Looman
6a9f06d36e Ensure a proper scope_id is given for IPv6 addresses when initializing the SSDP component (#86975)
fixes undefined
2023-01-30 23:47:40 -05:00
Steven Looman
dc50a6899a Fix error on empty location in ssdp messages (#86970) 2023-01-30 23:47:39 -05:00
Paul Bottein
d39d4d6b7f Uses PolledSmartEnergySummation for ZLinky (#86960) 2023-01-30 23:47:38 -05:00
ollo69
6a1710063a Catch AndroidTV exception on setup (#86819)
fixes undefined
2023-01-30 23:47:37 -05:00
puddly
565a9735fc ZHA config flow cleanup (#86742)
fixes undefined
2023-01-30 23:47:36 -05:00
mkmer
ba966bd0f7 Honeywell auto mode invalid attribute (#86728)
fixes undefined
2023-01-30 23:47:35 -05:00
Michael Hansen
c7b944ca75 Use device area id in intent matching (#86678)
* Use device area id when matching

* Normalize whitespace in response

* Add extra test entity
2023-01-30 23:47:34 -05:00
Michael Hansen
f4654128db Add synesthesiam as a codeowner on intent (#86998) 2023-01-30 23:46:42 -05:00
Michael Hansen
be69c81db5 Prioritize entity names over area names in Assist matching (#86982)
* Refactor async_match_states

* Check entity name after state, before aliases

* Give entity name matches priority over area names

* Don't force result to have area

* Add area alias in tests

* Move name/area list creation back

* Clean up PR

* More clean up
2023-01-30 23:46:25 -05:00
Marcel van der Veldt
f8c6e4c20a Add support for Hue Smart Scenes (Natural Lights) (#85517)
* Bump aiohue to 4.6.0

* fix device name for lights

* fix name for groups too

* ignore smart scenes

* bump to 4.6.1 instead

* Add support for Smart Scenes (Natural lights) in Hue

* update base entity class

* fix test fixture

* update tests

* fix scene test

* fix typo

* use underlying scene controller

* use enum value

* update tests

* add current scene name within smart scene

* extra attributes are only valid if the scene is active

* Update v2_resources.json

* typo

* fix after merge
2023-01-30 23:32:37 -05:00
Paulus Schoutsen
d88849fb04 ESPHome handle remove password and no encryption (#86995)
* ESPHome handle remove password and no encryption

* Start reauth for invalid api password

---------

Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2023-01-30 23:05:48 -05:00
PeteRager
e706696271 Nest - Climate shorten line to be less than 88 chars (#86989)
Lines to be less than 88
2023-01-30 19:14:24 -08:00
shbatm
53638ba138 Bump pyisy to 3.1.11 (#86981)
* Bump pyisy to 3.1.10

* Bump pyisy to 3.1.11
2023-01-30 21:36:51 -05:00
puddly
47453420c1 Bump ZHA dependencies (#86979)
Bump ZHA dependency bellows from 0.34.6 to 0.34.7
2023-01-30 21:35:27 -05:00
Bram Kragten
0c383e28c4 Update frontend to 20230130.0 (#86978) 2023-01-30 21:34:26 -05:00
Paulus Schoutsen
98b4a412f7 ESPHome discovered dashboard checks reauth flows (#86993) 2023-01-30 21:32:52 -05:00
GitHub Action
da35ac1942 [ci skip] Translation update 2023-01-31 00:25:29 +00:00
mkmer
365ce55d77 Honeywell auto mode invalid attribute (#86728)
fixes undefined
2023-01-31 00:04:00 +01:00
Michael Hansen
28affe91be Set synesthesiam as codeowner of conversation (#86958) 2023-01-30 23:02:25 +01:00
Paulus Schoutsen
2cdeb6f1cd Check dashboard when showing reauth form (#86980) 2023-01-30 22:46:42 +01:00
Steven Looman
7e206b5854 Fix error on empty location in ssdp messages (#86970) 2023-01-30 22:43:58 +01:00
Franck Nijhof
1edd00c51f Allow any state class when using the precipitation device class (#86977) 2023-01-30 22:43:23 +01:00
ollo69
772df02cce Catch AndroidTV exception on setup (#86819)
fixes undefined
2023-01-30 22:42:32 +01:00
puddly
8337d4613e ZHA config flow cleanup (#86742)
fixes undefined
2023-01-30 22:21:34 +01:00
Steven Looman
50373500c3 Ensure a proper scope_id is given for IPv6 addresses when initializing the SSDP component (#86975)
fixes undefined
2023-01-30 22:14:48 +01:00
Paul Bottein
a8b23d7139 Uses PolledSmartEnergySummation for ZLinky (#86960) 2023-01-30 22:10:55 +01:00
Paulus Schoutsen
0702314dcb Bumped version to 2023.2.0b6 2023-01-30 14:39:37 -05:00
Michael Hansen
81de0bba22 Performance improvements for Assist (#86966)
* Move hassil recognize into executor

* Bump hassil to 0.2.6

* Disable template parsing in name/area lists

* Don't iterate over hass.config.components directly
2023-01-30 14:38:27 -05:00
Paulus Schoutsen
0b015d46c3 Fix some mobile app sensor registration/update issues (#86965)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-01-30 14:38:26 -05:00
J. Nick Koston
0713e034b9 Silence spurious warnings about removing ix_states_entity_id with newer installs (#86961)
* Silence spurious warnings about removing ix_states_entity_id with newer installs

https://ptb.discord.com/channels/330944238910963714/427516175237382144/1069648035459641465

* Silence spurious warnings about removing ix_states_entity_id with newer installs

https://ptb.discord.com/channels/330944238910963714/427516175237382144/1069648035459641465
2023-01-30 14:38:25 -05:00
Mick Vleeshouwer
171acc22ca Fix ThreeWayHandle sensor in Overkiz integration (#86953)
Fix typo in sensor.py

Fixes https://github.com/home-assistant/core/issues/85913
2023-01-30 14:38:24 -05:00
J. Nick Koston
2e26a40bba Speed up live history setup if there is no pending data to commit (#86942) 2023-01-30 14:38:23 -05:00
Jan Bouwhuis
3f717ae854 Fix MQTT discovery failing after bad config update (#86935)
* Fix MQTT discovery failing after bad config update

* Update last discovery payload after update success

* Improve test, correct update assignment

* send_discovery_done to finally-catch vol.Error

* Just use try..finally

* Remove extra line

* use elif to avoid log confusion
2023-01-30 14:38:21 -05:00
Raman Gupta
c715534821 Bump zwave-js-server-python to 0.45.0 (#86771) 2023-01-30 14:27:37 -05:00
Paulus Schoutsen
e0f8b5bbd1 Fix some mobile app sensor registration/update issues (#86965)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-01-30 20:08:19 +01:00
Michael Hansen
f7fdaadde0 Performance improvements for Assist (#86966)
* Move hassil recognize into executor

* Bump hassil to 0.2.6

* Disable template parsing in name/area lists

* Don't iterate over hass.config.components directly
2023-01-30 12:25:22 -06:00
Jan Bouwhuis
e57dad79fc Fix MQTT discovery failing after bad config update (#86935)
* Fix MQTT discovery failing after bad config update

* Update last discovery payload after update success

* Improve test, correct update assignment

* send_discovery_done to finally-catch vol.Error

* Just use try..finally

* Remove extra line

* use elif to avoid log confusion
2023-01-30 19:15:11 +01:00
J. Nick Koston
00118a6f96 Speed up live history setup if there is no pending data to commit (#86942) 2023-01-30 19:00:34 +01:00
J. Nick Koston
f874258e7e Silence spurious warnings about removing ix_states_entity_id with newer installs (#86961)
* Silence spurious warnings about removing ix_states_entity_id with newer installs

https://ptb.discord.com/channels/330944238910963714/427516175237382144/1069648035459641465

* Silence spurious warnings about removing ix_states_entity_id with newer installs

https://ptb.discord.com/channels/330944238910963714/427516175237382144/1069648035459641465
2023-01-30 12:38:33 -05:00
Erik Montnemery
53c5f02ca2 Remove some dead code from recorder (#86697) 2023-01-30 18:37:48 +01:00
Shay Levy
857df05308 Add Shelly Gen2 update entity for sleeping devices (#86837) 2023-01-30 19:05:13 +02:00
PeteRager
d22e670334 Avoid Nest climate set_temperature eating error (#86920)
* Update climate_sdm.py

* Update test case to detect KeyError

* Throw a defined exception if the condition in encoutered

Include keys from device_traits in error message

* Less diagnostic information in error message
2023-01-30 08:01:41 -08:00
Marc Mueller
2c12171e25 Update actions/cache to v3.2.4 (#86943) 2023-01-30 16:42:01 +01:00
Mick Vleeshouwer
98a79dd5a2 Fix ThreeWayHandle sensor in Overkiz integration (#86953)
Fix typo in sensor.py

Fixes https://github.com/home-assistant/core/issues/85913
2023-01-30 17:15:53 +02:00
Paulus Schoutsen
a491bfe84c Bumped version to 2023.2.0b5 2023-01-30 09:13:30 -05:00
Erik Montnemery
423acfa93b Drop minus sign on negative zero (#86939)
* Drop minus sign on negative zero

* Add tests
2023-01-30 09:13:26 -05:00
J. Nick Koston
f14771ccf2 Fix old indices not being removed in schema migration leading to slow MySQL queries (#86917)
fixes #83787
2023-01-30 09:13:25 -05:00
Thomas Schamm
07e9b0e98b Add Bosch SHC description and host form strings (#86897)
* Add description to setup SHC II. Add missing host info in reauth_confirm

* Remove template value in en.json
2023-01-30 09:13:24 -05:00
J. Nick Koston
0d27ee4fd8 Cache the names and area lists in the default agent (#86874)
* Cache the names and area lists in the default agent

fixes #86803

* add coverage to make sure the entity cache busts

* add areas test

* cover the last line
2023-01-30 09:13:22 -05:00
Robert Hillis
71b13d8f3e Address Google mail late review (#86847) 2023-01-30 09:13:21 -05:00
Tom Puttemans
63c218060b Ignore empty payloads from DSMR Reader (#86841)
* Ignore empty payloads from DSMR Reader

* Simplify empty payload handling

If the native value hasn't changed, requesting to store it won't have a performance impact.

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

---------

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-01-30 09:13:20 -05:00
Tom Puttemans
73cd03255f Ignore empty payloads from DSMR Reader (#86841)
* Ignore empty payloads from DSMR Reader

* Simplify empty payload handling

If the native value hasn't changed, requesting to store it won't have a performance impact.

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

---------

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-01-30 08:56:57 -05:00
Erik Montnemery
d4489faa68 Drop minus sign on negative zero (#86939)
* Drop minus sign on negative zero

* Add tests
2023-01-30 08:31:27 -05:00
Maciej Bieniek
5f57648578 Use more human-readable sensor names in Airly (#86893)
* Use more human-readable sensor names

* Use abbreviations for long names
2023-01-30 08:29:06 -05:00
Ben Dews
21d1c647c5 Add configuration options to OpenAI integration (#86768)
* Added multiple features to OpenAI integration

* Fixed failed test

* Removed features and improved tests

* initiated component before starting options flow
2023-01-30 08:24:11 -05:00
Robert Hillis
032a37b121 Address Google mail late review (#86847) 2023-01-30 14:18:56 +01:00
Franck Nijhof
3b5fd4bd06 Enable Ruff TRY004 (#86811) 2023-01-30 14:06:52 +01:00
mkmer
7368c86ecb Add Reauth config flow to honeywell (#86170) 2023-01-30 13:57:14 +01:00
epenet
7e7a27f8b9 Add type hints to http client fixtures (#86795) 2023-01-30 13:40:07 +01:00
Maciej Bieniek
cc36848a6d Use native_precision instead of round in Accuweather (#86869) 2023-01-30 12:36:24 +01:00
Nick Touran
d2e75e4f7a Add Autofocus, IR lamp, and Wiper switches in ONVIF (#84317)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-01-30 12:08:07 +01:00
Maciej Bieniek
d485630ce9 Use device class ENUM for Accuweather pressure tendency sensor (#86887)
* Use device class ENUM for pressure tendency sensor

* Format
2023-01-30 12:03:23 +01:00
Franck Nijhof
a4fa0925b7 Small improvement to Withings tests (#86937) 2023-01-30 11:03:42 +01:00
Franck Nijhof
c56832bb2c Enable Ruff SIM300 (#86793) 2023-01-30 11:03:23 +01:00
Franck Nijhof
9ac8f9aa37 Revert "Adjust D-Link entity naming" (#86936) 2023-01-30 10:56:56 +01:00
Robert Hillis
709d1cb8af Adjust D-Link entity naming (#86906) 2023-01-30 10:29:12 +01:00
Franck Nijhof
1958dd5550 Update ruff to v0.0.237 (#86932) 2023-01-30 10:15:24 +01:00
Malte Franken
92a833b192 Bump aio_geojson_generic_client to 0.3 (#86918) 2023-01-30 10:11:41 +01:00
J. Nick Koston
4e9bd09d39 Fix old indices not being removed in schema migration leading to slow MySQL queries (#86917)
fixes #83787
2023-01-29 21:33:23 -05:00
GitHub Action
b82ecfdd28 [ci skip] Translation update 2023-01-30 00:21:11 +00:00
J. Nick Koston
0f4b17755e Improve logging and handling when websocket gets behind (#86854)
fixes undefined
2023-01-29 10:49:27 -10:00
J. Nick Koston
c612a92cfb Use python defaults for comparing State, LazyState, and Event objects (#86856)
* Speed up comparing State and Event objects

Use default python implementation for State and Event __hash__ and __eq__

The default implementation compared based on the id() of the object
which is effectively what we want here anyways. These overrides are
left over from the days when these used to be attrs objects

By avoiding implementing these ourselves all of the equality checks
can happen in native code

* tweak

* adjust tests

* write out some more

* fix test to not compare objects

* more test fixes

* more test fixes

* correct stats tests

* fix more tests

* fix more tests

* update sensor recorder tests
2023-01-29 13:31:43 -05:00
Joakim Sørensen
80ffac48a3 Revert "Mark repo as safe directory to git config (#83755)" (#86888)
This reverts commit dc000d2289.
2023-01-29 13:07:50 -05:00
Allen Porter
4f965f0eca Bump pyrainbird to 2.0.0 (#86851) 2023-01-29 15:11:56 +01:00
Joakim Sørensen
569bf3bb76 Bump pytautulli from 21.11.0 to 23.1.1 (#86891) 2023-01-29 15:07:05 +01:00
Joakim Sørensen
f9e8247401 Bump isort from 5.11.4 to 5.12.0 (#86890) 2023-01-29 15:04:17 +01:00
Malte Franken
344a0c55a5 Add integration_type to geo_json_events (#86878)
define integration type
2023-01-29 15:02:13 +01:00
Thomas Schamm
11e125f2e8 Add Bosch SHC description and host form strings (#86897)
* Add description to setup SHC II. Add missing host info in reauth_confirm

* Remove template value in en.json
2023-01-29 15:00:36 +01:00
J. Nick Koston
691a234090 Cache the names and area lists in the default agent (#86874)
* Cache the names and area lists in the default agent

fixes #86803

* add coverage to make sure the entity cache busts

* add areas test

* cover the last line
2023-01-29 07:16:29 -05:00
Maciej Bieniek
eebc338c3b Support native_precision in Airly integration (#86843)
* Use native_precision

* Refactor extra_state_attributes
2023-01-29 11:44:23 +01:00
Paulus Schoutsen
8a9de2671b Bumped version to 2023.2.0b4 2023-01-28 22:07:57 -05:00
J. Nick Koston
85d5ea2eca Fix v32 schema migration when MySQL global.time_zone is configured with non-UTC timezone (#86867)
* Fix v32 schema migration when MySQL timezone is not UTC

* tweak
2023-01-28 22:07:54 -05:00
Martin Hjelmare
55b5b36c47 Fix tradfri air quality device class (#86861) 2023-01-28 22:07:52 -05:00
J. Nick Koston
c9cf3c29f8 Improve websocket throughput of state changes (#86855)
After the start event we tend to get an event storm of state
changes which can get the websocket behind. #86854 will
help with that a bit, but we can reduce the overhead
to build a state diff when the attributes have not
changed
2023-01-28 22:07:52 -05:00
Robert Hillis
6db9653a87 Fix D-Link attributes (#86842)
* Fix D-Link attributes

* fix blocking call
2023-01-28 22:07:51 -05:00
Paul Bottein
9adaf27064 Update frontend to 20230128.0 (#86838) 2023-01-28 22:07:50 -05:00
J. Nick Koston
58de7b8df0 Fix v32 schema migration when MySQL global.time_zone is configured with non-UTC timezone (#86867)
* Fix v32 schema migration when MySQL timezone is not UTC

* tweak
2023-01-28 22:06:07 -05:00
Martin Hjelmare
b1e939d1f1 Fix tradfri air quality device class (#86861) 2023-01-28 22:05:31 -05:00
J. Nick Koston
ec3475910f Improve websocket throughput of state changes (#86855)
After the start event we tend to get an event storm of state
changes which can get the websocket behind. #86854 will
help with that a bit, but we can reduce the overhead
to build a state diff when the attributes have not
changed
2023-01-28 22:05:06 -05:00
Robert Hillis
799edd90aa Fix D-Link attributes (#86842)
* Fix D-Link attributes

* fix blocking call
2023-01-28 22:03:58 -05:00
GitHub Action
0f6f63da64 [ci skip] Translation update 2023-01-29 00:26:29 +00:00
Paul Bottein
e93bfa6556 Update frontend to 20230128.0 (#86838) 2023-01-28 18:49:29 -05:00
Jan Bouwhuis
6a94a58325 Correct stale doc string for MQTT tag platform (#86862) 2023-01-29 00:23:22 +02:00
PeteRager
a7ddd592fb Nest improve error message on climate actions (#86853)
* Nest - Climate - Error Messages

1. Error messages were incorrect for some methods, for example async_set_temperature was reporting failure to set hvac_mode. This is corrected.
2. Error messages were incomplete and were not including the entity_id,and the operation being performed that failed.
3. Add unit tests to test the exception handling

* Move tests into exiisting error test

* Improve readability of error message
2023-01-28 12:58:28 -08:00
Allen Porter
733798f483 Fix nest climate set temperature error message string (#86852) 2023-01-28 11:02:46 -08:00
J. Nick Koston
af5fd74d6f Bump ismartgate to 5.0.0 (#86830)
python 3.11 support

changelog: https://github.com/bdraco/ismartgate/compare/v4.0.4...v5.0.0
2023-01-28 07:14:36 +01:00
Luca Angemi
efd2817221 Add state class to nest legacy sensors (#86810)
* Add state class to nest legacy sensors

Add state class (measurement) to humidity and temperature for the nest legacy sensors.

* Update

Update
2023-01-27 21:20:51 -08:00
Paulus Schoutsen
69ed30f743 Bumped version to 2023.2.0b3 2023-01-27 22:54:05 -05:00
shbatm
d33373f6ee Check for missing ISY994 Z-Wave Properties (#86829)
* Check for missing Z-Wave Properties

* Fix black from mobile
2023-01-27 22:54:01 -05:00
Robert Hillis
bedf5fe6cd Fix D-Link config flow auth (#86824) 2023-01-27 22:54:00 -05:00
Bouwe Westerdijk
29eb7e8f9e Bump plugwise to v0.27.4 (#86812)
fixes undefined
2023-01-27 22:53:59 -05:00
J. Nick Koston
60b96f19b7 Fix Bluetooth discoveries missing between restarts (#86808)
* Fix Bluetooth discoveries missing between restarts

* do not load other integrations

* coverage
2023-01-27 22:53:58 -05:00
J. Nick Koston
0a6ce35e30 Chunk MariaDB and Postgresql data migration to avoid running out of buffer space (#86680)
* Chunk MariaDB data migration to avoid running out of buffer space

This will make the migration slower but since the innodb_buffer_pool_size
is using the defaul to 128M and not tuned to the db size there is a
risk of running out of buffer space for large databases

* Update homeassistant/components/recorder/migration.py

* hard code since bandit thinks its an injection

* Update homeassistant/components/recorder/migration.py

* guard against manually modified data/corrupt db

* adjust to 10k per chunk

* adjust to 50k per chunk

* memory still just fine at 250k

* but slower

* commit after each chunk to reduce lock pressure

* adjust

* set to 0 if null so we do not loop forever (this should only happen if the data is missing)

* set to 0 if null so we do not loop forever (this should only happen if the data is missing)

* tweak

* tweak

* limit cleanup

* lower limit to give some more buffer

* lower limit to give some more buffer

* where required for sqlite

* sqlite can wipe as many as needed with no limit

* limit on mysql only

* chunk postgres

* fix limit

* tweak

* fix reference

* fix

* tweak for ram

* postgres memory reduction

* defer cleanup

* fix

* same order
2023-01-27 22:53:57 -05:00
J. Nick Koston
d97a061285 Chunk MariaDB and Postgresql data migration to avoid running out of buffer space (#86680)
* Chunk MariaDB data migration to avoid running out of buffer space

This will make the migration slower but since the innodb_buffer_pool_size
is using the defaul to 128M and not tuned to the db size there is a
risk of running out of buffer space for large databases

* Update homeassistant/components/recorder/migration.py

* hard code since bandit thinks its an injection

* Update homeassistant/components/recorder/migration.py

* guard against manually modified data/corrupt db

* adjust to 10k per chunk

* adjust to 50k per chunk

* memory still just fine at 250k

* but slower

* commit after each chunk to reduce lock pressure

* adjust

* set to 0 if null so we do not loop forever (this should only happen if the data is missing)

* set to 0 if null so we do not loop forever (this should only happen if the data is missing)

* tweak

* tweak

* limit cleanup

* lower limit to give some more buffer

* lower limit to give some more buffer

* where required for sqlite

* sqlite can wipe as many as needed with no limit

* limit on mysql only

* chunk postgres

* fix limit

* tweak

* fix reference

* fix

* tweak for ram

* postgres memory reduction

* defer cleanup

* fix

* same order
2023-01-27 22:39:45 -05:00
shbatm
e2edbc4259 Check for missing ISY994 Z-Wave Properties (#86829)
* Check for missing Z-Wave Properties

* Fix black from mobile
2023-01-27 22:16:28 -05:00
J. Nick Koston
d0c7f42559 Fix Bluetooth discoveries missing between restarts (#86808)
* Fix Bluetooth discoveries missing between restarts

* do not load other integrations

* coverage
2023-01-27 22:16:16 -05:00
Robert Hillis
b69576d6de Add D-link tests (#86825)
* Fix D-Link config flow auth

* Add tests to D-Link

* pyupgrade
2023-01-27 22:15:27 -05:00
Robert Hillis
adb0d85511 Fix D-Link config flow auth (#86824) 2023-01-27 21:38:25 -05:00
GitHub Action
072f228e4d [ci skip] Translation update 2023-01-28 00:23:36 +00:00
Shay Levy
803cd8d9a3 Handle state unknown if last state is missing in Shelly (#86813)
Shelly - handle state unknown if last state is missing
2023-01-27 23:34:56 +01:00
Ville Skyttä
50c2992f36 Drop py39 from black target-version (#86814) 2023-01-27 22:39:52 +02:00
dependabot[bot]
15492aead0 Bump tibdex/github-app-token from 1.7.0 to 1.8.0 (#86767)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-27 20:35:56 +01:00
Bouwe Westerdijk
661f7e1522 Bump plugwise to v0.27.4 (#86812)
fixes undefined
2023-01-27 20:00:44 +01:00
Franck Nijhof
e9543a7254 Enable Ruff PT021 (#86801) 2023-01-27 17:14:04 +01:00
Franck Nijhof
8f74bff354 Enable Ruff PLC0414 (#86799) 2023-01-27 16:32:04 +01:00
Shay Levy
f9f9741d2a Separate Shelly tests parameters in parametrize (#86778)
Shelly tests - separate parameters in parametrize
2023-01-27 14:28:35 +01:00
Franck Nijhof
ef800335fb Enable Ruff PT022 (#86792)
* Enable Ruff PT022

* Adjust found cases
2023-01-27 13:57:06 +01:00
Franck Nijhof
8c993116e1 Enable Ruff SIM401 (#86790)
* Enable Ruff SIM401

* Adjust found cases
2023-01-27 13:08:44 +01:00
Franck Nijhof
bfbf9b9751 Adjusts imports in tests to match our relative import rules (#86788) 2023-01-27 12:51:58 +01:00
Franck Nijhof
89c0b27b42 Migrates tests to use UnitOfPressure enum (#86785) 2023-01-27 12:13:27 +01:00
epenet
561fc2d771 Remove deprecated unit system properties (#86643)
* Remove deprecated unit system properties

* Fix tests
2023-01-27 12:09:26 +01:00
Franck Nijhof
3ff3834cae Re-enable Ruff UP024 (#86784) 2023-01-27 12:03:27 +01:00
Franck Nijhof
a79885ceaf Enable Ruff SIM117 (#86783) 2023-01-27 11:52:49 +01:00
Franck Nijhof
57cf11f067 Enable Ruff PT015 (#86775) 2023-01-27 11:10:29 +01:00
Franck Nijhof
49148421cb Migrates tests to use UnitOfSpeed enum (#86777) 2023-01-27 10:58:55 +01:00
Franck Nijhof
fca3382d37 Migrates tests to use MediaPlayerEntityFeature enum (#86779) 2023-01-27 10:56:40 +01:00
Franck Nijhof
42c4f2f7fa Add ability for pytest to run only on changed tests in codebase (#86776) 2023-01-27 10:35:18 +01:00
Shay Levy
ae6bc96002 Shelly code quality (#86733) 2023-01-27 10:47:05 +02:00
Franck Nijhof
e4a78420b8 Enable Ruff PT013 (#86757)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-01-27 09:09:46 +01:00
Malte Franken
bd9a8ba6f1 Bump aio_georss_gdacs to 0.8 (#86761)
bump aio_georss_gdacs to 0.8
2023-01-27 08:44:30 +01:00
Paulus Schoutsen
6397cc5d04 Bumped version to 2023.2.0b2 2023-01-26 21:47:21 -05:00
Jesse Hills
b7311dc655 Remove esphome password from config flow data if not needed (#86763)
* Remove esphome password if not needed

* Add test

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-01-26 21:47:00 -05:00
Paulus Schoutsen
e20c7491c1 ESPHome update: Store reference to runtime data, not one of its values (#86762)
Store reference to runtime data, not one of its values
2023-01-26 21:46:59 -05:00
Aaron Bach
8cbefd5f97 Fix state class issues in Ambient PWS (#86758)
fixes undefined
2023-01-26 21:46:58 -05:00
Paulus Schoutsen
c7665b479a OpenAI: Fix device without model (#86754) 2023-01-26 21:46:57 -05:00
Shay Levy
4f2966674a Bump aioshelly to 5.3.1 (#86751) 2023-01-26 21:46:56 -05:00
Franck Nijhof
b464179eac Fix state classes for duration device class (#86727) 2023-01-26 21:46:55 -05:00
Franck Nijhof
cd59705c4b Remove gas device class from current sensor in dsmr_reader (#86725) 2023-01-26 21:46:54 -05:00
Martin Hjelmare
77bd23899f Bump python-matter-server to 2.0.2 (#86712) 2023-01-26 21:46:53 -05:00
David F. Mulcahey
d211603ba7 Update Inovelli Blue Series switch support in ZHA (#86711) 2023-01-26 21:46:52 -05:00
Erik Montnemery
1dc3bb6eb1 Terminate strings at NUL when recording states and events (#86687) 2023-01-26 21:46:51 -05:00
Robert Svensson
22afc7c7fb Fix missing interface key in deCONZ logbook (#86684)
fixes undefined
2023-01-26 21:46:50 -05:00
Paulus Schoutsen
ba82f13821 Make openai conversation prompt template more readable + test case (#86676) 2023-01-26 21:46:49 -05:00
MHFDoge
41add96bab Add known webostv button to list (#86674)
Add known button to list.
2023-01-26 21:46:48 -05:00
Andrey Kupreychik
c8c3f4bef6 Update ndms2_client to 0.1.2 (#86624)
fix https://github.com/home-assistant/core/issues/86379
fixes undefined
2023-01-26 21:46:47 -05:00
Patrick ZAJDA
8cb8ecdae9 Migrate Nuki to new entity naming style (#80021)
Co-authored-by: Pascal Vizeli <pvizeli@syshack.ch>
2023-01-26 21:46:46 -05:00
Pascal Reeb
bd1371680f Add device registration to the Nuki component (#79806)
* Add device registration to the Nuki component

* Name is always given by the API

* implement pvizeli's suggestions

* switch device_registry to snake_case

* fix entity naming

* unify manufacturer names
2023-01-26 21:46:45 -05:00
Jesse Hills
78207121c0 Remove esphome password from config flow data if not needed (#86763)
* Remove esphome password if not needed

* Add test

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-01-26 21:45:51 -05:00
Paulus Schoutsen
687184138c ESPHome update: Store reference to runtime data, not one of its values (#86762)
Store reference to runtime data, not one of its values
2023-01-26 21:45:42 -05:00
Franck Nijhof
e738924780 Enable Ruff SIM105 (#86759)
* Enable Ruff SIM105

* Adjust existing cases
2023-01-26 21:06:22 -05:00
GitHub Action
71d7098530 [ci skip] Translation update 2023-01-27 00:25:12 +00:00
Aaron Bach
020d52c3e2 Fix state class issues in Ambient PWS (#86758)
fixes undefined
2023-01-27 00:14:46 +01:00
Marc Mueller
b84cf3a3d9 Improve bosch_shc config_flow typing (#86739) 2023-01-26 23:39:12 +01:00
Shay Levy
2c8cb13034 Bump aioshelly to 5.3.1 (#86751) 2023-01-27 00:34:31 +02:00
Paulus Schoutsen
9cd48b4999 OpenAI: Fix device without model (#86754) 2023-01-26 23:25:02 +01:00
tronikos
04bc522fa5 Google Assistant SDK: Test unload when enable_conversation_agent (#86707)
Test unload when enable_conversation_agent
2023-01-26 16:17:23 -05:00
Marc Mueller
caa1ba7e13 Improve nuki typing (#86736)
* Use NukiCoordinator

* Make NukiEntity generic

* Remove unnecessary ABC
2023-01-26 23:03:36 +02:00
mkmer
138a522d2e Bump AIOAladdinConnect to 0.1.54 (#86749) 2023-01-26 23:00:54 +02:00
Franck Nijhof
62dcbe5258 Enable Ruff PT001 (#86730) 2023-01-26 18:05:05 +01:00
Franck Nijhof
7ed9967245 Fix state classes for duration device class (#86727) 2023-01-26 17:26:52 +01:00
epenet
b3380261d7 Add hints to get_service in azure service bus (#86694) 2023-01-26 17:20:52 +01:00
Franck Nijhof
eb5d63237c Update ruff to v0.0.235 (#86719) 2023-01-26 17:17:13 +01:00
epenet
2bef69c6a7 Add hints to get_service in integrations (1/2) (#86692) 2023-01-26 16:56:57 +01:00
epenet
0d579f6ac3 Add hints to get_service in integrations (2/2) (#86693) 2023-01-26 16:55:57 +01:00
epenet
8a5a1b810a Add hints to get_service in netgear-lte (#86700) 2023-01-26 16:54:57 +01:00
epenet
95d0329d6c Add hints to get_service in tplink-lte (#86702) 2023-01-26 16:53:24 +01:00
Franck Nijhof
d4955a3d87 Replace assert False by raising an error (#86686) 2023-01-26 16:51:43 +01:00
Michael Hansen
adeaf746ec Use device area id in intent matching (#86678)
* Use device area id when matching

* Normalize whitespace in response

* Add extra test entity
2023-01-26 09:48:49 -06:00
Franck Nijhof
38203003d2 Remove gas device class from current sensor in dsmr_reader (#86725) 2023-01-26 16:44:52 +01:00
epenet
25c451832b Remove pragma: no cover when not raising (#86706) 2023-01-26 16:34:05 +01:00
StefanIacobLivisi
468457eff4 Bump aiolivisi to 0.0.15 (#86721) 2023-01-26 16:28:16 +01:00
epenet
7af86fe130 Improve notify type hints (#86685) 2023-01-26 16:23:03 +01:00
Marc Mueller
54fcf58449 Use mypy caching [ci] (#86715) 2023-01-26 15:59:37 +01:00
Martin Hjelmare
c727f403ff Bump python-matter-server to 2.0.2 (#86712) 2023-01-26 15:43:12 +01:00
Robert Svensson
4181a9baf0 Improve Axis config flow tests (#86644)
* Improve Axis config flow tests

* Don't use prepare_config_entry
2023-01-26 14:29:06 +01:00
David F. Mulcahey
6e285c87c3 Update Inovelli Blue Series switch support in ZHA (#86711) 2023-01-26 08:27:44 -05:00
Patrick ZAJDA
2e70de9dd9 Migrate Nuki to new entity naming style (#80021)
Co-authored-by: Pascal Vizeli <pvizeli@syshack.ch>
2023-01-26 13:50:19 +01:00
mkmer
6ea234ed57 Add DeviceInfo to Honeywell (#86179)
* Add DeviceInfo
Add has_entity_name

* has_entity_name to class attribute

* Update homeassistant/components/honeywell/sensor.py

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

* Update homeassistant/components/honeywell/sensor.py

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

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-01-26 13:28:36 +01:00
MHFDoge
282d6af2a2 Add known webostv button to list (#86674)
Add known button to list.
2023-01-26 13:55:07 +02:00
Pascal Reeb
484e73beaa Add device registration to the Nuki component (#79806)
* Add device registration to the Nuki component

* Name is always given by the API

* implement pvizeli's suggestions

* switch device_registry to snake_case

* fix entity naming

* unify manufacturer names
2023-01-26 12:38:10 +01:00
Robert Svensson
9a6e620810 Fix missing interface key in deCONZ logbook (#86684)
fixes undefined
2023-01-26 11:44:01 +01:00
epenet
1139555448 Add hints to get_service in kodi (#86698) 2023-01-26 11:40:48 +01:00
epenet
cbcff6435f Add hints to get_service in joaoapps join (#86699) 2023-01-26 11:15:00 +01:00
Erik Montnemery
fea30c1ce9 Terminate strings at NUL when recording states and events (#86687) 2023-01-26 11:11:03 +01:00
epenet
b9ffc67a44 Add hints to get_service in syslog (#86701) 2023-01-26 11:10:50 +01:00
epenet
ca8cc284ed Add hints to get_service in rest (#86703) 2023-01-26 11:08:06 +01:00
Paulus Schoutsen
ff91fb7d74 Make openai conversation prompt template more readable + test case (#86676) 2023-01-26 11:04:15 +01:00
Franck Nijhof
021ac84405 Add recorder platform to required test category (#86704) 2023-01-26 11:03:56 +01:00
Franck Nijhof
17d3159e77 Remove unneeded use of keys() in ZHA (#86668)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-01-26 11:02:46 +01:00
Andrey Kupreychik
fa7ad20372 Update ndms2_client to 0.1.2 (#86624)
fix https://github.com/home-assistant/core/issues/86379
fixes undefined
2023-01-26 08:53:20 +01:00
Paulus Schoutsen
8f684e962a Bumped version to 2023.2.0b1 2023-01-25 23:00:35 -05:00
Paulus Schoutsen
07a1259db9 Add error handling for OpenAI (#86671)
* Add error handling for OpenAI

* Simplify area filtering

* better prompt
2023-01-25 23:00:28 -05:00
David F. Mulcahey
ea2bf34647 Bump ZHA quirks lib (#86669) 2023-01-25 23:00:27 -05:00
J. Nick Koston
a6fdf1d09a Correct units on mopeka battery voltage sensor (#86663) 2023-01-25 23:00:26 -05:00
Paulus Schoutsen
9ca04dbfa1 Google Assistant: unset agent on unload (#86635) 2023-01-25 23:00:24 -05:00
Paulus Schoutsen
e1c8dff536 Fix oauth2 error (#86634) 2023-01-25 23:00:23 -05:00
Joakim Plate
a1416b9044 Print expected device class units in error log (#86125) 2023-01-25 23:00:22 -05:00
Paulus Schoutsen
28a3b4a32c Add error handling for OpenAI (#86671)
* Add error handling for OpenAI

* Simplify area filtering

* better prompt
2023-01-25 22:17:19 -05:00
David F. Mulcahey
c395698ea2 Bump ZHA quirks lib (#86669) 2023-01-25 22:15:09 -05:00
Paulus Schoutsen
e06603bbbd Google Assistant: unset agent on unload (#86635) 2023-01-25 21:33:30 -05:00
J. Nick Koston
4cafd393c6 Correct units on mopeka battery voltage sensor (#86663) 2023-01-26 02:14:59 +01:00
Franck Nijhof
e50a531cd9 Code styling tweaks to the tests - Part 2 (#86662)
Co-authored-by: jjlawren <jjlawren@users.noreply.github.com>
2023-01-26 01:23:53 +01:00
GitHub Action
7ab88fa713 [ci skip] Translation update 2023-01-26 00:23:39 +00:00
Franck Nijhof
4955dd3e1b Code styling tweaks to Nexia tests (#86660) 2023-01-25 23:36:17 +01:00
J. Nick Koston
1d1d69ca02 Update scaffold scripts to use async_forward_entry_setups (#86647) 2023-01-25 21:26:31 +01:00
Robert Svensson
a56f6cb863 Assert Axis config entry state not hass.data (#86648) 2023-01-25 21:15:03 +01:00
Franck Nijhof
7d672b4a4d Bump version to 2023.3.0dev0 (#86632) 2023-01-25 20:50:44 +01:00
Paulus Schoutsen
df0fc30695 Fix oauth2 error (#86634) 2023-01-25 20:50:16 +01:00
Joakim Plate
1b97a51b5e Print expected device class units in error log (#86125) 2023-01-25 20:45:50 +01:00
Franck Nijhof
123aafd772 Bumped version to 2023.2.0b0 2023-01-25 18:39:20 +01:00
Bram Kragten
74ae351ac0 Update frontend to 20230125.0 (#86628)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-01-25 18:37:23 +01:00
J. Nick Koston
03a8dcfdc1 Add Mopeka integration (#86500)
* Add Mopeka integration

Mopeka makes BLE propane tank monitors

* cover

* wip

* wip

* bump lib

* strip binary sensor

* all sensors

* all sensors

* update tests

* change quality

* change quality

* adjust

* integration_type, strict-typing
2023-01-25 12:28:13 -05:00
Duco Sebel
c5c7bb36cc Upgrade python-homewizard-energy to 1.8.0 (#86627) 2023-01-25 17:52:31 +01:00
Michael Hansen
c5c68cd429 Bump home-assistant-intents 2023.1.25 (#86626)
* Bump home-assistant-intents 2022.1.25

* Use correct year in home-assistant-intents package
2023-01-25 10:50:15 -06:00
Paulus Schoutsen
7d641e4d3e Add OpenAI integration (#86621)
* Add OpenAI integration

* Remove empty manifest fields

* More prompt tweaks

* Update manifest

* Update homeassistant/components/openai_conversation/config_flow.py

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

* Address comments

* Add full integration tests

* Cripple the integration

* Test single instance

Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-01-25 11:30:13 -05:00
tronikos
a85c4a1ddf Bump gassist-text to 0.0.10 (#85782)
* Bump gassist-text to 0.0.9

* Bump gassist-text to 0.0.10

* Clarify when it's empty response

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-01-25 11:01:33 -05:00
Martin Hjelmare
17f85165c8 Bump python-matter-server 2.0.1 (#86625) 2023-01-25 16:49:50 +01:00
Jon Caruana
bbed1099d5 Add diagnostics to LiteJet (#86600) 2023-01-25 16:41:59 +01:00
J. Nick Koston
7ddb467ba6 Increase async_setup_platforms deprecation logging to warning (#86582) 2023-01-25 14:38:26 +01:00
epenet
b2004e62b1 Remove ability to ignore coverage violations (#86597)
* Remove ability to ignore coverage violations

* Adjust codecov for required platforms

* Update codecov.yml
2023-01-25 14:27:16 +01:00
SgtBatten
0ccab19d2c Add Mega Joule as valid unit of energy (#86055)
* Add Mega joule

* Reorder valid energy types

Alphabetical

* Add Mega Joule

* Add Mega Joule as valid energy unit

* Add Mega Joule

* Add Mega Joule as a Unit of Measurement to Energy

* Update tests

* Update tests

* Update number docstring

Co-authored-by: Roving Ronin <108674933+Roving-Ronin@users.noreply.github.com>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-01-25 14:13:42 +01:00
Jan Bouwhuis
f182e314e5 Add number platform support to Alexa (#86553)
Co-authored-by: Mike Degatano <michael.degatano@gmail.com>
2023-01-25 13:34:53 +01:00
Petter Ljungqvist
23c9580a4a Change pressure unit of measurement from mbar to hPa in Netatmo integration (#86210)
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-01-25 13:18:47 +01:00
J. Nick Koston
a1ed2a57eb Migrate islamic_prayer_times to use async_forward_entry_setups (#86564)
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-01-25 12:45:09 +01:00
Allen Porter
7ff1265b10 Add service to create calendar events (#85805) 2023-01-25 12:43:50 +01:00
Franck Nijhof
5f1edbccd1 Remove Almond integration (#86616) 2023-01-25 12:21:26 +01:00
TheJulianJES
665a2889ec Add group support for ZHA ExecuteIfOff lights (#86465)
Add group support for ZHA "execute if off" lights
2023-01-25 06:18:23 -05:00
TheJulianJES
0cf676d501 Remove unnecessary ZHA AnalogInput sensors for Xiaomi plugs (#86261)
* Remove unnecessary ZHA AnalogInput sensors for Xiaomi plugs

* Remove AnalogInput entities from test
2023-01-25 06:17:33 -05:00
David F. Mulcahey
65a44cad8f Bump zha-quirks to 0.0.91 (#86590)
Bump ZHA quirks lib
2023-01-25 11:58:31 +01:00
Vaarlion
3007e0259d Add a contains jinja filter and test (#86390) 2023-01-25 11:51:47 +01:00
Erik Montnemery
f327a247a0 Allow a temperature sensor to be in K (#86073) 2023-01-25 11:47:52 +01:00
Malte Franken
a2fb6fbaa8 Bump httpx to 0.23.3 (#86614)
fixes undefined
2023-01-25 11:40:46 +01:00
Kevin Worrel
0eabc27982 Include all light circuit functions (#86608)
fixes undefined
2023-01-25 00:36:15 -10:00
Kevin Worrel
82f006bc5c Bump screenlogicpy to v0.6.4 (#86603)
fixes undefined
2023-01-25 00:31:31 -10:00
Martin Hjelmare
890c2277ca Fix matter clusters BasicInformation (#86615) 2023-01-25 11:19:52 +01:00
J. Nick Koston
6270f33bee Migrate samsungtv to use async_forward_entry_setups (#86575)
Replaces deprecated async_setup_platforms with async_forward_entry_setups
2023-01-25 11:17:24 +01:00
Stefan Agner
f3cf760772 Drop IoTaWatt Accumulated sensors (#86611) 2023-01-25 11:08:43 +01:00
Jesse Hills
d0b67689e0 Add issue to ESPHome deprecating api password (#86606)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-01-25 11:07:57 +01:00
Marc Mueller
60b799aac9 Misc typing improvements (#86550) 2023-01-25 11:05:36 +01:00
Malte Franken
0e9b74986f Bump aio_geojson_usgs_earthquakes to 0.2 (#86598)
bump aio_geojson_usgs_earthquakes to 0.2
2023-01-25 10:53:57 +01:00
epenet
a8c952f82f Mock async_setup_entry in SamsungTV tests (#86601)
* Mock async_setup_entry in samsungtv tests

* Adjust test_import_legacy_without_name

* Adjust test_form_reauth_encrypted

* Add specific test

* 100% coverage
2023-01-25 10:48:15 +01:00
epenet
5a77a2801b Address late review in SFRBox (#86604) 2023-01-25 10:46:45 +01:00
Kevin Stillhammer
781a4267cf Calculate data using all sections for here_travel_time (#86576)
Calculate data using all sections
2023-01-25 10:33:43 +01:00
J. Nick Koston
7bd56ad7d6 Migrate totalconnect to use async_forward_entry_setups (#86580)
* Migrate totalconnect to use async_forward_entry_setups

Replaces deprecated async_setup_platforms with async_forward_entry_setups

* fix double update and tests
2023-01-25 10:26:49 +01:00
J. Nick Koston
540eb8de16 Migrate tomorrowio to use async_forward_entry_setups (#86579)
Replaces deprecated async_setup_platforms with async_forward_entry_setups
2023-01-25 10:21:06 +01:00
J. Nick Koston
33c777529e Migrate melnor to use async_forward_entry_setups (#86572)
Replaces deprecated async_setup_platforms with async_forward_entry_setups
2023-01-25 10:20:34 +01:00
J. Nick Koston
b253bb841e Migrate lg_soundbar to use async_forward_entry_setups (#86570)
Replaces deprecated async_setup_platforms with async_forward_entry_setups
2023-01-25 10:20:09 +01:00
J. Nick Koston
f548ccfb92 Migrate Landis+Gyr to use async_forward_entry_setups (#86569)
Replaces deprecated async_setup_platforms with async_forward_entry_setups
2023-01-25 10:19:51 +01:00
J. Nick Koston
1a2652e1bb Migrate konnected to use async_forward_entry_setups (#86565)
* Migrate konnected to use async_forward_entry_setups

Replaces deprecated async_setup_platforms with async_forward_entry_setups

* update tests
2023-01-25 10:19:23 +01:00
J. Nick Koston
5285d057d2 Migrate cast to use async_forward_entry_setups (#86558)
Replaces deprecated async_setup_platforms with async_forward_entry_setups
2023-01-25 10:12:58 +01:00
J. Nick Koston
3bfdba50d9 Migrate homematicip_cloud to use async_forward_entry_setups (#86563)
* Migrate homematicip_cloud to use async_forward_entry_setups

Replaces deprecated async_setup_platforms with async_forward_entry_setups

* adapt test, this test should be rewritten
2023-01-25 10:01:51 +01:00
J. Nick Koston
e427a70dc7 Migrate heos to use async_forward_entry_setups (#86562)
* Migrate heos to use async_forward_entry_setups

Replaces deprecated async_setup_platforms with async_forward_entry_setups

* fix order
2023-01-25 10:00:55 +01:00
J. Nick Koston
c1e3c1a27c Migrate escea to use async_forward_entry_setups (#86559)
Replaces deprecated async_setup_platforms with async_forward_entry_setups
2023-01-25 10:00:12 +01:00
Maciej Bieniek
dae7bcf387 Migrate Shelly to the new entity naming style (#86574)
* Use new entity naming style in Shelly

* Suggested change

* Use lower case for gen2 description
2023-01-25 09:55:52 +01:00
Ernst Klamer
b76c0c6f08 Bump bthome-ble to 2.5.1 (#86584)
Bump bthome
2023-01-25 09:25:09 +01:00
Erik Montnemery
086a6460ef Allow customizing sensor state precision (#86074)
* Allow customizing sensor precision

* Don't convert integer strings to floats

* Tweak converting sensor state to number

* Drop default rounding to 2 decimals

* Adjust test

* Tweak rounding, improve test coverage

* Don't convert to a number if not necessary

* Raise if native_precision is set and state is not numeric

* Address review comments

* Address comments, simplify

* Don't call  property twice

* Make exception more helpful
2023-01-25 08:55:46 +01:00
Allen Porter
ba63a9600e Bump google-nest-sdm to 2.2.4 (#86595) 2023-01-25 08:29:07 +01:00
Malte Franken
e832ef78f8 Bump aio_geojson_nsw_rfs_incidents to 0.6 (#86583)
bump aio_geojson_nsw_rfs_incidents to 0.6
2023-01-25 08:27:34 +01:00
Paulus Schoutsen
6c8efe3a3b Conversation cleanup (#86592)
* Require config entry when setting Conversation agent, add new unset agent method

* Remove onboarding from conversation agent

* Type attribution

* Wrap async_process params in ConversationInput object
2023-01-24 21:47:49 -06:00
J. Nick Koston
5c6656dcac Migrate legacy nest to use async_forward_entry_setups (#86573)
Replaces deprecated async_setup_platforms with async_forward_entry_setups
2023-01-24 18:32:55 -08:00
GitHub Action
9636fe4602 [ci skip] Translation update 2023-01-25 00:24:21 +00:00
J. Nick Koston
a851b20c97 Ensure platform setup is awaited in zwave_me (#86581)
* Ensure platform setup is awaited in zwave_me

There was a race during setup since platform setup
was not being awaited and was being done in a task

Also migrates to using async_forward_entry_setups
instead of manually writing out async_forward_entry_setup

* Ensure platform setup is awaited in zwave_me

There was a race during setup since platform setup
was not being awaited and was being done in a task

Also migrates to using async_forward_entry_setups
instead of manually writing out async_forward_entry_setup
2023-01-24 23:49:02 +02:00
J. Nick Koston
4b427ec02c Migrate soundtouch to use async_forward_entry_setups (#86577)
Replaces deprecated async_setup_platforms with async_forward_entry_setups
2023-01-24 23:30:56 +02:00
J. Nick Koston
b507fb1e06 Migrate steam_online to use async_forward_entry_setups (#86578)
* Migrate steam_online to use async_forward_entry_setups

Replaces deprecated async_setup_platforms with async_forward_entry_setups

* fix steam_online tests
2023-01-24 23:30:28 +02:00
J. Nick Koston
a4c52567a7 Migrate life360 to use async_forward_entry_setups (#86571) 2023-01-24 10:42:24 -10:00
On Freund
2c9e8ad475 ReadYourMeter Pro integration (#85986)
* ReadYourMeter Pro integration

* Add __init__.py to .coveragerc

* Address code review comments

* More code review comments
2023-01-24 22:41:33 +02:00
Maciej Bieniek
52afdb4a8b Migrate NextDNS to use async_forward_entry_setups (#86567) 2023-01-24 10:26:03 -10:00
J. Nick Koston
099b844dce Migrate shelly to use async_forward_entry_setups (#86554)
Replaces deprecated async_setup_platforms with async_forward_entry_setups
2023-01-24 22:23:34 +02:00
Allen Porter
09891ead8d Add rainbird rain delay number entity, deprecating the sensor and service (#86208)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-01-24 21:16:52 +01:00
J. Nick Koston
da390dbd9a Migrate google_assistant to use async_forward_entry_setups (#86561)
Replaces deprecated async_setup_platforms with async_forward_entry_setups
2023-01-24 21:16:22 +01:00
J. Nick Koston
dbab57ba87 Migrate fjaraskupan to use async_forward_entry_setups (#86560)
Replaces deprecated async_setup_platforms with async_forward_entry_setups
2023-01-24 21:15:30 +01:00
J. Nick Koston
b91a0d21d2 Migrate anthemav to async_forward_entry_setups (#86557) 2023-01-24 20:33:45 +01:00
J. Nick Koston
c599d1e1f8 Migrate ambient_station to use async_forward_entry_setups (#86555) 2023-01-24 20:33:17 +01:00
G Johansson
b3c5c6ae9c Add sensor to group (#83186) 2023-01-24 20:12:27 +01:00
Ernst Klamer
886d2fc3a1 Add events for xiaomi-ble (#85139)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-01-24 08:48:30 -10:00
Marc Mueller
90fc8dd860 Add rss_feed_template to strict-typing (#86528)
Add rss_feed_template to strict-typing
2023-01-24 19:06:24 +01:00
puddly
4b88a71d60 Re-enable multi-PAN (#86533)
Revert "Disable multi-pan (#83603)"

This reverts commit 9c7b80090a.
2023-01-24 19:05:17 +01:00
Martin Hjelmare
ff5c1ce2d3 Bump python-matter-server to 2.0.0 (#86470) 2023-01-24 19:00:04 +01:00
Maciej Bieniek
9a68f0abe8 Store Shelly climate last_target_temp value in restore extra data (#86482)
fixes undefined
2023-01-24 07:28:34 -10:00
Marc Mueller
b89a51c63d Improve google_assistant typing (#86537) 2023-01-24 18:18:05 +01:00
tronikos
949c88930f Google Assistant SDK: Allow multiple commands in the same conversation context (#85423)
* Allow multiple commands in the same conversation

* fix test

* Apply suggestions from code review

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

* Add missing cv import

* Update service description

* Fix test after merging dev

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2023-01-24 11:54:23 -05:00
Shay Levy
0d3bf0e911 Fix Shelly sleeping Gen2 - update data upon initialize (#86544) 2023-01-24 18:38:27 +02:00
epenet
c3c290b576 Remove files with coverage > 97% from ignore list (#86466)
* Test coverage - no-ignore

* Remove helpers/typing and scripts/auth

* Remove files with coverage > 99%

* Remove files with coverage > 98%

* Remove files with coverage > 97%

* Remove duplicates
2023-01-24 17:31:23 +01:00
tronikos
0daaa37e09 Google Assistant SDK: support audio response playback (#85989)
* Google Assistant SDK: support response playback

* Update PATHS_WITHOUT_AUTH

* gassist-text==0.0.8

* address review comments
2023-01-24 08:19:23 -08:00
Niklas Dörfler
80a8da26bc Add additional property media_channel to media_player in squeezebox component (#86402)
Add additional property media_channel to media_player
2023-01-24 17:16:51 +01:00
Marc Mueller
310d7718a0 Improve bosch_shc typing (#86535) 2023-01-24 17:06:00 +01:00
Pascal Vizeli
6cad0c7984 Bump aioecowitt 2023.01.0 (#86531) 2023-01-24 18:01:32 +02:00
Marc Mueller
b4ddff751a Improve cast typing (#86536) 2023-01-24 16:48:01 +01:00
Marc Mueller
d684aa4225 Improve rflink typing (#86538) 2023-01-24 16:47:34 +01:00
Marc Mueller
43f3b0f933 Remove unused integration constants (#86542) 2023-01-24 16:36:29 +01:00
Marc Mueller
58e8f53117 Improve ring typing (#86539) 2023-01-24 16:35:11 +01:00
Marc Mueller
d36d98937d Replace None constants [minecraft_server] (#86540) 2023-01-24 16:34:04 +01:00
Marc Mueller
f8c0e80ef7 Replace None constant [ps4] (#86541) 2023-01-24 16:33:15 +01:00
eineinhornmiau
0530f61373 Fix wrong notification sound name in LaMetric (#86483)
Fix wrong notification sound name

The wrongly named sound "static" is actually called "statistic"
https://lametric-documentation.readthedocs.io/en/latest/reference-docs/device-notifications.html
2023-01-24 14:44:53 +01:00
Artem Draft
02e973026d Add browse media and play media support in Bravia TV (#85288)
* Add media browsing and play media support in Bravia TV

* Add fix invalid Bravia Content-Type header for icons

* Avoid duplicates in source_list

* Small cleanup

* Edit comment

* Revert en.json
2023-01-24 14:31:09 +01:00
Marc Mueller
e717f56113 Add lacrosse to strict-typing (#86527)
Add lacrosse to strict-typing
2023-01-24 14:27:01 +01:00
Franck Nijhof
73c4ac53d2 Enable T20 (flake8-print) to ban use of print statements (#86525)
* Enable T20 (flake8-print) to ban use of print statements

* Make compatible with flake8 config
2023-01-24 14:24:21 +01:00
Jon Caruana
c9499f6574 Add available to LiteJet (#86506)
* Set available attribute as needed.

* Log disconnect reason.

* Change the exception that is raised.

* Bump version.
2023-01-24 14:22:16 +01:00
jan iversen
d703a83412 Bump pymodbus to v3.1.1 (#86513) 2023-01-24 14:14:49 +01:00
epenet
e96cea997e Add reboot button to SFRBox (#86514) 2023-01-24 14:13:49 +01:00
epenet
44beb350cd Add scrape to strict-typing (#86515) 2023-01-24 14:11:56 +01:00
Guido Schmitz
a9533c72fc Bump devolo_plc_api to 1.1.0 (#86516) 2023-01-24 14:11:17 +01:00
Aarni Koskela
65ad953497 Update Ruff to 0.0.231, enable D401 (#86520) 2023-01-24 13:57:08 +01:00
Jan Bouwhuis
8d678209db Add translation support for select selectors of derivative config and option flow (#86190)
* Add translation support for derivative config flow

* Revert translation support for SI units

* Undo test changes

* Remove redundant labels
2023-01-24 13:49:07 +01:00
Jan Bouwhuis
1b1f8a1d61 Add translation support for select selectors of integration integration config flow (#86212)
* Translation support method

* Translation support time unit

* Remove redundant labels
2023-01-24 13:22:33 +01:00
Jan Bouwhuis
1b4fda2321 Add translations for type select selector min_max config and option flow (#86213)
* Add translations for type select selector min_max

* Remove redundant labels
2023-01-24 13:11:11 +01:00
Franck Nijhof
14d3911bfd Update pre-commit to 3.0.0 (#86518) 2023-01-24 13:09:01 +01:00
Jan Bouwhuis
09ca8465a6 Add translation support for trafikverket_ferry weekday setting in option flow (#86219)
Add translation trafikverket_ferry weekday setting
2023-01-24 12:53:55 +01:00
Jan Bouwhuis
c97cf62b47 Add translation support for utility_meter type in config flow (#86220)
* Add translation support for utility_meter type

* Remove redundant labels
2023-01-24 12:52:26 +01:00
Todd Radel
63bddae01d Replace abodepy library with jaraco.abode to enable new Abode devices (#85474)
* replaced abodepy library with jaraco.abode

* updated jaraco.abode to version 3.2.1

* send capture event as dict
2023-01-24 12:44:38 +01:00
Jan Bouwhuis
66f12d7dab Add translations for shelly ble scanner options in option flow (#86218)
* Add translations for shelly ble scanner options

* Remove redundant labels

* isort
2023-01-24 12:25:35 +01:00
Aarni Koskela
bf41a971a2 Introduce ruff (eventually replacing autoflake, pyupgrade, flake8) (#86224) 2023-01-24 12:15:16 +01:00
epenet
df0c0297c8 Bump sfrbox-api to 0.0.5 (#86512) 2023-01-24 13:12:21 +02:00
Joakim Plate
9f5b1e58cb Support playback of channel preset in philips_js (#86491)
* Correct invalid browse check

* Support play_media of channel number

* Use ChannelStep instead of Next/Previous
2023-01-24 11:53:17 +01:00
Franck Nijhof
b7de185924 Fix CI, missing import in MQTT (#86517) 2023-01-24 11:40:40 +01:00
epenet
22dee1f92b Add reauth to SFR Box (#86511) 2023-01-24 11:00:22 +01:00
Franck Nijhof
e084fe4903 Update spotipy to 2.22.1 (#86510) 2023-01-24 10:11:14 +01:00
Franck Nijhof
b29425a9eb Update debugpy to 1.6.6 (#86509) 2023-01-24 10:10:42 +01:00
Jan Bouwhuis
42ca46d7b2 Remove redundant label for MQTT CA verification selector (#86236)
Remove redundant label for MQTT CA verification
2023-01-24 09:38:00 +01:00
wibbit
3f4c8a28ec Update geniushub-client to 0.7.0 (#85058)
* Bump geniushub-client version

Hit an issue with the latest versions of software running on GeniusHub,
that requires a bump in the geniushub-client version to resolve.

This addresses GH 78799

* Update dependancy in additional location

As per PR guid (glad I read that), I've also updated the global
requirements_all.txt file
2023-01-24 09:15:08 +01:00
Malte Franken
9fb4f6b643 Bump aio_geojson_geonetnz_volcano to 0.8 (#86507) 2023-01-24 08:39:39 +01:00
Malte Franken
8981e4820a Bump aio_geojson_geonetnz_quakes to 0.15 (#86505) 2023-01-24 08:35:28 +01:00
Ville Skyttä
5f0adfe6e4 Add missing config flow abort strings (#86180)
* Add missing `already_configured` and `already_in_progress` abort strings

* Note required strings.json entries in config_entries aborting functions
2023-01-24 08:59:32 +02:00
epenet
3ec7f0280e Add authentication to SFR Box (#85757)
* Add credentials to SFR Box

* Make username/password inclusive

* Add handler for ConnectTimeout

* Use menu

* Drop get
2023-01-24 07:22:14 +01:00
Erik Montnemery
2ab3d3ebf5 Enable strict typing for the otbr integration (#86473)
* Enable strict typing for the otbr integration

* Bump python-otbr-api to 1.0.2
2023-01-24 06:55:12 +01:00
Michael Hansen
ea95abcb30 Use intent responses from home-assistant-intents (#86484)
* Use intent responses from home_assistant_intents

* Use error responses from home_assistant_intents

* Remove speech checks for intent tests (set by conversation now)

* Bump hassil and home-assistant-intents versions

* Use Home Assistant JSON reader when loading intents

* Remove speech checks for light tests (done in agent)

* Add more tests for code coverage

* Add test for reloading on new component

* Add test for non-default response
2023-01-23 22:38:41 -05:00
Shay Levy
6d811d3fdb Bump aioshelly to 5.3.0 (#86493) 2023-01-23 15:35:05 -10:00
Dan Simpson
66e21d7701 Add Powerwall off grid switch (#86357)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-01-23 15:03:15 -10:00
Joakim Plate
60894c33a7 Set correct step on nibe number entity (#86492) 2023-01-24 01:33:27 +01:00
GitHub Action
613aa6f43a [ci skip] Translation update 2023-01-24 00:24:57 +00:00
IceBotYT
94c7f7bbb7 Add 3 new fields to LaCrosse View (#86356)
* Add BarometricPressure, FeelsLike, and WindChill

* Improve test coverage
2023-01-24 01:11:07 +01:00
J. Nick Koston
7d1dec8d31 Bump yalexs_ble to 1.12.8 (#86481) 2023-01-23 12:01:12 -10:00
J. Nick Koston
978aafdd09 Update esphome bluetooth client for python 3.11 (#86480) 2023-01-23 21:36:19 +01:00
Shay Levy
e15aaf2853 Fix Shelly RPC key instances handling (#86479)
Fix Shelly key instances handling
2023-01-23 22:12:29 +02:00
Franck Nijhof
c1332f68b3 Small adjustments to API docs config (#86474) 2023-01-23 19:58:39 +01:00
Shay Levy
e3b81ad170 Add Shelly Pro 3EM sensors (#86403)
* Add Shelly Pro 3EM sensors

* Fix Apparent Power sensor device class

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

* Adapt entity naming to new style

Co-authored-by: Maciej Bieniek <bieniu@users.noreply.github.com>
2023-01-23 18:59:55 +02:00
Martin Hjelmare
51001ad1e1 Add matter diagnostics (#86091)
* Add matter diagnostics

* Complete test typing

* Rename redact attributes helper

* Adjust device lookup after identifier addition
2023-01-23 11:05:09 -05:00
930913
295308c39c Add gates to LD2410BLE (#86412)
* Add gates to LD2410BLE

Add max motion/static gates sensors, and all the motion/static energy
gate sensors.
Also a minor fix of a description.

* Make added LD2410 BLE entities diagnostic

* Apply suggestions from code review

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2023-01-23 11:01:44 -05:00
epenet
b4dd1b8cb2 Rename logbook constant (#86464) 2023-01-23 18:00:25 +02:00
epenet
15ab04f97d Prevent wilcard coverage ignore if tests exist (#86455) 2023-01-23 16:33:57 +01:00
Jan Bouwhuis
33fb27eb1a Rename fake kitchen_sink demo locks to more common name (#86452) 2023-01-23 16:31:02 +01:00
Erik Montnemery
9ef86b7b66 Add Thread integration (#86283)
* Add Thread integration

* Address review comments

* Address review comments
2023-01-23 10:27:24 -05:00
uvjustin
c15f4ad648 Update stream timestamp discontinuity check with audio (#86446) 2023-01-23 16:27:09 +01:00
Marc Mueller
7c8f6e9fad Drop unused dtype (#86459) 2023-01-23 16:24:02 +01:00
Jan Bouwhuis
8672be3829 Always add code to template vars MQTT lock command template (#86460)
Always add `code` to template vars lock cmd tpl
2023-01-23 16:08:25 +01:00
Erik Montnemery
052145fabd Fix grammar in some hassio docstrings (#86458) 2023-01-23 15:45:08 +01:00
Marc Mueller
6f94e47270 Update Union typing (6) [Py310] (#86454) 2023-01-23 15:01:07 +01:00
G Johansson
68dd2802a1 Add remove entity in group.set service (#79401)
* Group set remove entities

* simplify

* Add test

* Fix test
2023-01-23 15:00:40 +01:00
epenet
74a76c6fe7 Don't ignore diagnostics coverage (#86440) 2023-01-23 14:55:02 +01:00
Jan Bouwhuis
f719ecf086 Add command template and code_format support for MQTT lock (#85830)
* Add command template for MQTT lock

* Fix tests
2023-01-23 14:48:07 +01:00
Marc Mueller
00e5f23249 Update Union typing (zha) [Py310] (#86453) 2023-01-23 14:46:40 +01:00
TheJulianJES
6582ee3591 Use ExecuteIfOff on color cluster for supported bulbs with ZHA (#84874)
* Add options and execute_if_off_supported properties to Color channel

* Initialize "options" attribute on Color channel (allowing cache)

* Implement execute_if_off_supported for ZHA lights

* Make sure that color_channel exists, before checking execute_if_off_supported

* Replace "color_channel is not None" check with simplified "if color_channel"

* Make "test_number" test expect "options" for init attribute

* Add test_on_with_off_color test to test old and new behavior

* Experimental code to also support "execute_if_off" for groups if all members support it

* Remove support for groups for now

Group support will likely be added in a separate PR. For now, the old/standard behavior is used for groups.
2023-01-23 07:58:18 -05:00
mbo18
29e3d06a42 Add unit and device class to ZHA RSSI sensor (#85390)
* Add unit device class to ZHA RSSI sensor

* Remove unit and device class for LQI

* mypy

* isort

* mypy2

* Update sensor.py
2023-01-23 07:36:21 -05:00
Jan Bouwhuis
b03677db1c Add validation for lock component (#85842)
* Add validation for lock integration

* Add LockEntityFeature.OPEN for lock group

* Correct tests google_assistant for extra entity

* Validate feature when registering service

* Update tests

* Add LockFeature.OPEN with group
2023-01-23 13:08:00 +01:00
epenet
ea43effcc9 Fix hassfest coverage check (#86443)
* Fix hassfest coverage check

* A-Z
2023-01-23 12:23:38 +01:00
Yuval Aboulafia
a1a324a02e Adjust icons for iperf3 (#85809) 2023-01-23 10:52:02 +01:00
majuss
fb81b1791f Bump lupupy to 0.2.5 (#86439)
fix https://github.com/home-assistant/core/issues/86299
2023-01-23 10:47:56 +01:00
Franck Nijhof
2c9d0b7f18 Merge branch 'master' into dev 2023-01-23 10:33:16 +01:00
Marc Mueller
077ca97ef8 Fix local_partial_types errors (#86410)
Fix local_partial_types errors
2023-01-23 10:29:11 +01:00
J. Nick Koston
bfc19c8cc3 Give august its own aiohttp session (#86404)
fixes undefined
2023-01-23 10:14:29 +01:00
epenet
64535175b1 Add missing conversion tests in unit conversion (#86434) 2023-01-23 10:11:11 +01:00
uvjustin
d0153f5031 Detect timestamp discontinuity in stream (#86430)
fixes undefined
2023-01-23 10:09:46 +01:00
Marc Mueller
ab76b3ffb3 Update Union typing (3) [Py310] (#86426) 2023-01-23 10:05:56 +01:00
Marc Mueller
4f87c1f30f Update pre-commit-config [Py310] (#86415) 2023-01-23 09:59:44 +01:00
Marc Mueller
6397138589 Update Optional typing (1) [Py310] (#86417)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-01-23 09:56:10 +01:00
Marc Mueller
da35097803 Update Optional typing (2) [Py310] (#86419) 2023-01-23 09:10:05 +01:00
Marc Mueller
40be2324cc Update Union typing (5) [Py310] (#86428) 2023-01-23 09:06:26 +01:00
Marc Mueller
8abce25948 Update Union typing (4) [Py310] (#86427) 2023-01-23 09:04:40 +01:00
Aarni Koskela
b0ed0d5d41 Bump pre-commit-hooks to 4.4.0 (#82984) 2023-01-23 08:43:51 +01:00
Marc Mueller
f57c0ea725 Update Union typing (2) [Py310] (#86425) 2023-01-23 08:40:09 +01:00
Marc Mueller
1eec87214f Update Union typing (1) [Py310] (#86424) 2023-01-23 08:38:45 +01:00
Marc Mueller
d7dda6bee5 Update python version used for pylint [Py310] (#86414)
* Update python version used for pylint linting [Py310]

* Import Callable from collections.abc [Py310]

* Use builtin anext [Py310]
2023-01-23 07:56:15 +01:00
Marc Mueller
45b4b0e990 Import ParamSpec from typing [Py310] (#86413)
* Import ParamSpec from typing [Py310]

* Update additional imports
2023-01-23 07:28:43 +01:00
zebardy
af107d7853 Add support for additional fields to nut (#83265)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-01-22 19:24:30 -10:00
Dan Simpson
0c1abd5f10 Bump tesla_powerwall lib version to 0.3.19 (#86421) 2023-01-22 18:59:33 -10:00
Luke
8bc303a562 Change @conway20 to @Lash-L in OralB codeowners after github rename (#86416) 2023-01-22 16:04:52 -10:00
GitHub Action
4d215e573c [ci skip] Translation update 2023-01-23 00:23:13 +00:00
Daniele Ricci
70a9c8f8aa Upgrade caldav to 1.0.1 (#85536)
Upgrade caldav (fix #40127)

date_search was deprecated in favour of search which also implements client-side recurring events expansion
2023-01-22 16:00:19 -08:00
Jan Bouwhuis
66c3115b26 Improve MQTT transport select label (#86216) 2023-01-22 22:12:06 +01:00
Shay Levy
b1ae7d409b Cleanup Climacell translations (#86325) 2023-01-22 22:40:25 +02:00
Shay Levy
9e4be56939 Shelly - handle None in RPC power sensors (#86399)
Handle None in RPC power sensors
2023-01-22 22:18:47 +02:00
starkillerOG
32c1a01159 Add Reolink dhcp discovery (#85880)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-01-22 21:09:18 +01:00
Martin Hjelmare
9c76cd1b6a Add mysensors remote platform (#86376) 2023-01-22 21:04:42 +01:00
Franck Nijhof
5102d1a5f3 Drop Python 3.9 support (#85456) 2023-01-22 20:40:33 +01:00
J. Nick Koston
7661b222b4 Bump yalexs-ble to 1.12.7 (#86396)
fixes https://github.com/home-assistant/core/issues/86182
2023-01-22 19:51:10 +01:00
Robert Svensson
7729a5cf8a Bump aiounifi to v44 (#86381)
fixes undefined
2023-01-22 19:34:48 +01:00
Franck Nijhof
a22041c9be 2023.1.7 (#86389) 2023-01-22 19:16:56 +01:00
J. Nick Koston
52ea64d1d0 Fix repr for States and Events without a timestamp (#86391) 2023-01-22 08:11:42 -10:00
Willem-Jan van Rootselaar
711c92a87f Bump version python-bsblan to 0.5.9 (#86373)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-01-22 17:57:17 +01:00
Franck Nijhof
71c4588747 Bumped version to 2023.1.7 2023-01-22 17:48:00 +01:00
uvjustin
79a3d2e6f6 Pass frag_duration as integer (#86375)
fixes undefined
2023-01-22 17:47:21 +01:00
Daniel Hjelseth Høyer
974601cc2e Update pyTibber to 0.26.11 (#86316) 2023-01-22 17:47:17 +01:00
J. Nick Koston
71d54da673 Bump recommended esphome version for bluetooth proxies to 2022.12.4 (#86308)
This will fix an MTU issue reported with airthings and
other devices.

needs https://github.com/esphome/esphome/pull/4323
2023-01-22 17:47:14 +01:00
Shay Levy
9669b286c4 Fix Shelly sleeping Gen2 - do not refresh from zeroconf discovery (#86296) 2023-01-22 17:47:11 +01:00
Klaas Schoute
72dae914fc Bump odp-amsterdam to v5.0.1 (#86252)
Bump package version to v5.0.1
2023-01-22 17:47:07 +01:00
J. Nick Koston
0b0e977ce9 Remove history use_include_order configuration option (#86365) 2023-01-22 17:43:05 +01:00
Robert Svensson
332d3e0f19 Use fixtures to setup Axis integration in tests (#86034)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-01-22 17:33:40 +01:00
uvjustin
8e117ee499 Pass frag_duration as integer (#86375)
fixes undefined
2023-01-22 17:28:17 +01:00
epenet
30bf0634fe Add per-file-ignore to pylint (#86289) 2023-01-22 17:26:24 +01:00
mkmer
a0810053f1 Bump AIOSomecomfort to 0.0.3 (#86371)
fixes undefined
2023-01-22 17:25:27 +01:00
Michael
504a3d3028 Bump py-synologydsm-api to 2.0.2 (#86374) 2023-01-22 17:24:31 +01:00
Michael
e0d0dc05e4 Support password less PI-Hole installations (#86183) 2023-01-22 17:20:12 +01:00
Duco Sebel
bcec69fec1 Upgrade python-homewizard-energy to 1.7.0 (#86383) 2023-01-22 17:11:27 +01:00
epenet
e1fc494b54 Add missing ratio test cases in unit conversion (#86340)
* Add missing ratio test cases in unit conversion

* Improve ratio test to check inverse
2023-01-22 16:39:45 +01:00
G Johansson
b9a7b908f3 Bump pytrafikverket to 0.2.3 (#86341)
pytrafikverket 0.2.3

Co-authored-by: Shay Levy <levyshay1@gmail.com>
2023-01-22 13:02:49 +02:00
J. Nick Koston
5ff0479c16 Split history websocket API into its own file (#86364) 2023-01-21 18:45:00 -10:00
J. Nick Koston
4c84824ac8 Increase default recorder commit interval to 5 seconds (#86115) 2023-01-21 18:09:00 -10:00
Tom Harris
8cf6ebd363 Allow changing the Insteon USB device (#86290)
* Reconfig PLM device

* Test config change
2023-01-21 23:04:25 -05:00
J. Nick Koston
c842666bea Avoid creating logbook stream task if unsubscribed while waiting for executor (#86363) 2023-01-21 17:20:33 -10:00
J. Nick Koston
8227c84e05 Add support for streaming (push) history (#85892)
* Add support for streaming (push) history

Currently we poll for history data, like logbook we can stream
this data to avoid database overhead

* Update homeassistant/components/history/__init__.py

* merge filter

* expose new api

* expose new api

* expose new api

* expose new api

* coverage

* tests

* fixes

* tweak

* tweak

* tweak

* DRY

* leaky

* test for specific entities

* test for specific entities

* test for specific entities

* test for specific entities

* test for specific entities

* cover

* cover

* more cover

* tweak

* make sure it works before history starts

* fix test

* cover

* tweak

* make sure we unsub on overflow

* Update homeassistant/components/history/__init__.py

* Update homeassistant/components/history/__init__.py

* fix race in test

* fix db executor access

* relo above task creation
2023-01-21 22:03:41 -05:00
Shay Levy
0657c99efd Revert "Add SSHd and GH CLI to devcontainer to support gh net" (#86360)
Revert "Add SSHd and GH CLI to devcontainer to support `gh net` (#81623)"

This reverts commit 15db63bb3b.
2023-01-21 21:18:22 -05:00
GitHub Action
771e07c68b [ci skip] Translation update 2023-01-22 00:25:52 +00:00
Shay Levy
d5797d9f7d Cleanup Shelly imports (#86359)
* Cleanup Shelly imports

* Cleanup tests
2023-01-22 01:26:54 +02:00
Guido Schmitz
164fad112c React on IP changes in devolo Home Network (#86195) 2023-01-21 12:22:13 -10:00
J. Nick Koston
aac89a3493 Bump recommended esphome version for bluetooth proxies to 2022.12.4 (#86308)
This will fix an MTU issue reported with airthings and
other devices.

needs https://github.com/esphome/esphome/pull/4323
2023-01-22 00:05:06 +02:00
Joakim Plate
53b931e21a Don't interpret negative verbosity as debug (#86318)
* Don't interpret negative verbosity as debug

CI run with -qq which is a negative verbosity

* Make sure all caplog tests get debug level

* Update tests/conftest.py

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

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-01-22 00:03:57 +02:00
J. Nick Koston
ca4d7634a8 Switch an asyncio.wait_for in the template helper to async_timeout (#86349)
Switch an asyncio.wait_for in the template helper to async_timeout

Eliminates the extra task when calling async_render_will_timeout
2023-01-22 00:02:03 +02:00
J. Nick Koston
2dca826fa9 Bump flux_led to 0.28.35 (#86352)
changelog: https://github.com/Danielhiversen/flux_led/compare/0.28.34...0.28.35
2023-01-22 00:01:08 +02:00
J. Nick Koston
a49461a040 Restore flume scan interval to match app (#86354)
To stay under the API limit the device connection is now
only checked hourly and notifications are only checked every
5 minutes

fixes #82336
2023-01-22 00:00:12 +02:00
J. Nick Koston
a62b8a4f5b Add zeroconf discovery to Synology DSM (#86062) 2023-01-21 11:12:18 -10:00
Christopher Bailey
772a432c4d Fix edge cases for adding/enabling sensors for UniFi Protect (#86329)
Co-authored-by: J. Nick Koston <nick@koston.org>
fixes undefined
2023-01-21 09:38:59 -10:00
mkmer
5306883288 Fix Honeywell unavailable state on connection lost (#86312)
* Fix for Issue 62957

* Cleanup exception test

* rework connection error retry logic

* Refactor HoneywellData class

* move _atr_available to correct location

* await create_task
2023-01-21 20:28:05 +01:00
mkmer
402be4ebde Fix preset modes in Honeywell (#86293)
* Fix for issue #83841

* in instead of =

* Address None for entity maps

* Rework retry logic

* Committed to the wrong branch....
This reverts commit 40e19407a3 (Rework retry logic, 2023-01-21).

* Remove none, change log wording
2023-01-21 20:21:03 +01:00
Luke
f608e150fd Fix incorrect mock in whirlpool (#86331)
* Added async according to error logs

* changed Asyncmock to magicmock get_aircon_mock

* changed attr_callback to MagicMock for sensor_mock
2023-01-21 20:18:43 +01:00
epenet
91c502ae55 Bump bcrypt to 4.0.1 (#86338) 2023-01-21 11:16:28 -05:00
epenet
e8d19e7c62 Ensure all unit converters are tested (#86271)
* Ensure all unit converters are tested

* Adjust

* Simplify

* Simplify

* docstring
2023-01-21 13:11:13 +01:00
Michael Hansen
255611238b Conversation config (#86326)
* Restore conversation config

* Fall back to en for en_US, etc.

* Simplify config passing around

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-01-20 21:39:49 -05:00
GitHub Action
e1483ff746 [ci skip] Translation update 2023-01-21 00:24:12 +00:00
Erik Montnemery
1e2f00e186 Improve device automation validation (#86143) 2023-01-21 00:44:17 +01:00
shbatm
0c8b6c13fc Bump PyISY to 3.1.9 for performance improvements (#86297) 2023-01-20 13:09:00 -10:00
Daniel Hjelseth Høyer
50800d2590 Update pyTibber to 0.26.11 (#86316) 2023-01-21 00:01:17 +01:00
Nathan Spencer
be5fe29dc9 Correct pet_weight sensor state class in litterrobot (#86320) 2023-01-21 00:00:05 +01:00
Maciej Bieniek
58bfeb3110 Fix state_class for Accuweather precipitation sensor (#86088) 2023-01-20 23:36:25 +01:00
Jan Bouwhuis
80929c5f8c Update stale docstring on demo lock platform (#86306)
Update stale docstring
2023-01-20 23:01:32 +01:00
starkillerOG
7e51aeb916 Reolink add binary sensors (#85654)
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-01-20 22:27:59 +01:00
mkmer
7f4a727e10 Address Honeywell late review (#86202) 2023-01-20 20:30:48 +01:00
Shay Levy
df77646c8a Fix Shelly sleeping Gen2 - do not refresh from zeroconf discovery (#86296) 2023-01-20 21:27:31 +02:00
Franck Nijhof
914704e459 Remove deprecated Uptime YAML configuration (#86292) 2023-01-20 18:50:32 +02:00
Franck Nijhof
7e8c081065 Refactor HomeWizard switch platform to use entity descriptions (#86011) 2023-01-20 08:49:04 -05:00
Franck Nijhof
a9728bd3a5 Update python-homewizard-energy to 1.6.1 (#86274)
* Update python-homewizard-energy to 1.6.1

* Adjust tests
2023-01-20 08:48:48 -05:00
Franck Nijhof
c14aa7bee4 Automatically set up HomeWizard during onboarding (#86024)
* Automatically set up HomeWizard during onboarding

* Add disabled API during onboarding test

* Mark onboarding complete half way in the test
2023-01-20 08:48:36 -05:00
Franck Nijhof
db6cacafcb Add battery device class to Glances battery sensor (#86278) 2023-01-20 08:47:38 -05:00
Erik Montnemery
ae39b95bb1 Rename otbr integration (#86284)
Rename otbr integration
2023-01-20 08:32:41 -05:00
Erik Montnemery
d94f007dbf Import recorder locally in test fixtures (#86286) 2023-01-20 14:22:48 +01:00
Franck Nijhof
24fdd588fd Code styling tweaks to the tests - Part 1 (#86192) 2023-01-20 13:52:46 +01:00
Franck Nijhof
79b52a2b41 Stricter pylint message control (#86154) 2023-01-20 13:47:55 +01:00
fwestenberg
29b2b6727e Add Stookwijzer (#84435)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-01-20 13:42:47 +01:00
Duco Sebel
658db7ff05 Add sensors for smart and gas meter identifiers (serial numbers) in HomeWizard (#86282) 2023-01-20 13:42:01 +01:00
Michael
e1512fd3e1 Support password less PI-Hole installations (#86184)
fixes undefined
2023-01-20 13:02:44 +01:00
Jan Bouwhuis
92742ae423 Add jammed state support for MQTT lock (#86010)
* Add jammed state support for MQTT lock

* Correct payload jammed key

* Add tests - rename solved to ok

* Rename jammed state and template topics to motor

* Use state topic for handling motor state

* Follow up comments

* Change default behaviour `state_unjammed`

* Skip `state_unjammed`
2023-01-20 12:19:26 +01:00
Marc Mueller
c8b9260f92 Add option to run only pylint or mypy tests [ci] (#86260) 2023-01-20 11:43:52 +01:00
Shay Levy
585c4acfee Shelly - use common coordinator base class (#86262)
* Shelly - use common coordinator base class

* rename entry to device_entry

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

Co-authored-by: J. Nick Koston <nick@koston.org>
2023-01-20 09:43:01 +02:00
starkillerOG
3c4455c696 Bump reolink-aio to 0.3.0 (#86259)
* Bump reolink-aio to 0.3.0

* fix typo

* ReolinkException
2023-01-20 08:05:43 +01:00
Duco Sebel
4be7b62607 Bumb python-homewizard-energy to 1.6.0 (#86255) 2023-01-19 21:33:58 -05:00
Klaas Schoute
afb704f607 Bump odp-amsterdam to v5.0.1 (#86252)
Bump package version to v5.0.1
2023-01-19 21:26:51 -05:00
Aarni Koskela
656632f504 Fix docstring in helpers.template_entity (#86227) 2023-01-19 21:24:44 -05:00
Paulus Schoutsen
9a4329aa1d 2023.1.6 (#86251) 2023-01-19 20:06:01 -05:00
Marc Mueller
f00aadfc25 Improve ld2410_ble generic typing (#86258) 2023-01-20 01:50:58 +01:00
GitHub Action
59ad232ce5 [ci skip] Translation update 2023-01-20 00:25:31 +00:00
Michael Hansen
5aca996f22 HassTurnOn/Off intents to also handle cover entities (#86206)
* Move entity/area resolution to async_match_states

* Special case for covers in HassTurnOn/Off

* Enable light color/brightness on areas

* Remove async_register from default agent

* Remove CONFIG_SCHEMA from conversation component

* Fix intent tests

* Fix light test

* Move entity/area resolution to async_match_states

* Special case for covers in HassTurnOn/Off

* Enable light color/brightness on areas

* Remove async_register from default agent

* Remove CONFIG_SCHEMA from conversation component

* Fix intent tests

* Fix light test

* Fix humidifier intent handlers

* Remove DATA_CONFIG for conversation

* Copy ServiceIntentHandler code to light

* Add proper errors to humidifier intent handlers
2023-01-19 17:15:01 -06:00
Paulus Schoutsen
8f10c22a23 Update ESPHome devices from HA (#86249)
* Update ESPHome devices from HA

* esphome-dashboard-api==1.2.2

* Limit to 1 parallel ESPHome update
2023-01-19 16:28:46 -05:00
Paulus Schoutsen
aa7e051538 Bumped version to 2023.1.6 2023-01-19 16:09:03 -05:00
Joris Pelgröm
82a13740b3 Update allowlisted OAuth redirect URIs for Wear OS in China (#86247) 2023-01-19 16:08:59 -05:00
Shay Levy
8dd0752bd0 Fix Shelly sleeping Gen2 device updates (#86198) 2023-01-19 16:08:58 -05:00
J. Nick Koston
58beab1b59 Fix live logbook stalling when there are no historical events with a high commit interval (#86110)
* Force live logbook to send an empty message to indicate no results

Since the sync task can take a while if the recorder is
busy, the logbook will appear to hang if we do not send
the first partial message even if its empty.

This work is in preparation for a higher database
commit interval where this issue is most obvious.

The historical only path did not have this issue because
it never had to wait for the db sync.

* update tests
2023-01-19 16:08:57 -05:00
Marcel van der Veldt
2c127c00d4 Adjust device registry for Matter devices (#86108)
* adjust device registry

* ignore test unique id

* update test

* ditch uniqueid + prefix serial

* adjust test

* add tests

* fix switch test

* prefix all identifiers

* Update homeassistant/components/matter/adapter.py

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

* no underscore in id

* fix test

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-01-19 16:08:56 -05:00
J. Nick Koston
67f7a9ea78 Bump govee-ble to 0.21.1 (#86103)
fixes https://github.com/home-assistant/core/issues/85580
2023-01-19 16:08:34 -05:00
Franck Nijhof
15a35004dd Code styling tweaks to the Matter integration (#86096) 2023-01-19 16:07:48 -05:00
Marcel van der Veldt
d935f9400d Fix Matter unique_id generation (#86046)
* bae entity unique id on Operational Instance Name standard

* Update homeassistant/components/matter/entity.py

Co-authored-by: Stefan Agner <stefan@agner.ch>

* also adjust unique id for devices

* final adjustment

* remove assert on server_info

* move device info to init

* fabric_id_hex

* use DeviceInfo instead of dict

* fix test

Co-authored-by: Stefan Agner <stefan@agner.ch>
2023-01-19 16:07:47 -05:00
Joris Pelgröm
8aeb20db00 Update allowlisted OAuth redirect URIs for Wear OS in China (#86247) 2023-01-19 16:07:08 -05:00
Paulus Schoutsen
9631146745 Add conversation mobile app webhook (#86239)
* Add conversation mobile app webhook

* Re-instate removed unused import which was used as fixture
2023-01-19 13:59:02 -05:00
Aarni Koskela
c0d9dcdb3f Fix docstring in esphome.bluetooth.client (#86226) 2023-01-19 15:21:32 +01:00
Aarni Koskela
40d39a15c9 Fix stray string literal in bluetooth test wrapper (#86228) 2023-01-19 14:53:43 +01:00
GrahamJB1
200d3ae845 modbus slave unique ids (#86126)
modbus slave unique ids
2023-01-19 11:08:11 +01:00
epenet
6802f3db30 Add filter to strict-typing (#86215)
* Add filter to strict-typing

* Adjust comment
2023-01-19 11:07:42 +01:00
Patrick
3f348714e2 75142 Added QEMU_CPU ARG to the dockerfile (#86178)
at the moment when building for armhf its downloading the wrong packages since version 2022.7.6
Trying to start newer version with an armv6 raspberry leads to an infinite loop of exit code 256
2023-01-19 10:22:23 +01:00
GrahamJB1
bcd4c031c6 Support float in modbus register sensor (#86128)
register sensor should support float
2023-01-19 09:41:49 +01:00
Franck Nijhof
6f44bd43b0 Clean up HomeWizard diagnostic tests (#86211) 2023-01-19 09:35:12 +01:00
epenet
74096b87eb Add type hints to Filter (#86165) 2023-01-19 08:09:18 +01:00
epenet
4b6157cd9b Add type hints to Filter integration tests (#86169)
* Add type hints to filter tests

* Adjust

* Ensure strings are passed to State constructor

* Simplify Recorder import
2023-01-19 08:09:04 +01:00
Michael Hansen
2f98485ae7 Add conversation reload service (#86175)
* Add preload and reload service calls to conversation

* Add conversation preload/reload to websocket API

* Merge prepare into reload

* reload service and prepare websocket API

* Add preload and reload service calls to conversation

* Add conversation preload/reload to websocket API

* Merge prepare into reload

* reload service and prepare websocket API

* Add language lock for loading intents

* Add more tests for code coverage
2023-01-18 19:36:51 -06:00
Jack Boswell
ca885f3fab Add a switch to Starlink for stow/unstow (#85730)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-01-18 14:57:48 -10:00
GitHub Action
d1ecc418bb [ci skip] Translation update 2023-01-19 00:25:04 +00:00
Tom Harris
353638426e Cleanup Insteon code issues (#86173)
Clean up code issues
2023-01-19 01:27:59 +02:00
Shay Levy
0dabbcfca1 Fix Shelly sleeping Gen2 device updates (#86198) 2023-01-19 01:11:40 +02:00
Brandon Rothweiler
37c1052cce Rename Eufy integration to EufyHome (#86065) 2023-01-18 21:47:57 +01:00
Paulus Schoutsen
a83318f373 ESPHome dashboard tweaks (#86176) 2023-01-18 21:15:37 +01:00
930913
4f63398941 Add sensor platform to LD2410BLE (#85276)
* Add sensor platform to LD2410BLE

- Add platform
- Add moving target distance entity
- Add static target distance entity
- Add moving target energy entity
- Add static target energy entity

* Add detection distance entity

* Align bluetooth-data-tools version

* Generate sensors from description

Also add state_class and unfactor description lambdas.

* Optimise LD2410BLE collections

Co-authored-by: J. Nick Koston <nick@koston.org>
2023-01-18 14:56:06 -05:00
Paulus Schoutsen
29337bc6eb Reload ESPHome config entries when dashboard info received (#86174) 2023-01-18 17:59:55 +01:00
Shay Levy
c40c37e9ee Add reauth flow to webOS TV integration (#86168)
* Add reauth flow to webOS TV integration

* Remove unnecessary else
2023-01-18 18:48:38 +02:00
Paulus Schoutsen
f2b348dbdf Add OTBR WebSocket API (#86107)
* Add OTBR WebSocket API

* Not always active dataset

* Move logic to data class

* Remove retry until we need it

* Test all the things
2023-01-18 11:33:15 -05:00
Robert Svensson
e43802eb07 Use more _attrs_* in Axis entities (#85555)
* Use _attr_available

* Use _attr_is_on

* Use _attr_name

* Make some values private

* Update names of axis entity base classes

* Fix review comments
2023-01-18 17:27:13 +01:00
Marcel van der Veldt
4bebf00598 Adjust device registry for Matter devices (#86108)
* adjust device registry

* ignore test unique id

* update test

* ditch uniqueid + prefix serial

* adjust test

* add tests

* fix switch test

* prefix all identifiers

* Update homeassistant/components/matter/adapter.py

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

* no underscore in id

* fix test

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-01-18 17:17:33 +01:00
mkmer
5e6ba594aa Change Honeywell somecomfort API to AIOSomecomfort API (#86102)
* Move to AIOSomecomfort

* Remove unused constant

* Improve test coverage to 100

* Update homeassistant/components/honeywell/__init__.py

remove "todo" from code

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

* Missing cannot_connect translation

* add asyncio errors
update devices per entity
rework retry login

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-01-18 16:03:13 +01:00
Marc Mueller
f0ba7a3795 Update pylint to 2.15.10 (#86167) 2023-01-18 15:01:24 +01:00
Erik Montnemery
fea5330cee Change 'Sky Connect' to 'SkyConnect' (#86166) 2023-01-18 08:43:38 -05:00
Marc Mueller
141acba40d Remove unnecessary try-else (3) (#86160) 2023-01-18 14:25:28 +01:00
Marc Mueller
bc115634d1 Remove unnecessary try-else (2) (#86159) 2023-01-18 14:25:09 +01:00
Marc Mueller
1cc8feabb7 Remove unnecessary try-else (1) (#86158) 2023-01-18 14:24:52 +01:00
Marc Mueller
6d336ec136 Remove unnecessary try-else (5) (#86164) 2023-01-18 14:10:13 +01:00
Marc Mueller
d26484d482 Remove unnecessary try-else (4) (#86161) 2023-01-18 13:17:08 +01:00
Marc Mueller
a44e44b7d0 Add missing raise for exceptions (#86155) 2023-01-18 12:48:30 +01:00
epenet
9cdf7a09ed Rename precision variable in Filter (#86090) 2023-01-18 12:40:04 +01:00
epenet
1cfcc9313b Fix incorrect type hint in Filter (#86141) 2023-01-18 12:39:00 +01:00
Artem Draft
a87a9790e9 Bump pybravia to 0.3.1 (#86153)
fixes undefined
2023-01-18 12:24:04 +01:00
Franck Nijhof
382e1ac679 Code styling tweaks to the ESPHome integration (#86146) 2023-01-18 11:10:16 +01:00
Erik Montnemery
f17a829bd8 Only wait for import flows to initialize at setup (#86106)
* Only wait for import flows to initialize at setup

* Update hassio tests

* Update hassio tests

* Apply suggestions from code review

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

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-01-18 10:44:18 +01:00
Shay Levy
767b43bb0e Remove WebOS TV script translation leftover (#86109)
Keep only english changes
2023-01-18 10:11:08 +01:00
GrahamJB1
9d9817328b Reset Modbus value on down (#86127)
* modbus: slave should reset value on sensor down as parent does that

* modbus: slave should reset value on sensor down as parent does that
2023-01-18 08:49:38 +01:00
mkmer
0b45fb6dc3 Bump AIOAladdinConnect to 0.1.53 (#86129) 2023-01-18 08:37:15 +01:00
Matthew Donoughe
33d0dec648 Update to pylutron_caseta to 0.18.0 (#86133) 2023-01-17 17:56:15 -10:00
J. Nick Koston
5279535046 Fix live logbook stalling when there are no historical events with a high commit interval (#86110)
* Force live logbook to send an empty message to indicate no results

Since the sync task can take a while if the recorder is
busy, the logbook will appear to hang if we do not send
the first partial message even if its empty.

This work is in preparation for a higher database
commit interval where this issue is most obvious.

The historical only path did not have this issue because
it never had to wait for the db sync.

* update tests
2023-01-17 21:06:37 -05:00
GitHub Action
87b2a73460 [ci skip] Translation update 2023-01-18 00:24:40 +00:00
Franck Nijhof
91aaca6471 Code styling tweaks to the Alexa integration (#86121) 2023-01-18 01:01:30 +02:00
J. Nick Koston
b722a7e05b Ensure flux_led does not try to reload while setup is in progress (#86122)
There was a discovery race in flux_led that could trigger
it to try to reload while in progress if the device data
changed
2023-01-17 22:51:04 +01:00
Daniel Gangl
cc74fcbda7 Remove deprecated zamg YAML config (#86113) 2023-01-17 21:58:20 +01:00
J. Nick Koston
1c2510bfb3 Bump govee-ble to 0.21.1 (#86103)
fixes https://github.com/home-assistant/core/issues/85580
2023-01-17 09:48:21 -10:00
Joakim Plate
829df7ddfd Adjust translations for zha buttons (#86095) 2023-01-17 21:36:11 +02:00
Erik Montnemery
f93bbd55ba Improve logging shutdown (#85812)
* Improve logging shutdown

* Update test
2023-01-17 20:06:25 +01:00
Erik Montnemery
f6cd399b9e Adjust kitchen_sink test (#86099) 2023-01-17 19:31:10 +01:00
Aaron Bach
27359dfc89 Subclass a DataUpdateCoordinator for Ridwell (#85644) 2023-01-17 19:31:00 +01:00
Erik Montnemery
b4abfb1697 Adjust Thread config flow (#86097)
* Adjust Thread config flow

* Improve tests

* Update homeassistant/components/otbr/config_flow.py

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

Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-01-17 13:27:33 -05:00
Franck Nijhof
bd1c476edf Code styling tweaks to the Matter integration (#86096) 2023-01-17 19:09:12 +01:00
Erik Montnemery
cf68d081ca Allow manually setting up the Thread integration (#86087) 2023-01-17 12:50:29 -05:00
Jon Caruana
65c4e63e30 Bump pylitejet to 0.4.6 (now with async!) (#85493) 2023-01-17 16:53:16 +01:00
Jan Bouwhuis
25392655e7 Allow translating select selector options (#85531)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-01-17 16:22:19 +01:00
Erik Montnemery
096ef5da47 Use Home Assistant swing modes in tado climate (#84278) 2023-01-17 16:13:49 +01:00
Marcel van der Veldt
072517f17e Fix Matter unique_id generation (#86046)
* bae entity unique id on Operational Instance Name standard

* Update homeassistant/components/matter/entity.py

Co-authored-by: Stefan Agner <stefan@agner.ch>

* also adjust unique id for devices

* final adjustment

* remove assert on server_info

* move device info to init

* fabric_id_hex

* use DeviceInfo instead of dict

* fix test

Co-authored-by: Stefan Agner <stefan@agner.ch>
2023-01-17 15:39:42 +01:00
Erik Montnemery
3cd6bd87a7 Remove config entry specifics from FlowManager (#85565) 2023-01-17 15:26:17 +01:00
Duco Sebel
0f3221eac7 Add Enum device class for HomeWizard active tariff (#86078)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-01-17 14:46:08 +01:00
lunmay
8485588aca Fix typo in energy: misplaced closing brace (#86027) 2023-01-17 14:34:27 +01:00
Erik Montnemery
11b9a0b383 Add Thread integration (#85002)
* Add Thread integration

* Add get/set operational dataset as TLVS

* Add create operational dataset

* Add set thread state

* Adjust after rebase

* Improve HTTP status handling

* Improve test coverage

* Change domains from thread to otbr

* Setup otbr from a config entry

* Add files

* Store URL in config entry data

* Make sure manifest is not sorted

* Remove useless async

* Call the JSON parser more

* Don't raise exceptions without messages

* Remove stuff which will be needed in the future

* Remove more future stuff

* Use API library

* Bump library to 1.0.1
2023-01-17 14:01:36 +01:00
Tiit Rätsep
9b835f88c7 Soma connect update (#85682)
* Add support for Connect U1

* update pysoma to latest version

* Changes requested by epenet

* Extend exeption handling to pass all tests
2023-01-17 13:17:59 +01:00
Guido Schmitz
cb36905ce5 Add diagnostics to devolo Home Network (#86022) 2023-01-17 12:59:02 +01:00
epenet
8e7e210693 Fix invalid constant in vicare (#86079) 2023-01-17 12:29:32 +01:00
epenet
b7f484a84f Set renault quality scale to platinum (#85753)
* Set renault quality scale to platinum

* Ensure coordinators do not run at the same time

* Add comment
2023-01-17 11:50:17 +01:00
epenet
1918f21fb1 Raise HomeAssistantError in Renault (#86071) 2023-01-17 11:44:18 +01:00
hpirila
6c5f9c6fcb Add sous vide start functionality (#84447) 2023-01-17 11:42:04 +01:00
Hans Oischinger
1e9de194d3 Add vicare buffer top/main temperature sensors (#79466)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
fixes undefined
2023-01-17 11:34:38 +01:00
Franck Nijhof
566c0f63bd Removes OpenALPR Local integration (#85544) 2023-01-17 10:43:14 +01:00
epenet
f7d69ee325 Remove deprecated Renault service (#86070) 2023-01-17 10:28:33 +01:00
J. Nick Koston
551e098177 Make event.time_tracker_utcnow patchable with freezegun (#86051) 2023-01-17 09:47:31 +01:00
Franck Nijhof
c5fb3e7fab 2023.1.5 (#86058) 2023-01-17 09:40:32 +01:00
Erik Montnemery
14a32cd63b Allow converting units of additional sensor device classes (#86072) 2023-01-17 09:35:53 +01:00
Jack Boswell
ec1b4d5651 Address Starlink code quality and add update sensor (#86066)
* Use dt.now

* Bring back update binary sensor

* Don't patch coordinator

* Add silver quality scale
2023-01-17 09:10:40 +01:00
starkillerOG
669e6202ad bump reolink-aio to 0.2.1 (#85571) 2023-01-17 08:36:24 +01:00
Franck Nijhof
4aba3fdad6 Code styling tweaks to the zeroconf integration (#86048) 2023-01-16 18:35:23 -10:00
Brandon Rothweiler
2ed6df9003 Add EufyLife Bluetooth integration (#85907)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-01-16 18:29:50 -10:00
Paulus Schoutsen
6a7e6ad0fd Bumped version to 2023.1.5 2023-01-16 21:47:10 -05:00
Daniel Hjelseth Høyer
5656129b60 Update pyTibber to 0.26.8 (#86044) 2023-01-16 21:47:01 -05:00
J. Nick Koston
96578f3f89 Handle ignored shelly entries when discovering via zeroconf (#86039)
fixes https://github.com/home-assistant/core/issues/85879
2023-01-16 21:47:00 -05:00
Shay Levy
4138e518ef Bump aiowebostv to 0.3.2 (#86031)
fixes undefined
2023-01-16 21:46:59 -05:00
Shay Levy
aa43acb443 Update webOS TV codeowners (#85959) 2023-01-16 21:46:58 -05:00
Shay Levy
b459261ef2 Fix webOS TV SSDP discovery missing friendly name (#85917) 2023-01-16 21:44:02 -05:00
Shay Levy
a318576c4f Bump aiowebostv to 0.3.1 to fix support for older devices (#85916)
Bump aiowebostv to 0.3.1
2023-01-16 21:44:01 -05:00
Allen Porter
9a6aaea9db Add a timeout during OAuth token exchange and additional debug logging (#85911) 2023-01-16 21:44:00 -05:00
Allen Porter
627ded42f5 Bump google-nest-sdm to 2.2.2 (#85899)
* Bump google-nest-sdm to 2.2.0

* Bump nest to 2.2.1

* Bump google-nest-sdm to 2.2.2
2023-01-16 21:43:59 -05:00
Allen Porter
fa09eba165 Bump google-nest-sdm to 2.1.2 (#84926) 2023-01-16 21:43:59 -05:00
Jan Stienstra
fcf53668c5 Skip over files without mime type in Jellyfin (#85874)
* Skip over files without mime type

* Skip over tracks without mime type
2023-01-16 21:40:30 -05:00
J. Nick Koston
d61b915286 Bump aiohomekit to 2.4.4 (#85853)
fixes https://github.com/home-assistant/core/issues/85400
fixes https://github.com/home-assistant/core/issues/84023
2023-01-16 21:40:29 -05:00
Shay Levy
b0153c7deb Fix WebOS TV image fetch SSL verify failure (#85841) 2023-01-16 21:40:28 -05:00
tronikos
2447e24677 Remove oauth2client dependency in Google Assistant SDK (#85785)
Remove import oauth2client, inline 2 constants
2023-01-16 21:40:27 -05:00
J. Nick Koston
502fea5f95 Bump pySwitchbot to 0.36.4 (#85777) 2023-01-16 21:40:26 -05:00
Yuval Aboulafia
caa8f9e49b Remove WAQI unsupported UOM (#85768)
fixes undefined
2023-01-16 21:40:25 -05:00
Erik Montnemery
8beb043d62 Remove sky connect config entry if USB stick is not plugged in (#85765)
* Remove sky connect config entry if USB stick is not plugged in

* Tweak cleanup

* Give some stuff more cromulent names

* Do the needful

* Add tests

* Tweak
2023-01-16 21:40:25 -05:00
starkillerOG
cb27cfe7dd Reolink check for admin (#85570)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
fixes undefined
2023-01-16 21:40:24 -05:00
Michael
1d5ecdd4ea Make API key mandatory for PI-Hole (#85885)
add reauth, so make api-key mandatory
2023-01-16 21:34:42 -05:00
Luke
8b3a6514a3 oralb async_poll doc comment typo (#86049) 2023-01-16 14:26:54 -10:00
GitHub Action
d2e11797f8 [ci skip] Translation update 2023-01-17 00:24:30 +00:00
Aidan Timson
26c419705e Add typings to OVO Energy integration (#75944)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-01-16 23:26:40 +01:00
Ville Skyttä
f0e6f45e43 Remove signal strength state class from Huawei LTE transmit power sensor (#85973)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-01-16 23:24:50 +01:00
Andre Basche
abc8b891be Add some sensors and controls to tuya dehumidifier (#85380)
fixes undefined
2023-01-16 22:58:01 +01:00
Franck Nijhof
851eef1144 Update whois to 0.9.23 (#86042) 2023-01-16 22:31:43 +01:00
Mick Vleeshouwer
15db63bb3b Add SSHd and GH CLI to devcontainer to support gh net (#81623) 2023-01-16 22:28:18 +01:00
J. Nick Koston
d949f51f10 Handle ignored shelly entries when discovering via zeroconf (#86039)
fixes https://github.com/home-assistant/core/issues/85879
2023-01-16 11:21:49 -10:00
Franck Nijhof
b85d6e6ede Update orjson to 3.8.5 (#86043) 2023-01-16 22:20:12 +01:00
Sean Chen
c3c9ed6835 Improve type hints in nws (#83173) 2023-01-16 22:19:11 +01:00
Daniel Hjelseth Høyer
a818ef6411 Update pyTibber to 0.26.8 (#86044) 2023-01-16 22:16:34 +01:00
Erik Montnemery
788edc21fb Deduplicate some entity registry code (#85541) 2023-01-16 22:06:52 +01:00
Rodrigo Matias
612f93d636 Add switch to Tuya product category wsdcg (#85762) 2023-01-16 22:05:53 +01:00
Thierry Ygé
b5956eb8dd Add Tuya sensor for Smart IR remote device (#85955) 2023-01-16 22:04:26 +01:00
epenet
2087c53fa5 Set onewire quality scale to gold (#85748) 2023-01-16 22:00:58 +01:00
Matteo Corti
c1f08256e2 Bump openerz-api to 0.2.0 (#86013)
Co-authored-by: Franck Nijhof <git@frenck.dev>
fixes undefined
2023-01-16 21:52:39 +01:00
Karlie Meads
156307f3f2 Fix logic of disabled condition for "OR" (#79718) 2023-01-16 21:08:09 +01:00
Nathan Spencer
c6f60bf45d Code cleanup in litterrobot (#86037) 2023-01-16 20:58:30 +01:00
Michael
5fbc005224 Make central AvmWrapper class fully async in Fritz!Tools (#83768) 2023-01-16 20:54:32 +01:00
Max R
156c815499 Run flake8 on more files (#85333)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
Co-authored-by: Dave T <17680170+davet2001@users.noreply.github.com>
2023-01-16 20:53:14 +01:00
shbatm
3aad153913 Add enable/disable config switch for ISY994 devices (#85975)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-01-16 09:33:55 -10:00
Michel van de Wetering
b087c1e734 Set deviceclass to speaker for Sonos media_player (#80694) 2023-01-16 20:20:37 +01:00
shbatm
7636477760 Add Insteon backlight control support to ISY994, bump PyISY to 3.1.8 (#85981)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-01-16 09:15:41 -10:00
Jan Rieger
89d085a69c Add Fire TV virtual integration (#85741) 2023-01-16 20:12:31 +01:00
Michael
d8c3b87d44 Replace deprecated constants and utils by their successors in NWS tests (#85926) 2023-01-16 20:02:26 +01:00
shbatm
1945ba06ba Deprecate ISY994 custom reload service (#86019) 2023-01-16 09:01:59 -10:00
Michael
3d4b1fb689 Remove the usage of HA core unit constant in withings own unit definitions (#85942) 2023-01-16 20:00:58 +01:00
Jan Stienstra
a35a4efaaa Add Jellyfin media source support for tvshows (#85953) 2023-01-16 19:59:51 +01:00
Marcel van der Veldt
fe583b7c4a Remove SSDP discovery from Hue (#85506)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-01-16 19:56:46 +01:00
Allen Porter
1afb4897a8 Add a timeout during OAuth token exchange and additional debug logging (#85911) 2023-01-16 19:52:43 +01:00
Franck Nijhof
c5dedb7a79 Code styling tweaks to the recorder integration (#86030) 2023-01-16 19:51:11 +01:00
Shay Levy
5b2c1d701a Bump aiowebostv to 0.3.2 (#86031)
fixes undefined
2023-01-16 19:51:00 +01:00
shbatm
b229347625 Fix entity cleanup and naming bugs in ISY994 (#86023) 2023-01-16 19:43:42 +01:00
Franck Nijhof
6a89b3a135 Small refactor to HomeWizard config flow (#86020)
* Small refactor to HomeWizard config flow

* Update homeassistant/components/homewizard/config_flow.py

Co-authored-by: Duco Sebel <74970928+DCSBL@users.noreply.github.com>

* Process review comments

Co-authored-by: Duco Sebel <74970928+DCSBL@users.noreply.github.com>
2023-01-16 17:03:00 +01:00
epenet
9205020fa4 Avoid import homeassistant.const as a module (#85991) 2023-01-16 16:49:49 +01:00
TheJulianJES
9f0bed0f0c Implement "group members assume state" option for ZHA (#84938)
* Initial "group members assume state" implementation for ZHA

* Remove left-over debug flag (where polling was disabled)

* Implement _send_member_assume_state_event() method and also use after turn_off

* Only assume updated arguments from service call to group

* Make code more readable and change checks slightly

* Move "send member assume state" events to LightGroup on/off calls

* Include new config option in tests

* Check that member is available before updating to assumed state

* Lower "update group from child delay" for debouncer to basically 0 when using assumed member state

* Allow "child to group" updates regardless of config option

This is not needed, as group members will not update their state, as long as they're transitioning. (If a group transitions, it also sets its members to transitioning mode)

This fixes multiple issues. Previously, the state of a group was completely wrong when:
- turn on group with 10 second transition
- turn on members individually
- turn off members individually
- group state would not update correctly

* Move "default update group from child delay" constant

* Change to new constant name in test

* Also update fan test to new constant name

* Decrease "update group from child delay" to 10ms

In my testing, 0.0 also works without any issues and correctly de-bounces child updates when using the "assume state option".
This is just for avoiding multiple state changes when changing the group -> children issue individual updates.
With 2 children in a group and delay 0, both child updates only cause one group re-calculation and state change.

0.01 (10ms) should be plenty for very slow systems to de-bounce the update (and in the worst case, it'll cause just another state change but nothing breaks)

* Also implement "assuming state" for effect

Not sure if anybody even uses this, but this one is a bit special because the effect is always deactivated if it's not provided in the light.turn_on call.

* Move shortened delay for "assuming members" to a constant

* Add basic test to verify that group members assume on/off state

* Move _assume_group_state function declaration out of async_added_to_hass

* Fix rare edge-case when rapidly toggling lights and light groups at the same time

This prevents an issue where either the group transition would unset the transition flag or the single light would unset the group transition status midst-transition.

Note: When a new individual transition is started, we want to unset the group flag, as we actually cancel that transition.

* Check that effect list exists, add return type

* Re-trigger CI due to timeout

* Increase ASSUME_UPDATE_GROUP_FROM_CHILD_DELAY slightly

The debouncer is used when updating group member states either by assuming them (in which case we want to barely have any delay), or between the time we get the results back from polling (where we want a slightly longer time).
As it's not easily possible to distinguish if a group member was updated via assuming the state of the group or by the polling that follows, 50 ms seems to be a good middle point.

* Add debug print for when updating group state

* Fix issues with "off brightness" when switching between group/members

This fixes a bunch of issues with "off brightness" and passes it down to the members correctly.
For example, if a light group is turned off with a transition (so bulbs get their level set to 1), this will also set the "off brightness" of all individual bulbs to the last level that they were at.

(It really fixes a lot of issues when using the "member assume group state" option. It's not really possible to fix them without that.)

Furthermore, issues where polling was previously needed to get the correct state after "playing with transitions", should now get be resolved and get correct state when using the "members assume group state" option.

Note: The only case which still can't be fixed is the following:
If individual lights have off_with_transition set, but not the group, and the group is then turned on without a level, individual lights might fall back to brightness level 1 (<- at least now shows correctly in UI even before polling).
Since all lights might need different brightness levels to be turned on, we can't use one group call. But making individual calls when turning on a ZHA group would cause a lot of traffic and thereby be counter-productive.
In this case, light.turn_on should just be called with a level (or individual calls to the lights should be made).

Another thing that was changed is to reset off_with_transition/off_brightness for a LightGroup when a member is turned on (even if the LightGroup wasn't turned on using its turn_on method).
off_with_transition/off_brightness for individual bulbs is now also turned off when a light is detected to be on during polling.

Lastly, the waiting for polled attributes could previously cause "invalid state" to be set (so mid-transition levels).
This could happen when group and members are repeatedly toggled at similar times. These "invalid states" could cause wrong "off brightness" levels if transitions are also used.
To fix this, we check after waiting for the polled attributes in async_get_state to see if a transition has started in the meanwhile. If so, the values can be discarded. A new poll will happen later and if using the "members assume group state" config option, the values should already be correct before the polling.

* Enable "group members assume state" config option by default

The config tests are also updated to expect the config option be enabled by default.

For all tests, the config option is generally disabled though:
There are only two group related tests. The one that tests this new feature overrides the config option to be enabled anyway.
The other tests works in a similar way but also "sends" attribute reports, so we want to disable the feature for that test.
(It would also run with it enabled (if the correct CHILD_UPDATE value is patched), but then it would test the same stuff as the other test, hence we're disabling the config option for that test.)
2023-01-16 10:48:18 -05:00
Paul Bottein
c3e27f6812 Add tier summation delivered for Lixee Zlinky TIC (#82602)
* Add tier summation delivered for zlinky

* Improve name case

* Add other tiers and register tier

* Fix smartenergy sensor update

* Account for new reporting configuration in unit tests

* Use cluster ID attributes instead of hardcoding the values

* Use tier names instead of the numeric constants for formatter

* Revert active register tier delivered

* Fix tests

Co-authored-by: puddly <32534428+puddly@users.noreply.github.com>
2023-01-16 10:33:18 -05:00
epenet
83591704b5 Adjust sensor validation warning (#86017) 2023-01-16 15:48:00 +01:00
jan iversen
ee85a23d19 Bring modbus back to 100% test coverage (#85972)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-01-16 15:44:11 +01:00
epenet
bcef0d66ac Remove invalid uom from mqtt tests (#86004) 2023-01-16 14:51:35 +01:00
epenet
1a8933d59d Adjust invalid test values in template (#86008) 2023-01-16 14:42:47 +01:00
epenet
0328e8954d Adjust invalid test values in tcp (#86007) 2023-01-16 14:32:01 +01:00
Franck Nijhof
0a367359f4 Add sensor state class validation for device classes (#84402)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-01-16 14:31:24 +01:00
epenet
8165f487c7 Adjust invalid test values in snmp (#86006) 2023-01-16 14:00:37 +01:00
epenet
c1589d3c89 Adjust invalid test values in rest (#86009) 2023-01-16 13:37:38 +01:00
epenet
6859a9ebdd Add missing mock in fritzbox (#86005) 2023-01-16 13:05:22 +01:00
Jussi Rosenberg
54d570a9cf Bump pykoplenti to 1.0.0 (#83251)
* Update Kostal integration to use maintained lib

* Update Kostal integration to use pykoplenti

* Update kostal_plenticore tests for new lib

* Fix tests config_flow & diagnostics after changes
2023-01-16 12:54:29 +01:00
Franck Nijhof
c26d620ab1 Clean up unused import steps from HomeWizard config flow (#86002) 2023-01-16 12:24:23 +01:00
Shay Levy
dd18708b63 Remove WebOS TV client wrapper (#86001) 2023-01-16 12:03:57 +01:00
Franck Nijhof
2b037efee2 Cleanup of HomeWizard button platform (#85999) 2023-01-16 11:57:08 +01:00
epenet
13cfd60019 Allow None in add_suggested_values_to_schema (#85763) 2023-01-16 11:36:21 +01:00
Franck Nijhof
11a81dc485 Improve typing of HomeWizard sensors (#85997)
* Improve typing of HomeWizard sensors

* Fix typo when tried to fix a typo :)
2023-01-16 11:22:46 +01:00
Erik Montnemery
f9662e0af0 Make the kitchen_sink integration set up a config entry (#85680)
* Make the kitchen_sink integration set up a config entry

* Update homeassistant/components/kitchen_sink/config_flow.py

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

* Add singleton check in import step + add test

* Fix tests

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-01-16 11:03:44 +01:00
epenet
3179101fbc Warn if numeric sensors have an invalid value (#85863)
Co-authored-by: mib1185 <mail@mib85.de>
2023-01-16 11:00:07 +01:00
Duco Sebel
ccd8bc14e0 Add sensors for new P1 datapoints in HomeWizard (#85198)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: Franck Nijhof <git@frenck.dev>
fixes undefined
2023-01-16 09:59:07 +01:00
Franck Nijhof
ce43a53585 Update pytest to 7.2.1 (#85990) 2023-01-16 09:48:39 +01:00
Erik Montnemery
affea9a305 Remove sky connect config entry if USB stick is not plugged in (#85765)
* Remove sky connect config entry if USB stick is not plugged in

* Tweak cleanup

* Give some stuff more cromulent names

* Do the needful

* Add tests

* Tweak
2023-01-16 09:25:06 +01:00
Franck Nijhof
fa0d653216 Update python-homewizard-energy to 1.5.0 (#85966)
* Update python-homewizard-energy to 1.5.0

* Remove strict typing for now

* Revert "Remove strict typing for now"

This reverts commit ebcd327fdf.

* Adjust typing to resolve upstream changes
2023-01-16 09:23:03 +01:00
Jorie Teunissen
719f2e650c Add state_class to mill Estimated CO2 sensor (#85894) 2023-01-16 09:02:15 +01:00
J. Nick Koston
233332c3a0 Fix fetching history include_start_time_state when timezone is not UTC (#85983) 2023-01-16 09:01:32 +01:00
Michael
9709391b52 Replace the usage of unit constants by enumerations in Tests [s-u] (#85937) 2023-01-16 09:00:27 +01:00
Patrick ZAJDA
0b02abf708 Add locking and unlocking to MQTT lock (#85779)
* Implement locking, unlocking and jammed on MQTT lock

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

* Add tests

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

* Refactor condition

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

* Parametrize tests

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

* Manage only locking and unlocking

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

* Remove jammed from abbreviations

Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>

* set valid states in self._valid_states

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

Signed-off-by: Patrick ZAJDA <patrick@zajda.fr>
Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2023-01-16 08:42:43 +01:00
Jesse Hills
d3c41bc31c Add friendly name support for ESPHome (#85976)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-01-15 21:33:44 -10:00
Jack Boswell
8c235357a4 Add Starlink reboot button (#85729) 2023-01-15 21:22:19 -10:00
shbatm
176eb01016 Deprecate ISY994 custom cleanup entities service (#85931) 2023-01-15 21:14:41 -10:00
shbatm
dfc33f858a Support availability for ISY994 devices (#85928) 2023-01-15 19:18:51 -10:00
GitHub Action
b81453cb6b [ci skip] Translation update 2023-01-16 00:24:22 +00:00
Michael
a7ebec4d02 Make Synology DSM integration fully async (#85904) 2023-01-15 13:19:08 -10:00
J. Nick Koston
65ca62c991 Ensure remote bluetooth adapters are loaded before integrations that need them (#85723) 2023-01-15 13:17:17 -10:00
shbatm
cd31624768 Bump PyISY to 3.1.6 (#85974)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-01-15 13:02:30 -10:00
jan iversen
05c1aff0f6 Bump pymodbus library to V3.1.0 (#85961)
fixes undefined
2023-01-15 23:30:26 +01:00
Franck Nijhof
64c2340fab Core code styling improvements (#85963) 2023-01-15 23:00:51 +01:00
Duco Sebel
8e5236528f Upgrade HomeWizard to platinum quality (#82580) 2023-01-15 23:00:20 +01:00
Jan Bouwhuis
01e1e254e2 Use value of enum (#85944) 2023-01-15 19:30:29 +01:00
Shay Levy
28804b7ecc Update webOS TV codeowners (#85959) 2023-01-15 20:14:36 +02:00
Franck Nijhof
91ac6400b9 Clean up legacy import from HomeWizard (#85960) 2023-01-15 20:14:19 +02:00
Michael
9828b2d13f Replace the usage of unit constants by enumerations in Tests [v-z] (#85938)
replace unit conts by enums v-z
2023-01-15 20:14:02 +02:00
Shay Levy
03d9d30eca Cleanup webOS TV YAML import leftovers (#85957) 2023-01-15 20:07:15 +02:00
Franck Nijhof
3cb56211f8 Make translations keys check hassfest more strict (#85221) 2023-01-15 17:43:34 +01:00
Duco Sebel
209c47383d Implement state error handling in HomeWizard (#84991)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-01-15 17:30:27 +01:00
mkmer
1a0bce715a Address invalid keys in translation for whirlpool (#85849) 2023-01-15 17:09:14 +01:00
Michael
104f74054b Replace the usage of unit constants by enumerations in Tests [m-n] (#85935)
* replace unit conts by enums m-n

* fix mqtt
2023-01-15 15:45:00 +01:00
Michael
e35ab75c0b Replace the usage of unit constants by enumerations in Tests [h-l] (#85934) 2023-01-15 14:52:55 +01:00
Michael
72d3fa6d89 Replace the usage of unit constants by enumerations in Tests [o-r] (#85936) 2023-01-15 14:50:24 +01:00
Michael
e5f67c9119 Replace the usage of unit constants by enumerations in Tests [f-g] (#85933) 2023-01-15 14:46:45 +01:00
ondras12345
cef1809536 Fix apcupsd spamming logs when host is unavailable (#85920)
fixes undefined
2023-01-15 14:45:05 +01:00
Michael
2850583085 Replace the usage of unit constants by enumerations in Tests [a-e] (#85932) 2023-01-15 14:44:01 +01:00
Michael
b20eb54800 Replace deprecated unit converter utils (#85927) 2023-01-15 14:41:59 +01:00
Paulus Schoutsen
d92b423127 Add conversation to default config (#85877)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-01-15 13:21:16 +01:00
Dermot Duffy
10829fdadb Allow empty motionEye passwords (#85407) 2023-01-15 13:20:25 +01:00
starkillerOG
476de319ea Bump reolink-aio to 0.2.3 (#85871) 2023-01-15 13:07:15 +01:00
Franck Nijhof
314576048d Fix conflict between stale bot rules (#85923) 2023-01-15 13:01:20 +01:00
Shay Levy
508b93c17f Fix webOS TV SSDP discovery missing friendly name (#85917) 2023-01-15 12:29:11 +01:00
Shay Levy
64ee0cf627 Bump aiowebostv to 0.3.1 to fix support for older devices (#85916)
Bump aiowebostv to 0.3.1
2023-01-15 12:26:28 +01:00
Jan Stienstra
ef4b7c8a22 Skip over files without mime type in Jellyfin (#85874)
* Skip over files without mime type

* Skip over tracks without mime type
2023-01-15 12:12:27 +01:00
Ville Skyttä
19426ec18a Startup error message improvements (#85860)
* Output config and lib dir create failure reasons

* Output to stderr

* Fix error message when specified config directory is not a directory
2023-01-15 05:19:01 +01:00
Matthias Lohr
3ae4e98204 Bump tololib to v0.1.0b4 (#85866)
updated tololib to v0.1.0b4
2023-01-15 04:38:51 +01:00
shbatm
a81045653d Add Insteon ramp rate select entities to ISY994 (#85895)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-01-14 17:37:07 -10:00
Allen Porter
a653ea30bd Bump google-nest-sdm to 2.2.2 (#85899)
* Bump google-nest-sdm to 2.2.0

* Bump nest to 2.2.1

* Bump google-nest-sdm to 2.2.2
2023-01-15 04:30:21 +01:00
Robert Svensson
8117f4af3a Use parametrize to modify Axis test fixtures (#85884) 2023-01-15 04:12:03 +01:00
Robert Hillis
3627a98602 Add dhcp discovery to D-Link (#85661)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-01-14 15:58:04 -10:00
GitHub Action
77f9548e51 [ci skip] Translation update 2023-01-15 00:25:52 +00:00
shbatm
913bc827ba Bump PyISY to 3.1.5 and fix bad Z-Wave properties from eisy (#85900) 2023-01-14 12:28:57 -10:00
Austin Mroczek
c478e503e5 Bump total_connect_client to 2023.1 (#85882)
bump total_connect_client to 2023.1
2023-01-14 20:15:13 +02:00
Shay Levy
6938f791f9 Downgrade MQTT logging (#85867) 2023-01-14 13:28:41 +01:00
J. Nick Koston
43fb68ed79 Avoid linear searches for excluded events (#85851)
If the there are a lot of excluded events for the recorder, it
can have a performance impact as the list has to be searched
every time an event fires in HA
2023-01-14 14:25:03 +02:00
Robert Svensson
768c3e163d Create and use config_entry fixture for Axis integration tests (#85865) 2023-01-14 14:18:18 +02:00
epenet
8fbcb93ab4 Use IntEnum for hassfest quality scale (#85817) 2023-01-14 10:19:18 +01:00
shbatm
1fcd25130f Add On Level number entities to ISY994 Insteon Devices (#85798)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-01-13 16:01:41 -10:00
starkillerOG
5f67e79ad9 Bump reolink-aio to 0.2.2 (#85848) 2023-01-14 02:25:22 +01:00
Martin Hjelmare
bca462401c Bump python-matter-server to 1.1.0 (#85840) 2023-01-14 02:20:10 +01:00
J. Nick Koston
8b893b7062 Bump cryptography to 39.0.0 (#85846)
* Bump cryptography to 39.0.0

changelog: https://github.com/pyca/cryptography/compare/38.0.3...39.0.0

The change that is significant is https://github.com/pyca/cryptography/pull/7601 which
should help with esphome noise encryption performance

* constraints

* fix botocore not loading
2023-01-13 19:58:01 -05:00
GitHub Action
dffc913f9e [ci skip] Translation update 2023-01-14 00:22:57 +00:00
J. Nick Koston
ec61f5f998 Bump aiohomekit to 2.4.4 (#85853)
fixes https://github.com/home-assistant/core/issues/85400
fixes https://github.com/home-assistant/core/issues/84023
2023-01-13 14:03:16 -10:00
Shay Levy
9b5ac5b173 Fix WebOS TV image fetch SSL verify failure (#85841) 2023-01-13 23:50:02 +02:00
Robert Svensson
be899b6ab6 Store Axis device with entry_id key rather than unique_id (#85673)
* Store Axis device with entry_id key rather than unique_id

* Fix review comments
2023-01-13 22:21:40 +01:00
Guido Schmitz
c191daedc3 Remove dead code path in devolo Home Network (#85790)
Remove dead code path
2023-01-13 21:15:50 +01:00
Luke
67716edb0c Update oralb to show battery percentage (#85800)
Co-authored-by: J. Nick Koston <nick@koston.org>
fixes undefined
2023-01-13 10:11:01 -10:00
Kevin Worrel
21cdb6ece3 Bump screenlogicpy to 0.6.3 (#85799)
Co-authored-by: J. Nick Koston <nick@koston.org>
fixes undefined
2023-01-13 09:58:23 -10:00
dependabot[bot]
bce7bd771e Bump actions/setup-python from 4.4.0 to 4.5.0 (#85801)
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4.4.0 to 4.5.0.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v4.4.0...v4.5.0)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-13 21:07:52 +02:00
starkillerOG
b2b6ae417d Reolink check for admin (#85570)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
fixes undefined
2023-01-13 20:07:09 +01:00
shbatm
d35c4f8d82 Deprecate YAML configuration for ISY994 (#85797) 2023-01-13 08:48:44 -10:00
shbatm
8dadbe45fa Bump PyISY to 3.1.4 to fix dependency issues (#85825) 2023-01-13 18:33:21 +01:00
Ville Skyttä
a5a079fb06 Huawei LTE sensor improvements (#84019)
* Use `None` for unknown states consistently

* Use huawei_lte_api NetworkModeEnum instead of magic strings

* Recognize some new sensor items

* Exclude current day duration sensor

* Fix current month upload/download types

* Add current day transfer

* Extract lambdas used in multiple spots to named functions

* Formatter naming consistency improvements
2023-01-13 18:27:57 +01:00
Robert Svensson
7953c4a6d5 Clean up old config migration of Axis config (#85671)
* Revert Axis config flow version to 1

* Set up using hass.config_entries.async_setup

* Fix review comment

* Update homeassistant/components/axis/__init__.py

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

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-01-13 17:12:51 +01:00
Franck Nijhof
4c2b20db68 Collection of typing improvements in common test helpers (#85509)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-01-13 15:12:11 +01:00
Maciej Bieniek
6baa905448 Abort config flow if Airly measuring station does not exist (#85652)
* Abort if there is no sensor in the area

* Add test

* Increase test coverage
2023-01-13 14:35:52 +01:00
Mike Degatano
87aacf9fbe Increase max line size for ingress addons (#85775) 2023-01-13 13:30:28 +01:00
Eugenio Panadero
d748894b88 Remove 'tariff' edition from options-flow (#85703)
* 🎨 Add missing typing for config-flow

* 🐛 Remove 'tariff' edition from options-flow

The `entry.data["tariff"]` is what makes the `entry.unique_id`,
so it's an incoherence to be able to change it in the Options flow

* 🌐 Update generated EN translation

* 🎨 Link translations of option-flow to those of config-flow
2023-01-13 13:27:11 +01:00
Ville Skyttä
ae302bbec0 Make use of str.removeprefix and .removesuffix (#85584) 2023-01-13 12:19:38 +01:00
Franck Nijhof
d44210e573 Fix nightly intents in nightly builds (part2) (#85818) 2023-01-13 12:14:25 +01:00
epenet
e75c85f679 Downgrade integrations without code owner (#85752) 2023-01-13 10:08:15 +01:00
Franck Nijhof
80714c544a Fix nightly intents in nightly builds (#85806) 2023-01-13 09:56:29 +01:00
Ville Skyttä
4c31317c06 Key Huawei LTE routers in hass.data by config entry rather than unique id (#85788)
Key routers in hass.data by config entry rather than unique id

There's no particular reason to key them by the unique id; the config
entry id is a stronger, always available guarantee, and a much more
common convention across the HA codebase.

At some point, we might conceivably support devices we can't find a
proper unique id for; this would work for that purpose as well.
2023-01-13 09:20:24 +01:00
epenet
1deb4c68f3 Adjust diagnostics return types (#85525)
* Adjust diagnostics return types

* Replace dict with Mapping
2023-01-13 09:17:54 +01:00
Malte Franken
9927bb3330 Bump georss_ign_sismologia_client to 0.6 (#85784)
bump georss_ign_sismologia_client to 0.6
2023-01-13 08:58:28 +01:00
tronikos
8e26c048a7 Remove oauth2client dependency in Google Assistant SDK (#85785)
Remove import oauth2client, inline 2 constants
2023-01-13 00:20:16 +01:00
shbatm
28bea53afe Move ISY994 data to dataclass and remove bad entities (#85744) 2023-01-12 13:09:04 -10:00
J. Nick Koston
f941864308 Bump pySwitchbot to 0.36.4 (#85777) 2023-01-12 23:17:00 +01:00
Franck Nijhof
2ca73be9d0 Update sentry-sdk to 1.13.0 (#85772) 2023-01-12 23:04:49 +01:00
Franck Nijhof
9415e7e51b Address small review comments in ESPHome (#85770) 2023-01-12 22:55:18 +01:00
Franck Nijhof
686258acd5 Add nightly intents to nightly build (#85760)
* Add nightly intents to nightly build

* Use main branch
2023-01-12 16:31:14 -05:00
Jovan Gerodetti
49031b8fa7 Implement sync time button for moehlenhoff_alpha2 (#85676)
* Implement sync time button for moehlenhoff_alpha2

* fix outdated doc comment

Co-authored-by: j-a-n <oss@janschneider.net>

* address review comments

Co-authored-by: j-a-n <oss@janschneider.net>
2023-01-12 22:09:14 +01:00
Teju Nareddy
cb04a52220 Fix IoT Class for Torque integration (#85667)
* Fix IoT Class for Torque plugin

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

* Run hassfest

Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-01-12 21:52:39 +01:00
Franck Nijhof
db5edfcf64 Update coverage to 7.0.5 (#85774) 2023-01-12 21:40:59 +01:00
Yuval Aboulafia
578a1cdc02 Add statistics support to iperf3 (#85771) 2023-01-12 12:02:56 -08:00
Paulus Schoutsen
3bb9be2382 2023.1.4 (#85764) 2023-01-12 15:00:21 -05:00
Yuval Aboulafia
1f6efe8c3e Remove WAQI unsupported UOM (#85768)
fixes undefined
2023-01-12 20:10:45 +01:00
Aaron Bach
107461df0d Follow-up on ReCollect Waste calendar entity (#85766) 2023-01-12 11:56:06 -07:00
Kevin Worrel
4f20b15742 Bump screenlogicpy to 0.6.2 (#85725)
fixes undefined
2023-01-12 19:41:07 +01:00
Paulus Schoutsen
6581bad7ce Bumped version to 2023.1.4 2023-01-12 13:20:23 -05:00
Shay Levy
197634503f Bump aiowebostv to 0.3.0 (#85756) 2023-01-12 13:20:17 -05:00
Franck Nijhof
32fc0e03a5 Use jemalloc in Docker builds (#85738) 2023-01-12 13:20:16 -05:00
Nathan Spencer
2e9ea0c934 Fix Litter-Robot 4 firmware versions reported while updating (#85710) 2023-01-12 13:20:15 -05:00
Nathan Spencer
856f68252b Use built in polling for litterrobot update entity (#84678)
* Use built in polling

* Define scan interval
2023-01-12 13:19:55 -05:00
Nathan Spencer
2789747b0f Bump pylitterbot to 2023.1.0 (#85484) 2023-01-12 13:18:37 -05:00
Daniel Hjelseth Høyer
45d14739c5 Update pyTibber to 0.26.8 (#85702)
* Tibber, update pyTibber

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

* Tibber, update pyTibber

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

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
2023-01-12 13:17:40 -05:00
Ville Skyttä
d0f95d84b4 Upgrade huawei-lte-api to 1.6.11 (#85669) 2023-01-12 13:17:38 -05:00
Robert Hillis
1e852e761c Remove oauth2client dependency in Google Sheets (#85637)
Remove oauth2client dependency
2023-01-12 13:17:37 -05:00
Ville Skyttä
c3859f9170 Improve Huawei LTE SSDP inclusion (#85572)
* Probe Huawei LTE API for device support on SSDP match

More or less as expected, the loosening of SSDP/UPnP data matches done
in #81643 started to yield false positives, as in #85402.

Coming up with robust matches solely based on the SSDP/UPnP data still
does not seem possible, so keep the matches as loose as they were made,
but additionally invoke a probe request on the API to determine if the
device looks like a supported one.

* Probe only after unique id checks

Prevents throwaway probes for discoveries already in progress.

* Fix SSDP result URL test, add missing assert on it
2023-01-12 13:17:36 -05:00
Milan Meulemans
6df4fc6708 Upgrade aionanoleaf to 0.2.1 (#83669) 2023-01-12 13:17:34 -05:00
Shay Levy
596f779254 Bump aiowebostv to 0.3.0 (#85756) 2023-01-12 19:11:27 +01:00
epenet
e18117fd63 Bump sfrbox-api to 0.0.4 (#85742)
* Bump sfrbox-api to 0.0.3

* Bump sfrbox-api to 0.0.4
2023-01-12 18:17:31 +02:00
epenet
b5a9e682be Add missing enum item in SFR Box (#85746)
* Add missing enum item in SFR Box

* Adjust tests
2023-01-12 18:15:09 +02:00
Maciej Bieniek
cc016c9bba Pass language to the Airly API (#85655)
* Pass language to the API

* Pass only pl or en

* Add comment
2023-01-12 16:15:00 +01:00
Martin Hjelmare
4895f2e7c2 Fix gen_requirements_all script permissions (#85745) 2023-01-12 15:46:36 +01:00
Erik Montnemery
8418a30cc0 Refactor energy validation issue reporting (#85523)
* Refactor energy validation issue reporting

* Update English translations

* Adjust translations
2023-01-12 12:50:43 +01:00
Erik Montnemery
e4e96d3394 Fix sensor test (#85740) 2023-01-12 12:21:19 +01:00
Franck Nijhof
e18a6e376c Use jemalloc in Docker builds (#85738) 2023-01-12 11:59:44 +01:00
Osma Ahvenlampi
45a41421b6 Change Ruuvi movement counter to correct state class (#85677)
change Ruuvi movement counter to correct class

The counter's values are 0 to 255 increasing value, so the correct state class as per https://developers.home-assistant.io/docs/core/entity/sensor/#entities-representing-a-total-amount is TOTAL_INCREASING.
2023-01-12 10:29:54 +01:00
epenet
5a4df9d870 Add binary sensor platform to SFR Box (#85508)
* Add binary sensor platform to SFR Box

* Simplify
2023-01-12 10:06:09 +01:00
Jan Bouwhuis
64e235285d Deprecate power_command_topic for MQTT climate (#85229)
* Deprecate mode_command_topic for MQTT climate

* Correct deprecation and remove support release inf

* Do not use future tense for comment

* Extend deprecation period to 6 months
2023-01-12 09:49:14 +01:00
Erik Montnemery
a7fb3c82fb Add WS command number/device_class_convertible_units (#85598)
* Add WS command number/device_class_convertible_units

* Add websocket_api

* Update tests
2023-01-12 09:34:10 +01:00
Erik Montnemery
305fb86d50 Add WS command sensor/device_class_convertible_units (#85213)
* Add WS command sensor/device_class_units

* Rename new command to device_class_convertible_units
2023-01-12 09:31:06 +01:00
epenet
679e971131 Add system diagnostic sensors to SFR Box (#85184)
* Add system diagnostic sensor

* Add tests
2023-01-12 09:29:12 +01:00
Erik Montnemery
b0d4b73874 Add unitless unit converter (#85694)
* Add unitless unit converter

* Adjust type hints

* Adjust tests

* Rename to UnitlessRatioConverter
2023-01-12 09:20:00 +01:00
Maciej Bieniek
a176de6d4b Add RPC smoke binary sensor to Shelly integration (#85697)
* Add RPS smoke binary sensor

* Remove index

* Remove the unnecessary attribute
2023-01-12 08:42:40 +01:00
Shay Levy
b71d332a10 Cleanup Shelly sensor description (#85732) 2023-01-11 21:39:49 -10:00
Ville Skyttä
c625051665 Improve Huawei LTE SSDP inclusion (#85572)
* Probe Huawei LTE API for device support on SSDP match

More or less as expected, the loosening of SSDP/UPnP data matches done
in #81643 started to yield false positives, as in #85402.

Coming up with robust matches solely based on the SSDP/UPnP data still
does not seem possible, so keep the matches as loose as they were made,
but additionally invoke a probe request on the API to determine if the
device looks like a supported one.

* Probe only after unique id checks

Prevents throwaway probes for discoveries already in progress.

* Fix SSDP result URL test, add missing assert on it
2023-01-12 06:47:38 +01:00
shbatm
255a8362a1 Consolidate device info and clean-up ISY994 code base (#85657)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-01-11 18:07:44 -10:00
Jack Boswell
43cc8a1ebf Add binary_sensor to Starlink (#85409)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-01-11 17:18:54 -10:00
Robert Hillis
ae9a57b2a8 Remove oauth2client dependency in Google Sheets (#85637)
Remove oauth2client dependency
2023-01-12 04:02:02 +01:00
Nathan Spencer
0ae855d345 Fix Litter-Robot 4 firmware versions reported while updating (#85710) 2023-01-12 03:53:06 +01:00
Robert Hillis
b14c141fe3 Address review comments for D-Link config flow (#85712)
* Address review comments for D-Link config flow

* uno mas

* uno mas

* uno mas
2023-01-12 03:46:51 +01:00
Eugenio Panadero
05590f63c9 Clean attributes in pvpc hourly pricing ElecPriceSensor (#85688)
♻️ Remove unnecessary private attrs and fix typing for sensor entity
2023-01-12 03:21:16 +01:00
Daniel Hjelseth Høyer
2757f97114 Update pyTibber to 0.26.8 (#85702)
* Tibber, update pyTibber

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

* Tibber, update pyTibber

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

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
2023-01-12 03:15:28 +01:00
Klaas Schoute
6f92c5381d Add Energie VanOns virtual integration (#85704) 2023-01-12 01:14:36 +01:00
Eugenio Panadero
77feaecbfa Remove unreachable config entry migration in pvpc hourly pricing (#85700)
* 🔥 Remove old config entry migration logic

introduced for a breaking change in 2021-06, now unreachable after
completely disabling the YAML config for the integration

*  Remove test for old config entry migration logic

and adjust existent one for config-flow to do not lose coverage
2023-01-12 01:07:11 +01:00
Jovan Gerodetti
3ee73f0fea Bump moehlenhoff-alpha2 to 1.3.0 (#85720)
bump moehlenhoff_alpha2 to v1.3.0
2023-01-12 00:52:32 +01:00
Milan Meulemans
e603645b90 Upgrade aionanoleaf to 0.2.1 (#83669) 2023-01-12 00:43:04 +01:00
Felix T
42a4dd98f1 Use fallback advertising interval for non-connectable Bluetooth devices (#85701)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-01-11 12:11:25 -10:00
Paulus Schoutsen
c8cd41b5d4 Add ESPHome update entities (#85717) 2023-01-11 16:26:13 -05:00
Paulus Schoutsen
06bc9c7b22 Automatically fetch the encryption key from the ESPHome dashboard (#85709)
* Automatically fetch the encryption key from the ESPHome dashboard

* Also use encryption key during reauth

* Typo

* Clean up tests
2023-01-11 15:28:31 -05:00
epenet
a2f6299fc1 Remove invalid device class in energyzero (#85690)
* Remove invalid device class in energyzero

* Adjust tests
2023-01-11 20:49:14 +01:00
Ernst Klamer
a575dfb5c3 Bump bthome-ble to 2.5.0 (#85670)
Bump bthome-ble
2023-01-11 19:30:39 +02:00
Ville Skyttä
ccd7f09de6 Upgrade huawei-lte-api to 1.6.11 (#85669) 2023-01-11 17:44:55 +01:00
mkmer
f9dcb2ea84 Bump whirlpool-sixth-sense to 0.18.2 (#85679) 2023-01-11 14:54:41 +01:00
Eugenio Panadero
2286029b5d Bump aiopvpc to 4.0.1 (#85612)
* 📦️ Bump aiopvpc version

* ♻️ Evolve DataUpdateCoordinator and PVPC sensor for new aiopvpc

setting `SensorDeviceClass.MONETARY` for the price sensor

* 🍱 tests: Update tests fixtures with new sensor data

for aiopvpc v4 with 'esios_public' as data-source

*  tests: Adapt test suite for new default data-source

* 📦️ Bump aiopvpc version for latest patch 4.0.1

* ️ Revert changes unrelated to library bump

* ️ Revert tests changes unrelated to library bump
2023-01-11 14:49:42 +01:00
Paulus Schoutsen
82ec769ec5 Handle ESPHome dashboard discovery (#85662) 2023-01-11 08:30:52 -05:00
Jan Bouwhuis
1a4cac95a1 Revert "Bump steamodd to 4.23" (#85651) 2023-01-11 13:13:19 +01:00
Erik Montnemery
0200327fa8 Make the kitchen_sink integration trigger statistics issues (#79742)
* Make the kitchen_sink integration trigger statistics issues

* Remove dead code
2023-01-11 08:14:11 +01:00
GitHub Action
941f82b60c [ci skip] Translation update 2023-01-11 00:23:37 +00:00
Robert Hillis
3d7c61bbed Add D-Link config flow (#84927) 2023-01-10 14:10:56 -10:00
rikroe
1afb30344a Add diagnostics to bmw_connected_drive (#74871)
* Add diagnostics to bmw_connected_drive

* Add tests for diagnostics

* Move get_fingerprints to library, bump bimmer_connected to 0.10.4

* Update bimmer_connected to 0.11.0

* Fix pytest

* Mock actual diagnostics HTTP calls

* Update tests for bimmer_connected 0.12.0

* Don't raise errors if vehicle is not found

Co-authored-by: rikroe <rikroe@users.noreply.github.com>
2023-01-11 01:09:45 +01:00
Matthias Alphart
db428f2141 Update xknx to 2.3.0 - add some DPTs, Routing security (#85658)
Update xknx to 2.3.0
2023-01-11 00:24:56 +01:00
shbatm
856895ddf5 Remove old migrate unique ID code from ISY994 (#85641)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-01-10 12:42:31 -10:00
shbatm
d3249432c9 Add ISY994 variables as number entities (#85511)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-01-10 12:29:11 -10:00
Ernst Klamer
7af23698bc Bump bluemaestro-ble to 0.2.1 (#85648) 2023-01-10 11:40:18 -10:00
epenet
6e3cf896f7 Remove invalid device class in gios (#85611) 2023-01-10 22:08:13 +01:00
Eugenio Panadero
caa8fc4d10 Remove deprecated YAML manual config for PVPC Hourly Pricing (#85614) 2023-01-10 20:49:54 +01:00
Paul Bottein
67b238c8d1 Update frontend to 20230110.0 (#85640) 2023-01-10 14:28:12 -05:00
Erik Montnemery
85ba8a6cde Bump hatasmota to 0.6.3 (#85633) 2023-01-10 20:48:06 +02:00
tronikos
667fde997d Google Assistant SDK: Fix broadcast command in Japanese (#85636)
Fix broadcast command in Japanese
2023-01-10 20:20:28 +02:00
epenet
de2588f6e0 Add diagnostics platform to SFR Box (#85500) 2023-01-10 20:17:14 +02:00
Allen Porter
02357193ad Bump gcal-sync to 4.1.2 (#85631) 2023-01-10 20:15:55 +02:00
Bouwe Westerdijk
4889373819 Bump plugwise to v0.27.1 (#85630) 2023-01-10 19:47:48 +02:00
mkmer
d01a62fec5 Bump AIOAladdinConnect to 0.1.52 (#85632) 2023-01-10 19:44:57 +02:00
epenet
a7647fee28 Fix unknown data in homematicip_cloud (#85618) 2023-01-10 12:26:49 -05:00
Erik Montnemery
7621c450c7 Add kitchen_sink integration (#85592) 2023-01-10 17:31:47 +01:00
epenet
3d02b5af21 Fix unknown data in vultr (#85627) 2023-01-10 17:29:17 +01:00
epenet
67f8d82818 Remove invalid state class in deconz (#85615) 2023-01-10 17:28:35 +01:00
epenet
2ae986d45b Remove invalid state class in tado (#85624) 2023-01-10 16:55:34 +01:00
epenet
4eddd8b75a Remove invalid unit of measurement in mfi (#85620) 2023-01-10 16:45:59 +01:00
epenet
298d7504fd Fix unknown data in qwikswitch (#85621) 2023-01-10 16:42:28 +01:00
epenet
d313d82eb7 Fix unknown data in influxdb (#85619) 2023-01-10 16:41:16 +01:00
epenet
65750fec9b Remove invalid state class in hue (#85617) 2023-01-10 16:37:35 +01:00
epenet
4d660f926d Fix unknown data in google wifi (#85616) 2023-01-10 16:37:04 +01:00
starkillerOG
105b34bd77 Reolink add support for flv protocol (#85576) 2023-01-10 12:16:48 +01:00
Aaron Bach
5d7f33ad76 Further generalize base Ridwell entity (#85486) 2023-01-10 12:15:28 +01:00
Erik Montnemery
5fdf78ed30 Drop title from repairs flows (2) (#85597) 2023-01-10 12:11:30 +01:00
epenet
fa7d7415d7 Adjust diagnostic return type in Sonos (#85585) 2023-01-10 12:07:14 +01:00
Dermot Duffy
b64d14004a Bump motionEye client version to v0.3.14 (#85408) 2023-01-10 12:01:42 +01:00
Franck Nijhof
0a8380cbe1 Deprecate Magicseaweed (#85527) 2023-01-10 11:54:49 +01:00
epenet
9eb06fd59d Simplify sensor state validation (#85513) 2023-01-10 11:52:29 +01:00
mkmer
b86c58b0ea Bump whirlpool-sixth-sense to 0.18.1 (#85521)
* Bump whirlpool to 0.18.1
Add HASS AIOsession
Add unregister to remove_from_hass

* remove session from WhirlpoolData class
2023-01-10 10:41:35 +01:00
Franck Nijhof
bba9ad3243 Revert "Adapt tplink to use has_entity_name" (#85595)
Revert "Adapt tplink to use has_entity_name (#85577)"

This reverts commit ca0fe488ba.
2023-01-10 10:06:58 +01:00
Guido Schmitz
d40a4aa970 Add switch platform to devolo_home_network (#72494) 2023-01-10 10:05:59 +01:00
Franck Nijhof
05c32c51fd Code styling tweaks to the Cast integration (#85560) 2023-01-10 09:57:13 +01:00
J. Nick Koston
6aa44d5b82 Bump bleak to 0.19.5 (#85567)
changelog: https://github.com/hbldh/bleak/compare/v0.19.2...v0.19.5
2023-01-10 09:56:24 +01:00
J. Nick Koston
f9dbce8bf4 Bump dbus-fast to 1.84.0 (#85568)
changelog: https://github.com/Bluetooth-Devices/dbus-fast/compare/v1.82.0...v1.84.0
2023-01-10 09:55:37 +01:00
Aaron Bach
6a801fc058 Remove no-longer-needed invalid API key monitor for OpenUV (#85573)
* Remove no-longer-needed invalid API key monitor for OpenUV

* Handle re-auth cancellation

* Use automatic API status check
2023-01-10 09:48:39 +01:00
Shay Levy
bf67458d83 Bump aioshelly to 5.2.1 to fix Task exception was never retrieved (#85575)
Bump aioshelly to 5.2.1
2023-01-10 09:46:36 +01:00
starkillerOG
db8a94d5e2 bump reolink-aio to 0.2.1 (#85571) 2023-01-10 09:44:53 +01:00
Teemu R
ca0fe488ba Adapt tplink to use has_entity_name (#85577)
* Adapt tplink to use has_entity_name

* Set the name for individual smartstrip sockets

* Fix tests
2023-01-10 09:40:29 +01:00
Bouwe Westerdijk
4a22b463d1 Plugwise: add missing P1v2 sensors (#85589)
Add missing P1v2 sensors
2023-01-10 09:36:18 +01:00
tronikos
e24989b446 Google Assistant SDK conversation agent (#85499)
* Google Assistant SDK conversation agent

* refresh token

* fix session

* Add tests

* Add option to enable conversation agent
2023-01-09 20:53:41 -05:00
GitHub Action
f2df72e014 [ci skip] Translation update 2023-01-10 00:25:07 +00:00
starkillerOG
77542fc842 Netgear fix missing await (#85574)
fix missing await
2023-01-10 01:02:31 +02:00
epenet
069d8024a4 Remove invalid state class in Subaru sensor (#85520) 2023-01-09 15:59:17 -07:00
Michael Hansen
07bd208c7d Load custom sentences from config directory (#85558)
* Load custom sentences from config directory

* Load custom sentences from config directory

* Custom sentences in custom_sentences/<language>/

* Load custom sentences from config directory

* Custom sentences in custom_sentences/<language>/

* Add custom_sentences test
2023-01-09 16:48:59 -06:00
Jeef
6970a8a87a Add IntelliFire lights (#79816) 2023-01-09 12:16:39 -10:00
J. Nick Koston
2c95c0b3a1 Do not check ble scanner state for sleepy shelly devices (#85566)
fixes #85563
2023-01-10 00:16:14 +02:00
Christopher Bailey
02897fb9a3 Add UniFi Protect Chime Duration entity (#85538) 2023-01-09 12:09:41 -10:00
J. Nick Koston
57239769ba Only build compressed states once (#85561) 2023-01-09 12:07:32 -10:00
Christopher Bailey
818253ced4 Bump pyunifiprotect to 4.6.1 (#85547) 2023-01-09 12:00:21 -10:00
Franck Nijhof
b6316b4904 Split wheels building of all requirements (#85564) 2023-01-09 22:16:59 +01:00
Erik Montnemery
8983f665cf Refactor device registry JSON cache (#85539) 2023-01-09 09:50:27 -10:00
Jafar Atili
a8f95c36a6 Bump pySwitchbee to 1.7.19 (#84442)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-01-09 09:23:49 -10:00
Franck Nijhof
3bb435c292 Pin matplotlib to 3.6.1 (#85540) 2023-01-09 18:34:10 +01:00
Aaron Bach
e35b21823e Add a calendar entity to ReCollect Waste (#85347)
* Add a calendar entity to ReCollect Waste

* Simplify and ensure return None

* Ensure end date is after start date
2023-01-09 09:50:42 -07:00
Keilin Bickar
9491de2bd1 Bump sense_energy to 0.11.1 (#85533)
fixes undefined
2023-01-09 17:35:15 +01:00
Erik Montnemery
b933a53aa3 Refactor entity registry JSON cache (#85085)
* Refactor entity registry JSON cache

* Fix generator

* Tweak

* Improve string building

* Improve test coverage

* Override EntityRegistryItems.values to avoid __iter__ overhead
2023-01-09 16:52:52 +01:00
Scott Colby
174cc23309 Add "Schedule Part" enum sensor to Venstar thermostat (#84332) 2023-01-09 16:41:17 +01:00
Marcel van der Veldt
c181fb6de0 Bump aiohue library to 4.6.1 (#85504)
* Bump aiohue to 4.6.0

* fix device name for lights

* fix name for groups too

* ignore smart scenes

* bump to 4.6.1 instead

* fix test fixture

* update tests

* fix scene test
2023-01-09 10:37:03 -05:00
mkmer
86ab5f76e0 Whirlpool general code cleanup (#85387) 2023-01-09 16:16:05 +01:00
Franck Nijhof
8747d01e7b Fix translation keys for Yamaha MusicCast selectors (#85292)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-01-09 16:03:29 +01:00
epenet
1766df3faa Improve integration type hints for diagnostics (#85526) 2023-01-09 15:17:48 +01:00
epenet
aa5b29c560 Adjust zwave_js diagnostics (#85524) 2023-01-09 14:33:09 +01:00
Erik Montnemery
72c9ca2567 Update sensor test (#85522) 2023-01-09 14:26:52 +01:00
Robert Svensson
1cdd535f21 Bump axis to v46 (#85431) 2023-01-09 12:43:40 +01:00
Erik Montnemery
54168c9bdb Allow converting units of energy sensors (#85497) 2023-01-09 12:26:35 +01:00
starkillerOG
a332cd8aba Restore Netgear signal strength icon (#85512) 2023-01-09 12:15:36 +01:00
Tom
60604f7905 Default disable voltage sensors in Plugwise (#85451) 2023-01-09 12:09:32 +01:00
Nathan Spencer
02f1dce137 Bump pylitterbot to 2023.1.0 (#85484) 2023-01-09 11:58:06 +01:00
Rami Mosleh
a0e18051c7 Add config flow to imap (#74623)
* Add config flow to imap

fix coverage

fix config_flows.py

* move coordinator to seperate file, remove name key

* update intrgations.json

* update requirements_all.txt

* fix importing issue_registry

* Address comments

* Improve handling exceptions on intial connection

* exit loop tasks properly

* fix timeout

* revert async_timeout

* Improve entity update handling

* ensure we wait for idle to finish

* fix typing

* Update deprecation period

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-01-09 11:41:47 +01:00
Franck Nijhof
c225ed0a1a Remove invalid Signal Strength device class from NETGEAR (#85510) 2023-01-09 11:39:20 +01:00
dependabot[bot]
f1895fa826 Bump actions/cache from 3.2.2 to 3.2.3 (#85488)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-09 11:28:36 +01:00
Matthias Alphart
88356a95e6 Use power factor device class in Fronius integration again (#85495) 2023-01-09 10:42:49 +01:00
dependabot[bot]
186151008f Bump actions/upload-artifact from 3.1.1 to 3.1.2 (#85489)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-09 10:30:14 +01:00
Franck Nijhof
7adb8d5ddc Code styling tweaks to core utils & YAML loader (#85433)
Code styling tweaks to core utils
2023-01-08 22:01:55 -08:00
Christopher Bailey
aa1c539683 Bump pyunifiprotect to 4.6.0 (#85483) 2023-01-08 16:59:21 -10:00
shbatm
a8cdb86b23 Add network resource button entities to ISY994 and bump PyISY to 3.0.12 (#85429)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-01-08 16:45:54 -10:00
Poltorak Serguei
cdafd94550 Z-Wave.Me integration: Add code owners to receive notifications on github (#85476)
* Add code owners to receive notifications on github

* fixup! Add code owners to receive notifications on github
2023-01-08 20:19:04 -05:00
Poltorak Serguei
1f86a0a76f Z-Wave.Me: Cover: Fixed calibration errors and add missing is_closed (#85452)
* Cover: Fixed calibration errors and add missing is_closed

* Style

* Style

* whitespace
2023-01-08 20:18:36 -05:00
Ville Skyttä
dfa9f0e11d Upgrade RestrictedPython to 6.0 (#85426)
Required for Python 3.11.

https://github.com/zopefoundation/RestrictedPython/blob/6.0/CHANGES.rst#60-2022-11-03
2023-01-08 20:17:39 -05:00
tronikos
05187d7bf4 Google Assistant SDK: support Korean and Japanese (#85419)
* Google Assistant SDK: support Korean and Japanese

* Fix Korean and Japanese broadcast commands
2023-01-08 20:16:00 -05:00
J. Nick Koston
7bdfa7b9ec Bump aioesphomeapi to 13.0.4 (#85406)
bugfix for protobuf not accepting bytearray

changelog: https://github.com/esphome/aioesphomeapi/compare/v13.0.3...v13.0.4
2023-01-08 20:09:49 -05:00
eMerzh
c4c64a8bed Add missing context in homewizard assistant error (#85397) 2023-01-08 20:09:37 -05:00
GitHub Action
6ce88cd5af [ci skip] Translation update 2023-01-09 00:23:57 +00:00
David Buezas
112b2c22f7 Expose async_scanner_devices_by_address from the bluetooth api (#83733)
Co-authored-by: J. Nick Koston <nick@koston.org>
fixes undefined
2023-01-08 14:06:32 -10:00
Franck Nijhof
06a35fb7db Code styling tweaks to core helpers (#85441) 2023-01-08 13:44:09 -10:00
Franck Nijhof
cf5fca0464 Code styling tweaks to core entity components (#85460) 2023-01-08 13:40:08 -10:00
jjlawren
9d7e99eeb7 Handle timeouts in Sonos, reduce logging noise (#85461) 2023-01-08 13:39:26 -10:00
Franck Nijhof
318871f8a9 Code styling tweaks to the LaMetric integration (#85469) 2023-01-09 01:36:54 +02:00
Allen Porter
4162dfdc4e Bump gcal_sync to 4.1.1 (#85453) 2023-01-09 01:35:23 +02:00
Franck Nijhof
36f16b0ff2 Code styling tweaks to the WLED integration (#85466) 2023-01-09 01:03:05 +02:00
Marc Mueller
8f7aca7b69 Update pydocstyle to 6.2.3 (#85449) 2023-01-09 00:59:07 +02:00
starkillerOG
b0270f1ab7 Fix fetching of initial data of Netgear sensors (#85450)
fix fetching of initial data
2023-01-09 00:57:44 +02:00
Franck Nijhof
2511402400 Code styling tweaks to the AdGuard Home integration (#85468) 2023-01-09 00:53:17 +02:00
jjlawren
90e55cd711 Bump soco to 0.29.0 (#85473) 2023-01-09 00:52:22 +02:00
Ville Skyttä
7eb1b8c2fe Address a few deprecation warnings in tests (#85472) 2023-01-09 00:52:05 +02:00
Franck Nijhof
487782a6d1 Code styling tweaks to Bluetooth (#85448)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-01-08 11:20:02 -10:00
Franck Nijhof
800b8abe39 Code styling tweaks to the MQTT integration (#85463) 2023-01-08 22:07:10 +01:00
jjlawren
1b592e6885 Use subscription callbacks to discover Sonos speakers (#85411)
fixes undefined
2023-01-08 09:50:18 -10:00
J. Nick Koston
d81febd3f4 Small speed up to frequently called datetime functions (#85399) 2023-01-08 09:42:29 -10:00
mkmer
45eb1efc6f Limit Whirlpool timestamp changes to +/- 60 seconds (#85368)
* Limit timestamp changes to +/- 60 seconds

* Add timestamp callback tests
2023-01-08 18:57:46 +01:00
Xavier Decuyper
fc00c6d885 Add Nuki battery percentage sensor (#84968)
* Nuki: add battery percentage + add to device registry

* Remove unused import

* Fixing linting and sorting issues

* Update homeassistant/components/nuki/sensor.py

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

* Shorthand for adding entities

* Use _attr_has_entity_name for battery sensor

* Fix linting issue

* Remove device registry changes

* Exclude from coverage

* Use _attr_ instead of properties

* Clean up

Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-01-08 14:24:20 +01:00
Michael
30c9f4f926 Remove obsolete "Domains blocked" extra attribute from PI-Hole sensors (#85424)
remove obsolete "domains blocked" extra attribute
2023-01-08 13:25:37 +01:00
Lutz Lengemann
5d6634906d Increase Hydrawise default scan interval (#85398)
Increasing default scan interval

Fixes #83540
2023-01-08 13:23:33 +01:00
Bouwe Westerdijk
5eb7aed0ca Plugwise: add support for 3-phase DSMR's (#85421)
* Bump plugwise to v0.27.0

* Add p1-3phase test-fixture

* Add the new 3ph P1 DSMR sensors

* Add p1 3ph test-case
2023-01-08 13:11:29 +01:00
G Johansson
2a965a6e44 SQL reintroduce yaml support (#75205)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-01-07 18:14:36 -10:00
Dave T
d2c733628f Update copyright year to 2023 (#85396)
* Update copyright year

* Remove year from copyright string
2023-01-07 20:05:27 -05:00
J. Nick Koston
a18a629c19 Avoid pattern search entry when there are no patterns in the entity filter (#85404) 2023-01-07 14:40:58 -10:00
GitHub Action
0b163aac7d [ci skip] Translation update 2023-01-08 00:26:22 +00:00
Allen Porter
07fa7504fb Bump ical to 4.2.9 (#85401) 2023-01-07 15:28:37 -08:00
Joakim Plate
8b6e54a01b Switch play pause method in philips js (#85343)
fixes undefined
2023-01-08 00:14:25 +01:00
RoboMagus
dc000d2289 Mark repo as safe directory to git config (#83755)
Fixes https://github.com/home-assistant/core/issues/83753
fixes undefined
2023-01-08 00:11:12 +01:00
Bouwe Westerdijk
da51765f5c Fix unit of illuminance in Plugwise illuminance sensor (#85392) 2023-01-08 00:01:53 +01:00
Michael Hansen
ecaec0332d Hassil intents (#85156)
* Add hassil to requirements

* Add intent sentences

* Update sentences

* Use hassil to recognize intents in conversation

* Fix tests

* Bump hassil due to dependency conflict

* Add dataclasses-json package contraints

* Bump hassil (removes dataclasses-json dependency)

* Remove climate sentences until intents are supported

* Move I/O outside event loop

* Bump hassil to 0.2.3

* Fix light tests

* Handle areas in intents

* Clean up code according to suggestions

* Remove sentences from repo

* Use home-assistant-intents package

* Apply suggestions from code review

* Flake8

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-01-07 16:20:21 -05:00
Álvaro Fernández Rojas
3a905f80df Add QNAP QSW sensors for each port (#76811)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-01-07 10:25:38 -10:00
Jack Boswell
3ad4caa3d7 Add Starlink Integration (#77091)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-01-07 10:13:37 -10:00
Robert Hillis
ad65fc27bc Add Google Mail integration (#82637)
* Add Google Mail integration

* oops

* prettier

* Add email service

* adjustments

* update

* move email to notify

* break out services

* tweaks

* Add CC and BCC support

* drop scope check, breakout tests

* use abstract auth

* tweak

* bump dependency

* dependency bump

* remove oauth2client
2023-01-07 11:59:14 -08:00
shbatm
d2537dacc6 Add beep button entity to ISY994 Insteon devices (#85367)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-01-07 09:40:34 -10:00
RenierM26
1804006da0 EZVIZ: Add mac to device info (#85378)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-01-07 20:39:15 +01:00
Allen Porter
5000c426c6 Add config flow for Rain Bird (#85271)
* Rainbird config flow

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

* Add options for irrigation time and deprecate yaml

* Combine exception handling paths to get 100% test coverage

* Bump the rainird config deprecation release

* Apply suggestions from code review

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

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

* Simplify configuration flow and options based on PR feedback

* Consolidate data update coordinators to simplify overall integration

* Fix type error on python3.9

* Handle yaml name import

* Fix naming import post serialization

* Parallelize requests to the device

* Complete conversion to entity service

* Update homeassistant/components/rainbird/switch.py

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

* Update homeassistant/components/rainbird/config_flow.py

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

* Remove unused import

* Set default duration in options used in tests

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

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-01-07 09:34:01 -08:00
Joakim Plate
e3e64c103d Switch to attr use in philips js (#85345) 2023-01-07 15:00:32 +01:00
Marc Mueller
c3991b591a Improve DataUpdateCoordinator typing in integrations (8) (#85331) 2023-01-07 14:55:19 +01:00
Marc Mueller
2e989b16ad Improve DataUpdateCoordinator typing in integrations (9) (#85332) 2023-01-07 14:52:06 +01:00
Marc Mueller
a2ef0caa07 Improve sleepiq generic typing (#85330) 2023-01-07 14:13:16 +01:00
Marc Mueller
e99840f82c Improve devolo_home_network generic typing (#85328) 2023-01-07 14:12:03 +01:00
Marc Mueller
b27e89b40e Improve flume generic typing (#85329) 2023-01-07 14:10:44 +01:00
Michael
dddba4ba45 Remove own sensor description in PI-Hole (#85371)
own sensor description is not needed anymor
2023-01-07 14:06:33 +01:00
Maciej Bieniek
0fbb334ad9 Bump accuweather package to 0.5.0 (#85326)
Bump accuweather
2023-01-07 13:37:29 +01:00
Phil Bruckner
b257de57d9 Bump life360 package to 5.5.0 (#85322)
Improve debug output & redact sensitive info from log.
Fix bug that was masking some HTTP errors.
Retry HTTP errors 502, 503 & 504, which have been observed to happen every once
in a while, resulting in fewer unnecessary unavailable states.
2023-01-07 12:53:04 +01:00
Benjamin
f215ae9dd9 Bump volkszahler to 0.4.0 (#85335)
bump volkszahler to 0.4.0

bump volkszahler to 0.4.0
2023-01-07 12:45:09 +01:00
Michael
c3716015c4 Move platform related stuff out of const.py in PI-Hole integration (#85237)
move platform related stuff out of const.py
2023-01-07 12:40:21 +01:00
Michael
ee3ab45012 Make API key mandatory for PI-Hole (#85264)
* add reauth flow

* adjust tests

* use constant for platforms

* remove not needed async_get_entry()

* fix typo

* user _async_abort_entries_match()

* don't use CONF_ prefix for config dicts

* sort PLATFORMS

* use entry_data in reauth flow
2023-01-07 12:22:36 +01:00
Joakim Plate
7f2b7340b9 Validate length of rfxtrx identifier (#85352) 2023-01-07 10:52:46 +01:00
Joakim Plate
dfca3c2448 Correct memory leak for rfxtrx lighting4 devices (#85354) 2023-01-07 10:52:05 +01:00
puddly
757e4cf9e1 Retry ZHA config entry setup when ENETUNREACH is caught (#84615)
* The config entry is not ready on `ENETUNREACH`

* Use new `TransientConnectionError` from zigpy
2023-01-07 10:46:33 +01:00
Allen Porter
d3c7cbbfb0 Bump pyrainbird to 1.1.0 (#85358) 2023-01-06 22:16:14 -08:00
J. Nick Koston
4025ac712f Add note to SwitchBot locks that usernames are case sensitive (#85359) 2023-01-06 19:51:20 -10:00
J. Nick Koston
21c0e93ee9 Bump pySwitchbot to 0.36.3 (#85360) 2023-01-06 19:50:50 -10:00
puddly
015281078a Bump ZHA dependencies (#85355)
* Bump ZHA dependencies

* Deprecated `foundation.Command` -> `foundation.GeneralCommand`
2023-01-06 23:01:36 -05:00
J. Nick Koston
6d012ea7c0 Bump aioesphomeapi to 13.0.3 (#85356)
Performance improvements

changelog: https://github.com/esphome/aioesphomeapi/compare/v13.0.2...v13.0.3
2023-01-06 23:00:38 -05:00
shbatm
cf3ca816a8 Add query button entities to ISY994 devices and hub (#85337) 2023-01-06 15:15:02 -10:00
GitHub Action
2976f843b5 [ci skip] Translation update 2023-01-07 00:22:33 +00:00
shbatm
9ad05b55d9 Use Platform enum and remove DOMAIN as X imports in ISY994 (#85341) 2023-01-06 13:16:14 -10:00
J. Nick Koston
194adcde9c Drop ChainMap in translation cache (#85260) 2023-01-06 11:52:18 -10:00
mkmer
d75087ede5 Add Whirlpool washer and dryer to Whirlpool integration (#85066)
* redo Add sensor

* move back to ClientError
simplify washer_state

* Cleanup Sensor definitions

* Seperated EndTimeSensor

* Clean up WasherDryerTimeClass

* Start with Timestamp = None

* Clean up class description

* One more ClientError

* change to restore sensor

* Don't update when no state change

* Seperate washer tests
Add restore_state test

* Remove unused loop in washer sensor test

* No loops in sensor tests

* Remove unnecessary SensorTestInstance
2023-01-06 12:41:46 -08:00
starkillerOG
968cf641b8 Bump reolink-aio to 0.1.3 (#85309)
bump reolink-aio to 0.1.3
2023-01-06 20:52:24 +01:00
shbatm
f12ffe1e49 Add addtional device classes to ISY994 sensors and bump PyISY to 3.0.11 (#85315) 2023-01-06 07:41:39 -10:00
Franck Nijhof
9d45071e3f Add EasyBaby support to Tuya (#85298) 2023-01-06 14:42:09 +01:00
Carlos Cristobal
8bb5763ea0 Fix Fitbit state for values over 999 (#85251)
* Remove comma thousands formatting

* Add calorie and bpm to units

* Updating device and state classes

* Revert "Updating device and state classes"

This reverts commit ae77cf3cd7.

* Revert "Add calorie and bpm to units"

This reverts commit 7d82bb1c12.

* Removing unnecessary formatting
2023-01-06 14:12:41 +01:00
Franck Nijhof
bd8cb4f166 Update debugpy to 1.6.5 (#85297) 2023-01-06 13:28:15 +01:00
Aaron Bach
31bf0a0105 Renovate Tile config flow tests (#85154) 2023-01-06 13:08:52 +01:00
Anders
4b178e88a4 Mark Yamaha media player as unavailable when unresponsive (#85018) 2023-01-06 13:03:02 +01:00
starkillerOG
d9be9fe6d5 Increase Netgear speedtest period to 2 hours (#85299) 2023-01-06 12:56:27 +01:00
Tom Puttemans
b9339a290a Fix dsmr_reader peak hour consumption unit of measurement (#85301) 2023-01-06 12:55:32 +01:00
Robert Svensson
220ec1906c Make sensor platform use common UniFi entity class (#84818)
fixes undefined
2023-01-06 12:50:32 +01:00
epenet
52032c6c7f Complete test coverage for SFR Box (#85068)
* Complete test coverage for SFR Box

* Add missing hint

* renault -> sfr_box

* Fixes following rebase
2023-01-06 12:30:07 +01:00
epenet
0d5bdaf037 Bump sfrbox-api to 0.0.2 (#85302) 2023-01-06 12:13:49 +01:00
Michal Čihař
aace1da358 lacrosse_view: Set entity availablity depending on the data (#85303) 2023-01-06 12:13:06 +01:00
epenet
3ecbb235cc Address late feedback in SFR Box enum sensors (#84977)
* Address late feedback to SFR Box

* Hassfest

* missed a capital G

* Apply suggestion
2023-01-06 11:13:33 +01:00
Aaron Bach
39b110b9b0 Renovate OpenUV config flow tests (#85150) 2023-01-06 10:51:46 +01:00
Paulus Schoutsen
9ed629d838 Fix some pytest warning for helpers (#85283) 2023-01-06 09:21:46 +01:00
Klaas Schoute
f620d2bb2f Add diagnostics to EnergyZero integration (#85164) 2023-01-06 09:13:11 +01:00
dependabot[bot]
5cc3636be7 Bump actions/checkout from 3.2.0 to 3.3.0 (#85285)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-06 08:35:47 +01:00
Paulus Schoutsen
1e78314638 Use async with timeout (#85281) 2023-01-05 20:43:56 -10:00
Charles Garwood
9e68117a33 Bump bluetooth-data-tools to 0.3.1 for ld2410-ble (#85278) 2023-01-05 22:33:37 -05:00
Charles Garwood
cf92142b64 Fix Fully Kiosk service call config entry handling (#85275)
* Make sure we're getting the fully_kiosk config entry

* Make sure we're getting the fully_kiosk config entry
2023-01-05 22:10:41 -05:00
Franck Nijhof
bdcccd9d83 Improve weather Forecast typing (#85019) 2023-01-06 03:39:37 +01:00
930913
2507ec1f4b Add LD2410 BLE integration (#83883) 2023-01-05 16:15:03 -10:00
rikroe
5b8b6167ac Bump bimmer_connected to 0.12.0 (#85255)
* Bump bimmer_connected to 0.12.0

* Fix mypy

* Remove not needed code

Co-authored-by: rikroe <rikroe@users.noreply.github.com>
2023-01-06 03:05:37 +01:00
shbatm
b5d5a720dc Add additional device classes and units to ISY994 aux sensors (#85274)
fixes undefined
2023-01-05 15:31:45 -10:00
J. Nick Koston
1fbdb80430 Avoid some data merges in the bluetooth remote scanners when nothing has changed (#85270) 2023-01-05 15:22:14 -10:00
shbatm
c4d03088c0 Restore low battery state on ISY994 Insteon heartbeat nodes (#85209)
fixes undefined
2023-01-05 14:30:08 -10:00
GitHub Action
bdd87bcc87 [ci skip] Translation update 2023-01-06 00:23:50 +00:00
Robert Hillis
77dd0b2fd3 Bump steamodd to 4.23 (#85071) 2023-01-06 01:56:42 +02:00
Shai Ungar
f61d605d6d Remove redundant CONF_PATH from sabnzbd config flow (#85214)
remove redundant CONF_PATH from sabnzbd config flow
2023-01-06 01:53:30 +02:00
Guido Schmitz
21fbe07218 Bump devolo_plc_api to 1.0.0 (#85235)
* Bump devolo_plc_api to 1.0.0

* Fix pylint
2023-01-06 01:49:59 +02:00
IceBotYT
57f792d88f Add support for WetDry, WindHeading, and Flex fields in LaCrosse View (#79062)
* Add support for WetDry and WindHeading fields in LaCrosse View

* Improve test coverage

* Verify data type before conversion

* Improve test coverage

* Convert to more concise type conversion

* Add Flex field as per #79529

* Improve code quality

* Add check if expected field is missing
2023-01-06 00:45:06 +01:00
J. Nick Koston
3ac5b780ff Reject the WiFI AP when considering to update a shelly config entry from zeroconf (#85265)
Reject the WiFI AP IP when considering to update a shelly config entry from zeroconf

fixes #85180
2023-01-06 01:44:10 +02:00
Franck Nijhof
a36709cc8d Update coverage to 7.0.3 (#85197) 2023-01-05 23:54:31 +01:00
Michal Čihař
18a18aa6c4 Fix lacrosse_view fetching of latest data (#85117)
lacrosse_view: fixed fetching of latest data

When using datetime.utcnow(), it only replaces timezone information with
UTC making the actual time offset by the timezone. When you are in UTC-
timezones, it makes no issue as the offset is in the future, but when in
UTC+, the last hour(s) of data are missing.

This commits swtiches to time.time() as UTC timestamp is actually what
the API expects.

It also reduces the window to one hour what noticeably improves the API
performance.
2023-01-05 23:45:29 +01:00
Franck Nijhof
f4a71ea83f Fix translation keys for NAM sensors (#85245)
Co-authored-by: Maciej Bieniek <bieniu@users.noreply.github.com>
2023-01-05 23:17:29 +01:00
shbatm
ef759e9c63 Assign ISY994 program entities to hub device, simplify device info (#85224) 2023-01-05 11:16:17 -10:00
starkillerOG
11df364b10 bump reolink-aio to 0.1.2 (#85247) 2023-01-05 22:06:40 +01:00
Álvaro Fernández Rojas
146b43f8c5 Add Airzone Select platform support (#76415)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-01-05 11:03:36 -10:00
epenet
829c8e611e Remove invalid device class for RSSI sensors (#85191)
* Remove invalid device class for RRSI sensors

* Restore state class
2023-01-05 15:30:52 -05:00
J. Nick Koston
28ad27a3b3 Improve error reporting when switchbot auth fails (#85244)
* Improve error reporting when switchbot auth fails

related issue #85243

* bump

* coverage
2023-01-05 15:29:13 -05:00
Franck Nijhof
4a48f0d659 Fix device class for DSMR gas sensors providing energy readings (#85202) 2023-01-05 20:28:13 +01:00
G Johansson
26a964b90a Remove unneeded type checking from Sensibo (#85231) 2023-01-05 18:50:05 +01:00
Franck Nijhof
4335a7c653 Remove invalid AQI unit from Environment Canada (#85183) 2023-01-05 09:02:17 -07:00
Erik Montnemery
377396ba16 Add WS endpoint config/entity_registry/get_entries (#85063) 2023-01-05 09:39:10 -05:00
David McKenna
8ffeffd9d2 Add econet device and state classes (#84201)
* Updated econet sensors to have device and state classes

* Updated econet sensors to have device and state classes

* EcoNet sensor updates

* Updated EcoNet sensors to convert kBtu to kWh

* Updating EcoNet sensor with suggestions

* Updating EcoNet sensor with suggestions

* Updating EcoNet sensor with suggestions

* Updating EcoNet sensor with suggestions

* Updating EcoNet sensors name and unique id

* Updating EcoNet sensor with suggestions

* Updating EcoNet sensor with suggestions
2023-01-05 14:25:33 +01:00
epenet
b578d08e8a Adjust valid energy units (#85190) 2023-01-05 13:00:46 +01:00
Franck Nijhof
83f6e168e5 Update orjson to 3.8.4 (#85195) 2023-01-05 12:34:23 +01:00
Duco Sebel
ab6535382d Bumb python-homewizard-energy to 1.4.0 (#85114) 2023-01-05 11:35:59 +01:00
Artem Draft
49885757db Bump pybravia to 0.3.0 (#85127) 2023-01-05 11:34:07 +01:00
Aaron Bach
6b68d3d365 Generalize a base ReCollect Waste entity (#85166) 2023-01-05 11:26:59 +01:00
Erik Montnemery
280f6e4752 Bump hatasmota to 0.6.2 (#85182) 2023-01-05 12:24:38 +02:00
Klaas Schoute
e8b68e67a7 Add Mijndomein Energie virtual integration (#85165) 2023-01-05 11:22:27 +01:00
Erik Montnemery
c1075ebb8c Allow SensorDeviceClass.POWER_FACTOR unit None (#85181) 2023-01-05 11:03:37 +01:00
epenet
3a02c627fa Adjust set_humidity type hints (#85176) 2023-01-05 10:26:49 +01:00
o951753o
240b4078cd Fix typo in Tuya climate (#85185) 2023-01-05 10:22:22 +01:00
Martin Hjelmare
433c0defbe Clean up pylint warning in zwave_js light (#85149) 2023-01-04 21:13:59 -05:00
William Scanlon
8bb964e1bd Bump pyeconet to 0.1.18 to fix energy usage (#85094) 2023-01-04 21:09:54 -05:00
Ernst Klamer
e33c743f4a Bump bthome-ble to 2.4.1 (#85153)
fix https://github.com/home-assistant/core/issues/85142
fixes undefined
2023-01-05 03:05:46 +01:00
GitHub Action
01e99c0229 [ci skip] Translation update 2023-01-05 00:23:39 +00:00
Martin Hjelmare
8805a7e555 Fix humidifier enforce type hints (#85148) 2023-01-05 00:58:08 +01:00
Aaron Bach
80c357c00f Renovate Ridwell config flow tests (#85135)
* Renovate Ridwell config flow tests

* Better fixture name

* Inconsistent typing
2023-01-04 14:00:59 -07:00
Aaron Bach
6e9d3bf8e9 Renovate Airvisual tests (#84892)
* Renovate AirVisual tests

* Cleanup

* Package scope

* Update tests/components/airvisual/test_config_flow.py

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

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-01-04 13:05:37 -07:00
JC Connell
9c88dea584 Add last timestamp to Tile attributes (#85095)
* Add last timestamp to Tile attributes

* sort lines ascending
2023-01-04 12:58:53 -07:00
Aaron Bach
b80997cc43 Remove unnecessary title kwarg in options flows (#85131) 2023-01-04 12:17:58 -07:00
Martin Hjelmare
439b35c310 Fix Z-Wave JS sensor units and device classes (#85129)
fixes undefined
2023-01-04 19:47:10 +01:00
J. Nick Koston
a9640d9c94 Bump home-assistant-bluetooth to 1.9.2 (#85123) 2023-01-04 18:29:26 +01:00
G Johansson
a5225a3606 Sensibo select platform translations (#82743) 2023-01-04 07:17:57 -10:00
Jan Bouwhuis
ee21bc5d7f Allow MQTT device_class or state_class to be set as None (#85106)
* Allow MQTT device_class to be set as `None`

* Add test

* Also allow sensor state_class to be `None`
2023-01-04 15:21:07 +01:00
Guido Schmitz
a981117f2d Remove illuminance device class for sensors in devolo Home Control (#85108) 2023-01-04 14:38:42 +01:00
Bram Kragten
d3b1a2c95e Update frontend to 20230104.0 (#85107) 2023-01-04 14:38:17 +01:00
Joakim Sørensen
f5c35ac0c1 Handle zone exception when setting up Cloudflare (#85110) 2023-01-04 14:36:41 +01:00
Erik Montnemery
22dbbd4b71 Revert "Disable sky connect config entry if USB stick is not plugged in" (#85103) 2023-01-04 11:33:16 +01:00
Klaas Schoute
0239938d99 Add ANWB Energie (virtual) integration (#85077) 2023-01-04 10:42:55 +01:00
Jan Bouwhuis
9f24897814 Do not reset current selection on reconfig or MQTT select (#85099)
* Do not reset current selection on reconfig

* Add a test
2023-01-04 10:29:53 +01:00
Jan Bouwhuis
b29c96639b Correct initial config of MQTT climate (#85097)
* Do not reset MQTT climate state on re-config

* More corrections

* Correct startup behavior in optimistic mode
2023-01-04 10:29:02 +01:00
Aaron Bach
49b1d6e7fe Remove workaround for reloading PurpleAir upon device removal (#85086) 2023-01-03 21:24:24 -05:00
shbatm
e150b0cf0f ISY994: Add dhcp support for eisy (#85083) 2023-01-03 15:14:36 -10:00
GitHub Action
5169721916 [ci skip] Translation update 2023-01-04 00:22:58 +00:00
Paul Bottein
dd0f11a062 Add translation key for IPP printer integration (#84441)
* Add translation key for IPP printer integration

* Add tests
2023-01-03 17:56:46 -06:00
Marc Mueller
516cb31635 Fix multi inheritance with CoordinatorEntity (#85053) 2023-01-03 23:07:59 +01:00
Robert Svensson
6718b40181 Make switch platform use common UniFi entity class (#84458)
* Make switch platform use common UniFi entity class

* Consolidate common functions between update and switch platforms

* Use controller.register_platform_add_entities

* Rename UnfiEntityLoader to UnifiUpdateEntityDescriptionMixin
2023-01-03 22:57:44 +01:00
Mike K
799d527fb5 Add MQTT climate setting for current humidity (#84592)
* MQTT Climate: Add support for setting the current humidity via MQTT

* MQTT Climate: Add configuration constants related to setting the target humidity

* MQTT Climate: Add support for setting the humidity's state topic & template

* MQTT Climate: Add support for setting the initial humidity

* MQTT Climate: Add support for setting the humidity's command topic & template

* MQTT Climate: Add support for setting the min/max humidity

* MQTT Climate: Fix style & tests

* MQTT Climate: Set the initial humidity to None

* MQTT Climate: Rename _set_mqtt_attribute to _set_climate_attribute and handle_temperature_received to handle_climate_attribute_received

* MQTT Climate: Copy humidity range validation from MQTT Humidifier

* MQTT Climate: Remove CONF_HUMIDITY_INITIAL

* MQTT Climate: Only enable support for TARGET_HUMIDITY when the command topic is set

* MQTT Climate: Check if setting the target humidity is supported before actually setting it

* MQTT Climate: Make sure that CONF_HUMIDITY_COMMAND_TOPIC has been configured when setting CONF_HUMIDITY_STATE_TOPIC

* MQTT Climate: Fix broken tests

* MQTT Climate: Add test for optimistically setting the target humidity

* MQTT Climate: Remove references to "temperature" in handle_climate_attribute_received

* MQTT Climate: Add additional humidity-related tests

* MQTT Climate: Remove supported feature check in handle_target_humidity_received

It's not needed because this is covered by the `valid_humidity_state_configuration` validation.

Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>

* MQTT Climate: Remove supported feature check in async_set_humidity

It is covered by the base Climate entity.

Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>

Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2023-01-03 22:57:20 +01:00
J. Nick Koston
7fdf00a9fb Bump scapy to 2.5.0 (#85074)
changelog: https://github.com/secdev/scapy/compare/v2.4.5...v2.5.0

Reduces memory overhead via https://github.com/secdev/scapy/pull/3579
2023-01-03 16:48:47 -05:00
Klaas Schoute
7d54620f34 Add EnergyZero integration (#83886) 2023-01-03 22:28:16 +01:00
Aarni Koskela
38f183a683 Ruuvi Gateway integration (#84853)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-01-03 10:19:43 -10:00
Robert Svensson
a75bad3a83 Move add Device tracker entities to UniFi controller (#84883) 2023-01-03 20:59:28 +01:00
Andre Lengwenus
45fbbbaea1 Fix integer only LCN variable values (#85035) 2023-01-03 20:23:52 +01:00
J. Nick Koston
d89c259d7e Fix double time conversion in async_track_point_in_utc_time (#85036) 2023-01-03 20:21:54 +01:00
Erik Montnemery
6490dcf099 Import mqtt and recorder locally in test fixtures (#85067) 2023-01-03 20:18:36 +01:00
Koen van Zuijlen
6349760a2c Zeversolar integration (#84887)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-01-03 20:14:08 +01:00
Franck Nijhof
c1a6f83f12 Fix incorrectly return type on bad_identifier in UniFi Protect (#85050) 2023-01-03 20:10:27 +01:00
Ernst Klamer
171e114ec1 Add door, opening and motion sensors to Xiaomi-ble (#84990) 2023-01-03 08:21:28 -10:00
amitfin
b5664f9eaf Bump pycoolmasternet-async and add coolmaster swing mode (#82809)
* Add filter and error code support to CoolMastetNet

* Create separate entities

* coolmaster swing_mode support

* Changed default to False

* Raise HomeAssistantError

* Add tests for init and climate

* Fixed bad merge

* Catch only ValueError
2023-01-03 10:21:11 -08:00
Austin Brunkhorst
ca7384f96e Add services for transitioning snooz volume on or off (#83515)
* Add services for fading snooz on/off

* Rename fade to transition
2023-01-03 18:08:54 +01:00
amitfin
11b03b5669 Bump pycoolmasternet-async and add filter and error code support to CoolMastetNet (#84548)
* Add filter and error code support to CoolMastetNet

* Create separate entities

* Remove async_add_entities_for_platform

* Fixed call to async_add_entities

* Avoid using test global
2023-01-03 09:00:45 -08:00
epenet
34798189ca Improve SFR Box test coverage (#85054)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-01-03 17:56:30 +01:00
epenet
3737170d37 Improve onewire tests (#85064) 2023-01-03 17:32:39 +01:00
epenet
6af07aa348 Improve renault tests (#85065) 2023-01-03 17:32:10 +01:00
Franck Nijhof
5caef34209 Update adguard to 0.6.1 (#85052)
* Update adguard to 0.6.0

* Update adguard to 0.6.1
2023-01-03 15:28:39 +01:00
Michał Huryn
d1935603a9 Bump blebox_uniapi to 2.1.4 (#85059) 2023-01-03 15:22:00 +01:00
epenet
58b36514ad Address late feedback in SFR Box coordinator (#85039)
* Address late feedback in SFR Box coordinator

* One more
2023-01-03 13:54:15 +01:00
epenet
4cea5420b3 Add bitcoin to strict typing (#85049) 2023-01-03 13:44:06 +01:00
Sándor Oroszi
a0d41e1d97 Add hs_command_template and xy_command_template to mqtt light default schema (#84988)
* Add mqtt light hs_command_template

* Add mqtt light xy_command_template
2023-01-03 12:58:00 +01:00
epenet
e7e1a7d46e Clarify NumberDeviceClass.PRECIPITATION docstring (#85051) 2023-01-03 12:31:01 +01:00
epenet
2a9526de17 Address late feedback in SFR Box config flow (#85037)
* Address late feedback in SFR Box config flow

* Adjust tests
2023-01-03 12:18:05 +01:00
Franck Nijhof
fed8f905c8 Correct return type of two raise-only methods in recorder (#85048) 2023-01-03 12:15:45 +01:00
epenet
0d290ac21e Address late feedback in SFR Box sensors (#85038) 2023-01-03 12:15:03 +01:00
Erik Montnemery
8a0fb21988 Clarify SensorDeviceClass.PRECIPITATION docstring (#85045) 2023-01-03 11:30:03 +01:00
Erik Montnemery
605619a5ee Update stale strings in repairs tests (#85046) 2023-01-03 11:11:20 +01:00
Marc Mueller
972eb34ed9 Improve bluetooth generic typing (#84891)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-01-02 21:19:53 -10:00
J. Nick Koston
6b95fa5942 Fix bluetooth not being loaded with esphome proxies when removed from default_config (#85032)
* Fix bluetooth not being loaded with esphome proxies when removed from default_config

fixes #84960

* actually commit the conftest change
2023-01-02 21:10:39 -05:00
Paulus Schoutsen
94e6743a7b Bump slixmpp to 1.8.3 (#85031) 2023-01-02 21:10:23 -05:00
starkillerOG
c4a5d12df4 Switch to reolink-aio (#85014)
* switch to reolink-aio

* fix imports
2023-01-02 20:49:55 -05:00
J. Nick Koston
8db086f65b Bump sqlalchemy to 1.4.45 (#85021)
changelog: https://docs.sqlalchemy.org/en/20/changelog/changelog_14.html#change-1.4.45
2023-01-02 20:46:56 -05:00
J. Nick Koston
b470c3484b Bump httpx to 0.23.2 (#85023)
changelogs:
https://github.com/encode/httpcore/compare/0.16.2...0.16.3
https://github.com/encode/httpx/compare/0.23.1...0.23.2
2023-01-02 20:45:52 -05:00
Martin Hjelmare
94b80db968 Handle not available add-on in hassio add-on manager (#84943)
* Handle not available add-on in hassio add-on manager

* Fix zwave_js tests

* Fix sky connect tests

* Fix matter tests

* Fix yellow tests

* Update hardware tests
2023-01-02 20:28:21 -05:00
shbatm
240e1fd8f3 Update ISY994 integration to be model agnostic (#85017) 2023-01-02 14:22:40 -10:00
Tobias Sauerwein
5d6ca6dd44 Bump pyatmo to v7.5.0 (#85016) 2023-01-02 18:52:47 -05:00
Franck Nijhof
5cfa98e400 Improve typing of SelectorConfig (#85022) 2023-01-02 18:52:15 -05:00
Franck Nijhof
9c36f05ac4 Update coverage to 7.0.2 (#85020) 2023-01-02 13:43:20 -10:00
J. Nick Koston
b8a1537b58 Improve performance of fetching and storing history and events with the database (#84870) 2023-01-02 13:26:08 -10:00
Bram Kragten
0ad16e25ef Update frontend to 20230102.0 (#85010)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-01-02 23:31:42 +01:00
J. Nick Koston
3dd342baf3 Bump home-assistant-bluetooth to 1.9.1 (#85005)
fixes #83722
2023-01-02 16:33:01 -05:00
Erik Montnemery
472c23d35f Disable sky connect config entry if USB stick is not plugged in (#84975)
* Disable sky connect config entry if USB stick is not plugged in

* Remove debug stuff
2023-01-02 22:24:59 +01:00
starkillerOG
1724fcc150 Bump motionblinds to 0.6.15 (#84994) 2023-01-02 22:17:20 +01:00
Daniel Hjelseth Høyer
be9010f459 Update Tibber lib to 0.26.7. Improve error handling of realtime data (#85008) 2023-01-02 22:16:38 +01:00
Franck Nijhof
2176281894 Adjust stale bot action to be more performant (#84999) 2023-01-02 21:55:13 +01:00
mkmer
323810e31a Bump AIOAladdinConnect to 0.1.50 (#85006) 2023-01-02 21:47:36 +01:00
David F. Mulcahey
c9efebbf0c Bump ZHA quirks (#85004) 2023-01-02 21:46:50 +01:00
Martin Hjelmare
3b84dba72e Bump pytradfri to 9.0.1 (#85001) 2023-01-02 21:25:00 +01:00
Joakim Plate
987e77780a Only run garbage collection per module (#84681)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2023-01-02 09:31:12 -10:00
Joakim Plate
b302d1f3fc Add initial test for nibe buttons (#84950) 2023-01-02 20:24:20 +01:00
Robert Svensson
534bb74069 Bump axis to v45 (#84992) 2023-01-02 18:14:14 +01:00
Franck Nijhof
02b5da710b Remove attributes from Twinkly lights (#84986) 2023-01-02 17:58:07 +01:00
mkmer
f999258a42 Add Whirlpool device_info and has_entity_name (#84946) 2023-01-02 17:57:58 +01:00
Franck Nijhof
6ecf2e8c71 Move sensor constants and define public names from this module (#84973) 2023-01-02 16:00:50 +01:00
Franck Nijhof
aaa78259b5 Update watchdog to 2.2.1 (#84982) 2023-01-02 15:19:37 +01:00
Franck Nijhof
2371a6cc72 Update Pillow to 9.4.0 (#84974) 2023-01-02 14:43:41 +01:00
starkillerOG
46166160fe Consider 95% as closed for Motion blinds venetian blinds (#84872) 2023-01-02 14:12:36 +01:00
Marc Mueller
7da434f455 Improve DataUpdateCoordinator typing in integrations (7) (#84890) 2023-01-02 12:57:15 +01:00
Aaron Bach
0a77232444 Renovate PurpleAir tests (#84894) 2023-01-02 12:55:19 +01:00
Erik Montnemery
9af17fa5a0 Improve device automation tests (#84972) 2023-01-02 12:33:38 +01:00
Erik Montnemery
11c174aca3 Revert "Add aliases to device registry items" (#84976) 2023-01-02 12:30:25 +01:00
Jan Bouwhuis
9cf86b234b Add optimistic option for MQTT climate (#84777) 2023-01-02 11:39:42 +01:00
Michael
bcbae1388d Remove deprecated PI-Hole YAML config (#84803) 2023-01-02 10:57:16 +01:00
TheJulianJES
f740312247 Fix some typos in ZHA comments (#84881)
* Fix copy paste errors

* Fix "setup/set up" usage

* Fix typo

* Fix comment

* Fix copy paste errors

* Remove space at end of comment

* Remove double word

* Fix copy paste errors

* Fix typos

* Apply review suggestion

* Upper-case zha (to ZHA) everywhere

* Review: fix "over rules"

* Review: most/more
2023-01-02 00:20:59 -05:00
Greg Dowling
f79ffb2981 Improve roon volume translation logic (#84916)
Improve roon volume translation logic.
2023-01-02 00:16:37 -05:00
Allen Porter
0ae55fb58b Fix Climate device HVAC mode trigger UI (#84930)
* Fix Climate device HVAC mode trigger UI

* Use updated order of test case results
2023-01-01 20:16:18 -05:00
mkmer
812665cda4 Fix Whirlpool register_attr_callback (#84962)
relocate register_attr_callback
2023-01-01 20:12:31 -05:00
Allen Porter
a1588cd6af Fix caldav calendars with custom timezones (#84955)
* Fix caldav calendars with custom timezones

* Revert whitespace change
2023-01-01 20:11:34 -05:00
GitHub Action
6220804639 [ci skip] Translation update 2023-01-02 00:23:28 +00:00
starkillerOG
c0d5ceb18c Process late feedback for Reolink (#84884)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-01-01 23:32:17 +01:00
Aaron Bach
ec33f6fe78 Remove unused PurpleAir sensor constant (#84953) 2023-01-01 12:15:29 -07:00
mkmer
b72e0f1d87 Fix Whirlpool type error in get_brand_for_region (#84944)
Fix type error
2023-01-01 20:10:41 +01:00
mkmer
b65d4a9efd Bump whirlpool-sixth-sense to 0.18.0 (#84945)
* bump whirlpool_sixth_sense to 18.0
add callback method initiated in 18.0

* add disconnect to mock
2023-01-01 20:08:54 +01:00
Robert Svensson
f56f391f81 Remove legacy constant from UniFi (#84947) 2023-01-01 20:03:14 +01:00
Aaron Bach
2d4625ad69 Fix issues with PurpleAir sensor device class and unit (#84896) 2023-01-01 19:55:05 +01:00
Artem Draft
ed0e583556 Assumed state in Bravia TV media player (#84885) 2023-01-01 18:07:14 +01:00
Allen Porter
e5b6f05e5b Bump google-nest-sdm to 2.1.2 (#84926) 2023-01-01 15:19:31 +01:00
J. Nick Koston
45e9b8b119 Bump pySwitchbot to 0.36.1 (#84937)
changelog: https://github.com/Danielhiversen/pySwitchbot/compare/0.36.0...0.36.1

small fix for the battery not updating with passive scanning
after lock operation
2023-01-01 14:35:01 +01:00
shbatm
a9fa9a5dd3 Change ISY994 group device assignments (#84933)
Changes to ISY994 group device assignments
2023-01-01 14:29:57 +01:00
Aaron Bach
e62ee331c7 Simplify AirVisual Pro sensor implementation (#84898)
* Simplify AirVisual Pro sensor implementation

* Code review
2023-01-01 14:19:29 +01:00
Aaron Bach
34b5928707 Use serial number for AirVisal Pro config entry unique ID (#84902)
* Use serial number for AirVisal Pro config entry unique ID

* Code review
2023-01-01 14:17:34 +01:00
Maikel Punie
fdf2f8a2ea Bump velbus-aio to 2022.12.0 (#83278)
* Add support for fututre config entry migrations

* Add testcase

* dir check bug

* rework the migrate testcase

* implement comments

* Missed this part of the file

* Fix and clean tests

* add more into the testcase

* push sugestions

* Upgrade velbusaio to add version 2 support

* more comments

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-01-01 12:28:31 +01:00
J. Nick Koston
d51f483855 Fix failing HomeKit Controller diagnostics tests (#84936) 2022-12-31 21:38:34 -10:00
ChopperRob
208b281505 Fix haveibeenpwned user-agent string (#84919)
* Fixed user-agent string not being accepted as an valid header

* Update homeassistant/components/haveibeenpwned/sensor.py

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

* Removed the aiohttp import

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-01-01 02:49:13 +01:00
ChopperRob
a168df342d Fix haveibeenpwned user-agent string (#84919)
* Fixed user-agent string not being accepted as an valid header

* Update homeassistant/components/haveibeenpwned/sensor.py

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

* Removed the aiohttp import

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-01-01 02:48:55 +01:00
GitHub Action
5c7120aa36 [ci skip] Translation update 2023-01-01 00:25:49 +00:00
Paulus Schoutsen
6d4489e822 Update description to guide user to find ESPHome encryption key. (#84928) 2022-12-31 15:21:24 -05:00
tronikos
d90ec3ccca Google Assistant SDK: Log command and response (#84904)
Log command and response
2022-12-31 12:07:31 -08:00
Aaron Bach
82977a43d3 Use generator instead of single-list-unpack in PurpleAir config flow (#84922) 2022-12-31 12:07:12 -08:00
Paulus Schoutsen
c6a0c7eccc Tiny clean up of the ESPHome config flow (#84903)
Clean up the ESPHome config flow
2022-12-31 12:20:48 -05:00
Aaron Bach
ad51952802 Renovate ReCollect Waste config flow tests (#84908) 2022-12-31 07:35:33 -07:00
Aaron Bach
e7cb3f1979 Renovate Notion config flow tests (#84906) 2022-12-31 07:34:59 -07:00
Allen Porter
9c348b6330 Fix free/busy google calendars (#84907)
fixes undefined
2022-12-31 14:01:05 +01:00
Robert Svensson
f275389ffe Bump pydeconz to v106 (#84914)
fixes undefined
2022-12-31 13:59:39 +01:00
avee87
2dd9229dc4 Add device info to transmission (#84660) 2022-12-31 13:20:44 +01:00
Martin Hjelmare
fd78373b5c Use entity descriptions in mysensors binary sensor (#84897) 2022-12-31 11:52:36 +01:00
Allen Porter
6b6f115d7e Fix handling of empty google_calendars.yaml file (#84909)
fixes undefined
2022-12-31 11:50:56 +01:00
Aaron Bach
fbb406842e Remove redundant Guardian handler unsub logic (#84905) 2022-12-31 11:17:37 +01:00
Aaron Bach
e141374831 Don't include distance in PurpleAir sensor selector (#84893) 2022-12-31 11:16:09 +01:00
epenet
896526c24b Add SFR Box integration (#84780)
* Add SFR Box integration

* Adjust error handling in config flow

* Add tests

* Use value_fn

* Add translation

* Enable mypy strict typing

* Add ConfigEntryNotReady

* Rename exception

* Fix requirements
2022-12-31 10:14:13 +01:00
Marc Mueller
11b5de9463 Improve shelly generic typing (#84889)
Improve shelly generic typing
2022-12-31 08:33:41 +02:00
J. Nick Koston
f6991cd4dc Small fixes for SwitchBot Locks (#84888)
Co-authored-by: Aaron Bach <bachya1208@gmail.com>
2022-12-31 05:05:25 +01:00
GitHub Action
d12857c68c [ci skip] Translation update 2022-12-31 00:22:33 +00:00
Aaron Bach
f8467d253e Renovate Ambient PWS config flow tests (#84879)
* Renovate Ambient PWS config flow tests

* Naming

* Update tests/components/ambient_station/conftest.py

* Update tests/components/ambient_station/conftest.py

* Simplify
2022-12-30 17:09:38 -07:00
Franck Nijhof
9b3d727e8e Update orjson to 3.8.3 (#84878) 2022-12-31 00:58:02 +01:00
starkillerOG
0a8514d7cd Bump motionblinds to 0.6.14 (#84873) 2022-12-30 23:57:35 +01:00
Aaron Bach
34dc47ad10 Ensure AirVisual Pro migration includes device and entity customizations (#84798)
* Ensure AirVisual Pro migration includes device and entity customizations

* Update homeassistant/components/airvisual/__init__.py

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

* Code review

* Fix tests

* Fix tests FOR REAL

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-12-30 14:47:41 -07:00
Robert Svensson
60de2a82c7 Make device tracker use common UniFi entity class (#84786) 2022-12-30 22:27:45 +01:00
William Scanlon
8ffd540c85 Bump pyeconet to 0.1.17 (#84868) 2022-12-30 22:12:01 +01:00
Robert Svensson
28eda7d1f0 Move add Update entities to UniFi controller (#84477) 2022-12-30 21:58:23 +01:00
Yuxin Wang
06095b1fec Enable strict typing for apcupsd (#84861) 2022-12-30 21:48:29 +01:00
Robert Svensson
7abff358a5 Bump aiounifi to v43 (#84864) 2022-12-30 21:17:47 +01:00
Greg Dowling
3e18d70483 Bump pyroon library to 0.1.2. (#84865) 2022-12-30 13:31:16 -05:00
Franck Nijhof
02f64ada2d Only reflect unavailable state in DSMR when disconnected (#84862)
* Only reflect unavailable state in DSMR when disonnected

* Addressreview comment
2022-12-30 13:08:11 -05:00
Franck Nijhof
f8fa676ac8 Do not validate device classes when entity state is unknown (#84860) 2022-12-30 13:07:49 -05:00
Yuxin Wang
7a7f986444 Add state_class to the sensor entity descriptions for apcupsd integration (#84829) 2022-12-30 17:53:54 +00:00
Aaron Godfrey
8cbbdf21f3 Update todoist integration to use new official rest api library (#79481)
* Swapping out libraries.

* Adding types

* Add ability to add task.

* Removed remaining todos.

* Fix lint errors.

* Fixing tests.

* Update to v2 of the rest api.

* Swapping out libraries.

* Adding types

* Add ability to add task.

* Removed remaining todos.

* Fix lint errors.

* Fix mypy errors

* Fix custom projects.

* Bump DEPENDENCY_CONFLICTS const

* Remove conflict bump

* Addressing PR feedback.

* Removing utc offset logic and configuration.

* Addressing PR feedback.

* Revert date range logic check
2022-12-30 09:49:35 -08:00
Aarni Koskela
7440c34901 Allow None connector for BaseHaRemoteScanner (#84847) 2022-12-30 06:49:37 -10:00
Artem Draft
3ac7c687be Redesign and refactor Bravia TV config_flow (#84832)
fixes undefined
2022-12-30 16:35:18 +01:00
Franck Nijhof
1b3d3d5cc3 Add availability property to DSMR sensors (#84848) 2022-12-30 16:21:41 +01:00
Chris Straffon
eba64f84ef Fix growatt identification issue (#84628)
Fixes https://github.com/home-assistant/core/issues/84600
fixes undefined
2022-12-30 15:33:30 +01:00
Steven Looman
a9be2adf06 Actually try port when finding next available port for ssdp server (#84206)
fixes undefined
2022-12-30 15:30:29 +01:00
Bram Kragten
55885f49f2 Update frontend to 20221230.0 (#84842) 2022-12-30 14:55:50 +01:00
Phil Cole
e4f692ce6f Use pycarwings2 2.14 (#84792)
fixes undefined
2022-12-30 14:09:36 +01:00
SukramJ
005bc8994d Add mA to SensorDeviceClass.CURRENT units (#84492)
fixes undefined
2022-12-30 13:55:14 +01:00
Martin Hjelmare
df2d0cd3e3 Refactor mysensors device tracker (#84747) 2022-12-30 13:15:00 +01:00
Jan Bouwhuis
b2388b74d9 Add mV as a unit for voltage and enable conversions (#84805)
fixes undefined
2022-12-30 12:51:05 +01:00
Franck Nijhof
bcf32f8331 Mark required fields in FlowResult typedict (#84811)
* Mark required fields in FlowResult typedict

* Remove unneeded asserts from tests
2022-12-30 12:01:45 +01:00
epenet
f68a7636c5 Cleanup pytest.approx in unit conversion tests (#84810) 2022-12-30 10:16:20 +01:00
Artem Draft
0e98e0f65f Bump pybravia to 0.2.5 (#84835) 2022-12-30 09:16:49 +01:00
Abílio Costa
0e8164c07a Add support for US in the Whirlpool integration (#77237)
* Support US region in the Whirlpool integration

* Force maytag brand for US region

* Add missing util.py file

* Fix import after merge

* run black

* Missing region key in config flow test

* Fixed Generic config entry

* fixed typos in dict

* Remove redundant list const

Co-authored-by: mkmer <mike.j.kasper@gmail.com>
2022-12-30 09:13:47 +01:00
Damian Sypniewski
7aadcc1f97 Add option to retrieve SwitchBot Lock encryption key through config flow (#84830)
Co-authored-by: J. Nick Koston <nick@koston.org>
2022-12-29 21:48:39 -10:00
Michael
381480813d Deprecate YAML config in PI-Hole (#84797)
create an issue about deprecated yaml config
2022-12-29 20:41:08 -05:00
shbatm
1fc9eb6629 ISY994: Bump PyISY to 3.0.10 (#84821) 2022-12-29 20:37:34 -05:00
J. Nick Koston
6374cc6480 Fix thermobeacon WS08 models that identify with manufacturer_id 27 (#84812)
fixes #84706
2022-12-29 15:09:37 -10:00
GitHub Action
dd560a517c [ci skip] Translation update 2022-12-30 00:23:31 +00:00
Martin Hjelmare
5d4216d648 Add mysensors text platform (#84667)
Co-authored-by: J. Nick Koston <nick@koston.org>
2022-12-30 00:01:03 +01:00
Aaron Bach
c0da80b567 Don't attempt setup on migrated AirVisual Pro in the airvisual domain (#84796)
fixes undefined
2022-12-29 23:57:50 +01:00
Robert Svensson
e33cea9ff7 Add PoE power sensor to UniFi integration (#84314)
* Add PoE power sensor to UniFi integration

* Add unit of power

* Only update state if value has changed

* Remove stale print

* Subscribe to specific sensor to remove unnecessary state changes

Co-authored-by: J. Nick Koston <nick@koston.org>
2022-12-29 22:55:00 +01:00
Joakim Plate
0defe97892 Correct missing alarm reset button on nibe (#84809)
fixes undefined
2022-12-29 22:34:01 +01:00
Robert Svensson
9f399a1bbe Only subscribe to specific UniFi object ID (#84787) 2022-12-29 10:51:16 -10:00
Aaron Bach
f51cf87361 Fix AirVisual Pro sensors with incorrect units for their device classes (#84800) 2022-12-29 20:42:33 +01:00
Duco Sebel
d8cbff65f1 Fix code quality issues for HomeWizard (#84134)
* Remove unused constant

* Reuse fetch check for retrieving device information

* Remove else block

* Patch integration setup in test

* use isinstance to detect return type, instead of tuple

* Raise exception when recoverable error has been triggered to make code cleaner

* Use error code to split message and localization

* Actually log things
2022-12-29 10:35:24 -08:00
Aaron Bach
570824100c Remove ozone device class from OpenUV sensor (#84791)
fixes undefined
2022-12-29 18:32:06 +01:00
Jan Bouwhuis
ee66ffc8de Do not depend MQTT CI tests on debug logs (#84783)
* Do not depend MQTT CI tests on debug logs

* Leave Clean up expire as debug message
2022-12-29 18:29:28 +01:00
Brandon Rothweiler
8678b36e71 Add distance sensor device class to Mazda integration (#84659) 2022-12-29 17:17:11 +01:00
G Johansson
187b03446e Improve code quality Time of Day (#79412) 2022-12-29 17:10:10 +01:00
Marc Mueller
3312a041fd Improve opengarage generic typing (#84640) 2022-12-29 15:59:25 +01:00
Hans Oischinger
235a34c10c Catch vicare errors when deactivating preset fails (#84778)
vicare: catch errors when deactivating preset fails
2022-12-29 15:28:33 +01:00
Franck Nijhof
f84533838a Update attrs to 22.2.0 (#84772) 2022-12-29 15:09:39 +01:00
Jan Bouwhuis
5fbe36d43e Fix MQTT test logging level after default pytest logging capture change (#84773)
Fix logging level for MQTT CI testing after #84672
2022-12-29 15:08:35 +01:00
Tomas Kislan
1dec6854e5 Fix and upgrade minio integration (#84545)
closes https://github.com/home-assistant/core/issues/79842
2022-12-29 14:16:06 +01:00
Franck Nijhof
bfdca4b274 Update pre-commit to 2.21.0 (#84768) 2022-12-29 14:09:26 +01:00
Franck Nijhof
e164fdbef8 Update holidays to 0.18.0 (#84770) 2022-12-29 13:57:35 +01:00
Marc Mueller
77e71cf18b Improve modbus generic typing (#84737) 2022-12-29 12:37:31 +01:00
Marc Mueller
d849dab7ba Improve oncue generic typing (#84761)
Improve oncue generic typing
2022-12-29 12:26:17 +01:00
Franck Nijhof
7768084655 Update coverage to 7.0.1 (#84764) 2022-12-29 12:24:32 +01:00
Marc Mueller
b90a51490f Improve here_travel_time generic typing (#84631) 2022-12-29 11:01:21 +01:00
Allen Porter
2049993941 Check google calendar API scope to determine if write access is enabled (#84749)
* Check google calendar API scope to determine if write access is enabled

* Add API scope for calendar service for creating events
2022-12-29 11:00:31 +01:00
Marc Mueller
bd9f03010f Improve upnp typing (#84652) 2022-12-29 10:59:06 +01:00
epenet
6261994fcf Enable unit conversion for DATA_SIZE (#84699) 2022-12-29 09:58:15 +01:00
Marc Mueller
e693ba17e0 Improve brunt generic typing (#84735) 2022-12-29 09:55:59 +01:00
Marc Mueller
bfb509ccb8 Improve iqvia typing (#84734) 2022-12-29 09:45:05 +01:00
Marc Mueller
c4b45fb110 Improve ondilo_ico generic typing (#84738) 2022-12-29 09:35:06 +01:00
Marc Mueller
b8a4399078 Improve freedompro generic typing (#84736) 2022-12-29 09:31:47 +01:00
Lukas Barth
50f05ac51a Remove myself as a code owner (#84701)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2022-12-29 09:14:48 +01:00
Marc Mueller
fa7018bbec Improve DataUpdateCoordinator typing in integrations (6) (#84741) 2022-12-29 09:07:23 +01:00
Jc2k
9c2c57831b Fix UUID normalisation for vendor extensions in homekit_controller thread transport (#84746) 2022-12-29 05:40:25 +00:00
starkillerOG
fb1702647d Bump pynetgear to 0.10.9 (#84733) 2022-12-29 01:26:58 +01:00
GitHub Action
b3ab0a0199 [ci skip] Translation update 2022-12-29 00:23:20 +00:00
Anders
65aaea6ec6 Set Yamaha unique_id (#84730)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-12-29 01:00:31 +01:00
Marc Mueller
72671b93d2 Improve youless generic typing (#84739) 2022-12-28 23:52:01 +01:00
Marc Mueller
2512eb1e4c Improve DataUpdateCoordinator typing in integrations (5) (#84740) 2022-12-28 23:44:41 +01:00
Joakim Plate
5c43f0861f Avoid running final writes in executor in test (#84679) 2022-12-28 23:40:11 +01:00
Marc Mueller
345081ba15 Improve syncthru generic typing (#84648) 2022-12-28 23:37:12 +01:00
Robert Svensson
de5c7b0414 Rework UniFi device tracker to utilizing entity description (#81979)
* Rework UniFi device tracker to utilizing entity description

* Use bound

* Fix review comments from other PR
2022-12-28 22:29:11 +01:00
Hmmbob
cbcfeee322 Update apprise to 1.2.1 (#84705) 2022-12-28 22:13:20 +01:00
Joakim Plate
cb982294bd Avoid logging increase during tests (#84672) 2022-12-28 22:12:25 +01:00
Michael
551d52103d Remove deprecated tankerkoenig YAML config (#84711)
remove yaml import
2022-12-28 16:11:40 -05:00
Allen Porter
128ccbaa57 Gracefully handle caldav event with missing summary (#84719)
fixes undefined
2022-12-28 22:07:51 +01:00
Aaron Bach
580f2058a7 Fix incorrect values for AirVisual Pro sensors (#84725) 2022-12-28 22:06:44 +01:00
Aaron Bach
03ca50f292 Remove additional airvisual_pro references in airvisual (#84724) 2022-12-28 22:05:02 +01:00
Aaron Bach
5e2753d2fc Remove incorrect unit for AirVisual AQI sensor (#84723)
fixes undefined
2022-12-28 22:03:49 +01:00
epenet
46e02ebaff Enable unit conversion for DATA_RATE (#84698) 2022-12-28 21:49:00 +01:00
Hans Oischinger
c354868270 water_heater: Add unsupported states (#84720) 2022-12-28 21:45:24 +01:00
Nathan Spencer
3f3ffe3060 Use built in polling for litterrobot update entity (#84678)
* Use built in polling

* Define scan interval
2022-12-28 20:30:48 +01:00
Franck Nijhof
ba24cb6e72 Bump version to 2023.2.0dev0 (#84707) 2022-12-28 18:46:04 +01:00
Marcel van der Veldt
0e9c6b2bba Bump python matter server to 1.0.8 (#84692)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-12-28 18:29:37 +01:00
J. Nick Koston
5bdaad9c13 Reduce number of asyncio tasks created by bond (#84668) 2022-12-28 18:14:38 +01:00
23291 changed files with 156160 additions and 566484 deletions

View File

@@ -114,6 +114,10 @@ tests: &tests
- tests/auth/**
- tests/backports/**
- tests/common.py
- tests/components/history/**
- tests/components/logbook/**
- tests/components/recorder/**
- tests/components/sensor/**
- tests/conftest.py
- tests/hassfest/**
- tests/helpers/**

File diff suppressed because it is too large Load Diff

View File

@@ -10,7 +10,7 @@ on:
env:
BUILD_TYPE: core
DEFAULT_PYTHON: 3.9
DEFAULT_PYTHON: "3.10"
jobs:
init:
@@ -24,12 +24,12 @@ jobs:
publish: ${{ steps.version.outputs.publish }}
steps:
- name: Checkout the repository
uses: actions/checkout@v3.2.0
uses: actions/checkout@v3.3.0
with:
fetch-depth: 0
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v4.4.0
uses: actions/setup-python@v4.5.0
with:
python-version: ${{ env.DEFAULT_PYTHON }}
@@ -67,13 +67,18 @@ jobs:
if: github.repository_owner == 'home-assistant' && needs.init.outputs.publish == 'true'
steps:
- name: Checkout the repository
uses: actions/checkout@v3.2.0
uses: actions/checkout@v3.3.0
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v4.4.0
uses: actions/setup-python@v4.5.0
with:
python-version: ${{ env.DEFAULT_PYTHON }}
- name: Download Translations
run: python3 -m script.translations download
env:
LOKALISE_TOKEN: ${{ secrets.LOKALISE_TOKEN }}
- name: Build package
shell: bash
run: |
@@ -100,7 +105,7 @@ jobs:
arch: ${{ fromJson(needs.init.outputs.architectures) }}
steps:
- name: Checkout the repository
uses: actions/checkout@v3.2.0
uses: actions/checkout@v3.3.0
- name: Download nightly wheels of frontend
if: needs.init.outputs.channel == 'dev'
@@ -113,9 +118,20 @@ jobs:
workflow_conclusion: success
name: wheels
- name: Download nightly wheels of intents
if: needs.init.outputs.channel == 'dev'
uses: dawidd6/action-download-artifact@v2
with:
github_token: ${{secrets.GITHUB_TOKEN}}
repo: home-assistant/intents
branch: main
workflow: nightly.yaml
workflow_conclusion: success
name: package
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
if: needs.init.outputs.channel == 'dev'
uses: actions/setup-python@v4.4.0
uses: actions/setup-python@v4.5.0
with:
python-version: ${{ env.DEFAULT_PYTHON }}
@@ -140,6 +156,29 @@ jobs:
python -m script.gen_requirements_all
fi
if [[ "$(ls home_assistant_intents*.whl)" =~ ^home_assistant_intents-(.*)-py3-none-any.whl$ ]]; then
echo "Found intents wheel, setting version to: ${BASH_REMATCH[1]}"
yq \
--inplace e -o json \
'del(.requirements[] | select(contains("home-assistant-intents")))' \
homeassistant/components/conversation/manifest.json
intents_version="${BASH_REMATCH[1]}" yq \
--inplace e -o json \
'.requirements += ["home-assistant-intents=="+env(intents_version)]' \
homeassistant/components/conversation/manifest.json
sed -i "s|home-assistant-intents==.*|home-assistant-intents==${BASH_REMATCH[1]}|" \
homeassistant/package_constraints.txt
python -m script.gen_requirements_all
fi
- name: Download Translations
run: python3 -m script.translations download
env:
LOKALISE_TOKEN: ${{ secrets.LOKALISE_TOKEN }}
- name: Write meta info file
shell: bash
run: |
@@ -169,6 +208,17 @@ jobs:
env:
CAS_API_KEY: ${{ secrets.CAS_TOKEN }}
- name: Archive translations
shell: bash
run: find ./homeassistant/components/*/translations -name "*.json" | tar zcvf translations.tar.gz -T -
- name: Upload translations
uses: actions/upload-artifact@v3
with:
name: translations
path: translations.tar.gz
if-no-files-found: error
build_machine:
name: Build ${{ matrix.machine }} machine core image
if: github.repository_owner == 'home-assistant'
@@ -198,7 +248,7 @@ jobs:
- yellow
steps:
- name: Checkout the repository
uses: actions/checkout@v3.2.0
uses: actions/checkout@v3.3.0
- name: Set build additional args
run: |
@@ -241,7 +291,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout the repository
uses: actions/checkout@v3.2.0
uses: actions/checkout@v3.3.0
- name: Initialize git
uses: home-assistant/actions/helpers/git-init@master
@@ -280,7 +330,7 @@ jobs:
- "homeassistant"
steps:
- name: Checkout the repository
uses: actions/checkout@v3.2.0
uses: actions/checkout@v3.3.0
- name: Login to DockerHub
if: matrix.registry == 'homeassistant'

View File

@@ -18,13 +18,34 @@ on:
description: "Skip pytest"
default: false
type: boolean
pylint-only:
description: "Only run pylint"
default: false
type: boolean
mypy-only:
description: "Only run mypy"
default: false
type: boolean
env:
CACHE_VERSION: 3
PIP_CACHE_VERSION: 3
HA_SHORT_VERSION: 2023.1
DEFAULT_PYTHON: 3.9
ALL_PYTHON_VERSIONS: "['3.9', '3.10']"
CACHE_VERSION: 5
PIP_CACHE_VERSION: 4
MYPY_CACHE_VERSION: 4
HA_SHORT_VERSION: 2023.4
DEFAULT_PYTHON: "3.10"
ALL_PYTHON_VERSIONS: "['3.10', '3.11']"
# 10.3 is the oldest supported version
# - 10.3.32 is the version currently shipped with Synology (as of 17 Feb 2022)
# 10.6 is the current long-term-support
# - 10.6.10 is the version currently shipped with the Add-on (as of 31 Jan 2023)
# 10.10 is the latest short-term-support
# - 10.10.3 is the latest (as of 6 Feb 2023)
MARIADB_VERSIONS: "['mariadb:10.3.32','mariadb:10.6.10','mariadb:10.10.3']"
# 12 is the oldest supported version
# - 12.14 is the latest (as of 9 Feb 2023)
# 15 is the latest version
# - 15.2 is the latest (as of 9 Feb 2023)
POSTGRESQL_VERSIONS: "['postgres:12.14','postgres:15.2']"
PRE_COMMIT_CACHE: ~/.cache/pre-commit
PIP_CACHE: /tmp/pip-cache
SQLALCHEMY_WARN_20: 1
@@ -47,16 +68,18 @@ jobs:
pre-commit_cache_key: ${{ steps.generate_pre-commit_cache_key.outputs.key }}
python_cache_key: ${{ steps.generate_python_cache_key.outputs.key }}
requirements: ${{ steps.core.outputs.requirements }}
mariadb_groups: ${{ steps.info.outputs.mariadb_groups }}
postgresql_groups: ${{ steps.info.outputs.postgresql_groups }}
python_versions: ${{ steps.info.outputs.python_versions }}
test_full_suite: ${{ steps.info.outputs.test_full_suite }}
test_group_count: ${{ steps.info.outputs.test_group_count }}
test_groups: ${{ steps.info.outputs.test_groups }}
tests_glob: ${{ steps.info.outputs.tests_glob }}
tests: ${{ steps.info.outputs.tests }}
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
steps:
- name: Check out code from GitHub
uses: actions/checkout@v3.2.0
uses: actions/checkout@v3.3.0
- name: Generate partial Python venv restore key
id: generate_python_cache_key
run: >-
@@ -94,6 +117,8 @@ jobs:
run: |
# Defaults
integrations_glob=""
mariadb_groups=${MARIADB_VERSIONS}
postgresql_groups=${POSTGRESQL_VERSIONS}
test_full_suite="true"
test_groups="[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]"
test_group_count=10
@@ -127,6 +152,8 @@ jobs:
tests_glob=$(echo "${tests}" | jq -cSr '. | join(",")')
[[ "${tests_glob}" == *","* ]] && tests_glob="{${tests_glob}}"
mariadb_groups="[]"
postgresql_groups="[]"
test_full_suite="false"
fi
@@ -139,12 +166,18 @@ jobs:
|| [[ "${{ github.event.inputs.full }}" == "true" ]] \
|| [[ "${{ contains(github.event.pull_request.labels.*.name, 'ci-full-run') }}" == "true" ]];
then
mariadb_groups=${MARIADB_VERSIONS}
postgresql_groups=${POSTGRESQL_VERSIONS}
test_groups="[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]"
test_group_count=10
test_full_suite="true"
fi
# Output & sent to GitHub Actions
echo "mariadb_groups: ${mariadb_groups}"
echo "mariadb_groups=${mariadb_groups}" >> $GITHUB_OUTPUT
echo "postgresql_groups: ${postgresql_groups}"
echo "postgresql_groups=${postgresql_groups}" >> $GITHUB_OUTPUT
echo "python_versions: ${ALL_PYTHON_VERSIONS}"
echo "python_versions=${ALL_PYTHON_VERSIONS}" >> $GITHUB_OUTPUT
echo "test_full_suite: ${test_full_suite}"
@@ -162,21 +195,24 @@ jobs:
pre-commit:
name: Prepare pre-commit base
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
if: |
github.event.inputs.pylint-only != 'true'
&& github.event.inputs.mypy-only != 'true'
needs:
- info
steps:
- name: Check out code from GitHub
uses: actions/checkout@v3.2.0
uses: actions/checkout@v3.3.0
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
id: python
uses: actions/setup-python@v4.4.0
uses: actions/setup-python@v4.5.0
with:
python-version: ${{ env.DEFAULT_PYTHON }}
check-latest: true
- name: Restore base Python virtual environment
id: cache-venv
uses: actions/cache@v3.2.2
uses: actions/cache@v3.2.6
with:
path: venv
key: >-
@@ -191,7 +227,7 @@ jobs:
pip install "$(cat requirements_test.txt | grep pre-commit)"
- name: Restore pre-commit environment from cache
id: cache-precommit
uses: actions/cache@v3.2.2
uses: actions/cache@v3.2.6
with:
path: ${{ env.PRE_COMMIT_CACHE }}
key: >-
@@ -205,45 +241,37 @@ jobs:
lint-black:
name: Check black
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
needs:
- info
- pre-commit
steps:
- name: Check out code from GitHub
uses: actions/checkout@v3.2.0
uses: actions/checkout@v3.3.0
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v4.4.0
uses: actions/setup-python@v4.5.0
id: python
with:
python-version: ${{ env.DEFAULT_PYTHON }}
check-latest: true
- name: Restore base Python virtual environment
id: cache-venv
uses: actions/cache/restore@v3.2.2
uses: actions/cache/restore@v3.2.6
with:
path: venv
fail-on-cache-miss: true
key: >-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-venv-${{
needs.info.outputs.pre-commit_cache_key }}
- name: Fail job if Python cache restore failed
if: steps.cache-venv.outputs.cache-hit != 'true'
run: |
echo "Failed to restore Python virtual environment from cache"
exit 1
- name: Restore pre-commit environment from cache
id: cache-precommit
uses: actions/cache/restore@v3.2.2
uses: actions/cache/restore@v3.2.6
with:
path: ${{ env.PRE_COMMIT_CACHE }}
fail-on-cache-miss: true
key: >-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
needs.info.outputs.pre-commit_cache_key }}
- name: Fail job if pre-commit cache restore failed
if: steps.cache-precommit.outputs.cache-hit != 'true'
run: |
echo "Failed to restore pre-commit environment from cache"
exit 1
- name: Run black (fully)
if: needs.info.outputs.test_full_suite == 'true'
run: |
@@ -259,45 +287,37 @@ jobs:
lint-flake8:
name: Check flake8
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
needs:
- info
- pre-commit
steps:
- name: Check out code from GitHub
uses: actions/checkout@v3.2.0
uses: actions/checkout@v3.3.0
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v4.4.0
uses: actions/setup-python@v4.5.0
id: python
with:
python-version: ${{ env.DEFAULT_PYTHON }}
check-latest: true
- name: Restore base Python virtual environment
id: cache-venv
uses: actions/cache/restore@v3.2.2
uses: actions/cache/restore@v3.2.6
with:
path: venv
fail-on-cache-miss: true
key: >-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-venv-${{
needs.info.outputs.pre-commit_cache_key }}
- name: Fail job if Python cache restore failed
if: steps.cache-venv.outputs.cache-hit != 'true'
run: |
echo "Failed to restore Python virtual environment from cache"
exit 1
- name: Restore pre-commit environment from cache
id: cache-precommit
uses: actions/cache/restore@v3.2.2
uses: actions/cache/restore@v3.2.6
with:
path: ${{ env.PRE_COMMIT_CACHE }}
fail-on-cache-miss: true
key: >-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
needs.info.outputs.pre-commit_cache_key }}
- name: Fail job if pre-commit cache restore failed
if: steps.cache-precommit.outputs.cache-hit != 'true'
run: |
echo "Failed to restore pre-commit environment from cache"
exit 1
- name: Register flake8 problem matcher
run: |
echo "::add-matcher::.github/workflows/matchers/flake8.json"
@@ -314,47 +334,88 @@ jobs:
shopt -s globstar
pre-commit run --hook-stage manual flake8 --files {homeassistant,tests}/components/${{ needs.info.outputs.integrations_glob }}/{*,**/*}
lint-isort:
name: Check isort
runs-on: ubuntu-20.04
lint-ruff:
name: Check ruff
runs-on: ubuntu-22.04
needs:
- info
- pre-commit
steps:
- name: Check out code from GitHub
uses: actions/checkout@v3.2.0
uses: actions/checkout@v3.3.0
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v4.4.0
uses: actions/setup-python@v4.5.0
id: python
with:
python-version: ${{ env.DEFAULT_PYTHON }}
check-latest: true
- name: Restore base Python virtual environment
id: cache-venv
uses: actions/cache/restore@v3.2.2
uses: actions/cache/restore@v3.2.6
with:
path: venv
fail-on-cache-miss: true
key: >-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-venv-${{
needs.info.outputs.pre-commit_cache_key }}
- name: Fail job if Python cache restore failed
if: steps.cache-venv.outputs.cache-hit != 'true'
run: |
echo "Failed to restore Python virtual environment from cache"
exit 1
- name: Restore pre-commit environment from cache
id: cache-precommit
uses: actions/cache/restore@v3.2.2
uses: actions/cache/restore@v3.2.6
with:
path: ${{ env.PRE_COMMIT_CACHE }}
fail-on-cache-miss: true
key: >-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
needs.info.outputs.pre-commit_cache_key }}
- name: Fail job if pre-commit cache restore failed
if: steps.cache-precommit.outputs.cache-hit != 'true'
- name: Register ruff problem matcher
run: |
echo "Failed to restore pre-commit environment from cache"
exit 1
echo "::add-matcher::.github/workflows/matchers/ruff.json"
- name: Run ruff (fully)
if: needs.info.outputs.test_full_suite == 'true'
run: |
. venv/bin/activate
pre-commit run --hook-stage manual ruff --all-files --show-diff-on-failure
- name: Run ruff (partially)
if: needs.info.outputs.test_full_suite == 'false'
shell: bash
run: |
. venv/bin/activate
shopt -s globstar
pre-commit run --hook-stage manual ruff --files {homeassistant,tests}/components/${{ needs.info.outputs.integrations_glob }}/{*,**/*} --show-diff-on-failure
lint-isort:
name: Check isort
runs-on: ubuntu-22.04
needs:
- info
- pre-commit
steps:
- name: Check out code from GitHub
uses: actions/checkout@v3.3.0
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v4.5.0
id: python
with:
python-version: ${{ env.DEFAULT_PYTHON }}
check-latest: true
- name: Restore base Python virtual environment
id: cache-venv
uses: actions/cache/restore@v3.2.6
with:
path: venv
fail-on-cache-miss: true
key: >-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-venv-${{
needs.info.outputs.pre-commit_cache_key }}
- name: Restore pre-commit environment from cache
id: cache-precommit
uses: actions/cache/restore@v3.2.6
with:
path: ${{ env.PRE_COMMIT_CACHE }}
fail-on-cache-miss: true
key: >-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
needs.info.outputs.pre-commit_cache_key }}
- name: Run isort
run: |
. venv/bin/activate
@@ -362,45 +423,37 @@ jobs:
lint-other:
name: Check other linters
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
needs:
- info
- pre-commit
steps:
- name: Check out code from GitHub
uses: actions/checkout@v3.2.0
uses: actions/checkout@v3.3.0
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v4.4.0
uses: actions/setup-python@v4.5.0
id: python
with:
python-version: ${{ env.DEFAULT_PYTHON }}
check-latest: true
- name: Restore base Python virtual environment
id: cache-venv
uses: actions/cache/restore@v3.2.2
uses: actions/cache/restore@v3.2.6
with:
path: venv
fail-on-cache-miss: true
key: >-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-venv-${{
needs.info.outputs.pre-commit_cache_key }}
- name: Fail job if Python cache restore failed
if: steps.cache-venv.outputs.cache-hit != 'true'
run: |
echo "Failed to restore Python virtual environment from cache"
exit 1
- name: Restore pre-commit environment from cache
id: cache-precommit
uses: actions/cache/restore@v3.2.2
uses: actions/cache/restore@v3.2.6
with:
path: ${{ env.PRE_COMMIT_CACHE }}
fail-on-cache-miss: true
key: >-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
needs.info.outputs.pre-commit_cache_key }}
- name: Fail job if pre-commit cache restore failed
if: steps.cache-precommit.outputs.cache-hit != 'true'
run: |
echo "Failed to restore pre-commit environment from cache"
exit 1
- name: Run pyupgrade (fully)
if: needs.info.outputs.test_full_suite == 'true'
@@ -487,7 +540,7 @@ jobs:
base:
name: Prepare dependencies
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
needs: info
timeout-minutes: 60
strategy:
@@ -495,10 +548,10 @@ jobs:
python-version: ${{ fromJSON(needs.info.outputs.python_versions) }}
steps:
- name: Check out code from GitHub
uses: actions/checkout@v3.2.0
uses: actions/checkout@v3.3.0
- name: Set up Python ${{ matrix.python-version }}
id: python
uses: actions/setup-python@v4.4.0
uses: actions/setup-python@v4.5.0
with:
python-version: ${{ matrix.python-version }}
check-latest: true
@@ -509,7 +562,7 @@ jobs:
env.HA_SHORT_VERSION }}-$(date -u '+%Y-%m-%dT%H:%M:%s')" >> $GITHUB_OUTPUT
- name: Restore base Python virtual environment
id: cache-venv
uses: actions/cache@v3.2.2
uses: actions/cache@v3.2.6
with:
path: venv
key: >-
@@ -517,7 +570,7 @@ jobs:
needs.info.outputs.python_cache_key }}
- name: Restore pip wheel cache
if: steps.cache-venv.outputs.cache-hit != 'true'
uses: actions/cache@v3.2.2
uses: actions/cache@v3.2.6
with:
path: ${{ env.PIP_CACHE }}
key: >-
@@ -546,39 +599,38 @@ jobs:
python -m venv venv
. venv/bin/activate
python --version
pip install --cache-dir=$PIP_CACHE -U "pip>=21.0,<22.4" setuptools wheel
pip install --cache-dir=$PIP_CACHE -U "pip>=21.0,<23.1" setuptools wheel
pip install --cache-dir=$PIP_CACHE -r requirements_all.txt --use-deprecated=legacy-resolver
pip install --cache-dir=$PIP_CACHE -r requirements_test.txt --use-deprecated=legacy-resolver
pip install -e .
hassfest:
name: Check hassfest
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
if: |
github.event.inputs.pylint-only != 'true'
&& github.event.inputs.mypy-only != 'true'
needs:
- info
- base
steps:
- name: Check out code from GitHub
uses: actions/checkout@v3.2.0
uses: actions/checkout@v3.3.0
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
id: python
uses: actions/setup-python@v4.4.0
uses: actions/setup-python@v4.5.0
with:
python-version: ${{ env.DEFAULT_PYTHON }}
check-latest: true
- name: Restore full Python ${{ env.DEFAULT_PYTHON }} virtual environment
id: cache-venv
uses: actions/cache/restore@v3.2.2
uses: actions/cache/restore@v3.2.6
with:
path: venv
fail-on-cache-miss: true
key: >-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
needs.info.outputs.python_cache_key }}
- name: Fail job if Python cache restore failed
if: steps.cache-venv.outputs.cache-hit != 'true'
run: |
echo "Failed to restore Python virtual environment from cache"
exit 1
- name: Run hassfest
run: |
. venv/bin/activate
@@ -586,32 +638,31 @@ jobs:
gen-requirements-all:
name: Check all requirements
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
if: |
github.event.inputs.pylint-only != 'true'
&& github.event.inputs.mypy-only != 'true'
needs:
- info
- base
steps:
- name: Check out code from GitHub
uses: actions/checkout@v3.2.0
uses: actions/checkout@v3.3.0
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
id: python
uses: actions/setup-python@v4.4.0
uses: actions/setup-python@v4.5.0
with:
python-version: ${{ env.DEFAULT_PYTHON }}
check-latest: true
- name: Restore base Python virtual environment
id: cache-venv
uses: actions/cache/restore@v3.2.2
uses: actions/cache/restore@v3.2.6
with:
path: venv
fail-on-cache-miss: true
key: >-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
needs.info.outputs.python_cache_key }}
- name: Fail job if Python cache restore failed
if: steps.cache-venv.outputs.cache-hit != 'true'
run: |
echo "Failed to restore Python virtual environment from cache"
exit 1
- name: Run gen_requirements_all.py
run: |
. venv/bin/activate
@@ -619,33 +670,32 @@ jobs:
pylint:
name: Check pylint
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
timeout-minutes: 20
if: |
github.event.inputs.mypy-only != 'true'
|| github.event.inputs.pylint-only == 'true'
needs:
- info
- base
steps:
- name: Check out code from GitHub
uses: actions/checkout@v3.2.0
uses: actions/checkout@v3.3.0
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
id: python
uses: actions/setup-python@v4.4.0
uses: actions/setup-python@v4.5.0
with:
python-version: ${{ env.DEFAULT_PYTHON }}
check-latest: true
- name: Restore full Python ${{ env.DEFAULT_PYTHON }} virtual environment
id: cache-venv
uses: actions/cache/restore@v3.2.2
uses: actions/cache/restore@v3.2.6
with:
path: venv
fail-on-cache-miss: true
key: >-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
needs.info.outputs.python_cache_key }}
- name: Fail job if Python cache restore failed
if: steps.cache-venv.outputs.cache-hit != 'true'
run: |
echo "Failed to restore Python virtual environment from cache"
exit 1
- name: Register pylint problem matcher
run: |
echo "::add-matcher::.github/workflows/matchers/pylint.json"
@@ -665,32 +715,49 @@ jobs:
mypy:
name: Check mypy
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
if: |
github.event.inputs.pylint-only != 'true'
|| github.event.inputs.mypy-only == 'true'
needs:
- info
- base
steps:
- name: Check out code from GitHub
uses: actions/checkout@v3.2.0
uses: actions/checkout@v3.3.0
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
id: python
uses: actions/setup-python@v4.4.0
uses: actions/setup-python@v4.5.0
with:
python-version: ${{ env.DEFAULT_PYTHON }}
check-latest: true
- name: Generate partial mypy restore key
id: generate-mypy-key
run: |
mypy_version=$(cat requirements_test.txt | grep mypy | cut -d '=' -f 3)
echo "version=$mypy_version" >> $GITHUB_OUTPUT
echo "key=mypy-${{ env.MYPY_CACHE_VERSION }}-$mypy_version-${{
env.HA_SHORT_VERSION }}-$(date -u '+%Y-%m-%dT%H:%M:%s')" >> $GITHUB_OUTPUT
- name: Restore full Python ${{ env.DEFAULT_PYTHON }} virtual environment
id: cache-venv
uses: actions/cache/restore@v3.2.2
uses: actions/cache/restore@v3.2.6
with:
path: venv
fail-on-cache-miss: true
key: >-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
needs.info.outputs.python_cache_key }}
- name: Fail job if Python cache restore failed
if: steps.cache-venv.outputs.cache-hit != 'true'
run: |
echo "Failed to restore Python virtual environment from cache"
exit 1
- name: Restore mypy cache
uses: actions/cache@v3.2.6
with:
path: .mypy_cache
key: >-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
steps.generate-mypy-key.outputs.key }}
restore-keys: |
${{ runner.os }}-${{ steps.python.outputs.python-version }}-mypy-${{
env.MYPY_CACHE_VERSION }}-${{ steps.generate-mypy-key.outputs.version }}-${{
env.HA_SHORT_VERSION }}-
- name: Register mypy problem matcher
run: |
echo "::add-matcher::.github/workflows/matchers/mypy.json"
@@ -709,7 +776,10 @@ jobs:
mypy homeassistant/components/${{ needs.info.outputs.integrations_glob }}
pip-check:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
if: |
github.event.inputs.pylint-only != 'true'
&& github.event.inputs.mypy-only != 'true'
needs:
- info
- base
@@ -720,45 +790,43 @@ jobs:
name: Run pip check ${{ matrix.python-version }}
steps:
- name: Check out code from GitHub
uses: actions/checkout@v3.2.0
uses: actions/checkout@v3.3.0
- name: Set up Python ${{ matrix.python-version }}
id: python
uses: actions/setup-python@v4.4.0
uses: actions/setup-python@v4.5.0
with:
python-version: ${{ matrix.python-version }}
check-latest: true
- name: Restore full Python ${{ matrix.python-version }} virtual environment
id: cache-venv
uses: actions/cache/restore@v3.2.2
uses: actions/cache/restore@v3.2.6
with:
path: venv
fail-on-cache-miss: true
key: >-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
needs.info.outputs.python_cache_key }}
- name: Fail job if Python cache restore failed
if: steps.cache-venv.outputs.cache-hit != 'true'
run: |
echo "Failed to restore Python virtual environment from cache"
exit 1
- name: Run pip check
run: |
. venv/bin/activate
./script/pip_check $PIP_CACHE
pytest:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
if: |
(github.event_name != 'push' || github.event.repository.full_name == 'home-assistant/core')
&& github.event.inputs.lint-only != 'true'
&& github.event.inputs.pylint-only != 'true'
&& github.event.inputs.mypy-only != 'true'
&& (needs.info.outputs.test_full_suite == 'true' || needs.info.outputs.tests_glob)
needs:
- info
- base
- gen-requirements-all
- hassfest
- lint-black
- lint-other
- lint-isort
- lint-other
- lint-ruff
- mypy
strategy:
fail-fast: false
@@ -775,25 +843,21 @@ jobs:
bluez \
ffmpeg
- name: Check out code from GitHub
uses: actions/checkout@v3.2.0
uses: actions/checkout@v3.3.0
- name: Set up Python ${{ matrix.python-version }}
id: python
uses: actions/setup-python@v4.4.0
uses: actions/setup-python@v4.5.0
with:
python-version: ${{ matrix.python-version }}
check-latest: true
- name: Restore full Python ${{ matrix.python-version }} virtual environment
id: cache-venv
uses: actions/cache/restore@v3.2.2
uses: actions/cache/restore@v3.2.6
with:
path: venv
fail-on-cache-miss: true
key: ${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
needs.info.outputs.python_cache_key }}
- name: Fail job if Python cache restore failed
if: steps.cache-venv.outputs.cache-hit != 'true'
run: |
echo "Failed to restore Python virtual environment from cache"
exit 1
- name: Register Python problem matcher
run: |
echo "::add-matcher::.github/workflows/matchers/python.json"
@@ -807,6 +871,10 @@ jobs:
- name: Register pytest slow test problem matcher
run: |
echo "::add-matcher::.github/workflows/matchers/pytest-slow.json"
- name: Compile English translations
run: |
. venv/bin/activate
python3 -m script.translations develop --all
- name: Run pytest (fully)
if: needs.info.outputs.test_full_suite == 'true'
timeout-minutes: 60
@@ -852,7 +920,7 @@ jobs:
-p no:sugar \
tests/components/${{ matrix.group }}
- name: Upload coverage artifact
uses: actions/upload-artifact@v3.1.1
uses: actions/upload-artifact@v3.1.2
with:
name: coverage-${{ matrix.python-version }}-${{ matrix.group }}
path: coverage.xml
@@ -861,10 +929,10 @@ jobs:
./script/check_dirty
pytest-mariadb:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
services:
mariadb:
image: mariadb:10.9.3
image: ${{ matrix.mariadb-group }}
ports:
- 3306:3306
env:
@@ -873,22 +941,25 @@ jobs:
if: |
(github.event_name != 'push' || github.event.repository.full_name == 'home-assistant/core')
&& github.event.inputs.lint-only != 'true'
&& needs.info.outputs.test_full_suite == 'true'
&& github.event.inputs.pylint-only != 'true'
&& github.event.inputs.mypy-only != 'true'
&& needs.info.outputs.mariadb_groups != '[]'
needs:
- info
- base
- gen-requirements-all
- hassfest
- lint-black
- lint-other
- lint-isort
- lint-other
- lint-ruff
- mypy
strategy:
fail-fast: false
matrix:
python-version: ${{ fromJson(needs.info.outputs.python_versions) }}
mariadb-group: ${{ fromJson(needs.info.outputs.mariadb_groups) }}
name: >-
Run tests Python ${{ matrix.python-version }} (mariadb)
Run ${{ matrix.mariadb-group }} tests Python ${{ matrix.python-version }}
steps:
- name: Install additional OS dependencies
run: |
@@ -898,25 +969,21 @@ jobs:
ffmpeg \
libmariadb-dev-compat
- name: Check out code from GitHub
uses: actions/checkout@v3.2.0
uses: actions/checkout@v3.3.0
- name: Set up Python ${{ matrix.python-version }}
id: python
uses: actions/setup-python@v4.4.0
uses: actions/setup-python@v4.5.0
with:
python-version: ${{ matrix.python-version }}
check-latest: true
- name: Restore full Python ${{ matrix.python-version }} virtual environment
id: cache-venv
uses: actions/cache/restore@v3.2.2
uses: actions/cache/restore@v3.2.6
with:
path: venv
fail-on-cache-miss: true
key: ${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
needs.info.outputs.python_cache_key }}
- name: Fail job if Python cache restore failed
if: steps.cache-venv.outputs.cache-hit != 'true'
run: |
echo "Failed to restore Python virtual environment from cache"
exit 1
- name: Register Python problem matcher
run: |
echo "::add-matcher::.github/workflows/matchers/python.json"
@@ -935,7 +1002,7 @@ jobs:
. venv/bin/activate
pip install mysqlclient sqlalchemy_utils
- name: Run pytest (partially)
timeout-minutes: 15
timeout-minutes: 20
shell: bash
run: |
. venv/bin/activate
@@ -952,9 +1019,12 @@ jobs:
--durations=10 \
-p no:sugar \
--dburl=mysql://root:password@127.0.0.1/homeassistant-test \
tests/components/recorder
tests/components/history \
tests/components/logbook \
tests/components/recorder \
tests/components/sensor
- name: Upload coverage artifact
uses: actions/upload-artifact@v3.1.1
uses: actions/upload-artifact@v3.1.2
with:
name: coverage-${{ matrix.python-version }}-mariadb
path: coverage.xml
@@ -962,15 +1032,120 @@ jobs:
run: |
./script/check_dirty
pytest-postgres:
runs-on: ubuntu-22.04
services:
postgres:
image: ${{ matrix.postgresql-group }}
ports:
- 5432:5432
env:
POSTGRES_PASSWORD: password
options: --health-cmd="pg_isready -hlocalhost -Upostgres" --health-interval=5s --health-timeout=2s --health-retries=3
if: |
(github.event_name != 'push' || github.event.repository.full_name == 'home-assistant/core')
&& github.event.inputs.lint-only != 'true'
&& github.event.inputs.pylint-only != 'true'
&& github.event.inputs.mypy-only != 'true'
&& needs.info.outputs.postgresql_groups != '[]'
needs:
- info
- base
- gen-requirements-all
- hassfest
- lint-isort
- lint-other
- lint-ruff
- mypy
strategy:
fail-fast: false
matrix:
python-version: ${{ fromJson(needs.info.outputs.python_versions) }}
postgresql-group: ${{ fromJson(needs.info.outputs.postgresql_groups) }}
name: >-
Run ${{ matrix.postgresql-group }} tests Python ${{ matrix.python-version }}
steps:
- name: Install additional OS dependencies
run: |
sudo apt-get update
sudo apt-get -y install \
bluez \
ffmpeg \
postgresql-server-dev-14
- name: Check out code from GitHub
uses: actions/checkout@v3.3.0
- name: Set up Python ${{ matrix.python-version }}
id: python
uses: actions/setup-python@v4.5.0
with:
python-version: ${{ matrix.python-version }}
check-latest: true
- name: Restore full Python ${{ matrix.python-version }} virtual environment
id: cache-venv
uses: actions/cache@v3.2.6
with:
path: venv
fail-on-cache-miss: true
key: ${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
needs.info.outputs.python_cache_key }}
- name: Register Python problem matcher
run: |
echo "::add-matcher::.github/workflows/matchers/python.json"
- name: Install Pytest Annotation plugin
run: |
. venv/bin/activate
# Ideally this should be part of our dependencies
# However this plugin is fairly new and doesn't run correctly
# on a non-GitHub environment.
pip install pytest-github-actions-annotate-failures==0.1.3
- name: Register pytest slow test problem matcher
run: |
echo "::add-matcher::.github/workflows/matchers/pytest-slow.json"
- name: Install SQL Python libraries
run: |
. venv/bin/activate
pip install psycopg2 sqlalchemy_utils
- name: Run pytest (partially)
timeout-minutes: 20
shell: bash
run: |
. venv/bin/activate
python --version
python3 -X dev -m pytest \
-qq \
--timeout=9 \
-n 1 \
--cov="homeassistant.components.recorder" \
--cov-report=xml \
--cov-report=term-missing \
-o console_output_style=count \
--durations=0 \
--durations-min=10 \
-p no:sugar \
--dburl=postgresql://postgres:password@127.0.0.1/homeassistant-test \
tests/components/history \
tests/components/logbook \
tests/components/recorder \
tests/components/sensor
- name: Upload coverage artifact
uses: actions/upload-artifact@v3.1.0
with:
name: coverage-${{ matrix.python-version }}-postgresql
path: coverage.xml
- name: Check dirty
run: |
./script/check_dirty
coverage:
name: Upload test coverage to Codecov
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
needs:
- info
- pytest
steps:
- name: Check out code from GitHub
uses: actions/checkout@v3.2.0
uses: actions/checkout@v3.3.0
- name: Download all coverage artifacts
uses: actions/download-artifact@v3
- name: Upload coverage to Codecov (full coverage)

30
.github/workflows/matchers/ruff.json vendored Normal file
View File

@@ -0,0 +1,30 @@
{
"problemMatcher": [
{
"owner": "ruff-error",
"severity": "error",
"pattern": [
{
"regexp": "^(.*):(\\d+):(\\d+):\\s([EF]\\d{3}\\s.*)$",
"file": 1,
"line": 2,
"column": 3,
"message": 4
}
]
},
{
"owner": "ruff-warning",
"severity": "warning",
"pattern": [
{
"regexp": "^(.*):(\\d+):(\\d+):\\s([CDNW]\\d{3}\\s.*)$",
"file": 1,
"line": 2,
"column": 3,
"message": 4
}
]
}
]
}

View File

@@ -11,34 +11,21 @@ jobs:
if: github.repository_owner == 'home-assistant'
runs-on: ubuntu-latest
steps:
# The 90 day stale policy
# The 90 day stale policy for PRs
# Used for:
# - Issues & PRs
# - PRs
# - No PRs marked as no-stale
# - No issues marked as no-stale or help-wanted
- name: 90 days stale issues & PRs policy
# - No issues (-1)
- name: 90 days stale PRs policy
uses: actions/stale@v7.0.0
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
days-before-stale: 90
days-before-close: 7
days-before-issue-stale: -1
days-before-issue-close: -1
operations-per-run: 150
remove-stale-when-updated: true
stale-issue-label: "stale"
exempt-issue-labels: "no-stale,help-wanted"
stale-issue-message: >
There hasn't been any activity on this issue recently. Due to the
high number of incoming GitHub notifications, we have to clean some
of the old issues, as many of them have already been resolved with
the latest updates.
Please make sure to update to the latest Home Assistant version and
check if that solves the issue. Let us know if that works for you by
adding a comment 👍
This issue has now been marked as stale and will be closed if no
further activity occurs. Thank you for your contributions.
stale-pr-label: "stale"
exempt-pr-labels: "no-stale"
stale-pr-message: >
@@ -48,30 +35,47 @@ jobs:
Thank you for your contributions.
# The 30 day stale policy for PRS
# Generate a token for the GitHub App, we use this method to avoid
# hitting API limits for our GitHub actions + have a higher rate limit.
# This is only used for issues.
- name: Generate app token
id: token
# Pinned to a specific version of the action for security reasons
# v1.7.0
uses: tibdex/github-app-token@b62528385c34dbc9f38e5f4225ac829252d1ea92
with:
app_id: ${{ secrets.ISSUE_TRIAGE_APP_ID }}
private_key: ${{ secrets.ISSUE_TRIAGE_APP_PEM }}
# The 90 day stale policy for issues
# Used for:
# - PRs
# - No PRs marked as no-stale or new-integrations
# - No issues (-1)
- name: 30 days stale PRs policy
# - Issues
# - No issues marked as no-stale or help-wanted
# - No PRs (-1)
- name: 90 days stale issues
uses: actions/stale@v7.0.0
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
days-before-stale: 30
repo-token: ${{ steps.token.outputs.token }}
days-before-stale: 90
days-before-close: 7
days-before-issue-close: -1
operations-per-run: 50
days-before-pr-stale: -1
days-before-pr-close: -1
operations-per-run: 250
remove-stale-when-updated: true
stale-pr-label: "stale"
# Exempt new integrations, these often take more time.
# They will automatically be handled by the 90 day version above.
exempt-pr-labels: "no-stale,new-integration"
stale-pr-message: >
There hasn't been any activity on this pull request recently. This
pull request has been automatically marked as stale because of that
and will be closed if no further activity occurs within 7 days.
stale-issue-label: "stale"
exempt-issue-labels: "no-stale,help-wanted,needs-more-information"
stale-issue-message: >
There hasn't been any activity on this issue recently. Due to the
high number of incoming GitHub notifications, we have to clean some
of the old issues, as many of them have already been resolved with
the latest updates.
Thank you for your contributions.
Please make sure to update to the latest Home Assistant version and
check if that solves the issue. Let us know if that works for you by
adding a comment 👍
This issue has now been marked as stale and will be closed if no
further activity occurs. Thank you for your contributions.
# The 30 day stale policy for issues
# Used for:
@@ -81,12 +85,13 @@ jobs:
- name: Needs more information stale issues policy
uses: actions/stale@v7.0.0
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
repo-token: ${{ steps.token.outputs.token }}
only-labels: "needs-more-information"
days-before-stale: 14
days-before-close: 7
days-before-pr-stale: -1
days-before-pr-close: -1
operations-per-run: 50
operations-per-run: 250
remove-stale-when-updated: true
stale-issue-label: "stale"
exempt-issue-labels: "no-stale,help-wanted"

View File

@@ -1,65 +0,0 @@
name: Translations
# yamllint disable-line rule:truthy
on:
workflow_dispatch:
schedule:
- cron: "0 0 * * *"
push:
branches:
- dev
paths:
- "**strings.json"
env:
DEFAULT_PYTHON: 3.9
jobs:
upload:
name: Upload
if: github.repository_owner == 'home-assistant'
runs-on: ubuntu-latest
steps:
- name: Checkout the repository
uses: actions/checkout@v3.2.0
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v4.4.0
with:
python-version: ${{ env.DEFAULT_PYTHON }}
- name: Upload Translations
run: |
export LOKALISE_TOKEN="${{ secrets.LOKALISE_TOKEN }}"
python3 -m script.translations upload
download:
name: Download
needs: upload
if: github.repository_owner == 'home-assistant' && (github.event_name == 'schedule' || github.event_name == 'workflow_dispatch')
runs-on: ubuntu-latest
steps:
- name: Checkout the repository
uses: actions/checkout@v3.2.0
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v4.4.0
with:
python-version: ${{ env.DEFAULT_PYTHON }}
- name: Download Translations
run: |
export LOKALISE_TOKEN="${{ secrets.LOKALISE_TOKEN }}"
python3 -m script.translations download
- name: Initialize git
uses: home-assistant/actions/helpers/git-init@master
with:
name: GitHub Action
email: github-action@users.noreply.github.com
- name: Update translation
run: |
git add homeassistant
git commit -am "[ci skip] Translation update"
git push

32
.github/workflows/translations.yml vendored Normal file
View File

@@ -0,0 +1,32 @@
name: Translations
# yamllint disable-line rule:truthy
on:
workflow_dispatch:
push:
branches:
- dev
paths:
- "**strings.json"
env:
DEFAULT_PYTHON: "3.10"
jobs:
upload:
name: Upload
if: github.repository_owner == 'home-assistant'
runs-on: ubuntu-latest
steps:
- name: Checkout the repository
uses: actions/checkout@v3.3.0
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v4.5.0
with:
python-version: ${{ env.DEFAULT_PYTHON }}
- name: Upload Translations
run: |
export LOKALISE_TOKEN="${{ secrets.LOKALISE_TOKEN }}"
python3 -m script.translations upload

View File

@@ -22,7 +22,7 @@ jobs:
architectures: ${{ steps.info.outputs.architectures }}
steps:
- name: Checkout the repository
uses: actions/checkout@v3.2.0
uses: actions/checkout@v3.3.0
- name: Get information
id: info
@@ -57,13 +57,13 @@ jobs:
) > .env_file
- name: Upload env_file
uses: actions/upload-artifact@v3.1.1
uses: actions/upload-artifact@v3.1.2
with:
name: env_file
path: ./.env_file
- name: Upload requirements_diff
uses: actions/upload-artifact@v3.1.1
uses: actions/upload-artifact@v3.1.2
with:
name: requirements_diff
path: ./requirements_diff.txt
@@ -79,7 +79,7 @@ jobs:
arch: ${{ fromJson(needs.init.outputs.architectures) }}
steps:
- name: Checkout the repository
uses: actions/checkout@v3.2.0
uses: actions/checkout@v3.3.0
- name: Download env_file
uses: actions/download-artifact@v3
@@ -116,7 +116,7 @@ jobs:
arch: ${{ fromJson(needs.init.outputs.architectures) }}
steps:
- name: Checkout the repository
uses: actions/checkout@v3.2.0
uses: actions/checkout@v3.3.0
- name: Download env_file
uses: actions/download-artifact@v3
@@ -144,6 +144,14 @@ jobs:
sed -i "s|# opencv-python-headless|opencv-python-headless|g" ${requirement_file}
done
- name: Split requirements all
run: |
# We split requirements all into two different files.
# This is to prevent the build from running out of memory when
# resolving packages on 32-bits systems (like armhf, armv7).
split -l $(expr $(expr $(cat requirements_all.txt | wc -l) + 1) / 2) requirements_all.txt requirements_all.txt
- name: Adjust build env
run: |
if [ "${{ matrix.arch }}" = "i386" ]; then
@@ -159,7 +167,7 @@ jobs:
# Do not pin numpy in wheels building
sed -i "/numpy/d" homeassistant/package_constraints.txt
- name: Build wheels
- name: Build wheels (part 1)
uses: home-assistant/wheels@2022.10.1
with:
abi: cp310
@@ -167,9 +175,24 @@ jobs:
arch: ${{ matrix.arch }}
wheels-key: ${{ secrets.WHEELS_KEY }}
env-file: true
apk: "libexecinfo-dev;bluez-dev;libffi-dev;openssl-dev;glib-dev;eudev-dev;libxml2-dev;libxslt-dev;libpng-dev;libjpeg-turbo-dev;tiff-dev;cups-dev;gmp-dev;mpfr-dev;mpc1-dev;ffmpeg-dev;gammu-dev;yaml-dev;openblas-dev;fftw-dev;lapack-dev;gfortran;blas-dev;eigen-dev;freetype-dev;glew-dev;harfbuzz-dev;hdf5-dev;libdc1394-dev;libtbb-dev;mesa-dev;openexr-dev;openjpeg-dev"
apk: "libexecinfo-dev;bluez-dev;libffi-dev;openssl-dev;glib-dev;eudev-dev;libxml2-dev;libxslt-dev;libpng-dev;libjpeg-turbo-dev;tiff-dev;cups-dev;gmp-dev;mpfr-dev;mpc1-dev;ffmpeg-dev;gammu-dev;yaml-dev;openblas-dev;fftw-dev;lapack-dev;gfortran;blas-dev;eigen-dev;freetype-dev;glew-dev;harfbuzz-dev;hdf5-dev;libdc1394-dev;libtbb-dev;mesa-dev;openexr-dev;openjpeg-dev;uchardet-dev"
skip-binary: aiohttp;grpcio
legacy: true
constraints: "homeassistant/package_constraints.txt"
requirements-diff: "requirements_diff.txt"
requirements: "requirements_all.txt"
requirements: "requirements_all.txtaa"
- name: Build wheels (part 2)
uses: home-assistant/wheels@2022.10.1
with:
abi: cp310
tag: musllinux_1_2
arch: ${{ matrix.arch }}
wheels-key: ${{ secrets.WHEELS_KEY }}
env-file: true
apk: "libexecinfo-dev;bluez-dev;libffi-dev;openssl-dev;glib-dev;eudev-dev;libxml2-dev;libxslt-dev;libpng-dev;libjpeg-turbo-dev;tiff-dev;cups-dev;gmp-dev;mpfr-dev;mpc1-dev;ffmpeg-dev;gammu-dev;yaml-dev;openblas-dev;fftw-dev;lapack-dev;gfortran;blas-dev;eigen-dev;freetype-dev;glew-dev;harfbuzz-dev;hdf5-dev;libdc1394-dev;libtbb-dev;mesa-dev;openexr-dev;openjpeg-dev;uchardet-dev"
skip-binary: aiohttp;grpcio
legacy: true
constraints: "homeassistant/package_constraints.txt"
requirements-diff: "requirements_diff.txt"
requirements: "requirements_all.txtab"

3
.gitignore vendored
View File

@@ -8,6 +8,9 @@ tests/testing_config/home-assistant.log*
data/
.token
# Translations
homeassistant/components/*/translations
# Hide sublime text stuff
*.sublime-project
*.sublime-workspace

View File

@@ -1,9 +1,16 @@
repos:
- repo: https://github.com/charliermarsh/ruff-pre-commit
rev: v0.0.247
hooks:
- id: ruff
args:
- --fix
- repo: https://github.com/asottile/pyupgrade
rev: v3.3.1
hooks:
- id: pyupgrade
args: [--py39-plus]
args: [--py310-plus]
stages: [manual]
- repo: https://github.com/PyCQA/autoflake
rev: v2.0.0
hooks:
@@ -11,8 +18,9 @@ repos:
args:
- --in-place
- --remove-all-unused-imports
stages: [manual]
- repo: https://github.com/psf/black
rev: 22.12.0
rev: 23.1.0
hooks:
- id: black
args:
@@ -23,7 +31,7 @@ repos:
hooks:
- id: codespell
args:
- --ignore-words-list=additionals,alle,alot,ba,bre,bund,datas,dof,dur,ether,farenheit,falsy,fo,haa,hass,hist,iam,iff,iif,incomfort,ines,ist,lightsensor,mut,nam,nd,pres,pullrequests,referer,resset,rime,ser,serie,sur,te,technik,ue,uint,unsecure,visability,wan,wanna,withing,zar
- --ignore-words-list=additionals,alle,alot,ba,bre,bund,currenty,datas,dof,dur,ether,farenheit,falsy,fo,haa,hass,hist,iam,iff,iif,incomfort,ines,ist,lightsensor,mut,nam,nd,pres,pullrequests,referer,resset,rime,ser,serie,sur,te,technik,ue,uint,unsecure,visability,wan,wanna,withing,zar
- --skip="./.*,*.csv,*.json"
- --quiet-level=2
exclude_types: [csv, json]
@@ -36,11 +44,12 @@ repos:
- pycodestyle==2.10.0
- pyflakes==3.0.1
- flake8-docstrings==1.6.0
- pydocstyle==6.1.1
- pydocstyle==6.2.3
- flake8-comprehensions==3.10.1
- flake8-noqa==1.3.0
- mccabe==0.7.0
files: ^(homeassistant|script|tests)/.+\.py$
exclude: docs/source/conf.py
stages: [manual]
- repo: https://github.com/PyCQA/bandit
rev: 1.7.4
hooks:
@@ -51,11 +60,11 @@ repos:
- --configfile=tests/bandit.yaml
files: ^(homeassistant|script|tests)/.+\.py$
- repo: https://github.com/PyCQA/isort
rev: 5.11.4
rev: 5.12.0
hooks:
- id: isort
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v3.2.0
rev: v4.4.0
hooks:
- id: check-executables-have-shebangs
stages: [manual]
@@ -84,7 +93,7 @@ repos:
- id: python-typing-update
stages: [manual]
args:
- --py39-plus
- --py310-plus
- --force
- --keep-updates
files: ^(homeassistant|tests|script)/.+\.py$

View File

@@ -58,6 +58,7 @@ homeassistant.components.amcrest.*
homeassistant.components.ampio.*
homeassistant.components.analytics.*
homeassistant.components.anthemav.*
homeassistant.components.apcupsd.*
homeassistant.components.aqualogic.*
homeassistant.components.aseko_pool_live.*
homeassistant.components.asuswrt.*
@@ -68,6 +69,7 @@ homeassistant.components.backup.*
homeassistant.components.baf.*
homeassistant.components.bayesian.*
homeassistant.components.binary_sensor.*
homeassistant.components.bitcoin.*
homeassistant.components.blockchain.*
homeassistant.components.bluetooth.*
homeassistant.components.bluetooth_tracker.*
@@ -82,6 +84,7 @@ homeassistant.components.camera.*
homeassistant.components.canary.*
homeassistant.components.clickatell.*
homeassistant.components.clicksend.*
homeassistant.components.configurator.*
homeassistant.components.cover.*
homeassistant.components.cpuspeed.*
homeassistant.components.crownstone.*
@@ -96,6 +99,7 @@ homeassistant.components.dhcp.*
homeassistant.components.diagnostics.*
homeassistant.components.dlna_dmr.*
homeassistant.components.dnsip.*
homeassistant.components.dormakaba_dkey.*
homeassistant.components.dsmr.*
homeassistant.components.dunehd.*
homeassistant.components.efergy.*
@@ -110,6 +114,7 @@ homeassistant.components.fastdotcom.*
homeassistant.components.feedreader.*
homeassistant.components.file_upload.*
homeassistant.components.filesize.*
homeassistant.components.filter.*
homeassistant.components.fitbit.*
homeassistant.components.flux_led.*
homeassistant.components.forecast_solar.*
@@ -172,13 +177,16 @@ homeassistant.components.jewish_calendar.*
homeassistant.components.kaleidescape.*
homeassistant.components.knx.*
homeassistant.components.kraken.*
homeassistant.components.lacrosse.*
homeassistant.components.lacrosse_view.*
homeassistant.components.lametric.*
homeassistant.components.laundrify.*
homeassistant.components.lcn.*
homeassistant.components.ld2410_ble.*
homeassistant.components.lidarr.*
homeassistant.components.lifx.*
homeassistant.components.light.*
homeassistant.components.litejet.*
homeassistant.components.litterrobot.*
homeassistant.components.local_ip.*
homeassistant.components.lock.*
@@ -198,6 +206,7 @@ homeassistant.components.mjpeg.*
homeassistant.components.modbus.*
homeassistant.components.modem_callerid.*
homeassistant.components.moon.*
homeassistant.components.mopeka.*
homeassistant.components.mqtt.*
homeassistant.components.mysensors.*
homeassistant.components.nam.*
@@ -219,6 +228,7 @@ homeassistant.components.onewire.*
homeassistant.components.open_meteo.*
homeassistant.components.openexchangerates.*
homeassistant.components.openuv.*
homeassistant.components.otbr.*
homeassistant.components.overkiz.*
homeassistant.components.peco.*
homeassistant.components.persistent_notification.*
@@ -239,23 +249,28 @@ homeassistant.components.recorder.*
homeassistant.components.remote.*
homeassistant.components.renault.*
homeassistant.components.repairs.*
homeassistant.components.rest.*
homeassistant.components.rfxtrx.*
homeassistant.components.rhasspy.*
homeassistant.components.ridwell.*
homeassistant.components.rituals_perfume_genie.*
homeassistant.components.roku.*
homeassistant.components.rpi_power.*
homeassistant.components.rss_feed_template.*
homeassistant.components.rtsp_to_webrtc.*
homeassistant.components.ruuvi_gateway.*
homeassistant.components.ruuvitag_ble.*
homeassistant.components.samsungtv.*
homeassistant.components.scene.*
homeassistant.components.schedule.*
homeassistant.components.scrape.*
homeassistant.components.select.*
homeassistant.components.senseme.*
homeassistant.components.sensibo.*
homeassistant.components.sensirion_ble.*
homeassistant.components.sensor.*
homeassistant.components.senz.*
homeassistant.components.sfr_box.*
homeassistant.components.shelly.*
homeassistant.components.simplepush.*
homeassistant.components.simplisafe.*
@@ -287,6 +302,7 @@ homeassistant.components.tile.*
homeassistant.components.tilt_ble.*
homeassistant.components.tolo.*
homeassistant.components.tplink.*
homeassistant.components.tplink_omada.*
homeassistant.components.tractive.*
homeassistant.components.tradfri.*
homeassistant.components.trafikverket_ferry.*
@@ -318,6 +334,7 @@ homeassistant.components.wiz.*
homeassistant.components.wled.*
homeassistant.components.worldclock.*
homeassistant.components.yale_smart_alarm.*
homeassistant.components.yalexs_ble.*
homeassistant.components.zeroconf.*
homeassistant.components.zodiac.*
homeassistant.components.zone.*

6
.vscode/launch.json vendored
View File

@@ -10,7 +10,8 @@
"request": "launch",
"module": "homeassistant",
"justMyCode": false,
"args": ["--debug", "-c", "config"]
"args": ["--debug", "-c", "config"],
"preLaunchTask": "Compile English translations"
},
{
"name": "Home Assistant (skip pip)",
@@ -18,7 +19,8 @@
"request": "launch",
"module": "homeassistant",
"justMyCode": false,
"args": ["--debug", "-c", "config", "--skip-pip"]
"args": ["--debug", "-c", "config", "--skip-pip"],
"preLaunchTask": "Compile English translations"
},
{
// Debug by attaching to local Home Asistant server using Remote Python Debugger.

42
.vscode/tasks.json vendored
View File

@@ -10,7 +10,8 @@
"reveal": "always",
"panel": "new"
},
"problemMatcher": []
"problemMatcher": [],
"dependsOn": ["Compile English translations"]
},
{
"label": "Pytest",
@@ -27,6 +28,20 @@
},
"problemMatcher": []
},
{
"label": "Pytest (changed tests only)",
"type": "shell",
"command": "pytest --timeout=10 --picked",
"group": {
"kind": "test",
"isDefault": true
},
"presentation": {
"reveal": "always",
"panel": "new"
},
"problemMatcher": []
},
{
"label": "Flake8",
"type": "shell",
@@ -41,6 +56,20 @@
},
"problemMatcher": []
},
{
"label": "Ruff",
"type": "shell",
"command": "pre-commit run ruff --all-files",
"group": {
"kind": "test",
"isDefault": true
},
"presentation": {
"reveal": "always",
"panel": "new"
},
"problemMatcher": []
},
{
"label": "Pylint",
"type": "shell",
@@ -114,19 +143,14 @@
"problemMatcher": []
},
{
"label": "Compile translations",
"label": "Compile English translations",
"detail": "In order to test changes to translation files, the translation strings must be compiled into Home Assistant's translation directories.",
"type": "shell",
"command": "python3 -m script.translations develop --integration ${input:integrationName}",
"command": "python3 -m script.translations develop --all",
"group": {
"kind": "build",
"isDefault": true
},
"presentation": {
"reveal": "always",
"panel": "new"
},
"problemMatcher": []
}
}
],
"inputs": [

View File

@@ -67,8 +67,6 @@ build.json @home-assistant/supervisor
/tests/components/alert/ @home-assistant/core @frenck
/homeassistant/components/alexa/ @home-assistant/cloud @ochlocracy @jbouwh
/tests/components/alexa/ @home-assistant/cloud @ochlocracy @jbouwh
/homeassistant/components/almond/ @gcampax @balloob
/tests/components/almond/ @gcampax @balloob
/homeassistant/components/amberelectric/ @madpilot
/tests/components/amberelectric/ @madpilot
/homeassistant/components/ambiclimate/ @danielhiversen
@@ -137,8 +135,8 @@ build.json @home-assistant/supervisor
/tests/components/backup/ @home-assistant/core
/homeassistant/components/baf/ @bdraco @jfroy
/tests/components/baf/ @bdraco @jfroy
/homeassistant/components/balboa/ @garbled1
/tests/components/balboa/ @garbled1
/homeassistant/components/balboa/ @garbled1 @natekspencer
/tests/components/balboa/ @garbled1 @natekspencer
/homeassistant/components/bayesian/ @HarvsG
/tests/components/bayesian/ @HarvsG
/homeassistant/components/beewi_smartclim/ @alemuro
@@ -156,6 +154,8 @@ build.json @home-assistant/supervisor
/homeassistant/components/bluesound/ @thrawnarn
/homeassistant/components/bluetooth/ @bdraco
/tests/components/bluetooth/ @bdraco
/homeassistant/components/bluetooth_adapters/ @bdraco
/tests/components/bluetooth_adapters/ @bdraco
/homeassistant/components/bmw_connected_drive/ @gerard33 @rikroe
/tests/components/bmw_connected_drive/ @gerard33 @rikroe
/homeassistant/components/bond/ @bdraco @prystupa @joshs85 @marciogranzotto
@@ -211,8 +211,8 @@ build.json @home-assistant/supervisor
/tests/components/configurator/ @home-assistant/core
/homeassistant/components/control4/ @lawtancool
/tests/components/control4/ @lawtancool
/homeassistant/components/conversation/ @home-assistant/core
/tests/components/conversation/ @home-assistant/core
/homeassistant/components/conversation/ @home-assistant/core @synesthesiam
/tests/components/conversation/ @home-assistant/core @synesthesiam
/homeassistant/components/coolmaster/ @OnFreund
/tests/components/coolmaster/ @OnFreund
/homeassistant/components/coronavirus/ @home-assistant/core
@@ -265,6 +265,8 @@ build.json @home-assistant/supervisor
/tests/components/discord/ @tkdrob
/homeassistant/components/discovery/ @home-assistant/core
/tests/components/discovery/ @home-assistant/core
/homeassistant/components/dlink/ @tkdrob
/tests/components/dlink/ @tkdrob
/homeassistant/components/dlna_dmr/ @StevenLooman @chishm
/tests/components/dlna_dmr/ @StevenLooman @chishm
/homeassistant/components/dlna_dms/ @chishm
@@ -273,6 +275,8 @@ build.json @home-assistant/supervisor
/tests/components/dnsip/ @gjohansson-ST
/homeassistant/components/doorbird/ @oblogic7 @bdraco @flacjacket
/tests/components/doorbird/ @oblogic7 @bdraco @flacjacket
/homeassistant/components/dormakaba_dkey/ @emontnemery
/tests/components/dormakaba_dkey/ @emontnemery
/homeassistant/components/dsmr/ @Robbie1221 @frenck
/tests/components/dsmr/ @Robbie1221 @frenck
/homeassistant/components/dsmr_reader/ @depl0y @glodenox
@@ -284,8 +288,10 @@ build.json @home-assistant/supervisor
/tests/components/dynalite/ @ziv1234
/homeassistant/components/eafm/ @Jc2k
/tests/components/eafm/ @Jc2k
/homeassistant/components/ecobee/ @marthoc
/tests/components/ecobee/ @marthoc
/homeassistant/components/easyenergy/ @klaasnicolaas
/tests/components/easyenergy/ @klaasnicolaas
/homeassistant/components/ecobee/ @marthoc @marcolivierarsenault
/tests/components/ecobee/ @marthoc @marcolivierarsenault
/homeassistant/components/econet/ @vangorra @w1ll1am23
/tests/components/econet/ @vangorra @w1ll1am23
/homeassistant/components/ecovacs/ @OverloadUT @mib1185
@@ -307,12 +313,14 @@ build.json @home-assistant/supervisor
/homeassistant/components/emoncms/ @borpin
/homeassistant/components/emonitor/ @bdraco
/tests/components/emonitor/ @bdraco
/homeassistant/components/emulated_hue/ @bdraco
/tests/components/emulated_hue/ @bdraco
/homeassistant/components/emulated_hue/ @bdraco @Tho85
/tests/components/emulated_hue/ @bdraco @Tho85
/homeassistant/components/emulated_kasa/ @kbickar
/tests/components/emulated_kasa/ @kbickar
/homeassistant/components/energy/ @home-assistant/core
/tests/components/energy/ @home-assistant/core
/homeassistant/components/energyzero/ @klaasnicolaas
/tests/components/energyzero/ @klaasnicolaas
/homeassistant/components/enigma2/ @fbradyirl
/homeassistant/components/enocean/ @bdurrer
/tests/components/enocean/ @bdurrer
@@ -331,6 +339,8 @@ build.json @home-assistant/supervisor
/tests/components/escea/ @lazdavila
/homeassistant/components/esphome/ @OttoWinter @jesserockz
/tests/components/esphome/ @OttoWinter @jesserockz
/homeassistant/components/eufylife_ble/ @bdr99
/tests/components/eufylife_ble/ @bdr99
/homeassistant/components/evil_genius_labs/ @balloob
/tests/components/evil_genius_labs/ @balloob
/homeassistant/components/evohome/ @zxdavb
@@ -401,7 +411,7 @@ build.json @home-assistant/supervisor
/tests/components/generic/ @davet2001
/homeassistant/components/generic_hygrostat/ @Shulyaka
/tests/components/generic_hygrostat/ @Shulyaka
/homeassistant/components/geniushub/ @zxdavb
/homeassistant/components/geniushub/ @manzanotti
/homeassistant/components/geo_json_events/ @exxamalte
/tests/components/geo_json_events/ @exxamalte
/homeassistant/components/geo_location/ @home-assistant/core
@@ -433,6 +443,8 @@ build.json @home-assistant/supervisor
/homeassistant/components/google_assistant_sdk/ @tronikos
/tests/components/google_assistant_sdk/ @tronikos
/homeassistant/components/google_cloud/ @lufton
/homeassistant/components/google_mail/ @tkdrob
/tests/components/google_mail/ @tkdrob
/homeassistant/components/google_sheets/ @tkdrob
/tests/components/google_sheets/ @tkdrob
/homeassistant/components/google_travel_time/ @eifinger
@@ -446,8 +458,8 @@ build.json @home-assistant/supervisor
/tests/components/greeneye_monitor/ @jkeljo
/homeassistant/components/group/ @home-assistant/core
/tests/components/group/ @home-assistant/core
/homeassistant/components/growatt_server/ @indykoning @muppet3000 @JasperPlant
/tests/components/growatt_server/ @indykoning @muppet3000 @JasperPlant
/homeassistant/components/growatt_server/ @muppet3000
/tests/components/growatt_server/ @muppet3000
/homeassistant/components/guardian/ @bachya
/tests/components/guardian/ @bachya
/homeassistant/components/habitica/ @ASMfreaK @leikoilja
@@ -499,8 +511,8 @@ build.json @home-assistant/supervisor
/tests/components/homematic/ @pvizeli @danielperna84
/homeassistant/components/homewizard/ @DCSBL
/tests/components/homewizard/ @DCSBL
/homeassistant/components/honeywell/ @rdfurman
/tests/components/honeywell/ @rdfurman
/homeassistant/components/honeywell/ @rdfurman @mkmer
/tests/components/honeywell/ @rdfurman @mkmer
/homeassistant/components/http/ @home-assistant/core
/tests/components/http/ @home-assistant/core
/homeassistant/components/huawei_lte/ @scop @fphammerle
@@ -533,6 +545,8 @@ build.json @home-assistant/supervisor
/tests/components/image_processing/ @home-assistant/core
/homeassistant/components/image_upload/ @home-assistant/core
/tests/components/image_upload/ @home-assistant/core
/homeassistant/components/imap/ @engrbm87
/tests/components/imap/ @engrbm87
/homeassistant/components/incomfort/ @zxdavb
/homeassistant/components/influxdb/ @mdegat01
/tests/components/influxdb/ @mdegat01
@@ -556,8 +570,8 @@ build.json @home-assistant/supervisor
/tests/components/integration/ @dgomes
/homeassistant/components/intellifire/ @jeeftor
/tests/components/intellifire/ @jeeftor
/homeassistant/components/intent/ @home-assistant/core
/tests/components/intent/ @home-assistant/core
/homeassistant/components/intent/ @home-assistant/core @synesthesiam
/tests/components/intent/ @home-assistant/core @synesthesiam
/homeassistant/components/intesishome/ @jnimmo
/homeassistant/components/ios/ @robbiet480
/tests/components/ios/ @robbiet480
@@ -599,6 +613,8 @@ build.json @home-assistant/supervisor
/homeassistant/components/keyboard_remote/ @bendavid @lanrat
/homeassistant/components/keymitt_ble/ @spycle
/tests/components/keymitt_ble/ @spycle
/homeassistant/components/kitchen_sink/ @home-assistant/core
/tests/components/kitchen_sink/ @home-assistant/core
/homeassistant/components/kmtronic/ @dgomes
/tests/components/kmtronic/ @dgomes
/homeassistant/components/knx/ @Julius2342 @farmio @marvin-w
@@ -625,6 +641,8 @@ build.json @home-assistant/supervisor
/tests/components/laundrify/ @xLarry
/homeassistant/components/lcn/ @alengwenus
/tests/components/lcn/ @alengwenus
/homeassistant/components/ld2410_ble/ @930913
/tests/components/ld2410_ble/ @930913
/homeassistant/components/led_ble/ @bdraco
/tests/components/led_ble/ @bdraco
/homeassistant/components/lg_netcast/ @Drafteed
@@ -669,7 +687,6 @@ build.json @home-assistant/supervisor
/homeassistant/components/lyric/ @timmo001
/tests/components/lyric/ @timmo001
/homeassistant/components/mastodon/ @fabaff
/homeassistant/components/matrix/ @tinloaf
/homeassistant/components/matter/ @home-assistant/matter
/tests/components/matter/ @home-assistant/matter
/homeassistant/components/mazda/ @bdr99
@@ -725,6 +742,8 @@ build.json @home-assistant/supervisor
/tests/components/monoprice/ @etsinko @OnFreund
/homeassistant/components/moon/ @fabaff @frenck
/tests/components/moon/ @fabaff @frenck
/homeassistant/components/mopeka/ @bdraco
/tests/components/mopeka/ @bdraco
/homeassistant/components/motion_blinds/ @starkillerOG
/tests/components/motion_blinds/ @starkillerOG
/homeassistant/components/motioneye/ @dermotduffy
@@ -806,7 +825,8 @@ build.json @home-assistant/supervisor
/tests/components/nws/ @MatthewFlamm @kamiyo
/homeassistant/components/nzbget/ @chriscla
/tests/components/nzbget/ @chriscla
/homeassistant/components/obihai/ @dshokouhi
/homeassistant/components/obihai/ @dshokouhi @ejpenney
/tests/components/obihai/ @dshokouhi @ejpenney
/homeassistant/components/octoprint/ @rfleming71
/tests/components/octoprint/ @rfleming71
/homeassistant/components/ohmconnect/ @robbiet480
@@ -825,6 +845,8 @@ build.json @home-assistant/supervisor
/tests/components/onvif/ @hunterjm
/homeassistant/components/open_meteo/ @frenck
/tests/components/open_meteo/ @frenck
/homeassistant/components/openai_conversation/ @balloob
/tests/components/openai_conversation/ @balloob
/homeassistant/components/openerz/ @misialq
/tests/components/openerz/ @misialq
/homeassistant/components/openexchangerates/ @MartinHjelmare
@@ -840,9 +862,11 @@ build.json @home-assistant/supervisor
/tests/components/openweathermap/ @fabaff @freekode @nzapponi
/homeassistant/components/opnsense/ @mtreinish
/tests/components/opnsense/ @mtreinish
/homeassistant/components/oralb/ @bdraco
/tests/components/oralb/ @bdraco
/homeassistant/components/oralb/ @bdraco @Lash-L
/tests/components/oralb/ @bdraco @Lash-L
/homeassistant/components/oru/ @bvlaicu
/homeassistant/components/otbr/ @home-assistant/core
/tests/components/otbr/ @home-assistant/core
/homeassistant/components/overkiz/ @imicknl @vlebourl @tetienne @nyroDev
/tests/components/overkiz/ @imicknl @vlebourl @tetienne @nyroDev
/homeassistant/components/ovo_energy/ @timmo001
@@ -877,8 +901,8 @@ build.json @home-assistant/supervisor
/tests/components/point/ @fredrike
/homeassistant/components/poolsense/ @haemishkyd
/tests/components/poolsense/ @haemishkyd
/homeassistant/components/powerwall/ @bdraco @jrester
/tests/components/powerwall/ @bdraco @jrester
/homeassistant/components/powerwall/ @bdraco @jrester @daniel-simpson
/tests/components/powerwall/ @bdraco @jrester @daniel-simpson
/homeassistant/components/profiler/ @bdraco
/tests/components/profiler/ @bdraco
/homeassistant/components/progettihwsw/ @ardaseremet
@@ -980,8 +1004,12 @@ build.json @home-assistant/supervisor
/tests/components/rtsp_to_webrtc/ @allenporter
/homeassistant/components/ruckus_unleashed/ @gabe565
/tests/components/ruckus_unleashed/ @gabe565
/homeassistant/components/ruuvi_gateway/ @akx
/tests/components/ruuvi_gateway/ @akx
/homeassistant/components/ruuvitag_ble/ @akx
/tests/components/ruuvitag_ble/ @akx
/homeassistant/components/rympro/ @OnFreund @elad-bar @maorcc
/tests/components/rympro/ @OnFreund @elad-bar @maorcc
/homeassistant/components/sabnzbd/ @shaiu
/tests/components/sabnzbd/ @shaiu
/homeassistant/components/safe_mode/ @home-assistant/core
@@ -1026,6 +1054,8 @@ build.json @home-assistant/supervisor
/tests/components/senz/ @milanmeu
/homeassistant/components/serial/ @fabaff
/homeassistant/components/seven_segments/ @fabaff
/homeassistant/components/sfr_box/ @epenet
/tests/components/sfr_box/ @epenet
/homeassistant/components/sharkiq/ @JeffResc @funkybunch @AritroSaha10
/tests/components/sharkiq/ @JeffResc @funkybunch @AritroSaha10
/homeassistant/components/shell_command/ @home-assistant/core
@@ -1107,8 +1137,10 @@ build.json @home-assistant/supervisor
/tests/components/srp_energy/ @briglx
/homeassistant/components/starline/ @anonym-tsk
/tests/components/starline/ @anonym-tsk
/homeassistant/components/statistics/ @fabaff @ThomDietrich
/tests/components/statistics/ @fabaff @ThomDietrich
/homeassistant/components/starlink/ @boswelja
/tests/components/starlink/ @boswelja
/homeassistant/components/statistics/ @ThomDietrich
/tests/components/statistics/ @ThomDietrich
/homeassistant/components/steam_online/ @tkdrob
/tests/components/steam_online/ @tkdrob
/homeassistant/components/steamist/ @bdraco
@@ -1116,6 +1148,8 @@ build.json @home-assistant/supervisor
/homeassistant/components/stiebel_eltron/ @fucm
/homeassistant/components/stookalert/ @fwestenberg @frenck
/tests/components/stookalert/ @fwestenberg @frenck
/homeassistant/components/stookwijzer/ @fwestenberg
/tests/components/stookwijzer/ @fwestenberg
/homeassistant/components/stream/ @hunterjm @uvjustin @allenporter
/tests/components/stream/ @hunterjm @uvjustin @allenporter
/homeassistant/components/stt/ @pvizeli
@@ -1177,6 +1211,8 @@ build.json @home-assistant/supervisor
/homeassistant/components/thermopro/ @bdraco
/tests/components/thermopro/ @bdraco
/homeassistant/components/thethingsnetwork/ @fabaff
/homeassistant/components/thread/ @home-assistant/core
/tests/components/thread/ @home-assistant/core
/homeassistant/components/threshold/ @fabaff
/tests/components/threshold/ @fabaff
/homeassistant/components/tibber/ @danielhiversen
@@ -1198,6 +1234,8 @@ build.json @home-assistant/supervisor
/tests/components/totalconnect/ @austinmroczek
/homeassistant/components/tplink/ @rytilahti @thegardenmonkey
/tests/components/tplink/ @rytilahti @thegardenmonkey
/homeassistant/components/tplink_omada/ @MarkGodwin
/tests/components/tplink_omada/ @MarkGodwin
/homeassistant/components/traccar/ @ludeeus
/tests/components/traccar/ @ludeeus
/homeassistant/components/trace/ @home-assistant/core
@@ -1293,14 +1331,14 @@ build.json @home-assistant/supervisor
/tests/components/weather/ @home-assistant/core
/homeassistant/components/webhook/ @home-assistant/core
/tests/components/webhook/ @home-assistant/core
/homeassistant/components/webostv/ @bendavid @thecode
/tests/components/webostv/ @bendavid @thecode
/homeassistant/components/webostv/ @thecode
/tests/components/webostv/ @thecode
/homeassistant/components/websocket_api/ @home-assistant/core
/tests/components/websocket_api/ @home-assistant/core
/homeassistant/components/wemo/ @esev
/tests/components/wemo/ @esev
/homeassistant/components/whirlpool/ @abmantis
/tests/components/whirlpool/ @abmantis
/homeassistant/components/whirlpool/ @abmantis @mkmer
/tests/components/whirlpool/ @abmantis @mkmer
/homeassistant/components/whois/ @frenck
/tests/components/whois/ @frenck
/homeassistant/components/wiffi/ @mampfes
@@ -1356,6 +1394,8 @@ build.json @home-assistant/supervisor
/tests/components/zeroconf/ @bdraco
/homeassistant/components/zerproc/ @emlove
/tests/components/zerproc/ @emlove
/homeassistant/components/zeversolar/ @kvanzuijlen
/tests/components/zeversolar/ @kvanzuijlen
/homeassistant/components/zha/ @dmulcahey @adminiuga @puddly
/tests/components/zha/ @dmulcahey @adminiuga @puddly
/homeassistant/components/zodiac/ @JulienTant
@@ -1365,8 +1405,8 @@ build.json @home-assistant/supervisor
/homeassistant/components/zoneminder/ @rohankapoorcom
/homeassistant/components/zwave_js/ @home-assistant/z-wave
/tests/components/zwave_js/ @home-assistant/z-wave
/homeassistant/components/zwave_me/ @lawfulchaos @Z-Wave-Me
/tests/components/zwave_me/ @lawfulchaos @Z-Wave-Me
/homeassistant/components/zwave_me/ @lawfulchaos @Z-Wave-Me @PoltoS
/tests/components/zwave_me/ @lawfulchaos @Z-Wave-Me @PoltoS
# Individual files
/homeassistant/components/demo/weather.py @fabaff

View File

@@ -5,28 +5,59 @@ FROM ${BUILD_FROM}
ENV \
S6_SERVICES_GRACETIME=220000
ARG QEMU_CPU
WORKDIR /usr/src
## Setup Home Assistant Core dependencies
COPY requirements.txt homeassistant/
COPY homeassistant/package_constraints.txt homeassistant/homeassistant/
RUN \
pip3 install --no-cache-dir --no-index --only-binary=:all: --find-links "${WHEELS_LINKS}" \
-r homeassistant/requirements.txt --use-deprecated=legacy-resolver
COPY requirements_all.txt home_assistant_frontend-* homeassistant/
pip3 install \
--no-cache-dir \
--no-index \
--only-binary=:all: \
--find-links "${WHEELS_LINKS}" \
--use-deprecated=legacy-resolver \
-r homeassistant/requirements.txt
COPY requirements_all.txt home_assistant_frontend-* home_assistant_intents-* homeassistant/
RUN \
if ls homeassistant/home_assistant_frontend*.whl 1> /dev/null 2>&1; then \
pip3 install --no-cache-dir --no-index homeassistant/home_assistant_frontend-*.whl; \
pip3 install \
--no-cache-dir \
--no-index \
homeassistant/home_assistant_frontend-*.whl; \
fi \
&& pip3 install --no-cache-dir --no-index --only-binary=:all: --find-links "${WHEELS_LINKS}" \
-r homeassistant/requirements_all.txt --use-deprecated=legacy-resolver
&& if ls homeassistant/home_assistant_intents*.whl 1> /dev/null 2>&1; then \
pip3 install \
--no-cache-dir \
--no-index \
homeassistant/home_assistant_intents-*.whl; \
fi \
&& \
LD_PRELOAD="/usr/local/lib/libjemalloc.so.2" \
MALLOC_CONF="background_thread:true,metadata_thp:auto,dirty_decay_ms:20000,muzzy_decay_ms:20000" \
pip3 install \
--no-cache-dir \
--no-index \
--only-binary=:all: \
--find-links "${WHEELS_LINKS}" \
--use-deprecated=legacy-resolver \
-r homeassistant/requirements_all.txt
## Setup Home Assistant Core
COPY . homeassistant/
RUN \
pip3 install --no-cache-dir --no-index --only-binary=:all: --find-links "${WHEELS_LINKS}" \
-e ./homeassistant --use-deprecated=legacy-resolver \
&& python3 -m compileall homeassistant/homeassistant
pip3 install \
--no-cache-dir \
--no-index \
--only-binary=:all: \
--find-links "${WHEELS_LINKS}" \
--use-deprecated=legacy-resolver \
-e ./homeassistant \
&& python3 -m compileall \
homeassistant/homeassistant
# Home Assistant S6-Overlay
COPY rootfs /

View File

@@ -1,4 +1,4 @@
FROM mcr.microsoft.com/vscode/devcontainers/python:0-3.9
FROM mcr.microsoft.com/vscode/devcontainers/python:0-3.10
SHELL ["/bin/bash", "-o", "pipefail", "-c"]

View File

@@ -1,11 +1,11 @@
image: homeassistant/{arch}-homeassistant
shadow_repository: ghcr.io/home-assistant
build_from:
aarch64: ghcr.io/home-assistant/aarch64-homeassistant-base:2022.11.0
armhf: ghcr.io/home-assistant/armhf-homeassistant-base:2022.11.0
armv7: ghcr.io/home-assistant/armv7-homeassistant-base:2022.11.0
amd64: ghcr.io/home-assistant/amd64-homeassistant-base:2022.11.0
i386: ghcr.io/home-assistant/i386-homeassistant-base:2022.11.0
aarch64: ghcr.io/home-assistant/aarch64-homeassistant-base:2023.02.0
armhf: ghcr.io/home-assistant/armhf-homeassistant-base:2023.02.0
armv7: ghcr.io/home-assistant/armv7-homeassistant-base:2023.02.0
amd64: ghcr.io/home-assistant/amd64-homeassistant-base:2023.02.0
i386: ghcr.io/home-assistant/i386-homeassistant-base:2023.02.0
codenotary:
signer: notary@home-assistant.io
base_image: notary@home-assistant.io

View File

@@ -6,19 +6,39 @@ coverage:
default:
target: 90
threshold: 0.09
config-flows:
required:
target: auto
threshold: 1
paths:
- homeassistant/components/*/config_flow.py
- homeassistant/components/*/device_action.py
- homeassistant/components/*/device_condition.py
- homeassistant/components/*/device_trigger.py
- homeassistant/components/*/diagnostics.py
- homeassistant/components/*/group.py
- homeassistant/components/*/intent.py
- homeassistant/components/*/logbook.py
- homeassistant/components/*/media_source.py
- homeassistant/components/*/recorder.py
- homeassistant/components/*/scene.py
patch:
default:
target: auto
config-flows:
required:
target: 100
threshold: 0
paths:
- homeassistant/components/*/config_flow.py
- homeassistant/components/*/device_action.py
- homeassistant/components/*/device_condition.py
- homeassistant/components/*/device_trigger.py
- homeassistant/components/*/diagnostics.py
- homeassistant/components/*/group.py
- homeassistant/components/*/intent.py
- homeassistant/components/*/logbook.py
- homeassistant/components/*/media_source.py
- homeassistant/components/*/recorder.py
- homeassistant/components/*/scene.py
comment: false
# To make partial tests possible,

View File

@@ -1,6 +1,4 @@
"""
Sphinx extension to add ReadTheDocs-style "Edit on GitHub" links to the
sidebar.
"""Sphinx extension for ReadTheDocs-style "Edit on GitHub" links on the sidebar.
Loosely based on https://github.com/astropy/astropy/pull/347
"""
@@ -12,6 +10,7 @@ __licence__ = "BSD (3 clause)"
def get_github_url(app, view, path):
"""Build the GitHub URL."""
return (
f"https://github.com/{app.config.edit_on_github_project}/"
f"{view}/{app.config.edit_on_github_branch}/"
@@ -20,6 +19,7 @@ def get_github_url(app, view, path):
def html_page_context(app, pagename, templatename, context, doctree):
"""Build the HTML page."""
if templatename != "page.html":
return
@@ -38,6 +38,7 @@ def html_page_context(app, pagename, templatename, context, doctree):
def setup(app):
"""Set up the app."""
app.add_config_value("edit_on_github_project", "", True)
app.add_config_value("edit_on_github_branch", "master", True)
app.add_config_value("edit_on_github_src_path", "", True) # 'eg' "docs/"

View File

@@ -1,21 +1,20 @@
#!/usr/bin/env python3
#
# Home-Assistant documentation build configuration file, created by
# sphinx-quickstart on Sun Aug 28 13:13:10 2016.
#
# This file is execfile()d with the current directory set to its
# containing dir.
#
# Note that not all possible configuration values are present in this
# autogenerated file.
#
# All configuration values have a default; values that are commented out
# serve to show the default.
"""Home Assistant documentation build configuration file.
This file is execfile()d with the current directory set to its
containing dir.
Note that not all possible configuration values are present in this
autogenerated file.
All configuration values have a default; values that are commented out
serve to show the default.
If extensions (or modules to document with autodoc) are in another directory,
add these directories to sys.path here. If the directory is relative to the
documentation root, use os.path.abspath to make it absolute, like shown here.
"""
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
#
import inspect
import os
import sys
@@ -25,7 +24,7 @@ from homeassistant.const import __short_version__, __version__
PROJECT_NAME = "Home Assistant"
PROJECT_PACKAGE_NAME = "homeassistant"
PROJECT_AUTHOR = "The Home Assistant Authors"
PROJECT_COPYRIGHT = f" 2013-2020, {PROJECT_AUTHOR}"
PROJECT_COPYRIGHT = PROJECT_AUTHOR
PROJECT_LONG_DESCRIPTION = (
"Home Assistant is an open-source "
"home automation platform running on Python 3. "
@@ -110,17 +109,17 @@ def linkcode_resolve(domain, info):
for part in fullname.split("."):
try:
obj = getattr(obj, part)
except:
except Exception: # pylint: disable=broad-except
return None
try:
fn = inspect.getsourcefile(obj)
except:
except Exception: # pylint: disable=broad-except
fn = None
if not fn:
return None
try:
source, lineno = inspect.findsource(obj)
except:
except Exception: # pylint: disable=broad-except
lineno = None
if lineno:
linespec = "#L%d" % (lineno + 1)

View File

@@ -15,7 +15,10 @@ FAULT_LOG_FILENAME = "home-assistant.log.fault"
def validate_os() -> None:
"""Validate that Home Assistant is running in a supported operating system."""
if not sys.platform.startswith(("darwin", "linux")):
print("Home Assistant only supports Linux, OSX and Windows using WSL")
print(
"Home Assistant only supports Linux, OSX and Windows using WSL",
file=sys.stderr,
)
sys.exit(1)
@@ -24,14 +27,15 @@ def validate_python() -> None:
if sys.version_info[:3] < REQUIRED_PYTHON_VER:
print(
"Home Assistant requires at least Python "
f"{REQUIRED_PYTHON_VER[0]}.{REQUIRED_PYTHON_VER[1]}.{REQUIRED_PYTHON_VER[2]}"
f"{REQUIRED_PYTHON_VER[0]}.{REQUIRED_PYTHON_VER[1]}.{REQUIRED_PYTHON_VER[2]}",
file=sys.stderr,
)
sys.exit(1)
def ensure_config_path(config_dir: str) -> None:
"""Validate the configuration directory."""
# pylint: disable=import-outside-toplevel
# pylint: disable-next=import-outside-toplevel
from . import config as config_util
lib_dir = os.path.join(config_dir, "deps")
@@ -39,18 +43,23 @@ def ensure_config_path(config_dir: str) -> None:
# Test if configuration directory exists
if not os.path.isdir(config_dir):
if config_dir != config_util.get_default_config_dir():
if os.path.exists(config_dir):
reason = "is not a directory"
else:
reason = "does not exist"
print(
f"Fatal Error: Specified configuration directory {config_dir} "
"does not exist"
f"Fatal Error: Specified configuration directory {config_dir} {reason}",
file=sys.stderr,
)
sys.exit(1)
try:
os.mkdir(config_dir)
except OSError:
except OSError as ex:
print(
"Fatal Error: Unable to create default configuration "
f"directory {config_dir}"
f"directory {config_dir}: {ex}",
file=sys.stderr,
)
sys.exit(1)
@@ -58,14 +67,17 @@ def ensure_config_path(config_dir: str) -> None:
if not os.path.isdir(lib_dir):
try:
os.mkdir(lib_dir)
except OSError:
print(f"Fatal Error: Unable to create library directory {lib_dir}")
except OSError as ex:
print(
f"Fatal Error: Unable to create library directory {lib_dir}: {ex}",
file=sys.stderr,
)
sys.exit(1)
def get_arguments() -> argparse.Namespace:
"""Get parsed passed in arguments."""
# pylint: disable=import-outside-toplevel
# pylint: disable-next=import-outside-toplevel
from . import config as config_util
parser = argparse.ArgumentParser(
@@ -172,7 +184,7 @@ def main() -> int:
validate_os()
if args.script is not None:
# pylint: disable=import-outside-toplevel
# pylint: disable-next=import-outside-toplevel
from . import scripts
return scripts.run(args.script)
@@ -180,7 +192,7 @@ def main() -> int:
config_dir = os.path.abspath(os.path.join(os.getcwd(), args.config))
ensure_config_path(config_dir)
# pylint: disable=import-outside-toplevel
# pylint: disable-next=import-outside-toplevel
from . import runner
runtime_conf = runner.RuntimeConfig(

View File

@@ -5,7 +5,7 @@ import asyncio
from collections import OrderedDict
from collections.abc import Mapping
from datetime import timedelta
from typing import Any, Optional, cast
from typing import Any, cast
import jwt
@@ -24,7 +24,7 @@ EVENT_USER_UPDATED = "user_updated"
EVENT_USER_REMOVED = "user_removed"
_MfaModuleDict = dict[str, MultiFactorAuthModule]
_ProviderKey = tuple[str, Optional[str]]
_ProviderKey = tuple[str, str | None]
_ProviderDict = dict[_ProviderKey, AuthProvider]

View File

@@ -555,7 +555,9 @@ class AuthStore:
"client_icon": refresh_token.client_icon,
"token_type": refresh_token.token_type,
"created_at": refresh_token.created_at.isoformat(),
"access_token_expiration": refresh_token.access_token_expiration.total_seconds(),
"access_token_expiration": (
refresh_token.access_token_expiration.total_seconds()
),
"token": refresh_token.token,
"jwt_key": refresh_token.jwt_key,
"last_used_at": refresh_token.last_used_at.isoformat()

View File

@@ -1,29 +1,28 @@
"""Common code for permissions."""
from collections.abc import Mapping
from typing import Union
# MyPy doesn't support recursion yet. So writing it out as far as we need.
ValueType = Union[
ValueType = (
# Example: entities.all = { read: true, control: true }
Mapping[str, bool],
bool,
None,
]
Mapping[str, bool]
| bool
| None
)
# Example: entities.domains = { light: … }
SubCategoryDict = Mapping[str, ValueType]
SubCategoryType = Union[SubCategoryDict, bool, None]
SubCategoryType = SubCategoryDict | bool | None
CategoryType = Union[
CategoryType = (
# Example: entities.domains
Mapping[str, SubCategoryType],
Mapping[str, SubCategoryType]
# Example: entities.all
Mapping[str, ValueType],
bool,
None,
]
| Mapping[str, ValueType]
| bool
| None
)
# Example: { entities: … }
PolicyType = Mapping[str, CategoryType]

View File

@@ -3,13 +3,13 @@ from __future__ import annotations
from collections.abc import Callable
from functools import wraps
from typing import Optional, cast
from typing import cast
from .const import SUBCAT_ALL
from .models import PermissionLookup
from .types import CategoryType, SubCategoryDict, ValueType
LookupFunc = Callable[[PermissionLookup, SubCategoryDict, str], Optional[ValueType]]
LookupFunc = Callable[[PermissionLookup, SubCategoryDict, str], ValueType | None]
SubCatLookupType = dict[str, LookupFunc]

View File

@@ -68,6 +68,7 @@ class CommandLineAuthProvider(AuthProvider):
*self.config[CONF_ARGS],
env=env,
stdout=asyncio.subprocess.PIPE if self.config[CONF_META] else None,
close_fds=False, # required for posix_spawn
)
stdout, _ = await process.communicate()
except OSError as err:

View File

@@ -1,5 +1,4 @@
"""
Support Legacy API password auth provider.
"""Support Legacy API password auth provider.
It will be removed when auth system production ready
"""
@@ -71,8 +70,7 @@ class LegacyApiPasswordAuthProvider(AuthProvider):
async def async_user_meta_for_credentials(
self, credentials: Credentials
) -> UserMeta:
"""
Return info for the user.
"""Return info for the user.
Will be used to populate info when creating a new user.
"""

View File

@@ -14,7 +14,7 @@ from ipaddress import (
ip_address,
ip_network,
)
from typing import Any, Union, cast
from typing import Any, cast
import voluptuous as vol
@@ -27,8 +27,8 @@ from . import AUTH_PROVIDER_SCHEMA, AUTH_PROVIDERS, AuthProvider, LoginFlow
from .. import InvalidAuthError
from ..models import Credentials, RefreshToken, UserMeta
IPAddress = Union[IPv4Address, IPv6Address]
IPNetwork = Union[IPv4Network, IPv6Network]
IPAddress = IPv4Address | IPv6Address
IPNetwork = IPv4Network | IPv6Network
CONF_TRUSTED_NETWORKS = "trusted_networks"
CONF_TRUSTED_USERS = "trusted_users"

View File

@@ -2,17 +2,15 @@
from __future__ import annotations
from enum import Enum
from typing import Any, TypeVar
from typing import Any
_StrEnumSelfT = TypeVar("_StrEnumSelfT", bound="StrEnum")
from typing_extensions import Self
class StrEnum(str, Enum):
"""Partial backport of Python 3.11's StrEnum for our basic use cases."""
def __new__(
cls: type[_StrEnumSelfT], value: str, *args: Any, **kwargs: Any
) -> _StrEnumSelfT:
def __new__(cls, value: str, *args: Any, **kwargs: Any) -> Self:
"""Create a new StrEnum instance."""
if not isinstance(value, str):
raise TypeError(f"{value!r} is not a string")
@@ -26,8 +24,7 @@ class StrEnum(str, Enum):
def _generate_next_value_(
name: str, start: int, count: int, last_values: list[Any]
) -> Any:
"""
Make `auto()` explicitly unsupported.
"""Make `auto()` explicitly unsupported.
We may revisit this when it's very clear that Python 3.11's
`StrEnum.auto()` behavior will no longer change.

View File

@@ -8,7 +8,9 @@ from .util.async_ import protect_loop
def enable() -> None:
"""Enable the detection of blocking calls in the event loop."""
# Prevent urllib3 and requests doing I/O in event loop
HTTPConnection.putrequest = protect_loop(HTTPConnection.putrequest) # type: ignore[assignment]
HTTPConnection.putrequest = protect_loop( # type: ignore[assignment]
HTTPConnection.putrequest
)
# Prevent sleeping in event loop. Non-strict since 2022.02
time.sleep = protect_loop(time.sleep, strict=False)

View File

@@ -27,6 +27,7 @@ from .exceptions import HomeAssistantError
from .helpers import (
area_registry,
device_registry,
entity,
entity_registry,
issue_registry,
recorder,
@@ -236,6 +237,7 @@ async def load_registries(hass: core.HomeAssistant) -> None:
platform.uname().processor # pylint: disable=expression-not-assigned
# Load the registries and cache the result of platform.uname().processor
entity.async_setup(hass)
await asyncio.gather(
area_registry.async_load(hass),
device_registry.async_load(hass),
@@ -346,7 +348,7 @@ def async_enable_logging(
if not log_no_color:
try:
# pylint: disable=import-outside-toplevel
# pylint: disable-next=import-outside-toplevel
from colorlog import ColoredFormatter
# basicConfig must be called after importing colorlog in order to
@@ -385,7 +387,11 @@ def async_enable_logging(
)
threading.excepthook = lambda args: logging.getLogger(None).exception(
"Uncaught thread exception",
exc_info=(args.exc_type, args.exc_value, args.exc_traceback), # type: ignore[arg-type]
exc_info=( # type: ignore[arg-type]
args.exc_type,
args.exc_value,
args.exc_traceback,
),
)
# Log errors to a file if we have write access to file or config dir
@@ -402,8 +408,10 @@ def async_enable_logging(
if (err_path_exists and os.access(err_log_path, os.W_OK)) or (
not err_path_exists and os.access(err_dir, os.W_OK)
):
err_handler: logging.handlers.RotatingFileHandler | logging.handlers.TimedRotatingFileHandler
err_handler: (
logging.handlers.RotatingFileHandler
| logging.handlers.TimedRotatingFileHandler
)
if log_rotate_days:
err_handler = logging.handlers.TimedRotatingFileHandler(
err_log_path, when="midnight", backupCount=log_rotate_days
@@ -462,7 +470,10 @@ def _get_domains(hass: core.HomeAssistant, config: dict[str, Any]) -> set[str]:
async def _async_watch_pending_setups(hass: core.HomeAssistant) -> None:
"""Periodic log of setups that are pending for longer than LOG_SLOW_STARTUP_INTERVAL."""
"""Periodic log of setups that are pending.
Pending for longer than LOG_SLOW_STARTUP_INTERVAL.
"""
loop_count = 0
setup_started: dict[str, datetime] = hass.data[DATA_SETUP_STARTED]
previous_was_empty = True

View File

@@ -1,5 +1,5 @@
{
"domain": "amazon",
"name": "Amazon",
"integrations": ["alexa", "amazon_polly", "aws", "route53"]
"integrations": ["alexa", "amazon_polly", "aws", "fire_tv", "route53"]
}

View File

@@ -0,0 +1,6 @@
{
"domain": "eufy",
"name": "eufy",
"integrations": ["eufy", "eufylife_ble"],
"iot_standards": []
}

View File

@@ -6,6 +6,7 @@
"google_assistant_sdk",
"google_cloud",
"google_domains",
"google_mail",
"google_maps",
"google_pubsub",
"google_sheets",

View File

@@ -0,0 +1,6 @@
{
"domain": "tplink",
"name": "TP-Link",
"integrations": ["tplink", "tplink_omada", "tplink_lte"],
"iot_standards": ["matter"]
}

View File

@@ -1,5 +1,4 @@
"""
This package contains components that can be plugged into Home Assistant.
"""This package contains components that can be plugged into Home Assistant.
Component design guidelines:
- Each component defines a constant DOMAIN that is equal to its filename.

View File

@@ -3,10 +3,14 @@ from __future__ import annotations
from functools import partial
from abodepy import Abode, AbodeAutomation as AbodeAuto
from abodepy.devices import AbodeDevice as AbodeDev
from abodepy.exceptions import AbodeAuthenticationException, AbodeException
import abodepy.helpers.timeline as TIMELINE
from jaraco.abode.automation import Automation as AbodeAuto
from jaraco.abode.client import Client as Abode
from jaraco.abode.devices.base import Device as AbodeDev
from jaraco.abode.exceptions import (
AuthenticationException as AbodeAuthenticationException,
Exception as AbodeException,
)
from jaraco.abode.helpers.timeline import Groups as GROUPS
from requests.exceptions import ConnectTimeout, HTTPError
import voluptuous as vol
@@ -26,7 +30,7 @@ from homeassistant.exceptions import ConfigEntryAuthFailed, ConfigEntryNotReady
from homeassistant.helpers import config_validation as cv, entity
from homeassistant.helpers.dispatcher import dispatcher_send
from .const import ATTRIBUTION, CONF_POLLING, DEFAULT_CACHEDB, DOMAIN, LOGGER
from .const import ATTRIBUTION, CONF_POLLING, DOMAIN, LOGGER
SERVICE_SETTINGS = "change_setting"
SERVICE_CAPTURE_IMAGE = "capture_image"
@@ -82,7 +86,6 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
username = entry.data[CONF_USERNAME]
password = entry.data[CONF_PASSWORD]
polling = entry.data[CONF_POLLING]
cache = hass.config.path(DEFAULT_CACHEDB)
# For previous config entries where unique_id is None
if entry.unique_id is None:
@@ -92,7 +95,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
try:
abode = await hass.async_add_executor_job(
Abode, username, password, True, True, True, cache
Abode, username, password, True, True, True
)
except AbodeAuthenticationException as ex:
@@ -225,17 +228,17 @@ def setup_abode_events(hass: HomeAssistant) -> None:
hass.bus.fire(event, data)
events = [
TIMELINE.ALARM_GROUP,
TIMELINE.ALARM_END_GROUP,
TIMELINE.PANEL_FAULT_GROUP,
TIMELINE.PANEL_RESTORE_GROUP,
TIMELINE.AUTOMATION_GROUP,
TIMELINE.DISARM_GROUP,
TIMELINE.ARM_GROUP,
TIMELINE.ARM_FAULT_GROUP,
TIMELINE.TEST_GROUP,
TIMELINE.CAPTURE_GROUP,
TIMELINE.DEVICE_GROUP,
GROUPS.ALARM,
GROUPS.ALARM_END,
GROUPS.PANEL_FAULT,
GROUPS.PANEL_RESTORE,
GROUPS.AUTOMATION,
GROUPS.DISARM,
GROUPS.ARM,
GROUPS.ARM_FAULT,
GROUPS.TEST,
GROUPS.CAPTURE,
GROUPS.DEVICE,
]
for event in events:

View File

@@ -1,7 +1,7 @@
"""Support for Abode Security System alarm control panels."""
from __future__ import annotations
from abodepy.devices.alarm import AbodeAlarm as AbodeAl
from jaraco.abode.devices.alarm import Alarm as AbodeAl
import homeassistant.components.alarm_control_panel as alarm
from homeassistant.components.alarm_control_panel import AlarmControlPanelEntityFeature

View File

@@ -1,11 +1,10 @@
"""Support for Abode Security System binary sensors."""
from __future__ import annotations
from contextlib import suppress
from typing import cast
from abodepy.devices.binary_sensor import AbodeBinarySensor as ABBinarySensor
import abodepy.helpers.constants as CONST
from jaraco.abode.devices.sensor import BinarySensor as ABBinarySensor
from jaraco.abode.helpers import constants as CONST
from homeassistant.components.binary_sensor import (
BinarySensorDeviceClass,
@@ -14,6 +13,7 @@ from homeassistant.components.binary_sensor import (
from homeassistant.config_entries import ConfigEntry
from homeassistant.core import HomeAssistant
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.util.enum import try_parse_enum
from . import AbodeDevice, AbodeSystem
from .const import DOMAIN
@@ -54,6 +54,4 @@ class AbodeBinarySensor(AbodeDevice, BinarySensorEntity):
"""Return the class of the binary sensor."""
if self._device.get_value("is_window") == "1":
return BinarySensorDeviceClass.WINDOW
with suppress(ValueError):
return BinarySensorDeviceClass(cast(str, self._device.generic_type))
return None
return try_parse_enum(BinarySensorDeviceClass, self._device.generic_type)

View File

@@ -4,9 +4,9 @@ from __future__ import annotations
from datetime import timedelta
from typing import Any, cast
from abodepy.devices import CONST, AbodeDevice as AbodeDev
from abodepy.devices.camera import AbodeCamera as AbodeCam
import abodepy.helpers.timeline as TIMELINE
from jaraco.abode.devices.base import Device as AbodeDev
from jaraco.abode.devices.camera import Camera as AbodeCam
from jaraco.abode.helpers import constants as CONST, timeline as TIMELINE
import requests
from requests.models import Response
@@ -30,7 +30,7 @@ async def async_setup_entry(
data: AbodeSystem = hass.data[DOMAIN]
async_add_entities(
AbodeCamera(data, device, TIMELINE.CAPTURE_IMAGE)
AbodeCamera(data, device, TIMELINE.CAPTURE_IMAGE) # pylint: disable=no-member
for device in data.abode.get_devices(generic_type=CONST.TYPE_CAMERA)
)

View File

@@ -5,9 +5,12 @@ from collections.abc import Mapping
from http import HTTPStatus
from typing import Any, cast
from abodepy import Abode
from abodepy.exceptions import AbodeAuthenticationException, AbodeException
from abodepy.helpers.errors import MFA_CODE_REQUIRED
from jaraco.abode.client import Client as Abode
from jaraco.abode.exceptions import (
AuthenticationException as AbodeAuthenticationException,
Exception as AbodeException,
)
from jaraco.abode.helpers.errors import MFA_CODE_REQUIRED
from requests.exceptions import ConnectTimeout, HTTPError
import voluptuous as vol
@@ -15,7 +18,7 @@ from homeassistant import config_entries
from homeassistant.const import CONF_PASSWORD, CONF_USERNAME
from homeassistant.data_entry_flow import FlowResult
from .const import CONF_POLLING, DEFAULT_CACHEDB, DOMAIN, LOGGER
from .const import CONF_POLLING, DOMAIN, LOGGER
CONF_MFA = "mfa_code"
@@ -35,7 +38,6 @@ class AbodeFlowHandler(config_entries.ConfigFlow, domain=DOMAIN):
vol.Required(CONF_MFA): str,
}
self._cache: str | None = None
self._mfa_code: str | None = None
self._password: str | None = None
self._polling: bool = False
@@ -43,12 +45,11 @@ class AbodeFlowHandler(config_entries.ConfigFlow, domain=DOMAIN):
async def _async_abode_login(self, step_id: str) -> FlowResult:
"""Handle login with Abode."""
self._cache = self.hass.config.path(DEFAULT_CACHEDB)
errors = {}
try:
await self.hass.async_add_executor_job(
Abode, self._username, self._password, True, False, False, self._cache
Abode, self._username, self._password, True, False, False
)
except AbodeException as ex:
@@ -77,12 +78,7 @@ class AbodeFlowHandler(config_entries.ConfigFlow, domain=DOMAIN):
"""Handle multi-factor authentication (MFA) login with Abode."""
try:
# Create instance to access login method for passing MFA code
abode = Abode(
auto_login=False,
get_devices=False,
get_automations=False,
cache_path=self._cache,
)
abode = Abode(auto_login=False, get_devices=False, get_automations=False)
await self.hass.async_add_executor_job(
abode.login, self._username, self._password, self._mfa_code
)

View File

@@ -6,5 +6,4 @@ LOGGER = logging.getLogger(__package__)
DOMAIN = "abode"
ATTRIBUTION = "Data provided by goabode.com"
DEFAULT_CACHEDB = "abodepy_cache.pickle"
CONF_POLLING = "polling"

View File

@@ -1,8 +1,8 @@
"""Support for Abode Security System covers."""
from typing import Any
from abodepy.devices.cover import AbodeCover as AbodeCV
import abodepy.helpers.constants as CONST
from jaraco.abode.devices.cover import Cover as AbodeCV
from jaraco.abode.helpers import constants as CONST
from homeassistant.components.cover import CoverEntity
from homeassistant.config_entries import ConfigEntry

View File

@@ -4,8 +4,8 @@ from __future__ import annotations
from math import ceil
from typing import Any
from abodepy.devices.light import AbodeLight as AbodeLT
import abodepy.helpers.constants as CONST
from jaraco.abode.devices.light import Light as AbodeLT
from jaraco.abode.helpers import constants as CONST
from homeassistant.components.light import (
ATTR_BRIGHTNESS,

View File

@@ -1,8 +1,8 @@
"""Support for the Abode Security System locks."""
from typing import Any
from abodepy.devices.lock import AbodeLock as AbodeLK
import abodepy.helpers.constants as CONST
from jaraco.abode.devices.lock import Lock as AbodeLK
from jaraco.abode.helpers import constants as CONST
from homeassistant.components.lock import LockEntity
from homeassistant.config_entries import ConfigEntry

View File

@@ -1,13 +1,13 @@
{
"domain": "abode",
"name": "Abode",
"codeowners": ["@shred86"],
"config_flow": true,
"documentation": "https://www.home-assistant.io/integrations/abode",
"requirements": ["abodepy==1.2.0"],
"codeowners": ["@shred86"],
"homekit": {
"models": ["Abode", "Iota"]
},
"iot_class": "cloud_push",
"loggers": ["abodepy", "lomond"]
"loggers": ["jaraco.abode", "lomond"],
"requirements": ["jaraco.abode==3.3.0"]
}

View File

@@ -3,7 +3,8 @@ from __future__ import annotations
from typing import cast
from abodepy.devices.sensor import CONST, AbodeSensor as AbodeSense
from jaraco.abode.devices.sensor import Sensor as AbodeSense
from jaraco.abode.helpers import constants as CONST
from homeassistant.components.sensor import (
SensorDeviceClass,

View File

@@ -3,7 +3,8 @@ from __future__ import annotations
from typing import Any, cast
from abodepy.devices.switch import CONST, AbodeSwitch as AbodeSW
from jaraco.abode.devices.switch import Switch as AbodeSW
from jaraco.abode.helpers import constants as CONST
from homeassistant.components.switch import SwitchEntity
from homeassistant.config_entries import ConfigEntry

View File

@@ -1,26 +0,0 @@
{
"config": {
"abort": {
"reauth_successful": "\u041f\u043e\u0432\u0442\u043e\u0440\u043d\u0430\u0442\u0430 \u0430\u0432\u0442\u0435\u043d\u0442\u0438\u043a\u0430\u0446\u0438\u044f \u0431\u0435\u0448\u0435 \u0443\u0441\u043f\u0435\u0448\u043d\u0430",
"single_instance_allowed": "\u0420\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0430 \u0435 \u0441\u0430\u043c\u043e \u0435\u0434\u043d\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u043d\u0430 Abode."
},
"error": {
"cannot_connect": "\u041d\u0435\u0443\u0441\u043f\u0435\u0445 \u043f\u0440\u0438 \u0441\u0432\u044a\u0440\u0437\u0432\u0430\u043d\u0435"
},
"step": {
"reauth_confirm": {
"data": {
"password": "\u041f\u0430\u0440\u043e\u043b\u0430",
"username": "\u0418\u043c\u0435\u0439\u043b"
}
},
"user": {
"data": {
"password": "\u041f\u0430\u0440\u043e\u043b\u0430",
"username": "\u0418\u043c\u0435\u0439\u043b"
},
"title": "\u041f\u043e\u043f\u044a\u043b\u043d\u0435\u0442\u0435 \u0412\u0430\u0448\u0430\u0442\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u0437\u0430 \u0432\u0445\u043e\u0434 \u0432 Abode"
}
}
}
}

View File

@@ -1,35 +0,0 @@
{
"config": {
"abort": {
"reauth_successful": "Re-autenticaci\u00f3 realitzada correctament",
"single_instance_allowed": "Ja configurat. Nom\u00e9s \u00e9s possible una sola configuraci\u00f3."
},
"error": {
"cannot_connect": "Ha fallat la connexi\u00f3",
"invalid_auth": "Autenticaci\u00f3 inv\u00e0lida",
"invalid_mfa_code": "Codi MFA inv\u00e0lid"
},
"step": {
"mfa": {
"data": {
"mfa_code": "Codi MFA (6 d\u00edgits)"
},
"title": "Introdueix el codi MFA per a Abode"
},
"reauth_confirm": {
"data": {
"password": "Contrasenya",
"username": "Correu electr\u00f2nic"
},
"title": "Introdueix la informaci\u00f3 d'inici de sessi\u00f3 d'Abode."
},
"user": {
"data": {
"password": "Contrasenya",
"username": "Correu electr\u00f2nic"
},
"title": "Introducci\u00f3 de la informaci\u00f3 d'inici de sessi\u00f3 a Abode."
}
}
}
}

View File

@@ -1,35 +0,0 @@
{
"config": {
"abort": {
"reauth_successful": "Op\u011btovn\u00e9 ov\u011b\u0159en\u00ed bylo \u00fasp\u011b\u0161n\u00e9",
"single_instance_allowed": "Ji\u017e nastaveno. Je mo\u017en\u00e1 pouze jedin\u00e1 konfigurace."
},
"error": {
"cannot_connect": "Nepoda\u0159ilo se p\u0159ipojit",
"invalid_auth": "Neplatn\u00e9 ov\u011b\u0159en\u00ed",
"invalid_mfa_code": "Neplatn\u00fd k\u00f3d MFA"
},
"step": {
"mfa": {
"data": {
"mfa_code": "K\u00f3d MFA (6 \u010d\u00edslic)"
},
"title": "Zadejte k\u00f3d MFA pro Abode"
},
"reauth_confirm": {
"data": {
"password": "Heslo",
"username": "E-mail"
},
"title": "Vypl\u0148te sv\u00e9 p\u0159ihla\u0161ovac\u00ed \u00fadaje do Abode"
},
"user": {
"data": {
"password": "Heslo",
"username": "E-mail"
},
"title": "Vypl\u0148te p\u0159ihla\u0161ovac\u00ed \u00fadaje Abode"
}
}
}
}

View File

@@ -1,16 +0,0 @@
{
"config": {
"abort": {
"single_instance_allowed": "Det er kun n\u00f8dvendigt med en ops\u00e6tning af Abode."
},
"step": {
"user": {
"data": {
"password": "Adgangskode",
"username": "Email-adresse"
},
"title": "Udfyld dine Abode-loginoplysninger"
}
}
}
}

View File

@@ -1,35 +0,0 @@
{
"config": {
"abort": {
"reauth_successful": "Die erneute Authentifizierung war erfolgreich",
"single_instance_allowed": "Bereits konfiguriert. Nur eine einzige Konfiguration m\u00f6glich."
},
"error": {
"cannot_connect": "Verbindung fehlgeschlagen",
"invalid_auth": "Ung\u00fcltige Authentifizierung",
"invalid_mfa_code": "Ung\u00fcltiger MFA-Code"
},
"step": {
"mfa": {
"data": {
"mfa_code": "MFA-Code (6-stellig)"
},
"title": "Gib deinen MFA-Code f\u00fcr Abode ein"
},
"reauth_confirm": {
"data": {
"password": "Passwort",
"username": "E-Mail"
},
"title": "Gib deine Abode-Anmeldeinformationen ein"
},
"user": {
"data": {
"password": "Passwort",
"username": "E-Mail"
},
"title": "Gib deine Abode Anmeldeinformationen ein"
}
}
}
}

View File

@@ -1,35 +0,0 @@
{
"config": {
"abort": {
"reauth_successful": "\u039f \u03b5\u03ba \u03bd\u03ad\u03bf\u03c5 \u03ad\u03bb\u03b5\u03b3\u03c7\u03bf\u03c2 \u03c4\u03b1\u03c5\u03c4\u03cc\u03c4\u03b7\u03c4\u03b1\u03c2 \u03ae\u03c4\u03b1\u03bd \u03b5\u03c0\u03b9\u03c4\u03c5\u03c7\u03ae\u03c2",
"single_instance_allowed": "\u0388\u03c7\u03b5\u03b9 \u03ae\u03b4\u03b7 \u03c1\u03c5\u03b8\u03bc\u03b9\u03c3\u03c4\u03b5\u03af. \u039c\u03cc\u03bd\u03bf \u03bc\u03af\u03b1 \u03b4\u03b9\u03b1\u03bc\u03cc\u03c1\u03c6\u03c9\u03c3\u03b7 \u03b5\u03af\u03bd\u03b1\u03b9 \u03b4\u03c5\u03bd\u03b1\u03c4\u03ae."
},
"error": {
"cannot_connect": "\u0391\u03c0\u03bf\u03c4\u03c5\u03c7\u03af\u03b1 \u03c3\u03cd\u03bd\u03b4\u03b5\u03c3\u03b7\u03c2",
"invalid_auth": "\u039c\u03b7 \u03ad\u03b3\u03ba\u03c5\u03c1\u03b7 \u03b1\u03c5\u03b8\u03b5\u03bd\u03c4\u03b9\u03ba\u03bf\u03c0\u03bf\u03af\u03b7\u03c3\u03b7",
"invalid_mfa_code": "\u039c\u03b7 \u03ad\u03b3\u03ba\u03c5\u03c1\u03bf\u03c2 \u03ba\u03c9\u03b4\u03b9\u03ba\u03cc\u03c2 MFA"
},
"step": {
"mfa": {
"data": {
"mfa_code": "\u039a\u03c9\u03b4\u03b9\u03ba\u03cc\u03c2 MFA (6 \u03c8\u03b7\u03c6\u03af\u03b1)"
},
"title": "\u0395\u03b9\u03c3\u03b1\u03b3\u03ac\u03b3\u03b5\u03c4\u03b5 \u03c4\u03bf\u03bd \u03ba\u03c9\u03b4\u03b9\u03ba\u03cc MFA \u03b3\u03b9\u03b1 \u03c4\u03bf Abode"
},
"reauth_confirm": {
"data": {
"password": "\u039a\u03c9\u03b4\u03b9\u03ba\u03cc\u03c2 \u03c0\u03c1\u03cc\u03c3\u03b2\u03b1\u03c3\u03b7\u03c2",
"username": "Email"
},
"title": "\u03a3\u03c5\u03bc\u03c0\u03bb\u03b7\u03c1\u03ce\u03c3\u03c4\u03b5 \u03c4\u03b1 \u03c3\u03c4\u03bf\u03b9\u03c7\u03b5\u03af\u03b1 \u03c3\u03cd\u03bd\u03b4\u03b5\u03c3\u03ae\u03c2 \u03c3\u03b1\u03c2 \u03c3\u03c4\u03bf Abode"
},
"user": {
"data": {
"password": "\u039a\u03c9\u03b4\u03b9\u03ba\u03cc\u03c2 \u03c0\u03c1\u03cc\u03c3\u03b2\u03b1\u03c3\u03b7\u03c2",
"username": "Email"
},
"title": "\u03a3\u03c5\u03bc\u03c0\u03bb\u03b7\u03c1\u03ce\u03c3\u03c4\u03b5 \u03c4\u03b1 \u03c3\u03c4\u03bf\u03b9\u03c7\u03b5\u03af\u03b1 \u03c3\u03cd\u03bd\u03b4\u03b5\u03c3\u03ae\u03c2 \u03c3\u03b1\u03c2 \u03c3\u03c4\u03bf Abode"
}
}
}
}

View File

@@ -1,35 +0,0 @@
{
"config": {
"abort": {
"reauth_successful": "Re-authentication was successful",
"single_instance_allowed": "Already configured. Only a single configuration possible."
},
"error": {
"cannot_connect": "Failed to connect",
"invalid_auth": "Invalid authentication",
"invalid_mfa_code": "Invalid MFA code"
},
"step": {
"mfa": {
"data": {
"mfa_code": "MFA code (6-digits)"
},
"title": "Enter your MFA code for Abode"
},
"reauth_confirm": {
"data": {
"password": "Password",
"username": "Email"
},
"title": "Fill in your Abode login information"
},
"user": {
"data": {
"password": "Password",
"username": "Email"
},
"title": "Fill in your Abode login information"
}
}
}
}

View File

@@ -1,35 +0,0 @@
{
"config": {
"abort": {
"reauth_successful": "La reautenticaci\u00f3n fue exitosa",
"single_instance_allowed": "Solo se permite una \u00fanica configuraci\u00f3n de Abode."
},
"error": {
"cannot_connect": "No se pudo conectar",
"invalid_auth": "Autenticaci\u00f3n inv\u00e1lida",
"invalid_mfa_code": "C\u00f3digo MFA no v\u00e1lido"
},
"step": {
"mfa": {
"data": {
"mfa_code": "C\u00f3digo MFA (6 d\u00edgitos)"
},
"title": "Ingrese su c\u00f3digo MFA para Abode"
},
"reauth_confirm": {
"data": {
"password": "Contrase\u00f1a",
"username": "Correo electr\u00f3nico"
},
"title": "Complete su informaci\u00f3n de inicio de sesi\u00f3n de Abode"
},
"user": {
"data": {
"password": "Contrase\u00f1a",
"username": "Direcci\u00f3n de correo electr\u00f3nico"
},
"title": "Complete su informaci\u00f3n de inicio de sesi\u00f3n de Abode"
}
}
}
}

View File

@@ -1,35 +0,0 @@
{
"config": {
"abort": {
"reauth_successful": "La autenticaci\u00f3n se volvi\u00f3 a realizar correctamente",
"single_instance_allowed": "Ya est\u00e1 configurado. Solo es posible una \u00fanica configuraci\u00f3n."
},
"error": {
"cannot_connect": "No se pudo conectar",
"invalid_auth": "Autenticaci\u00f3n no v\u00e1lida",
"invalid_mfa_code": "C\u00f3digo MFA no v\u00e1lido"
},
"step": {
"mfa": {
"data": {
"mfa_code": "C\u00f3digo MFA (6 d\u00edgitos)"
},
"title": "Introduce tu c\u00f3digo MFA para Abode"
},
"reauth_confirm": {
"data": {
"password": "Contrase\u00f1a",
"username": "Correo electr\u00f3nico"
},
"title": "Completa tu informaci\u00f3n de inicio de sesi\u00f3n de Abode"
},
"user": {
"data": {
"password": "Contrase\u00f1a",
"username": "Correo electr\u00f3nico"
},
"title": "Completa tu informaci\u00f3n de inicio de sesi\u00f3n de Abode"
}
}
}
}

View File

@@ -1,35 +0,0 @@
{
"config": {
"abort": {
"reauth_successful": "Taastuvastamine \u00f5nnestus",
"single_instance_allowed": "Juba seadistatud. V\u00f5imalik on ainult \u00fcks seadistamine."
},
"error": {
"cannot_connect": "\u00dchendamine nurjus",
"invalid_auth": "Tuvastamise viga",
"invalid_mfa_code": "Kehtetu MFA-kood"
},
"step": {
"mfa": {
"data": {
"mfa_code": "MFA kood (6-kohaline)"
},
"title": "Sisesta oma Abode MFA kood"
},
"reauth_confirm": {
"data": {
"password": "Salas\u00f5na",
"username": "E-post"
},
"title": "Sisesta oma Abode sisselogimisteave"
},
"user": {
"data": {
"password": "Salas\u00f5na",
"username": "E-post"
},
"title": "Sisesta oma Abode sisselogimisteave"
}
}
}
}

View File

@@ -1,12 +0,0 @@
{
"config": {
"step": {
"user": {
"data": {
"password": "\u06a9\u0644\u0645\u0647 \u0639\u0628\u0648\u0631",
"username": "\u0627\u06cc\u0645\u06cc\u0644"
}
}
}
}
}

View File

@@ -1,35 +0,0 @@
{
"config": {
"abort": {
"reauth_successful": "La r\u00e9-authentification a r\u00e9ussi",
"single_instance_allowed": "D\u00e9j\u00e0 configur\u00e9. Une seule configuration possible."
},
"error": {
"cannot_connect": "\u00c9chec de connexion",
"invalid_auth": "Authentification non valide",
"invalid_mfa_code": "Code MFA non valide"
},
"step": {
"mfa": {
"data": {
"mfa_code": "Code MFA (6 chiffres)"
},
"title": "Entrez votre code MFA pour Abode"
},
"reauth_confirm": {
"data": {
"password": "Mot de passe",
"username": "Courriel"
},
"title": "Remplissez vos informations de connexion Abode"
},
"user": {
"data": {
"password": "Mot de passe",
"username": "Courriel"
},
"title": "Remplissez vos informations de connexion Abode"
}
}
}
}

View File

@@ -1,27 +0,0 @@
{
"config": {
"abort": {
"reauth_successful": "\u05d4\u05d0\u05d9\u05de\u05d5\u05ea \u05de\u05d7\u05d3\u05e9 \u05d4\u05e6\u05dc\u05d9\u05d7",
"single_instance_allowed": "\u05ea\u05e6\u05d5\u05e8\u05ea\u05d5 \u05db\u05d1\u05e8 \u05e0\u05e7\u05d1\u05e2\u05d4. \u05e8\u05e7 \u05ea\u05e6\u05d5\u05e8\u05d4 \u05d0\u05d7\u05ea \u05d0\u05e4\u05e9\u05e8\u05d9\u05ea."
},
"error": {
"cannot_connect": "\u05d4\u05d4\u05ea\u05d7\u05d1\u05e8\u05d5\u05ea \u05e0\u05db\u05e9\u05dc\u05d4",
"invalid_auth": "\u05d0\u05d9\u05de\u05d5\u05ea \u05dc\u05d0 \u05d7\u05d5\u05e7\u05d9"
},
"step": {
"reauth_confirm": {
"data": {
"password": "\u05e1\u05d9\u05e1\u05de\u05d4",
"username": "\u05d3\u05d5\u05d0\"\u05dc"
}
},
"user": {
"data": {
"password": "\u05e1\u05d9\u05e1\u05de\u05d4",
"username": "\u05d3\u05d5\u05d0\"\u05dc"
},
"title": "\u05d9\u05e9 \u05dc\u05de\u05dc\u05d0 \u05d0\u05ea \u05e4\u05e8\u05d8\u05d9 \u05d4\u05db\u05e0\u05d9\u05e1\u05d4 \u05e9\u05dc\u05da \u05dc\u05d0\u05d3\u05d5\u05d1\u05d9"
}
}
}
}

View File

@@ -1,35 +0,0 @@
{
"config": {
"abort": {
"reauth_successful": "Az \u00fajrahiteles\u00edt\u00e9s sikeres volt.",
"single_instance_allowed": "M\u00e1r konfigur\u00e1lva van. Csak egy konfigur\u00e1ci\u00f3 lehets\u00e9ges."
},
"error": {
"cannot_connect": "Sikertelen csatlakoz\u00e1s",
"invalid_auth": "\u00c9rv\u00e9nytelen hiteles\u00edt\u00e9s",
"invalid_mfa_code": "\u00c9rv\u00e9nytelen MFA k\u00f3d"
},
"step": {
"mfa": {
"data": {
"mfa_code": "MFA k\u00f3d (6 jegy\u0171)"
},
"title": "Add meg az Abode MFA k\u00f3dj\u00e1t"
},
"reauth_confirm": {
"data": {
"password": "Jelsz\u00f3",
"username": "E-mail"
},
"title": "T\u00f6ltse ki az Abode bejelentkez\u00e9si adatait"
},
"user": {
"data": {
"password": "Jelsz\u00f3",
"username": "E-mail"
},
"title": "T\u00f6ltse ki az Abode bejelentkez\u00e9si adatait"
}
}
}
}

View File

@@ -1,35 +0,0 @@
{
"config": {
"abort": {
"reauth_successful": "Autentikasi ulang berhasil",
"single_instance_allowed": "Sudah dikonfigurasi. Hanya satu konfigurasi yang diizinkan."
},
"error": {
"cannot_connect": "Gagal terhubung",
"invalid_auth": "Autentikasi tidak valid",
"invalid_mfa_code": "Kode MFA tidak valid"
},
"step": {
"mfa": {
"data": {
"mfa_code": "Kode MFA (6 digit)"
},
"title": "Masukkan kode MFA Anda untuk Abode"
},
"reauth_confirm": {
"data": {
"password": "Kata Sandi",
"username": "Email"
},
"title": "Masukkan informasi masuk Abode Anda"
},
"user": {
"data": {
"password": "Kata Sandi",
"username": "Email"
},
"title": "Masukkan informasi masuk Abode Anda"
}
}
}
}

View File

@@ -1,35 +0,0 @@
{
"config": {
"abort": {
"reauth_successful": "La nuova autenticazione \u00e8 stata eseguita correttamente",
"single_instance_allowed": "Gi\u00e0 configurato. \u00c8 possibile una sola configurazione."
},
"error": {
"cannot_connect": "Impossibile connettersi",
"invalid_auth": "Autenticazione non valida",
"invalid_mfa_code": "Codice MFA non valido"
},
"step": {
"mfa": {
"data": {
"mfa_code": "Codice MFA (6 cifre)"
},
"title": "Inserisci il tuo codice MFA per Abode"
},
"reauth_confirm": {
"data": {
"password": "Password",
"username": "Email"
},
"title": "Inserisci le tue informazioni di accesso Abode"
},
"user": {
"data": {
"password": "Password",
"username": "Email"
},
"title": "Inserisci le tue informazioni di accesso Abode"
}
}
}
}

View File

@@ -1,35 +0,0 @@
{
"config": {
"abort": {
"reauth_successful": "\u518d\u8a8d\u8a3c\u306b\u6210\u529f\u3057\u307e\u3057\u305f",
"single_instance_allowed": "\u3059\u3067\u306b\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u8a2d\u5b9a\u3067\u304d\u308b\u306e\u306f1\u3064\u3060\u3051\u3067\u3059\u3002"
},
"error": {
"cannot_connect": "\u63a5\u7d9a\u306b\u5931\u6557\u3057\u307e\u3057\u305f",
"invalid_auth": "\u7121\u52b9\u306a\u8a8d\u8a3c",
"invalid_mfa_code": "\u7121\u52b9\u306aMFA\u30b3\u30fc\u30c9"
},
"step": {
"mfa": {
"data": {
"mfa_code": "MFA\u30b3\u30fc\u30c9(6\u6841)"
},
"title": "Abode\u306eMFA\u30b3\u30fc\u30c9\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044"
},
"reauth_confirm": {
"data": {
"password": "\u30d1\u30b9\u30ef\u30fc\u30c9",
"username": "E\u30e1\u30fc\u30eb"
},
"title": "Abode\u306e\u30ed\u30b0\u30a4\u30f3\u60c5\u5831\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044"
},
"user": {
"data": {
"password": "\u30d1\u30b9\u30ef\u30fc\u30c9",
"username": "E\u30e1\u30fc\u30eb"
},
"title": "Abode\u306e\u30ed\u30b0\u30a4\u30f3\u60c5\u5831\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044"
}
}
}
}

View File

@@ -1,35 +0,0 @@
{
"config": {
"abort": {
"reauth_successful": "\uc7ac\uc778\uc99d\uc5d0 \uc131\uacf5\ud588\uc2b5\ub2c8\ub2e4",
"single_instance_allowed": "\uc774\ubbf8 \uad6c\uc131\ub418\uc5c8\uc2b5\ub2c8\ub2e4. \ud558\ub098\uc758 \uc778\uc2a4\ud134\uc2a4\ub9cc \uad6c\uc131\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4."
},
"error": {
"cannot_connect": "\uc5f0\uacb0\ud558\uc9c0 \ubabb\ud588\uc2b5\ub2c8\ub2e4",
"invalid_auth": "\uc778\uc99d\uc774 \uc798\ubabb\ub418\uc5c8\uc2b5\ub2c8\ub2e4",
"invalid_mfa_code": "MFA \ucf54\ub4dc\uac00 \uc798\ubabb\ub418\uc5c8\uc2b5\ub2c8\ub2e4"
},
"step": {
"mfa": {
"data": {
"mfa_code": "MFA \ucf54\ub4dc (6\uc790\ub9ac)"
},
"title": "Abode\uc5d0 \ub300\ud55c MFA \ucf54\ub4dc\ub97c \uc785\ub825\ud574\uc8fc\uc138\uc694"
},
"reauth_confirm": {
"data": {
"password": "\ube44\ubc00\ubc88\ud638",
"username": "\uc774\uba54\uc77c"
},
"title": "Abode \ub85c\uadf8\uc778 \uc815\ubcf4 \uc785\ub825\ud558\uae30"
},
"user": {
"data": {
"password": "\ube44\ubc00\ubc88\ud638",
"username": "\uc774\uba54\uc77c"
},
"title": "Abode \uc0ac\uc6a9\uc790 \uc815\ubcf4 \uc785\ub825\ud558\uae30"
}
}
}
}

View File

@@ -1,35 +0,0 @@
{
"config": {
"abort": {
"reauth_successful": "Re-authentifikatioun war erfollegr\u00e4ich",
"single_instance_allowed": "Scho konfigur\u00e9iert. N\u00ebmmen eng eenzeg Konfiguratioun m\u00e9iglech."
},
"error": {
"cannot_connect": "Feeler beim verbannen",
"invalid_auth": "Ong\u00eblteg Authentifikatioun",
"invalid_mfa_code": "Ong\u00ebltege MFA Code"
},
"step": {
"mfa": {
"data": {
"mfa_code": "MFA code (6 Zifferen)"
},
"title": "G\u00ebff dain MFA code fir Abode un"
},
"reauth_confirm": {
"data": {
"password": "Passwuert",
"username": "E-Mail"
},
"title": "F\u00ebll deng Abode Login Informatiounen aus"
},
"user": {
"data": {
"password": "Passwuert",
"username": "E-Mail"
},
"title": "F\u00ebllt \u00e4r Abode Login Informatiounen aus."
}
}
}
}

View File

@@ -1,12 +0,0 @@
{
"config": {
"step": {
"user": {
"data": {
"password": "Parole",
"username": "E-pasta adrese"
}
}
}
}
}

View File

@@ -1,35 +0,0 @@
{
"config": {
"abort": {
"reauth_successful": "Herauthenticatie geslaagd",
"single_instance_allowed": "Al geconfigureerd. Slechts \u00e9\u00e9n configuratie mogelijk."
},
"error": {
"cannot_connect": "Kan geen verbinding maken",
"invalid_auth": "Ongeldige authenticatie",
"invalid_mfa_code": "Ongeldige MFA-code"
},
"step": {
"mfa": {
"data": {
"mfa_code": "MFA-code (6-cijfers)"
},
"title": "Voer uw MFA-code voor Abode in"
},
"reauth_confirm": {
"data": {
"password": "Wachtwoord",
"username": "E-mail"
},
"title": "Vul uw Abode-inloggegevens in"
},
"user": {
"data": {
"password": "Wachtwoord",
"username": "E-mail"
},
"title": "Vul uw Abode-inloggegevens in"
}
}
}
}

View File

@@ -1,35 +0,0 @@
{
"config": {
"abort": {
"reauth_successful": "Re-autentisering var vellykket",
"single_instance_allowed": "Allerede konfigurert. Bare \u00e9n enkelt konfigurasjon er mulig."
},
"error": {
"cannot_connect": "Tilkobling mislyktes",
"invalid_auth": "Ugyldig godkjenning",
"invalid_mfa_code": "Ugyldig MFA-kode"
},
"step": {
"mfa": {
"data": {
"mfa_code": "MFA-kode (6-sifre)"
},
"title": "Skriv inn din MFA-kode for Abode"
},
"reauth_confirm": {
"data": {
"password": "Passord",
"username": "E-post"
},
"title": "Fyll ut innloggingsinformasjonen for Abode"
},
"user": {
"data": {
"password": "Passord",
"username": "E-post"
},
"title": "Fyll ut innloggingsinformasjonen for Abode"
}
}
}
}

View File

@@ -1,35 +0,0 @@
{
"config": {
"abort": {
"reauth_successful": "Ponowne uwierzytelnienie powiod\u0142o si\u0119",
"single_instance_allowed": "Ju\u017c skonfigurowano. Mo\u017cliwa jest tylko jedna konfiguracja."
},
"error": {
"cannot_connect": "Nie mo\u017cna nawi\u0105za\u0107 po\u0142\u0105czenia",
"invalid_auth": "Niepoprawne uwierzytelnienie",
"invalid_mfa_code": "Nieprawid\u0142owy kod uwierzytelniania wielosk\u0142adnikowego"
},
"step": {
"mfa": {
"data": {
"mfa_code": "6-cyfrowy kod uwierzytelniania wielosk\u0142adnikowego"
},
"title": "Wprowad\u017a kod uwierzytelniania wielosk\u0142adnikowego dla Abode"
},
"reauth_confirm": {
"data": {
"password": "Has\u0142o",
"username": "Adres e-mail"
},
"title": "Wprowad\u017a informacje logowania Abode"
},
"user": {
"data": {
"password": "Has\u0142o",
"username": "Adres e-mail"
},
"title": "Wprowad\u017a informacje logowania Abode"
}
}
}
}

View File

@@ -1,35 +0,0 @@
{
"config": {
"abort": {
"reauth_successful": "A reautentica\u00e7\u00e3o foi bem-sucedida",
"single_instance_allowed": "J\u00e1 configurado. Apenas uma configura\u00e7\u00e3o \u00e9 poss\u00edvel."
},
"error": {
"cannot_connect": "Falha ao conectar",
"invalid_auth": "Autentica\u00e7\u00e3o inv\u00e1lida",
"invalid_mfa_code": "C\u00f3digo MFA inv\u00e1lido"
},
"step": {
"mfa": {
"data": {
"mfa_code": "C\u00f3digo MFA (6 d\u00edgitos)"
},
"title": "Digite seu c\u00f3digo MFA para Abode"
},
"reauth_confirm": {
"data": {
"password": "Senha",
"username": "Email"
},
"title": "Preencha as informa\u00e7\u00f5es de login da Abode"
},
"user": {
"data": {
"password": "Senha",
"username": "Email"
},
"title": "Preencha suas informa\u00e7\u00f5es de login Abode"
}
}
}
}

View File

@@ -1,35 +0,0 @@
{
"config": {
"abort": {
"reauth_successful": "Reautentica\u00e7\u00e3o bem sucedida",
"single_instance_allowed": "J\u00e1 configurado. Apenas uma \u00fanica configura\u00e7\u00e3o \u00e9 poss\u00edvel."
},
"error": {
"cannot_connect": "A liga\u00e7\u00e3o falhou",
"invalid_auth": "Autentica\u00e7\u00e3o inv\u00e1lida",
"invalid_mfa_code": "C\u00f3digo MFA inv\u00e1lido"
},
"step": {
"mfa": {
"data": {
"mfa_code": "C\u00f3digo MFA (6 d\u00edgitos)"
},
"title": "Introduza seu c\u00f3digo MFA para Abode"
},
"reauth_confirm": {
"data": {
"password": "Palavra-passe",
"username": ""
},
"title": "Preencha as informa\u00e7\u00f5es de login de Abode"
},
"user": {
"data": {
"password": "Palavra-passe",
"username": ""
},
"title": "Preencha as informa\u00e7\u00f5es de login de Abode"
}
}
}
}

View File

@@ -1,7 +0,0 @@
{
"config": {
"abort": {
"reauth_successful": "Re-autentificare efectuata cu succes"
}
}
}

View File

@@ -1,35 +0,0 @@
{
"config": {
"abort": {
"reauth_successful": "\u041f\u043e\u0432\u0442\u043e\u0440\u043d\u0430\u044f \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0430 \u0443\u0441\u043f\u0435\u0448\u043d\u043e.",
"single_instance_allowed": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0443\u0436\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0430. \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u043d\u0443 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e."
},
"error": {
"cannot_connect": "\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c\u0441\u044f.",
"invalid_auth": "\u041e\u0448\u0438\u0431\u043a\u0430 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438.",
"invalid_mfa_code": "\u041d\u0435\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043a\u043e\u0434 MFA."
},
"step": {
"mfa": {
"data": {
"mfa_code": "\u041a\u043e\u0434 MFA (6 \u0446\u0438\u0444\u0440)"
},
"title": "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043a\u043e\u0434 MFA \u0434\u043b\u044f Abode"
},
"reauth_confirm": {
"data": {
"password": "\u041f\u0430\u0440\u043e\u043b\u044c",
"username": "\u0410\u0434\u0440\u0435\u0441 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u043e\u0439 \u043f\u043e\u0447\u0442\u044b"
},
"title": "Abode"
},
"user": {
"data": {
"password": "\u041f\u0430\u0440\u043e\u043b\u044c",
"username": "\u0410\u0434\u0440\u0435\u0441 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u043e\u0439 \u043f\u043e\u0447\u0442\u044b"
},
"title": "Abode"
}
}
}
}

View File

@@ -1,35 +0,0 @@
{
"config": {
"abort": {
"reauth_successful": "Op\u00e4tovn\u00e9 overenie bolo \u00faspe\u0161n\u00e9",
"single_instance_allowed": "U\u017e je nakonfigurovan\u00fd. Mo\u017en\u00e1 len jedna konfigur\u00e1cia."
},
"error": {
"cannot_connect": "Nepodarilo sa pripoji\u0165",
"invalid_auth": "Neplatn\u00e9 overenie",
"invalid_mfa_code": "Neplatn\u00fd k\u00f3d MFA"
},
"step": {
"mfa": {
"data": {
"mfa_code": "K\u00f3d MFA (6-miestny)"
},
"title": "Zadajte svoj k\u00f3d MFA pre Abode"
},
"reauth_confirm": {
"data": {
"password": "Heslo",
"username": "Email"
},
"title": "Vypl\u0148te svoje prihlasovacie \u00fadaje do slu\u017eby Abode"
},
"user": {
"data": {
"password": "Heslo",
"username": "Email"
},
"title": "Vypl\u0148te svoje prihlasovacie \u00fadaje Abode"
}
}
}
}

View File

@@ -1,33 +0,0 @@
{
"config": {
"abort": {
"reauth_successful": "Ponovno overjanje je uspelo",
"single_instance_allowed": "Dovoljena je samo ena konfiguracija Abode."
},
"error": {
"invalid_mfa_code": "Napa\u010dna MFA koda"
},
"step": {
"mfa": {
"data": {
"mfa_code": "MFA koda (6 \u0161tevilk)"
},
"title": "Vnesite MFA kodo za Abode"
},
"reauth_confirm": {
"data": {
"password": "Geslo",
"username": "E-po\u0161tni naslov"
},
"title": "Vnesite podatke za prijavo v Abode"
},
"user": {
"data": {
"password": "Geslo",
"username": "E-po\u0161tni naslov"
},
"title": "Izpolnite svoje podatke za prijavo v Abode"
}
}
}
}

View File

@@ -1,35 +0,0 @@
{
"config": {
"abort": {
"reauth_successful": "\u00c5terautentisering lyckades",
"single_instance_allowed": "Endast en enda konfiguration av Abode \u00e4r till\u00e5ten."
},
"error": {
"cannot_connect": "Det gick inte att ansluta.",
"invalid_auth": "Ogiltig autentisering",
"invalid_mfa_code": "Ogiltig MFA-kod"
},
"step": {
"mfa": {
"data": {
"mfa_code": "MFA-kod (6 siffror)"
},
"title": "Ange din MFA-kod f\u00f6r Abode"
},
"reauth_confirm": {
"data": {
"password": "L\u00f6senord",
"username": "E-postadress"
},
"title": "Fyll i din Abode-inloggningsinformation"
},
"user": {
"data": {
"password": "L\u00f6senord",
"username": "E-postadress"
},
"title": "Fyll i din inloggningsinformation f\u00f6r Abode"
}
}
}
}

View File

@@ -1,9 +0,0 @@
{
"config": {
"step": {
"mfa": {
"title": "\u0e1b\u0e49\u0e2d\u0e19\u0e23\u0e2b\u0e31\u0e2a MFA \u0e08\u0e32\u0e01 Abode"
}
}
}
}

View File

@@ -1,35 +0,0 @@
{
"config": {
"abort": {
"reauth_successful": "Yeniden kimlik do\u011frulama ba\u015far\u0131l\u0131 oldu",
"single_instance_allowed": "Zaten yap\u0131land\u0131r\u0131lm\u0131\u015f. Yaln\u0131zca tek bir konfig\u00fcrasyon m\u00fcmk\u00fcnd\u00fcr."
},
"error": {
"cannot_connect": "Ba\u011flanma hatas\u0131",
"invalid_auth": "Ge\u00e7ersiz kimlik do\u011frulama",
"invalid_mfa_code": "Ge\u00e7ersiz MFA kodu"
},
"step": {
"mfa": {
"data": {
"mfa_code": "MFA kodu (6 basamakl\u0131)"
},
"title": "Abode i\u00e7in MFA kodunuzu girin"
},
"reauth_confirm": {
"data": {
"password": "Parola",
"username": "E-posta"
},
"title": "Abode giri\u015f bilgilerinizi doldurun"
},
"user": {
"data": {
"password": "Parola",
"username": "E-posta"
},
"title": "Abode giri\u015f bilgilerinizi doldurun"
}
}
}
}

View File

@@ -1,35 +0,0 @@
{
"config": {
"abort": {
"reauth_successful": "\u041f\u043e\u0432\u0442\u043e\u0440\u043d\u0430 \u0430\u0432\u0442\u0435\u043d\u0442\u0438\u0444\u0456\u043a\u0430\u0446\u0456\u044f \u043f\u0440\u043e\u0439\u0448\u043b\u0430 \u0443\u0441\u043f\u0456\u0448\u043d\u043e",
"single_instance_allowed": "\u0412\u0436\u0435 \u043d\u0430\u043b\u0430\u0448\u0442\u043e\u0432\u0430\u043d\u043e. \u041c\u043e\u0436\u043b\u0438\u0432\u0430 \u043b\u0438\u0448\u0435 \u043e\u0434\u043d\u0430 \u043a\u043e\u043d\u0444\u0456\u0433\u0443\u0440\u0430\u0446\u0456\u044f."
},
"error": {
"cannot_connect": "\u041d\u0435 \u0432\u0434\u0430\u043b\u043e\u0441\u044f \u043f\u0456\u0434'\u0454\u0434\u043d\u0430\u0442\u0438\u0441\u044f",
"invalid_auth": "\u041d\u0435\u0432\u0456\u0440\u043d\u0430 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0456\u043a\u0430\u0446\u0456\u044f.",
"invalid_mfa_code": "\u041d\u0435\u0434\u0456\u0439\u0441\u043d\u0438\u0439 \u043a\u043e\u0434 MFA."
},
"step": {
"mfa": {
"data": {
"mfa_code": "\u041a\u043e\u0434 MFA (6 \u0446\u0438\u0444\u0440)"
},
"title": "\u0412\u0432\u0435\u0434\u0456\u0442\u044c \u043a\u043e\u0434 MFA \u0434\u043b\u044f Abode"
},
"reauth_confirm": {
"data": {
"password": "\u041f\u0430\u0440\u043e\u043b\u044c",
"username": "\u0410\u0434\u0440\u0435\u0441\u0430 \u0435\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u043e\u0457 \u043f\u043e\u0448\u0442\u0438"
},
"title": "Abode"
},
"user": {
"data": {
"password": "\u041f\u0430\u0440\u043e\u043b\u044c",
"username": "\u0410\u0434\u0440\u0435\u0441\u0430 \u0435\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u043e\u0457 \u043f\u043e\u0448\u0442\u0438"
},
"title": "Abode"
}
}
}
}

View File

@@ -1,35 +0,0 @@
{
"config": {
"abort": {
"reauth_successful": "\u91cd\u65b0\u8a8d\u8b49\u6210\u529f",
"single_instance_allowed": "\u5df2\u7d93\u8a2d\u5b9a\u5b8c\u6210\u3001\u50c5\u80fd\u8a2d\u5b9a\u4e00\u7d44\u88dd\u7f6e\u3002"
},
"error": {
"cannot_connect": "\u9023\u7dda\u5931\u6557",
"invalid_auth": "\u9a57\u8b49\u78bc\u7121\u6548",
"invalid_mfa_code": "\u591a\u6b65\u9a5f\u8a8d\u8b49\u78bc\u7121\u6548"
},
"step": {
"mfa": {
"data": {
"mfa_code": "\u591a\u6b65\u9a5f\u8a8d\u8b49\u78bc\uff086 \u4f4d\uff09"
},
"title": "\u8f38\u5165 Abode \u591a\u6b65\u9a5f\u8a8d\u8b49\u78bc"
},
"reauth_confirm": {
"data": {
"password": "\u5bc6\u78bc",
"username": "\u96fb\u5b50\u90f5\u4ef6"
},
"title": "\u586b\u5beb Abode \u767b\u5165\u8cc7\u8a0a"
},
"user": {
"data": {
"password": "\u5bc6\u78bc",
"username": "\u96fb\u5b50\u90f5\u4ef6"
},
"title": "\u586b\u5beb Abode \u767b\u5165\u8cc7\u8a0a"
}
}
}
}

View File

@@ -1,6 +1,8 @@
"""Diagnostics support for AccuWeather."""
from __future__ import annotations
from typing import Any
from homeassistant.components.diagnostics import async_redact_data
from homeassistant.config_entries import ConfigEntry
from homeassistant.const import CONF_API_KEY, CONF_LATITUDE, CONF_LONGITUDE
@@ -14,7 +16,7 @@ TO_REDACT = {CONF_API_KEY, CONF_LATITUDE, CONF_LONGITUDE}
async def async_get_config_entry_diagnostics(
hass: HomeAssistant, config_entry: ConfigEntry
) -> dict:
) -> dict[str, Any]:
"""Return diagnostics for a config entry."""
coordinator: AccuWeatherDataUpdateCoordinator = hass.data[DOMAIN][
config_entry.entry_id

View File

@@ -1,12 +1,12 @@
{
"domain": "accuweather",
"name": "AccuWeather",
"documentation": "https://www.home-assistant.io/integrations/accuweather/",
"requirements": ["accuweather==0.4.0"],
"codeowners": ["@bieniu"],
"config_flow": true,
"quality_scale": "platinum",
"documentation": "https://www.home-assistant.io/integrations/accuweather/",
"integration_type": "service",
"iot_class": "cloud_polling",
"loggers": ["accuweather"],
"integration_type": "service"
"quality_scale": "platinum",
"requirements": ["accuweather==0.5.0"]
}

View File

@@ -17,10 +17,10 @@ from homeassistant.const import (
PERCENTAGE,
UV_INDEX,
UnitOfLength,
UnitOfPrecipitationDepth,
UnitOfSpeed,
UnitOfTemperature,
UnitOfTime,
UnitOfVolumetricFlux,
)
from homeassistant.core import HomeAssistant, callback
from homeassistant.helpers.entity_platform import AddEntitiesCallback
@@ -248,7 +248,8 @@ SENSOR_TYPES: tuple[AccuWeatherSensorDescription, ...] = (
state_class=SensorStateClass.MEASUREMENT,
metric_unit=UnitOfLength.METERS,
us_customary_unit=UnitOfLength.FEET,
value_fn=lambda data, unit: round(cast(float, data[unit][ATTR_VALUE])),
value_fn=lambda data, unit: cast(float, data[unit][ATTR_VALUE]),
suggested_display_precision=0,
),
AccuWeatherSensorDescription(
key="CloudCover",
@@ -290,18 +291,20 @@ SENSOR_TYPES: tuple[AccuWeatherSensorDescription, ...] = (
),
AccuWeatherSensorDescription(
key="Precipitation",
device_class=SensorDeviceClass.PRECIPITATION,
device_class=SensorDeviceClass.PRECIPITATION_INTENSITY,
name="Precipitation",
state_class=SensorStateClass.MEASUREMENT,
metric_unit=UnitOfPrecipitationDepth.MILLIMETERS,
us_customary_unit=UnitOfPrecipitationDepth.INCHES,
metric_unit=UnitOfVolumetricFlux.MILLIMETERS_PER_HOUR,
us_customary_unit=UnitOfVolumetricFlux.INCHES_PER_HOUR,
value_fn=lambda data, unit: cast(float, data[unit][ATTR_VALUE]),
attr_fn=lambda data: {"type": data["PrecipitationType"]},
),
AccuWeatherSensorDescription(
key="PressureTendency",
device_class=SensorDeviceClass.ENUM,
icon="mdi:gauge",
name="Pressure tendency",
options=["falling", "rising", "steady"],
translation_key="pressure_tendency",
value_fn=lambda data, _: cast(str, data["LocalizedText"]).lower(),
),
@@ -452,7 +455,7 @@ def _get_sensor_data(
return sensors[ATTR_FORECAST][forecast_day][kind]
if kind == "Precipitation":
return sensors["PrecipitationSummary"][kind]
return sensors["PrecipitationSummary"]["PastHour"]
return sensors[kind]

View File

@@ -1,13 +0,0 @@
{
"config": {
"error": {
"requests_exceeded": "\u062a\u0645 \u062a\u062c\u0627\u0648\u0632 \u0627\u0644\u0639\u062f\u062f \u0627\u0644\u0645\u0633\u0645\u0648\u062d \u0628\u0647 \u0645\u0646 \u0627\u0644\u0637\u0644\u0628\u0627\u062a \u0625\u0644\u0649 Accuweather API. \u0639\u0644\u064a\u0643 \u0627\u0644\u0627\u0646\u062a\u0638\u0627\u0631 \u0623\u0648 \u062a\u063a\u064a\u064a\u0631 \u0645\u0641\u062a\u0627\u062d API."
}
},
"system_health": {
"info": {
"can_reach_server": "\u0627\u0644\u0648\u0635\u0648\u0644 \u0625\u0644\u0649 \u062e\u0627\u062f\u0645 AccuWeather",
"remaining_requests": "\u0627\u0644\u0637\u0644\u0628\u0627\u062a \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629 \u0627\u0644\u0645\u0633\u0645\u0648\u062d \u0628\u0647\u0627"
}
}
}

View File

@@ -1,42 +0,0 @@
{
"config": {
"abort": {
"single_instance_allowed": "\u0412\u0435\u0447\u0435 \u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0430\u043d\u043e. \u0412\u044a\u0437\u043c\u043e\u0436\u043d\u0430 \u0435 \u0441\u0430\u043c\u043e \u0435\u0434\u043d\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f."
},
"error": {
"cannot_connect": "\u041d\u0435\u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0441\u0432\u044a\u0440\u0437\u0432\u0430\u043d\u0435",
"invalid_api_key": "\u041d\u0435\u0432\u0430\u043b\u0438\u0434\u0435\u043d API \u043a\u043b\u044e\u0447"
},
"step": {
"user": {
"data": {
"api_key": "API \u043a\u043b\u044e\u0447",
"latitude": "\u0413\u0435\u043e\u0433\u0440\u0430\u0444\u0441\u043a\u0430 \u0448\u0438\u0440\u0438\u043d\u0430",
"longitude": "\u0413\u0435\u043e\u0433\u0440\u0430\u0444\u0441\u043a\u0430 \u0434\u044a\u043b\u0436\u0438\u043d\u0430",
"name": "\u0418\u043c\u0435"
}
}
}
},
"entity": {
"sensor": {
"pressure_tendency": {
"state": {
"falling": "\u041f\u043e\u043d\u0438\u0436\u0435\u043d\u0438\u0435",
"rising": "\u041f\u043e\u0432\u0438\u0448\u0435\u043d\u0438\u0435",
"steady": "\u0421\u0442\u0430\u0431\u0438\u043b\u043d\u043e"
}
}
}
},
"options": {
"step": {
"init": {
"data": {
"forecast": "\u041f\u0440\u043e\u0433\u043d\u043e\u0437\u0430 \u0437\u0430 \u0432\u0440\u0435\u043c\u0435\u0442\u043e"
},
"description": "\u041f\u043e\u0440\u0430\u0434\u0438 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f\u0442\u0430 \u043d\u0430 \u0431\u0435\u0437\u043f\u043b\u0430\u0442\u043d\u0430\u0442\u0430 \u0432\u0435\u0440\u0441\u0438\u044f \u043d\u0430 API \u043a\u043b\u044e\u0447\u0430 \u043d\u0430 AccuWeather, \u043a\u043e\u0433\u0430\u0442\u043e \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u0430\u0442\u0435 \u043f\u0440\u043e\u0433\u043d\u043e\u0437\u0430\u0442\u0430 \u0437\u0430 \u0432\u0440\u0435\u043c\u0435\u0442\u043e, \u0430\u043a\u0442\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438\u0442\u0435 \u043d\u0430 \u0434\u0430\u043d\u043d\u0438 \u0449\u0435 \u0441\u0435 \u0438\u0437\u0432\u044a\u0440\u0448\u0432\u0430\u0442 \u043d\u0430 \u0432\u0441\u0435\u043a\u0438 80 \u043c\u0438\u043d\u0443\u0442\u0438 \u0432\u043c\u0435\u0441\u0442\u043e \u043d\u0430 \u0432\u0441\u0435\u043a\u0438 40 \u043c\u0438\u043d\u0443\u0442\u0438."
}
}
}
}

View File

@@ -1,52 +0,0 @@
{
"config": {
"abort": {
"single_instance_allowed": "Ja configurat. Nom\u00e9s \u00e9s possible una sola configuraci\u00f3."
},
"create_entry": {
"default": "Alguns sensors no estan activats de manera predeterminada. Els pots activar des del registre d'entitats, despr\u00e9s de la configuraci\u00f3 de la integraci\u00f3.\nLa previsi\u00f3 meteorol\u00f2gica no est\u00e0 activada de manera predeterminada. Pots activar-la a les opcions de la integraci\u00f3."
},
"error": {
"cannot_connect": "Ha fallat la connexi\u00f3",
"invalid_api_key": "Clau API inv\u00e0lida",
"requests_exceeded": "S'ha superat el nombre m\u00e0xim de sol\u00b7licituds permeses a l'API d'AccuWeather. Has d'esperar-te o canviar la clau API."
},
"step": {
"user": {
"data": {
"api_key": "Clau API",
"latitude": "Latitud",
"longitude": "Longitud",
"name": "Nom"
}
}
}
},
"entity": {
"sensor": {
"pressure_tendency": {
"state": {
"falling": "Disminuint",
"rising": "Augmentant",
"steady": "Estable"
}
}
}
},
"options": {
"step": {
"init": {
"data": {
"forecast": "Previsi\u00f3 meteorol\u00f2gica"
},
"description": "Per culpa de les limitacions de la versi\u00f3 gratu\u00efta de l'API d'AccuWeather, quan activis la previsi\u00f3 meteorol\u00f2gica, les actualitzacions de dades es faran cada 80 minuts en comptes de cada 40."
}
}
},
"system_health": {
"info": {
"can_reach_server": "Servidor d'Accuweather accessible",
"remaining_requests": "Sol\u00b7licituds permeses restants"
}
}
}

View File

@@ -1,47 +0,0 @@
{
"config": {
"abort": {
"single_instance_allowed": "Ji\u017e nastaveno. Je mo\u017en\u00e1 pouze jedin\u00e1 konfigurace."
},
"error": {
"cannot_connect": "Nepoda\u0159ilo se p\u0159ipojit",
"invalid_api_key": "Neplatn\u00fd kl\u00ed\u010d API",
"requests_exceeded": "Byl p\u0159ekro\u010den povolen\u00fd po\u010det po\u017eadavk\u016f pro API Accuweather. Mus\u00edte po\u010dkat nebo zm\u011bnit API kl\u00ed\u010d."
},
"step": {
"user": {
"data": {
"api_key": "Kl\u00ed\u010d API",
"latitude": "Zem\u011bpisn\u00e1 \u0161\u00ed\u0159ka",
"longitude": "Zem\u011bpisn\u00e1 d\u00e9lka",
"name": "Jm\u00e9no"
}
}
}
},
"entity": {
"sensor": {
"pressure_tendency": {
"state": {
"steady": "Stabiln\u00ed"
}
}
}
},
"options": {
"step": {
"init": {
"data": {
"forecast": "P\u0159edpov\u011b\u010f po\u010das\u00ed"
},
"description": "Vzhledem k omezen\u00edm bezplatn\u00e9 verze kl\u00ed\u010de AccuWeather API, kdy\u017e povol\u00edte p\u0159edpov\u011b\u010f po\u010das\u00ed, aktualizace dat se budou prov\u00e1d\u011bt ka\u017ed\u00fdch 80 minut m\u00edsto ka\u017ed\u00fdch 40 minut."
}
}
},
"system_health": {
"info": {
"can_reach_server": "Lze kontaktovat AccuWeather server",
"remaining_requests": "Zb\u00fdvaj\u00edc\u00ed povolen\u00e9 \u017e\u00e1dosti"
}
}
}

View File

@@ -1,52 +0,0 @@
{
"config": {
"abort": {
"single_instance_allowed": "Bereits konfiguriert. Nur eine einzige Konfiguration m\u00f6glich."
},
"create_entry": {
"default": "Einige Sensoren sind standardm\u00e4\u00dfig nicht aktiviert. Du kannst sie nach der Integrationskonfiguration in der Entit\u00e4tsregistrierung aktivieren.\nDie Wettervorhersage ist nicht standardm\u00e4\u00dfig aktiviert. Du kannst sie in den Integrationsoptionen aktivieren."
},
"error": {
"cannot_connect": "Verbindung fehlgeschlagen",
"invalid_api_key": "Ung\u00fcltiger API-Schl\u00fcssel",
"requests_exceeded": "Die zul\u00e4ssige Anzahl von Anforderungen an die Accuweather-API wurde \u00fcberschritten. Du musst warten oder den API-Schl\u00fcssel \u00e4ndern."
},
"step": {
"user": {
"data": {
"api_key": "API-Schl\u00fcssel",
"latitude": "Breitengrad",
"longitude": "L\u00e4ngengrad",
"name": "Name"
}
}
}
},
"entity": {
"sensor": {
"pressure_tendency": {
"state": {
"falling": "Fallend",
"rising": "Steigend",
"steady": "Stetig"
}
}
}
},
"options": {
"step": {
"init": {
"data": {
"forecast": "Wettervorhersage"
},
"description": "Aufgrund der Einschr\u00e4nkungen der kostenlosen Version des AccuWeather API-Schl\u00fcssels werden bei aktivierter Wettervorhersage Datenaktualisierungen alle 80 Minuten statt alle 40 Minuten durchgef\u00fchrt."
}
}
},
"system_health": {
"info": {
"can_reach_server": "AccuWeather-Server erreichen",
"remaining_requests": "Verbleibende erlaubte Anfragen"
}
}
}

View File

@@ -1,52 +0,0 @@
{
"config": {
"abort": {
"single_instance_allowed": "\u0388\u03c7\u03b5\u03b9 \u03ae\u03b4\u03b7 \u03c1\u03c5\u03b8\u03bc\u03b9\u03c3\u03c4\u03b5\u03af. \u039c\u03cc\u03bd\u03bf \u03bc\u03af\u03b1 \u03b4\u03b9\u03b1\u03bc\u03cc\u03c1\u03c6\u03c9\u03c3\u03b7 \u03b5\u03af\u03bd\u03b1\u03b9 \u03b4\u03c5\u03bd\u03b1\u03c4\u03ae."
},
"create_entry": {
"default": "\u039f\u03c1\u03b9\u03c3\u03bc\u03ad\u03bd\u03bf\u03b9 \u03b1\u03b9\u03c3\u03b8\u03b7\u03c4\u03ae\u03c1\u03b5\u03c2 \u03b4\u03b5\u03bd \u03b5\u03af\u03bd\u03b1\u03b9 \u03b5\u03bd\u03b5\u03c1\u03b3\u03bf\u03c0\u03bf\u03b9\u03b7\u03bc\u03ad\u03bd\u03bf\u03b9 \u03b1\u03c0\u03cc \u03c0\u03c1\u03bf\u03b5\u03c0\u03b9\u03bb\u03bf\u03b3\u03ae. \u039c\u03c0\u03bf\u03c1\u03b5\u03af\u03c4\u03b5 \u03bd\u03b1 \u03c4\u03b1 \u03b5\u03bd\u03b5\u03c1\u03b3\u03bf\u03c0\u03bf\u03b9\u03ae\u03c3\u03b5\u03c4\u03b5 \u03c3\u03c4\u03bf \u03bc\u03b7\u03c4\u03c1\u03ce\u03bf \u03bf\u03bd\u03c4\u03bf\u03c4\u03ae\u03c4\u03c9\u03bd \u03bc\u03b5\u03c4\u03ac \u03c4\u03b7 \u03b4\u03b9\u03b1\u03bc\u03cc\u03c1\u03c6\u03c9\u03c3\u03b7 \u03c4\u03b7\u03c2 \u03b5\u03bd\u03bf\u03c0\u03bf\u03af\u03b7\u03c3\u03b7\u03c2.\n \u0397 \u03c0\u03c1\u03cc\u03b3\u03bd\u03c9\u03c3\u03b7 \u03ba\u03b1\u03b9\u03c1\u03bf\u03cd \u03b4\u03b5\u03bd \u03b5\u03af\u03bd\u03b1\u03b9 \u03b5\u03bd\u03b5\u03c1\u03b3\u03bf\u03c0\u03bf\u03b9\u03b7\u03bc\u03ad\u03bd\u03b7 \u03b1\u03c0\u03cc \u03c0\u03c1\u03bf\u03b5\u03c0\u03b9\u03bb\u03bf\u03b3\u03ae. \u039c\u03c0\u03bf\u03c1\u03b5\u03af\u03c4\u03b5 \u03bd\u03b1 \u03c4\u03bf \u03b5\u03bd\u03b5\u03c1\u03b3\u03bf\u03c0\u03bf\u03b9\u03ae\u03c3\u03b5\u03c4\u03b5 \u03c3\u03c4\u03b9\u03c2 \u03b5\u03c0\u03b9\u03bb\u03bf\u03b3\u03ad\u03c2 \u03b5\u03bd\u03c3\u03c9\u03bc\u03ac\u03c4\u03c9\u03c3\u03b7\u03c2."
},
"error": {
"cannot_connect": "\u0391\u03c0\u03bf\u03c4\u03c5\u03c7\u03af\u03b1 \u03c3\u03cd\u03bd\u03b4\u03b5\u03c3\u03b7\u03c2",
"invalid_api_key": "\u039c\u03b7 \u03ad\u03b3\u03ba\u03c5\u03c1\u03bf \u03ba\u03bb\u03b5\u03b9\u03b4\u03af API",
"requests_exceeded": "\u0388\u03c7\u03b5\u03b9 \u03be\u03b5\u03c0\u03b5\u03c1\u03b1\u03c3\u03c4\u03b5\u03af \u03bf \u03b5\u03c0\u03b9\u03c4\u03c1\u03b5\u03c0\u03cc\u03bc\u03b5\u03bd\u03bf\u03c2 \u03b1\u03c1\u03b9\u03b8\u03bc\u03cc\u03c2 \u03b1\u03b9\u03c4\u03ae\u03c3\u03b5\u03c9\u03bd \u03c0\u03c1\u03bf\u03c2 \u03c4\u03bf API \u03c4\u03bf\u03c5 Accuweather. \u03a0\u03c1\u03ad\u03c0\u03b5\u03b9 \u03bd\u03b1 \u03c0\u03b5\u03c1\u03b9\u03bc\u03ad\u03bd\u03b5\u03c4\u03b5 \u03ae \u03bd\u03b1 \u03b1\u03bb\u03bb\u03ac\u03be\u03b5\u03c4\u03b5 \u03c4\u03bf \u03ba\u03bb\u03b5\u03b9\u03b4\u03af API."
},
"step": {
"user": {
"data": {
"api_key": "\u039a\u03bb\u03b5\u03b9\u03b4\u03af API",
"latitude": "\u0393\u03b5\u03c9\u03b3\u03c1\u03b1\u03c6\u03b9\u03ba\u03cc \u03c0\u03bb\u03ac\u03c4\u03bf\u03c2",
"longitude": "\u0393\u03b5\u03c9\u03b3\u03c1\u03b1\u03c6\u03b9\u03ba\u03cc \u03bc\u03ae\u03ba\u03bf\u03c2",
"name": "\u038c\u03bd\u03bf\u03bc\u03b1"
}
}
}
},
"entity": {
"sensor": {
"pressure_tendency": {
"state": {
"falling": "\u03a0\u03c4\u03ce\u03c3\u03b7",
"rising": "\u0391\u03c5\u03be\u03b1\u03bd\u03cc\u03bc\u03b5\u03bd\u03b7",
"steady": "\u03a3\u03c4\u03b1\u03b8\u03b5\u03c1\u03ae"
}
}
}
},
"options": {
"step": {
"init": {
"data": {
"forecast": "\u03a0\u03c1\u03cc\u03b3\u03bd\u03c9\u03c3\u03b7 \u03ba\u03b1\u03b9\u03c1\u03bf\u03cd"
},
"description": "\u039b\u03cc\u03b3\u03c9 \u03c4\u03c9\u03bd \u03c0\u03b5\u03c1\u03b9\u03bf\u03c1\u03b9\u03c3\u03bc\u03ce\u03bd \u03c4\u03b7\u03c2 \u03b4\u03c9\u03c1\u03b5\u03ac\u03bd \u03ad\u03ba\u03b4\u03bf\u03c3\u03b7\u03c2 \u03c4\u03bf\u03c5 \u03ba\u03bb\u03b5\u03b9\u03b4\u03b9\u03bf\u03cd AccuWeather API, \u03cc\u03c4\u03b1\u03bd \u03b5\u03bd\u03b5\u03c1\u03b3\u03bf\u03c0\u03bf\u03b9\u03b5\u03af\u03c4\u03b5 \u03c4\u03b7\u03bd \u03c0\u03c1\u03cc\u03b3\u03bd\u03c9\u03c3\u03b7 \u03ba\u03b1\u03b9\u03c1\u03bf\u03cd, \u03bf\u03b9 \u03b5\u03bd\u03b7\u03bc\u03b5\u03c1\u03ce\u03c3\u03b5\u03b9\u03c2 \u03b4\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03c9\u03bd \u03b8\u03b1 \u03b5\u03ba\u03c4\u03b5\u03bb\u03bf\u03cd\u03bd\u03c4\u03b1\u03b9 \u03ba\u03ac\u03b8\u03b5 80 \u03bb\u03b5\u03c0\u03c4\u03ac \u03b1\u03bd\u03c4\u03af \u03b3\u03b9\u03b1 \u03ba\u03ac\u03b8\u03b5 40 \u03bb\u03b5\u03c0\u03c4\u03ac."
}
}
},
"system_health": {
"info": {
"can_reach_server": "\u03a0\u03c1\u03bf\u03c3\u03b5\u03b3\u03b3\u03af\u03c3\u03c4\u03b5 \u03c4\u03bf\u03bd \u03b4\u03b9\u03b1\u03ba\u03bf\u03bc\u03b9\u03c3\u03c4\u03ae AccuWeather",
"remaining_requests": "\u03a5\u03c0\u03bf\u03bb\u03b5\u03b9\u03c0\u03cc\u03bc\u03b5\u03bd\u03b1 \u03b5\u03c0\u03b9\u03c4\u03c1\u03b5\u03c0\u03cc\u03bc\u03b5\u03bd\u03b1 \u03b1\u03b9\u03c4\u03ae\u03bc\u03b1\u03c4\u03b1"
}
}
}

View File

@@ -1,52 +0,0 @@
{
"config": {
"abort": {
"single_instance_allowed": "Already configured. Only a single configuration possible."
},
"create_entry": {
"default": "Some sensors are not enabled by default. You can enable them in the entity registry after the integration configuration.\nWeather forecast is not enabled by default. You can enable it in the integration options."
},
"error": {
"cannot_connect": "Failed to connect",
"invalid_api_key": "Invalid API key",
"requests_exceeded": "The allowed number of requests to Accuweather API has been exceeded. You have to wait or change API Key."
},
"step": {
"user": {
"data": {
"api_key": "API Key",
"latitude": "Latitude",
"longitude": "Longitude",
"name": "Name"
}
}
}
},
"entity": {
"sensor": {
"pressure_tendency": {
"state": {
"falling": "Falling",
"rising": "Rising",
"steady": "Steady"
}
}
}
},
"options": {
"step": {
"init": {
"data": {
"forecast": "Weather forecast"
},
"description": "Due to the limitations of the free version of the AccuWeather API key, when you enable weather forecast, data updates will be performed every 80 minutes instead of every 40 minutes."
}
}
},
"system_health": {
"info": {
"can_reach_server": "Reach AccuWeather server",
"remaining_requests": "Remaining allowed requests"
}
}
}

View File

@@ -1,21 +0,0 @@
{
"config": {
"abort": {
"single_instance_allowed": "Ya configurado. Solo es posible una \u00fanica configuraci\u00f3n."
},
"create_entry": {
"default": "Algunos sensores no est\u00e1n habilitados de forma predeterminada. Puede habilitarlos en el registro de la entidad despu\u00e9s de la configuraci\u00f3n de la integraci\u00f3n. \nEl pron\u00f3stico del tiempo no est\u00e1 habilitado de forma predeterminada. Puedes habilitarlo en las opciones de integraci\u00f3n."
},
"error": {
"cannot_connect": "No se pudo conectar",
"invalid_api_key": "Clave de API no v\u00e1lida",
"requests_exceeded": "Se super\u00f3 el n\u00famero permitido de solicitudes a la API de Accuweather. Tiene que esperar o cambiar la clave de API."
}
},
"system_health": {
"info": {
"can_reach_server": "Llegar al servidor de AccuWeather",
"remaining_requests": "Solicitudes permitidas restantes"
}
}
}

View File

@@ -1,52 +0,0 @@
{
"config": {
"abort": {
"single_instance_allowed": "Ya est\u00e1 configurado. Solo es posible una \u00fanica configuraci\u00f3n."
},
"create_entry": {
"default": "Algunos sensores no est\u00e1n habilitados de forma predeterminada. Puedes habilitarlos en el registro de la entidad despu\u00e9s de la configuraci\u00f3n de la integraci\u00f3n.\nLa previsi\u00f3n meteorol\u00f3gica no est\u00e1 habilitada de forma predeterminada. Puedes habilitarla en las opciones de integraci\u00f3n."
},
"error": {
"cannot_connect": "No se pudo conectar",
"invalid_api_key": "Clave API no v\u00e1lida",
"requests_exceeded": "Se ha excedido el n\u00famero permitido de solicitudes a la API de Accuweather. Tienes que esperar o cambiar la Clave API."
},
"step": {
"user": {
"data": {
"api_key": "Clave API",
"latitude": "Latitud",
"longitude": "Longitud",
"name": "Nombre"
}
}
}
},
"entity": {
"sensor": {
"pressure_tendency": {
"state": {
"falling": "Descendente",
"rising": "Creciente",
"steady": "Estable"
}
}
}
},
"options": {
"step": {
"init": {
"data": {
"forecast": "Previsi\u00f3n meteorol\u00f3gica"
},
"description": "Debido a las limitaciones de la versi\u00f3n gratuita de la clave API de AccuWeather, cuando habilitas la previsi\u00f3n meteorol\u00f3gica, las actualizaciones de datos se realizar\u00e1n cada 80 minutos en lugar de cada 40 minutos."
}
}
},
"system_health": {
"info": {
"can_reach_server": "Se puede llegar al servidor AccuWeather",
"remaining_requests": "Solicitudes permitidas restantes"
}
}
}

View File

@@ -1,52 +0,0 @@
{
"config": {
"abort": {
"single_instance_allowed": "Sidumine juba tehtud. V\u00f5imalik on ainult 1 sidumine."
},
"create_entry": {
"default": "M\u00f5ned andurid ei ole vaikimisi lubatud. Saad neid lubada \u00fcksuse registris p\u00e4rast sidumise seadistamist.\nIlmaprognoos ei ole vaikimisi lubatud. Saad selle lubada sidumise valikutes."
},
"error": {
"cannot_connect": "\u00dchendamine nurjus",
"invalid_api_key": "API v\u00f5ti on vale",
"requests_exceeded": "Accuweatheri API-le esitatud p\u00e4ringute piirarv on \u00fcletatud. Peate ootama (v\u00f5i muutma API v\u00f5tit)."
},
"step": {
"user": {
"data": {
"api_key": "API v\u00f5ti",
"latitude": "Laiuskraad",
"longitude": "Pikkuskraad",
"name": "Sidumise nimi"
}
}
}
},
"entity": {
"sensor": {
"pressure_tendency": {
"state": {
"falling": "Langev",
"rising": "T\u00f5usev",
"steady": "\u00dchtlane"
}
}
}
},
"options": {
"step": {
"init": {
"data": {
"forecast": "Ilmateade"
},
"description": "AccuWeather API tasuta versioonis toimub ilmaennustuse lubamisel andmete v\u00e4rskendamine iga 80 minuti j\u00e4rel (muidu 40 minutit)."
}
}
},
"system_health": {
"info": {
"can_reach_server": "\u00dchendus Accuweatheri serveriga",
"remaining_requests": "Lubatud taotlusi on j\u00e4\u00e4nud"
}
}
}

View File

@@ -1,40 +0,0 @@
{
"config": {
"abort": {
"single_instance_allowed": "D\u00e9j\u00e0 configur\u00e9. Une seule configuration possible."
},
"create_entry": {
"default": "Certains capteurs ne sont pas activ\u00e9s par d\u00e9faut. Vous pouvez les activer dans le registre des entit\u00e9s une fois la configuration de l'int\u00e9gration termin\u00e9e.\nLes pr\u00e9visions m\u00e9t\u00e9orologiques ne sont pas activ\u00e9es par d\u00e9faut. Vous pouvez les activer dans les options de l'int\u00e9gration."
},
"error": {
"cannot_connect": "\u00c9chec de connexion",
"invalid_api_key": "Cl\u00e9 d'API non valide",
"requests_exceeded": "Le nombre autoris\u00e9 de requ\u00eates adress\u00e9es \u00e0 l'API AccuWeather a \u00e9t\u00e9 d\u00e9pass\u00e9. Vous devez attendre ou modifier la cl\u00e9 API."
},
"step": {
"user": {
"data": {
"api_key": "Cl\u00e9 d'API",
"latitude": "Latitude",
"longitude": "Longitude",
"name": "Nom"
}
}
}
},
"options": {
"step": {
"init": {
"data": {
"forecast": "Pr\u00e9visions m\u00e9t\u00e9orologiques"
}
}
}
},
"system_health": {
"info": {
"can_reach_server": "Acc\u00e8s au serveur AccuWeather",
"remaining_requests": "Demandes restantes autoris\u00e9es"
}
}
}

View File

@@ -1,52 +0,0 @@
{
"config": {
"abort": {
"single_instance_allowed": "\u05ea\u05e6\u05d5\u05e8\u05ea\u05d5 \u05db\u05d1\u05e8 \u05e0\u05e7\u05d1\u05e2\u05d4. \u05e8\u05e7 \u05ea\u05e6\u05d5\u05e8\u05d4 \u05d0\u05d7\u05ea \u05d0\u05e4\u05e9\u05e8\u05d9\u05ea."
},
"create_entry": {
"default": "\u05d7\u05d9\u05d9\u05e9\u05e0\u05d9\u05dd \u05de\u05e1\u05d5\u05d9\u05de\u05d9\u05dd \u05d0\u05d9\u05e0\u05dd \u05de\u05d5\u05e4\u05e2\u05dc\u05d9\u05dd \u05db\u05d1\u05e8\u05d9\u05e8\u05ea \u05de\u05d7\u05d3\u05dc. \u05d1\u05d9\u05db\u05d5\u05dc\u05ea\u05da \u05dc\u05d4\u05e4\u05e2\u05d9\u05dc \u05d0\u05d5\u05ea\u05dd \u05d1\u05e8\u05d9\u05e9\u05d5\u05dd \u05d4\u05d9\u05e9\u05d5\u05d9\u05d5\u05ea \u05dc\u05d0\u05d7\u05e8 \u05ea\u05e6\u05d5\u05e8\u05ea \u05d4\u05e9\u05d9\u05dc\u05d5\u05d1.\n \u05ea\u05d7\u05d6\u05d9\u05ea \u05de\u05d6\u05d2 \u05d4\u05d0\u05d5\u05d5\u05d9\u05e8 \u05d0\u05d9\u05e0\u05d4 \u05de\u05d5\u05e4\u05e2\u05dc\u05ea \u05db\u05d1\u05e8\u05d9\u05e8\u05ea \u05de\u05d7\u05d3\u05dc. \u05d1\u05d9\u05db\u05d5\u05dc\u05ea\u05da \u05dc\u05d4\u05e4\u05e2\u05d9\u05dc \u05d0\u05ea \u05d6\u05d4 \u05d1\u05d0\u05e4\u05e9\u05e8\u05d5\u05d9\u05d5\u05ea \u05d4\u05e9\u05d9\u05dc\u05d5\u05d1."
},
"error": {
"cannot_connect": "\u05d4\u05d4\u05ea\u05d7\u05d1\u05e8\u05d5\u05ea \u05e0\u05db\u05e9\u05dc\u05d4",
"invalid_api_key": "\u05de\u05e4\u05ea\u05d7 API \u05dc\u05d0 \u05d7\u05d5\u05e7\u05d9",
"requests_exceeded": "\u05d0\u05d9\u05e8\u05e2\u05d4 \u05d7\u05e8\u05d9\u05d2\u05d4 \u05de\u05de\u05e1\u05e4\u05e8 \u05d4\u05d1\u05e7\u05e9\u05d5\u05ea \u05d4\u05de\u05d5\u05ea\u05e8 \u05dc-API \u05e9\u05dc Accuweather. \u05e2\u05dc\u05d9\u05da \u05dc\u05d4\u05de\u05ea\u05d9\u05df \u05d0\u05d5 \u05dc\u05e9\u05e0\u05d5\u05ea \u05d0\u05ea \u05de\u05e4\u05ea\u05d7 \u05d4-API."
},
"step": {
"user": {
"data": {
"api_key": "\u05de\u05e4\u05ea\u05d7 API",
"latitude": "\u05e7\u05d5 \u05e8\u05d5\u05d7\u05d1",
"longitude": "\u05e7\u05d5 \u05d0\u05d5\u05e8\u05da",
"name": "\u05e9\u05dd"
}
}
}
},
"entity": {
"sensor": {
"pressure_tendency": {
"state": {
"falling": "\u05e9\u05d5\u05e7\u05e2\u05ea",
"rising": "\u05d6\u05d5\u05e8\u05d7\u05ea",
"steady": "\u05d9\u05e6\u05d9\u05d1"
}
}
}
},
"options": {
"step": {
"init": {
"data": {
"forecast": "\u05ea\u05d7\u05d6\u05d9\u05ea \u05de\u05d6\u05d2 \u05d4\u05d0\u05d5\u05d5\u05d9\u05e8"
},
"description": "\u05d1\u05e9\u05dc \u05de\u05d2\u05d1\u05dc\u05d5\u05ea \u05d4\u05d2\u05d9\u05e8\u05e1\u05d4 \u05d4\u05d7\u05d9\u05e0\u05de\u05d9\u05ea \u05e9\u05dc \u05de\u05e4\u05ea\u05d7 \u05d4-API \u05e9\u05dc AccuWeather, \u05db\u05d0\u05e9\u05e8 \u05ea\u05e4\u05e2\u05d9\u05dc \u05ea\u05d7\u05d6\u05d9\u05ea \u05de\u05d6\u05d2 \u05d0\u05d5\u05d5\u05d9\u05e8, \u05e2\u05d3\u05db\u05d5\u05e0\u05d9 \u05e0\u05ea\u05d5\u05e0\u05d9\u05dd \u05d9\u05d1\u05d5\u05e6\u05e2\u05d5 \u05db\u05dc 80 \u05d3\u05e7\u05d5\u05ea \u05d1\u05de\u05e7\u05d5\u05dd \u05db\u05dc 40 \u05d3\u05e7\u05d5\u05ea."
}
}
},
"system_health": {
"info": {
"can_reach_server": "\u05d4\u05e9\u05d2\u05ea \u05e9\u05e8\u05ea AccuWeather",
"remaining_requests": "\u05d4\u05d1\u05e7\u05e9\u05d5\u05ea \u05d4\u05e0\u05d5\u05ea\u05e8\u05d5\u05ea \u05de\u05d5\u05ea\u05e8\u05d5\u05ea"
}
}
}

View File

@@ -1,52 +0,0 @@
{
"config": {
"abort": {
"single_instance_allowed": "M\u00e1r konfigur\u00e1lva van. Csak egy konfigur\u00e1ci\u00f3 lehets\u00e9ges."
},
"create_entry": {
"default": "Egyes \u00e9rz\u00e9kel\u0151k alap\u00e9rtelmez\u00e9s szerint nincsenek enged\u00e9lyezve. Az integr\u00e1ci\u00f3s konfigur\u00e1ci\u00f3 ut\u00e1n enged\u00e9lyezheti \u0151ket az entit\u00e1s rendszerle\u00edr\u00f3 adatb\u00e1zis\u00e1ban.\nAz id\u0151j\u00e1r\u00e1s-el\u0151rejelz\u00e9s alap\u00e9rtelmez\u00e9s szerint nincs enged\u00e9lyezve. Ezt az integr\u00e1ci\u00f3s be\u00e1ll\u00edt\u00e1sokban enged\u00e9lyezheti."
},
"error": {
"cannot_connect": "Sikertelen csatlakoz\u00e1s",
"invalid_api_key": "\u00c9rv\u00e9nytelen API kulcs",
"requests_exceeded": "Accuweather API-hoz enged\u00e9lyezett lek\u00e9r\u00e9sek sz\u00e1ma t\u00fal lett l\u00e9pve. Meg kell v\u00e1rnia m\u00edg a tilt\u00e1s lej\u00e1r vagy m\u00f3dos\u00edtania kell az API-kulcsot."
},
"step": {
"user": {
"data": {
"api_key": "API kulcs",
"latitude": "Sz\u00e9less\u00e9g",
"longitude": "Hossz\u00fas\u00e1g",
"name": "Elnevez\u00e9s"
}
}
}
},
"entity": {
"sensor": {
"pressure_tendency": {
"state": {
"falling": "Cs\u00f6kken\u0151",
"rising": "Emelked\u0151",
"steady": "\u00c1lland\u00f3"
}
}
}
},
"options": {
"step": {
"init": {
"data": {
"forecast": "Id\u0151j\u00e1r\u00e1s el\u0151rejelz\u00e9s"
},
"description": "Az AccuWeather API-kulcs ingyenes verzi\u00f3j\u00e1nak korl\u00e1tai miatt az id\u0151j\u00e1r\u00e1s-el\u0151rejelz\u00e9s enged\u00e9lyez\u00e9sekor az adatok friss\u00edt\u00e9se 40 perc helyett 80 percenk\u00e9nt t\u00f6rt\u00e9nik."
}
}
},
"system_health": {
"info": {
"can_reach_server": "\u00c9rje el az AccuWeather szervert",
"remaining_requests": "Fennmarad\u00f3 enged\u00e9lyezett k\u00e9r\u00e9sek"
}
}
}

View File

@@ -1,52 +0,0 @@
{
"config": {
"abort": {
"single_instance_allowed": "Sudah dikonfigurasi. Hanya satu konfigurasi yang diizinkan."
},
"create_entry": {
"default": "Beberapa sensor tidak diaktifkan secara default. Anda dapat mengaktifkannya di registri entitas setelah konfigurasi integrasi.\nPrakiraan cuaca tidak diaktifkan secara default. Anda dapat mengaktifkannya di opsi integrasi."
},
"error": {
"cannot_connect": "Gagal terhubung",
"invalid_api_key": "Kunci API tidak valid",
"requests_exceeded": "Jumlah permintaan yang diizinkan ke API Accuweather telah terlampaui. Anda harus menunggu atau mengubah Kunci API."
},
"step": {
"user": {
"data": {
"api_key": "Kunci API",
"latitude": "Lintang",
"longitude": "Bujur",
"name": "Nama"
}
}
}
},
"entity": {
"sensor": {
"pressure_tendency": {
"state": {
"falling": "Turun",
"rising": "Naik",
"steady": "Tetap"
}
}
}
},
"options": {
"step": {
"init": {
"data": {
"forecast": "Prakiraan cuaca"
},
"description": "Karena keterbatasan versi gratis kunci API AccuWeather, ketika Anda mengaktifkan prakiraan cuaca, pembaruan data akan dilakukan setiap 80 menit, bukan setiap 40 menit."
}
}
},
"system_health": {
"info": {
"can_reach_server": "Keterjangkauan server AccuWeather",
"remaining_requests": "Sisa permintaan yang diizinkan"
}
}
}

Some files were not shown because too many files have changed in this diff Show More