Compare commits

...

2986 Commits

Author SHA1 Message Date
c0ffeeca7
83458d24c7 Implement review comments from #104658 2023-11-29 05:36:29 +00:00
c0ffeeca7
df6d43adc4 Fix style 2023-11-28 17:44:45 +00:00
c0ffeeca7
5cbfc1c224 Add info what to enter into host field 2023-11-28 17:35:21 +00:00
Franck Nijhof
2a4a5d0a07 Update cryptography to 41.0.7 (#104632) 2023-11-28 12:09:12 +01:00
Maciej Bieniek
2d2e215e2c Fix Tractive switch availability (#104502) 2023-11-28 12:08:12 +01:00
Christopher Fenner
1ef97ab6f8 Set min, max, and step for ViCare number entities (#104593)
Co-authored-by: Robert Resch <robert@resch.dev>
2023-11-28 10:53:59 +01:00
Christopher Fenner
d1463a81d3 Fix async issue in ViCare climate entity (#104619)
* use async executor

* use async executor

* Revert "use async executor"

This reverts commit 4913e05b1c.

* Revert "use async executor"

This reverts commit 40abc10362.

* fix async issue
2023-11-28 10:19:20 +01:00
Franck Nijhof
f149c809c2 Add field description for Roku host (#104631)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-11-28 10:03:57 +01:00
Teemu R
28a3d36bc1 Remove eq3btsmart integration (#94698) 2023-11-28 09:11:32 +01:00
mkmer
d318155f09 Move to new service handeling methods in Blink (#103435) 2023-11-28 08:34:41 +01:00
Allen Porter
a1aff5f4a0 Add websocket todo/item/subscribe for subscribing to changes to todo list items (#103952)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-11-28 08:27:51 +01:00
J. Nick Koston
e048ad5a62 Bump aioesphomeapi to 19.1.4 (#104629) 2023-11-28 08:20:04 +01:00
J. Nick Koston
7d45227a59 Bump aioesphomeapi to 19.1.3 (#104628)
- small fix for aioesphomeapi-discover
- 100% line coverage for the library
- fix not backing off on encryption errors (fixes #104624)

changelog: https://github.com/esphome/aioesphomeapi/compare/v19.1.1...v19.1.3
2023-11-27 19:48:29 -06:00
Ville Skyttä
e594c19c1e Upgrade huawei-lte-api to 1.7.3 (#104613) 2023-11-27 22:05:46 +01:00
Ville Skyttä
fd5cda4ec6 Issue bytes vs str related warnings from tests (#101186) 2023-11-27 21:59:54 +01:00
sdb9696
5cde367366 Bump ring_doorbell to 0.8.3 (#104611) 2023-11-27 21:49:33 +01:00
Ville Skyttä
04ba7fcbf4 Update leftover comment reference from black to ruff (#104605) 2023-11-27 21:42:11 +01:00
Jan-Philipp Benecke
7efc581a48 Remove duplicate fixture from bsblan (#104612) 2023-11-27 21:35:13 +01:00
Aarni Koskela
b994141bc6 CI: simplify Ruff-related things (#104602) 2023-11-27 21:23:37 +01:00
On Freund
ba33ad6b18 OurGroceries review comments (#104606) 2023-11-27 20:21:07 +01:00
Thijs Putman
360ef894a7 Use non-persistent connection for MPD (#94507)
* Do not use a persistent connection to MPD

In other words, don't rely on the connection management provided by
"python-mpd2". Instead of keeping the connection to MPD open, we
explicitly connect before and disconnect after each command.

There is probably a bit of overhead to this, but as the integration
uses a local-polling approach to begin with, no functionality is lost or
degraded.

This change greatly hardens the MPD integration against both network
issues and problems with the daemon itself. All connection-related
failure modes have effectively been removed.

* Update state retrieval methods

Only "async_get_media_image" attempts to connect, all others are either
called from there, or from the main "async_update" method (see previous
commit) which also attempts to connect.

So, this commit mainly revolves around gracefully handling situations
where no connection is available when trying to retrieve MPD state.

Finally, note the removal of "self._commands". This property is only
used at the start of "_async_get_file_image_response" and was thus
changed into a local variable.

* Update media-player control methods

These all need to explicitly connect to MPD as part of their flow.

* Correct ruff failure (auto-fixed)

* Use "async_timeout.timeout" context manager

* Minor changes

* Replace "async_timeout" with "asyncio.timeout"

* Initialise "self._status" to empty dictionary

Used to be initialised as None, which caused "NoneType is not iterable"
type of issues in case of an unexpected disconnect (at which point
status gets set to None again). Instead of guarding against None
everywhere, using an empty dictionary seemed more prudent...

Furthermore, more cautiously access its members to prevent potential
KeyError-s in similar cases.

* Fix livelock in "async_mute_volume()"

This method doesn't need a connection; it calls into two other methods
that actually connect to MPD – attempting to connect from here resulted
in a livelock.
2023-11-27 18:35:46 +01:00
Ville Skyttä
2a4ab3d53d Support HTTPS connections to Huawei LTE devices (#86119)
* Support HTTPS connections to Huawei LTE devices

Not all devices support HTTPS, so we default to plain HTTP still.

Ones that do are very likely to have certificates that do not pass
hostname verification, and are either self signed or issued by an
untrusted CA. Add option to use unverified HTTPS to make it possible to
connect to these, and when in effect, filter urllib3's related warnings
about insecure connections to the hostname in question.

* Use common config key and strings for certificate verification settings

Even though the wording might be slightly suboptimal here, it's better
to be consistent across the codebase than to finetune on this level.

This also switches the default the other way around: verification is
now disabled by default. This is not a good general default, but for
this particular case setups where the verification would succeed would
be so rare and require considerable local setup that it's very
unlikely to happen in practice.

* Add config flow tests

* Mock logout for better test coverage

* Set up custom requests session only when using unverified https

* Add https config flow test case

* Make better use of verify SSL default
2023-11-27 18:03:29 +01:00
Pascal Reeb
239d7c9d80 Enable the use of non-encrypted token in Nuki (#104007) 2023-11-27 17:28:13 +01:00
Allen Porter
664aca2c68 Fix rainbird duplicate devices (#104528)
* Repair duplicate devices added to the rainbird integration

* Apply suggestions from code review

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

* Update tests/components/rainbird/test_init.py

* Remove use of config_entry.async_setup

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-11-27 07:43:03 -08:00
J. Nick Koston
74d7d02833 Bump aiohttp-fast-url-dispatcher to 0.3.0 (#104592) 2023-11-27 09:04:04 -06:00
Christopher Fenner
a5934e9acc Handle preset change errors in ViCare integration (#103992) 2023-11-27 15:35:43 +01:00
Aarni Koskela
706add4a57 Switch formatting from black to ruff-format (#102893)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-11-27 14:38:59 +01:00
Robert Resch
cf9b0e804f Deprecate legacy api auth provider (#104409)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-11-27 14:16:18 +01:00
Matthias Alphart
5550dcbec8 Add textual representation entities for Fronius status codes (#94155)
* optionally decouple `EntityDescription.key` from API response key

this makes it possible to have multiple entities for a single API response field

* Add optional `value_fn` to EntityDescriptions

eg. to be able to map a API response value to a different value (status_code -> message)

* Add inverter `status_message` entity

* Add meter `meter_location_description` entity

* add external battery state

* Make Ohmpilot entity state translateable

* use built-in StrEnum

* test coverage

* remove unnecessary checks

None is handled before
2023-11-27 13:59:25 +01:00
Marc Mueller
ba8e2ed7d6 Improve picnic typing (#104587) 2023-11-27 13:13:02 +01:00
epenet
a5fd479608 Bump sfrbox-api to 0.0.8 (#104580) 2023-11-27 12:30:51 +01:00
Maciej Bieniek
855c2da64e Bump gios to version 3.2.2 (#104582) 2023-11-27 12:15:55 +01:00
CodingSquirrel
b4553f19a1 Poll econet water heater once an hour (#90961) 2023-11-27 11:16:10 +01:00
mkmer
669b347ed1 Add init test to Blink (#103263) 2023-11-27 11:13:40 +01:00
Joost Lekkerkerker
ccc8804906 Bump aiowithings to 2.0.0 (#104579) 2023-11-27 10:53:41 +01:00
ufodone
9907e11b03 Remove code owner for envisalink integration (#103864) 2023-11-27 09:59:18 +01:00
Maciej Bieniek
b3ff30a9c8 Bump accuweather to version 2.1.1 (#104563) 2023-11-27 09:49:46 +01:00
epenet
5ba70ef2cb Fix AccessDeniedException handling in Renault (#104574) 2023-11-27 09:19:58 +01:00
Jesse Hills
95c771e330 Send esphome tts_stream event after audio bytes are actually loaded into memory (#104448)
Send tts_stream event after audio bytes are actually loaded into memory
2023-11-27 09:00:39 +01:00
J. Nick Koston
7fbf68fd11 Bump aioesphomeapi to 19.1.1 (#104569)
- Fixes races in bluetooth connections
- The client now has 100% coverage
- The library is approaching ~100% coverage
- Minor performance improvement

changelog: https://github.com/esphome/aioesphomeapi/compare/v19.1.0...v19.1.1

coverage: https://app.codecov.io/gh/esphome/aioesphomeapi/tree/main
2023-11-27 08:56:06 +01:00
Franck Nijhof
321b24b146 Improve user-facing error messages in HomeWizard Energy (#104547) 2023-11-27 07:47:46 +01:00
Maciej Bieniek
670e5a2eae Bump nettigo-air-monitor to version 2.2.2 (#104562)
Bump nettigo-air-monitor to version 2.2.2
2023-11-26 22:05:50 +01:00
Jan-Philipp Benecke
b49505b390 Add reauth flow to co2signal (#104507) 2023-11-26 20:45:45 +01:00
Hessel
53e78cb017 Wallbox Change Minimum Value Charging Current (#104553) 2023-11-26 20:40:27 +01:00
J. Nick Koston
06b74249f7 Bump aioesphomeapi to 19.1.0 (#104557) 2023-11-26 19:48:35 +01:00
dotvav
087efb7545 Add Hitachi air to air heat pumps to the Climate platform (#104517) 2023-11-26 17:55:48 +01:00
jan iversen
be889c89c1 Update modbus validate table to be 3 state, to simplify the code (#104514) 2023-11-26 17:49:51 +01:00
On Freund
6e5dfa0e9b Add OurGroceries integration (#103387)
* Add OurGroceries integration

* Handle review comments

* Fix coordinator test

* Additional review comments

* Address code review comments

* Remove devices
2023-11-26 17:38:47 +01:00
Jan Bouwhuis
8a1f7b6802 Add translation key for some mqtt exceptions (#104550) 2023-11-26 17:33:54 +01:00
Jan-Philipp Benecke
b314df272f Cleanup Discovergy a bit (#104552)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-11-26 17:32:47 +01:00
Christopher Fenner
ad17acc6ca Fix async issue in ViCare integration (#104541)
* use async executor for get_circuits

* use async executor for get_burners and get_compressors
2023-11-26 15:28:58 +01:00
Maciej Bieniek
14387cf94b Remove Shelly Wall Display switch entity only if the relay is used as the thermostat actuator (#104506) 2023-11-26 14:46:29 +01:00
Maciej Bieniek
c831802774 Bump nextdns to version 2.1.0 (#104545) 2023-11-26 13:14:01 +01:00
Bouwe Westerdijk
959b98be0e Plugwise: bug-fix for Anna + Techneco Elga combination (#104521) 2023-11-26 13:08:10 +01:00
Joost Lekkerkerker
2e1c722303 Add entity translations to Balboa (#104543) 2023-11-26 13:07:21 +01:00
Joost Lekkerkerker
e3599bc26f Move APCUPSd coordinator to separate file (#104540) 2023-11-26 13:04:52 +01:00
Franck Nijhof
32eab2c7ed Remove duplicate sensors on single phase HomeWizard meters (#104493)
Co-authored-by: Duco Sebel <74970928+DCSBL@users.noreply.github.com>
2023-11-26 11:42:47 +01:00
Joost Lekkerkerker
4a5b1ab301 Migrate Epson to has entity name (#98164) 2023-11-26 11:42:30 +01:00
Franck Nijhof
bd27358398 Adjust HomeWizard test fixtures to match actual devices (#104537) 2023-11-26 11:09:14 +01:00
Christopher Fenner
e2e58c4495 Fix translation key in ViCare integration (#104536)
fix translation key
2023-11-26 10:49:06 +01:00
Raman Gupta
a074c06f92 Add alert to zwave_js device info page for custom device config (#104115) 2023-11-26 10:08:20 +01:00
Joakim Plate
b42629ecf3 Update nibe heatpump dependency to 2.5.2 (#104526)
Bump nibe to 2.5.2
2023-11-26 03:51:55 +01:00
Joost Lekkerkerker
8ffad6f7a6 Bump aiowithings to 1.0.3 (#104530) 2023-11-26 03:01:45 +01:00
Christopher Fenner
76f78d7747 Bump PyViCare to 2.29.0 (#104516)
* Update requirements_all.txt

* Update requirements_test_all.txt

* Update manifest.json
2023-11-26 01:01:53 +01:00
J. Nick Koston
498bea09f2 Bump aioesphomeapi to 19.0.1 (#104527) 2023-11-25 15:46:19 -06:00
jan iversen
86b172037b Add address to error text in modbus (#104520) 2023-11-25 21:28:49 +01:00
J. Nick Koston
fc5ae50e06 Bump aioesphomeapi to 19.0.0 (#104512) 2023-11-25 14:00:04 -06:00
Tudor Sandu
837f34c40c Add scene.delete service for dynamically created scenes (with scene.create) (#89090)
* Added scene.delete service

Only for scenes created with scene.create

* Refactor after #95984 #96390

* Split scene validation in 2

First, check if entity_id is a scene
Second, check if it's a scene created with `scene.create`

* Address feedback

- Move service to `homeassistant` domain
- Register with `platform.async_register_entity_service`
- Raise validation errors instead of just logging messages

* Revert moving the service to the `homeassistant` domain

* Remove unneeded validation

* Use helpers and fix tests

* Apply suggestions from code review

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

* Fix linting

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-11-25 20:14:48 +01:00
Christopher Fenner
48f8cec84b Add reuse functions to access circuits, burners and compressors in ViCare integration (#104371) 2023-11-25 15:47:45 +01:00
cronjefourie
03caa21a51 Add additional sensors for Tuya DIN (#98752)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-11-25 15:47:03 +01:00
Michael Hansen
71268bd407 Add HassClimateGetTemperature intent (#102831) 2023-11-25 14:50:44 +01:00
Franck Nijhof
eb472d9f71 Update sentry-sdk to 1.37.1 (#104499) 2023-11-25 14:43:30 +01:00
Avi Miller
e821ff8b49 Bump aiolifx and aiolifx-themes to support new LIFX devices (#104498) 2023-11-25 14:42:53 +01:00
Rami Mosleh
dd028220ba Use iso8601 format when fetching prayer times (#104458) 2023-11-25 14:05:08 +01:00
Christopher Fenner
17cef8940f Add translation keys to ViCare integration (#104425)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-11-25 13:11:29 +01:00
Paulus Schoutsen
1cfbdd6a5d Allow overriding blueprints on import (#103340)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-11-25 11:49:50 +01:00
Daniel Hjelseth Høyer
af7155df7a Fix link in Tibber configuration menu (#104322)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-11-25 11:41:20 +01:00
Xitee
ceb2680185 Add available state to OctoPrint camera (#104162) 2023-11-25 11:34:50 +01:00
tronikos
c685d56e82 Add long term statistics for IPP ink/toner levels (#102632) 2023-11-25 10:46:49 +01:00
G Johansson
8376a6bda9 Change to language selector in Workday (#104472) 2023-11-25 10:44:15 +01:00
J. Nick Koston
df37ee4033 Remove chatty ESPHome state debug logging (#104477) 2023-11-25 10:41:51 +01:00
J. Nick Koston
1c4d7e9588 Improve test coverage for ESPHome deep sleep entities (#104476) 2023-11-25 09:20:56 +01:00
Jan Bouwhuis
487ff8cd7f Rename ex to exc as name for exceptions (#104479) 2023-11-25 08:30:18 +01:00
J. Nick Koston
b94c9c8f6d Bump bluetooth-data-tools to 1.15.0 (#104480)
changelog: https://github.com/Bluetooth-Devices/bluetooth-data-tools/compare/v1.14.0...v1.15.0
2023-11-25 08:21:25 +01:00
Franck Nijhof
8273427974 Complete tests for HomeWizard energy plug HWE-SKT (#104474) 2023-11-24 17:38:39 -06:00
J. Nick Koston
4860daf1f9 Bump aioesphomeapi to 18.5.9 (#104465) 2023-11-24 17:29:19 -06:00
sdb9696
0c39c18aaf Bump ring_doorbell to 0.8.2 with listen extra (#104033) 2023-11-24 15:20:09 -06:00
Jan Bouwhuis
19040becd3 Fix hassio mqtt discovery CI test (#104463)
* Fix hassio mqtt discovery CI test

* Avoid mqtt set up before mocking the flow

* Fix mock
2023-11-24 21:54:53 +01:00
Duco Sebel
d4458cbac4 Fix HomeWizard sensors unavailable when value is '0' (#104302)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-11-24 21:38:46 +01:00
Jan-Philipp Benecke
94995f560f Add sensor tests to co2signal (#104464) 2023-11-24 21:35:36 +01:00
Jan Bouwhuis
9962301b42 Do not notify config errors during logging (#104466) 2023-11-24 21:34:09 +01:00
Bouwe Westerdijk
4700ad7817 Add HVACMode.OFF to Plugwise Adam (#103360) 2023-11-24 20:07:17 +01:00
Simone Chemelli
e161bb9e41 fix BLE stop error for disconnected Shelly devices (#104457) 2023-11-24 20:56:15 +02:00
Maciej Bieniek
2515dbeee1 Bump aioshelly to version 6.1.0 (#104456)
* Bump aioshelly

* Use MODEL_* consts from aioshelly

* Add missing models to BATTERY_DEVICES_WITH_PERMANENT_CONNECTION
2023-11-24 20:55:00 +02:00
Jan-Philipp Benecke
724352d55c Use AsyncMock and fixtures in co2signal tests (#104041) 2023-11-24 18:56:58 +01:00
disforw
95cfe41f87 Add toggle switch to Daikin HVAC units (#95954)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-11-24 18:53:59 +01:00
Marc-Olivier Arsenault
b14a7edb55 Add compWaterHeater to ecobee HVAC actions (#103278) 2023-11-24 18:32:20 +01:00
Jan Bouwhuis
af71c2bb45 Raise and suppress stack trace when reloading yaml fails (#102410)
* Allow async_integration_yaml_config to raise

* Docstr - split check

* Implement as wrapper, return dataclass

* Fix setup error handling

* Fix reload test mock

* Move log_messages to error handler

* Remove unreachable code

* Remove config test helper

* Refactor and ensure notifications during setup

* Remove redundat error, adjust tests notifications

* Fix patch

* Apply suggestions from code review

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

* Follow up comments

* Add call_back decorator

* Split long lines

* Update exception abbreviations

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-11-24 17:34:45 +01:00
Robert Resch
852fb58ca8 Extend auth/providers endpoint and add /api/person/list endpoint for local ip requests (#103906)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-11-24 17:11:54 +01:00
mkmer
512902fc59 Add Switch platform for motion detection in Blink (#102789)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-11-24 17:02:19 +01:00
dotvav
a1701f0c56 Support HitachiAirToAirHeatPump (hlrrwifi:HLinkMainController) in Overkiz (#103803) 2023-11-24 15:00:36 +01:00
Hejki
65a2f5bcd5 Support for group into command_line auth provider (#92906)
Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-11-24 13:19:25 +01:00
Joseph
df025b5993 Enumerate openai.Models to validate config (#99438) 2023-11-24 13:14:44 +01:00
Duco Sebel
62473936e2 Allow adding items Picnic shopping cart by searching (#102862)
Co-authored-by: Robert Resch <robert@resch.dev>
2023-11-24 13:06:32 +01:00
Maciej Bieniek
adc56b6b67 Add support for Shelly Wall Display in thermostat mode (#103937) 2023-11-24 12:55:41 +01:00
Paulus Schoutsen
130822fcc6 Attach Matter info to Google Assistant serialize (#103768) 2023-11-24 12:55:05 +01:00
Allen Porter
378a708bf7 Only show Google Tasks that are parents and fix ordering (#103820) 2023-11-24 12:54:49 +01:00
Tom Harris
4096687112 Allow for manual config entry of Insteon PLM path (#103705) 2023-11-24 12:33:51 +01:00
Robert Hillis
76427a0080 Deprecate Harmony switch platform (#92787)
* Deprecate Harmony switches

* uno mas

* add test for issues

* switch to remote

* uno mas
2023-11-24 11:54:43 +01:00
starkillerOG
e9dd158a8d Reolink ptz service to specify move speed (#104350) 2023-11-24 11:50:16 +01:00
J. Nick Koston
9ed745638d Chunk purging attributes and data ids for old SQLite versions (#104296) 2023-11-24 11:46:02 +01:00
Robert Svensson
b41b56e54c Support new deCONZ Particulate Matter endpoint (#104276) 2023-11-24 11:39:13 +01:00
Eugenio Panadero
3c72cd7612 Await step in config-flow instead of moving to another form (#104412)
* Await step in config-flow instead of moving to another form

* Fix call to step-api-token

* Fix condition in step-api-token
2023-11-24 11:28:49 +01:00
Franck Nijhof
560ac3d087 Remove Wiz entity descriptions required fields mixins (#104005) 2023-11-24 11:26:21 +01:00
Jan-Philipp Benecke
6f54aaf564 Introduce base entity for ping (#104197) 2023-11-24 11:20:34 +01:00
Robert Svensson
6271fe333d Rework some UniFi unique IDs (#104390) 2023-11-24 11:18:55 +01:00
Geir Råness
d4450c6c55 Add Z-wave climate sensor override for Heatit Z-TRM6 (#103896)
* add some basic overrides for z-trm6

* switched id and type

* add fixtures some lints

* duplicate tests of z-trm3

* add broken test for trm6

* fix tests, remove name from fixtures, fix comment

* lints

* forgot lints

* add better description on pwer mode

* Update comment v2

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

* fix space from github web merge

* lint on fixture

* fix permissions on fixture

---------

Co-authored-by: geir råness <11741725+geirra@users.noreply.github.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-11-24 11:01:15 +01:00
dependabot[bot]
a3eb44209d Bump github/codeql-action from 2.22.7 to 2.22.8 (#104444)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-24 10:58:05 +01:00
Martin Hjelmare
b3211fa5ee Clean mqtt patch.dict config entries (#104449) 2023-11-24 10:56:17 +01:00
Isak Nyberg
e03ccb5ab6 Add Mypermobil integration (#95613)
Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: Robert Resch <robert@resch.dev>
2023-11-24 10:40:59 +01:00
Allen Porter
114ca70961 Bump gcal_sync to 6.0.3 (#104423) 2023-11-24 10:12:00 +01:00
Joakim Plate
60370228f6 Update nibe heatpump dependency to 2.5.1 (#104429) 2023-11-24 10:09:57 +01:00
Marc Mueller
140b563312 Update mypy to 1.7.1 (#104434) 2023-11-24 10:08:48 +01:00
Luke Lashley
6a2fd434fc Bump Python Roborock to 0.36.2 (#104441) 2023-11-24 10:07:16 +01:00
Damian Sypniewski
258a93bf19 Bump yeelight to 0.7.14 (#104439) 2023-11-24 08:39:56 +01:00
J. Nick Koston
b24fa4839d Bump aioesphomeapi to 18.5.7 (#104426) 2023-11-23 22:59:51 +01:00
Robert Svensson
d78c0bd948 Handle 403 errors in UniFi (#104387)
UniFi handle 403 error
2023-11-23 20:25:26 +01:00
Ville Skyttä
616f6aab76 Add Huawei LTE restart and clear traffic statistics buttons (#91967)
* Add Huawei LTE restart and clear traffic statistics buttons

Deprecate corresponding services in favour of these.

* Change to be removed service warnings to issues

* Add tests

* Update planned service remove versions
2023-11-23 19:35:35 +01:00
aptalca
a1f7f899c9 Make SMTP notify send images as attachments if html is disabled (#93562)
smtp notify: send images without html as attachments

update smtp test to detect content_type for plain txt + image
2023-11-23 13:51:51 +01:00
starkillerOG
6b138a276a Add diagnostics platform to Reolink (#104378) 2023-11-23 12:55:21 +01:00
Raman Gupta
e9920ff73d Add select entity for zwave_js Door Lock CC (#104292)
* Add select entity for zwave_js Door Lock CC

* fix test
2023-11-23 12:51:29 +01:00
Michał Huryn
933cd89833 Blebox update IP address if already configured via zeroconf (#90511)
feat: zeroconf, update ip address if device allready configured
2023-11-23 11:15:24 +01:00
Mike Heath
d460eadce0 Add support to fully_kiosk for hybrid local push/pull switches using MQTT (#89010)
* Support hybrid local push/pull switches using MQTT

* Update homeassistant/components/fully_kiosk/entity.py

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

* Fix MQTT subscribe method

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-11-23 10:38:32 +01:00
Klaas Schoute
1144e33e68 Add re-auth config flow strings for Sure Petcare (#104357) 2023-11-23 10:23:15 +01:00
Joakim Sørensen
2febc9c4b3 Force IPv4 when getting location information (#104363) 2023-11-23 09:13:00 +01:00
Klaas Schoute
ada0578f3a Update gridnet lib to v5.0.0 (#104396) 2023-11-23 09:03:20 +01:00
nachonam
a91fad47bc Bump pysuez to 0.2.0 (#104338) 2023-11-23 08:57:15 +01:00
Eugenio Panadero
32aa1aaec2 Add pvpc hourly pricing optional API Token support (#85767)
* 🍱 Add new fixture for PVPC data from authenticated API call

and update mocked server responses when data is not available
(now returns a 200 OK with empty data)

*  Implement optional API token in config-flow + options

to make the data download from an authenticated path in ESIOS server

As this is an *alternative* access, and current public path works for the PVPC,
no user (current or new) is compelled to obtain a token,
and it can be enabled anytime in options, or doing the setup again

When enabling the token, it is verified (or "invalid_auth" error),
and a 'reauth' flow is implemented, which can change or disable the token if
it starts failing.

The 1st step of config/options flow adds a bool to enable this private access,
- if unchecked (default), entry is set for public access (like before)
- if checked, a 2nd step opens to input the token, with instructions
  of how to get one (with a direct link to create a 'request email').
  If the token is valid, the entry is set for authenticated access

The 'reauth' flow shows the boolean flag so the user could disable a bad token
by unchecking the boolean flag 'use_api_token'

* 🌐 Update strings for config/options flows

*  Adapt tests to check API token option and add test_reauth

* 🎨 Link new strings to those in config-flow

* 🐛 tests: Fix mocked date-change with async_fire_time_changed

* ♻️ Remove storage of flag 'use_api_token' in config entry

leaving it only to enable/disable the optional token in the config-flow

* ♻️ Adjust async_update_options
2023-11-23 08:35:30 +01:00
dependabot[bot]
0b213c6732 Bump dessant/lock-threads from 5.0.0 to 5.0.1 (#104403) 2023-11-23 08:20:50 +01:00
deosrc
5623834b37 Add Netatmo temperature services (#104124)
* Update datetime strings to match input_datetime integration

* Add netatmo service to set temperature

* Add netatmo service to clear temperature setting

* Fix formatting

* Add tests for new services

* Fix mypy error

* Fix formatting

* Fix formatting

* Apply suggestions from code review (WIP)

Co-authored-by: G Johansson <goran.johansson@shiftit.se>

* Complete changes from review suggestions

* Fix build error

* Add service to set temperature for time period

* Expand and fix test

* Replace duplicated strings with links

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2023-11-23 08:10:10 +01:00
Klaas Schoute
eaba2c7dc1 Update p1monitor lib to v3.0.0 (#104395) 2023-11-23 07:53:50 +01:00
Christopher Fenner
556e72abf8 Add number entities to adjust heating curve in ViCare integration (#103901)
* add number entity

* use static constraints

* use async execute job

* add number platform

* Update .coveragerc

* remove unused code parts

* add types

* add missing return type

* Apply suggestions from code review

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* Apply suggestions from code review

Co-authored-by: Jan-Philipp Benecke <github@bnck.me>

* fix docstrings

* fix variable names

* add unit of measurement

* remove obsolete unique id handling

* remove hass from constructor

* inline _entities_from_descriptions function

* fix return type

* rename variable

* Apply suggestions from code review

Co-authored-by: Jan-Philipp Benecke <github@bnck.me>

* Apply suggestions from code review

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Jan-Philipp Benecke <github@bnck.me>
2023-11-23 07:29:28 +01:00
J. Nick Koston
a59076d140 Speed up ESPHome connection setup (#104304) 2023-11-22 23:27:17 +01:00
starkillerOG
a3c0f36592 Add Reolink serial number (#104383)
* Add Reolink serial number

* fix tests
2023-11-22 22:54:48 +01:00
Øyvind Matheson Wergeland
3e641b3ef2 Add Nobø Hub week profiles and global override (#80866)
* * Nobø Ecohub select entities
  - Week profiles
  - Global overrides

* Set integration_type

* Typing

* Remove translations

* Translation fixes
- Moved strings.select.json into strings.json
- Added translation keys for select entities
- Use shared translation keys for global override states

* Use DeviceInfo object

* Revert temperature name - uses device class name

* Fix updated checks

* Improve error handling (preparing for Silver level)

* Review
2023-11-22 21:38:13 +01:00
Jan Bouwhuis
3a42bd35e7 Test platform setup errors are notified (#104384)
Test setup errors are notified
2023-11-22 21:16:12 +01:00
starkillerOG
968563253f Bump reolink-aio to 0.8.1 (#104382) 2023-11-22 20:49:21 +01:00
Aarni Koskela
ae4552eb3e Improve Unifi switch entity unique ID naming function (#104370) 2023-11-22 20:02:16 +01:00
Jakub Čermák
41626ed500 Support for more features on smartthings AC (#99424)
* ability to set swing mode on samsung AC

* support for windFree mode on samsung AC

* Apply suggestions from code review

Co-authored-by: G Johansson <goran.johansson@shiftit.se>

* suggestion from code reviews

* Apply suggestions from code review

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2023-11-22 20:00:28 +01:00
Dave T
7a727dc3ad Migrate Aurora_ABB_Powerone to DataUpdateCoordinator (#72363)
* Refactor to DataUpdateCoordinator

* Fix tests for sunset/sunrise

* Correct time offsets in tests

* Fix time intervals (attempt 2)

* Merge dev

* Fix tests after rebase

* Fix isort

* Address review comments: const and increase cov

* Fix merge problems

* Refactor, removing unnecessary file

* Perform blocking serial IO in the executor

* Replace deprecated  async_setup_platforms

* Update based on review comments

* Fix tests

* Update based on review comments.

* Update homeassistant/components/aurora_abb_powerone/sensor.py

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* Use freezer for time deltas.

* Address review comments

---------

Co-authored-by: Dave T <davet2001@users.noreply.github.com>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-11-22 19:04:49 +01:00
Robert Hillis
200804237f Add binary sensor tests to Skybell (#79568)
* Add tests to Skybell

* better way to manage cache

* uno mas

* try ci fix

* temporary

* undo temporary

* ruff

* black

* uno mas

* uno mas

* remove problematic test for now

* reduce to binary sensor tests

* coverage

* move cache to json

* Update tests/components/skybell/conftest.py

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-11-22 18:56:50 +01:00
Joost Lekkerkerker
9278db7344 Rename variable in Overkiz config flow (#104377) 2023-11-22 18:31:18 +01:00
Joost Lekkerkerker
b5f8b35549 Remove Overkiz config flow constructor (#104375) 2023-11-22 17:54:10 +01:00
Luke Lashley
5f41d6bbfb Add better error handling for Roborock initialization (#104181)
* Introduce better handling of errors in init for Roborock

* patch internally

* push exceptions up

* remove duplicated test
2023-11-22 08:34:20 -08:00
Mick Vleeshouwer
75f237b587 Add local API support to Overkiz integration (Somfy TaHoma Developer Mode) (#71644)
* Add initial config flow implementation

* Add initial config flow implementation

* Add todos

* Bugfixes

* Add first zeroconf code

* Fixes for new firmware

* Bugfixes for local integration

* Delete local token

* Fix diagnostics

* Update translations and improve code

* Update translations and improve code

* Add local integration updates

* Add local integration updates

* Small tweaks

* Add comments

* Bugfix

* Small code improvements

* Small code improvements

* Small code improvements

* Small code improvements

* Small code improvements

* Small code improvements

* Bugfixes

* Small code improvements

* Small code improvements

* Change Config Flow (breaking change)

* Remove token when integration is unloaded

* Remove print

* Simplify

* Bugfixes

* Improve configflow

* Clean up unnecessary things

* Catch nosuchtoken exception

* Add migration for Config Flow

* Add version 2 migration

* Revert change in Config Flow

* Fix api type

* Update strings

* Improve migrate entry

* Implement changes

* add more comments

* Extend diagnostics

* Ruff fixes

* Clean up code

* Bugfixes

* Set gateway id

* Start writing tests

* Add first local test

* Code coverage to 64%

* Fixes

* Remove local token on remove entry

* Add debug logging + change manifest

* Add developer mode check

* Fix not_such_token issue

* Small text changes

* Bugfix

* Fix tests

* Address feedback

* DRY

* Test coverage to 77%

* Coverage to 78%

* Remove token removal by UUID

* Add better retry methods

* Clean up

* Remove old data

* 87% coverage

* 90% code coverage

* 100% code coverage

* Use patch.multiple

* Improve tests

* Apply pre-commit after rebase

* Fix breaking changes in ZeroconfServiceInfo

* Add verify_ssl

* Fix test import

* Fix tests

* Catch SSL verify failed

* Revert hub to server rename

* Move Config Flow version back to 1

* Add diagnostics tests

* Fix tests

* Fix strings

* Implement feedback

* Add debug logging for local connection errors

* Simplify Config Flow and fix tests

* Simplify Config Flow

* Fix verify_ssl

* Fix rebase mistake

* Address feedback

* Apply suggestions from code review

* Update tests/components/overkiz/test_config_flow.py

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-11-22 16:53:17 +01:00
Florian
01c49ba0e4 Add recording status for Philips TV (#94691) 2023-11-22 14:24:49 +00:00
Marc Mueller
1f3f073df9 Fix idasen_desk coordinator typing (#104361) 2023-11-22 14:08:22 +01:00
Malene Trab
60dcd24bf9 Remove MTrab from Repetier CodeOwners (#104356)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-11-22 13:32:36 +01:00
Bouwe Westerdijk
0996c82c02 Plugwise: limit _attr_max_temp to 35.0 for thermostats that report a max of 100. (#104324) 2023-11-22 13:20:33 +01:00
Klaas Schoute
02e09ed4cc Update odp-amsterdam lib to v6.0.0 (#104339) 2023-11-22 10:24:10 +01:00
Mick Vleeshouwer
254d43dcf7 Support tilt commands for DynamicVenetianBlind in Overkiz (#104330) 2023-11-22 10:23:19 +01:00
Franck Nijhof
4f94649ee2 Update sentry-sdk to 1.36.0 (#104317) 2023-11-22 10:14:46 +01:00
IceBotYT
cbb5d7ea39 Add Linear Garage Door integration (#91436)
* Add Linear Garage Door integration

* Add Linear Garage Door integration

* Remove light platform

* Add tests for diagnostics

* Changes suggested by Lash

* Minor refactoring

* Various improvements

* Catch up to dev, various fixes

* Fix DeviceInfo import

* Use the HA dt_util

* Update tests/components/linear_garage_door/test_cover.py

* Apply suggestions from code review

---------

Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-11-22 09:35:31 +01:00
starkillerOG
6c6e85f996 Reolink use parenthesis for multi-line lambda (#104321)
Use parenthesis
2023-11-22 08:50:29 +01:00
J. Nick Koston
59469828f1 Bump aioesphomeapi to 18.5.6 (#104341) 2023-11-22 08:43:52 +01:00
Duco Sebel
af15aab35e Add Picnic shopping cart as Todo list (#102855)
Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: Allen Porter <allen.porter@gmail.com>
2023-11-22 08:40:19 +01:00
Vaarlion
3929b0163c Add RGB, RGBW and RGBWW capability to template.light (#86047)
* Add RGB, RGBW and RGBWW capability to template.light

Add the required unit test

Mute 'LightTemplate.async_turn_on' is too complex

Rename all HS color mode from a generic "Color" name to a specific "HS" name

* Bring back legacy "color" keyword

* Cleanup unrequested commented test

* Increase code coverage to 100%

* Remove confusing if that should never be false

* Apply suggestions from code review

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-11-22 08:15:26 +01:00
Robert Svensson
edf18df0e6 Add PoE power cycle button to UniFi integration (#104332) 2023-11-22 07:02:49 +01:00
Robert Svensson
f1fd8a0d2b Bump aiounifi to v66 (#104336) 2023-11-22 07:02:13 +01:00
Luke Lashley
464270d849 Add reauthentication to Roborock (#104215)
* add reauth to roborock

* update reauth based on comments

* fix diagnostics?

* Update homeassistant/components/roborock/config_flow.py

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

* remove unneeded import

* fix tests coverage

---------

Co-authored-by: Allen Porter <allen.porter@gmail.com>
2023-11-21 15:21:31 -08:00
starkillerOG
aea15ee20c Reolink add media browser for playback of recordings (#103407) 2023-11-21 23:43:56 +01:00
Klaas Schoute
91e0a53cb2 Move to asyncio.timeout for APC integration (#104340)
Move to asyncio.timeout for apcupsd
2023-11-21 23:29:46 +01:00
Yuxin Wang
33c5d1855d Rewrite APCUPSD sensors using DataUpdateCoordinator (#88467)
* Add test sensor.

* Fix sensor test file name.

* Add binary sensor test.

* Fix comments and styling.

* Remove apcupsd from omissions in coveragerc.

* Revert "Remove apcupsd from omissions in coveragerc."

This reverts commit 66b05fcb8829619a771a650a3d70174089e15d91.

* Implement the data coordinator for apcupsd.

* Add tests for sensor updates and throttles.

* Reorder the statement for better code clarity.

* Update docstring.

* Add more tests for checking if the coordinator works ok.

* Implement a custom debouncer with 5 second cooldown for the coordinator.

* Add more tests for checking if our integration is able to properly mark entity's availability.

* Make apcupsd a silver integration.

* Try to fix non-deterministic test behaviors

* Fix JSON format

* Use new `with` format in python 3.10 for better readability

* Update tests.

* Rebase and simplify code.

* Add an ups prefix to the property methods of the coordinator

* Replace init_integration with async_init_integration

* Lint fixes

* Fix imports

* Update BinarySensor implementation to add initial update of attributes

* Fix test failures due to rebases

* Reorder the statements for better code clarity

* Fix incorrect references to the ups_name property

* Simplify BinarySensor value getter code

* No need to update when adding coordinator-controlled sensors
2023-11-21 22:40:05 +01:00
Luke Lashley
f45d373e17 Make non-selected Roborock images diagnostic (#104233)
* Make images diagnostic

* Add return type

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-11-21 20:45:53 +01:00
Marcel van der Veldt
b604c1c222 Fix discovery schema for Matter switches (#103762)
* Fix discovery schema for matter switches

* fix typo in function that generates device name

* add test for switchunit
2023-11-21 20:25:07 +01:00
Allen Porter
95e322c52e Set Motion Blinds battery sensor as a diagnostic (#104329) 2023-11-21 10:47:06 -08:00
J. Nick Koston
4c7da97eca Bump python-matter-server to 4.0.2 (#103760)
Co-authored-by: Marcel van der Veldt <m.vanderveldt@outlook.com>
2023-11-21 18:36:50 +01:00
Erik Montnemery
c929b70fba Bump pychromecast to 13.0.8 (#104320) 2023-11-21 17:41:04 +01:00
starkillerOG
6d529a82d7 Reolink improve error handeling (#104301)
* Raise proper HomeAssistantError

* fix styling

* Use ServiceValidationError
2023-11-21 17:21:48 +01:00
Joost Lekkerkerker
dece6c8042 Bump aiowaqi to 3.0.1 (#104314) 2023-11-21 14:49:10 +01:00
starkillerOG
2dd0a74b38 Reolink add animal detection (#104216) 2023-11-21 12:45:02 +01:00
Martin Hjelmare
2d38a42fea Clean stt and tts codeowners (#104307) 2023-11-21 12:21:27 +01:00
Franck Nijhof
9ce161c09d Update vehicle to 2.2.1 (#104299) 2023-11-21 12:21:02 +01:00
Erwin Douna
eb5c7a3e76 Add Fastdotcom config flow (#98686)
* Adding config flow and tests

* Removing update and adding to integrations.json

* Updating hassfest

* Removing comments

* Removing unique ID

* Putting the setup_platform out of order

* Adding feedback on issues and importing

* Removing uniqueID (again)

* Adjusting unload and typo

* Updating manifest properly

* Minor patching

* Removing hass.data.setdefault(DOMAIN, {})

* Moving load_platform to __init__.py

* Update homeassistant/components/fastdotcom/config_flow.py

Co-authored-by: G Johansson <goran.johansson@shiftit.se>

* Update homeassistant/components/fastdotcom/strings.json

Co-authored-by: G Johansson <goran.johansson@shiftit.se>

* Update homeassistant/components/fastdotcom/__init__.py

Co-authored-by: G Johansson <goran.johansson@shiftit.se>

* Update homeassistant/components/fastdotcom/config_flow.py

Co-authored-by: G Johansson <goran.johansson@shiftit.se>

* Adding an unload function for the timer

* Adding issue on setup platform in sensor

* Update homeassistant/components/fastdotcom/config_flow.py

Co-authored-by: G Johansson <goran.johansson@shiftit.se>

* Removing platform

* Fixing strings.json

* Fine-tuning

* Putting back last_state

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2023-11-21 09:59:34 +01:00
Christopher Fenner
5805601a83 Set unique_id by base entity in ViCare integration (#104277)
* set unique_id in ViCareEntity

* remove individual unique_id functions

* remove description

* remove individual _attr_unique_id

* fix return types
2023-11-21 09:53:02 +01:00
Erik Montnemery
6f41243410 Change confusing parameter naming in reload helper (#104257) 2023-11-21 08:25:46 +01:00
Klaas Schoute
f359b33f2e Bump energyzero lib to v1.0.0 (#104288) 2023-11-21 08:19:33 +01:00
Jan Bouwhuis
5c72d3c2d8 Restore removed guard for non-string inputs in Alexa (#104263) 2023-11-21 07:59:39 +01:00
J. Nick Koston
29ac3a8f66 Fix memory leak in ESPHome disconnect callbacks (#104149) 2023-11-21 07:58:22 +01:00
Allen Porter
3e1c12507e Bump pyrainbird to 4.0.1 (#104293) 2023-11-21 07:57:31 +01:00
Klaas Schoute
dad8545138 Bump easyenergy lib to v1.0.0 (#104289) 2023-11-21 07:56:48 +01:00
Erik Montnemery
645f916cf4 Remove support for deprecated light attributes from light scenes (#104254) 2023-11-21 07:51:41 +01:00
Richard Kroegel
d4ca9843e2 Bump bimmer_connected to 0.14.3 (#104282)
Co-authored-by: rikroe <rikroe@users.noreply.github.com>
2023-11-21 07:50:00 +01:00
J. Nick Koston
af6f451cc0 Bump aioesphomeapi to 18.5.5 (#104285) 2023-11-21 07:48:05 +01:00
Franck Nijhof
afc664f83f Update adguardhome to 0.6.3 (#104253) 2023-11-21 07:44:34 +01:00
Mick Vleeshouwer
6f82c2e230 Bump pyOverkiz to 1.13.3 (#104280) 2023-11-20 22:19:04 -08:00
Robert Resch
9d3f374728 Add todo.remove_completed_items service call (#104035)
* Extend `remove_item` service by status

* update services.yaml

* Create own service

* add tests

* Update tests/components/todo/test_init.py

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

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-11-20 22:39:22 +01:00
Øyvind Matheson Wergeland
5527cbd78a Fix default lock code for lock services (#103463)
* verisure: Support default code from lock entity

* Actually use default lock code

* Typing

* Only pass default code if set

* Avoid passing code as empty string

* Simplified code
2023-11-20 22:38:16 +01:00
Blastoise186
5fe5057b15 Bump yt-dlp to 2023.11.16 (#104255)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-20 20:50:15 +01:00
Franck Nijhof
b7f8ddb04c Update pvo to 2.1.1 (#104271) 2023-11-20 19:58:22 +01:00
Jan Bouwhuis
4da77d2253 Use more specific exception type for imap decoding (#104227)
* Use more specific exception type for imap decoding

* Only catch ValueError
2023-11-20 19:55:10 +01:00
Anton Tolchanov
80f8e76fa3 Handle attributes set to None in prometheus (#104247)
Better handle attributes set to None
2023-11-20 19:53:25 +01:00
Franck Nijhof
58a73f7723 Update elgato to 5.1.1 (#104252) 2023-11-20 19:27:55 +01:00
Michael
f69045fb64 Address late fritzbox coordinator runtime device discover review comments (#104267)
replace list comprehension by generator expression
2023-11-20 19:02:02 +01:00
starkillerOG
ce497dd7ed Use entity description for Reolink cameras (#104139)
* Use entity description for cams

* expend for loops
2023-11-20 09:30:39 -08:00
Erik Montnemery
cd5595a130 Use send_json_auto_id in todo tests (#104245)
* Use send_json_auto_id in todo tests

* Update tests
2023-11-20 09:13:37 -08:00
Michael
9c5e0fc2c9 Discover new added device at runtime in AVM Fritz!Smarthome (#103859) 2023-11-20 17:13:52 +01:00
Quentame
923c13907c Fix Freebox Home alarm & improve platform tests (#103475)
* Fix Freebox Home alarm

* Add trigger feature test & fix

* FreeboxCallSensor: Add test for missing coverage of new call

* Use generator

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

* Add test for arm_home feature (questions about the check)

* Stay focus on alam tests

* can_arm_home ==> if _command_arm_home

* Use one liner for supported_features

* Add idle state

* Fix rebase

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-11-20 15:01:18 +01:00
Franck Nijhof
6d7df5ae13 Update twentemilieu to 2.0.1 (#104250) 2023-11-20 14:18:05 +01:00
Erik Montnemery
124e1cebac Small improvement of config tests (#104243)
* Small improvement of config tests

* Update snapshots
2023-11-20 14:15:29 +01:00
Erik Montnemery
a573f60947 Rename some check_config test cases (#104244) 2023-11-20 13:02:44 +01:00
epenet
2def7d2e71 Catch ClientOSError in renault integration (#104248) 2023-11-20 12:58:55 +01:00
Erik Montnemery
afea9f7739 Don't mutate config in the check_config helper (#104241) 2023-11-20 12:55:27 +01:00
Erik Montnemery
67e25dc0bf Quote domain name in setup logs (#104239)
* Quote domain name in setup logs

* Update tests
2023-11-20 12:55:16 +01:00
J. Nick Koston
d90605f9bc Bump protobuf to 4.25.1 (#104231)
changelog: https://github.com/protocolbuffers/protobuf/releases/tag/v25.1
2023-11-20 12:34:58 +01:00
Erik Montnemery
88698d8dfe Fix docstring in yaml util (#104240) 2023-11-20 11:34:14 +01:00
J. Nick Koston
a9384d6d4f Fix ESPHome BLE client raising confusing error when not connected (#104146) 2023-11-20 10:08:44 +01:00
c0ffeeca7
ae2099b2eb Reolink: fix typo in UI strings (#104236) 2023-11-20 09:22:26 +01:00
Abílio Costa
e6226b0924 Add height sensor to Idasen Desk integration (#103324) 2023-11-20 08:07:29 +01:00
J. Nick Koston
7160e956a6 Bump aioesphomeapi to 18.5.4 (#104187)
This is mostly to clean up duplicate code in the lib, but it will
also make connecting just a tiny bit faster

We have reached over ~83% coverage in the library now
2023-11-19 22:27:44 -05:00
J. Nick Koston
cc31d77205 Use ulid_now instead of ulid_at_timestamp if no timestamp is passed (#104226)
* Use ulid_now instead of ulid_at_timestamp if no timestamp is passed

ulid_now is slightly faster than ulid_at_timestamp

* tweak usage
2023-11-19 22:27:24 -05:00
Luke Lashley
6ef194f992 Add listeners for roborock (#103651)
* Add listeners for roborock

* add tests

* decrease test complexity
2023-11-19 16:24:43 -08:00
Rene Nemec
f8e3f1497c Increase Tomato request timeout (#104203)
* tomato integration timeout fixed

* update tests in tomato integration
2023-11-19 23:49:40 +01:00
starkillerOG
a1678ebd23 Add Reolink day night switch threshold (#104219) 2023-11-19 20:46:03 +01:00
Kevin Stillhammer
173f4760bc Deprecate weather.get_forecast (#102534)
* Deprecate weather.get_forecast

* Rename forecast to get_forecasts

* raise issue for use of deprecated service

* Add fix_flow

* Add service translation/yaml
2023-11-19 20:44:02 +01:00
starkillerOG
41224f1674 Add Reolink firmware version for IPC cams (#104212) 2023-11-19 20:43:31 +01:00
G Johansson
091559d147 Add new sensors to Trafikverket Weather (#104199) 2023-11-19 20:34:41 +01:00
Allen Porter
25cc4df455 Fix Local To-do list bug renaming items (#104182)
* Fix Local To-do bug renaming items

* Fix renaming
2023-11-19 20:26:58 +01:00
Jan Bouwhuis
9a38e23f28 Fix imap does not decode text body correctly (#104217) 2023-11-19 20:15:02 +01:00
starkillerOG
1ca95965b6 Bump reolink_aio to 0.8.0 (#104211) 2023-11-19 20:01:08 +01:00
Jan Bouwhuis
68f8b2cab5 Fix mqtt json light allows to set brightness value >255 (#104220) 2023-11-19 19:50:25 +01:00
Joost Lekkerkerker
ec069fbebf Change name of universal media player to sentence case (#104204) 2023-11-19 19:27:03 +01:00
starkillerOG
9e0bc9e252 Reolink update current firmware state after install attempt (#104210) 2023-11-19 18:55:30 +01:00
Kevin Stillhammer
51385dcaab Deprecate calendar.list_events (#102481)
* deprecate calendar.list_events

* rename events to get_events

* raise issue for use of deprecated service

* Make issue fixable

* Add fix_flow

* Add service translation/yaml
2023-11-19 07:12:43 -08:00
J. Nick Koston
d3b4dd226b Prevent Bluetooth reconnects from blocking shutdown (#104150) 2023-11-19 08:22:26 -06:00
J. Nick Koston
e7cec9b148 Small speed up to constructing Bluetooth service_uuids (#104193) 2023-11-19 08:14:55 -06:00
mkmer
267bbaf425 Bump aiosomecomfort to 0.0.22 (#104202)
* Bump aiosomecomfort to 0.0.20

* Bump aiosomecomfort to 0.0.22
2023-11-19 14:07:24 +01:00
G Johansson
47cd368ed2 New api endpoint for Trafikverket Weather (#104165)
* New api endpoint for Trafikverket Weather

* fix tests
2023-11-19 10:41:48 +01:00
mkmer
0eb8daee23 Refactor async_update in Honeywell (#103069)
* Refactor async_update

* remove ignore-import

* Restore somecomforterror rather than autherror

* Update climate.py

Limit exceptions in async_update()

* Update climate.py

Ruff it

* Update climate.py

Ruff

* Refactor to login routine

* Add back avialable change

* Address extra logic in try

* Address expected returns with logic move
2023-11-19 10:41:17 +01:00
Maxwell Burdick
3622944dda Bump mopeka-iot-ble to 0.5.0 (#104186) 2023-11-18 23:14:06 -06:00
jflefebvre06
9c86adf644 Fix integration failed when freebox is configured in bridge mode (#103221) 2023-11-19 00:02:00 +01:00
Jan-Philipp Benecke
c2e81bbafb Add entity tests for ping (#104168)
* Add entity tests for ping

* Remove unused param

* Use async_setup of config_entries
2023-11-18 23:45:24 +01:00
J. Nick Koston
09df04fafe Pickup tplink codeowner (#104189)
I am going to attempt a fix for https://github.com/home-assistant/core/issues/103977
via https://github.com/python-kasa/python-kasa/pull/538

I am picking up codeowner on this for the forseeable future to watch
for issues as well
2023-11-18 23:39:47 +01:00
Abílio Costa
ce38d8542f Update Idasen Desk to fulfill Silver requirements (#102979)
* Update Idasen Desk to fulfill Silver requirements

* Add tests
2023-11-18 23:17:05 +01:00
Luke Lashley
bee457ed6f Add Image to Roborock to display maps (#102941)
* add image to roborock

* add vacuum position

* addressing MR comments

* remove room names as it isn't supported in base package

* 100% coverage

* remove unneeded map changes

* fix image logic

* optimize create_coordinator_maps

* only update time if map is valid

* Update test_image.py

* fix linting from merge conflict

* fix mypy complaints

* re-add vacuum to const

* fix hanging test

* Make map sleep a const

* adjust commenting to be less than 88 characters.

* bump map parser
2023-11-18 12:22:30 -08:00
Jan-Philipp Benecke
dfff22b5ce Add update coordinator to ping (#104148)
* Add update coordinator to ping

* Remove config_entry from coordinator

* Remove PARALLEL_UPDATES and set to hass.data
2023-11-18 17:07:58 +01:00
Marc Mueller
6773c29ccc Update aiohttp to 3.9.0 (Python 3.12) (#104152) 2023-11-18 08:53:49 -06:00
Thomas Schamm
878ccbaaef Bump boschshcpy to 0.2.75 (#104159)
Bumped to boschshcpy==0.2.75
2023-11-18 13:39:17 +01:00
J. Nick Koston
0d2bcc0192 Bump aioesphomeapi to 18.5.3 (#104141) 2023-11-17 17:16:44 -06:00
J. Nick Koston
bf87773d87 Fix zeroconf mocking (#104144) 2023-11-17 16:20:54 -06:00
Erik Montnemery
80813e992d Improve formatting of component errors (#104081)
* Improve formatting of component errors

* Update tests
2023-11-17 23:01:00 +01:00
Erik Montnemery
23ef97f774 Use relative paths in yaml syntax error messages (#104084) 2023-11-17 23:00:23 +01:00
Jan-Philipp Benecke
e5bc25523e Add config flow for Ping (#103743) 2023-11-17 13:30:30 -06:00
Jan-Philipp Benecke
2d891c77ef Reduce nesting in discovergy setup (#104127)
* Reduce nesting in discovergy setup

* Update homeassistant/components/discovergy/sensor.py

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-11-17 19:31:29 +01:00
Erik Montnemery
e2f6fbd59b Fix colors in check_config script (#104069) 2023-11-17 13:21:04 -05:00
sdb9696
2387e4941b Add constants to ring integration (#104134) 2023-11-17 13:17:16 -05:00
codyhackw
483e0c9a85 Fix ZHA VZM35-SN attributes (#102924)
* Fixes for VZM35-SN Attributes

* Fixes

* Update strings.json

Was missing translation keys from strings.json

* Minor Tweak to switch_type entity

Editing main switch_type entity to ensure it doesn't cause an error for the VZM35-SN

* Fix for Button Delay Entity
2023-11-17 12:38:58 -05:00
TheJulianJES
e755dd83b6 Change ZHA Tuya plugs to use quirk IDs (#102489)
Change ZHA Tuya plug matches to use quirk IDs
2023-11-17 12:28:27 -05:00
TheJulianJES
c047f47595 Fix ZHA covering mode for Aqara E1 curtain driver not initialized (#102749) 2023-11-17 12:26:46 -05:00
Michael Hansen
8c99cf14d3 Context slot decisions moved into hassil (#104132) 2023-11-17 11:07:08 -06:00
Mark Coombes
fd7f75e9af Remove marthoc as ecobee code owner (#104053)
* Update ecobee manifest.json

Remove @marthoc as codeowner.

* run hassfest

---------

Co-authored-by: Charles Garwood <cgarwood@gmail.com>
2023-11-17 14:59:17 +01:00
Erik Montnemery
a78764f000 Improve formatting of package errors (#104078) 2023-11-17 14:57:37 +01:00
Cody C
2ff9beb9c9 Fix typo in Netatmo homekit auto-discovery (#104060)
* Fix typo in Netatmo auto-discovery manifest.json

* Update zeroconf.py to fix CI issue with Netatmo
2023-11-17 14:36:28 +01:00
Michael Hansen
a8acde62ff Use device area as context during intent recognition (#103939)
* Use device area as context during intent recognition

* Use guard clauses
2023-11-17 07:34:14 -06:00
Arie Catsman
43c5bf27e6 Bump pyenphase to 1.14.3 (#104101)
fix(101354):update pyenphase to 1.14.3
2023-11-17 08:16:53 -05:00
Duco Sebel
97d38dae09 Bumb python-homewizard-energy to 4.1.0 (#104121)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-11-17 13:01:44 +01:00
Marc Mueller
b58af167a2 Update RestrictedPython to 7.0 (#104117) 2023-11-17 13:01:06 +01:00
J. Nick Koston
cd27b0e961 Bump aioesphomeapi to 18.5.2 (#104113) 2023-11-17 12:59:14 +01:00
dependabot[bot]
d70ef30a2a Bump github/codeql-action from 2.22.6 to 2.22.7 (#104114)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-17 12:58:33 +01:00
Franck Nijhof
b3ceb82700 Add device fixtures and tests for HomeWizard Energy 3-phase kWh meter (#104118) 2023-11-17 11:47:42 +01:00
J. Nick Koston
cf9299df59 Avoid duplicate calls to color_supported and color_temp_supported in emulated_hue (#104096) 2023-11-16 23:22:13 -06:00
Michael Hansen
f605df5bf2 Adjust logbook message for assist pipeline recording (#104105)
* Adjust logbook message

* Fix test
2023-11-16 23:39:08 -05:00
Tom Harris
d5885e0da2 Bump pyinsteon to 1.5.2 (#104098)
bump pyinsteon
2023-11-16 23:44:43 +01:00
laurentriffard
33d144fe2d Set nextcloud integration sensors as numerical values (#103856) 2023-11-16 23:29:44 +01:00
J. Nick Koston
ef5c9c2187 Bump aioesphomeapi to 18.5.1 (#104085)
* Bump aioesphomeapi to 18.5.0

changelog: https://github.com/esphome/aioesphomeapi/compare/v18.4.0...v18.5.0

* one more
2023-11-16 17:13:13 -05:00
Michael
ea6a26467e Add myself as codeowner for Proximity (#104100)
add myself as codeowner for proximity
2023-11-16 23:12:10 +01:00
Michael
0a3b20d8b2 Replace deprecated linting and formatting settings by extensions (#104050) 2023-11-16 23:10:33 +01:00
Arie Catsman
cd9ad32e32 Add catsmanac to enphase_envoy codeowners (#104086) 2023-11-16 14:56:36 -06:00
TheJulianJES
a996a51aa9 Add "Jasco Products" manufacturer to ZHA ForceOnLight (#104089)
* Add "Jasco Products" manufacturer to ZHA `ForceOnLight`

* Change tests to expect `ForceOnLight` for "Jasco Products" lights
2023-11-16 15:24:32 -05:00
Michael Hansen
b3e247d5f0 Add websocket command to capture audio from a device (#103936)
* Add websocket command to capture audio from a device

* Update homeassistant/components/assist_pipeline/pipeline.py

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

* Add device capture test

* More tests

* Add logbook

* Remove unnecessary check

* Remove seconds and make logbook message past tense

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-11-16 10:28:06 -06:00
Erik Montnemery
4536fb3541 Remove mock_entity_platform test helper (#104073) 2023-11-16 16:55:08 +01:00
Jan-Philipp Benecke
7c030cfffa Add tests for Discovergy to reach full test coverage (#104039)
* Add tests for Discovergy to reach full test coverage

* Use snapshots and freezer
2023-11-16 16:13:15 +01:00
Franck Nijhof
2c003d8c10 Remove Deconz entity descriptions required fields mixins (#104009) 2023-11-16 16:05:29 +01:00
Erik Montnemery
b400b33b0d Refer to domain configuration in custom validator errors (#104065) 2023-11-16 15:28:48 +01:00
Jan-Philipp Benecke
cf985a8702 Fix mock typing for Discovergy (#104047) 2023-11-16 14:43:02 +01:00
sdb9696
38961c6ddc Add diagnostics platform to ring integration (#104049)
* Add diagnostics platform to ring integration

* Use real-ish data for diagnostics test and use snapshot output
2023-11-16 14:36:15 +01:00
ollo69
b4797e283f Add HTTP protocol support to AsusWRT (#95720) 2023-11-16 13:45:18 +01:00
Erik Montnemery
654c4b6e35 Use core domain constant in bootstrap (#104061) 2023-11-16 11:26:57 +01:00
Erik Montnemery
d8a49b14e5 Use relative paths in configuration validation error messages (#104064) 2023-11-16 10:56:47 +01:00
Erik Montnemery
98030a9ce1 Improve formatting of package errors (#103976) 2023-11-16 09:08:47 +01:00
gigatexel
86f87262ed Remove force_update from all DSMR entities (#104037)
Remove force_update
2023-11-16 08:59:29 +01:00
David Knowles
e10c5246b9 Add reauth support to Schlage (#103351)
* Add reauth support to Schlage

* Enforce same user credentials are used on reauth

* Changes requested during review

* Changes requested during review

* Add password to reauth_confirm data
2023-11-16 08:47:13 +01:00
Erik Montnemery
1c817cc18c Attach relevant config to check_config errors (#104048) 2023-11-16 07:25:52 +01:00
Allen Porter
613afe322f Add CalDAV To-do item support for Add, Update, and Delete (#103922)
* Add CalDAV To-do item support for Add, Update, and Delete

* Remove unnecessary cast

* Fix ruff error

* Fix ruff errors

* Remove exception from error message

* Remove unnecessary duplicate state update
2023-11-15 19:57:46 -05:00
Jan Rieger
422b09f4ec Bump python-holidays to 0.36 (#104055) 2023-11-16 01:42:55 +01:00
David Knowles
0899be6d4b Migrate Hydrawise to an async client library (#103636)
* Migrate Hydrawise to an async client library

* Changes requested during review

* Additional changes requested during review
2023-11-16 00:59:37 +01:00
Michael Hansen
45f1d50f03 Add HassGetWeather intent (#102613)
* Add HassGetWeather intent

* Use async_match_states

* Extend test coverage

* Use get_entity

* Update homeassistant/components/weather/intent.py

* Fix state

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-11-15 16:20:15 -06:00
deosrc
c92945ecd6 Fix netatmo authentication when using cloud authentication credentials (#104021)
* Fix netatmo authentication loop

* Update unit tests

* Move logic to determine api scopes

* Add unit tests for new method

* Use pyatmo scope list (#1)

* Exclude scopes not working with cloud

* Fix linting error

---------

Co-authored-by: Tobias Sauerwein <cgtobi@users.noreply.github.com>
2023-11-15 15:28:16 -05:00
Erik Montnemery
5b37096b5f Refactor config.async_log_exception (#104034)
* Refactor config.async_log_exception

* Improve test coverage

* Make functions public
2023-11-15 19:09:49 +01:00
Raman Gupta
c132900b92 Add zwave_js.set_lock_configuration service (#103595)
* Add zwave_js.set_lock_configuration service

* Add tests

* string tweaks

* Update homeassistant/components/zwave_js/lock.py

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

* Update strings.json

* Update services.yaml

* Update lock.py

* Remove handle params

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-11-15 17:01:20 +01:00
Maciej Bieniek
c92a90e04d Disable options flow for Shelly Wall Display (#103988) 2023-11-15 15:45:33 +01:00
Duco Sebel
cf3a2741c5 Bumb python-homewizard-energy to 4.0.0 (#104032) 2023-11-15 15:15:48 +01:00
suaveolent
c98a3a2fd1 Add support for lupusec smoke and water sensor (#103905) 2023-11-15 13:39:34 +01:00
Maciej Bieniek
dbe193aaa4 Add release_url property of Shelly update entities (#103739) 2023-11-15 13:36:20 +01:00
Jan-Philipp Benecke
b4e8243e18 Refactor tests for discovergy (#103667) 2023-11-15 13:18:20 +01:00
Joost Lekkerkerker
0e04cd6b35 Add reauth flow to Trafikverket Weatherstation (#104027)
* Add reauth flow to Trafikverket Weatherstation

* Add tests
2023-11-15 13:15:31 +01:00
Jan-Philipp Benecke
194104f5f8 Remove CO2Signal entity description required fields mixin (#104031) 2023-11-15 13:14:12 +01:00
Erik Montnemery
c4bf8f96dd Add tests for components with custom validators (#104024)
* Add tests for components with custom validators

* Address review comments
2023-11-15 13:11:33 +01:00
Jan-Philipp Benecke
23ac3248e6 Remove Discovergy entity description required fields mixin (#104028) 2023-11-15 12:03:15 +01:00
Allen Porter
5f13faac76 Add the todo.get_items service (#103285) 2023-11-15 11:41:29 +01:00
David Bonnes
bba2734a5c Correct typo in evohome service call description (#103986)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-11-15 11:01:52 +01:00
Martin Hjelmare
bb456464ae Fix device tracker see gps accuracy selector (#104022) 2023-11-15 10:51:12 +01:00
Erik Montnemery
dd7670cacf Improve errors for component configuration with missing keys (#103982) 2023-11-15 10:47:05 +01:00
TheJulianJES
ac0c1d12c3 Add test checking ZHA light restores with None attributes (#102806)
* Add ZHA test checking light restores with None attributes

* Move shared `core_rs` fixture to `conftest.py`

* Remove special `color_mode` case, use `parametrize` for expected state

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-11-15 10:45:35 +01:00
Jan-Philipp Benecke
9326ea09a5 Update m* tests to use entity & device registry fixtures (#103980) 2023-11-15 10:33:11 +01:00
J. Nick Koston
51c1ea85f3 Bump zeroconf to 0.127.0 (#104017) 2023-11-15 10:29:19 +01:00
J. Nick Koston
3f11bb5f62 Speed up connecting to ESPHome devices (#104018) 2023-11-15 10:28:49 +01:00
J. Nick Koston
7803ca2612 Fix emulated_hue with None values (#104020) 2023-11-15 10:27:50 +01:00
Aidan Timson
b082ee2050 Update systembridgeconnector to 3.10.0 (#103983) 2023-11-15 09:30:56 +01:00
Franck Nijhof
a101bb9354 Remove RDW entity descriptions required fields mixins (#103995) 2023-11-15 09:23:25 +01:00
Franck Nijhof
2d36225405 Remove Reolink entity descriptions required fields mixins (#104006) 2023-11-15 09:16:47 +01:00
dependabot[bot]
880483624b Bump github/codeql-action from 2.22.5 to 2.22.6 (#104016)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-15 09:01:36 +01:00
Franck Nijhof
cfac6d18f3 Remove HomeWizard entity descriptions required fields mixins (#103994) 2023-11-15 09:00:28 +01:00
Franck Nijhof
8df7291abb Remove Withings entity descriptions required fields mixins (#104008) 2023-11-15 06:31:10 +01:00
sdb9696
182c40f16e Add reauth flow to ring integration (#103758)
* Add reauth flow to ring integration

* Refactor re-auth flow post review

* Fix threading issue on device update
2023-11-14 19:49:27 -08:00
Franck Nijhof
d1e460e97a Remove AdGuard entity descriptions required fields mixins (#103991) 2023-11-14 22:12:31 -05:00
Franck Nijhof
f24212b66e Remove TwenteMilieu entity descriptions required fields mixins (#103990)
* Remove TwenteMilieu entity descriptions required fields mixins

* Fix doc
2023-11-14 22:11:52 -05:00
Franck Nijhof
a513511936 Remove Elgato entity descriptions required fields mixins (#103989) 2023-11-14 21:51:45 -05:00
Franck Nijhof
3359619436 Remove PVOutput entity descriptions required fields mixins (#103993) 2023-11-14 21:50:11 -05:00
Franck Nijhof
e9c6da9803 Remove WLED entity descriptions required fields mixins (#103996) 2023-11-14 21:49:14 -05:00
Franck Nijhof
aecfa67265 Remove Whois entity descriptions required fields mixins (#103997) 2023-11-14 21:48:58 -05:00
Franck Nijhof
599579b26d Remove Tailscale entity descriptions required fields mixins (#103998)
Remove Tailsale entity descriptions required fields mixins
2023-11-14 21:48:49 -05:00
Franck Nijhof
76ccad40ff Remove Rituals Parfume Genie entity descriptions required fields mixins (#103999) 2023-11-14 21:48:31 -05:00
Franck Nijhof
1a079d7c6f Remove LaMetric entity descriptions required fields mixins (#104001) 2023-11-14 21:48:20 -05:00
Franck Nijhof
ce1e6ce006 Remove DSMR entity descriptions required fields mixins (#104002) 2023-11-14 21:48:01 -05:00
Franck Nijhof
17f0676483 Remove Plugwise entity descriptions required fields mixins (#104004) 2023-11-14 21:47:39 -05:00
J. Nick Koston
54c98f32c2 Bump aiohttp to 3.9.0rc0 for python 3.12 only (#103507)
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2023-11-15 01:02:14 +01:00
Erik Montnemery
e87ebbef01 Improve errors for component configuration with multiple errors (#103969)
* Improve errors for component configuration with multiple errors

* Suffix with link to documentation
2023-11-14 21:50:54 +01:00
Martin Hjelmare
9facdc2dbb Remove openexchangerates sensor rounding (#103972) 2023-11-14 13:01:45 -05:00
Michael Hansen
be8507f870 Add HassListAddItem intent (#103716)
* Add HassListAddItem intent

* Add missing list test
2023-11-14 13:00:30 -05:00
Erik Montnemery
2cb4435cf0 Add tests for component configuration with documentation links (#103971) 2023-11-14 17:14:34 +01:00
Chuck Foster
aca48b5e45 Fix duplicate Ban file entries (#103953) 2023-11-14 17:13:14 +01:00
Martin Hjelmare
7f08f139d6 Fix openexchangerates form data description (#103974) 2023-11-14 17:07:27 +01:00
Kalpit
b35afab5ef Add reply_to_message_id to all telegram_bot message types (#103566) 2023-11-14 16:41:13 +01:00
Chris Straffon
c621c5df39 Removed codeowner for growatt_server (#103970) 2023-11-14 16:40:55 +01:00
Kevin Stillhammer
4465c74d23 Add broadlink climate (#91183) 2023-11-14 16:05:08 +01:00
Erik Montnemery
381ebf3e53 Add tests for component configuration with multiple errors (#103964)
* Add tests for component configuration with multiple errors

* Add new configuration file

* Fix typo

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-11-14 15:08:20 +01:00
Erik Montnemery
2d39eaf0a2 Improve docstring of config.stringify_invalid (#103965) 2023-11-14 14:05:46 +01:00
Erik Montnemery
94a2087ba0 Improve formatting of config validation errors (#103957)
* Improve formatting of config validation errors

* Address review comments
2023-11-14 12:48:45 +01:00
Erik Montnemery
85eac5a1b1 Add additional test for package errors (#103955)
* Add additional test for package errors

* Adjust tests
2023-11-14 11:48:56 +01:00
Erik Montnemery
44c1cef42e Add tests for component configuration with extra keys (#103959) 2023-11-14 11:26:22 +01:00
Jan-Philipp Benecke
fe15ed4a28 Add device info to generic camera (#103715)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-11-14 10:50:55 +01:00
Matt Zimmerman
0a84c2dba6 Update smarttub to 0.0.36 (#103948) 2023-11-14 10:17:44 +01:00
fb22
96bcc6c35a Add Vicare volumetric flow and compressor phase sensors (#103875)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Robert Resch <robert@resch.dev>
2023-11-14 09:18:37 +01:00
Raman Gupta
7a060176b6 Bump zwave-js-server-python to 0.54.0 (#103943) 2023-11-14 08:30:15 +01:00
Erik Montnemery
dedd3418a1 Improve print of line numbers when there are configuration errors (#103216)
* Improve print of line numbers when there are configuration errors

* Update alarm_control_panel test
2023-11-14 08:21:36 +01:00
dependabot[bot]
9241554d45 Bump dessant/lock-threads from 4.0.1 to 5.0.0 (#103954)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-14 08:19:42 +01:00
sdb9696
cf6c72fdbd Bump ring_doorbell to 0.8.0 and handle new exceptions (#103904)
* Bump ring_doorbell to 0.8.0 and handle the new exceptions

* Modify data update tests to not call coordinator internals
2023-11-13 23:15:19 -08:00
Jan Bouwhuis
7ca264e746 Fix raising vol.Invalid during mqtt config validation instead of ValueError (#103764) 2023-11-13 22:59:03 +01:00
mkmer
feabbfc375 Remove unneeded self.async_write_ha_state() in Blink (#103932) 2023-11-13 22:56:51 +01:00
J. Nick Koston
74c51ec9e0 Bump zeroconf to 0.126.0 (#103934)
changelog: https://github.com/python-zeroconf/python-zeroconf/compare/0.125.0...0.126.0
2023-11-13 22:04:58 +01:00
Michael Hansen
8ca1eaa839 Bump intents and hassil (#103927) 2023-11-13 15:25:15 -05:00
mkmer
f7fef14d06 Add diagnostic platform and tests to Blink (#102650)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-11-13 13:49:07 -06:00
Jan-Philipp Benecke
685537e475 Exchange co2signal package with aioelectricitymaps (#101955) 2023-11-13 13:48:33 -06:00
Tom Brien
2557e41ec0 Fix Coinbase for new API Structure (#103930) 2023-11-13 20:10:15 +01:00
Jan-Philipp Benecke
0eafc8f2cd Update k-l* tests to use entity & device registry fixtures (#103929) 2023-11-13 20:02:33 +01:00
Ruslan Sayfutdinov
1a3475ea60 Fix typing for entity_platform.async_register_entity_service (#103777) 2023-11-13 20:00:09 +01:00
Jan-Philipp Benecke
f0a455e5c7 Update icmplib privilege detection function to be async in ping integration (#103925)
* Make icmplib privilege detection function async

* I should also commit the tests..
2023-11-13 19:37:58 +01:00
Ruslan Sayfutdinov
1610dd94f9 Add 'do not edit' comment to generated files (#103923) 2023-11-13 18:33:42 +00:00
Simone Chemelli
7ab4d9793a Bump aiocomelit to 0.5.2 (#103791)
* Bump aoicomelit to 0.5.0

* bump to 0.5.2
2023-11-13 19:09:46 +01:00
Manuel Richarz
067ece97b8 Add support to fints for configuring unsupported account_types (#83537)
* Possibility to configure unsupported account_types

Changed conditions to be able to configure unsupported account_types like: Loan, Creditcards, Call money, etcpp.
Those accounts won't be added automatically. But with this fix you can add them manually via configuration if needed.

* chore: add integration_type for fints
fix: lint error
chore: add more info to warning for debugging purpose

* Possibility to configure unsupported account_types

Changed conditions to be able to configure unsupported account_types like: Loan, Creditcards, Call money, etcpp.
Those accounts won't be added automatically. But with this fix you can add them manually via configuration if needed.

* chore: broken merge

* fix: remove version from manifest.json

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-11-13 17:41:22 +01:00
r01k
7ef47da27d Add HTTPS support for Fully Kiosk (#89592)
* Add HTTPS support for Fully Kiosk with optional certificate verification.

* All pytests passing.

* Better readability for url parameter of DeviceInfo

* All pytests passing with latest fixes from upstream

* Removing fully_kiosk/translations

* Rebasing

* Added extra error detail when the integration config flow fails

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-11-13 17:40:57 +01:00
Steven Looman
39c81cb4b1 Prefer IPv4 locations over IPv6 locations for upnp devices/component (#103792) 2023-11-13 10:09:27 -06:00
Max
1e57bc5415 Add number state to prometheus metrics (#102518) 2023-11-13 17:03:08 +01:00
Allen Porter
ba3269540f Cleanup CalDAV test fixtures (#103893) 2023-11-13 15:57:47 +01:00
Marcel van der Veldt
0e4186ff8a Fix race condition in Matter unsubscribe method (#103770) 2023-11-13 15:42:51 +01:00
Mick Vleeshouwer
818bc12f87 Bump pyOverkiz to 1.13.2 (#103790) 2023-11-13 15:41:06 +01:00
Erik Montnemery
f89194784d Fix including yaml files with scalar values (#103914) 2023-11-13 15:23:50 +01:00
Erik Montnemery
07af073735 Remove trailing space from configuration error messages (#103909)
* Remove trailing space from configuration error messages

* Update test
2023-11-13 15:19:37 +01:00
Marc Mueller
c6f9af2cab Reset mypy ci cache (#103910) 2023-11-13 14:40:26 +01:00
Rami Mosleh
a1356874ea Bump Islamic prayer times library to 0.0.10 (#103420) 2023-11-13 14:13:06 +01:00
Erik Montnemery
e64582ae9a Add tests for yaml syntax errors (#103908) 2023-11-13 14:04:58 +01:00
Simone Chemelli
2bdd969cf6 fix Comelit cover stop (#103911) 2023-11-13 14:04:12 +01:00
Christopher Fenner
109bcd86f1 Add reauth flow to ViCare integration (#103109)
Co-authored-by: Robert Resch <robert@resch.dev>
2023-11-13 13:57:29 +01:00
ollo69
1e375352bb Use decorator for AsusWrt api calls (#103690) 2023-11-13 13:55:31 +01:00
Maikel Punie
9bd73ab362 Bump velbusaio to 2023.11.0 (#103798) 2023-11-13 13:53:49 +01:00
G Johansson
8e71086c21 Workday add languages (#103127) 2023-11-13 13:41:46 +01:00
FredericMa
d4c5a93b63 Add Risco communication delay (#101349)
* Add optional communication delay in case a panel responds slow.

* Add migration test

* Connect by increasing the communication delay

* Update init to use option instead of config

* Updated strings

* Fix migration and tests

* Review changes

* Update connect strategy

* Update tests

* Changes after review

* Change typing from object to Any.

* Add test to validate communication delay update.

* Move test to separate file

* Change filename.
2023-11-13 12:24:20 +01:00
Jan-Philipp Benecke
92b3c0c96b Update i-j* tests to use entity & device registry fixtures (#103900) 2023-11-13 11:51:55 +01:00
Erik Montnemery
be2cee228c Add tests for package errors (#103902) 2023-11-13 11:21:37 +01:00
suaveolent
74bf255da6 Bump lupupy to 0.3.1 (#103835)
Co-authored-by: suaveolent <suaveolent@users.noreply.github.com>
2023-11-13 10:37:49 +01:00
Erik Montnemery
d0efea3dbd Add tests for configuration validation errors (#103848)
* Add tests for configuration validation errors

* Use absolute path for hass.config.config_dir

* Apply suggestions from code review

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-11-13 07:25:58 +01:00
J. Nick Koston
50a65fc8c4 Bump zeroconf to 0.125.0 (#103877) 2023-11-12 17:12:58 -06:00
David Knowles
1888311800 Hydrawise: Explicitly set switch state on toggle (#103827)
Explicitly set switch state on toggle
2023-11-12 23:09:08 +01:00
Allen Porter
64c9aa0cff Update Fitbit to avoid a KeyError when restingHeartRate is not present (#103872)
* Update Fitbit to avoid a KeyError when `restingHeartRate` is not present

* Explicitly handle none response values
2023-11-12 12:49:49 -08:00
Michael
efe33d815f Address late proximity coordinator review comments (#103879) 2023-11-12 21:36:54 +01:00
Jan Bouwhuis
f94167a4bb Fix invalid oauth2_unauthorized translation ref (#103873)
* Fix invalids oauth2_unauthorized translation ref

* Fix oauth2_failed
2023-11-12 21:13:38 +01:00
Joakim Plate
5ee62f2965 Update nibe heatpump to 2.5.0 (#103788)
* Update nibe heatpump to 2.5.0

* Adjust for typing changes in lib

* If we use float value, we assume it's valid
2023-11-12 20:25:34 +01:00
Jan-Philipp Benecke
eda475fe25 Update h* tests to use entity & device registry fixtures (#103866)
* Update h* tests to use entity & device registry fixtures

* Add missed lines
2023-11-12 13:52:32 -05:00
dotvav
3a531f5698 Add Hitachi Heat Pumps outdoor temperature sensors (#103806)
Add  OVP and HLRRWIFI outdoor temperature sensors
2023-11-12 19:50:18 +01:00
Jan-Philipp Benecke
9ab1cb83d8 Update a-c* tests to use entity & device registry fixtures (#103793)
* Update a-c* tests to use entity & device registry fixtures

* Revert some changes

* Revert formatting

* retrigger CI
2023-11-12 13:45:30 -05:00
Allen Porter
abb1328a67 Fix for Google Calendar API returning invalid RRULE:DATE rules (#103870) 2023-11-12 13:44:26 -05:00
Diogo Gomes
80042aa108 Add binary sensors to V2C (#103722)
* Add binary_sensor to V2C

* sort platforms

* change to generator

* make it generator

* fix
2023-11-12 19:35:37 +01:00
Allen Porter
96a19d61ab Fix bug in Fitbit config flow, and switch to prefer display name (#103869) 2023-11-12 19:27:02 +01:00
Erik Montnemery
51b599e1f6 Deduplicate some code in helpers.check_config.async_check_ha_config_file (#103852)
Tweak helpers.check_config.async_check_ha_config_file
2023-11-12 19:15:01 +01:00
Erik Montnemery
1168956f8c Small improvement of yaml util tests (#103853) 2023-11-12 19:14:52 +01:00
Erik Montnemery
6303366cf4 Tweak config._recursive_merge (#103850) 2023-11-12 19:06:12 +01:00
Erik Montnemery
01b3e0c49e Remove useless code from entity helper tests (#103854) 2023-11-12 18:55:34 +01:00
Allen Porter
fd7d2dfe75 Bump gcal_sync to 6.0.1 (#103861) 2023-11-12 18:48:42 +01:00
Michael
b2f31d5763 Implement update coordinator in Proximity (#103443) 2023-11-12 18:28:39 +01:00
Erik Montnemery
50e11a7a37 Tweak loader.resolve_dependencies (#103851) 2023-11-12 17:27:32 +01:00
Ruslan Sayfutdinov
adcd4e59cf More useful message on services.yaml parse error (#103847) 2023-11-12 16:18:12 +00:00
Franck Nijhof
bb63da764e Complete tests for HomeWizard kWh Meter SDM230 (#103840) 2023-11-12 14:30:00 +01:00
Rami Mosleh
0c421b7309 Add entity description mixin to transmission switches (#103843)
* Add entity description mixin for transmission switches

* minor fix
2023-11-12 13:13:49 +01:00
Jan-Philipp Benecke
04a497343d Update f-g* tests to use entity & device registry fixtures (#103841) 2023-11-12 13:07:38 +01:00
Diogo Gomes
b9bc6ca070 Address late V2C review comments (#103808)
* address review

* missing fixture
2023-11-12 12:04:10 +01:00
Greg Dowling
6a7e87f1c3 Add Roon volume hooks (#102470)
* Add ability for roon to call HA for volume changes.

* Fix merge errors.

* Fix mypy errors.

* Remove config option for hooks.

* WIP split entities.

* Tidy, fix test.

* Tidy after review.

* Remove event tests for now.

* Recview comments.

* remove trace.

* Bump pyroon to 0.1.5, deregister volume hooks.

* Remove type annotations.

* Add new file .coveragerc.

* Remove ghost constants.

* Review changes.

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-11-12 11:58:15 +01:00
Franck Nijhof
5a452155fc Small cleanup in HomeWizard tests (#103837) 2023-11-12 11:38:22 +01:00
Jan-Philipp Benecke
81450f0117 Update d-e* tests to use entity & device registry fixtures (#103804) 2023-11-12 10:38:32 +01:00
J. Nick Koston
2cffb4df6d Bump pyunifiprotect to 4.21.0 (#103832)
changelog: https://github.com/AngellusMortis/pyunifiprotect/compare/v4.20.0...v4.21.0
2023-11-12 09:33:48 +01:00
J. Nick Koston
492d8acf3f Bump zeroconf to 0.123.0 (#103830)
changelog: https://github.com/python-zeroconf/python-zeroconf/compare/0.122.3...0.123.0
2023-11-12 09:32:14 +01:00
Allen Porter
25650563fe Fix Rainbird unique to use a more reliable source (mac address) (#101603)
* Fix rainbird unique id to use a mac address for new entries

* Fix typo

* Normalize mac address before using as unique id

* Apply suggestions from code review

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

* Update test check and remove dead code

* Update all config entries to the new format

* Update config entry tests for migration

* Fix rainbird entity unique ids

* Add test coverage for repair failure

* Apply suggestions from code review

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

* Apply suggestions from code review

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

* Remove unnecessary migration failure checks

* Remove invalid config entries

* Update entry when entering a different hostname for an existing host.

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-11-12 08:36:30 +01:00
J. Nick Koston
48a8ae4df5 Bump aioesphomeapi to 18.4.0 (#103817) 2023-11-11 18:27:49 -06:00
Allen Porter
1d5fcfc7c8 Improve local calendar based on local todo review feedback (#103483)
* Improve local calendar based on local todo review feedback

* Revert fakestore change to diagnose timeout

* Revert init changes

* Revert and add assert
2023-11-12 00:14:08 +01:00
Marc Mueller
a70ec64408 Update mypy to 1.7.0 (#103800) 2023-11-11 23:31:04 +01:00
Marc Mueller
66d1a7f1dd Update ReadOnlyEntityOptions typing (#103813) 2023-11-11 22:30:55 +01:00
Marc Mueller
c35f56ea77 Handle BaseException from asyncio gather (#103814) 2023-11-11 22:26:37 +01:00
Jan Rieger
bf41167951 Fix typo in calendar translation (#103789) 2023-11-11 14:24:23 +01:00
Allen Porter
048b989b2b Bump ical to 6.1.0 (#103759) 2023-11-11 12:57:05 +01:00
Alex Tsernoh
f3cccf0a2b Add Komfovent (#95722)
* komfovent integration V1

* add dependency

* integrate komfovent api

* fix errors found in testing

* tests for form handling

* update deps

* update coverage rc

* add correct naming

* minor feedback

* pre-commit fixes

* feedback fixes part 1 of 2

* feedback fixes part 2 of 2

* add hvac mode support

* fix tests

* address feedback

* fix code coverage + PR feedback

* PR feedback

* use device name

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-11-11 11:19:41 +01:00
Allen Porter
787fb3b954 Improve OAuth error handling in configuration flows (#103157)
* Improve OAuth error handling in configuration flows

* Update strings for all integrations that use oauth2 config flow

* Remove invalid_auth strings

* Revert change to release

* Revert close change in aiohttp mock
2023-11-11 11:02:51 +01:00
Joost Lekkerkerker
667a453a35 Lock Withings token refresh (#103688)
Lock Withings refresh
2023-11-11 09:39:41 +01:00
Allen Porter
3f70437888 Add support to Google Calendar for Web auth credentials (#103570)
* Add support to Google Calendar for webauth credentials

* Fix broken import

* Fix credential name used on import in test

* Remove unnecessary creds domain parameters

* Remove unnecessary guard to improve code coverage

* Clarify comments about credential preferences

* Fix typo

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-11-10 22:49:10 -08:00
Paul Bottein
eaaca3e556 Add translations for update entity components (#103752)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-11-11 01:33:02 +01:00
Maciej Bieniek
531a3e4fa8 Bump accuweather to version 2.1.0 (#103744) 2023-11-10 21:46:15 +01:00
Raman Gupta
618b666126 Add support for responses to call_service WS cmd (#98610)
* Add support for responses to call_service WS cmd

* Revert ServiceNotFound removal and add a parameter for return_response

* fix type

* fix tests

* remove exception handling that was added

* Revert unnecessary modifications

* Use kwargs
2023-11-10 21:44:43 +01:00
G-Two
229944c21c Bump subarulink to 0.7.9 (#103761) 2023-11-10 21:32:10 +01:00
sdb9696
70f7582f95 Add myself as code owner for ring integration (#103767) 2023-11-10 20:11:18 +01:00
Marcel van der Veldt
ebdd2daab6 Add helper method to get matter device info (#103765)
* Add helper method to get matter device info

* Cleanup async

* Guard

* get node from device id instead of node id

* Fix test

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-11-10 13:43:54 -05:00
Michael Hansen
e157206eeb Conversation reload with language=None clears all languages (#103757)
Reload with language=None clears all languages
2023-11-10 13:22:49 -05:00
J. Nick Koston
253e6188eb Bump dbus-fast to 2.14.0 (#103754) 2023-11-10 17:11:41 +01:00
Jean-Marie White
82ce5e56b5 Fix DST handling in TOD (#84931)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-11-10 07:25:25 -06:00
Quentame
3666af0b10 Fix Freebox flaky tests (#103745) 2023-11-10 13:51:35 +01:00
Diogo Gomes
93f63c5472 Add number to V2C (#103681) 2023-11-10 13:28:32 +01:00
Christopher Fenner
dda40c10d4 Add myself to vicare codeowners (#103738)
* Revert "Remove myself from vicare codeowners (#90755)"

This reverts commit 21a873f0af.

* Apply suggestions from code review
2023-11-10 11:31:14 +01:00
tronikos
10e7622e38 Address flume post merge review comments (#102807)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-11-10 11:20:58 +01:00
Franck Nijhof
70ad5ab3e4 Update helper tests to use device & entity registry fixtures (#103710) 2023-11-10 09:32:19 +01:00
starkillerOG
9f6eef7cca Fix Reolink DHCP IP update (#103654) 2023-11-10 09:27:33 +01:00
Bram Kragten
2f26096469 Update frontend to 20231030.2 (#103706) 2023-11-10 09:04:33 +01:00
J. Nick Koston
a06fabfbc6 Bump aioesphomeapi to 18.3.0 (#103730)
changelog: https://github.com/esphome/aioesphomeapi/compare/v18.2.7...v18.3.0
2023-11-10 07:30:31 +01:00
Diogo Gomes
64e8c995e6 Bump pytrydan to 0.4.0 (#103721)
Bump pytrydan
2023-11-10 07:11:28 +01:00
Tudor Sandu
527a3dba9c Add script_mode parameter to custom intent scripts (#102203)
* Add script_mode parameter to custom intent scripts

* Reuse CONF_MODE from the script component
2023-11-09 16:41:25 -06:00
Franck Nijhof
04e0e2bd75 Update a* tests to use device & entity registry fixtures (#103711) 2023-11-09 20:46:20 +01:00
Jan-Philipp Benecke
b81f15725f Update bond tests to use entity & device registry fixtures (#103708) 2023-11-09 19:47:23 +01:00
J. Nick Koston
5ee826528d Bump zeroconf to 0.122.3 (#103657) 2023-11-09 19:46:34 +01:00
Jan-Philipp Benecke
0a57968fdc Update nut sensor tests to use parametrize (#103707)
* Update nut sensor tests to use parametrize

* Add missing model

* Check on unique_id instead of config_entry_id

* Separate tests
2023-11-09 19:01:07 +01:00
Franck Nijhof
81909f7ddf Update deconz tests to use device & entity registry fixtures (#103703) 2023-11-09 18:06:53 +01:00
J. Nick Koston
d1f1bbe304 Migrate to using aiohttp-fast-url-dispatcher (#103656) 2023-11-09 17:23:33 +01:00
Joost Lekkerkerker
1a6c3a4944 Add name to Withings coordinator (#103692) 2023-11-09 12:44:50 +01:00
tronikos
9af5e838c6 Add type annotation for service functions with response (#102813)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-11-09 12:31:12 +01:00
Diogo Gomes
4bbdf475b4 Add switch platform to V2C (#103678)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-11-09 11:12:05 +01:00
Diogo Gomes
cd94ad125a Bump pytrydan to 0.3.0 (#103691) 2023-11-09 10:41:05 +01:00
ollo69
143e114528 Improve AsusWRT integration tests (#102810) 2023-11-09 09:18:32 +01:00
J. Nick Koston
78add0f51d Bump aioesphomeapi to 18.2.7 (#103676) 2023-11-09 08:47:37 +01:00
J. Nick Koston
dc7d817398 Incease tplink setup timeout (#103671)
It can take longer than 5s to do the first update of the device
especially when the device is overloaded as seen in #103668

Wait 10 seconds for the discovery since when the power strips are loaded they cannot respond in time
2023-11-09 01:13:11 +01:00
Erik Montnemery
123f14dd6c Attach correct platform config in check_config warnings and errors (#103633) 2023-11-09 00:06:04 +01:00
Raman Gupta
f511a8a26a Expand zwave_js.set_config_parameter with additional parameters (#102092) 2023-11-08 17:05:31 -05:00
Luke Lashley
1a51d863cf Bump Python-Roborock to 0.36.1 (#103662)
bump to 0.36.1
2023-11-08 22:39:06 +01:00
Allen Porter
cec617cfbb Add support for deleting To-do items in Google Tasks (#102967)
* Add support for deleting To-do items in Google Tasks

* Cleanup multipart test

* Fix comments

* Add additional error checking to increase coverage

* Apply suggestions and fix tests
2023-11-08 18:13:48 +01:00
Jan-Philipp Benecke
5901f6f7e7 Move met coordinator to own module (#103546) 2023-11-08 16:55:09 +01:00
ccrepin
241e8560e9 Change NP, NO code to Disarmed (#103617) 2023-11-08 14:46:49 +01:00
Jan Bouwhuis
db97e7588b Fix entity category for binary_sensor fails setup (#103511) 2023-11-08 14:10:24 +01:00
Hessel
5bb3c7ca55 Wallbox Add Authentication Decorator (#102520) 2023-11-08 13:13:11 +01:00
Franck Nijhof
24a65808ac Update black to 23.11.0 (#103644) 2023-11-08 13:08:41 +01:00
Erik Montnemery
d913508607 Allow removing an entity more than once (#102904) 2023-11-08 12:50:40 +01:00
Luke Lashley
44fe704f49 Bump python-roborock to 0.36.0 (#103465) 2023-11-08 12:48:05 +01:00
Maikel Punie
a78ef60773 Add duotecno OFF hvac mode (#103223) 2023-11-08 12:46:15 +01:00
Joakim Plate
0a2a699133 Extend climate tests for nibe heatpump (#103522) 2023-11-08 12:40:28 +01:00
Mick Vleeshouwer
3697567f18 Remove redundant exception and catch NotSuchTokenException in Overkiz integration (#103584) 2023-11-08 12:32:37 +01:00
Ville Hartikainen
8e99760595 Add vscode task to run changed tests (#103501) 2023-11-08 11:33:19 +01:00
dependabot[bot]
381d8abd58 Bump sigstore/cosign-installer from 3.1.2 to 3.2.0 (#103640)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-08 11:29:50 +01:00
jan iversen
81cb7470fc Remove illegal int8 from modbus config (#103489) 2023-11-08 11:06:14 +01:00
Erik Montnemery
cc5eda76d3 Humanize core config errors in check_config helper (#103635) 2023-11-08 10:15:27 +01:00
jan iversen
40dc6d8191 Reduce modbus validator by using table (#103488) 2023-11-08 09:55:00 +01:00
David Knowles
8e9528d34d Bump pydrawise to 2023.11.0 (#103638) 2023-11-08 09:28:38 +01:00
dupondje
4f11ee6e0b Fix 5B Gas meter in dsmr (#103506)
* Fix 5B Gas meter in dsmr

In commit 1b73219 the gas meter broke for 5B.
As the change can't be reverted easily without removing the peak usage
sensors, we implement a workaround.

The first MBUS_METER_READING2 value will contain the gas meter data just
like the previous BELGIUM_5MIN_GAS_METER_READING did.
But this without the need to touch dsmr_parser (version).

Fixes: #103306, #103293

* Use parametrize

* Apply suggestions from code review

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

* Add additional tests + typo fix

---------

Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2023-11-08 09:13:51 +01:00
Joakim Sørensen
a0f19f26c4 Bump awesomeversion from 23.8.0 to 23.11.0 (#103641) 2023-11-08 09:11:54 +01:00
Franck Nijhof
f69b8f37f8 Update pytest-picked to 0.5.0 (#103631) 2023-11-08 07:02:07 +01:00
Diogo Gomes
0fdd929f54 Add 4 new sensors to V2C (#103634)
* add 4 sensors

* no need for extra class
2023-11-08 06:59:24 +01:00
J. Nick Koston
23578d8046 Bump dbus-fast to 2.13.1 (#103621)
* Bump dbus-fast to 2.13.0

changelog: https://github.com/Bluetooth-Devices/dbus-fast/compare/v2.12.0...v2.13.0

* no change re-release since upload failed due to running out of space on pypi
2023-11-07 19:42:53 -06:00
starkillerOG
a51bbe9a66 Add HDR switch to Reolink (#103550) 2023-11-08 01:11:44 +01:00
Franck Nijhof
22fa33ce7a Small cleanup in conftest mocks of Sensors.Community (#103630) 2023-11-08 01:11:07 +01:00
Franck Nijhof
2b12a95607 Update cryptography to 40.0.5 (#103624) 2023-11-08 01:10:41 +01:00
Franck Nijhof
780e6c06ec Update syrupy to 4.6.0 (#103626) 2023-11-08 01:09:56 +01:00
Franck Nijhof
3e204ab82b Small cleanup in conftest mocks of PVOutput (#103628) 2023-11-08 01:09:44 +01:00
Franck Nijhof
91ffe4f9e5 Update sentry-sdk to 1.34.0 (#103623) 2023-11-08 00:55:52 +01:00
Erik Montnemery
e49f6b41ee Rename YAML loader classes (#103609) 2023-11-08 00:26:54 +01:00
Frederik Gladhorn
41a235bb52 Improve HomeKit description of what the PIN looks like (#103170)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-11-08 00:06:30 +01:00
Rami Mosleh
77a2f1664e Use EntityDescription for Transmission entities (#103581) 2023-11-08 00:05:17 +01:00
mkmer
36011d0384 Bump blinkpy to 0.22.3 (#103438) 2023-11-08 00:04:23 +01:00
Jan Bouwhuis
cbccdbc6fa Fix entity category for sensor fails mqtt sensor platform setup (#103449) 2023-11-08 00:03:47 +01:00
Mick Vleeshouwer
a11091890f Support continue_on_error for command execution in Overkiz (#103591) 2023-11-08 00:02:34 +01:00
Franck Nijhof
d935d06265 Remove myself from verisure codeowners (#103625) 2023-11-08 00:01:25 +01:00
Franck Nijhof
c69141236e Update radios to v0.2.0 (#103614) 2023-11-07 23:54:06 +01:00
Joakim Sørensen
2859055b36 Add instance id to the cloud integration (#103162) 2023-11-07 23:52:18 +01:00
Mick Vleeshouwer
947ce592c1 Remove obstruction detected property for covers in Overkiz (#103597) 2023-11-07 23:50:22 +01:00
Erik Montnemery
859c5c48c4 Fix yaml loader tests to test both C and Python implementations (#103606) 2023-11-07 23:49:31 +01:00
Allen Porter
e8c568a243 Remove rainbird yaml config test fixtures (#103607) 2023-11-07 23:24:34 +01:00
Erik Montnemery
c29b0cd05b Correct line numbers in yaml node annotations (#103605) 2023-11-07 23:22:23 +01:00
Franck Nijhof
95fe7aa491 Update open-meteo to v0.3.1 (#103613) 2023-11-07 22:54:56 +01:00
Joost Lekkerkerker
836ebfd84b Bump yt-dlp to 2023.10.13 (#103616) 2023-11-07 22:50:09 +01:00
Jan Bouwhuis
624837912c Fix metoffice test_forecast_subscription raises key error (#103598)
Allow test time change to be processed
2023-11-07 22:11:02 +01:00
Diogo Gomes
0d67557106 Add V2C Trydan EVSE integration (#103478)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-11-07 21:53:22 +01:00
Michael Hansen
9c2febc72e Small code clean up (#103603) 2023-11-07 20:52:58 +01:00
J. Nick Koston
0d63e2f9b5 Ensure large payloads are compressed in the executor with aiohttp 3.9.0 (#103592) 2023-11-07 12:37:54 -06:00
Tudor Sandu
d3ed8a6b8b Validate empty sentence triggers (#103579)
* Validate empty sentence triggers

* Add extra test for no sentences

* Remove extra line

---------

Co-authored-by: Michael Hansen <mike@rhasspy.org>
2023-11-07 11:56:24 -06:00
Erik Montnemery
05deae09fc Add file and line annotation to strings when loading yaml (#103586) 2023-11-07 17:10:15 +01:00
Joost Lekkerkerker
6276c4483c Raise exception when data can't be fetched in Opensky (#103596) 2023-11-07 16:33:46 +01:00
Raman Gupta
0fcaa2c581 Add zwave_js.refresh_notifications service (#101370) 2023-11-07 09:11:38 -05:00
Teemu R
21af563dfe Bump python-songpal to 0.16 (#103561)
* Bump python-songpal to 0.16

* Set _attr_device_class
2023-11-07 09:06:34 -05:00
suaveolent
5b43351807 fix: get_devices only checks for the first type (#103583) 2023-11-07 14:46:02 +01:00
Joost Lekkerkerker
b636a4d5cf Parametrize DSMR serial config flow tests (#103524) 2023-11-07 14:13:57 +01:00
Luke Lashley
c13744f4cf Remove MyQ Integration (#103565)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-11-07 14:11:54 +01:00
Lukáš Vasek
38acad8263 Add geofencing mode for Somfy Thermostat in Overkiz (#103160)
103136 Added geofencing mode for Overkiz thermostat
2023-11-07 13:14:30 +01:00
Mick Vleeshouwer
6c5ba53668 Bump pyOverkiz to 1.13.0 (#103582) 2023-11-07 13:12:26 +01:00
Mick Vleeshouwer
76b322c6b3 Retrieve manufacturer and configuration_url from client in Overkiz integration (#103585)
Retrieve manufacturer and configuration_url from client
2023-11-07 13:10:14 +01:00
Etienne G
b233d248ff Add support for SomfyHeatingTemperatureInterface in Overkiz integration (#83514) 2023-11-07 12:48:41 +01:00
Christian Fetzer
2349e3ac1d Add select for partial position (garage door) in Overkiz (#99500) 2023-11-07 12:15:25 +01:00
J. Nick Koston
2a80164508 Bump aioesphomeapi to 18.2.4 (#103552) 2023-11-07 11:22:41 +01:00
G Johansson
ef7a3787bb Remove Ezviz detection sensitivity service (#103392) 2023-11-07 10:51:11 +01:00
J. Nick Koston
da1780f9ec Small cleanups to process_success_login (#103282) 2023-11-07 10:48:34 +01:00
dupondje
3ca6cddc1f Update dsmr-parser to 1.3.1 to fix parsing issues (#103572) 2023-11-07 10:38:37 +01:00
Florent Fourcot
446de10aec Add hvac_action support to melcloud (#103372)
Since actions are shared between water tank (if any) and climate device,
hvac action can be idle even when heat pump is active

Co-authored-by: jan iversen <jancasacondor@gmail.com>
2023-11-07 10:14:50 +01:00
Allen Porter
0a05a16fcb Add read-only Caldav todo platform (#103415)
* Add Caldav todo enttiy for VTODO components

* Use new shared apis for todos

* Update homeassistant/components/caldav/todo.py

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

* Update todo item conversion checks

* Iterate over results once

* Add 15 minute poll interval for caldav todo

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-11-07 09:11:52 +01:00
Rami Mosleh
b6a3f628d1 Bump transmission-rpc to version 7.0.3 (#103502)
* Bump transmission-rpc to version 7.0.3

* Change `date_added` to `added_date`
2023-11-07 09:04:59 +01:00
Álvaro Fernández Rojas
369cea175a Update aioairzone-cloud to v0.3.6 (#103535) 2023-11-07 08:50:05 +01:00
Mick Vleeshouwer
9a1173f6a6 Add diagnostics tests to Overkiz integration (#103560)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-11-07 08:44:24 +01:00
Franck Nijhof
9a776d958c Update pvo to 2.1.0 (#103551) 2023-11-07 08:18:25 +01:00
Charles Garwood
b372a64057 Bump pyenphase to 1.14.2 (#103553) 2023-11-06 17:53:44 -06:00
Nathan Spencer
53b15fd16d Allow WeatherFlow devices to be removed (#103556)
Allow WeatherFlow devices to be removed if they haven't reported
2023-11-07 00:25:00 +01:00
starkillerOG
9c0bfc1b58 Bump reolink_aio to 0.7.15 (#103548) 2023-11-06 23:56:18 +01:00
Aidan Timson
96e9a57fa3 Add processes count sensor to System Bridge (#103516)
* Add processes count sensor to System Bridge

* Add processes string
2023-11-06 23:47:39 +01:00
epenet
c9e8a3a887 Fix invalid MAC in samsungtv (#103512)
* Fix invalid MAC in samsungtv

* Also adjust __init__
2023-11-06 23:43:56 +01:00
Franck Nijhof
0b4d20b1f9 Update vehicle to 2.2.0 (#103545) 2023-11-06 23:31:54 +01:00
David Bonnes
af4ccefb8a Bump evohome-async to 0.4.6 (#103534)
* bump client to 0.4.5

* bump to 0.4.6

* adress lint mypy fails
2023-11-06 22:13:17 +01:00
Jan-Philipp Benecke
0dc6c1d03a Fix entry data typing in bsblan (#103544) 2023-11-06 21:43:02 +01:00
Michael Hansen
ae516ffbb5 Automatically convert TTS audio to MP3 on demand (#102814)
* Add ATTR_PREFERRED_FORMAT to TTS for auto-converting audio

* Move conversion into SpeechManager

* Handle None case for expected_extension

* Only use ATTR_AUDIO_OUTPUT

* Prefer MP3 in pipelines

* Automatically convert to mp3 on demand

* Add preferred audio format

* Break out preferred format

* Add ATTR_BLOCKING to allow async fetching

* Make a copy of supported options

* Fix MaryTTS tests

* Update ESPHome to use "wav" instead of "raw"

* Clean up tests, remove blocking

* Clean up rest of TTS tests

* Fix ESPHome tests

* More test coverage
2023-11-06 15:26:00 -05:00
Joost Lekkerkerker
054089291f Bump nettigo-air-monitor to 2.2.1 (#103529) 2023-11-06 21:03:48 +01:00
Maciej Bieniek
e08d2408c9 Bump accuweather to version 2.0.1 (#103532) 2023-11-06 21:02:02 +01:00
Aidan Timson
471fb4bce3 Update systembridgeconnector version to 3.9.5 (#103515) 2023-11-06 21:01:25 +01:00
J. Nick Koston
408e977b17 Try to avoid re-parsing the content-type in hassio ingress if possible (#103477)
Co-authored-by: Stefan Agner <stefan@agner.ch>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-11-06 20:48:47 +01:00
Maciej Bieniek
570b4ccb4b Bump gios to version 3.2.1 (#103533) 2023-11-06 20:31:12 +01:00
Maciej Bieniek
57a3c70731 Bump nextdns to version 2.0.1 (#103531) 2023-11-06 20:30:01 +01:00
Franck Nijhof
8371fe520e Update elgato to 5.1.0 (#103530) 2023-11-06 20:24:01 +01:00
Franck Nijhof
08b43c4477 Add device fixtures and tests for HomeWizard Energy Watersensor (#103383)
Co-authored-by: Duco Sebel <74970928+DCSBL@users.noreply.github.com>
2023-11-06 18:12:58 +01:00
Aidan Timson
ad22a11485 Update systembridgeconnector to 3.9.4 (#103425)
* Update systembridgeconnector to 3.9.2

* Update systembridgeconnector to version 3.9.3

* Update systembridgeconnector to version 3.9.4

* Fix import
2023-11-06 15:50:28 +01:00
Jan Bouwhuis
54cf7010cd Add ServiceValidationError and translation support (#102592)
* Add ServiceValidationError

* Add translation support

* Extend translation support to HomeAssistantError

* Add translation support for ServiceNotFound exc

* Frontend translation & translation_key from caller

* Improve fallback message

* Set websocket_api as default translation_domain

* Add MQTT ServiceValidationError exception

* Follow up comments

* Revert removing gueard on translation_key

* Revert test changes to fix CI test

* Follow up comments

* Fix CI test

* Follow up

* Improve language

* Follow up comment
2023-11-06 15:45:04 +01:00
David Bonnes
5cd61a0cf4 Remove redundant code from the evohome integration (#103508)
* remove unreachable except clause

* remove uneccesary try
2023-11-06 15:17:28 +01:00
Nathan Spencer
b0e04ae690 Handle null data in WeatherFlow sensors (#103349)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-11-06 14:48:00 +01:00
dupondje
91182603d5 Use right equipment identifier in DSMR setup (#103494) 2023-11-06 14:19:47 +01:00
Joakim Plate
a35f5dc6f5 Split out coordinator and add tests for nibe_heatpump (#103452)
* Separate coordinator in nibe heatpump

* Add tests for coordinator in nibe

* Correct errors in coordinator found during testing

* If coil is missing we should still write state
* async_shutdown did not call base class

* Add more tests for coordinator

* Add minimal test to climate
2023-11-06 11:15:00 +01:00
Franck Nijhof
cee8379628 Update tailscale to 0.6.0 (#103409) 2023-11-06 11:12:33 +01:00
Joakim Sørensen
6d567c3e0a Bump pycfdns from 2.0.1 to 3.0.0 (#103426) 2023-11-06 11:05:44 +01:00
Álvaro Fernández Rojas
779b19ca46 On Airzone cloud unload logout (#103487) 2023-11-06 10:51:14 +01:00
Jan Bouwhuis
5dd787aa10 Validate entity category for binary_sensor (#103464) 2023-11-06 10:34:06 +01:00
G Johansson
b580ca6e6f Add Check date service for Workday (#97280) 2023-11-06 10:17:48 +01:00
David Bonnes
3cfb2d557f Bump evohome-async to 0.4.4 (#103084)
* initial commit

* use correct attr

* fix hass-logger-period

* initial commit

* reduce footprint

* reduce footprint 2

* reduce footprint 3

* reduce footprint 4

* reduce footprint 6

* reduce footprint 7

* reduce footprint 8

* reduce footprint 9

* bump client to 0.4.1

* missing commit - changed method name

* bump client to 0.4.3

* bump client to 0.4.4
2023-11-06 10:10:28 +01:00
Allen Porter
aa8b36c4e2 Bump ical to 6.0.0 (#103482) 2023-11-06 08:54:30 +01:00
Rami Mosleh
1b17f6d837 Store Islamic Prayer Times coordinator in 'entry_id' key (#103405) 2023-11-06 08:50:41 +01:00
Matthias Alphart
70196d5ee0 Fix KNX expose default value when attribute is None (#103446)
Fix KNX expose default value when attribute is `null`
2023-11-06 08:39:40 +01:00
Joost Lekkerkerker
52736c6039 Sort Withings sleep data on end date (#103454)
* Sort Withings sleep data on end date

* Sort Withings sleep data on end date
2023-11-06 07:58:13 +01:00
jan iversen
5eba6dbc9f modbus Allow swap: byte for datatype: string. (#103441) 2023-11-06 07:52:15 +01:00
Matt Zimmerman
fd3d615c0d Handle smarttub sensor values being None (#103385)
* [smarttub] handle sensor values being None

* empty commit to rerun CI

* lint

* use const in test

* reorder checks

* use None instead of STATE_UNKNOWN

* empty commit to rerun CI

* check for STATE_UNKNOWN in test

* empty commit to rerun CI
2023-11-06 04:11:50 +01:00
Rami Mosleh
f6cb7e1bc5 Refactor tests for Islamic Prayer Times (#103439)
Refactor tests
2023-11-06 04:07:57 +01:00
Álvaro Fernández Rojas
ab6b3d5668 Allow setting HVAC mode through set_temperature service in Airzone Cloud integration (#103184)
* airzone_cloud: climate: set_temperature: support ATTR_HVAC_MODE

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* tests: airzone_cloud: set_temp: check HVAC mode

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

---------

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2023-11-06 01:33:01 +01:00
Álvaro Fernández Rojas
77baea8cb7 Allow setting HVAC mode through set_temperature service in Airzone integration (#103185)
* airzone: climate: set_temperature: support ATTR_HVAC_MODE

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* tests: airzone: set_temp: check HVAC mode

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

---------

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2023-11-06 01:32:03 +01:00
rappenze
17acb04fb8 Refactor fibaro config flow test (#102604)
* Refactor fibaro config flow test

* Use constants from FlowResultType

* Extend tests with recovery after failure

* Add recovery from failure in all tests
2023-11-06 01:30:06 +01:00
G Johansson
43cab28700 Remove platform YAML from GeoJSON (#103393) 2023-11-06 01:15:49 +01:00
Jan Bouwhuis
f88e137679 Fix fritz entity category binary sensor is invalid (#103470) 2023-11-05 22:49:08 +01:00
Tobias Sauerwein
35791d7d6c Bump pyatmo to v7.6.0 (#103410)
Signed-off-by: Tobias Sauerwein <cgtobi@gmail.com>
2023-11-05 21:13:45 +01:00
jan iversen
701a93c298 Modbus set device_class in slaves (#103442) 2023-11-05 20:20:13 +01:00
Matt Zimmerman
806205952f Fix litterrobot test failure due to time zone dependence (#103444)
* fix litterrobot test

* use a date in northern hemisehpere summer
2023-11-05 18:42:07 +01:00
mkmer
751ebbda51 Use local variables in Blink (#103430)
local variables
2023-11-05 14:21:20 +01:00
Álvaro Fernández Rojas
fefea89d89 Update aioairzone-cloud to v0.3.5 (#103315)
* Update aioairzone-cloud to v0.3.3

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* Update aioairzone-cloud to v0.3.4

Reverts accidental TaskGroup changes.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* Update aioairzone-cloud to v0.3.5

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* Trigger Github CI

---------

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-11-05 07:09:29 -06:00
J. Nick Koston
a8deb6afd0 Bump zeroconf to 0.120.0 (#103412)
changelog: https://github.com/python-zeroconf/python-zeroconf/compare/0.119.0...0.120.0
2023-11-05 07:08:24 -06:00
J. Nick Koston
8ef3cf2e18 Bump bluetooth-data-tools to 0.14.0 (#103413)
changelog: https://github.com/Bluetooth-Devices/bluetooth-data-tools/compare/v1.13.0...v1.14.0
2023-11-05 07:07:44 -06:00
Michael
108aed7843 Fix serial in Flo device information (#103427) 2023-11-05 12:41:15 +01:00
Erik Montnemery
3ba8a82243 Differentiate between warnings and errors in check_config helper (#102902)
* Differentiate between warnings and errors in check_config helper

* Update tests

* Treat configuration errors in frontend and its dependencies as errors

* Improve test coverage

* Address review comments

* Improve test coverage

* Improve test coverage

* Address review comments

* Add comment
2023-11-05 03:08:04 +01:00
Allen Porter
936956a430 Fix CalDAV supported components check when configured from the UI (#103411)
* Fix CalDAV supported components check when configured from the UI

* Move async_get_calendars to a seprate file

* Simplify return value for async_get_calendars
2023-11-05 01:36:00 +01:00
J. Nick Koston
d3bbcbe27c Pin jaraco.functools to fix builds and CI (#103406) 2023-11-04 18:38:28 -05:00
Sebastian Lövdahl
c04db6a249 Bump vallox_websocket_api to 4.0.2 (#103339) 2023-11-04 14:55:50 -05:00
G Johansson
941239262a Remove platform YAML from LastFM (#103391) 2023-11-04 19:24:34 +01:00
G Johansson
d0603729f2 Remove platform YAML from DWD Weather Warnings (#103379) 2023-11-04 18:56:53 +01:00
Maciej Bieniek
8e8f2a2163 Don't assume that the sleep value is a dictionary in Tractive integration (#103138)
* Sleep value can be null

* Catch TypeError
2023-11-04 18:08:06 +01:00
G Johansson
d078a4396c Remove platform YAML from Qnap (#103377) 2023-11-04 17:59:12 +01:00
J. Nick Koston
b9b986dc8d Bump protobuf to 4.25.0 (#103373) 2023-11-04 10:54:34 -05:00
J. Nick Koston
8b30a901dd Remove unreachable code in logbook (#103309) 2023-11-04 10:54:22 -05:00
David Knowles
22306bd309 Add diagnostics support to Schlage (#103347)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-11-04 10:54:00 -05:00
G Johansson
7671ab0bb7 Remove platform yaml from myStrom (#103378) 2023-11-04 16:41:59 +01:00
mkmer
26e1285f34 Address late review for blink (#103376)
* use self.coordinator

* Dont store coordinator

* revert unintended sensor change

* revert remove

* indention error

* revert

* Revert more
2023-11-04 16:21:10 +01:00
G Johansson
72c02d4d63 Remove counter configure service (#103204)
* Remove counter configure service after deprecation

* reproduce state
2023-11-04 16:17:51 +01:00
G Johansson
2d3318e767 Remove platform YAML from Command line (#103202) 2023-11-04 16:17:31 +01:00
Franck Nijhof
07f03d9ec9 Set suggested display precision for HomeWizard Energy power sensors (#103369) 2023-11-04 15:40:50 +01:00
Jan-Philipp Benecke
c561372f30 Remove deprecated /config/server_control redirect (#103331) 2023-11-04 09:14:03 -05:00
Jan-Philipp Benecke
1517081a2d Set device entry type for dwd_weather_warnings (#103370)
* Set device entry type for dwd_weather_warnings

* Set integration type to service
2023-11-04 14:47:06 +01:00
Jan-Philipp Benecke
216349de25 Address late review for NINA (#103367)
Set device entry type
2023-11-04 14:00:01 +01:00
Franck Nijhof
109944e4ff Replace/restructure HomeWizard device fixtures to reflect reality (#103311) 2023-11-04 13:37:08 +01:00
Jan Rieger
aa2a748235 Add translations to speedtest.net state attributes (#103362) 2023-11-04 13:20:16 +01:00
Jan-Philipp Benecke
6036fda219 Add DeviceInfo to NINA (#103361) 2023-11-04 13:19:23 +01:00
Chris Xiao
37757f777f AirNow sensors should share device identifier (#103279)
* Entities from the same config entry should have the same device identifier
* Clean up unused device entries with no entities after sensor setup

Co-authored-by: James Pan <32176676+jzpan1@users.noreply.github.com>
Co-authored-by: Theo Ma <62950302+t1an-xyz@users.noreply.github.com>
Co-authored-by: Jonathan McDevitt <69861492+Jonmcd1@users.noreply.github.com>
Co-authored-by: Jadon Yack <86989502+jadonyack@users.noreply.github.com>
Co-authored-by: Ashton Foley <121987068+foleyash@users.noreply.github.com>
Co-authored-by: Leon Yan <138124222+leony7@users.noreply.github.com>
2023-11-04 13:16:40 +01:00
Jan Rieger
39c97f5b14 Add translations to Tankerkoenig state attributes (#103363) 2023-11-04 13:14:24 +01:00
Raman Gupta
2b3d57859e Add test for firmware update scenario (#103314) 2023-11-04 13:12:06 +01:00
Tobias Sauerwein
fa6d8d281d Change log level to debug in Netatmo (#103365)
Change log level to debug
2023-11-04 12:31:57 +01:00
Robert Svensson
22be56a05b Handle UniFi traffic rules not supported on older versions (#103346) 2023-11-04 12:19:56 +01:00
Tobias Sauerwein
96409cf0e0 Use pyatmo device type enum instead of string (#103030) 2023-11-04 11:28:26 +01:00
Jan Rieger
f5fee73e01 Add translations to DWD state attributes (#103359) 2023-11-04 11:15:54 +01:00
Matthias Alphart
5cd27a877e Use setdefault() in scaffold script for setting hass.data (#103338) 2023-11-04 10:51:34 +01:00
Jan Rieger
bb8375da72 Report correct weather condition at night for Met (#103334)
* Report correct weather condition at night for Met, fixes #68369, fixes #89001

* Update homeassistant/components/met/weather.py

Co-authored-by: Jan-Philipp Benecke <github@bnck.me>

---------

Co-authored-by: Jan-Philipp Benecke <github@bnck.me>
2023-11-04 09:48:02 +01:00
J. Nick Koston
68471b6da5 Reduce template render overhead (#103343)
The contextmanager decorator creates a new context manager every
time its run, but since we only have a single context var, we can
use the same one every time. Creating the contextmanager was roughly
20% of the time time of the template render

I was a bit suprised to find it creates a new context manager
object every time https://stackoverflow.com/questions/34872535/why-contextmanager-is-slow
2023-11-04 09:46:01 +01:00
Rami Mosleh
62067fc64c Fix sensor unique id in Islamic prayer times (#103356) 2023-11-04 09:43:20 +01:00
Ian
51c3a5d11d Nextbus: Listify directions (#103337)
When a single value is returned, the list wrapper is not present in the
json payload. This patch ensures that the result is always a list.
2023-11-04 08:56:27 +01:00
Jan-Philipp Benecke
ae1117bc74 Fix failing entity reuse test (#103342)
* Fix failing entity reuse test

* One more test
2023-11-03 23:19:37 +01:00
Erik Montnemery
0ea0a1ed06 Prevent accidentally reusing an entity object (#102911)
* Prevent accidentally reusing an entity object

* Fix group reload service

* Revert "Fix group reload service"

* Improve test

* Add tests aserting entity can't be reused
2023-11-03 21:01:38 +01:00
J. Nick Koston
dca72c598e Small speed up to async_listen (#103307)
Avoid constructing an inner function each time we call async_listen
and use a partial which holds a reference to the function body with new
args instead of making another full function
2023-11-03 20:58:03 +01:00
J. Nick Koston
062b510ec0 Cache the mime type of static files (#103281) 2023-11-03 12:37:29 -05:00
Joakim Sørensen
4778c55d2b Bump pytraccar from 1.0.0 to 2.0.0 (#103318) 2023-11-03 18:09:56 +01:00
Jan Rieger
0f1c96ba97 Add translations to Workday state attributes (#103320) 2023-11-03 17:49:48 +01:00
Joakim Sørensen
921d6feae7 Remove extra from traccar webhook (#103319) 2023-11-03 17:44:48 +01:00
Jan-Philipp Benecke
88850334f1 Fix typo in Todoist config flow (#103317) 2023-11-03 17:16:20 +01:00
J. Nick Koston
fd8caaf846 Bump SQLAlchemy to 2.0.23 (#103313) 2023-11-03 11:10:08 -05:00
starkillerOG
1df69f52e5 Bump reolink-aio to 0.7.14 and improve typing of Reolink (#103129)
* Improve typing

* fix mypy

* Further improve typing

* Restore Literal typing

* Bump reolink_aio to 0.7.13

* Bump reolink-aio to 0.7.14
2023-11-03 17:05:27 +01:00
Ian
c1d979dc07 Bump py_nextbusnext to v1.0.2 to fix TypeError (#103214)
* Bump py_nextbusnext to v1.0.1 to fix TypeError

Currently throwing an error as a set is passed into the method that is currently
expecting a Sequence. That method is technically compatible with Iterable, so the
latest patch relaxes that restriction.

* Bump version to v1.0.2 to fix error message
2023-11-03 17:03:02 +01:00
J. Nick Koston
5bcff82148 Remove useless inner function in the base Bluetooth coordinator (#103305)
Remove unless inner function in the base Bluetooth coordinator
2023-11-03 15:41:47 +01:00
Raman Gupta
eeb88f5e07 Fix zwave_js cover bug for Window Covering CC values (#103289)
* Fix cover bug for Window Covering CC values

* update test

* Fix fixture

* Remove no-op line from test
2023-11-03 15:36:48 +01:00
Maikel Punie
eadfd51dab Add loggers to the duotecno integration (#103300) 2023-11-03 13:11:26 +01:00
Tom
2a31eb6762 Fix Plugwise Schedule selection (#103262) 2023-11-03 12:17:36 +01:00
tronikos
5d2110c32c Bump opower to 0.0.39 (#103292) 2023-11-03 12:15:49 +01:00
Marcel van der Veldt
680162d494 Fix Matter 1.2 locks with specific unlatch/unbolt support (#103275) 2023-11-03 12:09:31 +01:00
Raman Gupta
ac1dc4eeea Fix firmware update failure (#103277) 2023-11-03 12:08:40 +01:00
Paul Bottein
89a9e6c6e8 Add trigger selector for blueprint (#103050) 2023-11-03 09:11:49 +01:00
Guido Schmitz
f5cc4dcf3e Add MAC adress to devolo Home Network DeviceInfo (#103290)
Add MAC adress to devolo Home Network devices
2023-11-03 08:34:49 +01:00
J. Nick Koston
c81ada16ba Add debug logging for which adapter is used to connect bluetooth devices (#103264)
Log which adapter is used to connect bluetooth devices

This is a debug logging improvement to help users find problems
with their setup
2023-11-03 07:35:51 +01:00
Erik Montnemery
a63c420890 Quote entity ids in entity excpetions (#103286) 2023-11-03 06:04:07 +01:00
G Johansson
12e1acfcfc Cleanup weather test (#103090)
* Cleanup weather test

* rename

* Clean off not used MockWeatherCompat

* conftest

* more cleanup

* Fin mod tests

* fix others
2023-11-03 05:53:38 +01:00
J. Nick Koston
379c75ea1b Bump yalexs-ble to 2.3.2 (#103267) 2023-11-02 22:00:43 -05:00
Allen Porter
a95aa4e15f Add config flow to CalDAV (#103215)
* Initial caldav config flow with broken calendar platform

* Set up calendar entities

* Remove separate caldav entity

* Update tests after merge

* Readbility improvements

* Address lint issues

* Apply suggestions from code review

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

* Add checking for duplicate configuration entries

* Use verify SSL as input into caldav and simplify test setup

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-11-02 19:48:56 -07:00
Kevin Stillhammer
06c9719cd6 Support multiple responses for service calls (#96370)
* add supports_response to platform entity services

* support multiple entities in entity_service_call

* support legacy response format for service calls

* revert changes to script/shell_command

* add back test for multiple responses for legacy service

* remove SupportsResponse.ONLY_LEGACY

* Apply suggestion

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

* test for entity_id remove None

* revert Apply suggestion

* return EntityServiceResponse from _handle_entity_call

* Use asyncio.gather

* EntityServiceResponse not Optional

* styling

---------

Co-authored-by: Allen Porter <allen.porter@gmail.com>
2023-11-02 18:37:35 -07:00
Jan Bouwhuis
b86f3be510 Optmize timing excecutor timeout test (#103276) 2023-11-02 20:00:34 -05:00
Abílio Costa
4a117c0a1e Add buttons to connect/disconnect the Idasen Desk (#102433)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-11-02 19:57:48 -05:00
Pedro Januário
e7db0bf34d add library logger info on ecoforest integration manifest (#103274) 2023-11-02 23:32:46 +01:00
Jan-Philipp Benecke
4e3ff45a5e Use constant instead of plain key name for device info attributes (#103188)
* Use constant instead of plain key name for device info connections

* Some more device info constant changes
2023-11-02 21:59:25 +01:00
J. Nick Koston
f15fb6cf5e Reduce overhead to run event triggers (#103172) 2023-11-02 15:48:32 -05:00
J. Nick Koston
45f5c21402 Speed up websocket and ingress with aiohttp-zlib-ng (#103247) 2023-11-02 15:18:12 -05:00
Álvaro Fernández Rojas
35e1ecec8d Update aioairzone-cloud to v0.3.2 (#103258)
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2023-11-02 20:53:26 +01:00
Charles Garwood
b12d99bd2b Bump pyenphase to 1.14.1 (#103239) 2023-11-02 15:46:58 -04:00
rappenze
4c3c86511b Fix fibaro event handling (#103199) 2023-11-02 18:07:35 +01:00
Joakim Plate
194a799b0a Remove measurement flag from timestamp in gardena bluetooth (#103245)
Remove measurement flag from timestamp
2023-11-02 16:47:33 +01:00
Joost Lekkerkerker
401bb90215 Use shorthand attributes in Random (#103206) 2023-11-02 14:40:27 +01:00
Joost Lekkerkerker
a0741c74b2 Remove icon in Random (#103235) 2023-11-02 13:18:13 +01:00
Denis Shulyaka
d18b2d8748 Shield service call from cancellation on REST API connection loss (#102657)
* Shield service call from cancellation on connection loss

* add test for timeout

* Apply suggestions from code review

* Apply suggestions from code review

* fix merge

* Apply suggestions from code review
2023-11-02 12:58:26 +01:00
Jan Bouwhuis
4a4d2ad743 Fix mqtt config validation error handling (#103210)
* Fix MQTT config check

* Fix handling invalid enity_category for sensors

* Improve docstr

* Update comment

* Use correct util for yaml dump
2023-11-02 10:57:00 +01:00
Allen Porter
fe482af561 Add modernized fitbit battery level sensor (#102500)
* Add modernized fitbit battery level sensor

* Use entity names for existing battery sensors

* Use icon from device class

* Update homeassistant/components/fitbit/strings.json

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* Update tests with lower case naming

* Swap the names of the device battery sensors

* Revert "Swap the names of the device battery sensors"

This reverts commit c9516f6d06.

* Update homeassistant/components/fitbit/sensor.py

Co-authored-by: Jan Vaníček <janvanicek@post.cz>

* Improve typing

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Jan Vaníček <janvanicek@post.cz>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-11-02 10:22:27 +01:00
Matthias Alphart
76115ce766 Fix Fronius entity initialisation (#103211)
* Use None instead of raising ValueError if value invalid

* use async_dispatcher_send
2023-11-02 09:13:04 +01:00
Luke Lashley
47d6d6c344 Add button platform to Roborock (#103010)
* add button platform to roborock

* Update tests/components/roborock/test_button.py

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

* Remove device class

* improve tests

* sort platforms

---------

Co-authored-by: Duco Sebel <74970928+DCSBL@users.noreply.github.com>
2023-11-01 21:34:04 +01:00
Xitee
f05d2eb261 Fix roomba error if battery stats are not available (#103196) 2023-11-01 21:12:57 +01:00
Xitee
135944b6f0 Fix roomba translation key mismatch (#103191) 2023-11-01 20:15:18 +01:00
Jan-Philipp Benecke
67fa304b78 Use constant instead of plain key name for device info connections in roborock and roomba (#103182) 2023-11-01 18:09:49 +01:00
Jan-Philipp Benecke
56b4369f44 Add MAC address to bsblan device info (#103180) 2023-11-01 17:53:40 +01:00
J. Nick Koston
12c5aec5e6 Add bluetooth address to august (#103177) 2023-11-01 10:47:56 -05:00
Jan-Philipp Benecke
ebee51a794 Add MAC address to roborock device info (#103175) 2023-11-01 10:28:03 -05:00
Jan-Philipp Benecke
e48cb909f4 Use shorthand device info attribute for roomba (#103176) 2023-11-01 10:27:51 -05:00
jimmyd-be
ae02e3f903 Add reset filter counter button to Renson integration (#103126)
Add reset filter counter button
2023-11-01 16:27:23 +01:00
Tudor Sandu
66dd3b153d Support HassTurnOn/Off intents for lock domain (#93231)
* Support HassTurnOn/Off intents for lock domain

Fix https://github.com/home-assistant/intents/issues/1347

* Added tests

* Linting changes

* Linting
2023-11-01 09:46:13 -05:00
mkmer
4a93465e85 Catch unexpected response in Honeywell (#103169)
catch unexpected response
2023-11-01 15:41:41 +01:00
Xitee
cef68ea33c Add hardware version to Roomba (#103171) 2023-11-01 09:21:42 -05:00
Jan-Philipp Benecke
8b7cfc070e Move base entity of system_bridge to own module (#103167)
* Move base entity of system_bridge to own module

* Add entity.py to .coveragerc
2023-11-01 14:21:39 +01:00
Joost Lekkerkerker
6e5479d307 Bump aiowaqi to 3.0.0 (#103166) 2023-11-01 13:25:33 +01:00
G Johansson
412b0e1c55 Bump python-holidays to 0.35 (#103092) 2023-11-01 12:37:59 +01:00
Bram Kragten
f624946ac0 Update frontend to 20231030.1 (#103163) 2023-11-01 11:05:17 +01:00
J. Nick Koston
78e546b35a Avoid enumerating the whole state machine on api service calls (#103147) 2023-11-01 10:25:02 +01:00
Jan Bouwhuis
daee5baef6 Fix mqtt is not reloading without yaml config (#103159) 2023-11-01 09:25:56 +01:00
J. Nick Koston
6ea5af7575 Bump aioesphomeapi to 18.2.1 (#103156) 2023-11-01 08:56:48 +01:00
Allen Porter
04dfbd2e03 Improve fitbit oauth token error handling in config flow (#103131)
* Improve fitbit oauth token error handling in config flow

* Apply suggestions from code review

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

* Update tests with updated error reason

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-10-31 19:48:33 -07:00
Teemu R
f944c68e01 Bump python-kasa to 0.5.4 for tplink (#103038) 2023-10-31 19:54:51 -05:00
Erik Montnemery
e880ad7bda Improve reload of legacy groups (#102925)
* Improve reload of legacy groups

* Simplify reload

* Get rid of inner function

* Fix logic when there are no group.group entities

* Update homeassistant/components/group/__init__.py

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

* Fix type hints

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2023-11-01 00:18:21 +01:00
J. Nick Koston
1a6184a9aa Allow non-admins to subscribe to the issue registry updated event (#103145) 2023-10-31 16:29:22 -05:00
J. Nick Koston
8eb7766f30 Avoid path construction for static files cache hit (#102882) 2023-10-31 14:31:58 -05:00
Paul Bottein
4d475a9758 Don't try to load resources in safe mode (#103122) 2023-10-31 19:25:25 +01:00
Aidan Timson
6433bf4d77 Create update component for System Bridge (#102966)
* Create update component for System Bridge

* Add
2023-10-31 19:08:47 +01:00
J. Nick Koston
3ebd029026 Bump aiohomekit to 3.0.9 (#103123) 2023-10-31 12:56:15 -05:00
J. Nick Koston
9b27552238 Fix race in starting reauth flows (#103130) 2023-10-31 12:38:05 -05:00
Joost Lekkerkerker
d75a6a3b4b Use right functions for fixtures in Freebox test (#103135) 2023-10-31 17:25:08 +01:00
Narmishka
f55cd17982 Move Freebox tests to fixtures (#103128) 2023-10-31 15:50:17 +00:00
starkillerOG
620a3350d7 Bump reolink-aio to 0.7.12 (#103120) 2023-10-31 15:15:20 +01:00
Christopher Fenner
22126a1280 Handle exception introduced with recent PyViCare update (#103110) 2023-10-31 13:42:52 +01:00
G Johansson
193ce08b39 No aliases in workday (#103091) 2023-10-31 11:35:09 +01:00
Joost Lekkerkerker
55a4769172 Abort config flow if Google Tasks API is not enabled (#103114)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-10-31 11:32:17 +01:00
Christopher Fenner
5f09503cf3 Fix client id label in ViCare integration (#103111) 2023-10-31 10:35:51 +01:00
Jan Bouwhuis
8668f47543 Add strict typing for input_text (#103095) 2023-10-31 10:29:04 +01:00
Robert Resch
8e2c2e5cc5 Fix todo.remove_item frontend (#103108) 2023-10-31 10:06:42 +01:00
Bram Kragten
1fc1e85b01 Update frontend to 20231030.0 (#103086) 2023-10-31 10:05:16 +01:00
Erik Montnemery
0304ac5a1b Fix restore state for light when saved attribute is None (#103096) 2023-10-31 10:05:03 +01:00
G Johansson
a851907f78 Add serial to Sensibo (#103089) 2023-10-31 09:10:43 +01:00
Duco Sebel
b63c33d320 Bumb python-homewizard-energy to 3.1.0 (#103011)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-10-31 08:53:56 +01:00
Rami Mosleh
61a1245a84 Code cleanup for transmission integration (#103078) 2023-10-31 08:49:03 +01:00
G Johansson
85d49a2920 Fix Met Device Info (#103082) 2023-10-31 08:31:53 +01:00
Paul Manzotti
06bbea2e0f Update geniushub-client to v0.7.1 (#103071) 2023-10-31 08:09:03 +01:00
Erik Montnemery
8e3b5f1be4 Add todo to core files (#103102) 2023-10-31 07:55:03 +01:00
G Johansson
12afd0ad94 Bump pytrafikverket to 0.3.8 (#103080) 2023-10-31 06:57:06 +01:00
Erik Montnemery
246ebc99cc Fix local_todo todo tests (#103099) 2023-10-31 02:38:58 +01:00
Erik Montnemery
64f8967739 Fix todoist todo tests (#103101) 2023-10-31 02:38:18 +01:00
Erik Montnemery
df814af076 Fix shopping_list todo tests (#103100) 2023-10-31 02:03:54 +01:00
Erik Montnemery
6e62cf5efb Fix google_tasks todo tests (#103098) 2023-10-31 02:03:34 +01:00
Mislav Mandarić
84b71c9ddb Allow setting hvac mode through set_temperature climate method in Gree integration (#101196)
* Allow setting hvac mode through set_temperature climate method

* Suggested code simplification when reading hvac mode

Co-authored-by: G Johansson <goran.johansson@shiftit.se>

* Remove unnecessary temperature unit handling from set temperature with hvac mode tests

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2023-10-30 22:10:47 +01:00
Robert Resch
d97a030872 Refactor todo services and their schema (#103079) 2023-10-30 21:43:24 +01:00
Joost Lekkerkerker
7319abcab0 Show a warning when no Withings data found (#103066) 2023-10-30 19:40:27 +01:00
Duco Sebel
0f72495a7d Rename power to energy in HomeWizard (#102948) 2023-10-30 19:09:23 +01:00
Álvaro Fernández Rojas
cb0517d20e Update AEMET-OpenData to v0.4.6 (#102996) 2023-10-30 18:54:50 +01:00
Christopher Fenner
bdfb138b09 Update PyViCare to v2.28.1 for ViCare integration (#103064) 2023-10-30 18:47:33 +01:00
Nortonko
78e316aa7e Bump python-androidtv to 0.0.73 (#102999)
* Update manifest.json

Bump python-androidtv to version 0.0.73

* bump androidtv 0.0.73

* bump androidtv 0.0.73
2023-10-30 18:32:24 +01:00
tronikos
74b19564ad Fix Opower not refreshing statistics when there are no forecast entities (#103058)
Ensure _insert_statistics is periodically called
2023-10-30 11:08:51 -04:00
Mike Woudenberg
7b6910882e Use correct config entry field to update when IP changes in loqed (#103051) 2023-10-30 15:57:00 +01:00
Joost Lekkerkerker
953d5e0080 Add 2 properties to Withings diagnostics (#103067) 2023-10-30 15:47:08 +01:00
David Knowles
f160fa4bc3 Make Hydrawise initialize data immediately (#101936) 2023-10-30 15:18:59 +01:00
mkmer
92ec525de1 Add retry before unavailable to Honeywell (#101702)
Co-authored-by: Robert Resch <robert@resch.dev>
2023-10-30 15:16:41 +01:00
David Knowles
4ed3676a56 Bump pyschlage to 2023.10.0 (#103065) 2023-10-30 14:57:24 +01:00
Franck Nijhof
487dcf227e Rewrite HomeWizard Energy tests (#103000)
Co-authored-by: Duco Sebel <74970928+DCSBL@users.noreply.github.com>
2023-10-30 14:07:42 +01:00
J. Nick Koston
b3743937de Avoid looking up the callable type for HassJob when we already know it (#102962)
* Avoid looking up the callable type for HassJob when we already know it

When we connect the frontend we call async_listen with run_immediately MANY
times when we already know the job type (it will always be a callback). This
reduces the latency to get the frontend going

* missing coverage
2023-10-30 12:45:22 +01:00
Robert Hillis
7dbe0c3a48 Fix Google Mail expired authorization (#102735)
* Fix Google Mail expired authorization

* add test

* raise HomeAssistantError

* handle in api module

* uno mas
2023-10-30 12:36:34 +01:00
Álvaro Fernández Rojas
ba7dbc5927 Show proper name on Airzone errors (#102997)
* airzone: fix showing None on errors

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* airzone: use entity_id on erros/logs

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

---------

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2023-10-30 11:03:34 +01:00
Álvaro Fernández Rojas
9952eed671 Show proper name on Airzone Cloud errors (#102998)
* airzone_cloud: fix showing None on errors

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* airzone_cloud: use entity_id on errors/logs

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

---------

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2023-10-30 11:02:24 +01:00
Erwin Douna
8acc45d482 Enable dry mode for Tado AC's V3 (#99568) 2023-10-30 10:29:40 +01:00
Jirka
422af9d438 Update MQTT QoS description string (#103036)
Update strings.json
2023-10-30 09:54:46 +01:00
G-Two
dd3790641a Bump to subarulink 0.7.8 (#103033) 2023-10-30 09:46:48 +01:00
Diogo Gomes
7c94293cb4 Fix utility_meter reset when DST change occurs (#103012) 2023-10-30 09:46:20 +01:00
Pedro Januário
71ecb39dc5 Add additional sensors to ecoforest integration (#102734) 2023-10-30 09:41:53 +01:00
Jack Boswell
8fde275662 Rename Starlink Idle to Sleep (#103048) 2023-10-30 09:40:15 +01:00
dependabot[bot]
0369187340 Bump github/codeql-action from 2.22.4 to 2.22.5 (#103045)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-30 09:17:01 +01:00
Jack Boswell
89d7c33e31 Bump starlink-grpc-core to 1.1.3 (#103043) 2023-10-30 08:56:50 +01:00
Jan Bouwhuis
d6a0f9b5a0 Give mqtt test more time to process subscriptions (#103006) 2023-10-30 06:02:03 +01:00
Allen Porter
a373f5eac5 Bump google-nest-sdm to 3.0.3 (#103035) 2023-10-29 15:48:01 -07:00
Allen Porter
d75f1b2b3e Fix bug in fitbit credential import for expired tokens (#103024)
* Fix bug in fitbit credential import on token refresh

* Use stable test ids

* Update homeassistant/components/fitbit/sensor.py

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

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-10-29 14:26:10 -07:00
Franck Nijhof
b323295aa1 Clean up old config entry migration from Tuya (#103026) 2023-10-29 19:18:31 +01:00
kpine
46ecf0d4bd Revert "Fix temperature setting for multi-setpoint z-wave device (#102395)" (#103022)
This reverts commit 2d6dc2bccc.
2023-10-29 19:15:19 +01:00
Joost Lekkerkerker
b7667d44fd Use built in config entry from coordinator in HomeWizard (#102959) 2023-10-29 18:23:48 +01:00
Raman Gupta
94e192db12 Fix zwave_js siren name (#103016)
* Fix zwave_js.siren name

* Fix test
2023-10-29 17:44:15 +01:00
Franck Nijhof
59f238b9a7 Clean up two year old entity migration from Tuya (#103003) 2023-10-29 14:47:24 +01:00
David Bonnes
8a87ea5506 Harden evohome against failures to retrieve high-precision temps (#102989)
fix hass-logger-period
2023-10-29 13:28:35 +01:00
Michael
2616794e1d Fix proximity entity id (#102992)
* fix proximity entity id

* extend test to cover entity id
2023-10-29 10:43:57 +01:00
Tom Puttemans
19f1d14000 DSMR Gas currently delivered device state class conflict (#102991)
Fixes #102985
2023-10-29 10:23:24 +01:00
Bouwe Westerdijk
9cc7012d32 Correct total state_class of huisbaasje sensors (#102945)
* Change all cumulative-interval sensors to TOTAL
2023-10-29 09:17:57 +01:00
Allen Porter
af851b6c2b Cleanup caldav test fixtures (#102982)
* Caldav test fixture cleanup

* Remove a text fixture only used 3 times
2023-10-29 09:16:28 +01:00
Allen Porter
4e22958486 Move caldav coordinator to its own file (#102976)
* Move caldav coordinator to its own file.

* Remove unused offset.
2023-10-29 09:04:09 +01:00
tronikos
82688d2a33 Bump opower to 0.0.38 (#102983) 2023-10-29 08:05:37 +01:00
Michael
6202f178af Fix proximity zone handling (#102971)
* fix proximity zone

* fix test
2023-10-28 22:32:42 -04:00
Allen Porter
4599b788b4 Update caldav to use an DataUpdateCoordinator for fetching data (#102089) 2023-10-28 15:35:31 -07:00
Brett Adams
a4c31f63bf Add current temperature to master climate entity in Advantage Air (#102938)
* Add current_temperature

* Update tests
2023-10-28 21:59:02 +02:00
Matthias Alphart
b1aeaf2296 Update xknxproject to 3.4.0 (#102946) 2023-10-28 21:31:43 +02:00
Allen Porter
efc9f845db Fix error message strings for Todoist configuration flow (#102968)
* Fix error message strings for Todoist configuration flow

* Update error code in test
2023-10-28 21:02:42 +02:00
Álvaro Fernández Rojas
fb5d058885 Add AEMET library data to coordinator and use it for weather platform (#102954) 2023-10-28 13:53:40 -05:00
Allen Porter
8703621c64 Improve fitbit oauth import robustness (#102833)
* Improve fitbit oauth import robustness

* Improve sensor tests and remove unnecessary client check

* Fix oauth client id/secret config key checks

* Add executor for sync call
2023-10-28 17:20:44 +02:00
Erik Montnemery
03d3a87f23 Small cleanup of legacy groups (#102918)
* Small cleanup of legacy groups

* Update tests which create groups
2023-10-28 17:16:41 +02:00
Álvaro Fernández Rojas
7e4e124f50 Move has entity name to parent entity in Airzone Cloud (#102961)
airzone_cloud: consolidate _attr_has_entity_name

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2023-10-28 16:32:31 +02:00
J. Nick Koston
5648dc6cd1 Reduce string copy needed to subscribe to entities (#102870) 2023-10-28 09:18:25 -05:00
J. Nick Koston
18fa5b8532 Small cleanups to mobile_app encryption (#102883) 2023-10-28 09:18:09 -05:00
Ville Skyttä
7d598801fe Update prettier to 3.0.3 (#102929) 2023-10-28 08:56:26 -05:00
J. Nick Koston
009dc91b97 Fix inner callback decorators with partials (#102873) 2023-10-28 08:38:42 -05:00
Erik Montnemery
524e20536d Improve dlna_dmr tests (#102905) 2023-10-28 14:53:34 +02:00
Erik Montnemery
6f515c06a2 Add test for check_config helper (#102898) 2023-10-28 14:52:20 +02:00
Tom Puttemans
7f5896bc45 Add gas device class to dsmr_reader sensor (#102953)
DSMR reader integration - can't configure gas meter in energy dashboard posible due to missing device_class
Fixes #102367
2023-10-28 13:59:24 +02:00
Joost Lekkerkerker
2601c6789d Add entity translations to Airzone (#99054) 2023-10-28 13:56:45 +02:00
Franck Nijhof
8e112c04fb Improve diagnostic handling in HomeWizard Energy (#102935) 2023-10-27 23:27:17 +02:00
Franck Nijhof
fd1c1dba7c Handle/extend number entity availability property in HomeWizard Energy (#102934) 2023-10-27 23:27:02 +02:00
Franck Nijhof
923d2d0d81 Small base entity cleanup for HomeWizard Energy entities (#102933) 2023-10-27 23:26:41 +02:00
Franck Nijhof
100c3079ae Hide mac address from HomeWizard Energy config entry/discovery titles (#102931) 2023-10-27 23:26:28 +02:00
Franck Nijhof
4fa551612e Move HomeWizard Energy identify button to config entity category (#102932) 2023-10-27 23:26:03 +02:00
myztillx
9c6884a526 Bump python-ecobee-api to 0.2.17 (#102900) 2023-10-27 21:46:59 +02:00
Bram Kragten
1c1ff56021 Update frontend to 20231027.0 (#102913) 2023-10-27 19:17:15 +02:00
Maikel Punie
c7d7ce457c Bump velbusaio to 2023.10.2 (#102919) 2023-10-27 16:15:16 +00:00
Joost Lekkerkerker
c3da075554 Use present wording in version bump script (#102897) 2023-10-27 17:50:33 +02:00
Álvaro Fernández Rojas
ca5bcb9ab1 Update aioairzone-cloud to v0.3.1 (#102899) 2023-10-27 17:36:28 +02:00
Magnus Larsson
a516f32bbd Use new API for Vasttrafik (#102570) 2023-10-27 16:49:01 +02:00
Bram Kragten
3f56ca49c6 Add redirect from shopping list to todo (#102894) 2023-10-27 13:55:22 +02:00
Franck Nijhof
c77a3facf5 Some textual fixes for todo (#102895) 2023-10-27 13:28:16 +02:00
Erik Montnemery
a7183a0cbf Allow missing components in safe mode (#102891) 2023-10-27 13:26:26 +02:00
Erik Montnemery
294f565bad Allow missing components in safe mode (#102888) 2023-10-27 12:25:27 +02:00
Jan-Philipp Benecke
43915fbaf3 Add connections to PassiveBluetoothProcessorEntity (#102854) 2023-10-27 12:09:59 +02:00
Paul Bottein
e0885ef109 Don't return resources in safe mode (#102865) 2023-10-27 11:30:37 +02:00
Jan Bouwhuis
8eaf38cd44 Fix mqtt schema import not available for mqtt_room (#102866) 2023-10-27 10:51:45 +02:00
Abílio Costa
6b5f2a1349 Cleanup exception logging in Idasen Desk (#102617)
* Cleaup exception logging in Idasen Desk

* Apply suggestions from code review

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

* Re-add trace

* Remove uneeded exc_info

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2023-10-27 00:53:35 +02:00
mletenay
3b2a849f77 Update goodwe library to 0.2.32 (#102868) 2023-10-26 22:20:29 +02:00
Simone Chemelli
ae9106effd Improve exception handling for Vodafone Station (#102761)
* improve exception handling for Vodafone Station

* address review comment

* apply review comment

* better except handling (bump library)

* cleanup
2023-10-26 19:34:59 +00:00
Allen Porter
af9cae289f Change todo move API to reference previous uid (#102795) 2023-10-26 18:43:10 +02:00
Joost Lekkerkerker
c741b8cbd1 Bump aiowithings to 1.0.2 (#102852) 2023-10-26 17:31:53 +02:00
Paul Bottein
e7a867f630 Update frontend to 20231026.0 (#102857) 2023-10-26 11:26:27 -04:00
nachonam
cf03f8338a Add Freebox Home alarm panel (#102607)
* add alarm control panel

* optimize update node

* Modify comment

* move const to alarm

* add alarm panel tests

* tests modified

* add file into coveragerc

* Review: DATA_HOME_GET_VALUES -> DATA_HOME_PIR_GET_VALUES

* Review: commands rename

* Review: precise what "alarm2" is for features

* Review: remove custom attributes & properties that exists in parent

* Review: Avoid duplicates of async_write_ha_state()

* make functions private

* Review: initial state never works

* Review: remove extra attrs

* Review: fix tests

* Fix tests

* Remove line in .coveragerc

---------

Co-authored-by: Quentame <polletquentin74@me.com>
2023-10-26 12:35:51 +00:00
Erik Montnemery
9ea97fd8d2 Improve docstrings for time related event helpers (#102839)
* Improve docstrings for time related event helpers

* Fix grammar

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-10-26 14:00:44 +02:00
Ravaka Razafimanantsoa
1a1bc05470 Address late review of switchbot cloud (#102842)
For Martin's review
2023-10-26 12:12:18 +02:00
Kevin Worrel
36c6f426df Bump screenlogicpy to v0.9.4 (#102836) 2023-10-26 11:59:48 +02:00
Amit Finkelstein
edf2e42e4d Apple TV: Use replacement commands for deprecated ones (#102056)
Co-authored-by: Robert Resch <robert@resch.dev>
2023-10-26 10:46:20 +02:00
Erik Montnemery
087df10d27 Improve validation of device automations (#102766)
* Improve validation of device automations

* Improve comments

* Address review comment
2023-10-26 09:46:16 +02:00
Jesse Hills
4838b2dee6 ESPHome: Add suggested_area from device info (#102834) 2023-10-26 09:19:31 +02:00
hahn-th
aa67542ef8 Bump homematicip to 1.0.16 (#102822) 2023-10-25 23:26:10 -04:00
William Scanlon
dd28d1e17f Bump pyeconet to 0.1.22 to handle breaking API change (#102820) 2023-10-25 23:25:44 -04:00
Robert Van Gorkom
6939970624 Remove code owner. (#102829) 2023-10-25 23:25:23 -04:00
J. Nick Koston
b89e7a2fe2 Bump bleak-retry-connector to 3.3.0 (#102825)
changelog: https://github.com/Bluetooth-Devices/bleak-retry-connector/compare/v3.2.1...v3.3.0
2023-10-25 23:23:06 -04:00
Erik Montnemery
43ac77ca2f Fix fan device actions (#102797) 2023-10-25 23:22:38 -04:00
Erik Montnemery
e5078a3e13 Use real devices in automation blueprint tests (#102824) 2023-10-25 23:20:50 -04:00
Erik Montnemery
64f0ea60d1 Correct logic for picking bluetooth local name (#102823)
* Correct logic for picking bluetooth local name

* make test more robust

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2023-10-25 18:08:31 -05:00
mkmer
69a0c0d435 Move coordinator first refresh in Blink (#102805)
Move coordinator first refresh
2023-10-25 23:57:47 +02:00
TheJulianJES
f9712627c5 Add myself as a code owner for ZHA (#102812)
Add 'TheJulianJES' as a code owner for ZHA
2023-10-25 23:53:14 +02:00
Marc Mueller
27ac2ceae3 Fix velbus import (#102780) 2023-10-25 23:09:36 +02:00
J. Nick Koston
371a49d2f4 Bump HAP-python 4.9.1 (#102811) 2023-10-25 15:55:28 -05:00
Raman Gupta
13378b4ae2 Add script to convert zwave_js device diagnostics to fixture (#102799) 2023-10-25 16:07:22 -04:00
Franck Nijhof
f28c9221e6 Bump version to 2023.12.0dev0 (#102798) 2023-10-25 20:37:16 +02:00
Raman Gupta
8b1cfbc46c Bump zwave-js-server-python to 0.53.1 (#102790) 2023-10-25 17:22:33 +02:00
Marcel van der Veldt
bcade5fe73 Bump python-matter-server to version 4.0.0 (#102786) 2023-10-25 16:51:42 +02:00
Marc Mueller
4cac20f835 Fix google_tasks generic typing (#102778) 2023-10-25 07:22:19 -07:00
Erik Montnemery
b83ada8c19 Use real devices in automation and script tests (#102785) 2023-10-25 16:09:39 +02:00
Joost Lekkerkerker
e734a4bc53 Use sentence case in Random entities default name (#102788) 2023-10-25 16:09:09 +02:00
Joost Lekkerkerker
cd8e3a81db Add Update coordinator to QBittorrent (#98896) 2023-10-25 15:51:52 +02:00
Erik Montnemery
8d034a85fe Small cleanup of nest tests (#102787) 2023-10-25 15:35:58 +02:00
tronikos
89e2f06304 Flume: Add flume.notifications service (#100621)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: Robert Resch <robert@resch.dev>
2023-10-25 15:34:48 +02:00
J. Nick Koston
4447336083 Fix hassio delaying startup to fetch container stats (#102775) 2023-10-25 15:32:43 +02:00
Erik Montnemery
6e72499f96 Use real devices in nest device trigger tests (#102692) 2023-10-25 15:13:38 +02:00
Simone Chemelli
e4a1efb680 Fix Comelit comments as per late review (#102783) 2023-10-25 14:48:33 +02:00
Bram Kragten
b50f5e50c3 Update frontend to 20231025.1 (#102781) 2023-10-25 08:42:44 -04:00
Jan Stienstra
2c46a975fb Add re-authentication to Jellyfin (#97442) 2023-10-25 14:02:30 +02:00
Bram Kragten
edc9aba722 Update frontend to 20231025.0 (#102776) 2023-10-25 14:01:36 +02:00
Maciej Bieniek
47c9d58b5e Override the async_update() method for Shelly sleeping devices (#102516) 2023-10-25 13:48:00 +02:00
Allen Porter
476e867fe8 Add a Local To-do component (#102627)
Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-10-25 13:21:10 +02:00
Raman Gupta
35d18a9a3e Add tests for types and functions for type conversions in templates (#100807)
Co-authored-by: Robert Resch <robert@resch.dev>
2023-10-25 13:20:34 +02:00
Joost Lekkerkerker
8ca5df6fcc Guard for None color mode in ZHA (#102774) 2023-10-25 13:17:41 +02:00
Joost Lekkerkerker
0658c7b307 Add config flow to random (#100858)
Co-authored-by: Robert Resch <robert@resch.dev>
2023-10-25 13:01:27 +02:00
Jan-Philipp Benecke
6fae50cb75 Add connections to Xiaomi BLE and BTHome device entry (#102773) 2023-10-25 12:15:58 +02:00
Joost Lekkerkerker
d2f8c527a5 Add entity translations to Tomorrow.io (#99632) 2023-10-25 12:15:09 +02:00
Joost Lekkerkerker
4812d62ccf Bring Withings activity sensor creation in line with the others (#102771) 2023-10-25 12:14:03 +02:00
Joost Lekkerkerker
45e4f71d1a Add generics to Withings (#102770) 2023-10-25 12:00:12 +02:00
Joakim Sørensen
267721af43 Bump hass-nabucasa from 0.73.0 to 0.74.0 (#102763) 2023-10-25 11:28:52 +02:00
Simone Chemelli
4328f887be Address late review comments for Comelit login (#102768) 2023-10-25 09:19:06 +00:00
Jirka
dfc454d527 Remove double full stop from Vulcan translation strings (#102758) 2023-10-25 10:54:43 +02:00
Allen Porter
7f7064ce59 Add Google Tasks create and update for todo platform (#102754)
* Add Google Tasks create and update for todo platform

* Update comments

* Update comments
2023-10-25 10:51:21 +02:00
Simone Chemelli
ffed1e8274 Improve exception handling for Comelit (#102762)
improve exception handling for Comelit
2023-10-25 10:28:22 +02:00
tzagim
37cde54b2b Fix typo in Todoist translations strings 'data' -> 'date' (#102760) 2023-10-25 09:48:47 +02:00
Erik Montnemery
a6c5927976 Use real devices in light device condition tests (#102756) 2023-10-25 09:42:35 +02:00
Erik Montnemery
b38692f3a7 Use real devices in lock device condition tests (#102757) 2023-10-25 09:42:00 +02:00
Maciej Bieniek
c89acf2abe Bump nextdns to version 2.0.0 (#102674) 2023-10-25 08:59:45 +02:00
starkillerOG
93a8b60c2b Philips Hue restore brightness after transition (#101293) 2023-10-25 07:46:49 +02:00
buzz-tee
4bf475185e Fix invalid sources in media player sources list (#102646) 2023-10-25 07:12:55 +02:00
mkmer
b37e9bc79a Improve camera snap performance in Blink (#102652) 2023-10-24 23:50:10 -05:00
Ravaka Razafimanantsoa
7038bd67f7 Add Climate to switchbot cloud integration (#101660) 2023-10-24 23:46:00 -05:00
Allen Porter
0cb0e3ceeb Add Google tasks integration, with initial read-only To-do list (#102629)
* Add Google Tasks integration

* Update tests and unique id

* Revert devcontainer change

* Increase test coverage

* Apply suggestions from code review

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

* Remove ternary

* Fix JSON

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-10-24 21:30:29 -07:00
Matthias Alphart
fb13d9ce7c Set Fronius entities to "unknown" when receiving invalid zero value (#102270) 2023-10-25 06:27:46 +02:00
Erik Montnemery
704881743b Use real devices in remote device trigger tests (#102693) 2023-10-25 06:24:23 +02:00
Jesse Hills
ad692f3341 ESPHome Text entities (#102742) 2023-10-24 23:14:58 -05:00
Erik Montnemery
789a00043a Use real devices in device automation tests (#102736)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-10-25 06:14:53 +02:00
Raman Gupta
aa36229519 Remove eight_sleep integration (#102669) 2023-10-25 06:13:10 +02:00
Erik Montnemery
626123acc0 Use real devices in select device trigger tests (#102694) 2023-10-25 06:13:00 +02:00
Erik Montnemery
b870933dc7 Use real devices in remote device action tests (#102725) 2023-10-25 06:11:55 +02:00
Erik Montnemery
9047dcf242 Use real devices in text device action tests (#102728) 2023-10-25 06:11:06 +02:00
Luke Lashley
dd111416e7 Add cleaning binary sensor to Roborock (#102748) 2023-10-25 06:10:31 +02:00
J. Nick Koston
ece7ec6a38 Disable IPV6 in the august integration (#98003) 2023-10-25 06:08:41 +02:00
AJ Jordan
2e643c0c75 Fix dead link in Kodi log message (#102743) 2023-10-25 06:07:38 +02:00
tronikos
6294339944 Improve ZHA King of Fans (#101859) 2023-10-25 05:56:08 +02:00
puddly
8d5cb20285 Bump ZHA radio dependencies (#102750) 2023-10-24 23:36:30 -04:00
TheJulianJES
7c93d4fccf Bump zha-quirks to 0.0.106 (#102741) 2023-10-24 21:57:34 -04:00
Raman Gupta
ec3ee7f02c Update zwave_js/hard_reset_controller WS cmd (#102280) 2023-10-24 21:31:03 -04:00
Robert Svensson
40817dabbf Bump aiounifi to v64 (#102700) 2023-10-24 20:27:42 -05:00
Marc Mueller
eb52943d27 Update pytest to 7.4.3 (#102744) 2023-10-25 02:44:51 +02:00
Erik Montnemery
a1a5713e10 Abort Improv via BLE bluetooth flow if device is provisioned (#102656)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-10-24 19:14:23 -05:00
J. Nick Koston
f91583a0fc Add support for family to aiohttp session helper (#102702) 2023-10-24 18:40:39 -05:00
Robert Svensson
a691bd26cf Support Lidl christmas light effects in deCONZ (#102731) 2023-10-25 00:32:20 +02:00
Maciej Bieniek
b37253b206 Bump gios to version 3.2.0 (#102675) 2023-10-24 23:45:20 +02:00
Erik Montnemery
f56343f447 Use real devices in lock device action tests (#102723) 2023-10-24 23:43:50 +02:00
Erik Montnemery
3a11a6f973 Use real devices in switch device action tests (#102727) 2023-10-24 23:43:30 +02:00
Erik Montnemery
530611c44e Use real devices in fan device action tests (#102720) 2023-10-24 21:40:24 +00:00
Erik Montnemery
21d0fa640f Use real devices in cover device action tests (#102719) 2023-10-24 23:40:22 +02:00
Erik Montnemery
8da421c442 Use real devices in climate device action tests (#102718) 2023-10-24 23:40:07 +02:00
Erik Montnemery
4bb6787909 Use real devices in button device action tests (#102717) 2023-10-24 23:39:47 +02:00
Erik Montnemery
a4487637ef Use real devices in alarm_control_panel device action tests (#102716) 2023-10-24 23:39:37 +02:00
Erik Montnemery
2e9a3e8c8e Use real devices in humidifier device action tests (#102721) 2023-10-24 23:39:14 +02:00
Erik Montnemery
e1394d720f Use real devices in vacuum device action tests (#102729) 2023-10-24 23:38:35 +02:00
Erik Montnemery
02a83740cc Use real devices in light device action tests (#102722) 2023-10-24 21:38:24 +00:00
Erik Montnemery
69ce85d5af Use real devices in select device action tests (#102726) 2023-10-24 23:38:19 +02:00
Erik Montnemery
e708faa4d6 Use real devices in vacuum device condition tests (#102715) 2023-10-24 23:38:01 +02:00
Erik Montnemery
e761d5715b Use real devices in switch device condition tests (#102714) 2023-10-24 21:37:48 +00:00
Erik Montnemery
b5a6e6b9d5 Use real devices in sensor device condition tests (#102713) 2023-10-24 23:37:36 +02:00
Erik Montnemery
ff60a8072e Use real devices in select device condition tests (#102712) 2023-10-24 23:37:16 +02:00
Erik Montnemery
1b61cd9179 Use real devices in remote device condition tests (#102711) 2023-10-24 23:36:31 +02:00
Erik Montnemery
2049d892ba Use real devices in media_player device condition tests (#102710) 2023-10-24 23:35:34 +02:00
Erik Montnemery
0e8bd9805a Use real devices in humidifier device condition tests (#102709) 2023-10-24 23:34:31 +02:00
Erik Montnemery
3ed67f134f Use real devices in fan device condition tests (#102708) 2023-10-24 23:32:56 +02:00
Erik Montnemery
9cf9b36637 Use real devices in device_tracker device condition tests (#102707) 2023-10-24 23:31:49 +02:00
Erik Montnemery
14485af22d Use real devices in cover device condition tests (#102706) 2023-10-24 23:30:33 +02:00
Erik Montnemery
bead989e7f Use real devices in climate device condition tests (#102705) 2023-10-24 23:29:44 +02:00
Erik Montnemery
9d3cdc85ca Use real devices in binary_sensor device condition tests (#102704) 2023-10-24 23:28:29 +02:00
Erik Montnemery
4d83cffb39 Use real devices in alarm_control_panel device condition tests (#102703) 2023-10-24 23:27:29 +02:00
Erik Montnemery
56ee1753ec Use real devices in number device action tests (#102724) 2023-10-24 23:26:12 +02:00
Erik Montnemery
0ce7f44294 Use real devices in water_heater device action tests (#102730) 2023-10-24 23:25:14 +02:00
TheJulianJES
fd8fdba7e8 Replace ZHA quirk class matching with quirk ID matching (#102482)
* Use fixed quirk IDs for matching instead of quirk class

* Change tests for quirk id (WIP)

* Do not default `quirk_id` to `quirk_class`

* Implement test for checking if quirk ID exists

* Change `quirk_id` for test slightly (underscore instead of dot)
2023-10-24 17:18:10 -04:00
Maciej Bieniek
5ee14f7f7d Bump accuweather to version 2.0.0 (#102670) 2023-10-24 23:14:05 +02:00
Bouwe Westerdijk
a5461a9a90 Bump plugwise to v0.33.2 (#102671) 2023-10-24 23:11:16 +02:00
Bram Kragten
f5a6c88051 Don't load themes in safe mode (#102683) 2023-10-24 23:00:14 +02:00
Allen Porter
0b8f48205a Add Todoist To-do list support (#102633)
* Add todoist todo platform

* Fix comment in todoist todo platform

* Revert CalData cleanup and logging

* Fix bug in fetching tasks per project

* Add test coverage for creating active tasks

* Fix update behavior on startup
2023-10-24 22:47:26 +02:00
Erik Montnemery
ee1007abdb Use real devices in wemo device trigger tests (#102699) 2023-10-24 22:44:50 +02:00
Erik Montnemery
2807c9eaca Use real devices in vacuum device trigger tests (#102698) 2023-10-24 22:43:34 +02:00
Erik Montnemery
d8baa38751 Use real devices in update device trigger tests (#102697) 2023-10-24 22:42:44 +02:00
Erik Montnemery
8737d84d30 Use real devices in switch device trigger tests (#102696) 2023-10-24 22:41:27 +02:00
Erik Montnemery
82cc62416e Use real devices in sensor device trigger tests (#102695) 2023-10-24 22:37:44 +02:00
Erik Montnemery
952f40a181 Use real devices in alarm_control_panel device trigger tests (#102676) 2023-10-24 22:33:08 +02:00
Erik Montnemery
eac1d47ec6 Use real devices in media_player device trigger tests (#102691) 2023-10-24 22:31:16 +02:00
Erik Montnemery
f9fa1edabf Use real devices in lock device trigger tests (#102690) 2023-10-24 22:30:07 +02:00
Erik Montnemery
691de148cf Use real devices in light device trigger tests (#102689) 2023-10-24 21:58:37 +02:00
Erik Montnemery
6d1d3f4207 Use real devices in device_tracker device trigger tests (#102685) 2023-10-24 21:58:22 +02:00
Erik Montnemery
6edbee75f0 Use real devices in kodi device trigger tests (#102688) 2023-10-24 21:58:06 +02:00
Erik Montnemery
cedade15ef Use real devices in humidifier device trigger tests (#102687) 2023-10-24 21:58:01 +02:00
Erik Montnemery
51f6dac97f Use real devices in fan device trigger tests (#102686) 2023-10-24 21:57:57 +02:00
Erik Montnemery
4536720540 Use real devices in device_automation device trigger tests (#102684) 2023-10-24 21:57:42 +02:00
Erik Montnemery
ec3596e85d Use real devices in cover device trigger tests (#102681) 2023-10-24 21:57:33 +02:00
Erik Montnemery
13be486d61 Use real devices in climate device trigger tests (#102680) 2023-10-24 21:57:22 +02:00
Erik Montnemery
223abb6dca Use real devices in button device trigger tests (#102679) 2023-10-24 21:57:14 +02:00
Erik Montnemery
acc5edb088 Use real devices in binary_sensor device trigger tests (#102678) 2023-10-24 21:56:53 +02:00
Tomáš Bedřich
d25b4aae14 Add ZHA cover tilt (#102072)
* cover tilt reimplementation

* rework tilt test

* Fix ZHA cover tests

* Match ZHA cover tilt code-style with the rest

* Increase coverage for ZHA cover, optimize update

---------

Co-authored-by: josef109 <josefglaze@gmail.com>
2023-10-24 15:40:41 -04:00
Maciej Bieniek
4febb2e1d3 Bump nam to version 2.2.0 (#102673) 2023-10-24 21:14:17 +02:00
Erik Montnemery
f733f20834 Use real devices in arcam_fmj device trigger tests (#102677) 2023-10-24 13:39:16 -05:00
Erik Montnemery
508cffd1b5 Bump py-improv-ble-client to 1.0.3 (#102661) 2023-10-24 18:05:55 +02:00
Bouwe Westerdijk
8c3ae1b30c Add hvac_modes property to Plugwise (#102636)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-10-24 17:53:55 +02:00
Joost Lekkerkerker
9600c7fac1 Add workout calendar to Withings (#102589) 2023-10-24 16:38:11 +02:00
J. Nick Koston
80b3fec675 Bump aioesphomeapi to 18.0.12 (#102626)
changelog: https://github.com/esphome/aioesphomeapi/compare/v18.0.11...v18.0.12
2023-10-24 08:35:59 -05:00
Erik Montnemery
4604c5a152 Allow connecting an Improv via BLE device to a public network (#102655) 2023-10-24 15:24:30 +02:00
Erik Montnemery
97cc05d0b4 Make it possible to restart core in safe mode (#102606) 2023-10-24 14:47:58 +02:00
Erik Montnemery
46322a0f59 Add improv_ble integration (#102129)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-10-24 14:19:19 +02:00
Rami Mosleh
fea15148a1 Remove scan_interval from transmission (#98858)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-10-24 14:17:46 +02:00
Joost Lekkerkerker
8cfb8cb084 Add serial number to Blink (#102621) 2023-10-24 11:38:54 +02:00
Erik Montnemery
e20d4abfe1 Test extra javascript functionality in frontend (#102643) 2023-10-24 11:31:16 +02:00
Erik Montnemery
421832e09c Remove unused test fixture from frontend tests (#102642) 2023-10-24 11:13:44 +02:00
Joost Lekkerkerker
b42c47e800 Add last workout sensors to Withings (#102541)
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Robert Resch <robert@resch.dev>
2023-10-24 11:07:47 +02:00
Franck Nijhof
57a10a2e0d Set cart icon for shopping list integration (#102638) 2023-10-24 10:32:27 +02:00
Matthias Alphart
b0d4e5cb65 Retire Niels Mündler from Fronius codeowners (#102639) 2023-10-24 09:20:28 +02:00
Erik Montnemery
b953f2998c Rename the safe_mode integration to recovery_mode (#102581)
* Rename safe mode integration to recovery mode

* Update code
2023-10-24 09:11:14 +02:00
Jan Bouwhuis
6372bc3aaa Fix missed case alexa light attr can be None (#102612)
* Fix missed cased alexa light attr can be None

* Add test
2023-10-24 00:20:03 +02:00
Joost Lekkerkerker
d5e7cccff9 Add serial number to Brother (#102523) 2023-10-24 00:15:58 +02:00
Abílio Costa
2935d7d919 Remove uneeded typing on Idasen Desk (#102615) 2023-10-23 23:57:58 +02:00
ollo69
5245c94342 Exclude AsusWRT tracker state attribute from recorder (#102602) 2023-10-23 23:16:27 +02:00
Allen Porter
5d430f53cd Add todo component (#100019) 2023-10-23 22:53:00 +02:00
J. Nick Koston
fa1df7e334 Bump pyatv to 0.14.3 (#102196) 2023-10-23 15:48:19 -05:00
J. Nick Koston
4c8a919ca3 Bump aioesphomeapi to 18.0.11 (#102603) 2023-10-23 15:46:05 -05:00
Michael Hansen
a78e3f7b0f Delay import of webrtc to avoid blocking start up if package is missing (#102594)
* Delay import of webrtc to avoid blocking start up if package is missing

* Update homeassistant/components/assist_pipeline/pipeline.py

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

* Update homeassistant/components/assist_pipeline/vad.py

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

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-10-23 13:34:32 -05:00
Erik Montnemery
c481fdb7d0 Rename safe mode to recovery mode (#102580) 2023-10-23 20:33:08 +02:00
Erik Montnemery
7a009ed6cd Don't duplicate core services in hassio (#102593) 2023-10-23 20:26:56 +02:00
tronikos
c555fe4462 Refactor ZHA IkeaFan (#101858)
IkeaFan refactor
2023-10-23 14:01:25 -04:00
Michael Hansen
a52761171f No cooldown when wake words have the same id (#101846)
* No cooldown when wake words have the same id

* Use wake word entity id in cooldown decision
2023-10-23 13:12:34 -04:00
elmurato
54bcd70878 Increase timeouts in Minecraft Server (#101784) 2023-10-23 15:49:48 +02:00
Bouwe Westerdijk
c7d2499a52 Bump plugwise to v0.33.1 (#102052) 2023-10-23 15:47:12 +02:00
mkmer
40ccae3d07 Add coordinator to Blink (#102536) 2023-10-23 15:34:28 +02:00
Franck Nijhof
5b39a08feb Update adguardhome to 0.6.2 (#102582)
Update adguard to 0.6.2
2023-10-23 14:47:43 +02:00
Guido Schmitz
04c0bca487 Remove name from device info in devolo Home Network (#102585) 2023-10-23 14:00:47 +02:00
Marc Mueller
9c0427a7ac Update pylint to 3.0.2 (#102576) 2023-10-23 13:08:47 +02:00
Joost Lekkerkerker
42c062de68 Only add Withings sleep sensors when we have data (#102578)
Co-authored-by: Robert Resch <robert@resch.dev>
2023-10-23 12:59:13 +02:00
Erik Montnemery
d5af6c595d Fix runaway regex in translations.develop (#102386)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-10-23 12:34:32 +02:00
Maikel Punie
8c9c915c45 Bump code-quality to silver for duotecno (#102284)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-10-23 12:14:10 +02:00
Joost Lekkerkerker
8a7de27946 Try negative WAQI station number before aborting (#102550) 2023-10-23 11:55:12 +02:00
TopdRob
e27baedf32 Bump adax to 0.3.0 (#102556) 2023-10-23 11:21:33 +02:00
dependabot[bot]
3e23a4b4ee Bump github/codeql-action from 2.22.3 to 2.22.4 (#102566)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-23 11:11:06 +02:00
Joost Lekkerkerker
4c99d2607f Fix fibaro tests (#102575) 2023-10-23 11:04:21 +02:00
Maikel Punie
109819e9cd Only allow a single duotecno config entry (#102478) 2023-10-23 10:58:11 +02:00
Robert Resch
0c5b963847 Add lokalise multi reference check to hassfest (#101876) 2023-10-23 10:57:19 +02:00
Franck Nijhof
e4af09d261 Update base image to 2023.10.1 (#102568) 2023-10-23 10:48:05 +02:00
Joost Lekkerkerker
a6ade59133 Make Withings sleep sensor only show last night (#101993) 2023-10-23 10:39:17 +02:00
Paarth Shah
30ba78cf82 Fix resolving Matrix room aliases (#101928) 2023-10-23 10:35:41 +02:00
Paul Bottein
1176003b51 Move Ecowitt battery sensor into diagnostic category (#102569) 2023-10-23 10:07:31 +02:00
Rami Mosleh
a2bc2bf8a0 Remove name from Transmission config flow (#102216)
* Remove name key from Transmission

* Remove name variable completely

* remove name error from strings

* Change entry title to default name
2023-10-23 09:21:15 +02:00
Joost Lekkerkerker
54ba376b4b Make Withings bed presence sensor dynamic (#102058)
* Make Withings bed presence sensor dynamic

* Make Withings bed presence sensor dynamic

* Update homeassistant/components/withings/binary_sensor.py

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

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2023-10-23 09:01:58 +02:00
J. Nick Koston
268425b5e3 Recover from previously failed statistics migrations (#101781)
* Handle statistics columns being unmigrated from previous downgrades

If the user downgraded HA from 2023.3.x to an older version without
restoring the database and they upgrade again with the same database
they will have unmigrated statistics columns since we only migrate them
once.

As its expensive to check, we do not want to check every time
at startup, so we will only do this one more time since the
risk that someone will downgrade to an older version is very
low at this point.

* add guard to sqlite to prevent re-migrate

* test

* move test to insert with old schema

* use helper

* normalize timestamps

* remove

* add check

* add fallback migration

* add fallback migration

* commit

* remove useless logging

* remove useless logging

* do the other columns at the same time

* coverage

* dry

* comment

* Update tests/components/recorder/test_migration_from_schema_32.py
2023-10-22 23:34:43 -04:00
Seth
4ee9a6f130 Implement available property for Airthings BLE sensors (#96735) 2023-10-22 12:02:15 -10:00
J. Nick Koston
b980ed3eac Avoid more device_class lookups for number entities when writing state (#102381) 2023-10-22 23:55:13 +02:00
Joost Lekkerkerker
a97e34f28e Add Nephelometry sensor to waqi (#102298) 2023-10-22 23:50:40 +02:00
Joost Lekkerkerker
04b883a8e9 Add activity sensors to Withings (#102501)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-10-22 23:47:18 +02:00
Erik Montnemery
164872e1af Improve error messages from translation script (#102098)
Co-authored-by: Robert Resch <robert@resch.dev>
2023-10-22 23:45:27 +02:00
jan iversen
bc45de627a Allow negative minimum temperature for modbus (#102118) 2023-10-22 23:44:38 +02:00
Mike Degatano
c8007b841b Add exclude DB option to backup service call (#101958) 2023-10-22 23:40:44 +02:00
Robert Svensson
721c45b7a3 Rework UniFi client configuration (#99483) 2023-10-22 23:39:54 +02:00
rappenze
37fdb4950a Refactor fibaro scene test (#102452) 2023-10-22 23:36:41 +02:00
Jan Bouwhuis
c2abc3dcec Fix brightness and color_temp can be None for alexa light entities (#102554)
* Fix brightness and color_temp can be None in alexa

* Add test
2023-10-22 23:34:04 +02:00
Joost Lekkerkerker
5e30c2ab9c Use dataclass for Withings domain data (#102547)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-10-22 22:42:18 +02:00
Joakim Plate
7d2fa5bf60 Correct range for nibe_heatpump numbers (#102553) 2023-10-22 22:39:40 +02:00
Joost Lekkerkerker
e936ca0cb1 Build Pydantic wheels with old Cython (#101976) 2023-10-22 22:39:00 +02:00
J. Nick Koston
0adb6fb02c Bump anyio to 4.0.0 (#102552) 2023-10-22 10:34:34 -10:00
rappenze
27f6c6fdf4 Add model info in fibaro integration (#102551) 2023-10-22 22:11:43 +02:00
Joost Lekkerkerker
2dfb3ba693 Bump python-opensky to 0.2.1 (#102467) 2023-10-22 22:00:14 +02:00
Joost Lekkerkerker
e3b238861d Clean up withings tests (#102548) 2023-10-22 21:58:30 +02:00
Joost Lekkerkerker
3f88c518a5 Use translated name for entity id for Picnic (#97230) 2023-10-22 21:39:01 +02:00
J. Nick Koston
4bf0d6e536 Bump aioesphomeapi to 18.0.10 (#102545) 2023-10-22 09:20:49 -10:00
Joost Lekkerkerker
6b618fc95a Add entity translations to SolarEdge (#102295)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-10-22 21:02:39 +02:00
Álvaro Fernández Rojas
b416c8fbf6 Update aioairzone-cloud to v0.3.0 (#102540) 2023-10-22 20:52:17 +02:00
Guido Schmitz
a77a0ef4a5 Add serial number to devolo Home Network (#102546) 2023-10-22 20:51:27 +02:00
Joost Lekkerkerker
877410bb9d Add serial number to Elgato (#102524)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-10-22 20:32:02 +02:00
Joost Lekkerkerker
1fd7378caf Remove abstraction in WAQI config flow (#102543) 2023-10-22 20:31:17 +02:00
rappenze
c9c152d46d Bump pyfibaro to 0.7.6 (#102538) 2023-10-22 20:07:23 +02:00
Joost Lekkerkerker
f8ed051f01 Bump aiowithings to 1.0.1 (#102532) 2023-10-22 19:38:48 +02:00
Joost Lekkerkerker
0b5218ec96 Migrate SolarEdge to has entity name (#98944) 2023-10-22 19:30:05 +02:00
Franck Nijhof
409afddeb5 Merge branch 'master' into dev 2023-10-22 19:05:38 +02:00
J. Nick Koston
82c0610050 Avoid core/supervisor stats API calls when no entities need them (#102362) 2023-10-22 06:40:48 -10:00
Joost Lekkerkerker
af0b53cc79 Add serial number to Axis (#102522)
Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>
2023-10-22 18:34:01 +02:00
Jan-Philipp Benecke
a04c37c59f Add serial number to Discovergy (#102531) 2023-10-22 18:10:47 +02:00
wittypluck
b79eae2e94 Update Unifi bandwidth sensors (#101598)
* Change bandwidth sensors device class, state class, unit of measurement, icon

* Reformat imports

* Reformat imports

* Revert suggested_unit_of_measurement. Add unit tests.
2023-10-22 17:14:49 +02:00
Joost Lekkerkerker
e4943dd1e6 Add serial number to Qnap (#102528) 2023-10-22 08:13:36 -07:00
Joost Lekkerkerker
392b53e256 Add serial number to Fibaro (#102525) 2023-10-22 16:53:29 +02:00
Joost Lekkerkerker
1a8558012f Add serial number to Flo (#102526) 2023-10-22 16:53:17 +02:00
Joost Lekkerkerker
ee8037afc1 Add serial number to Nuheat (#102527) 2023-10-22 16:53:04 +02:00
Joost Lekkerkerker
58e84b7ba1 Add serial number to Roomba (#102529) 2023-10-22 16:52:55 +02:00
Joost Lekkerkerker
1412c2ea6e Add serial number to ViCare (#102530) 2023-10-22 16:52:38 +02:00
Jan-Philipp Benecke
3259e39170 Migrate Nuki to use dataclass for entry data (#101785)
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-10-22 16:30:34 +02:00
Hessel
06a2664a07 Wallbox Improve Testing (#102519) 2023-10-22 16:22:35 +02:00
Caius-Bonus
51f989c57a Standardize _select_attr in ZCLEnumSelectEntity (#102454) 2023-10-22 16:18:38 +02:00
elmurato
8bfd418c3e Reach gold level in Minecraft Server (#102462) 2023-10-22 16:17:32 +02:00
Niklas Held
af264c6e0d Fix options-flow in hvv_departures (#102484) 2023-10-22 15:17:22 +02:00
Erik Montnemery
1621310ba7 Add serial_number to device registry entries (#102334)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-10-22 15:14:44 +02:00
Franck Nijhof
1973287c91 2023.10.5 (#102517) 2023-10-22 14:55:13 +02:00
J. Nick Koston
b3bd34a024 Avoid dispatching same state to passive bluetooth entities (#102430) 2023-10-22 14:08:28 +02:00
Álvaro Fernández Rojas
311e539c0e Update aioairzone-cloud to v0.2.8 (#102515) 2023-10-22 13:57:38 +02:00
Franck Nijhof
d5862c350a Bumped version to 2023.10.5 2023-10-22 13:24:52 +02:00
Steven Looman
9820f4288f Bump async-upnp-client to 0.36.2 (#102472) 2023-10-22 13:24:34 +02:00
puddly
00607fb778 Downgrade ZHA dependency bellows (#102471)
Downgrade bellows
2023-10-22 13:24:30 +02:00
Jan-Philipp Benecke
62d8472757 Move ping classes to their own module (#102448) 2023-10-21 22:12:59 -10:00
Jan Bouwhuis
973b8900a9 Optimize mqtt platform setup (#102449)
* Optimize mqtt platform setup and correct issue

* Avoid coroutine for setup entity from discovery

* Avoid extra check

* Revert string constants

* Add comment
2023-10-22 08:31:08 +02:00
J. Nick Koston
215febc912 Bump aioesphomeapi to 18.0.9 (#102509) 2023-10-21 20:17:22 -10:00
Allen Porter
c4f562ff6a Reduce unnecessary fitbit RPCs on startup (#102504)
* Reduce unnecessary fitbit RPCs on startup

* Update comment about racing user profile rpcs
2023-10-21 22:00:40 -07:00
Joost Lekkerkerker
1801a7738c Bump aiowithings to 1.0.0 (#102499) 2023-10-21 16:51:21 -10:00
J. Nick Koston
6f2245bba3 Bump aioesphomeapi to 18.0.8 (#102493) 2023-10-21 16:51:12 -10:00
J. Nick Koston
0ebc97ad85 Bump yalexs-ble to 2.3.1 (#102502) 2023-10-21 14:30:53 -10:00
Jan Bouwhuis
242124504b Improve mqtt config issue string constants (#102496)
Improve config issue string constants
2023-10-22 00:21:55 +02:00
Xitee
f4d91043fc Add codeowner for roomba (#102492) 2023-10-21 23:05:04 +02:00
Steven Looman
aa9301be32 Bump async-upnp-client to 0.36.2 (#102472) 2023-10-21 10:09:09 -10:00
J. Nick Koston
51596c6231 Remove useless freezing on PassiveBluetoothDataUpdate (#102434) 2023-10-21 10:07:02 -10:00
J. Nick Koston
f9dbddc884 Small cleanups to Bluetooth fallback intervals (#102440) 2023-10-21 10:06:49 -10:00
J. Nick Koston
89f9d64bf5 Add early return check to passive Bluetooth entities listener (#102435) 2023-10-21 10:06:39 -10:00
J. Nick Koston
f626f3bc1e Bump aiohomekit to 3.0.8 (#102479) 2023-10-21 10:06:28 -10:00
Jan-Philipp Benecke
017c699e19 Let the statistics component calculate changes in fossil energy consumption calculation (#101557) 2023-10-21 10:06:12 -10:00
Joost Lekkerkerker
235a3486ee Add sensors for Withings Goals (#102468) 2023-10-21 21:51:37 +02:00
Allen Porter
f0f3a43b09 Bump ical to 5.1.0 (#102483) 2023-10-21 12:40:33 -07:00
Adrian Nöthlich
e8146e5565 Add support for Bosch QR-codes for zha.permit (#102427)
Signed-off-by: Adrian Nöthlich <git@promasu.tech>
2023-10-21 15:03:24 -04:00
Simone Chemelli
c36166f01d Add sensor platform to Comelit SmartHome (#102465)
* Add sensor platform to Comelit SmartHome

* apply review comments
2023-10-21 19:44:56 +02:00
puddly
864b69e586 Downgrade ZHA dependency bellows (#102471)
Downgrade bellows
2023-10-21 13:19:37 -04:00
Hessel
bd0df2f18f Add energy price number entities to Wallbox (#101840) 2023-10-21 17:53:32 +02:00
Joost Lekkerkerker
e5b5858915 Bump aiowithings to 0.5.0 (#102456) 2023-10-21 17:39:54 +02:00
Simone Chemelli
3896ed47be Fix switches list for Comelit SmartHome (#102336)
* fix switches list

* make entities a single list

* fix duplicate ids

* move comment to a better position
2023-10-21 16:57:11 +02:00
elmurato
faa149b71a Add binary sensor tests to Minecraft Server (#102457) 2023-10-21 15:49:38 +02:00
elmurato
9f3a733f73 Add sensor tests to Minecraft Server (#102418) 2023-10-21 15:19:32 +02:00
Marc Mueller
a8f0a66c27 Fix idasen_desk generic typing (#102445) 2023-10-21 13:15:43 +02:00
Franck Nijhof
aa5c4d8786 2023.10.4 (#102397) 2023-10-21 12:00:26 +02:00
Paulus Schoutsen
09a8b8567d Set Reolink record switch as config (#102439)
Reolink: record switch as config
2023-10-21 08:31:00 +02:00
J. Nick Koston
5cec687247 Bump pyenphase to 1.13.1 (#102431) 2023-10-20 15:27:54 -10:00
Franck Nijhof
29f61349ea Update black to 23.10.0 (#102420) 2023-10-20 14:19:04 -10:00
Richard Kroegel
5aefe963ae Bump bimmer_connected to 0.14.2 (#102426)
Co-authored-by: rikroe <rikroe@users.noreply.github.com>
2023-10-20 14:18:09 -10:00
Charles Garwood
013e580c02 Add support for changing Enphase battery backup modes (#102392) 2023-10-20 14:05:42 -10:00
Raman Gupta
41b59b6990 Add support for zwave_js event entities (#102285)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-10-20 19:11:08 -04:00
J. Nick Koston
a2c60d9015 Only callback when value or status changes for processing HKC events (#102370) 2023-10-20 12:46:18 -10:00
Franck Nijhof
55a8f01dcf Update ruff to v0.1.1 (#102421) 2023-10-20 12:33:07 -10:00
Franck Nijhof
7e6c14d062 Update Pillow to 10.1.0 (#102419) 2023-10-21 00:26:02 +02:00
Jan-Philipp Benecke
3c455391c2 Use dataclass to carry data in ping (#99803)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-10-20 11:46:33 -10:00
Franck Nijhof
b881057aa6 Update apprise to 1.6.0 (#102417) 2023-10-20 11:45:44 -10:00
J. Nick Koston
f51743f123 Bump aiohomekit to 3.0.7 (#102408) 2023-10-20 23:08:41 +02:00
Franck Nijhof
b70262fe8c Update psutil to 5.9.6 (#102416) 2023-10-20 23:07:14 +02:00
Franck Nijhof
f08a3b96e4 Update wled to 0.17.0 (#102413) 2023-10-20 23:06:13 +02:00
Franck Nijhof
f6238c16f6 Bump twentemilieu to 2.0.0 (#102407) 2023-10-20 23:00:17 +02:00
Álvaro Fernández Rojas
6f84549784 Update aioairzone-cloud to v0.2.7 (#102406) 2023-10-20 20:59:02 +02:00
Franck Nijhof
038040ffbe Update elgato to 5.0.0 (#102405) 2023-10-20 20:58:40 +02:00
Charles Garwood
e1972ba3c8 Add Enphase charge from grid switch (#102394)
* Add Enphase charge from grid switch

* review comments
2023-10-20 14:30:54 -04:00
Jan Bouwhuis
1bd0b2d05f Refactor mqtt entity cleanup on reload (#102375) 2023-10-20 20:28:04 +02:00
Franck Nijhof
5ff6779f5c Update guppy3 to 3.1.4 (#102400) 2023-10-20 20:20:17 +02:00
Franck Nijhof
dd4ac823d3 Update pvo to 2.0.0 (#102398) 2023-10-20 20:20:04 +02:00
J. Nick Koston
27b5a9e074 Reduce number of test states in big purge test to fix CI (#102401) 2023-10-20 08:09:59 -10:00
J. Nick Koston
6be401918e Bump aioesphomeapi to 18.0.7 (#102399) 2023-10-20 20:04:48 +02:00
kpine
2d6dc2bccc Fix temperature setting for multi-setpoint z-wave device (#102395)
* Fix temperature setting for multi-setpoint z-wave device

* Add missing fixture file

* Apply suggestions from code review

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-10-20 20:04:45 +02:00
J. Nick Koston
31daac61a9 Bump bluetooth-data-tools to 1.13.0 (#102208) 2023-10-20 20:04:42 +02:00
J. Nick Koston
1939beeca6 Bump dbus-fast to 2.12.0 (#102206) 2023-10-20 20:04:39 +02:00
J. Nick Koston
14483db892 Bump aioesphomeapi to 18.0.6 (#102195) 2023-10-20 20:04:35 +02:00
J. Nick Koston
0bd416e53d Bump aioesphomeapi to 18.0.7 (#102399) 2023-10-20 08:00:55 -10:00
kpine
c7affa75d4 Fix temperature setting for multi-setpoint z-wave device (#102395)
* Fix temperature setting for multi-setpoint z-wave device

* Add missing fixture file

* Apply suggestions from code review

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-10-20 19:57:00 +02:00
Franck Nijhof
73ac2d3dcc Bumped version to 2023.10.4 2023-10-20 17:40:08 +02:00
Álvaro Fernández Rojas
00978026cd Update aioairzone to v0.6.9 (#102383) 2023-10-20 17:39:46 +02:00
Joost Lekkerkerker
c9cba77940 Bump vehicle to 2.0.0 (#102379) 2023-10-20 17:38:32 +02:00
puddly
467d24548d Bump ZHA dependencies (#102358) 2023-10-20 17:38:28 +02:00
Maikel Punie
ab67304ebc Bump pyduotecno to 2023.10.1 (#102344) 2023-10-20 17:36:54 +02:00
Álvaro Fernández Rojas
d55b6a0839 Handle timeouts on AEMET init (#102289)
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2023-10-20 17:36:51 +02:00
Joost Lekkerkerker
dd15e3f706 Bump aiowaqi to 2.1.0 (#102209) 2023-10-20 17:36:47 +02:00
Maikel Punie
7963008a1e Bump velbusaio to 2023.10.1 (#102178) 2023-10-20 17:36:44 +02:00
Michael Hansen
3599ddfd9f Don't warn about unknown pipeline events in ESPHome (#102174)
Don't warn about unknown events (debug)
2023-10-20 17:36:41 +02:00
iain MacDonnell
f5e681ad33 Explicitly set entity name for VenstarSensor (#102158)
VenstarSensor entity name

Set entity name using _attr_name instead of a name property, to
avoid warnings about name being implicitly set to None.
2023-10-20 17:36:38 +02:00
tronikos
221efd7d4d Bump opower to 0.0.36 (#102150) 2023-10-20 17:36:34 +02:00
Jesse Hills
f896b82b49 Send events for tts stream start/end (#102139) 2023-10-20 17:36:31 +02:00
Robert Svensson
ec6128d9c4 Fix UniFi client tracker entities being unavailable when away on restart (#102125) 2023-10-20 17:36:28 +02:00
TheJulianJES
a187f05da0 Bump zha-quirks to 0.0.105 (#102113) 2023-10-20 17:36:25 +02:00
Maikel Punie
f12ce41d00 Bump velbusaio to 2023.10.0 (#102100) 2023-10-20 17:36:22 +02:00
Maikel Punie
3aba98a297 Correct sensor state attribute and device class in Velbus sensors (#102099) 2023-10-20 17:36:19 +02:00
J. Nick Koston
1a45b0af28 Bump aioesphomeapi to 18.0.3 (#102085) 2023-10-20 17:36:16 +02:00
Abílio Costa
c916ac67bd Call disconnected callbacks from BT ESPHome client (#102084)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-10-20 17:36:13 +02:00
Allen Porter
f7e84fcb60 Fix bug in calendar state transitions (#102083) 2023-10-20 17:36:09 +02:00
J. Nick Koston
2d7f054058 Bump aioesphomeapi to 18.0.1 (#102028)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-10-20 17:36:06 +02:00
J. Nick Koston
3fb79829ef Bump aioesphomeapi to 17.2.0 (#101981)
* Bump aioesphomeapi to 17.2.0

changelog: https://github.com/esphome/aioesphomeapi/compare/v17.1.5...v17.2.0

* fix import from wrong module
2023-10-20 17:36:03 +02:00
Phil Bruckner
b2bbe4f4b8 Fix google_maps same last_seen bug (#101971) 2023-10-20 17:36:00 +02:00
Maximilian
edce212dc9 Bump pynina to 0.3.3 (#101960) 2023-10-20 17:35:55 +02:00
Kevin Worrel
1e1dbf3cef Bump screenlogicpy to v0.9.3 (#101957) 2023-10-20 17:35:51 +02:00
Raman Gupta
24a1e540b9 Update zwave issue repair strings (#101940) 2023-10-20 17:35:46 +02:00
Vadym Holoveichuk
1371a03d14 Fix Setpoint in Matter climate platform (#101929)
fix matter max setpoint
2023-10-20 17:35:43 +02:00
J. Nick Koston
1b83620213 Bump aioesphomeapi to 17.1.5 (#101916) 2023-10-20 17:35:35 +02:00
J. Nick Koston
08d5d5336a Bump aioesphomeapi to 17.1.4 (#101897) 2023-10-20 17:35:29 +02:00
Jan Bouwhuis
406e58df69 Fix error handling on subscribe when mqtt is not initialized (#101832) 2023-10-20 17:29:45 +02:00
Archomeda
e9e677d933 Fix Spotify media position update value (#100044)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-10-20 17:29:34 +02:00
J. Nick Koston
3cfcffc6f2 Bump fnv-hash-fast to 0.5.0 (#102271) 2023-10-20 16:49:40 +02:00
J. Nick Koston
50c7587ab8 Bump ulid-transform to 0.9.0 (#102272) 2023-10-20 16:49:18 +02:00
Kostas Chatzikokolakis
cc0491e85d Use action response in intent_script speech template (#96256) 2023-10-20 10:23:02 -04:00
Maikel Punie
5e483c5573 Create a binary sensor for each Duotecno virtual unit (#102347) 2023-10-20 16:02:56 +02:00
dupondje
da653c36fd Add peak usage sensors to dsmr (#102227) 2023-10-20 15:59:34 +02:00
Marco4223
a187164bf8 Get all playlist items from sonos devices (#100924) 2023-10-20 15:18:10 +02:00
Jan Bouwhuis
485c52568d Fix error handling on subscribe when mqtt is not initialized (#101832) 2023-10-20 15:16:45 +02:00
Sjors
20a58d2314 Fix typo in fastdotcom strings (#102384) 2023-10-20 15:15:13 +02:00
Kevin Stillhammer
d7e195ba40 Use snapshots in calendar tests (#102299) 2023-10-20 15:14:31 +02:00
Álvaro Fernández Rojas
8202071683 Update aioairzone to v0.6.9 (#102383) 2023-10-20 15:11:48 +02:00
Álvaro Fernández Rojas
c042863486 Update aioairzone-cloud to v0.2.5 (#102382) 2023-10-20 15:10:40 +02:00
Joost Lekkerkerker
16e3ed47e7 Bump vehicle to 2.0.0 (#102379) 2023-10-20 14:54:51 +02:00
Jan-Philipp Benecke
6f83374f3e Bump pydiscovergy to 2.0.5 (#102354) 2023-10-20 14:52:32 +02:00
Jan Bouwhuis
fe8fb8928c Improve test creating mqtt certificate files (#102380)
* Improve test creating mqtt certificate files

* Split tests

* Cleanup and de-duplicate

* Update tests/components/mqtt/test_util.py
2023-10-20 14:49:33 +02:00
Archomeda
712c061ac0 Fix Spotify media position update value (#100044)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-10-20 14:00:31 +02:00
Jan Bouwhuis
25ab622b51 Rename mqtt entry setup helpers to reflect their purpose (#102378)
Rename mqtt entry setup helpers
2023-10-20 13:36:24 +02:00
Álvaro Fernández Rojas
e319b04fde Improve Airzone Cloud tests (#102377) 2023-10-20 00:58:31 -10:00
Jan Bouwhuis
7d9014ae41 Do not fail MQTT setup if events or sensors configured via yaml can't be validated (#102309)
* Add event and sensor

* Cleanup unused code

* Schema cannot be None for supported platform
2023-10-20 12:09:52 +02:00
Álvaro Fernández Rojas
f85b4f734c Implement Airzone Cloud Installation climate support (#101090)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-10-20 00:09:38 -10:00
c0ffeeca7
4e63823970 Rename Twitter to X (#102214) 2023-10-20 12:02:43 +02:00
Franck Nijhof
554ab94782 Bump toonapi to 0.3.0 (#102369) 2023-10-20 11:13:18 +02:00
Jan Bouwhuis
1efbba2631 Do not fail MQTT setup if covers configured via yaml can't be validated (#102304)
Add cover
2023-10-20 10:51:42 +02:00
Jan Bouwhuis
12c4a10cfc Do not fail MQTT setup if numbers configured via yaml can't be validated (#102316)
Add number
2023-10-20 10:51:14 +02:00
Jan Bouwhuis
f1eb28b7ac Do not fail MQTT setup if update entities configured via yaml can't be validated (#102324) 2023-10-20 10:14:25 +02:00
J. Nick Koston
3014a651c3 Reduce overhead to write HomeKit Controller state (#102365) 2023-10-20 08:50:07 +02:00
Robert Svensson
84d0907fc8 Fix UniFi client tracker entities being unavailable when away on restart (#102125) 2023-10-20 08:49:22 +02:00
puddly
8a79870e3a Clean up stale ZHA database listener when reconnecting to radio (#101850) 2023-10-20 08:48:33 +02:00
TheJulianJES
92e625636a Fix ZHA power_factor attribute not initialized (#102133) 2023-10-20 08:15:37 +02:00
Jan Bouwhuis
c7b1e4186b Do not fail MQTT setup if water heaters configured via yaml can't be validated (#102326) 2023-10-20 08:15:09 +02:00
Maikel Punie
38a0d31edb Bump pyduotecno to 2023.10.1 (#102344) 2023-10-20 08:14:55 +02:00
Jan Bouwhuis
04fdcbe5fa Do not fail MQTT setup if buttons configured via yaml can't be validated (#102301) 2023-10-20 08:13:59 +02:00
Robert Resch
bb90c1f168 Fix multilevel reference translations (#102338) 2023-10-20 08:12:53 +02:00
J. Nick Koston
b911f242dd Use new lookup methods for homekit_controller (#102278) 2023-10-20 08:12:15 +02:00
puddly
3285c982fe Bump ZHA dependencies (#102358) 2023-10-20 08:11:49 +02:00
Jan Bouwhuis
dcdd4b470c Do not fail MQTT setup if lawn mowers configured via yaml can't be validated (#102314) 2023-10-20 08:11:33 +02:00
Franck Nijhof
e6d9f89991 Remove dev API docs from repository (#102274) 2023-10-20 08:10:46 +02:00
Jan Bouwhuis
5264cdf382 Do not fail MQTT setup if locks configured via yaml can't be validated (#102315)
Add lock
2023-10-20 01:13:35 +02:00
Joost Lekkerkerker
fd435a5416 Address MyStrom late review (#102306)
* Address MyStrom late review

* Address MyStrom late review
2023-10-20 00:08:26 +02:00
Jan Bouwhuis
f4e7c5aed3 Do not fail MQTT setup if humidifiers configured via yaml can't be validated (#102312)
Add humidifier
2023-10-19 23:29:49 +02:00
J. Nick Koston
6baa8082d5 Bump aiohomekit to 3.0.6 (#102341) 2023-10-19 11:12:56 -10:00
Jan Bouwhuis
ec1b3fe6fb Do not fail MQTT setup if switches configured via yaml can't be validated (#102320)
Add switch
2023-10-19 23:04:35 +02:00
Jan Bouwhuis
54c80491e3 Do not fail MQTT setup if select's configured via yaml can't be validated (#102318)
Add select
2023-10-19 22:10:45 +02:00
Joost Lekkerkerker
e6e2aa0ea0 Import Comelit state from library (#102356) 2023-10-19 21:50:14 +02:00
J. Nick Koston
5c422c61e9 Improve typing in roomba integration (#102350) 2023-10-19 09:43:48 -10:00
thatso
96b450ad39 Improve wording in NUT (#102353) 2023-10-19 21:38:15 +02:00
Joost Lekkerkerker
063d74c35d Use entity descriptions in Roomba (#102323)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-10-19 09:37:01 -10:00
Jan Bouwhuis
e26a2596af Do not fail MQTT setup if climate's configured via yaml can't be validated (#102303)
Add climate
2023-10-19 21:14:45 +02:00
J. Nick Koston
b57af4e404 Remove update_before_add from roomba (#102337) 2023-10-19 20:35:58 +02:00
Jan Bouwhuis
22c21fdc18 Do not fail MQTT setup if vacuum's configured via yaml can't be validated (#102325)
Add vacuum
2023-10-19 20:11:09 +02:00
Franck Nijhof
f497bcee3a Don't run CodeQL on PRs (#102342) 2023-10-19 20:04:09 +02:00
Jan Bouwhuis
9db9f1b8a9 Fix suggested UOM cannot be set for dsmr entities (#102134)
* Supply dsmr entities jit on first telegram

* Stale docstr

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* Simplify tuple type

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-10-19 19:22:03 +02:00
Simone Chemelli
c574cefc30 Bump aiocomelit to 0.3.0 (#102340)
* Bump aiocomelit to 0.3.0

* missing string
2023-10-19 17:15:06 +00:00
Jan Bouwhuis
5eb0a33795 Do not fail MQTT setup if text's configured via yaml can't be validated (#102322)
Add text
2023-10-19 18:51:47 +02:00
Jan Bouwhuis
1456809f6a Do not fail MQTT setup if sirens configured via yaml can't be validated (#102319)
Add siren
2023-10-19 18:50:50 +02:00
Jan Bouwhuis
d0341c9754 Do not fail MQTT setup if images configured via yaml can't be validated (#102313)
Add image
2023-10-19 18:50:02 +02:00
Jan Bouwhuis
3853214496 Do not fail MQTT setup if fans configured via yaml can't be validated (#102310)
Add fan
2023-10-19 18:48:35 +02:00
J. Nick Koston
c408b60e4e Reduce internal property lookups needed to write number entity state (#102281) 2023-10-19 06:30:20 -10:00
Jan Bouwhuis
615b02be59 Do not fail MQTT setup if scenes configured via yaml can't be validated (#102317)
Add scene
2023-10-19 18:27:04 +02:00
GeoffAtHome
c266583bea Smart plugs appear as Switches and Binary Sensors (#102112) 2023-10-19 18:26:34 +02:00
Robert Resch
eab4c24f7f Fix KeyError in derivative and integration (#102294) 2023-10-19 18:22:22 +02:00
Jan Bouwhuis
3a4341dbeb Do not fail MQTT setup if device trackers configured via yaml can't be validated (#102308)
Add device_tracker
2023-10-19 18:18:04 +02:00
Jan Bouwhuis
fb984b5218 Do not fail MQTT setup if camera's configured via yaml can't be validated (#102302)
Add camera
2023-10-19 18:17:06 +02:00
Jan Bouwhuis
651b725cc0 Do not fail MQTT setup if binary sensors configured via yaml can't be validated (#102300)
Add binary_sensor
2023-10-19 18:15:21 +02:00
Jan Bouwhuis
d149bffb07 Do not fail MQTT setup if lights configured via yaml can't be validated (#101649)
* Add light

* Deduplicate code

* Follow up comment
2023-10-19 17:34:43 +02:00
Joakim Plate
90687e9794 Standardize zha attribute member name (#102182)
* Correct missed translation

* Standardize on _attribute for zha
2023-10-19 17:34:17 +02:00
Kevin Stillhammer
dae742fba0 Use snapshots in weather tests (#102297) 2023-10-19 16:40:08 +02:00
Xitee
2d833fd6ea Add more diagnostic sensors to iRobot (#84995)
Co-authored-by: 930913 <3722064+930913@users.noreply.github.com>
Co-authored-by: Xitee <59659167+Xitee1@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-10-19 15:49:43 +02:00
Erik Montnemery
dff18b4a16 Rename gather_with_concurrency to gather_with_limited_concurrency (#102241)
* Rename gather_with_concurrency to gather_with_limited_concurrency

* Update test
2023-10-19 15:08:52 +02:00
Erik Montnemery
4498c2e8c4 Validate steps in Flowhandler (#102152)
* Validate steps in Flowhandler

* Move validation to FlowManager._async_handle_step

* Fix _raise_if_not_has_step

* Fix config_entries tests

* Fix tests

* Rename

* Add test
2023-10-19 13:34:10 +02:00
Joost Lekkerkerker
9857c0fa3a Move WAQI state attributes to separate sensors (#101217)
* Migrate WAQI to has entity name

* Split WAQI extra state attributes into separate sensors

* Split WAQI extra state attributes into separate sensors

* Fix test

* Support new aiowaqi

* Bump aiowaqi to 2.1.0

* Add nephelometry as possible value

* Fix test
2023-10-19 12:30:40 +02:00
Jan Bouwhuis
c377cf1ce0 Do not fail mqtt entry on single platform config schema error (#101373)
* Do not fail mqtt entry on platform config

* Raise on reload with invalid config

* Do not store issues

* Follow up
2023-10-19 12:06:33 +02:00
Joost Lekkerkerker
857f2e1d86 Patch platform in Withings sensor test (#102155)
* Patch platform in Withings sensor test

* Fix feedback
2023-10-19 11:33:31 +02:00
Christopher Fenner
ea61160fd8 Reuse function to check feature support on ViCare devices (#102211)
* check feature support in utils function

* rename parameters

* restore severity

* reorder parameters

* Update .coveragerc
2023-10-19 10:55:30 +02:00
J. Nick Koston
327bdce561 Handle ATTR_HS_COLOR being None in HomeKit (#102290) 2023-10-18 22:42:39 -10:00
Álvaro Fernández Rojas
7ec2496c81 Handle timeouts on AEMET init (#102289)
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2023-10-19 10:42:31 +02:00
J. Nick Koston
d00934a8f8 Refactor automation trigger attachment to avoid creating a closure (#102288) 2023-10-18 22:42:15 -10:00
J. Nick Koston
393544b3e7 Make group _update_at_start a callback (#102286) 2023-10-18 22:41:39 -10:00
dupondje
870e38e8ba Remove unused dsmr sensors (#102223) 2023-10-19 08:57:50 +02:00
Franck Nijhof
4b39d34f4c Add CodeQL CI Job (#102273) 2023-10-19 08:56:30 +02:00
Luke Lashley
ae62999457 Bump Python-Roborock to 0.35.0 (#102275) 2023-10-19 08:56:15 +02:00
tronikos
afec5b6730 Bump opower to 0.0.37 (#102265) 2023-10-19 01:51:48 +02:00
J. Nick Koston
159b623b95 Bump orjson to 3.9.9 (#102267) 2023-10-19 01:48:05 +02:00
J. Nick Koston
20fdd45e60 Bump home-assistant-bluetooth to 1.10.4 (#102268) 2023-10-19 01:16:55 +02:00
Paul Bottein
c98c18f25e Return 'None' for light attributes when off instead of removing them (#101946) 2023-10-19 01:08:08 +02:00
Abílio Costa
606b76c681 Add better connection management for Idasen Desk (#102135) 2023-10-18 12:58:31 -10:00
Maikel Punie
2531b0bc09 Bump velbusaio to 2023.10.1 (#102178) 2023-10-18 22:00:55 +02:00
Stefan
1372126bc0 Remove Shiftr integration (#102224) 2023-10-18 21:21:55 +02:00
J. Nick Koston
22de378d91 Bump bluetooth-data-tools to 1.13.0 (#102208) 2023-10-18 08:54:17 -10:00
Simone Chemelli
b9c7613774 Add switch platform to Comelit SmartHome (#102233)
* Add switch platform to Comelit SmartHome

* add device class only when needed

* apply review comment

* small cleanup for light platform

* update functions description

* fix list of values
2023-10-18 20:49:33 +02:00
dependabot[bot]
61104dd726 Bump actions/checkout from 4.1.0 to 4.1.1 (#102248)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-18 19:50:09 +02:00
J. Nick Koston
9d6518265c Bump zeroconf to 0.119.0 (#102207) 2023-10-18 07:22:06 -10:00
J. Nick Koston
d0bff10502 Bump dbus-fast to 2.12.0 (#102206) 2023-10-18 07:14:13 -10:00
Franck Nijhof
664e490cfa Update base image to 2023.10.0 (#102126) 2023-10-18 19:11:41 +02:00
dupondje
1b73219137 Bump dsmr_parser to 1.3.0 (#102225)
bump dsmr_parser==1.3.0
2023-10-18 18:13:09 +02:00
Christopher Fenner
eee294d384 Get diagnostics of all devices in ViCare account (#102218)
* get diagnostics of all devices

* correct test data

* correct test data

* correct test data
2023-10-18 18:07:42 +02:00
Franck Nijhof
9d775bdbf6 Update home-assistant/wheels to 2023.10.5 (#102243) 2023-10-18 17:58:39 +02:00
jan iversen
3bb23a6d88 Correct process_raw_value for modbus sensor (#102032) 2023-10-18 17:25:57 +02:00
Philippe Wechsler
5f35eecf93 Add sensors for myStrom plugs (#97024)
* support sensors for myStrom plugs

* added myStrom sensor to coveragerc

* some improvements from pr reviews

* adapt to the SensorEntityDescription pattern

* Apply suggestions from code review

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* Update homeassistant/components/mystrom/sensor.py

Co-authored-by: G Johansson <goran.johansson@shiftit.se>

* Update homeassistant/components/mystrom/sensor.py

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* Update __init__.py

* Update const.py

* Update sensor.py

* Apply suggestions from code review

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2023-10-18 16:01:46 +02:00
Joost Lekkerkerker
799342497b Remove instances of title case in common strings (#102212) 2023-10-18 14:52:51 +02:00
Joost Lekkerkerker
a65ad37c8b Change config entry title to Picnic (#102221) 2023-10-18 14:27:37 +02:00
dupondje
43aaf78f7b Fix DSMR max current device class (#102219)
Max current is CURRENT Device Class

The max current is shown as Amps. So need to change the device class to
CURRENT instead of POWER.
2023-10-18 14:05:16 +02:00
Marc Mueller
a06d8c4d3f Update mypy to 1.6.1 (#102210) 2023-10-18 13:38:10 +02:00
Joost Lekkerkerker
42f830600c Bump aiowaqi to 2.1.0 (#102209) 2023-10-18 13:24:57 +02:00
Simone Chemelli
6c1bcae291 Bump aiovodafone to 0.4.1 (#102180) 2023-10-18 10:56:48 +02:00
J. Nick Koston
3cedfbcc66 Handle re-adding of accessories/services/chars in homekit_controller after removal (#102192) 2023-10-17 22:00:02 -10:00
J. Nick Koston
cfb88766c7 Bump aioesphomeapi to 18.0.6 (#102195) 2023-10-17 21:31:40 -10:00
J. Nick Koston
c3d1db5db6 Handle removal of accessories/services/chars in homekit_controller (#102179) 2023-10-17 20:49:35 -10:00
J. Nick Koston
e2e9c84c88 Cache construction of battery icon (#102194)
This was being built every time state was written. When
a robo vac is operating it writes state often which mean building
the icon string over and over again when it rarely changes.
2023-10-18 07:35:39 +02:00
J. Nick Koston
d8e541a284 Only compute homekit_controller accessory_info when entity is added or config changes (#102145) 2023-10-17 10:53:17 -10:00
Erik Montnemery
e6895b5738 Fix menu in knx config flow (#102168)
* Fix menu in knx config flow

* Update tests

* Fix strings.json

* Rename new menu steps for readabiltiy

---------

Co-authored-by: Matthias Alphart <farmio@alphart.net>
2023-10-17 22:25:35 +02:00
TheJulianJES
60c1a8d56f Remove invalid attribute reporting for enhanced_current_hue in ZHA (#102137) 2023-10-17 16:23:11 -04:00
TheJulianJES
9dd2f37b11 Remove unused variables in ZHA lighting cluster handler (#102138)
* Remove unused `UNSUPPORTED_ATTRIBUTE`

* Remove unused `CAPABILITIES_COLOR_TEMP`

* Use zigpy `ColorCapabilities` and remove `CAPABILITIES_COLOR_XY`
2023-10-17 15:04:03 -05:00
Joakim Plate
29e8814d1b Add translation entiry support (zha) (#101909)
* zha: Add translation to binary sensors

* Add some small test for name

* Add translations for sensors

* Correct some tests

* Adjust summation key

* Add translation keys for button

* Add translation keys to climate

* Add translation keys for cover

* Add translation keys to fan

* Add translations to light

* Add translations for lock

* Add translation keys to number

* Add translationk keys to select

* Add translations for switch entities

* Add translation to alarm control panel

* Map to some more standard device classes

* Use shorter references

* Remove explicit name from identify button

* Correct tests

* Correction after rebase
2023-10-17 21:59:49 +02:00
Paulus Schoutsen
4ae5757bc1 Add some entity categories to Reolink (#102141) 2023-10-17 20:19:10 +02:00
iain MacDonnell
44a5a2dc06 Explicitly set entity name for VenstarSensor (#102158)
VenstarSensor entity name

Set entity name using _attr_name instead of a name property, to
avoid warnings about name being implicitly set to None.
2023-10-17 17:59:15 +02:00
Michael Hansen
474f4329bc Don't warn about unknown pipeline events in ESPHome (#102174)
Don't warn about unknown events (debug)
2023-10-17 11:57:08 -04:00
Erik Montnemery
af66bc5e3a Fix menu in homeassistant_yellow config flow (#102166) 2023-10-17 17:15:57 +02:00
Erik Montnemery
f7c1dd2f79 Fix menu in here_travel_time config flow (#102163) 2023-10-17 17:08:48 +02:00
Erik Montnemery
52063537d7 Fix menu in homeassistant_hardware config flow (#102164) 2023-10-17 16:53:52 +02:00
elmurato
7cd376574e Reach full init test coverage in Minecraft Server (#102013)
* Add full init test coverage

* Fix patch location

* Use contant for test unique ID
2023-10-17 07:49:05 -07:00
Erik Montnemery
928086a9e5 Fix menu in hassio repair flow (#102162) 2023-10-17 16:43:10 +02:00
Erik Montnemery
fc09d87c3c Fix menu in mysensors config flow (#102169) 2023-10-17 16:38:19 +02:00
tronikos
ab29c796da Bump opower to 0.0.36 (#102150) 2023-10-17 10:35:32 +02:00
J. Nick Koston
10fd26df4b Preserve HomeKit Accessory ID when entity unique id changes (#102123) 2023-10-16 21:42:02 -10:00
J. Nick Koston
433c022687 Save previous unique id in entity registry when it changes (#102093) 2023-10-16 21:26:19 -10:00
J. Nick Koston
eea9de063b Replace any expression in HomeKitWindowCover with a simple or (#102146) 2023-10-16 21:23:30 -10:00
Jesse Hills
16c5a12c87 Send events for tts stream start/end (#102139) 2023-10-17 19:46:25 +13:00
Brian Lalor
912032e8b9 Add support for Govee H5055 (#100365)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-10-16 18:18:03 -10:00
Michael Hansen
25671a2e42 Add HassNevermind intent (bump intents package) (#102131)
* Add HassNevermind intent

* Bump intents package to 2023.10.16
2023-10-16 19:13:26 -05:00
Joakim Plate
6d457e808f Remove class argument in favor of class variables (zha) (#102117)
* Drop id_suffix class argument

* Use lowecase attribute
2023-10-16 16:26:03 -05:00
Jan-Philipp Benecke
f891fb6b41 Make location types in co2signal translatable (#102127) 2023-10-16 23:13:14 +02:00
elmurato
4130980100 Patch library instead of own code in Minecraft Server config flow tests (#102018)
* Patch library instead of own code in config flow tests

* Fix patch location
2023-10-16 14:06:22 -07:00
TheJulianJES
23b379b7da Bump zha-quirks to 0.0.105 (#102113) 2023-10-16 21:57:37 +02:00
mkmer
9444e1e2ab Address Blink late review (#102106)
* Address late review topics

* Missing await, optimize config_flow call

* Address proper mock for blink

* Address typing
2023-10-16 17:41:56 +02:00
Teemu R
e151358aa1 Allow model-specific lazy_discover setting for xiaomi_miio (#100490) 2023-10-16 14:30:05 +02:00
Maikel Punie
4913e7e846 Correct sensor state attribute and device class in Velbus sensors (#102099) 2023-10-16 14:23:43 +02:00
Maikel Punie
79811e3cd9 Bump velbusaio to 2023.10.0 (#102100) 2023-10-16 14:22:01 +02:00
Christopher Fenner
b8904fa173 Update device class, icons and names of Vicare binary sensors (#101476)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-10-16 13:43:01 +02:00
mkmer
eaf6197d43 Bump Blinkpy to 0.22.2 in Blink (#98571) 2023-10-16 13:41:45 +02:00
G Johansson
6b05f51413 Migrate unique id in Trafikverket Camera (#101937) 2023-10-16 10:28:11 +02:00
J. Nick Koston
88296c1998 Migrate ESPHome unique ids to new format (#99451) 2023-10-15 17:05:20 -10:00
J. Nick Koston
17c9d85e0e Bump aioesphomeapi to 18.0.3 (#102085) 2023-10-15 16:32:55 -10:00
J. Nick Koston
d0ba42283c Use stdlib ip_address method in the network helper when compatible (#102019) 2023-10-15 21:24:49 -04:00
Abílio Costa
c60cc11505 Call disconnected callbacks from BT ESPHome client (#102084)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-10-15 14:00:19 -10:00
Allen Porter
ce7573c3ad Fix bug in calendar state transitions (#102083) 2023-10-15 16:59:19 -07:00
Robert Van Gorkom
422252e3a0 Remove code owner from withings (#102081)
* Remove code owner from withings

* Update CODEOWNERS

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-10-16 00:44:52 +02:00
J. Nick Koston
e5ebdf7ad4 Remove implict name check from Entity base class (#101905) 2023-10-15 23:40:43 +02:00
Duco Sebel
d0fb994199 Set Mac as connection to link HomeWizard devices on network (#101944) 2023-10-15 23:40:06 +02:00
Phil Bruckner
8dd8af0718 Fix google_maps same last_seen bug (#101971) 2023-10-15 23:39:41 +02:00
J. Nick Koston
653da6e31f Reduce websocket event and state JSON construction overhead (#101974) 2023-10-15 23:39:09 +02:00
J. Nick Koston
36e1c740fd Fix ingress sending an empty body for GET requests (#101917) 2023-10-15 23:38:20 +02:00
ollo69
11740d1e68 Remove shorthand unique id in AsusWrt ScannerEntity (#102076)
Remove _attr_unique_id in AsusWrt ScannerEntity
2023-10-15 23:26:09 +02:00
J. Nick Koston
93f10cdce8 Move event permissions out of the websocket api into auth (#101975) 2023-10-15 23:14:19 +02:00
G Johansson
3c3f512583 Remove setup_platform for demo (#100867) 2023-10-15 23:12:41 +02:00
Joost Lekkerkerker
24afbf3ae4 Address late Withings review (#102075) 2023-10-15 23:03:45 +02:00
Kevin Worrel
b4295e909c Bump screenlogicpy to v0.9.3 (#101957) 2023-10-15 22:07:32 +02:00
Allen Porter
3577547eb3 Skip CalDAV calendars that do not support events (#102059) 2023-10-15 21:55:11 +02:00
J. Nick Koston
683046272d Switch hassio to use iter_chunks (#102031) 2023-10-15 21:48:04 +02:00
Joost Lekkerkerker
471d1abe47 Add more measurement sensors to Withings (#102074) 2023-10-15 21:38:30 +02:00
Joost Lekkerkerker
b95060df99 Promote Withings to Platinum quality (#102069) 2023-10-15 09:04:01 -10:00
Joost Lekkerkerker
b4e4a98f17 Add diagnostics to Withings (#102066) 2023-10-15 20:29:20 +02:00
Allen Porter
6f5a72edf2 Bump gcal_sync to 5.0.0 (#102010)
* Bump gcal_sync to 5.0.0

* Update snapshots
2023-10-15 11:24:41 -07:00
Whitney Young
2c3067b9c2 Fix date observed is not sent by AirNow (#101921) (#101977)
* Fix mixed up keys

These were accidentally the wrong values, but never passed on
to the end user.

* Fix date observed is not sent by AirNow (#101921)
2023-10-15 19:48:47 +02:00
Nathan Spencer
36fcf198b1 Adjust WeatherFlow air density sensor device class and unit (#101777) 2023-10-15 07:11:34 -10:00
Joost Lekkerkerker
1a348babd4 Add Withings to strict-typing (#101761)
* Add Withings to strict-typing

* Rebase
2023-10-15 19:08:57 +02:00
Maximilian
8c14824bd5 Bump pynina to 0.3.3 (#101960) 2023-10-15 19:01:05 +02:00
J. Nick Koston
d237ab6d67 Bump HAP-python to 4.9.0 (#102055) 2023-10-15 06:49:59 -10:00
J. Nick Koston
e427fc511b Bump SQLAlchemy to 2.0.22 (#102033) 2023-10-15 06:14:51 -10:00
G Johansson
264eef8dd8 Allow to remove devices in Sensibo (#101890) 2023-10-15 06:14:38 -10:00
Joost Lekkerkerker
148087a1c9 Mark Withings as cloud push (#102040) 2023-10-15 18:04:03 +02:00
Joost Lekkerkerker
dcb5faa305 Dynamically add sensors for new measurements in Withings (#102022)
* Dynamically add sensors for new data points in Withings

* Dynamically add sensors for new data points in Withings

* Add test

* Change docstring

* Store new measurements

* Fix feedback

* Add test back

* Add test back

* Add test back
2023-10-15 18:00:52 +02:00
Joost Lekkerkerker
05ee28cae5 Clean up Withings webhook (#102038) 2023-10-15 18:00:18 +02:00
J. Nick Koston
23e5bc20c2 Bump zeroconf to 0.118.0 (#102015) 2023-10-15 05:54:59 -10:00
J. Nick Koston
7fe2bfa990 Revert "Update numpy to 1.26.1" (#102036) 2023-10-15 05:42:25 -10:00
Joost Lekkerkerker
dc19290271 Make Withings test sensors from entity registry (#102025)
Test entities from entity registry
2023-10-15 12:14:50 +02:00
Joost Lekkerkerker
0eb4567364 Check for port in Withings webhook creation (#102026)
Check if port is really 443
2023-10-15 12:12:46 +02:00
J. Nick Koston
5b8da03596 Bump aioesphomeapi to 18.0.1 (#102028)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-10-14 23:42:22 -10:00
Joost Lekkerkerker
f9615999db Add suggested display precision to Withings (#102023) 2023-10-14 23:00:50 -10:00
Marc Mueller
1f1a27d6a5 Update numpy to 1.26.1 (#102021) 2023-10-14 16:30:43 -10:00
J. Nick Koston
547c38a515 Cache emulated_hue local ip check (#102020) 2023-10-14 16:19:10 -10:00
J. Nick Koston
7b2aa3a369 Improve performance of config/entity_registry/get* calls (#101984) 2023-10-14 08:40:16 -10:00
Aaron Bach
2d1afc1c7d Add state translations for OpenUV UV Level sensor (#101978) 2023-10-14 10:31:46 -06:00
Joost Lekkerkerker
76083a0b4c Update Withings measurements incrementally after the first update (#102002)
* Update incrementally after the first update

* Update incrementally after the first update
2023-10-14 16:19:04 +02:00
Tobias Sauerwein
302b444269 Add service set_preset_mode_with_end_datetime in Netatmo integration (#101674)
* Add Netatmo climate service set_preset_mode_with_end_datetime to allow you to specify an end datetime for a preset mode

* Make end date optional

* address review comments

* Update strings

* Update homeassistant/components/netatmo/const.py

* Update homeassistant/components/netatmo/strings.json

---------

Co-authored-by: Adrien JOLY <adrien.joly-veillith@live.fr>
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2023-10-14 14:44:16 +02:00
Joost Lekkerkerker
8a4fe5add1 Use aiowithings (#101819)
* Subscribe to Withings webhooks outside of coordinator

* Subscribe to Withings webhooks outside of coordinator

* Split Withings coordinator

* Split Withings coordinator

* Use aiowithings

* Use aiowithings

* Use aiowithings

* Update homeassistant/components/withings/sensor.py

* Merge

* Remove startdate

* Minor fixes

* Bump to 0.4.1

* Fix snapshot

* Fix datapoint

* Bump to 0.4.2

* Bump to 0.4.3

* Bump to 0.4.4
2023-10-14 11:52:35 +02:00
J. Nick Koston
89d86fe983 Bump aioesphomeapi to 17.2.0 (#101981)
* Bump aioesphomeapi to 17.2.0

changelog: https://github.com/esphome/aioesphomeapi/compare/v17.1.5...v17.2.0

* fix import from wrong module
2023-10-14 11:48:59 +02:00
J. Nick Koston
5ed8de8348 Enable strict typing in HomeKit (#101968) 2023-10-13 14:45:59 -10:00
J. Nick Koston
0e499e07d2 Small cleanups to HomeKit thermostats (#101962) 2023-10-13 14:24:23 -10:00
J. Nick Koston
f8f39a29de Update HomeKit humidifiers to handle current humidity (#101964) 2023-10-13 14:23:50 -10:00
J. Nick Koston
8fd5d89d43 Avoid polling state machine for available state in HomeKit (#101799) 2023-10-13 14:23:15 -10:00
Aaron Bach
371d988643 Simplify state update logic for OpenUV sensors (#101972)
* Clean up OpenUV entity state logic

* Reduce

* Remove old file

* Simplify
2023-10-13 18:12:00 -06:00
J. Nick Koston
76e2afbce9 Add some more typing to HomeKit (#101959) 2023-10-13 14:03:01 -10:00
Raman Gupta
2e3013f2f8 Update zwave issue repair strings (#101940) 2023-10-13 19:14:43 -04:00
Christopher Fenner
ae7bb60677 Fix types in ViCare integration (#101926)
* fix type

* fix return type

* fix type

* fix type

* Apply suggestions from code review

* Update climate.py

* Apply suggestions from code review

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* Update __init__.py

* Update climate.py

* Update __init__.py

* Apply suggestions from code review

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* Update binary_sensor.py

* Update button.py

* Update sensor.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-10-13 23:13:39 +02:00
Marc Mueller
6a6f6fd99d Update pre-commit to 3.5.0 (#101956) 2023-10-13 22:56:02 +02:00
elmurato
a302f1a616 Set category and enabled by default of Minecraft Server sensors (#101943)
* Use set instead of list for supported server types in sensor platform

* Set sensor categories and enabled by default

* Set edition and version as diagnostic sensors
2023-10-13 22:09:13 +02:00
Aaron Bach
ce77566783 Add more specific typing to OpenUV coordinator (#101952) 2023-10-13 21:58:27 +02:00
Joakim Sørensen
a0a3d91a28 Update hass-nabucasa from 0.71.0 to 0.73.0 (#101939) 2023-10-13 21:46:52 +02:00
Joost Lekkerkerker
85fa364152 Migrate Panasonic Viera to has entity name (#96746)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-10-13 21:45:35 +02:00
Raman Gupta
7d8ea404b3 Make Basic CC Z-Wave values a light (#101438) 2023-10-13 11:11:44 -04:00
elmurato
370e3166ee Add diagnostics support in Minecraft Server (#101787)
* Add diagnostics support

* Return diagnostics dict directly

* Use syrupy snapshots for assertions in diagnostics test

* Use parametrize for testing diagnostics

* Remove unnecessary side_effect in patch
2023-10-13 15:40:50 +02:00
Joost Lekkerkerker
2609394b9f Add device info to Launch Library (#98767) 2023-10-13 15:28:58 +02:00
Marc Mueller
02567d9bf6 Revert aiohttp to 3.8.5 for Python 3.11 (#101932) 2023-10-13 14:12:42 +02:00
J. Nick Koston
2dfc8b9d7f Avoid conversion of timestamps in jwt auth (#101856) 2023-10-13 14:11:17 +02:00
Vadym Holoveichuk
4e9ec82082 Fix Setpoint in Matter climate platform (#101929)
fix matter max setpoint
2023-10-13 14:09:35 +02:00
Joost Lekkerkerker
53e97fee0e Improve Withings test fixtures (#101931) 2023-10-13 13:35:34 +02:00
Franck Nijhof
93d7ff3779 2023.10.3 (#101930) 2023-10-13 13:01:05 +02:00
Franck Nijhof
8b8df2ec3b Bumped version to 2023.10.3 2023-10-13 11:17:45 +02:00
J. Nick Koston
2fac26c6c6 Fix implicit device name in wiz switch (#101914) 2023-10-13 11:17:30 +02:00
starkillerOG
e17a25ca4a Bump reolink-aio to 0.7.11 (#101886) 2023-10-13 11:16:44 +02:00
starkillerOG
e3122ec6dc Uncancel task when swallowing CancelledError (#101884) 2023-10-13 11:16:41 +02:00
G Johansson
497da016af Add missing fan mode in Sensibo (#101883)
* Add missing fan mode in Sensibo

* translations
2023-10-13 11:16:37 +02:00
J. Nick Koston
43753b841f Bump aioesphomeapi to 17.1.5 (#101916) 2023-10-13 11:05:52 +02:00
J. Nick Koston
5f91bdcfc5 Fix implicit device name in wiz switch (#101914) 2023-10-13 11:05:25 +02:00
J. Nick Koston
fecaf9aa60 Bump zeroconf to 0.116.0 (#101915) 2023-10-13 10:39:44 +02:00
starkillerOG
f330bc0f97 Uncancel task when swallowing CancelledError (#101884) 2023-10-13 10:23:32 +02:00
Franck Nijhof
a36115993c Downgrade aiohttp to 3.8.5 (#101913) 2023-10-13 10:20:12 +02:00
Joost Lekkerkerker
d712a29052 Split Withings coordinators (#101766)
* Subscribe to Withings webhooks outside of coordinator

* Subscribe to Withings webhooks outside of coordinator

* Split Withings coordinator

* Split Withings coordinator

* Update homeassistant/components/withings/sensor.py

* Fix merge

* Rename MEASUREMENT_COORDINATOR

* Update homeassistant/components/withings/__init__.py

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

* Apply suggestions from code review

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

* Fix feedback

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-10-13 07:34:31 +02:00
J. Nick Koston
03210d7f81 Fix implicit name in airzone_cloud (#101907) 2023-10-13 00:06:47 +02:00
J. Nick Koston
dc18a7f1fb Bump aioesphomeapi to 17.1.4 (#101897) 2023-10-12 11:48:00 -10:00
Marc Mueller
ff5504f55f Add strict typing for transmission (#101904) 2023-10-12 22:20:39 +02:00
Marc Mueller
8b134f26a9 Fix transmission Coordinator typing (#101903) 2023-10-12 22:13:33 +02:00
Christopher Fenner
6d2fbeb556 Migrate ViCare to has_entity_name (#101895)
* set has_entity_name

* remove sensor prefix

* Apply suggestions from code review

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-10-12 21:06:09 +02:00
Rami Mosleh
536ad57bf4 Use DataUpdate coordinator for Transmission (#99209)
* Switch integration to DataUpdate Coordinator

* add coordinator to .coveragerc

* Migrate TransmissionData into DUC

* update coveragerc

* Applu suggestions

* remove CONFIG_SCHEMA
2023-10-12 20:58:22 +02:00
J. Nick Koston
cc3d1a11bd Add more typing to HomeKit (#101896) 2023-10-12 08:43:53 -10:00
G Johansson
c4ce900567 Use CountrySelector in Prosegur Alarm (#101889) 2023-10-12 20:06:03 +02:00
Bouwe Westerdijk
0c901435bd Fix state_class of huisbaasje sensors (#101892) 2023-10-12 19:57:15 +02:00
rappenze
85af452c6e Remove unnecessary dict lookup in fibaro integration (#101885) 2023-10-12 19:51:43 +02:00
starkillerOG
a92919b8fd Bump reolink-aio to 0.7.11 (#101886) 2023-10-12 19:50:29 +02:00
G Johansson
472ab437e8 Translations in Sensibo (#101887) 2023-10-12 19:16:45 +02:00
Joost Lekkerkerker
3843e91af0 Use device class translation for Sensibo update entity (#101888)
Use device class translation for Sensibo update
2023-10-12 19:13:21 +02:00
jan iversen
edf510f9c0 Bump pymodbus v3.5.4 (#101877) 2023-10-12 18:19:11 +02:00
G Johansson
a4e0b3140b Add missing fan mode in Sensibo (#101883)
* Add missing fan mode in Sensibo

* translations
2023-10-12 18:05:51 +02:00
G Johansson
b6d8211c6c Use CountrySelector in Workday (#101879) 2023-10-12 17:39:08 +02:00
G Johansson
e5f37050a9 Use CountrySelector in Buienradar (#101882) 2023-10-12 17:38:48 +02:00
G Johansson
8870991802 Remove codeowner Trafikverket (#101881) 2023-10-12 17:07:11 +02:00
G Johansson
dc29190564 CountrySelector (#100963)
* CountrySelector

* rename

* remove multiple for now

* Add no_sort

* Update homeassistant/helpers/selector.py

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-10-12 16:44:30 +02:00
Franck Nijhof
f5b5215247 2023.10.2 (#101871) 2023-10-12 15:26:56 +02:00
Christopher Fenner
5c52a15df7 Fix type issue in vicare integration (#101872)
* fix type issue

* fix type issue

* fix type issue

* extract from constructor

* Revert "extract from constructor"

This reverts commit a33de7ca8e.
2023-10-12 15:01:23 +02:00
Christopher Fenner
6e1c23906c Add base entity class in vicare integration (#101870)
* add entity base class

* depend on base class

* add device info to base class

* remove individual DeviceInfo

* move class

* fix imports

* add file comment

* use super()

* fix formatting

* add vicare/entity.py
2023-10-12 14:54:16 +02:00
Joost Lekkerkerker
3e4edc8edd Move Withings entity descriptions to platforms (#101820) 2023-10-12 13:42:00 +02:00
Franck Nijhof
014546c75e Bumped version to 2023.10.2 2023-10-12 13:34:26 +02:00
Joost Lekkerkerker
b0dabfa3f7 Only reload Withings config entry on reauth (#101638)
* Only reload on reauth

* Reload if entry is loaded

* Make async_cloudhook_generate_url protected

* Fix feedback
2023-10-12 13:33:54 +02:00
Betacart
ca1d6ddbb6 Fix typo in remember the milk strings (#101869)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-10-12 13:32:45 +02:00
Martin Hjelmare
7670b5d3b0 Fix mysensors battery level attribute (#101868) 2023-10-12 13:32:39 +02:00
René Klomp
04dc44c069 Fix SMA incorrect device class (#101866) 2023-10-12 13:32:36 +02:00
Joost Lekkerkerker
c2cf497302 Fix translation key in Plugwise (#101862)
Co-authored-by: Robert Resch <robert@resch.dev>
2023-10-12 13:32:31 +02:00
Justin Lindh
34693d4a9b Bump Python-MyQ to v3.1.13 (#101852) 2023-10-12 13:31:46 +02:00
Brandon Rothweiler
c9b9851605 Remove Mazda integration (#101849)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-10-12 13:26:43 +02:00
Michael Hansen
3b13c9129a Close existing UDP server for ESPHome voice assistant (#101845) 2023-10-12 13:26:39 +02:00
Michael Hansen
ffe60102fd Dynamic wake word loading for Wyoming (#101827)
* Change supported_wake_words property to async method

* Add test

* Add timeout + test

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-10-12 13:26:34 +02:00
Álvaro Fernández Rojas
5946681454 Update aioqsw to v0.3.5 (#101809) 2023-10-12 13:26:31 +02:00
Kevin Worrel
eae6f9b0f8 Await set value function in ScreenLogic number entities (#101802) 2023-10-12 13:26:27 +02:00
Michael Davie
959d21a576 Bump env_canada to 0.6.0 (#101798) 2023-10-12 13:26:20 +02:00
Richard Kroegel
785df0c8e1 Bump bimmer_connected to 0.14.1 (#101789)
Co-authored-by: rikroe <rikroe@users.noreply.github.com>
2023-10-12 13:26:16 +02:00
Nathan Spencer
62805aed2b Bump pyweatherflowudp to 1.4.5 (#101770) 2023-10-12 13:26:12 +02:00
Hessel
1a2c9fd9a9 Change BiDirectional Prefix (#101764) 2023-10-12 13:26:09 +02:00
Joost Lekkerkerker
f0a1977d2e Subscribe to Withings webhooks outside of coordinator (#101759)
* Subscribe to Withings webhooks outside of coordinator

* Subscribe to Withings webhooks outside of coordinator

* Update homeassistant/components/withings/__init__.py

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

* Update homeassistant/components/withings/__init__.py

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

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2023-10-12 13:26:03 +02:00
Maikel Punie
8b3fc107df Bump pyDuotecno to 2023.10.0 (#101754) 2023-10-12 13:25:59 +02:00
Betacart
417ba3644b Fix typo in Ombi translation strings (#101747)
Update strings.json

Fixed typo ("Sumbit" -> "Submit")
2023-10-12 13:25:56 +02:00
Kevin Worrel
49f060d95b Bump screenlogicpy to 0.9.2 (#101746) 2023-10-12 13:25:52 +02:00
Álvaro Fernández Rojas
ed57d0beac Fix Airzone climate double setpoint (#101744)
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2023-10-12 13:25:49 +02:00
Allen Porter
d7a36cb6a4 Add google calendar required feature for create event service (#101741)
* Add google calendar required feature for create event service

* Update docstring
2023-10-12 13:25:44 +02:00
Brandon Rothweiler
887263d80e Update eufylife-ble-client to 0.1.8 (#101727) 2023-10-12 13:25:40 +02:00
Robert Hillis
c4737e4423 Fix Slack type error for file upload (#101720)
Fix regression
2023-10-12 13:25:37 +02:00
Jan Bouwhuis
327e6d2362 Fix mqtt sensor or binary_sensor state not saved after expiry (#101670)
Fix mqtt sensor state not saved after expire
2023-10-12 13:25:33 +02:00
Joost Lekkerkerker
e32044f884 Abort config flow when invalid token is received (#101642) 2023-10-12 13:25:28 +02:00
Allen Porter
dbc3382dfb Add additional calendar state alarm debugging (#101631) 2023-10-12 13:20:57 +02:00
Matthew Donoughe
a042703dd7 Update pylutron-caseta to 0.18.3 (#101630) 2023-10-12 13:20:53 +02:00
Aidan Timson
8109c77f6a Bump systembridgeconnector to 3.8.4 (#101621)
Update systembridgeconnector to 3.8.4
2023-10-12 13:20:49 +02:00
J. Nick Koston
2639602f5b Fix compiling missing statistics losing rows (#101616) 2023-10-12 13:20:46 +02:00
Allen Porter
d5c26beb91 Additional fix for rainbird unique id (#101599)
Additiona fix for rainbird unique id
2023-10-12 13:20:42 +02:00
Marc Mueller
f24843f211 Update aiohttp to 3.8.6 (#101590) 2023-10-12 13:20:39 +02:00
Joakim Plate
5f0bf4e2a3 Update ha-philipsjs to 3.1.1 (#101574)
Update philips to 3.1.1
2023-10-12 13:20:35 +02:00
Matthias Alphart
bab524f264 Update pyfronius to 0.7.2 (#101571) 2023-10-12 13:20:32 +02:00
Abílio Costa
ede7d13c1e Improve Ikea Idasen config flow error messages (#101567) 2023-10-12 13:20:29 +02:00
TJ Horner
db91e9a720 Auto-fix common key entry issues during WeatherKit config flow (#101504) 2023-10-12 13:20:25 +02:00
Greg Dowling
c11dd58c1d Improve handling of roon media players with fixed and incremental volume (#99819) 2023-10-12 13:20:20 +02:00
Betacart
6450ae8d28 Fix typo in remember the milk strings (#101869)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-10-12 13:18:43 +02:00
Guy Shefer
5730cb1e85 Add Tami4 Integration (#90056)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: Robert Resch <robert@resch.dev>
2023-10-12 13:15:25 +02:00
Brandon Rothweiler
91cf719588 Remove Mazda integration (#101849)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-10-12 13:13:44 +02:00
René Klomp
b70e2f7749 Fix SMA incorrect device class (#101866) 2023-10-12 13:03:09 +02:00
Martin Hjelmare
52067dbfe5 Fix mysensors battery level attribute (#101868) 2023-10-12 13:01:08 +02:00
Joost Lekkerkerker
8e3c665fd3 Only reload Withings config entry on reauth (#101638)
* Only reload on reauth

* Reload if entry is loaded

* Make async_cloudhook_generate_url protected

* Fix feedback
2023-10-12 12:56:10 +02:00
Greg Dowling
dcb3dc254d Improve handling of roon media players with fixed and incremental volume (#99819) 2023-10-12 12:52:01 +02:00
Joost Lekkerkerker
d676d95901 Fix translation key in Plugwise (#101862)
Co-authored-by: Robert Resch <robert@resch.dev>
2023-10-12 12:51:40 +02:00
Hessel
830981ddd6 Bump wallbox to 0.4.14 (#101864) 2023-10-12 11:59:30 +02:00
Justin Lindh
5523e9947d Bump Python-MyQ to v3.1.13 (#101852) 2023-10-12 10:42:40 +02:00
Kevin Worrel
2276be275d Await set value function in ScreenLogic number entities (#101802) 2023-10-12 09:18:34 +02:00
Richard Kroegel
7fd89b2959 Add brake pads condition based service attributes for BMW (#101847)
Add brake pads condition based service attributes

Co-authored-by: rikroe <rikroe@users.noreply.github.com>
2023-10-12 09:01:29 +02:00
J. Nick Koston
6ce5f190c1 Avoid duplicate property calls when writing sensor state (#101853)
* Avoid duplicate attribute lookups when writing sensor state

_numeric_state_expected would call self.device_class,
self.state_class, self.native_unit_of_measurement,
and self.suggested_display_precision a second time
when the `state` path already had these values.

* one more

* avoid another
2023-10-12 08:45:20 +02:00
Michael Hansen
f0317f0d59 Close existing UDP server for ESPHome voice assistant (#101845) 2023-10-12 07:32:00 +13:00
Michael Hansen
257686fcfe Dynamic wake word loading for Wyoming (#101827)
* Change supported_wake_words property to async method

* Add test

* Add timeout + test

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-10-11 10:21:32 -07:00
Robert Resch
6c4ac71218 Remove "none" in favor of optional select in brottsplatskartan (#101311) 2023-10-11 17:52:18 +02:00
Robert Resch
dfea1c2b7c Remove NONE_SENTINEL in favor of optional select in scrape (#101278)
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-10-11 17:41:31 +02:00
Franck Nijhof
fd72ebd733 Mark entities field of scene.create service advanced (#101810) 2023-10-11 17:40:26 +02:00
Robert Resch
952a17532f Remove NONE_SENTINEL in favor of optional select in sql (#101309) 2023-10-11 17:38:29 +02:00
Robert Resch
1915fee9ba Remove "none" in favor of optional select in integration (#101396) 2023-10-11 17:36:53 +02:00
Robert Resch
7db2fdd68c Remove "none" in favor of optional select in derivate (#101312) 2023-10-11 17:36:15 +02:00
Michał Huryn
ddfad75eb7 Add basic auth to Blebox (#99320)
Co-authored-by: Robert Resch <robert@resch.dev>
2023-10-11 16:09:56 +02:00
jjlawren
c66f0e3305 Fix Plex update module docstring (#101815) 2023-10-11 15:05:34 +02:00
Álvaro Fernández Rojas
6771d4bda4 Update aioqsw to v0.3.5 (#101809) 2023-10-11 14:44:52 +02:00
Joakim Plate
9107e166b4 Adjust language slightly for philips_js strings (#101783) 2023-10-11 13:53:47 +02:00
Richard Kroegel
f61627ea08 Bump bimmer_connected to 0.14.1 (#101789)
Co-authored-by: rikroe <rikroe@users.noreply.github.com>
2023-10-11 13:46:02 +02:00
epenet
183397e201 Add MariaDB 10.11.2 to CI (#101807) 2023-10-11 13:32:11 +02:00
Robert Resch
87c82fb00f Remove NONE_SENTINEL in favor of optional select in workday (#101280) 2023-10-11 13:29:42 +02:00
Marc Mueller
0b2b486754 Update mypy to 1.6.0 (#101780) 2023-10-11 13:25:11 +02:00
jjlawren
f116e83b62 Add update entity for Plex Media Server (#101682) 2023-10-11 13:06:10 +02:00
Robert Resch
1a7601ebbe Remove NONE_SENTINEL in favor of optional select in template (#101279) 2023-10-11 13:04:40 +02:00
Duco Sebel
8acb4dc1b6 Bumb python-homewizard-energy to 2.1.2 (#101805) 2023-10-11 11:32:22 +02:00
Michael Davie
7f7c3233bd Bump env_canada to 0.6.0 (#101798) 2023-10-11 11:04:33 +02:00
Justin Rigling
1c70cbaebd Add Opower virtual integration for Portland General Electric (#101800) 2023-10-11 10:41:35 +02:00
Kevin Stillhammer
7d1105228b Allow resetting time in google_travel_time (#88256)
Co-authored-by: Robert Resch <robert@resch.dev>
2023-10-11 09:46:02 +02:00
J. Nick Koston
39fd5897cb Small typing cleanups for HomeKit (#101790) 2023-10-11 08:11:58 +02:00
Allen Porter
bd38fd9516 Add google calendar required feature for create event service (#101741)
* Add google calendar required feature for create event service

* Update docstring
2023-10-10 20:48:46 -07:00
Joost Lekkerkerker
ffb752c804 Subscribe to Withings webhooks outside of coordinator (#101759)
* Subscribe to Withings webhooks outside of coordinator

* Subscribe to Withings webhooks outside of coordinator

* Update homeassistant/components/withings/__init__.py

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

* Update homeassistant/components/withings/__init__.py

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

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2023-10-11 00:06:42 +02:00
Jan-Philipp Benecke
9b785ef766 Add Discovergy to strict-typing (#101782) 2023-10-10 22:11:55 +02:00
Marc Mueller
ba91aaa28d Add support for Python 3.12 (#101651) 2023-10-10 21:34:49 +02:00
Hessel
535e2b81ce Change BiDirectional Prefix (#101764) 2023-10-10 21:23:02 +02:00
J. Nick Koston
265f6653c3 Refactor homekit to use a dataclass for entry data (#101738) 2023-10-10 21:14:37 +02:00
Sheldon Ip
6c65db2036 Add rising sensor to sun (#93276) 2023-10-10 21:12:43 +02:00
Robert Resch
b932c67eb7 Delete optional schema keys, when they are not present (#101755)
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-10-10 21:08:54 +02:00
Mick Vleeshouwer
c76ce76824 Bump pyOverkiz to 1.12.1 in Overkiz integration (#101765) 2023-10-10 21:07:50 +02:00
Nathan Spencer
1a8684e314 Bump pyweatherflowudp to 1.4.5 (#101770) 2023-10-10 20:43:40 +02:00
Caius-Bonus
5290396731 ZHA Component: Correct AttributeUpdated signal in Thermostat climate entity, ThermostatClusterHandler and ThermostatHVACAction sensor entity (#101725)
* initial

* change other Thermostat climate entities

* remove AttributeUpdateRecord
2023-10-10 14:23:03 -04:00
Jan-Philipp Benecke
71ddb282d2 Address late review from wallbox coordinator move (#101771)
Address late wallbox review comment
2023-10-10 20:02:14 +02:00
Jan Bouwhuis
4b9296f4f1 Code quality issue met integration (#101768)
* Fix unreachable code for met integration

* Make code better readable
2023-10-10 19:58:43 +02:00
J. Nick Koston
7b4b8e7516 Refactor HomeKit to allow supported features/device class to change (#101719) 2023-10-10 06:20:25 -10:00
J. Nick Koston
f166e1cc1a Map switch device class outlet to Outlets in homekit (#101760) 2023-10-10 05:55:42 -10:00
Maikel Punie
f7f9331c57 Bump pyDuotecno to 2023.10.0 (#101754) 2023-10-10 17:37:02 +02:00
Mick Vleeshouwer
60fa02c042 Bump pyOverkiz to 3.11 and migrate unique ids for select entries (#101024)
* Bump pyOverkiz and migrate entries

* Add comment

* Remove entities when duplicate

* Remove old entity

* Remove old entities

* Add example of entity migration

* Add support of UIWidget and UIClass

* Add tests for migrations

* Apply feedback (1)

* Apply feedback (2)
2023-10-10 17:23:58 +02:00
Erik Montnemery
ecdb0bb46a Modernize metoffice weather (#99050)
* Modernize metoffice weather

* Exclude sensors from additional test
2023-10-10 16:49:36 +02:00
Jan Bouwhuis
31bd500222 Make get_channel available as generic helper (#101721)
* Make get_channel available as generic helper

* Follow up comment
2023-10-10 14:02:32 +02:00
Marc Mueller
915f5bf84e Reset the threading.local _hass object every time (#101728)
* Reset the threading.local _hass object every time

* Remove reset from hass fixture
2023-10-10 12:43:12 +02:00
Álvaro Fernández Rojas
f78199df9f Fix Airzone climate double setpoint (#101744)
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2023-10-10 10:18:52 +02:00
Kevin Worrel
00abf49637 Bump screenlogicpy to 0.9.2 (#101746) 2023-10-10 10:15:24 +02:00
Betacart
6d632bd1ab Fix typo in Ombi translation strings (#101747)
Update strings.json

Fixed typo ("Sumbit" -> "Submit")
2023-10-10 09:50:17 +02:00
Sam Reed
9afdc22818 supla: Change casing of integration name to upstream SUPLA (#101723) 2023-10-10 08:52:25 +02:00
elmurato
c6a3fa30f0 Add support for Minecraft Server Bedrock Edition (#100925) 2023-10-10 08:42:35 +02:00
rappenze
deffa50142 Address late review from add fibaro event platform (#101718) 2023-10-10 06:07:29 +02:00
Franck Nijhof
1944b2952c Replace object select in service calls with more UI-friendly selectors (#101722) 2023-10-10 05:50:12 +02:00
Robert Hillis
e5d5440385 Fix Slack type error for file upload (#101720)
Fix regression
2023-10-10 05:35:29 +02:00
Brandon Rothweiler
db3a4dec33 Update eufylife-ble-client to 0.1.8 (#101727) 2023-10-09 14:28:39 -10:00
Marc Mueller
35293eb98b Update matrix-nio to 0.22.1 (#101693) 2023-10-09 23:23:45 +02:00
Marc Mueller
a21990f248 Update pytest warnings filter (#101710) 2023-10-09 21:07:16 +02:00
Joakim Plate
66f43ebdc5 Describe notification option (philip_js) (#101715) 2023-10-09 19:52:24 +02:00
Robert Resch
84fe356782 Fix sky connect tests (#101712)
* Fix sky connect tests

* Implement suggestions
2023-10-09 19:43:47 +02:00
Raman Gupta
70a0cd579d Add Z-Wave WS command to hard reset controller (#101449) 2023-10-09 13:33:31 -04:00
Simone Chemelli
d46dca8950 Bump aiocomelit to 0.2.0 (#101586) 2023-10-09 15:23:25 +02:00
puddly
2e4df6d2f2 Open a ZHA repair when network settings change (#99482) 2023-10-09 15:01:05 +02:00
Joost Lekkerkerker
b9090452de Migrate Vulcan to has entity name (#99020) 2023-10-09 14:41:30 +02:00
Marcel van der Veldt
6393171fa4 Adjust Hue integration to use Entity descriptions and translatable entity names (#101413)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-10-09 14:14:07 +02:00
Erik Montnemery
8a83e810b8 Reset the threading.local _hass object in tests (#101700) 2023-10-09 13:41:51 +02:00
Robert Resch
f7292d5b00 Add check that sensors don't have EntityCategory.CONFIG set (#101471) 2023-10-09 13:37:52 +02:00
Marc Mueller
27b6325c32 Update pylint to 3.0.1 (#101692) 2023-10-09 12:37:35 +02:00
Erik Montnemery
e6e190e7e2 Remove unused HideSensitiveDataFilter (#101689) 2023-10-09 12:02:52 +02:00
Ravaka Razafimanantsoa
7b78cfc090 Bump switchbot-api to 1.2.1 (#101664)
SwitchBot Cloud: Dependency version up
2023-10-09 11:15:59 +02:00
Erik Montnemery
1f122eb688 Adjust services supported by litterrobot vacuum (#95788) 2023-10-09 10:56:39 +02:00
epenet
18908740ca Fix typo in nextcloud strings (#101686) 2023-10-09 10:04:39 +02:00
Franck Nijhof
de658f5ca0 Merge branch 'master' into dev 2023-10-09 09:27:59 +02:00
Brett Adams
b85a078235 Add Cribl virtual integration (#101680) 2023-10-09 09:11:30 +02:00
Marc Mueller
548a73b367 Update ephem to 4.1.5 (#101676) 2023-10-09 08:49:59 +02:00
jjlawren
c247170c90 Bump plexwebsocket to 0.0.14 (#101684) 2023-10-09 08:32:47 +02:00
Allen Porter
d78ee96e2a Update fitbit device fetch to use a data update coordinator (#101619)
* Add a fitbit device update coordinator

* Remove unnecessary debug output

* Update comments

* Update fitbit coordinator exception handling and test coverage

* Handle reauth failures in other sensors

* Fix scope changes after rebase.
2023-10-09 08:12:59 +02:00
Abílio Costa
6d1876394e Rediscover Idasen Desk to allow re-setup (#101672) 2023-10-08 22:03:22 +02:00
rappenze
fb215479d4 Add fibaro event platform (#101636) 2023-10-08 22:01:26 +02:00
Jan Bouwhuis
db0c5bbbea Fix mqtt sensor or binary_sensor state not saved after expiry (#101670)
Fix mqtt sensor state not saved after expire
2023-10-08 20:57:14 +02:00
Jan-Philipp Benecke
78535b99df Move nina coordinator and entity to their own file (#101610) 2023-10-08 20:07:04 +02:00
J. Nick Koston
c6ed022cce Fix compiling missing statistics losing rows (#101616) 2023-10-08 19:43:00 +02:00
Nicolas van de Walle
1b11062b27 Improved debugging for "Failed to set state" (#101657) 2023-10-08 19:40:42 +02:00
Robert Hillis
ba3fd4dee1 Add Queue sensor to Radarr (#79723) 2023-10-08 19:39:56 +02:00
J. Nick Koston
6420cdb42b Bump httpx to 0.25.0 and httpcore to 0.18.0 (#101635) 2023-10-08 19:08:04 +02:00
Mike Woudenberg
c48b724dde Make setup more resilient by raising ConfigNEntryNotReady on failure (#101654)
Make setup more resilient by raising ConfigNEntryNotReady on connection failure
2023-10-08 19:00:06 +02:00
Tobias Sauerwein
3c5772c1c6 Remove myself as codeowner for sonos and kodi (#101662) 2023-10-08 17:01:00 +02:00
Franck Nijhof
4a437e46aa Update home-assistant/wheels to 2023.10.4 (#101656) 2023-10-08 16:26:09 +02:00
Robert Hillis
5087f0056c Adjust Calendar doc strings and comments (#101655) 2023-10-08 16:16:59 +02:00
Joost Lekkerkerker
7c85d84133 Add entity translations to Huawei LTE (#98631) 2023-10-08 15:15:19 +02:00
Allen Porter
0f4aae4128 Add additional calendar state alarm debugging (#101631) 2023-10-08 14:20:35 +02:00
Joost Lekkerkerker
faea3b1634 Abort config flow when invalid token is received (#101642) 2023-10-08 13:32:35 +02:00
Marc Mueller
3155e62510 Update aiohttp to 3.9.0b0 (#101627) 2023-10-08 13:21:46 +02:00
Cyrille
8c26f66a57 Suggest an ISO 8601 sample in datetime.set_value (#101609) 2023-10-08 13:14:27 +02:00
Joost Lekkerkerker
b75a59aad0 Unregister callback on Netatmo config entry unload (#101647) 2023-10-08 12:44:27 +02:00
Aidan Timson
e406b8d1e3 Address System Bridge post merge review (#101614)
Address Post Merged PR Review for #97532
2023-10-08 10:42:08 +02:00
Jan-Philipp Benecke
b8b28e3ba0 Bump pydiscovergy to 2.0.4 (#101637) 2023-10-07 22:17:13 -10:00
Aidan Timson
d05ba6cd92 Bump systembridgeconnector to 3.8.4 (#101621)
Update systembridgeconnector to 3.8.4
2023-10-08 10:10:20 +02:00
Allen Porter
7d202f78f5 Add fitbit nutrition sensors (#101626)
* Add fitbit nutrition sensors

* Add test coverage for unit systems
2023-10-08 10:09:26 +02:00
Matthew Donoughe
d3a67cd984 Update pylutron-caseta to 0.18.3 (#101630) 2023-10-07 20:24:32 -10:00
Jan Bouwhuis
74464fd94e Ensure coverage mqtt entry disabled test (#101617) 2023-10-07 23:08:34 +02:00
Marc Mueller
3bbef476ee Update tank-utility to 1.5.0 (#101323) 2023-10-07 22:10:07 +02:00
Jan Bouwhuis
55bf309d2f Add mqtt discovery schema error tests for all platforms (#101583)
Add mqtt discovery schema error tests
2023-10-07 21:00:33 +02:00
Jan Bouwhuis
9407c49819 Remove platform key and rename schema for mqtt device_automation (#101582)
Refactor mqtt device_automation
2023-10-07 20:49:05 +02:00
Jan Bouwhuis
f4ac2b7eeb Remove platform key and rename schema for mqtt tag (#101580) 2023-10-07 20:48:35 +02:00
Jan Bouwhuis
4709e60ff6 Rework on Google Assistant doorbell support (#100930)
* Rework on Google Assistant doorbell event

* Additional comment on syncing notificatiions

* Update homeassistant/components/google_assistant/trait.py

* Only sync event if state attr changed

* Update comment
2023-10-07 19:39:04 +02:00
Allen Porter
8c2a2e5c37 Additional fix for rainbird unique id (#101599)
Additiona fix for rainbird unique id
2023-10-07 10:17:08 -07:00
Abílio Costa
da3e36aa3b Improve Ikea Idasen config flow error messages (#101567) 2023-10-07 18:52:31 +02:00
Marc Mueller
bd93fbe91d Update aiohttp to 3.8.6 (#101590) 2023-10-07 18:14:08 +02:00
David Knowles
031a9224fb Schlage cleanup: Stop passing logs to last_changed_by (#99738) 2023-10-07 15:04:23 +02:00
Alistair Tudor
b60401b2b1 Bump python-vlc to 3.0.18122 (#94739) 2023-10-07 15:00:04 +02:00
Aaron Collins
1a5ad23a10 Verify config entry id on Daikin device removal (#101507) 2023-10-07 14:32:27 +02:00
Anil Daoud
f3864e6e2f Handle ClientConnectorError in Netatmo data handler (#99116) 2023-10-07 14:19:57 +02:00
enzo2
35be5957c3 Add circular mean to statistics integration (#98930)
* Add circular mean

Add support for circular mean for sensors in units of degrees, e.g. direction data.

* Update test_sensor.py

* Update sensor.py

* Remove whitespace

* Revert to degC

* Fix: shift atan2 output to positive degrees

* Add new dedicated test

* Simplify test
2023-10-07 13:51:27 +02:00
SmashedFrenzy16
3018d4edb9 Update config.py with f string (#101333)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-10-07 13:37:19 +02:00
Jan-Philipp Benecke
e25cf7cbab Move wallbox coordinator to its own file (#101577) 2023-10-07 11:56:59 +02:00
Jan-Philipp Benecke
5ae45e398e Move wallbox base entity to its own file (#101576) 2023-10-07 11:39:36 +02:00
Joakim Plate
ba5aa7759d Update ha-philipsjs to 3.1.1 (#101574)
Update philips to 3.1.1
2023-10-07 11:05:48 +02:00
Matthias Alphart
0221207b0e Update pyfronius to 0.7.2 (#101571) 2023-10-07 10:10:07 +02:00
J. Nick Koston
da9c42d457 Fix failing august test (#101560) 2023-10-06 12:31:12 -10:00
Franck Nijhof
617ce994b4 Update home-assistant/wheels to 2023.10.3 (#101551) 2023-10-06 22:05:01 +02:00
Dave T
e68627af7f Bump sphinx to 7.2.6 for docs generation (#101220) 2023-10-06 21:42:19 +02:00
Michael Thingnes
c8eb62cf4e Remove thimic as metno code owner (#101553) 2023-10-06 21:38:05 +02:00
Tudor Sandu
43c1769004 Use walrus assignment i demo climate climate.set_temperature (#101248) 2023-10-06 21:32:06 +02:00
tronikos
c70c2f4be4 Allow derivative/integration on input_number via the UI (#101439) 2023-10-06 21:27:31 +02:00
Erik Montnemery
207adaf9cd Make AugustOperatorSensor a RestoreSensor (#98526) 2023-10-06 21:25:04 +02:00
Marc Mueller
8877cafe0c Update pydrawise to 2023.10.0 (#101548) 2023-10-06 21:04:23 +02:00
Franck Nijhof
73debba60c Update home-assistant/wheels to 2023.10.2 (#101549) 2023-10-06 20:40:09 +02:00
Franck Nijhof
a6edfa85b1 2023.10.1 (#101547) 2023-10-06 20:36:37 +02:00
Jan-Philipp Benecke
bb7ddddd4c Use snapshot assertion for lametric diagnostics test (#99164) 2023-10-06 20:26:52 +02:00
Justin Grover
475cb7719b Add unique ID for generic hygrostat (#101503) 2023-10-06 20:15:40 +02:00
Joost Lekkerkerker
9ac5bdc832 Use modern naming for WLED (#100233) 2023-10-06 20:04:44 +02:00
TJ Horner
ed8a372f4e Auto-fix common key entry issues during WeatherKit config flow (#101504) 2023-10-06 20:00:04 +02:00
Erik Montnemery
4e98d39106 Use loader.async_suggest_report_issue in async util (#101516) 2023-10-06 19:57:43 +02:00
Franck Nijhof
b3080ae005 Bumped version to 2023.10.1 2023-10-06 19:38:00 +02:00
Joost Lekkerkerker
5925b6b912 Only import color extractor when domain is in config (#101522) 2023-10-06 19:37:44 +02:00
Joost Lekkerkerker
42b53c6349 Add Withings webhooks after a slight delay (#101542) 2023-10-06 19:37:18 +02:00
J. Nick Koston
d26b1b370a Bump HAP-python to 4.8.0 (#101538) 2023-10-06 19:37:14 +02:00
Joost Lekkerkerker
7369ae8c9f Cancel callbacks on Withings entry unload (#101536) 2023-10-06 19:37:11 +02:00
Mike Woudenberg
6c2d1e2142 Update LoqedAPI to handle invalid transitions better (#101534) 2023-10-06 19:37:08 +02:00
jan iversen
4a5b0222ab Modbus, wrong length when reading strings (#101529) 2023-10-06 19:37:05 +02:00
Joost Lekkerkerker
76f78e249b Delete existing Withings cloudhook (#101527) 2023-10-06 19:37:02 +02:00
Joost Lekkerkerker
81f582eeb7 Use config flow in color extractor tests (#101524) 2023-10-06 19:36:58 +02:00
Kevin Stillhammer
7f6506cfcf Limit waze_travel_time to 0.5call/s over all entries (#101514) 2023-10-06 19:35:48 +02:00
Allen Porter
d14934861e Fix for rainbird unique id (#101512) 2023-10-06 19:35:44 +02:00
Allen Porter
d469626855 Fix bug in calendar state where alarms due to alarms not scheduled (#101510) 2023-10-06 19:35:41 +02:00
Ian
9725a0daf9 Fix key error in config flow when duplicate stop names exist (#101491) 2023-10-06 19:35:38 +02:00
J. Nick Koston
26c7ba38d0 Fix caching of latest short term stats after insertion of external stats (#101490) 2023-10-06 19:35:35 +02:00
Kevin Stillhammer
948bbdd2bf bump pywaze to 0.5.1 sets timeout to 60s (#101487) 2023-10-06 19:35:32 +02:00
J. Nick Koston
eadc70ede0 Bump zeroconf to 0.115.2 (#101482) 2023-10-06 19:35:28 +02:00
Paul Bottein
2210db4ca6 Update frontend to 20231005.0 (#101480) 2023-10-06 19:35:25 +02:00
G Johansson
c5585b0706 Fix Trafikverket Camera if no location data (#101463) 2023-10-06 19:35:22 +02:00
René Klomp
37cfa5efb7 SMA add missing entity descriptions (#101462) 2023-10-06 19:35:19 +02:00
Fredrik Erlandsson
a506ba94d1 Fix device_class.capitalize() in Point (#101440) 2023-10-06 19:35:16 +02:00
Michael Davie
f8c7d502df Bump env_canada to v0.5.37 (#101435) 2023-10-06 19:35:12 +02:00
Nathan Spencer
f0cb2ba005 Adjust WeatherFlow wind sensors to appropriately match native unit and library field (#101418) 2023-10-06 19:35:10 +02:00
Michael Hansen
f7ab00a8bf Add wake word cooldown to avoid duplicate wake-ups (#101417) 2023-10-06 19:35:06 +02:00
Joost Lekkerkerker
e8c38fe99e Add translation for Tamper binary sensor (#101416) 2023-10-06 19:35:03 +02:00
J. Nick Koston
a4f0da8286 Bump dbus-fast to 2.11.1 (#101406)
changelog: https://github.com/Bluetooth-Devices/dbus-fast/compare/v2.11.0...v2.11.1
2023-10-06 19:34:54 +02:00
Jan Bouwhuis
223f3a434b Raise vol.Invalid for invalid mqtt device_tracker config (#101399)
Raise vol.Invalid for invalid mqtt device_tracker
2023-10-06 19:31:58 +02:00
Joost Lekkerkerker
10e43048bd Fix Withings translations (#101397) 2023-10-06 19:31:55 +02:00
Marty Sun
2345a2be5f Bump pyyardian to 1.1.1 (#101363)
* Update Yardian Dependency

* test requirements
2023-10-06 19:31:52 +02:00
TheJulianJES
7dfb397aef Fix ZHA device diagnostics error for unknown unsupported attributes (#101239)
* Modify test to account for scenario of unknown unsupported attributes

* Add error checking for finding unsupported attributes

* Change comment to clarify zigpy misses an attribute def

This should make it more clear that it's about an unknown attribute (where zigpy doesn't have an attribute definition).

* Increase test coverage

This increases test coverage by doing the following:
- adding the `IasZone` to our test device, so we have a cluster which actually has some attribute definitions
- adding not just an unknown unsupported attribute by id, but also by name
- adding a known unsupported attribute by id and by name

* Fix diagnostics logic
2023-10-06 19:31:48 +02:00
TheJulianJES
5d0c8947a1 Fix ZHA device diagnostics error for unknown unsupported attributes (#101239)
* Modify test to account for scenario of unknown unsupported attributes

* Add error checking for finding unsupported attributes

* Change comment to clarify zigpy misses an attribute def

This should make it more clear that it's about an unknown attribute (where zigpy doesn't have an attribute definition).

* Increase test coverage

This increases test coverage by doing the following:
- adding the `IasZone` to our test device, so we have a cluster which actually has some attribute definitions
- adding not just an unknown unsupported attribute by id, but also by name
- adding a known unsupported attribute by id and by name

* Fix diagnostics logic
2023-10-06 12:23:48 -04:00
Fredrik Erlandsson
d654c4bc1e Fix device_class.capitalize() in Point (#101440) 2023-10-06 18:23:18 +02:00
Joost Lekkerkerker
b2cad2370b Add Withings webhooks after a slight delay (#101542) 2023-10-06 18:21:06 +02:00
Duco Sebel
6359390a78 Add Eastron virtual integration (#101385) 2023-10-06 18:12:00 +02:00
Rami Mosleh
c8d1a7ff4f Remove references to name key in android ip webcam (#99590) 2023-10-06 18:10:32 +02:00
Joost Lekkerkerker
86cf2e29b2 Cancel callbacks on Withings entry unload (#101536) 2023-10-06 17:10:19 +02:00
Allen Porter
1635cbb8a6 Add a google calendar diagnostics platform (#101175) 2023-10-06 17:08:50 +02:00
J. Nick Koston
8dffff3983 Bump HAP-python to 4.8.0 (#101538) 2023-10-06 17:06:18 +02:00
jimmyd-be
5edcd7ef0f Fix Reson sensor enum options mapping (#101380) 2023-10-06 16:50:34 +02:00
Mike Woudenberg
83c5844c2e Update LoqedAPI to handle invalid transitions better (#101534) 2023-10-06 15:37:18 +02:00
Aidan Timson
9982483395 Add media player to System Bridge integration (#97532)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-10-06 15:08:51 +02:00
David Knowles
96aba1c1a6 Add tests to Hydrawise (#101110)
* Add tests to Hydrawise

* Update tests/components/hydrawise/test_binary_sensor.py

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* Changes requested during review

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-10-06 14:42:08 +02:00
G Johansson
adc7fc0ee4 Fix GDACS import issue creation (#97667) 2023-10-06 14:30:11 +02:00
Robert Hillis
10dcdbf537 Correct doc strings for Hassio component (#101530) 2023-10-06 14:13:59 +02:00
jan iversen
d2c842ee0c Modbus, wrong length when reading strings (#101529) 2023-10-06 14:10:10 +02:00
Robert Hillis
62802dd487 Add entity translations to Goalzero (#95310)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-10-06 14:01:21 +02:00
Joost Lekkerkerker
835982ebe5 Migrate Samsung TV to has entity name (#96751)
* Migrate Samsung TV to has entity name

* Fix test

* Fix tests

---------

Co-authored-by: Simone Chemelli <simone.chemelli@gmail.com>
2023-10-06 13:54:21 +02:00
Marc Mueller
d5f07ef45f Add override decorators to sensor (#94998) 2023-10-06 13:44:07 +02:00
Guido Schmitz
3cd4d26eb9 React on changed firmware version in devolo_home_network (#101513) 2023-10-06 13:37:48 +02:00
Robert Hillis
1c590f8d0e Remove unnecessary defaults from Netatmo sensor (#101528) 2023-10-06 13:35:20 +02:00
G Johansson
fd2edf6c0a Allow remove devices in Scrape (#101229) 2023-10-06 13:33:28 +02:00
Kevin Stillhammer
79eaaec1a8 Limit waze_travel_time to 0.5call/s over all entries (#101514) 2023-10-06 13:23:32 +02:00
Ville Skyttä
f7aad4a9e6 Call pytest as python3 -m pytest (#101185) 2023-10-06 13:22:56 +02:00
Joost Lekkerkerker
425d961489 Delete existing Withings cloudhook (#101527) 2023-10-06 13:19:39 +02:00
Joost Lekkerkerker
97d17637ea Only import color extractor when domain is in config (#101522) 2023-10-06 13:18:44 +02:00
YuriiMaiboroda
ca7355b2f3 Using the MarkdownV2 parser with the Telegram bot (#101139) 2023-10-06 12:26:20 +02:00
Jan Bouwhuis
4553de5cbf Use string conversion over isinstance in mqtt message handling if possible (#101364) 2023-10-06 12:15:01 +02:00
J. Nick Koston
c0904c905d Avoid updating hassio addon data when there are no entities consuming it (#101382) 2023-10-06 12:14:48 +02:00
Joost Lekkerkerker
7c8c063149 Use config flow in color extractor tests (#101524) 2023-10-06 12:02:53 +02:00
Brett Adams
00d0767628 Add missing return type in Advantage Air (#101377)
* Add None return type

* Change mypi type

* Fix mypy issue
2023-10-06 11:59:27 +02:00
Erik Montnemery
20188181f7 Fix spelling in sensor test (#101520) 2023-10-06 11:51:08 +02:00
Erik Montnemery
775751ece5 Add WS command sensor/numeric_device_classes (#101257) 2023-10-06 10:27:45 +02:00
Shay Levy
b97ec2cfce Add support for Aranet2 devices (#101495) 2023-10-06 10:26:18 +02:00
Ernst Klamer
fa90b0f41e Add raw sensor to BTHome (#101412) 2023-10-06 10:22:51 +02:00
rappenze
d009ff8b01 Add type hints in FibaroController (#101494) 2023-10-06 10:13:30 +02:00
Marc Mueller
67dfd1a86b Update grpcio to 1.59.0 (#101287) 2023-10-06 10:08:01 +02:00
Erik Montnemery
3478666973 Use loader.async_suggest_report_issue in deprecation helper (#101393) 2023-10-06 09:51:08 +02:00
Nathan Spencer
60fa63a1f0 Adjust WeatherFlow wind sensors to appropriately match native unit and library field (#101418) 2023-10-06 09:41:01 +02:00
Franck Nijhof
ed74e64f8d Merge branch 'master' into dev 2023-10-06 09:38:13 +02:00
Allen Porter
579590f7c3 Fix bug in calendar state where alarms due to alarms not scheduled (#101510) 2023-10-06 09:19:21 +02:00
Michael Hansen
244f6d8002 Add wake word cooldown to avoid duplicate wake-ups (#101417) 2023-10-06 09:18:35 +02:00
J. Nick Koston
48a23798d0 Fix caching of latest short term stats after insertion of external stats (#101490) 2023-10-06 09:18:05 +02:00
Allen Porter
920bd04099 Fix for rainbird unique id (#101512) 2023-10-06 09:16:06 +02:00
Shay Levy
442005e40f Add codeowner for Aranet (#101496) 2023-10-06 09:15:25 +02:00
René Klomp
dd8bd0db5a SMA add missing entity descriptions (#101462) 2023-10-06 09:13:39 +02:00
Jan Bouwhuis
2bfb1e75d3 Correct device_class test for mqtt button (#101500) 2023-10-06 09:11:50 +02:00
Matteo Gheza
da770df13f Change OpenWeatherMap unit_of_measurement from mm to mm/h (#101485)
Change OWM unit_of_measurement
2023-10-06 08:24:30 +02:00
J. Nick Koston
da1d5fc862 Increase max bind vars based on database version (#101464) 2023-10-06 07:59:38 +02:00
Allen Porter
c7d533d427 Update fitbit error handling (#101304)
* Update fitbit error handling

* Update exceptions to inherit HomeAssistantError and add reason code

* Revert config flow exception mapping hack
2023-10-05 22:38:15 -07:00
Joakim Plate
1d31def982 Update nibe library to 2.4.0 (#101493) 2023-10-05 23:46:07 +02:00
G Johansson
8a033ee554 Fix Trafikverket Camera if no location data (#101463) 2023-10-05 22:17:09 +02:00
Franck Nijhof
6853d54050 Remove logging of retrying config entry warning (#101483) 2023-10-05 22:12:01 +02:00
Ian
fe316f2233 Fix key error in config flow when duplicate stop names exist (#101491) 2023-10-05 22:11:15 +02:00
Kevin Stillhammer
ce55116eb2 bump pywaze to 0.5.1 sets timeout to 60s (#101487) 2023-10-05 22:07:27 +02:00
rappenze
b8fa065467 Update pyfibaro dependency to 0.7.5 (#101481) 2023-10-05 22:02:49 +02:00
Erik Montnemery
a428bbfc2e Use loader.async_suggest_report_issue in vacuum (#101391) 2023-10-05 20:39:24 +02:00
mbo18
b7914582db Update homeassistant color (#101372) 2023-10-05 20:10:27 +02:00
Guido Schmitz
285ad10624 Use snapshot in devolo_home_network update tests (#101442) 2023-10-05 20:09:52 +02:00
Erik Montnemery
62ea4b36cd Use loader.async_suggest_report_issue in number (#101388) 2023-10-05 20:08:22 +02:00
Erik Montnemery
659d437cac Use loader.async_suggest_report_issue in sensor (#101389) 2023-10-05 20:07:56 +02:00
Erik Montnemery
716a10e556 Add Python copyright and Python license to backports package (#101454) 2023-10-05 19:57:46 +02:00
Erik Montnemery
589fd58137 Use loader.async_suggest_report_issue in stt (#101390) 2023-10-05 19:57:21 +02:00
Erik Montnemery
0c40c8465e Correct checks for deprecated forecast in weather (#101392)
Co-authored-by: Robert Resch <robert@resch.dev>
2023-10-05 19:56:47 +02:00
Betacart
3d9073693c Fix typo -> "Kay" to "Key" in Minio (#101472) 2023-10-05 19:55:50 +02:00
Erik Montnemery
dce5099d92 Use loader.async_suggest_report_issue in frame helper (#101461) 2023-10-05 19:52:26 +02:00
J. Nick Koston
cb0a05142d Bump zeroconf to 0.115.2 (#101482) 2023-10-05 19:50:35 +02:00
Paul Bottein
0e41542ff3 Update frontend to 20231005.0 (#101480) 2023-10-05 19:25:48 +02:00
Erik Montnemery
7f912cb669 Fix airnow test fixture (#101458) 2023-10-05 13:24:28 +02:00
Erik Montnemery
2464232f24 Fix call to API in airnow option flow tests (#101457) 2023-10-05 13:23:59 +02:00
Fredrik Erlandsson
5975974a37 Bumb pypoint to 2.3.2 (#101436)
version bumb point
2023-10-05 08:36:58 +02:00
Joost Lekkerkerker
ef066626c8 Add translation for Tamper binary sensor (#101416) 2023-10-05 08:32:43 +02:00
Marty Sun
0c8e1a691d Bump pyyardian to 1.1.1 (#101363)
* Update Yardian Dependency

* test requirements
2023-10-05 07:14:14 +02:00
Michael Davie
ca2e335ab9 Bump env_canada to v0.5.37 (#101435) 2023-10-05 07:11:17 +02:00
Raman Gupta
383c63000e Handle invalid scale for zwave_js multilevel/meter sensors (#101173)
* Handle invalid scale for zwave_js multilevel/meter sensors

* Remove logging statement
2023-10-04 22:55:18 -04:00
J. Nick Koston
c951c03447 Bump dbus-fast to 2.11.1 (#101406)
changelog: https://github.com/Bluetooth-Devices/dbus-fast/compare/v2.11.0...v2.11.1
2023-10-04 21:01:10 -04:00
jjlawren
db71e8033c Bump plexapi to 4.15.4 (#101381) 2023-10-04 23:32:02 +02:00
Erik Montnemery
7e39acda37 Minor improvement of frame helper (#101387)
* Minor improvement of frame helper

* Add new custom integration for testing

* Make IntegrationFrame kw_only
2023-10-04 21:43:00 +02:00
Toastme
c495d607d8 Update tplink manifest.json with 2 new MACs for KP200 (#101359)
* Update manifest.json with 2 new MACs for KP200

those MAC are missing from the list so there are not detected like the other K200 i have (like 68ff7b)

* run hassfest

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2023-10-04 21:09:24 +02:00
Jan Bouwhuis
a3fe120457 Raise vol.Invalid for invalid mqtt device_tracker config (#101399)
Raise vol.Invalid for invalid mqtt device_tracker
2023-10-04 19:36:34 +02:00
Øyvind Matheson Wergeland
1d7d7c3540 Fix translation keys in Hue (#101403)
hue: fix key string syntax
2023-10-04 18:43:53 +02:00
Marc Mueller
2d766d43fc Prevent async_timeout import (#101378) 2023-10-04 18:19:19 +02:00
Joost Lekkerkerker
5754e8721a Fix Withings translations (#101397) 2023-10-04 16:45:13 +02:00
Franck Nijhof
22bf1a0582 2023.10.0 (#101386) 2023-10-04 16:03:55 +02:00
Maciej Bieniek
ab6f617797 Use entity_registry_enabled_by_default fixture in Kraken tests (#101379)
Use entity_registry_enabled_by_default fixture
2023-10-04 15:45:59 +02:00
Franck Nijhof
01daae69ab Bumped version to 2023.10.0 2023-10-04 13:48:40 +02:00
Erik Montnemery
17779c5f0c Add loader.async_suggest_report_issue and loader.async_get_issue_tracker (#101336)
* Add loader.async_suggest_report_issue and loader.async_get_issue_tracker

* Update tests

* Add tests

* Address review comments

* Address review comments
2023-10-04 13:40:33 +02:00
Maciej Bieniek
3aa6771835 Update DeviceInfo.sw_version value for Shelly Gen2 sleeping devices (#101338)
* Update device info for gen2 sleeping devices

* Add test

* Update sw_version only if the firmware_version value has changed

* Rename device_update_info() to update_device_fw_info()

* Remove duplicate comparison
2023-10-04 11:00:17 +02:00
Franck Nijhof
512b2af13c Bumped version to 2023.10.0b9 2023-10-04 10:24:20 +02:00
Raman Gupta
d3c5b9777b Notify users when zwave device gets reset (#101362)
* Notify users when zwave device gets reset

* review comments
2023-10-04 10:18:48 +02:00
Franck Nijhof
8e05df2b44 Bumped version to 2023.10.0b8 2023-10-04 10:11:43 +02:00
Franck Nijhof
0470ca3e76 Update Pillow to 10.0.1 (#101368) 2023-10-04 10:11:33 +02:00
Guido Schmitz
ebde9914f2 Increase update interval of update platform in devolo_home_network (#101366)
Increase update interval of firmware platform
2023-10-04 10:11:30 +02:00
Luke Lashley
337f9197bb Check that dock error status is not None for Roborock (#101321)
Co-authored-by: Robert Resch <robert@resch.dev>
2023-10-04 10:11:27 +02:00
Brett Adams
9b9a16e9c6 Fix temperature when myZone is in use for Advantage air (#101316) 2023-10-04 10:11:21 +02:00
Brett Adams
cd175f679f Fix temperature when myZone is in use for Advantage air (#101316) 2023-10-04 10:05:44 +02:00
Franck Nijhof
fb724472fb Update Pillow to 10.0.1 (#101368) 2023-10-04 09:54:43 +02:00
Luke Lashley
f08d66741d Check that dock error status is not None for Roborock (#101321)
Co-authored-by: Robert Resch <robert@resch.dev>
2023-10-04 09:40:03 +02:00
Guido Schmitz
d14e5dc56a Increase update interval of update platform in devolo_home_network (#101366)
Increase update interval of firmware platform
2023-10-04 09:19:57 +02:00
Dave T
8626a4888c Remove deprecated temperature conversion functions (#101204) 2023-10-04 06:04:23 +02:00
Dave T
efca5ba554 Remove deprecated pressure conversion functions (#101347)
Remove deprecated pressure conversion utils
2023-10-04 06:03:32 +02:00
Dave T
adf6d34d95 Remove deprecated speed conversion functions (#101350) 2023-10-04 06:01:45 +02:00
Paulus Schoutsen
55ff8e1fcb Bumped version to 2023.10.0b7 2023-10-03 22:07:38 -04:00
Jesse Hills
937a26117c Allow esphome device to disable vad on stream (#101352) 2023-10-03 22:03:20 -04:00
Jesse Hills
776b26de3f Fix manual stopping of the voice assistant pipeline (#101351) 2023-10-03 22:03:19 -04:00
Michael Hansen
b9a929e63b Pipeline runs are only equal with same id (#101341)
* Pipeline runs are only equal with same id

* Use dict instead of list in PipelineRuns

* Let it blow up

* Test

* Test rest of __eq__
2023-10-03 22:03:18 -04:00
Michael Hansen
9c5d9344e2 Increase pipeline timeout to 5 minutes (#101327) 2023-10-03 22:03:17 -04:00
Michael
38423ad6f1 Bump pyW800rf32 to 0.4 (#101317)
bump pyW800rf32 from 0.3 to 0.4
2023-10-03 22:03:16 -04:00
Brett Adams
9e4f9a88ad Fix reference error in Aussie Broadband (#101315) 2023-10-03 22:03:15 -04:00
Brett Adams
e0cbbf7d57 Revert PR #99077 for Aussie Broadband (#101314) 2023-10-03 22:03:14 -04:00
Aaron Collins
fd6eb61489 Remove duplicated device before daikin migration (#99900)
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-10-03 22:03:13 -04:00
Franck Nijhof
3be3593ffa Revert "Add Energyzero get_prices service (#100499)" (#101332)
This reverts commit d518cf13e5.
2023-10-03 22:00:30 -04:00
Ville Skyttä
5551a345ea Remove some unnecessary uses of regular expressions (#101182) 2023-10-03 20:55:00 -05:00
Jesse Hills
09ba34fb3a Allow esphome device to disable vad on stream (#101352) 2023-10-04 13:09:12 +13:00
Jesse Hills
63946175ea Fix manual stopping of the voice assistant pipeline (#101351) 2023-10-03 19:15:56 -04:00
Michael Hansen
e6504218bc Pipeline runs are only equal with same id (#101341)
* Pipeline runs are only equal with same id

* Use dict instead of list in PipelineRuns

* Let it blow up

* Test

* Test rest of __eq__
2023-10-03 16:52:31 -05:00
Maciej Bieniek
d8f1023210 Use entity_registry_enabled_by_default fixture in the NextDNS tests (#101339) 2023-10-03 22:07:17 +02:00
Jan-Philipp Benecke
1c60597e41 Make co2signal state attribute translatable (#101337) 2023-10-03 21:19:32 +02:00
Erik Montnemery
2627abb9ef Improve test coverage of deprecation helper (#101335) 2023-10-03 20:57:24 +02:00
Michael Hansen
cc7e35e299 Increase pipeline timeout to 5 minutes (#101327) 2023-10-03 19:41:00 +02:00
Marc Mueller
d723a87ea2 Update coverage to 7.3.2 (#101319) 2023-10-03 19:30:18 +02:00
Erik Montnemery
ab2de18f8f Refactor frame.get_integration_frame (#101322) 2023-10-03 19:21:27 +02:00
Shay Levy
956098ae3a Shelly - remove unused device update info call (#101295) 2023-10-03 19:21:31 +03:00
Brett Adams
bdcc6c0143 Fix reference error in Aussie Broadband (#101315) 2023-10-03 16:35:26 +02:00
Robert Groot
d518cf13e5 Add Energyzero get_prices service (#100499) 2023-10-03 16:21:23 +02:00
Daniel Rheinbay
135570acab Add tea time effect to Yeelight (#95936) 2023-10-03 14:53:01 +02:00
Michael
7c7f00a46d Bump pyW800rf32 to 0.4 (#101317)
bump pyW800rf32 from 0.3 to 0.4
2023-10-03 12:17:23 +02:00
Brett Adams
727074a1a6 Revert PR #99077 for Aussie Broadband (#101314) 2023-10-03 11:52:01 +02:00
Aaron Collins
99f227229e Remove duplicated device before daikin migration (#99900)
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-10-03 10:11:21 +02:00
dependabot[bot]
69e588b15e Bump actions/setup-python from 4.7.0 to 4.7.1 (#101306)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-03 10:10:18 +02:00
Franck Nijhof
a9bc380c32 Bumped version to 2023.10.0b6 2023-10-02 23:03:02 +02:00
Franck Nijhof
be32db70a0 Update Lokalise CLI to v2.6.8 (#101297) 2023-10-02 23:02:53 +02:00
Bram Kragten
0e29ccf069 Update frontend to 20231002.0 (#101294) 2023-10-02 23:02:49 +02:00
Franck Nijhof
44acc88365 Update Lokalise CLI to v2.6.8 (#101297) 2023-10-02 23:01:30 +02:00
Bram Kragten
49e69aff0c Update frontend to 20231002.0 (#101294) 2023-10-02 22:56:50 +02:00
Shay Levy
ca2f45d466 Fix Shelly typo in cover platform (#101292) 2023-10-02 22:30:58 +02:00
Franck Nijhof
2f0ba154b9 Update ruff to v0.0.292 (#101290) 2023-10-02 21:49:10 +02:00
Franck Nijhof
9834c1de9a Bumped version to 2023.10.0b5 2023-10-02 21:34:50 +02:00
Nathan Spencer
791293ca87 Bump pylitterbot to 2023.4.9 (#101285) 2023-10-02 21:34:30 +02:00
Joost Lekkerkerker
98d7945521 Revert "Use shorthand attributes in Telldus live" (#101281) 2023-10-02 21:34:26 +02:00
Michael Hansen
06d6122663 Bump intents to 2023.10.2 (#101277) 2023-10-02 21:34:23 +02:00
Luke Lashley
bad9b1c95f Bump python-myq to 3.1.11 (#101266) 2023-10-02 21:34:20 +02:00
Franck Nijhof
a0e5f016e1 Add documentation URL for the Home Assistant Green (#101263) 2023-10-02 21:34:17 +02:00
Joost Lekkerkerker
5370db4a3e Bump aiowaqi to 2.0.0 (#101259) 2023-10-02 21:34:14 +02:00
Erik Montnemery
b069f92d95 Add missing device class to sensor.DEVICE_CLASS_UNITS (#101256) 2023-10-02 21:34:11 +02:00
Joost Lekkerkerker
9b810dcf9f Downgrade pylitterbot to 2023.4.5 (#101255) 2023-10-02 21:34:08 +02:00
Jc2k
3cfae48577 Add extra validation in private_ble_device config flow (#101254) 2023-10-02 21:34:05 +02:00
Erik Montnemery
ad53ff037e Fix color temperature setting in broadlink light (#101251) 2023-10-02 21:34:02 +02:00
Erik Montnemery
63b5ba6b3a Remove dead code from broadlink light (#101063) 2023-10-02 21:33:58 +02:00
Michael Hansen
d0700db7eb Bump intents to 2023.10.2 (#101277) 2023-10-02 14:23:13 -05:00
Jesse Hills
e76396b184 ESPHome: fix voice assistant default audio settings (#101241) 2023-10-02 21:23:12 +02:00
Joost Lekkerkerker
ebf8061117 Fix withings webhook name (#101221) 2023-10-02 21:23:09 +02:00
Kevin Stillhammer
ced616fafa Remove invalid doc about multi origin/dest in google_travel_time (#101215) 2023-10-02 21:23:06 +02:00
J. Nick Koston
18f3fb42c9 Bump aioesphomeapi to 17.0.1 (#101214) 2023-10-02 21:23:03 +02:00
J. Nick Koston
bfe16e2536 Bump zeroconf to 0.115.1 (#101213) 2023-10-02 21:23:00 +02:00
Aidan Timson
98ca71fc96 Split get users into chunks of 100 for Twitch sensors (#101211)
* Split get users into chunks of 100

* Move to own function
2023-10-02 21:22:57 +02:00
Luke Lashley
93033e037d Bump python-roborock to 0.34.6 (#101147) 2023-10-02 21:22:51 +02:00
Simon Lamon
cfa923252b Fix loop in progress config flow (#97229)
* Fix data entry flow with multiple steps

* Update a test

* Update description and add a show progress change test

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-10-02 21:20:40 +02:00
Nathan Spencer
9d242bf45f Bump pylitterbot to 2023.4.9 (#101285) 2023-10-02 20:44:47 +02:00
Marc Mueller
f248b693d7 Update pylint to 3.0.0 (#101282) 2023-10-02 20:12:43 +02:00
Luke Lashley
e4cb19f20d Bump python-roborock to 0.34.6 (#101147) 2023-10-02 20:11:16 +02:00
Joost Lekkerkerker
6fa3078cfc Revert "Use shorthand attributes in Telldus live" (#101281) 2023-10-02 19:10:15 +02:00
Mike
1a9c98e837 Add support for Levoit Vital 100S Purifier (#101273)
Add support for Levoit Vital 100S Purifier.
2023-10-02 17:53:54 +02:00
Marcel van der Veldt
35616e100d Discover switch entities from Hue behavior_script instances (#101262) 2023-10-02 17:15:41 +02:00
Luke Lashley
054407722d Bump python-myq to 3.1.11 (#101266) 2023-10-02 17:03:53 +02:00
Allen Porter
74b3c5c690 Modernize fitbit sensors (#101179)
* Improve fitbit sensors with state class and entiy category

* Revert sensor format changes
2023-10-02 16:56:46 +02:00
Erik Montnemery
cab30085c5 Fix typo in config.py (#101268) 2023-10-02 15:57:04 +02:00
Erik Montnemery
b5f71f9ec7 Fix stale docstring in intent_script (#101270) 2023-10-02 15:24:12 +02:00
Erik Montnemery
f72f95549c Use DOMAIN constant in command_line (#101269) 2023-10-02 15:22:54 +02:00
Aidan Timson
9eaf326c0e Split get users into chunks of 100 for Twitch sensors (#101211)
* Split get users into chunks of 100

* Move to own function
2023-10-02 15:20:19 +02:00
Kevin Stillhammer
15f945c47e Remove invalid doc about multi origin/dest in google_travel_time (#101215) 2023-10-02 14:31:25 +02:00
Franck Nijhof
02f82d04fe Add documentation URL for the Home Assistant Green (#101263) 2023-10-02 14:30:33 +02:00
Simon Lamon
a618e8d1cf Fix loop in progress config flow (#97229)
* Fix data entry flow with multiple steps

* Update a test

* Update description and add a show progress change test

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-10-02 14:15:54 +02:00
Erik Montnemery
e18e12a2df Fix color temperature setting in broadlink light (#101251) 2023-10-02 14:12:06 +02:00
Jc2k
e23e71279f Add extra validation in private_ble_device config flow (#101254) 2023-10-02 13:56:39 +02:00
Marc Mueller
100b6fd06f Fix flaky lru_cache test (#101252) 2023-10-02 13:52:56 +02:00
Joost Lekkerkerker
4ee6f6c766 Bump aiowaqi to 2.0.0 (#101259) 2023-10-02 13:49:22 +02:00
Maciej Bieniek
0fdf04391b Use class attrs and shorthand attrs for Shelly (#101249) 2023-10-02 13:40:06 +02:00
Joost Lekkerkerker
85e782055b Downgrade pylitterbot to 2023.4.5 (#101255) 2023-10-02 13:07:56 +02:00
Erik Montnemery
d0dc4d0963 Add missing device class to sensor.DEVICE_CLASS_UNITS (#101256) 2023-10-02 13:01:26 +02:00
Zehuan Li
41cb8526d1 Add secret_token support to telegram_bot component (#100869)
* Support secret_token for setWebHook api

* Revert configuration YAML changes; generate and store secret token instead

* Reformat codes

* Revert storage of secret token; use ephemeral secret token instead

* Reformat

* Update homeassistant/components/telegram_bot/webhooks.py

* Fix when header is not present

* Check for non-empty token

* Fix tests to support secret token

* Add tests for invalid secret token

* Minor: remove comment

* Revert back to 401

* ... and for tests

* Change patching method for the generation of secret tokens

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-10-02 11:44:15 +02:00
Joost Lekkerkerker
1b43d79717 Use async_at_started in Netatmo (#100996)
* Use async_at_started in Netatmo

* Make nice
2023-10-02 11:41:06 +02:00
G Johansson
56e7e20904 Remove YAML import from Brottsplatskartan (#101222) 2023-10-02 11:00:41 +02:00
Ian
e652d37f29 Use data update coordinator in NextBus to reduce api calls (#100602) 2023-10-02 10:56:10 +02:00
Jesse Hills
6ce6952a06 ESPHome: fix voice assistant default audio settings (#101241) 2023-10-02 10:35:15 +02:00
Dave T
99a76ef4e6 Fix most sphinx documentation warnings (#101228) 2023-10-02 09:01:41 +02:00
G Johansson
f2cf87b0b7 Remove YAML import from Workday (#101223) 2023-10-02 09:01:03 +02:00
G Johansson
b56d25121f Remove platform YAML qBittorrent (#101224) 2023-10-02 09:00:09 +02:00
G Johansson
b33d5fece6 Remove platform YAML from Snapcast (#101225) 2023-10-02 08:59:06 +02:00
Jan Bouwhuis
78f827697e Remove imap_email_content integration (#101233) 2023-10-02 08:57:16 +02:00
G Johansson
c1cfce116d Bump pytrafikverket to 0.3.7 (#101231) 2023-10-02 08:55:35 +02:00
Allen Porter
4e4b8de448 Add reauth support in fitbit (#101178)
* Add reauth support in fitbit

* Update tests/components/fitbit/test_config_flow.py

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

* Improve http status error code handling

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-10-02 08:09:08 +02:00
Joost Lekkerkerker
4c24ff6847 Migrate WAQI to has entity name (#101203) 2023-10-01 23:47:32 +02:00
TJ Horner
cabfbc245d Add weatherkit sensor platform (#101150)
* Add weatherkit sensor platform and tests

* Make unique ID assignment more explicit

* Fix missing argument

* Use const for top-level API response keys

* Address code review feedback
2023-10-01 23:20:09 +02:00
Simone Chemelli
9261ad14e2 Add RestoreEntity to Comelit cover (#101192)
* Add RestoreEntoty to Comelit cover

* remove logging
2023-10-01 20:56:34 +02:00
Joost Lekkerkerker
67f7c703f4 Fix withings webhook name (#101221) 2023-10-01 20:55:00 +02:00
J. Nick Koston
377f00730a Bump aioesphomeapi to 17.0.1 (#101214) 2023-10-01 19:33:53 +01:00
J. Nick Koston
1f76abe6f4 Bump zeroconf to 0.115.1 (#101213) 2023-10-01 19:33:38 +01:00
RoboMagus
1db3d3c158 icon for commandline sensors (#101195)
* Add icon to schema for commandline sensor and binary_sensor

* Add icon tests
2023-10-01 20:17:53 +02:00
Franck Nijhof
8c84237e6b Bumped version to 2023.10.0b4 2023-10-01 18:32:38 +02:00
Joost Lekkerkerker
cf6f0cf266 Correct JSONDecodeError in co2signal (#101206) 2023-10-01 18:32:29 +02:00
Joost Lekkerkerker
b24f09b47e Add config entry name to Withings webhook name (#101205) 2023-10-01 18:32:26 +02:00
Daniel Hjelseth Høyer
e0d7c1440b Update Mill library to 0.11.6 (#101180) 2023-10-01 18:32:23 +02:00
Allen Porter
b20f9c40be Clear calendar alarms after scheduling and add debug loggging (#101176) 2023-10-01 18:32:18 +02:00
Oliver
b27097808d Update denonavr to 0.11.4 (#101169) 2023-10-01 18:32:15 +02:00
Allen Porter
d7fa98454b Fix rainbird entity unique ids (#101168)
* Fix unique ids for rainbird entities

* Update entity unique id use based on config entry entity id

* Update tests/components/rainbird/test_binary_sensor.py

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

* Rename all entity_registry variables

* Shorten long comment under line length limits

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-10-01 18:32:12 +02:00
Tereza Tomcova
531479bf5b Bump PySwitchbot to 0.40.1 (#101164) 2023-10-01 18:32:09 +02:00
Raman Gupta
3941d2c897 Bump zwave-js-server-python to 0.52.1 (#101162) 2023-10-01 18:32:06 +02:00
hlyi
c4d85ac41f Report unavailability for yolink sensor and binary_sensor (#100743) 2023-10-01 18:32:03 +02:00
c0ffeeca7
5106907571 Terminology: Rename Multi-PAN to Multiprotocol to be consistent (#99262) 2023-10-01 18:31:59 +02:00
Joost Lekkerkerker
8fd0a1b083 Add config entry name to Withings webhook name (#101205) 2023-10-01 18:29:53 +02:00
Joost Lekkerkerker
65c8da3bf1 Correct JSONDecodeError in co2signal (#101206) 2023-10-01 18:28:53 +02:00
Guido Schmitz
598a8890e9 Use freezer.tick in devolo_home_network image tests (#101208)
Use freezer.tick
2023-10-01 18:22:19 +02:00
Allen Porter
2d58ab0e1c Fix rainbird entity unique ids (#101168)
* Fix unique ids for rainbird entities

* Update entity unique id use based on config entry entity id

* Update tests/components/rainbird/test_binary_sensor.py

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

* Rename all entity_registry variables

* Shorten long comment under line length limits

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-10-01 08:12:44 -07:00
c0ffeeca7
b3b5ca9b95 Terminology: Rename Multi-PAN to Multiprotocol to be consistent (#99262) 2023-10-01 16:20:09 +02:00
Ville Skyttä
f4bf8fa8f1 Catch HTML case insensitively in "no HTML" config validation (#101181) 2023-10-01 16:19:24 +02:00
G Johansson
a3808383d5 Fix binary sensor test in command_line (#101198) 2023-10-01 16:18:05 +02:00
Dave T
8b7fae5200 Remove deprecated distance conversion functions (#101199) 2023-10-01 16:17:31 +02:00
Ville Skyttä
31ea00f5c7 Treat strings starting with https but not htt as soundtouch media URLs (#101183) 2023-10-01 16:16:19 +02:00
Dave T
a4a99ce957 Remove deprecated volume conversion functions (#101200) 2023-10-01 16:06:14 +02:00
Allen Porter
87ecdfb84f Clear calendar alarms after scheduling and add debug loggging (#101176) 2023-10-01 15:25:04 +02:00
Franck Nijhof
5e6735ab6d Update home-assistant/wheels to 2023.10.1 (#101197) 2023-10-01 15:05:10 +02:00
hlyi
9306e60530 Report unavailability for yolink sensor and binary_sensor (#100743) 2023-10-01 13:21:26 +02:00
Oliver
fd1f0b0efe Update denonavr to 0.11.4 (#101169) 2023-10-01 12:26:28 +02:00
Daniel Hjelseth Høyer
9b754a58f4 Update Mill library to 0.11.6 (#101180) 2023-10-01 10:12:06 +02:00
Raman Gupta
b4555c8a92 Bump zwave-js-server-python to 0.52.1 (#101162) 2023-10-01 08:28:14 +02:00
Allen Porter
bd2fee289d Update Fitbit integration to allow UI based configuration (#100897)
* Cleanup fitbit sensor API parsing

* Remove API code that is not used yet

* Configuration flow for fitbit

* Code cleanup after manual review

* Streamline code for review

* Use scopes to determine which entities to enable

* Use set for entity comparisons

* Apply fitbit string pr feedback

* Improve fitbit configuration flow error handling

* Apply suggestions from code review

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* Fix typo in more places

* Revert typing import

* Revert custom domain back to default

* Add additional config flow tests

* Add         breaks_in_ha_version to repair issues

* Update homeassistant/components/fitbit/api.py

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

* Increase test coverage for token refresh success case

* Add breaks_in_ha_version for sensor issue

* Apply suggestions from code review

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

* Simplify translations, issue keys, and token refresh

* Config flow test improvements

* Simplify repair issue creation on fitbit import

* Remove unused strings

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-09-30 16:56:39 -07:00
Tereza Tomcova
fe30c019b6 Bump PySwitchbot to 0.40.1 (#101164) 2023-09-30 21:53:58 +02:00
Franck Nijhof
25855a3ccb Update home-assistant/wheels to 2023.09.3 (#101165) 2023-09-30 21:17:49 +02:00
Franck Nijhof
04829f0a1b Bumped version to 2023.10.0b3 2023-09-30 10:54:01 +02:00
Raman Gupta
01182e8a5c Fix zwave_js firmware update logic (#101143)
* Fix zwave_js firmware update logic

* add comment

* tweak implementation for ssame outcome
2023-09-30 10:53:50 +02:00
Joost Lekkerkerker
af041d2900 Bump aiowaqi to 1.1.1 (#101129) 2023-09-30 10:53:46 +02:00
Joost Lekkerkerker
822af4d40d Return None when value is not known in OpenHardwareMonitor (#101127)
* Return None when value is not known

* Add to coverage
2023-09-30 10:53:43 +02:00
Franck Nijhof
730acb34f2 Revert pin on AlexaPy (#101123) 2023-09-30 10:53:39 +02:00
Joost Lekkerkerker
b5eb158697 Correct youtube stream selector in media extractor (#101119) 2023-09-30 10:53:36 +02:00
Joost Lekkerkerker
d216fbddae Add logging to media extractor to know the selected stream (#101117) 2023-09-30 10:53:32 +02:00
Joost Lekkerkerker
d84d83a42a Migrate WAQI unique id (#101112)
* Migrate unique_id

* Add docstring
2023-09-30 10:53:29 +02:00
Franck Nijhof
c1ade85d65 Pin charset-normalizer in our package constraints (#101107) 2023-09-30 10:53:25 +02:00
Franck Nijhof
124eda6906 Correct binary ignore for charset-normalizer to charset_normalizer (#101106) 2023-09-30 10:53:22 +02:00
Stefan Agner
65c7b30720 Stop the Home Assistant Core container by default (#101105) 2023-09-30 10:53:18 +02:00
Franck Nijhof
1d2c570a01 Ignore binary distribution wheels for charset-normalizer (#101104) 2023-09-30 10:53:15 +02:00
Marc Mueller
2cc229ce42 Fix circular dependency on homeassistant (#101099) 2023-09-30 10:53:12 +02:00
Franck Nijhof
73356ae232 Use pep 503 compatible wheels index for builds (#101096) 2023-09-30 10:53:09 +02:00
Franck Nijhof
bfd7275972 Update Home Assistant base image to 2023.09.0 (#101092) 2023-09-30 10:53:05 +02:00
jjlawren
ef3bd0100c Bump plexapi to 4.15.3 (#101088)
* Bump plexapi to 4.15.3

* Update tests for updated account endpoint

* Update tests for updated resources endpoint

* Switch to non-web client fixture

* Set __qualname__ attribute for new library behavior
2023-09-30 10:53:01 +02:00
TheJulianJES
3f57c33f32 Fix ZHA exception when writing cie_addr during configuration (#101087)
Fix ZHA exception when writing `cie_addr`
2023-09-30 10:52:58 +02:00
Matthias Alphart
bae3379938 Update xknxproject to 3.3.0 (#101081) 2023-09-30 10:52:55 +02:00
Michael Hansen
85838c6af9 Use wake word description if available (#101079) 2023-09-30 10:52:52 +02:00
TJ Horner
9c0bc57fed Add native precipitation unit for weatherkit (#101073) 2023-09-30 10:52:48 +02:00
tronikos
97448eff8f Bump opower to 0.0.35 (#101072) 2023-09-30 10:52:42 +02:00
Paul Bottein
2f6fefefa7 Update frontend to 20230928.0 (#101067) 2023-09-30 10:52:36 +02:00
Jan Bouwhuis
42eb849cae Use dataclass for abode system class (#101138) 2023-09-30 10:44:46 +02:00
Stefan Agner
9444a474ec Stop the Home Assistant Core container by default (#101105) 2023-09-30 10:43:07 +02:00
Erik Montnemery
47ecce4873 Allow deleting entity entries from entity_registry.async_migrate_entries (#101094)
* Allow deleting entity entries from entity_registry.async_migrate_entries

* Explicitly return None in tests
2023-09-30 10:23:10 +02:00
uvjustin
d40a08958d Use dataclasses instead of attrs in stream (#101148) 2023-09-30 09:46:30 +02:00
Raman Gupta
e6c9a82b5f Improve conditional on unload (#101149) 2023-09-30 08:12:44 +02:00
Joost Lekkerkerker
6e3c704a33 Return None when value is not known in OpenHardwareMonitor (#101127)
* Return None when value is not known

* Add to coverage
2023-09-29 23:07:11 -04:00
Tudor Sandu
542ab2dd76 Fix ignored argument in service call for demo climate (#101137)
Fix service call for demo climate
2023-09-29 23:06:41 -04:00
Raman Gupta
7b9c1c3953 Fix zwave_js firmware update logic (#101143)
* Fix zwave_js firmware update logic

* add comment

* tweak implementation for ssame outcome
2023-09-29 23:05:33 -04:00
jjlawren
a1d632c5d1 Bump plexapi to 4.15.3 (#101088)
* Bump plexapi to 4.15.3

* Update tests for updated account endpoint

* Update tests for updated resources endpoint

* Switch to non-web client fixture

* Set __qualname__ attribute for new library behavior
2023-09-29 23:04:00 -04:00
Jan Bouwhuis
facdc5e862 Fix - Make sure logging is in time in sonos CI test (#101109)
Make sure logging is in time in sonos CI test
2023-09-29 23:16:59 +02:00
Jan Bouwhuis
1546dee36e Fix zha CI test might fail on changing time (#101134) 2023-09-29 21:36:54 +02:00
Franck Nijhof
581a045617 Trigger Wheels builds in more cases (#101126) 2023-09-29 21:19:11 +02:00
Jan Bouwhuis
26ba10f4e4 Use dataclass for stream segment Part (#101128)
* Use data class for stream segement Part

* use slots
2023-09-29 21:07:30 +02:00
Joost Lekkerkerker
1b05418647 Bump aiowaqi to 1.1.1 (#101129) 2023-09-29 20:57:53 +02:00
Jan Bouwhuis
a5f8774878 Use cached_property for legacy device_tracker type (#101125) 2023-09-29 20:54:24 +02:00
Jan Bouwhuis
257e608c13 Use dataclass for mqtt TimestampedPublishMessage (#101124) 2023-09-29 20:11:30 +02:00
Franck Nijhof
a19c6fe9ff Revert pin on AlexaPy (#101123) 2023-09-29 19:40:13 +02:00
Joost Lekkerkerker
339b95c79f Migrate WAQI unique id (#101112)
* Migrate unique_id

* Add docstring
2023-09-29 19:30:35 +02:00
Joost Lekkerkerker
edcf0b6333 Add device class pH to Flipr (#101121) 2023-09-29 19:13:24 +02:00
Joost Lekkerkerker
591ffa8b68 Add device class pH to Poolsense (#101122) 2023-09-29 19:12:56 +02:00
Joost Lekkerkerker
8d972223d8 Add logging to media extractor to know the selected stream (#101117) 2023-09-29 19:12:27 +02:00
Joost Lekkerkerker
6c39233e00 Correct youtube stream selector in media extractor (#101119) 2023-09-29 19:09:18 +02:00
Joost Lekkerkerker
ce083eade9 Add device class pH to aseko pool live (#101120) 2023-09-29 19:07:33 +02:00
Erik Montnemery
50827405d0 Fix patch of PLATFORMS constant in netatmo (#101038) 2023-09-29 16:30:33 +02:00
Franck Nijhof
b8a7ad916a Pin charset-normalizer in our package constraints (#101107) 2023-09-29 14:43:03 +02:00
Franck Nijhof
97e5504ddd Correct binary ignore for charset-normalizer to charset_normalizer (#101106) 2023-09-29 13:18:33 +02:00
Franck Nijhof
e924622153 Ignore binary distribution wheels for charset-normalizer (#101104) 2023-09-29 12:58:29 +02:00
Marc Mueller
809abc1445 Fix circular dependency on homeassistant (#101099) 2023-09-29 11:49:19 +02:00
Franck Nijhof
4f90542394 Use pep 503 compatible wheels index for builds (#101096) 2023-09-29 09:30:00 +02:00
Mike
2a6a2fa842 Update pyvesync to 2.1.10 (#100522)
* Update manifest.json to use pyvesync 2.1.10

* Update Requirements for pyvesync

* Update test_diagnostics.ambr

---------

Co-authored-by: Thibault Cohen <47721+titilambert@users.noreply.github.com>
2023-09-29 09:01:04 +02:00
Franck Nijhof
fb61e34833 Update Home Assistant base image to 2023.09.0 (#101092) 2023-09-29 08:58:05 +02:00
Matthias Alphart
845d28255e Update xknxproject to 3.3.0 (#101081) 2023-09-29 07:05:26 +02:00
TheJulianJES
f5d8d41ad5 Fix ZHA exception when writing cie_addr during configuration (#101087)
Fix ZHA exception when writing `cie_addr`
2023-09-28 21:56:17 -04:00
Álvaro Fernández Rojas
d1347d23de Update aioairzone-cloud to v0.2.4 (#101069) 2023-09-28 16:29:53 -05:00
TJ Horner
063bac1665 Add native precipitation unit for weatherkit (#101073) 2023-09-28 16:24:07 -05:00
tronikos
42b2a462c1 Bump opower to 0.0.35 (#101072) 2023-09-28 22:38:33 +02:00
Erik Montnemery
136fbaa2a8 Remove dead code from broadlink light (#101063) 2023-09-28 22:38:21 +02:00
Michael Hansen
d73cc1eecd Use wake word description if available (#101079) 2023-09-28 15:30:43 -05:00
Paul Bottein
dbd0c06518 Update frontend to 20230928.0 (#101067) 2023-09-28 20:48:07 +02:00
Jan Bouwhuis
0ded0ef4ee Use dataclass instead of attr slots for mqtt PublishMessage and ReceiveMessage (#101062)
Use dataclass instead of attr slots
2023-09-28 20:36:30 +02:00
Jan Bouwhuis
77c519220d Use dataclass for mqtt Subscription (#101064) 2023-09-28 20:35:49 +02:00
Franck Nijhof
d8f96d7709 Bumped version to 2023.10.0b2 2023-09-28 20:05:38 +02:00
Joost Lekkerkerker
fff3c6c6e9 Bump aiowaqi to 1.1.0 (#99751)
* Bump aiowaqi to 1.1.0

* Fix hassfest

* Fix tests
2023-09-28 20:03:43 +02:00
Michael Hansen
17362e1954 Remove fma instructions from webrtc-noise-gain (#101060) 2023-09-28 20:03:21 +02:00
TJ Horner
1bbd4662b7 Bump apple_weatherkit to 1.0.4 (#101057) 2023-09-28 20:03:18 +02:00
Joost Lekkerkerker
ad8033c0f2 Don't show withings repair if it's not in YAML (#101054) 2023-09-28 20:03:15 +02:00
Álvaro Fernández Rojas
081f194f6a Update aioairzone-cloud to v0.2.3 (#101052)
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2023-09-28 20:03:12 +02:00
Joost Lekkerkerker
f13059eaf5 Pin pydantic to 1.10.12 (#101044) 2023-09-28 20:03:08 +02:00
Joost Lekkerkerker
0147108b89 Fix onvif creating a new entity for every new event (#101035)
Use topic value as topic
2023-09-28 20:03:05 +02:00
Jesse Hills
ffad30734b ESPHome: dont send error when wake word is aborted (#101032)
* ESPHome dont send error when wake word is aborted

* Add test
2023-09-28 20:03:02 +02:00
Erik Montnemery
5bd306392f Add LED control support to Home Assistant Green (#100922)
* Add LED control support to Home Assistant Green

* Add strings.json

* Sort alphabetically

* Reorder LED schema

* Improve test coverage

* Apply suggestions from code review

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

* Sort + fix test

* Remove reboot menu

---------

Co-authored-by: Stefan Agner <stefan@agner.ch>
2023-09-28 20:02:59 +02:00
Tereza Tomcova
d6c42ee8e7 Bump PySwitchbot to 0.40.0 to support Curtain 3 (#100619) 2023-09-28 20:02:55 +02:00
Joost Lekkerkerker
35eaebd182 Add feature to add measuring station via number in waqi (#99992)
* Add feature to add measuring station via number

* Add feature to add measuring station via number

* Add feature to add measuring station via number
2023-09-28 20:02:52 +02:00
tyjtyj
81e8ca130f Fix google maps device_tracker same last seen timestamp (#99963)
* Update device_tracker.py 

This fix the google_maps does not show current location when HA started/restarted and also fix unnecessary update when last_seen timestamp is the same. 
Unnecessary update is causing proximity sensor switching from between stationary and certain direction.

* Remove elif

* Fix Black check

* fix black check

* Update device_tracker.py

Better patch

* Update device_tracker.py

* Update device_tracker.py

Fix Black

* Update device_tracker.py

change warning to debug
2023-09-28 20:02:48 +02:00
lennart24
9ab340047d Add shutter_tilt support for Fibaro FGR 223 (#96283)
* add support for shutter_tilt for Fibaro FGR 223
add tests for fgr 223

* Adjust comments and docstring

---------

Co-authored-by: Lennart <18117505+Ced4@users.noreply.github.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-09-28 19:50:52 +02:00
Joost Lekkerkerker
f733c43900 Don't show withings repair if it's not in YAML (#101054) 2023-09-28 19:08:26 +02:00
TJ Horner
0a540e1cdb Bump apple_weatherkit to 1.0.4 (#101057) 2023-09-28 19:07:22 +02:00
Michael Hansen
f39b2716b0 Remove fma instructions from webrtc-noise-gain (#101060) 2023-09-28 19:07:00 +02:00
Joost Lekkerkerker
f255a0e546 Pin pydantic to 1.10.12 (#101044) 2023-09-28 19:06:45 +02:00
Joost Lekkerkerker
3b381f10d3 Bump aiowaqi to 1.1.0 (#99751)
* Bump aiowaqi to 1.1.0

* Fix hassfest

* Fix tests
2023-09-28 18:52:23 +02:00
Erik Montnemery
dc78d15abc Add LED control support to Home Assistant Green (#100922)
* Add LED control support to Home Assistant Green

* Add strings.json

* Sort alphabetically

* Reorder LED schema

* Improve test coverage

* Apply suggestions from code review

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

* Sort + fix test

* Remove reboot menu

---------

Co-authored-by: Stefan Agner <stefan@agner.ch>
2023-09-28 17:45:10 +02:00
Álvaro Fernández Rojas
d8520088e7 Update aioairzone-cloud to v0.2.3 (#101052)
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2023-09-28 16:52:16 +02:00
RoboMagus
f0ca27fd08 Add reload to rest_command integration (#100511)
* Add YAML reload to rest_command integration

* Add rest_command reload tests

* Fix test coverage

* Remove unnecessary call to keys

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

* Perform cleanup on reload with empty config

* Fix mypy

* Fix ruff

* Update homeassistant/components/rest_command/__init__.py

* Update __init__.py

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-09-28 16:28:38 +02:00
Tereza Tomcova
217a895b5a Bump PySwitchbot to 0.40.0 to support Curtain 3 (#100619) 2023-09-28 13:15:22 +02:00
lennart24
b43262014f Add shutter_tilt support for Fibaro FGR 223 (#96283)
* add support for shutter_tilt for Fibaro FGR 223
add tests for fgr 223

* Adjust comments and docstring

---------

Co-authored-by: Lennart <18117505+Ced4@users.noreply.github.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-09-28 12:59:02 +02:00
Joost Lekkerkerker
d1f1bdebde Add feature to add measuring station via number in waqi (#99992)
* Add feature to add measuring station via number

* Add feature to add measuring station via number

* Add feature to add measuring station via number
2023-09-28 10:55:48 +02:00
Joost Lekkerkerker
4a73ccb7db Create function to extract onvif message (#101036)
Create extract message function
2023-09-28 10:17:07 +02:00
Álvaro Fernández Rojas
3db7bdc630 Implement Airzone Cloud Group climate support (#101018)
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2023-09-28 09:26:13 +02:00
Joost Lekkerkerker
089f87c45b Fix onvif creating a new entity for every new event (#101035)
Use topic value as topic
2023-09-28 09:13:33 +02:00
tyjtyj
d70cb8caa5 Fix google maps device_tracker same last seen timestamp (#99963)
* Update device_tracker.py 

This fix the google_maps does not show current location when HA started/restarted and also fix unnecessary update when last_seen timestamp is the same. 
Unnecessary update is causing proximity sensor switching from between stationary and certain direction.

* Remove elif

* Fix Black check

* fix black check

* Update device_tracker.py

Better patch

* Update device_tracker.py

* Update device_tracker.py

Fix Black

* Update device_tracker.py

change warning to debug
2023-09-28 08:08:07 +02:00
Artur Pragacz
e1771ae01e Fix circular dependancy detection (#100458)
* Fix _async_component_dependencies

Fix bug with circular dependency detection
Fix bug with circular after_dependency detection
Simplify interface and make the code more readable

* Implement review feedback

* Pass all conflicting deps to Exception

* Change inner docstring

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

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-09-28 08:05:00 +02:00
Jesse Hills
d41144ee88 ESPHome: dont send error when wake word is aborted (#101032)
* ESPHome dont send error when wake word is aborted

* Add test
2023-09-27 23:39:57 -04:00
Franck Nijhof
f757d4c7da Update py-cpuinfo to 9.0.0 (#101019) 2023-09-27 21:02:47 -04:00
Paulus Schoutsen
b02f64196b Bumped version to 2023.10.0b1 2023-09-27 21:00:57 -04:00
Michael Hansen
af37de46bd Use webrtc-noise-gain without AVX2 (#101028) 2023-09-27 21:00:50 -04:00
Marc Mueller
be93793db9 Update pyweatherflowudp to 1.4.3 (#101022) 2023-09-27 21:00:49 -04:00
J. Nick Koston
c287564e68 Fix HomeKit handling of unavailable state (#101021) 2023-09-27 21:00:48 -04:00
Jan Bouwhuis
115c3d6e49 Fix handling reload with invalid mqtt config (#101015)
Fix handling reload whith invalid mqtt config
2023-09-27 21:00:47 -04:00
Marcel van der Veldt
415042f356 Adopt Hue integration to latest changes in Hue firmware (#101001) 2023-09-27 21:00:46 -04:00
steffenrapp
dde4b07c29 Add homeassistant reload_all translatable service name and description (#100437)
* Update services.yaml

* Update strings.json

* Update strings.json
2023-09-27 21:00:45 -04:00
Jan-Philipp Benecke
10e8173d4e Restore state of trend sensor (#100332)
* Restoring state of trend sensor

* Handle unknown state & parametrize tests
2023-09-27 21:00:44 -04:00
Franck Nijhof
4f1906ae3e Remove myself from cpuspeed codeowners (#101020) 2023-09-27 21:00:14 -04:00
Jan Bouwhuis
dc1d3f727b Fix handling reload with invalid mqtt config (#101015)
Fix handling reload whith invalid mqtt config
2023-09-27 20:59:19 -04:00
Michael Hansen
5fe61ca5e7 Use webrtc-noise-gain without AVX2 (#101028) 2023-09-27 19:55:26 -05:00
Marc Mueller
38984dd939 Update pyweatherflowudp to 1.4.3 (#101022) 2023-09-27 17:58:30 -05:00
Marcel van der Veldt
b569cb61e9 Adopt Hue integration to latest changes in Hue firmware (#101001) 2023-09-27 23:36:12 +02:00
J. Nick Koston
7d07694496 Fix HomeKit handling of unavailable state (#101021) 2023-09-27 23:34:25 +02:00
Álvaro Fernández Rojas
6a52283ce0 Implement Airzone Cloud Aidoo climate support (#101011)
* Implement Airzone Cloud Aidoo climate support

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* airzone_cloud: climate: add entity naming

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

---------

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2023-09-27 20:30:32 +02:00
Rami Mosleh
473d20712c Migrate islamic prayer times sensor unique_id to include entry_id (#100814)
* Migrate sensor unique_id to include entry_id

* Apply suggestion
2023-09-27 20:17:39 +02:00
steffenrapp
b3b235cbb7 Add homeassistant reload_all translatable service name and description (#100437)
* Update services.yaml

* Update strings.json

* Update strings.json
2023-09-27 20:16:00 +02:00
Marc Mueller
9fe2c08913 Update astroid to 2.15.8 (#101007) 2023-09-27 20:14:56 +02:00
Franck Nijhof
97f24b855f Bump version to 2023.11.0dev0 (#101013) 2023-09-27 19:03:06 +02:00
Jan-Philipp Benecke
c0c02bf6bb Restore state of trend sensor (#100332)
* Restoring state of trend sensor

* Handle unknown state & parametrize tests
2023-09-27 18:28:27 +02:00
Franck Nijhof
e7fbd3b54b Bumped version to 2023.10.0b0 2023-09-27 18:14:30 +02:00
Diogo Morgado
4066f657d3 Add "UV Index" to IPMA (#100383)
* Bump pyipma to 3.0.7

* Add uv index sensor to IPMA
2023-09-27 17:45:21 +02:00
Simone Chemelli
5541181969 Address Comelit cover late review (#101008)
address late review
2023-09-27 17:38:14 +02:00
Jeef
577b664c3b Add WeatherFlow integration (#75530)
* merge upstream

* Update homeassistant/components/weatherflow/__init__.py

Co-authored-by: G Johansson <goran.johansson@shiftit.se>

* feat: Removing unused keys

* feat: Addressing PR to remove DEFAULT_HOST from init

* feat: Addressing PR abort case

* feat: Ensure there is a default host always

* feat: Addressing PR comments and fixing entity names via local testing

* feat: Tested units

* feat: updated variable names to hopefully add some clarity to the function

* feat: added more var names for clarity

* feat: Fixed abort

* Update homeassistant/components/weatherflow/__init__.py

Co-authored-by: G Johansson <goran.johansson@shiftit.se>

* feat: Removed an unnecessary line

* feat: Test updates

* feat: Removed unreachable code

* feat: Tons of improvements

* removed debug code

* feat: small tweaks

* feat: Fixed density into HA Compatibility

* feat: Handled the options incorrectly... now fixed

* feat: Handled the options incorrectly... now fixed

* Update homeassistant/components/weatherflow/manifest.json

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

* Cleaned up callback in __init__
Cleaning up config_flow as well

* feat: Cleaned up a stupid test

* feat: Simulating a timeout event

* feat: Triggering timeout in mocking

* feat: trying to pass tests

* refactor: Moved code around so easier to test

* Update homeassistant/components/weatherflow/__init__.py

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

* feat: Incremental changes moving along well

* feat: Last fix before re-review

* feat: Hopefully the tests shall pass

* feat: Remove domian from unique id

* feat: Fixed entity name

* feat: Removed unneeded lambda - to make thread safe

* Working version...

* working

* working

* feat: Remove tuff

* feat: Removed dual call

* Update homeassistant/components/weatherflow/sensor.py

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* Update homeassistant/components/weatherflow/strings.json

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* feat: updates based on pr

* feat: removed some self refrences

* feat: Mod RSSI

* feat: Removed the custom Air Density (will add in a later PR)

* feat: Significant cleanup of config flow

* feat: Reworked the configflwo with the help of Joostlek

* feat: Updated test coverage

* feat: Removing bakcing lib attribute

* Update homeassistant/components/weatherflow/sensor.py

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* Update homeassistant/components/weatherflow/sensor.py

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* Update homeassistant/components/weatherflow/sensor.py

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* Update homeassistant/components/weatherflow/sensor.py

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* Update homeassistant/components/weatherflow/sensor.py

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* feat: Updated translations

* feat: Renamed CUSTOM to VOC

* feat: Extreme simplification of config flow

* feat: Pushing incremental changes

* feat: Fixing test coverage

* feat: Added lambda expressions for attributes and removed the custom AirDensity sensor

* Update homeassistant/components/weatherflow/sensor.py

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

* Update homeassistant/components/weatherflow/sensor.py

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

* feat: Removed default lambda expression from raw_data_conv_fn

* feat: Added back default variable for lambda

* feat: Updated tests accordingly

* feat: Updated tests

* made sure to patch correct import

* made sure to patch correct import

* feat: Fixed up tests ... added missing asserts

* feat: Dropped model

* Update homeassistant/components/weatherflow/sensor.py

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

* Refactor: Updated code

* refactor: Removed commented code

* feat: close out all tests

* feat: Fixing the patch

* feat: Removed a bunch of stuff

* feat: Cleaning up tests even more

* fixed patch and paramaterized a test

* feat: Addressing most recent comments

* updates help of joostlek

* feat: Updated coverage for const

* Update homeassistant/components/weatherflow/strings.json

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* Update homeassistant/components/weatherflow/strings.json

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* Update homeassistant/components/weatherflow/strings.json

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* Update homeassistant/components/weatherflow/strings.json

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* Update homeassistant/components/weatherflow/strings.json

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* Update homeassistant/components/weatherflow/sensor.py

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* Update homeassistant/components/weatherflow/sensor.py

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* Update homeassistant/components/weatherflow/strings.json

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* Update homeassistant/components/weatherflow/sensor.py

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* feat: Addressing more PR issues... probably still a few remain

* using const logger

* Update homeassistant/components/weatherflow/strings.json

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-09-27 17:28:05 +02:00
J. Nick Koston
b21451b3d1 Bump dbus-fast to 2.11.0 (#101005) 2023-09-27 10:23:06 -05:00
Álvaro Fernández Rojas
3178eac9cc Implement Airzone Cloud Zone climate support (#100792)
* Implement Airzone Cloud Zone climate support

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* airzone_cloud: add entity naming

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* airzone_cloud: implement requested changes

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

---------

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2023-09-27 17:20:21 +02:00
Marc Mueller
c59404b5bc Fix additional test cases for Python 3.12 (#101006) 2023-09-27 17:19:20 +02:00
nachonam
9fdc8494b6 Add Freebox Home binary sensors (#92196)
Co-authored-by: Quentame <polletquentin74@me.com>
2023-09-27 17:11:31 +02:00
Joost Lekkerkerker
8b5bfd8cee Add test helper for cloud status updates (#100993)
* Add helper for cloud status updates

* Move import
2023-09-27 17:08:51 +02:00
Joost Lekkerkerker
25a80cd46f Add config flow to Twitch (#93451)
* Update twitch API

* Update twitchAPI

* Add tests

* Apply suggestions from code review

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

* Update sensor.py

* Update sensor.py

* Update sensor.py

* Update sensor.py

* Update sensor.py

* Fix coverage

* Move Twitch constants to separate file

* Move Twitch constants to separate file

* Move Twitch constants to separate file

* Add application credentials

* Add config flow

* Try to add tests

* Add strings

* Add tests

* Add tests

* Improve tests

* Fix tests

* Extract Twitch client creation

* Fix reauth

* Remove import flow

* Remove import flow

* Remove reauth

* Update

* Fix Ruff

* Fix feedback

* Add strings

* Add reauth

* Do stuff in init

* Fix stuff

* Fix stuff

* Fix stuff

* Fix stuff

* Fix stuff

* Start with tests

* Test coverage

* Test coverage

* Remove strings

* Cleanup

* Fix feedback

* Fix feedback

---------

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-09-27 15:45:52 +02:00
amitfin
91fcbb41b0 Skip timestamp check of the SIA events (#100660) 2023-09-27 15:13:38 +02:00
Luke Lashley
92694c53e0 Increase MyQ update interval (#100977) 2023-09-27 15:02:19 +02:00
Joost Lekkerkerker
7cb555739f Exclude manifest files from youtube media extraction (#100771)
* Exclude manifest files from youtube media extraction

* Simplify

* Fix
2023-09-27 14:48:03 +02:00
Joost Lekkerkerker
03827bda1e Use async_at_started in Withings (#100994)
* Use async_at_started in Withings

* Make nice
2023-09-27 14:13:11 +02:00
Erik Montnemery
f232ddb85e Bump py-dormakaba-dkey to 1.0.5 (#100992) 2023-09-27 13:57:28 +02:00
Jan-Philipp Benecke
96151e7faa Use local time instead of UTC time as default backup filenames (#100959)
Use local time instead of UTC for the backup name
2023-09-27 13:32:30 +02:00
Robert Svensson
01b5854968 Rework UniFi websocket (#100614)
* Rework websocket management

* remove unnecessary fixture

* Remove controller from mock_unifi_websocket

* Mock api.login in reconnect method

* Remove unnecessary edits

* Minor clean up

* Bump aiounifi to v63

* Wait on task cancellation
2023-09-27 10:56:24 +02:00
Jan-Philipp Benecke
134c005168 Add typing to poolsense (#100984) 2023-09-27 10:14:51 +02:00
G Johansson
43954d660b Add trigger weather template (#100824)
* Add trigger weather template

* Add tests

* mod dataclass

* Remove legacy forecast

* Fix test failure

* sorting

* add hourly test

* Add tests

* Add and fix tests

* Improve tests

---------

Co-authored-by: Erik <erik@montnemery.com>
2023-09-27 10:11:57 +02:00
Joost Lekkerkerker
fd53e116bb Add config flow to color extractor (#100862) 2023-09-27 10:11:42 +02:00
Jan Bouwhuis
0f38cd5794 Allow to reset an mqtt lock to an unknown state (#100985) 2023-09-27 09:50:01 +02:00
Joost Lekkerkerker
d2bcf88bbf Set device name as entity name for Comelit lights (#100986)
Fix entity name for Comelit lights
2023-09-27 09:39:57 +02:00
Marty Sun
4788dd2905 Add "start_irrigation" service for Yardian (#100257)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-09-27 08:59:15 +02:00
Simone Chemelli
d70308ae9f Add cover support to Comelit (#100904)
* add cover support to Comelit

* coveragerc

* Update homeassistant/components/comelit/cover.py

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* Update homeassistant/components/comelit/cover.py

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* Update homeassistant/components/comelit/cover.py

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-09-27 08:56:38 +02:00
Simone Chemelli
db5943ad6d Improve Comelit login with PIN (#100860)
* improve login

* library bump
2023-09-27 08:52:46 +02:00
Franck Nijhof
0afb060c24 Merge branch 'master' into dev 2023-09-27 08:51:27 +02:00
Joost Lekkerkerker
e5567c09b9 Deprecate Withings YAML (#100967) 2023-09-27 08:33:43 +02:00
Raman Gupta
70e3da207a Automatically enable/disable zwave_js server logging in lib (#100837)
* Bump zwave-js-server-python to 0.52.0

* Add WS command to enabled zwave_js server logging in lib

* enable and disable server logging automatically

* fix conditionals

* fix tests

* Add logging

* small tweaks

* Add logger as a dependency

* fix test

* Prepare for movement of event constant

* Add constant so tests pass
2023-09-27 01:17:52 -04:00
Raman Gupta
067b94899f Move EVENT_LOGGING_CHANGED to constants (#100974)
* Move EVENT_LOGGING_CHANGED to constants

* fix test

* remove logger as dependency for bluetooth and fix test
2023-09-27 01:06:14 -04:00
Jan-Philipp Benecke
009349acf0 Move poolsense base entity to its own file (#100981) 2023-09-27 07:04:20 +02:00
puddly
4e4d4992bf Bump ZHA dependencies (#100979) 2023-09-26 23:39:07 -05:00
TheJulianJES
93e2d4b74c Bump zha-quirks to 0.0.104 (#100975) 2023-09-26 23:20:23 -04:00
Michael Hansen
af8367a8c6 Send Wyoming Detect message during wake word detection (#100968)
* Send Detect message with desired wake word

* Add tests

* Fix test
2023-09-26 19:24:02 -05:00
Bram Kragten
9b574fd2c9 Update frontend to 20230926.0 (#100969) 2023-09-26 19:24:42 -04:00
Raman Gupta
65f307fe9c Add endpoint to zwave_js_notification event (#100951) 2023-09-26 18:48:59 -04:00
Michael Hansen
8a9b2f4515 Bump to webrtc-noise-gain 1.2.1 for 32-bit builds (#100942)
* Bump to 1.2.0 for 32-bit builds

* Bugfix with 1.2.1
2023-09-26 17:14:48 -05:00
Simone Chemelli
b617451a25 Add button platform to Vodafone Station (#100941)
* button platform initial commit

* fix is_suitable

* cleanup

* coveragerc

* add translations

* remove redundant key
2023-09-27 00:09:42 +02:00
Steven Looman
ad17f1622c Bump async-upnp-client to 0.36.1 (#100961) 2023-09-26 16:32:37 -05:00
Jan-Philipp Benecke
eab428f0e2 Move poolsense coordinator to its own file (#100964) 2023-09-26 23:28:25 +02:00
Jesse Hills
4c21aa18db Add audio_settings for pipeline from ESPHome device (#100894)
* Add audio_settings for pipeline from ESPHome device

* ruff fixes

* Bump aioesphomeapi 17.0.0

* Mypy

* Fix tests

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-09-26 16:27:26 -05:00
Michael Hammer
f899e5159b KNX: Provide project data and parser version via websocket (#100676)
* feat(knxproject-explore): providing knxproject via websocket, also xknxproject version in info mesage

* feat(knxproject-explore): adding test case

* reverted back adding of xknxproject version

* fix(): Enriching get project test case to check against FIXTURE

* feat(knxproject-explore): providing knxproject via websocket, also xknxproject version in info mesage

* feat(knxproject-explore): adding test case

* reverted back adding of xknxproject version

* fix(): Enriching get project test case to check against FIXTURE
2023-09-26 23:17:37 +02:00
Raman Gupta
176f5dc2d6 Bump zwave-js-server-python to 0.52.0 (#100833)
* Bump zwave-js-server-python to 0.52.0

* remove old function

* fix tests
2023-09-26 17:05:54 -04:00
Jan Bouwhuis
59a26010ba Cleanup redundant mqtt entity constructors (#100939)
* Remove redundant mqtt entity constructors

* Remove unrelated change

* Follow up comment

* Revert changes to mqtt update platform

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2023-09-26 23:03:11 +02:00
Jan-Philipp Benecke
d387308f3c Move motion blinds coordinator to its own file (#100952) 2023-09-26 22:50:46 +02:00
Jan Bouwhuis
8ec11910af Allow discovery config update mqtt update entities (#100957) 2023-09-26 15:21:27 -05:00
Joost Lekkerkerker
0f95de997f Support cloudhooks in Withings (#100916)
* Support cloudhooks in Withings

* Support cloudhooks in Withings

* Support cloudhooks in Withings

* Remove strings
2023-09-26 21:52:18 +02:00
Luke Lashley
42b006a108 Update MyQ to use python-myq 3.1.9 (#100949) 2023-09-26 14:48:36 -05:00
Erik Montnemery
b281fa17fc Simplify wake_word/info + improve test coverage (#100902)
* Simplify wake_word/info + improve test coverage

* Fix test

* Revert unrelated changes
2023-09-26 14:07:27 -05:00
Edouard Lafargue
4028596977 Add Medcom Bluetooth integration (#100289)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-09-26 13:41:34 -05:00
Simone Chemelli
60dd5f1d50 Bump aiovodafone to 0.3.1 (#100944) 2023-09-26 20:27:34 +02:00
Erik Montnemery
a9bcfe5700 Abort wake word detection when assist pipeline is modified (#100918) 2023-09-26 20:24:55 +02:00
Jan Bouwhuis
9254eea9e2 Remove unused attribute for MQTT lawn_mower (#100946)
Remove unused attributes for MQTT lawn_mower
2023-09-26 20:18:52 +02:00
Simone Chemelli
e18ff03244 Improve Vodafone Station setup dialog messages (#100937) 2023-09-26 20:16:50 +02:00
Jan Bouwhuis
4d7e3d2b0f Remove redundant initial assigment for mqtt siren (#100945) 2023-09-26 20:07:54 +02:00
Olen
e921e4a662 Move fetching of sw_version for Twinkly (#100286) 2023-09-26 20:04:17 +02:00
Joost Lekkerkerker
c7e4604cfd Call async added to hass super in Airvisual (#100449) 2023-09-26 20:03:44 +02:00
Jan-Philipp Benecke
d94b09655b Use snapshot assertion for wiz diagnostics test (#99154) 2023-09-26 20:03:22 +02:00
Joost Lekkerkerker
bdfdeb2bc0 Call async added to hass super in Risco (#100444) 2023-09-26 20:02:00 +02:00
Joost Lekkerkerker
ae7ede1253 Call async added to hass super in Smart Meter Texas (#100445) 2023-09-26 20:01:33 +02:00
Joost Lekkerkerker
9be5005a70 Use automatic title during config flow setup in Aurora (#99199) 2023-09-26 20:00:23 +02:00
Joost Lekkerkerker
bc665a1368 Remove setting name in AnthemAV config flow (#99148) 2023-09-26 19:58:47 +02:00
Jan Bouwhuis
20a2e129fb Intialize mqtt lock in an unknown state in pessimistic mode (#100943)
Intialize mqtt lock as unknown in pessimistic mode
2023-09-26 19:53:45 +02:00
Erik Montnemery
734c4e8e32 Rename WakeWord.ww_id to WakeWord.id (#100903)
* Rename WakeWord.ww_id to WakeWord.wake_word_id

* Revert unrelated changes

* Rename to id

* Correct rebase
2023-09-26 19:12:16 +02:00
Joost Lekkerkerker
074eb966dd Add config flow to AfterShip (#100872)
* Add config flow to Aftership

* Add config flow to Aftership

* Fix schema

* Update homeassistant/components/aftership/strings.json

Co-authored-by: Robert Resch <robert@resch.dev>

* Fix feedback

---------

Co-authored-by: Robert Resch <robert@resch.dev>
2023-09-26 18:05:23 +02:00
Michael
18fad569e0 Add support to remove orphan devices in AVM FRITZ!SmartHome (#100739) 2023-09-26 18:01:01 +02:00
Bram Kragten
82fdd8313f Update frontend manifest for new icons (#100936) 2023-09-26 17:53:26 +02:00
Joost Lekkerkerker
59207be5f8 Add body_exists to MockRequest in aiohttp util (#100932)
* Add body_exists to MockRequest in aiohttp util

* Add body_exists to MockRequest in aiohttp util

* Add body_exists to MockRequest in aiohttp util
2023-09-26 17:52:29 +02:00
Rami Mosleh
785b46af22 Add re-auth flow to glances integration (#100929)
* Add reauth flow to glances integration.

* add reauth string

* add reauth strings
2023-09-26 17:46:12 +02:00
Erik Montnemery
c823e407fd Tweak test wake_word.test_init.test_detected_entity (#100910) 2023-09-26 10:42:08 -05:00
J. Nick Koston
6551e52225 Bump zeroconf to 0.115.0 (#100931) 2023-09-26 10:08:27 -05:00
J. Nick Koston
c9a55c7f84 Cache the latest short term stat id for each metadata_id on each run (#100535) 2023-09-26 09:57:59 -05:00
J. Nick Koston
4b39bf7e5b Small cleanup to isy994 extra_state_attributes (#100935) 2023-09-26 09:57:25 -05:00
Allen Porter
822251a642 Update fitbit client to use asyncio (#100933) 2023-09-26 07:50:42 -07:00
Erik Montnemery
bd40cbcb21 Tweak pipeline.multiply_volume (#100905) 2023-09-26 09:19:57 -05:00
Rami Mosleh
31e9ca0099 Handle authorization error in glances config flow (#100866)
* Handle authroization error in glances config flow

* Remove validate_input method and expections

* update tests
2023-09-26 14:51:04 +02:00
Joost Lekkerkerker
91bc65be9c Add entity translations to SRP Energy (#99011) 2023-09-26 14:47:19 +02:00
David Knowles
73cfe659ea Make Hydrawise compliant with new naming standards (#100921)
* Make Hydrawise compliant with new naming standards

* Update binary_sensor.py

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-09-26 14:34:43 +02:00
Álvaro Fernández Rojas
29da43b9a9 Bump aioairzone-cloud to 0.2.2 (#100915)
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2023-09-26 14:04:50 +02:00
steffenrapp
2165f0a538 Add missing input_button service translation (#100387) 2023-09-26 13:58:58 +02:00
Joost Lekkerkerker
4ffac3e7ed Cleanup Withings const import (#100914) 2023-09-26 13:16:37 +02:00
Marc Mueller
bd7a86a0a6 Remove async-timeout as core dependency (#100912) 2023-09-26 05:57:10 -05:00
Erik Montnemery
4df14b2625 Remove duplicated call to PipelineRun.end from PipelineInput.execute (#100909)
Remove duplicated call to PipelineRun.end from PipelineInput.execute
2023-09-26 12:38:25 +02:00
Dennis
e5a151c4c3 Add state classes to Tomorrowio sensors (#100692) 2023-09-26 12:33:39 +02:00
J. Nick Koston
667f4b1ca8 Mark Bluetooth scanner as not scanning when watchdog timeout is reached (#100738) 2023-09-26 05:29:46 -05:00
Marc Mueller
f837e6722c Update cryptography to 41.0.4 (#100911) 2023-09-26 05:27:56 -05:00
Joost Lekkerkerker
f21d924dd5 Add entity translations to Wallbox (#99021)
Co-authored-by: Robert Resch <robert@resch.dev>
2023-09-26 11:41:40 +02:00
Erik Montnemery
1e76d37cee Rename PipelineData.pipeline_runs to pipeline_debug (#100907) 2023-09-26 11:35:51 +02:00
Joost Lekkerkerker
b0a7e68984 Rename Withings coordinator file (#100899)
Rename common.py to coordinator.py
2023-09-26 10:59:45 +02:00
Maikel Punie
249e20f8e5 Bump pyduotecno to 2023.9.0 (#100900) 2023-09-26 10:57:13 +02:00
Joost Lekkerkerker
4f63c7934b Add coordinator to Withings (#100378)
* Add coordinator to Withings

* Add coordinator to Withings

* Fix tests

* Remove common files

* Fix tests

* Fix tests

* Rename to Entity

* Fix

* Rename webhook handler

* Fix

* Fix external url

* Update homeassistant/components/withings/entity.py

Co-authored-by: Luke Lashley <conway220@gmail.com>

* Update homeassistant/components/withings/entity.py

Co-authored-by: Luke Lashley <conway220@gmail.com>

* Update homeassistant/components/withings/entity.py

Co-authored-by: Luke Lashley <conway220@gmail.com>

* Update homeassistant/components/withings/entity.py

Co-authored-by: Luke Lashley <conway220@gmail.com>

* fix imports

* Simplify

* Simplify

* Fix feedback

* Test if this makes changes clearer

* Test if this makes changes clearer

* Fix tests

* Remove name

* Fix feedback

---------

Co-authored-by: Luke Lashley <conway220@gmail.com>
2023-09-26 09:17:11 +02:00
David Knowles
8ba6fd7935 Add device info to Hydrawise (#100828)
* Add device info to Hydrawise

* Apply suggestions from code review

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* Remove _attr_has_entity_name

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-09-26 09:15:20 +02:00
G Johansson
7b1b189f3e Add date range to Workday (#96255) 2023-09-26 08:21:36 +02:00
Jan-Philipp Benecke
9c1944f830 Enable strict typing in london underground (#100563)
* Enable strict typing in london underground

* Change typing from Any

* Remove redundant cast

* Change from Mapping to dict
2023-09-26 08:13:59 +02:00
Paulus Schoutsen
c5c5d9ed0c Allow fetching wake word entity info (#100893) 2023-09-25 21:33:04 -05:00
Allen Porter
fa2d77407a Add Rain Bird irrigation calendar (#87604)
* Initial version of a calendar for the rainbird integration

* Improve calendar support

* Revert changes to test fixtures

* Address ruff error

* Fix background task scheduling

* Use pytest.mark.freezetime to move to test setup

* Address PR feedback

* Make refresh a member

* Merge rainbird and calendar changes

* Increase test coverage

* Readability improvements

* Simplify timezone handling
2023-09-25 20:27:38 -04:00
Allen Porter
18f29993c5 Simplify fitbit unit system and conversions (#100825)
* Simplify fitbit unit conversions

* Use enum values in unit system schema

* Use fitbit unit system enums
2023-09-25 20:08:59 -04:00
Michael Hansen
785618909a Use webrtc-noise-gain for audio enhancement in Assist pipelines (#100698)
* Use webrtc-noise-gain instead of webrtcvad package

* Switching to ProcessedAudioChunk

* Refactor VAD and fix tests

* Add vad no chunking test

* Add test that runs audio enhancements
2023-09-25 20:03:50 -04:00
Jan Bouwhuis
a4f7f3ba7e Make sure time is changed in mqtt event test (#100889) 2023-09-26 00:32:12 +02:00
Jc2k
9fe6cd61df Bump aiohomekit to 3.0.5 (#100886) 2023-09-25 23:08:38 +01:00
Jc2k
cae19431d1 Simplify homekit_controller tests with snapshots (#100885) 2023-09-25 16:26:27 -05:00
Jan Bouwhuis
c5b32d6307 Add doorbell event to google_assistant (#97123)
* First attempt async_report_state_all

* Move notificationSupportedByAgent to SYNC response

* Make notificationSupportedByAgent conditional

* Add generic sync_options method

* Report event

* Add event_type as ID

* User UUID, imlement query_notifications

* Refactor query_notifications

* Add test

* MyPy

* Unreachable code

* Tweak

* Correct notification message

* Timestamp was wrong unit, it should be in seconds
* Can only allow doorbell class, since it's the only type

* Fix test

* Remove unrelated changes - improve coverage

* Additional tests

---------

Co-authored-by: Joakim Plate <elupus@ecce.se>
2023-09-25 23:20:02 +02:00
J. Nick Koston
6387263007 Bump async-upnp-client to 0.36.0 (#100881) 2023-09-25 16:19:40 -05:00
J. Nick Koston
d5c22bec82 Bump zeroconf to 0.114.0 (#100880) 2023-09-25 16:19:24 -05:00
J. Nick Koston
dbdc513aa5 Bump dbus-fast to 2.10.0 (#100879) 2023-09-25 16:19:03 -05:00
Joost Lekkerkerker
15f40f2c5a Bump yt-dlp to 2023.9.24 (#100884) 2023-09-25 23:06:48 +02:00
Jan Bouwhuis
90bf20c6f8 Add type hints for intent_script integration (#99393)
* Add type hints for intent_script integration

* Correct 2nd typo

* omit total=False as all options are set
2023-09-25 23:01:53 +02:00
Jan Bouwhuis
60b8775f4a Avoid redundant calls to async_write_ha_state in mqtt siren (#100813)
* Avoid redundant calls to async_write_ha_state

* Add comment
2023-09-25 22:36:13 +02:00
Jan-Philipp Benecke
2eefd21dcc Parametrize more co2signal config flow tests (#100882)
* Clean up co2signal tests

* Some more clean up

* Use named parameter ids of parametrize
2023-09-25 22:21:40 +02:00
Jan Bouwhuis
a242a1c107 Add tests for mqtt image (#100793)
* Rework mqtt image writing state

* Revert mixin changes, add attr

* Revert code changes
2023-09-25 22:20:32 +02:00
Jan Bouwhuis
7258bc6457 Avoid redundant calls to async_write_ha_state in mqtt vacuum (#100799)
* Avoid redundant calls to async_write_ha_state

* Add comment

* Rephrase
2023-09-25 22:17:29 +02:00
J. Nick Koston
969d6b852e Bump led-ble to 1.0.1 (#100873) 2023-09-25 14:34:02 -05:00
Jan-Philipp Benecke
b9a3863645 Handle json decode exception in co2signal (#100857)
* Handle json decode exception in co2signal

* Update homeassistant/components/co2signal/coordinator.py

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* Fix import

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-09-25 21:21:01 +02:00
Jan Bouwhuis
ea1108503d Rework and fix mqtt siren writing state and attributes (#100871)
Rework mqtt siren writing state and attributes
2023-09-25 21:08:14 +02:00
Erik Montnemery
d76c5ed351 Use wake word settings in assist pipeline runs (#100864) 2023-09-25 12:58:10 -04:00
Marc Mueller
11e8bf0b9c Update types packages (#100850) 2023-09-25 18:53:22 +02:00
Jan Bouwhuis
30c7e7fbdf Avoid redundant calls to async_ha_write_state mqtt update platform (#100819)
Avoid redundant calls to async_ha_write_state
2023-09-25 18:08:02 +02:00
Jan Bouwhuis
cd3d3b76a3 Avoid redundant calls to async_ha_write_state in mqtt text (#100816)
Avoid redundant calls to async_ha_write_state
2023-09-25 18:07:24 +02:00
Jan Bouwhuis
8d10cdce4e Avoid redundant calls to async_ha_write_state in mqtt switch (#100815)
Avoid redundant calls to async_ha_write_state
2023-09-25 18:06:19 +02:00
Jan Bouwhuis
33d45b3454 Avoid redundant calls to async_write_ha_state in mqtt select (#100809)
Avoid redundant calls to async_write_ha_state
2023-09-25 18:05:42 +02:00
Jan Bouwhuis
180f248370 Avoid redundant calls to async_write_ha_state in mqtt number (#100808)
Avoid redundant calls to async_write_ha_state
2023-09-25 18:05:14 +02:00
Jan Bouwhuis
98cc2e8098 Avoid redundant calls to async_write_ha_state in mqtt lock (#100802)
Avoid redundant calls to async_write_ha_state
2023-09-25 18:04:33 +02:00
Jan Bouwhuis
ce02cbefc9 Avoid redundant calls to async_write_ha_state in mqtt lawn_mower (#100795)
Avoid redundant calls to async_write_ha_state
2023-09-25 18:03:52 +02:00
Jc2k
014fb61743 Fix missing device class on Velux Windows (#100863) 2023-09-25 11:03:11 -05:00
Jan Bouwhuis
002be37257 Rework and added tests for mqtt event (#100769)
Use write_state_on_attr_change and add tests
2023-09-25 18:02:17 +02:00
Jan Bouwhuis
f83a597603 Avoid redundant calls to async_write_ha_state in mqtt humidifier (#100781)
Avoid redundant calls to async_write_ha_state
2023-09-25 18:00:08 +02:00
Jan Bouwhuis
3da4815522 Avoid redundant calls to async_write_ha_state for mqtt fan (#100777)
Avoid redundant calls to async_write_ha_state
2023-09-25 17:59:33 +02:00
elmurato
84451e858e Simplify Minecraft Server SRV handling (#100726) 2023-09-25 17:56:26 +02:00
Erik Montnemery
803d24ad1a Rename wake_word.async_default_engine to wake_word.async_default_entity (#100855)
* Rename wake_word.async_default_engine to wake_word.async_default_entity

* tweak

* Some more rename

* Update tests
2023-09-25 17:08:37 +02:00
Jc2k
8ed0f05270 Add duration and sensitivity configuration for Eve Motion (#100861) 2023-09-25 09:52:27 -05:00
J. Nick Koston
4c255677c3 Add support for receivers to HomeKit (#100717) 2023-09-25 09:36:01 -05:00
J. Nick Koston
c1b9400833 Provide a better model for HomeKit service entries (#100848) 2023-09-25 09:34:53 -05:00
Jc2k
fb174f8063 Add valve position sensor for Eve Thermo (#100856) 2023-09-25 09:27:18 -05:00
Marc Mueller
dd302b291d Update pylint to 2.17.6 (#100849) 2023-09-25 09:14:07 -05:00
Erik Montnemery
5a3efb9149 Store wakeword settings in assist pipelines (#100847)
* Store wakeword settings in assist pipelines

* wakeword -> wake_word

* Remove unneeded variable
2023-09-25 16:07:26 +02:00
Jc2k
7334bc7c9b Add a select entity for homekit temperature display units (#100853) 2023-09-25 08:53:01 -05:00
Paulus Schoutsen
23b239ba77 Allow passing a wake word ID to detect wake word (#100832)
* Allow passing a wake word ID to detect wake word

* Do not inject default wake words in wake_word integration
2023-09-25 15:33:54 +02:00
Maikel Punie
8a44adb447 Add binary sensors for duotecno (#100844)
* Add binary sensors for duotecno

* Add comments
2023-09-25 13:34:39 +02:00
Kevin Worrel
77007ef091 Explicitly define ScreenLogic entity descriptions (#100173) 2023-09-25 06:26:26 -05:00
Alex Yao
2ae07096d2 Address late review on Life360 button (#100740) 2023-09-25 06:09:16 -05:00
Maikel Punie
19854ded16 Add duotecno climate (#99333)
* Add duotecno climate

* Add climate to .coveragerc

* Update homeassistant/components/duotecno/climate.py

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* Update homeassistant/components/duotecno/climate.py

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* more comments

* more comments

* more comments

* more comments

* fix typo

* Add translation key

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-09-25 12:52:51 +02:00
dependabot[bot]
2a443648fc Bump actions/checkout from 4.0.0 to 4.1.0 (#100836)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-25 11:01:12 +02:00
G Johansson
8d50be379c Create repairs in Workday if country or province is wrong (#98753)
* Repairs workday

* fix if not province exist

* Tests repairs

* Add tests

* Finalize tests

* Fix feedback

* simplify

* Less translations
2023-09-25 08:59:15 +02:00
G Johansson
c414e52b55 Change duration for timer.start service to only change running duration (#99628)
* Get back duration for timer

* running duration

* Mods

* Finish

* Fix start call

* remove restore idle

* running duration not None

* fix tests
2023-09-25 08:57:02 +02:00
J. Nick Koston
6b19602322 Bump aioesphomeapi to 16.0.6 (#100826)
changelog: https://github.com/esphome/aioesphomeapi/compare/v16.0.5...v16.0.6
2023-09-25 07:22:42 +02:00
Aaron Bach
7a6f337b01 Add missing SimpliSafe binary sensors (#100820) 2023-09-24 15:17:45 -06:00
Daniel Trnka
09729e8c46 Add Mysensors battery sensor (#100749)
* Move child related stuff to MySensorsChildEntity

* Dispatch signal for newly discovered MySensors node

* Create battery entity for each MySensors node

* Removed ATTR_BATTERY_LEVEL attribute from each node sensor

Attribute is redundant with newly introduced battery sensor entity

* Apply suggestions from code review

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-09-24 22:50:13 +02:00
Nathan Spencer
6d624ecb46 Bump pylitterbot to 2023.4.8 (#100811) 2023-09-24 22:46:43 +02:00
Allen Porter
66ebb479ea Rewrite fitbit sensor API response value parsing (#100782)
* Cleanup fitbit sensor API parsing

* Remove API code that is not used yet

* Remove dead code for battery levels

Small API parsing cleanup

* Address PR feedback

* Update homeassistant/components/fitbit/sensor.py

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

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-09-24 22:37:48 +02:00
Álvaro Fernández Rojas
5549f697cf Update AEMET-OpenData to v0.4.5 (#100818)
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2023-09-24 22:18:31 +02:00
J. Nick Koston
b9e8566608 Bump bluetooth-data-tools to 0.12.0 (#100794) 2023-09-24 20:29:29 +02:00
Jc2k
0c89f5953f Preserve private ble device broadcast interval when MAC address rotates (#100796) 2023-09-24 19:24:12 +01:00
Franck Nijhof
0cbd46592a 2023.9.3 (#100755) 2023-09-24 18:58:43 +02:00
Scott Colby
49715f300a Allow workday sensor to be configured without a country (#93048)
* Merge branch 'dev' into workday_without_country

* ruff

* remove province check

* Remove not needed test

* Mod config flow

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2023-09-24 16:13:45 +02:00
Simone Chemelli
49b8937bb3 Fix Comelit device info (#100587) 2023-09-24 14:54:10 +02:00
Simone Chemelli
b19a0fb2e9 Fix Comelit device info (#100587) 2023-09-24 14:51:56 +02:00
Franck Nijhof
0ae285c404 Update home-assistant/builder to 2023.09.0 (#100797) 2023-09-24 14:50:50 +02:00
G Johansson
f22ecf2a09 Add strong to fan mode for Sensibo (#100773) 2023-09-24 14:50:47 +02:00
David Knowles
0eac0bb3c5 Bump pyschlage to 2023.9.1 (#100760) 2023-09-24 14:50:43 +02:00
David Knowles
25cb835faf Bump pyschlage to 2023.9.0 (#99624) 2023-09-24 14:50:38 +02:00
Franck Nijhof
4fb482610b Update home-assistant/wheels to 2023.09.1 (#100758)
* Update home-assistant/wheels to 2023.09.0

* Update home-assistant/wheels to 2023.09.1
2023-09-24 14:48:24 +02:00
sdb9696
1779222062 Bump ring-doorbell to 0.7.3 (#100688)
Bump ring to 0.7.3
2023-09-24 14:48:20 +02:00
Allen Porter
caacdabd3d Fix rainbird unique id (#99704)
* Don't set a unique id for devices with no serial

* Add additional check for the same config entry host/port when there is no serial

* Update homeassistant/components/rainbird/config_flow.py

Co-authored-by: Robert Resch <robert@resch.dev>

* Update tests/components/rainbird/test_config_flow.py

Co-authored-by: Robert Resch <robert@resch.dev>

* Update tests/components/rainbird/test_config_flow.py

Co-authored-by: Robert Resch <robert@resch.dev>

---------

Co-authored-by: Robert Resch <robert@resch.dev>
2023-09-24 14:48:17 +02:00
Erik Montnemery
0dc21504f5 Remove support for excluding attributes in recorder platforms (#100679) 2023-09-24 14:45:06 +02:00
Franck Nijhof
1b1901cb6d Update home-assistant/builder to 2023.09.0 (#100797) 2023-09-24 14:36:02 +02:00
Jan Bouwhuis
edb28be964 Avoid redundant calls to async_write_ha_state in mqtt device_tracker (#100767)
Avoid redundant calls to async_ha_write_state
2023-09-24 12:52:13 +02:00
Jc2k
f0375eb97e Expose bluetooth availability tracking interval controls to integrations (#100774) 2023-09-24 10:45:25 +02:00
AtomBrake
eb020dd66c Update powerwall password description (#100389)
Update strings.json

Updated wording of how to find password on newer model gateways
2023-09-24 08:02:48 +02:00
Nathan Tilley
d453f3809c Clean up FAA Delays constants (#100788)
Move const to platform
2023-09-24 07:02:34 +02:00
Allen Porter
ae29ddee74 Add more test coverage for fitbit sensors (#100776) 2023-09-23 15:38:53 -07:00
Nathan Tilley
451c085587 Bump faadelays to 2023.8.0 (#100700)
* Update component to use new API version

* Revert new features, implement #95546, bump library

* Revert #95546 changes, remove NOTAM
2023-09-24 00:06:49 +02:00
David Knowles
f8a8fe760d Add config flow to Hydrawise (#95589)
* Add config flow to Hydrawise

* Raise an issue when a YAML config is detected

* Add a test for YAML import

* Add missing __init__.py

* Update CODEOWNERS

* Update requirements_test_all.txt

* Add config flow data to strings.json

* Hande scan_interval not being in YAML on import

* Fix requirements

* Update deprecation dates

* Update requirements_test_all.txt

* Changes from review

* Update homeassistant/components/hydrawise/__init__.py

Co-authored-by: G Johansson <goran.johansson@shiftit.se>

* Add already_configured to strings.json

* Add back setup_platform functions

* Apply suggestions from code review

Co-authored-by: G Johansson <goran.johansson@shiftit.se>

* Add back setup_platform

* Update requirements_test_all.txt

* Run black on hydrawise/*.py

* Add missing import of HOMEASSISTANT_DOMAIN

* Use more specific errors in config flow

* Add additional tests

* Update config flow to use pydrawise.legacy

* Re-work YAML deprecation issues

* Revert some changes to binary_sensor, as requested in review

* Changes requested during review

* Apply suggestions from code review

Co-authored-by: G Johansson <goran.johansson@shiftit.se>

* Remove unused STE_USER_DATA_SCHEMA

Co-authored-by: G Johansson <goran.johansson@shiftit.se>

* Update comment in setup_platform

* Re-work the config flow again

* Apply suggestions from code review

Co-authored-by: G Johansson <goran.johansson@shiftit.se>

* Update tests

* Add back the _default_watering_timer attribute

* Bump deprecation dates

* Update requirements_test_all.txt

* Update CODEOWNERS

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-09-24 00:03:07 +02:00
G Johansson
28dc17c0b3 Refactor Sensibo tests to use snapshot (#100775) 2023-09-23 23:37:02 +02:00
Allen Porter
8d8c7187d3 Fix rainbird unique id (#99704)
* Don't set a unique id for devices with no serial

* Add additional check for the same config entry host/port when there is no serial

* Update homeassistant/components/rainbird/config_flow.py

Co-authored-by: Robert Resch <robert@resch.dev>

* Update tests/components/rainbird/test_config_flow.py

Co-authored-by: Robert Resch <robert@resch.dev>

* Update tests/components/rainbird/test_config_flow.py

Co-authored-by: Robert Resch <robert@resch.dev>

---------

Co-authored-by: Robert Resch <robert@resch.dev>
2023-09-23 23:14:57 +02:00
G Johansson
1f66fc013c Add strong to fan mode for Sensibo (#100773) 2023-09-23 23:08:07 +02:00
G Johansson
06ade74711 Bump pysensibo 1.0.35 (#100245)
* Bump pysensibo 1.0.34

* 1.0.35

* Mod tests

* revert refactoring

* Fix tests
2023-09-23 23:01:08 +02:00
Joost Lekkerkerker
4a86892d82 Fix fitbit test code owner (#100772) 2023-09-23 13:49:08 -07:00
sdb9696
1fce60bd6f Bump ring-doorbell to 0.7.3 (#100688)
Bump ring to 0.7.3
2023-09-23 21:21:34 +02:00
Joost Lekkerkerker
ba6a92756a Call async added to hass super in Flo (#100453) 2023-09-23 12:05:53 -07:00
Allen Porter
781bc5b3bc Add tests for fitbit integration (#100765)
* Add tests for fitbit integration

* Update coveragerc

* Update test requirements
2023-09-23 12:04:44 -07:00
Joost Lekkerkerker
71aef4e95a Add media extractor tests (#100462)
* Add tests for media extractor

* Complete test coverage

* Fix test dep
2023-09-23 12:04:29 -07:00
David Knowles
a826f26642 Bump pyschlage to 2023.9.1 (#100760) 2023-09-23 20:37:57 +02:00
Allen Porter
d833c1a598 Add myself as a fitbit codeowner (#100766) 2023-09-23 20:32:52 +02:00
rappenze
a2730fb29d Fibaro finish separation of scenes (#100734) 2023-09-23 19:13:03 +02:00
Jan Bouwhuis
14b39c3bcf Correct some typo's in MQTT issue string (#100759) 2023-09-23 19:05:52 +02:00
Franck Nijhof
6383cafeb9 Update home-assistant/wheels to 2023.09.1 (#100758)
* Update home-assistant/wheels to 2023.09.0

* Update home-assistant/wheels to 2023.09.1
2023-09-23 17:38:21 +02:00
Maciej Bieniek
5c5dff034c Add event platform for Shelly gen1 devices (#100655)
* Initial commit

* Use description.key

* Add translations

* Check event_types

* Rename input_id to channel

* Fix removeal confition

* Add tests

* Sort classes and consts

* Use ShellyBlockEntity class

* Update tests

* Update homeassistant/components/shelly/event.py

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

---------

Co-authored-by: Shay Levy <levyshay1@gmail.com>
2023-09-23 16:03:57 +02:00
Franck Nijhof
527c7b21fd Bumped version to 2023.9.3 2023-09-23 13:47:05 +02:00
G Johansson
ce8062041f Fix weather template forecast attributes (#100748) 2023-09-23 13:46:00 +02:00
Michael Hansen
862a26afad Bump intents to 2023.9.22 (#100737) 2023-09-23 13:45:57 +02:00
puddly
c07a112601 Bump ZHA dependencies (#100732) 2023-09-23 13:45:53 +02:00
Erik Montnemery
88f379d08f Fix handling of unit system change in sensor (#100715) 2023-09-23 13:45:50 +02:00
Simone Chemelli
bb8850e8cf Bump aiocomelit to 0.0.8 (#100714)
* Bump aiocomelit to 0.0.8

* fix import

* fix tests
2023-09-23 13:45:47 +02:00
Jan Bouwhuis
556e40add5 Fix mqtt light rgbww update without state topic (#100707)
* Fix mqtt light rgbww update without state topic

* Add @callback decprator and correct mired conv
2023-09-23 13:45:44 +02:00
Raman Gupta
161e9d10bd Bump zwave-js-server-python to 0.51.3 (#100665) 2023-09-23 13:45:40 +02:00
Luke Lashley
fae063086c Bump python-roborock to 0.34.1 (#100652)
bump to 34.1
2023-09-23 13:45:37 +02:00
Robin Li
4f4f6c92d3 Fix ecobee aux_heat_off always returns to HEAT (#100630) 2023-09-23 13:45:34 +02:00
Raman Gupta
08f46ad61f Adjust hassfest.manifest based on config.action (#100577) 2023-09-23 13:45:31 +02:00
Luke Lashley
9d25ca33bb Fix Roborock send command service calling not being enum (#100574) 2023-09-23 13:45:25 +02:00
Teemu R
c059b1960e Fix xiaomi_miio button platform regression (#100527) 2023-09-23 13:45:22 +02:00
Markus Friedli
0a343037a7 Fix broken reconnect capability of fritzbox_callmonitor (#100526) 2023-09-23 13:45:18 +02:00
Joost Lekkerkerker
93081bcbea Only get meteo france alert coordinator if it exists (#100493)
Only get meteo france coordinator if it exists
2023-09-23 13:45:15 +02:00
J.P. Krauss
fcd9ae5a01 Fix error is measurement is not sent by AirNow (#100477) 2023-09-23 13:45:12 +02:00
Kevin Stillhammer
13028e50ea bump pywaze to 0.5.0 (#100456) 2023-09-23 13:45:08 +02:00
Robert Resch
74dbcae92f Fix timer reload description (#100433)
Fix copy/paste error of #100388
2023-09-23 13:45:05 +02:00
Matrix
d6c365014a Bump yolink-api to 0.3.1 (#100426) 2023-09-23 13:45:02 +02:00
Diogo Gomes
ba30e6fb1c Fix current condition in IPMA (#100412)
always use hourly forecast to retrieve current weather condition. fix #100393
2023-09-23 13:44:58 +02:00
steffenrapp
3e34fc3b82 Add missing timer service translation (#100388) 2023-09-23 13:44:55 +02:00
starkillerOG
e1ab0fe295 Bump reolink-aio to 0.7.10 (#100376) 2023-09-23 13:44:52 +02:00
starkillerOG
66a1522d88 Try Reolink ONVIF long polling if ONVIF push not supported (#100375) 2023-09-23 13:44:48 +02:00
Ståle Storø Hauknes
50a41f516d Fix Airthings ble migration (#100362)
* Import Platform for tests

* Migration bugfix

* Store new unique id as a variable in tests

* Add comments to tests
2023-09-23 13:44:45 +02:00
Guido Schmitz
94ef5f751f Fix timeout issue in devolo_home_network (#100350) 2023-09-23 13:44:41 +02:00
Joakim Plate
4d1ca93973 Remove _next_refresh variable in update coordinator (#100323)
* Remove _next_refresh variable

* Adjust tomorrowio
2023-09-23 13:43:56 +02:00
Daniel Hjelseth Høyer
57cfd2ef03 Update Mill library to 0.11.5, handle rate limiting (#100315) 2023-09-23 13:42:58 +02:00
J. Nick Koston
66dbcc04eb Bump yalexs to 1.9.0 (#100305) 2023-09-23 13:40:34 +02:00
J. Nick Koston
fed7fc9597 Bump yalexs-ble to 2.3.0 (#100007) 2023-09-23 13:40:11 +02:00
Charles Garwood
ef0d8da4ce Bump pyenphase to 1.11.4 (#100288) 2023-09-23 13:37:26 +02:00
Erik Montnemery
29ba5a4292 Future proof assist_pipeline.Pipeline (#100277) 2023-09-23 13:37:23 +02:00
Aarni Koskela
9e0d23f9a8 Bump sensirion-ble to 0.1.1 (#100271)
Bump to sensirion-ble==0.1.1

Fixes akx/sensirion-ble#6

Refs https://github.com/home-assistant/core/issues/93678#issuecomment-1694522112
2023-09-23 13:37:19 +02:00
Charles Garwood
9ec6e63384 Bump pyenphase to 1.11.3 (#100255) 2023-09-23 13:37:16 +02:00
Charles Garwood
daf21d677a Bump pyenphase to 1.11.2 (#100249)
* Bump pyenphase to 1.11.1

* Apply suggestions from code review

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-09-23 13:37:13 +02:00
Luke Lashley
64d5993434 Fix incorrect off peak translation key for Roborock (#100246)
fix incorrect translation key
2023-09-23 13:37:09 +02:00
starkillerOG
c9bee8233e Bump pynetgear to 0.10.10 (#100242) 2023-09-23 13:37:06 +02:00
Luke Lashley
094666005e Bump python-roborock to 0.34.0 (#100236) 2023-09-23 13:37:03 +02:00
starkillerOG
d2b5ffc9fc Netgear catch no info error (#100212) 2023-09-23 13:37:00 +02:00
Diogo Gomes
f50d47121e Always update unit of measurement of the utility_meter on state change (#99102) 2023-09-23 13:36:51 +02:00
G Johansson
173b70c850 Fix weather template forecast attributes (#100748) 2023-09-23 13:30:11 +02:00
Erik Montnemery
7a1ee98bb6 Fix handling of unit system change in sensor (#100715) 2023-09-23 13:28:14 +02:00
Shay Levy
439ca60cb6 Fix Shelly Gen2 event get input name method (#100733) 2023-09-23 12:45:41 +03:00
puddly
44fd60bd53 Bump ZHA dependencies (#100732) 2023-09-23 09:53:56 +02:00
Kevin Worrel
a087ea8b3d Bump screenlogicpy to v0.9.1 (#100744) 2023-09-23 09:40:07 +02:00
Abílio Costa
2ef69d1504 Improve Idasen Desk "no devices found" message (#100742) 2023-09-23 09:37:03 +02:00
Michael Hansen
b0c9ff033e Bump intents to 2023.9.22 (#100737) 2023-09-23 02:29:00 +02:00
rappenze
ad3cd72323 Remove unneeded instance check (#100736) 2023-09-23 00:42:32 +02:00
Jan Bouwhuis
c6d62faff3 Avoid redundant calls to async_write_ha_state in mqtt cover (#100720)
Avoid redundant calls to async_write_ha_state
2023-09-22 22:47:07 +02:00
Simone Chemelli
55c6d41d41 Bump aiocomelit to 0.0.8 (#100714)
* Bump aiocomelit to 0.0.8

* fix import

* fix tests
2023-09-22 23:38:33 +03:00
Olen
debee28856 Only get state once for all August sensor-tests (#100721) 2023-09-22 21:31:17 +02:00
Simone Chemelli
964192d246 Bump aiovodafone to 0.3.0 (#100729) 2023-09-22 21:21:44 +02:00
Joost Lekkerkerker
76cc04e52b Remove obsolete methods in HVV departures (#100451)
* Call async added to hass super in HVV departures

* Remove obsolete methods
2023-09-22 16:55:07 +02:00
Olen
2a49b6ca7e Add more august actions (#100667) 2023-09-22 14:42:17 +02:00
starkillerOG
8474c25cf1 Reolink remove unneeded str() (#100718) 2023-09-22 14:20:34 +02:00
Jan Bouwhuis
4c65c92fb0 Use shorthand attrs for MQTT cover (#100710)
* User shorthand attrs for MQTT cover

* Cleanup constructor

* Cleanup constructor
2023-09-22 13:41:31 +02:00
Daniel Weeber
4133162053 Add device class to denonavr (#100711)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-09-22 13:39:32 +02:00
Jan Bouwhuis
5b422daf36 Avoid redundant calls to async_write_ha_state in MQTT light (#100690)
* Limit state writes for mqtt light

* Additional tests and review follow up
2023-09-22 13:32:30 +02:00
Jan Bouwhuis
87ae5add8a Fix mqtt light rgbww update without state topic (#100707)
* Fix mqtt light rgbww update without state topic

* Add @callback decprator and correct mired conv
2023-09-22 13:31:29 +02:00
Joost Lekkerkerker
d30a5f4d54 Move samsung tv device class outside of constructor (#100712) 2023-09-22 12:45:22 +02:00
Pedro Januário
794736b503 Add switch platform to ecoforest integration (#100708)
* add switch platform to ecoforest integration

* ignore switch.py from coverage

* rename mixin

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* update translations

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* remove translation key

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* move attr name to description

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* fix broken change

* use entity description action

* use lambda with awaitable

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-09-22 12:20:48 +02:00
Jan Bouwhuis
a66ad39c4e Assign color_mode for mqtt light as ColorMode (#100709) 2023-09-22 12:09:37 +02:00
Jan Bouwhuis
384adb1c87 Avoid redundant calls to async_write_ha_state in MQTT climate & water_heater (#100696)
Limit state writes for mqtt climate & water_heater
2023-09-22 11:22:57 +02:00
Jan Bouwhuis
1041610a70 Avoid redundant calls to async_write_ha_state in MQTT mqtt alarm_control_panel (#100691)
Limit state writes for mqtt alarm_control_panel
2023-09-22 11:22:09 +02:00
J. Nick Koston
1dadfcd52c Avoid polling in sun sensor entities (#100693) 2023-09-22 11:16:37 +02:00
Pedro Januário
86a692bb22 Add additional sensors to ecoforest integration (#100681)
* add ecoforest additional sensors

* add ecoforest additional sensors

* use StateType

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* use StateType

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* update cpu temp translation

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* use common translation

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* use common on translation

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* use common standby translation

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* update strings

* update strings

* import state type

* relabel preheating

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* add cpu temp disable by default

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-09-22 11:08:09 +02:00
Pedro Januário
cd30286913 Add number platform to ecoforest (#100694)
* add power number entity to ecoforest integration

* fix number.py header

* minor fixes

* change power to power level

* update comment for native value prop

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* exclude number.py from coverage

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-09-21 22:36:39 +02:00
Bouwe Westerdijk
5cf5f5b4cf Add missing step-differentiation for the Plugwise temperature_offset (#100654) 2023-09-21 19:31:53 +02:00
c0ffeeca7
f973d4cc26 ZHA multiprotocol detected message: add info (#100686) 2023-09-21 19:23:02 +02:00
Bouwe Westerdijk
a609df2914 Update plugwise to v0.33.0 (#100689) 2023-09-21 19:19:03 +02:00
jimmyd-be
e57156dd9c Add Renson button entity (#99494)
Co-authored-by: Robert Resch <robert@resch.dev>
2023-09-21 17:55:30 +02:00
Erik Montnemery
ab060b86d1 Remove async_process_integration_platform_for_component (#100680) 2023-09-21 17:06:41 +02:00
c0ffeeca7
1c7b3cb2d5 ZHA multiprotocol detected - fix typo (#100683) 2023-09-21 17:02:39 +02:00
Luke Lashley
e2bfa9f9cd Add last clean sensors to Roborock (#100661)
* Add water shortage binary sensor

* add last clean sensors

* fix tests

* fix tests again

* remove accidentally added binary sensor
2023-09-21 16:00:15 +02:00
Luke Lashley
6e0ab35f85 Add water shortage binary sensor (#100662) 2023-09-21 15:43:17 +02:00
Jan-Philipp Benecke
a08b74c550 Move coolmaster coordinator to its own file (#100425) 2023-09-21 15:20:58 +02:00
Pedro Januário
c170babba6 Add ecoforest integration (#100647)
* Add ecoforest integration

* fix file title

* remove host default from schema, hints will be given in the documentation

* moved input validation to async_step_user

* ensure we can receive device data while doing entry setup

* remove unecessary check before unique id is set

* added shorter syntax for async create entry

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* use variable to set unique id

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* Use _attr_has_entity_name from base entity

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* remove unecessary comments in coordinator

* use shorthand for device information

* remove empty objects from manifest

* remove unecessary flag

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* use _async_abort_entries_match to ensure device is not duplicated

* remove unecessary host attr

* fixed coordinator host attr to be used by entities to identify device

* remove unecessary assert

* use default device class temperature trasnlation key

* reuse base entity description

* use device serial number as identifier

* remove unused code

* Improve logging message

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* Remove unused errors

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* Raise a generic update failed

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* use coordinator directly

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* No need to check for serial number

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* rename variable

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* use renamed variable

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* improve assertion

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* use serial number in entity unique id

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* raise config entry not ready on setup when error in connection

* improve test readability

* Improve python syntax

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* abort when device already configured with same serial number

* improve tests

* fix test name

* use coordinator data

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* improve asserts

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* fix ci

* improve error handling

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-09-21 15:18:55 +02:00
Erik Montnemery
df73850f56 Move definition of attributes excluded from history to entity classes (#100430)
* Move definition of attributes excluded from history to entity classes

* Revert change which should be in a follow-up PR

* Fix sun unrecorded attributes

* Fix input_select unrecorded attributes
2023-09-21 15:02:47 +02:00
Jan Bouwhuis
aed3ba3acd Avoid redundant calls to async_ha_write_state in MQTT (binary) sensor (#100438)
* Only call `async_ha_write_state` on changes.

* Make helper class

* Use UndefinedType

* Remove del

* Integrate monitor into MqttEntity

* Track extra state attributes and availability

* Add `__slots__`

* Add monitor to MqttAttributes and MqttAvailability

* Write out loop

* Add test

* Make common test and parameterize

* Add test for last_reset attribute

* MqttMonitorEntity base class

* Rename attr and update docstr `track` method.

* correction doct

* Implement as a decorator

* Move tracking functions into decorator

* Rename decorator

* Follow up comment
2023-09-21 13:33:26 +02:00
Fletcher
11c4c37cf9 Add Slack thread/reply support (#93384) 2023-09-21 11:06:55 +02:00
Robert Resch
e4742c04f2 Fix missspelled package names (#100670) 2023-09-21 10:57:23 +02:00
Mike
15caf2ac03 Add support for Levoit Vital200s purifier (#100613) 2023-09-21 10:53:18 +02:00
Jan-Philipp Benecke
715d8dcb98 Add test to london underground (#100562)
Co-authored-by: Robert Resch <robert@resch.dev>
2023-09-21 10:44:32 +02:00
J. Nick Koston
59daceafd2 Avoid calling extract_stack in system_log since it does blocking I/O (#100455) 2023-09-21 09:48:41 +02:00
elmurato
f2fc62138a Clean-up Minecraft Server constants (#100666) 2023-09-21 08:40:07 +02:00
Raman Gupta
9f56aec267 Bump zwave-js-server-python to 0.51.3 (#100665) 2023-09-21 02:13:48 -04:00
anonion
5c1a3998ae Add Enmax virtual integration to Opower (#100503)
* add enmax virtual integration supported by opower

* update integrations.json
2023-09-21 06:59:05 +02:00
Luke Lashley
ed3cdca454 Bump python-roborock to 0.34.1 (#100652)
bump to 34.1
2023-09-20 22:02:00 +02:00
dependabot[bot]
0525454738 Bump tibdex/github-app-token from 2.0.0 to 2.1.0 (#100632)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-20 20:47:38 +02:00
Andrei Demian
6752af8f27 Bump ismartgate to 5.0.1 (#100636) 2023-09-20 19:44:11 +02:00
J. Nick Koston
a03ad87cfb Avoid ConfigEntry lookups in hass.config_entries.async_entries for domain index (#100598) 2023-09-20 18:43:15 +02:00
J. Nick Koston
1f0c9a48d2 Update doorbird zeroconf checks to use stdlib ipaddress methods (#100623) 2023-09-20 18:35:55 +02:00
Erik Montnemery
fbcc5318c5 Move attributes to be excluded from recording to entity classes (#100239)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-09-20 18:09:12 +02:00
J. Nick Koston
ec5675ff4b Fix hkid matching in homekit_controller when zeroconf value is not upper case (#100641) 2023-09-20 17:37:13 +02:00
Luke Lashley
77001b26de Add second test device for Roborock (#100565) 2023-09-20 17:17:32 +02:00
J. Nick Koston
6f8734167f Bump SQLAlchemy to 2.0.21 (#99745) 2023-09-20 16:19:53 +02:00
J. Nick Koston
8b5129a7d9 Bump dbus-fast to 2.9.0 (#100638) 2023-09-20 13:58:34 +02:00
Robin Li
7014ed3453 Fix ecobee aux_heat_off always returns to HEAT (#100630) 2023-09-20 13:53:05 +02:00
J. Nick Koston
d675825b5a Avoid double lookups with data_entry_flow indices (#100627) 2023-09-20 11:55:51 +02:00
J. Nick Koston
06c7f0959c Update dhcp to use stdlib ipaddress methods (#100625) 2023-09-20 11:54:24 +02:00
J. Nick Koston
33f748493e Update enphase_envoy zeroconf checks to use stdlib ipaddress methods (#100624) 2023-09-20 09:49:16 +02:00
Jan-Philipp Benecke
7af62c35f5 Move faa_delays coordinator to its own file (#100548) 2023-09-20 08:59:49 +02:00
Jan-Philipp Benecke
03af467918 Move renson coordinator to its own file (#100610) 2023-09-20 08:47:20 +02:00
Abílio Costa
bd9bab000e Add integration for IKEA Idasen Desk (#99173)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-09-20 02:44:35 +02:00
J. Nick Koston
6c095a963d Switch config flows use newer zeroconf methods to check IP Addresses (#100568) 2023-09-20 01:08:58 +02:00
J. Nick Koston
1d5905b591 Use is for UNDEFINED check in async_update_entry (#100599) 2023-09-20 01:08:32 +02:00
elmurato
f1a70189ac Clean-up Minecraft Server tests (#100615)
Remove patching of getmac, fix typo
2023-09-19 22:14:21 +02:00
Maciej Bieniek
c099ec19f2 Add missing translations for Shelly event type states (#100608)
Add missing translations for event type
2023-09-19 20:30:18 +02:00
J. Nick Koston
0eca433004 Update zeroconf discovery to use IPAddress objects to avoid conversions (#100567) 2023-09-19 18:58:46 +02:00
Joost Lekkerkerker
8dd3d6f989 Call async added to hass super in Livisi (#100446) 2023-09-19 17:40:55 +02:00
Raman Gupta
2ad0fd1ce1 Adjust hassfest.manifest based on config.action (#100577) 2023-09-19 17:30:38 +02:00
Teemu R
7c4f08e6b3 Fix xiaomi_miio button platform regression (#100527) 2023-09-19 17:15:43 +02:00
Ian
c3f74ae022 Add config-flow to NextBus (#92149) 2023-09-19 17:10:29 +02:00
Joost Lekkerkerker
d9227a7e3d Add Spotify code owner (#100597) 2023-09-19 16:43:00 +02:00
Luke Lashley
ea78f419a9 Fix Roborock send command service calling not being enum (#100574) 2023-09-19 16:35:23 +02:00
elmurato
a2a62839bc Add DataUpdateCoordinator to Minecraft Server (#100075) 2023-09-19 15:59:58 +02:00
Jan-Philipp Benecke
2b8690d8bc Remove platform const in co2signal coordinator (#100592) 2023-09-19 12:44:09 +02:00
Joost Lekkerkerker
11a90016d0 Change Hue zigbee connectivity sensor into an enum (#98632) 2023-09-19 12:08:13 +02:00
Joost Lekkerkerker
f01c71e514 Fix lyric feedback (#100586) 2023-09-19 11:40:05 +02:00
Jan-Philipp Benecke
cf6eddee74 Move uptimerobot coordinator to its own file (#100558)
* Move uptimerobot coordinator to its own file

* Fix import of coordinator in platforms
2023-09-19 09:45:56 +02:00
Simone Chemelli
2722e5ddaa Add Vodafone Station sensor platform (#99948)
* Vodafone: add sensor platform

* fix for model VOX30 v1

* fix, cleanup, 2 new sensors

* apply review comments

* apply last review comment
2023-09-18 21:31:04 +02:00
Marc Mueller
37288d7788 Add pylint plugin to check for calls to base implementation (#100432) 2023-09-18 13:39:36 -05:00
rappenze
ddd62a8f63 Fibaro streamline hass.data entry (#100547)
* Fibaro streamline hass.data entry

* Fix tests
2023-09-18 20:22:23 +02:00
J. Nick Koston
fa1a1715c9 Drop codeowner for LIFX (#100556) 2023-09-18 10:08:49 -05:00
J. Nick Koston
49d742ce31 Drop codeowner for Magic Home/flux_led (#100557) 2023-09-18 10:08:38 -05:00
Jan-Philipp Benecke
adf34bdf8b Set co2signal integration type to service (#100543) 2023-09-18 12:56:35 +02:00
Joost Lekkerkerker
ec6c374761 Clean up lyric sensor platform (#100495)
* Clean up lyric sensor platform

* Clean up lyric sensor platform

* Clean up lyric sensor platform

* Update homeassistant/components/lyric/sensor.py

Co-authored-by: Aidan Timson <aidan@timmo.dev>

* Update homeassistant/components/lyric/sensor.py

Co-authored-by: Aidan Timson <aidan@timmo.dev>

* Update homeassistant/components/lyric/sensor.py

Co-authored-by: Aidan Timson <aidan@timmo.dev>

* Update homeassistant/components/lyric/sensor.py

Co-authored-by: Aidan Timson <aidan@timmo.dev>

---------

Co-authored-by: Aidan Timson <aidan@timmo.dev>
2023-09-18 12:42:31 +02:00
jan iversen
6ac1305c64 Adjust codeowners in modbus (#100474) 2023-09-18 12:39:09 +02:00
Marc Mueller
306f39b053 Update pytest warnings filter (#100546) 2023-09-18 12:26:16 +02:00
Marc Mueller
08c4e82cf9 Update typing-extensions to 4.8.0 (#100545) 2023-09-18 11:58:47 +02:00
Jan-Philipp Benecke
dc2afb71ae Move co2signal coordinator to its own file (#100541)
* Move co2signal coordinator to its own file

* Fix import
2023-09-18 11:56:28 +02:00
steffenrapp
45c0dc6854 Add missing conversation service translation (#100308)
* Update services.yaml

* Update strings.json

* Update services.yaml

* Update strings.json

* Update strings.json

* fix translation keys

* Fix translation keys
2023-09-18 11:44:41 +02:00
Ville Skyttä
902f997ee0 Fix google invalid token expiry test init for UTC offsets > 0 (#100533)
```
$ python3 -q
>>> import datetime, time
>>> time.tzname
('EET', 'EEST')
>>> datetime.datetime.max.timestamp()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: year 10000 is out of range
```
2023-09-18 12:39:43 +03:00
Marc Mueller
f41e3a2beb Remove duplicate mobile_app client fixture (#100530) 2023-09-18 10:52:43 +02:00
Glenn Waters
276d245409 Bump elkm1-lib to 2.2.6 (#100537) 2023-09-17 20:39:23 -05:00
Maciej Bieniek
f6243a1f79 Add event platform for Shelly gen2 devices (#99659)
* Add event platform for gen2 devices

* Add tests

* Add removal condition

* Simplify RpcEventDescription; fix availability

* Improve names and docstrings

* Improve the event entity name

* Use async_on_remove()

* Improve tests coverage

* Improve tests coverage

* Prefix the entity name with the device name in the old way

* Black

* Use DeviceInfo object
2023-09-18 00:38:08 +02:00
Marc Mueller
6acb182c38 Fix full black run condition [ci] (#100532) 2023-09-17 17:05:29 -05:00
starkillerOG
868afc037e Try Reolink ONVIF long polling if ONVIF push not supported (#100375) 2023-09-17 22:28:52 +02:00
Markus Friedli
dd1dc52994 Fix broken reconnect capability of fritzbox_callmonitor (#100526) 2023-09-17 20:00:09 +02:00
Ville Skyttä
2794ab1782 Fix huawei_lte current month up/download sensor error on delete (#100506)
Deleting one of them prematurely deleted the last reset item
subscription that is shared between the two.
2023-09-17 18:11:44 +02:00
tronikos
7aa02b8621 Bump opower to 0.0.34 (#100501) 2023-09-17 09:50:17 -05:00
Marc Mueller
48f9a38c74 Update numpy to 1.26.0 (#100512) 2023-09-17 09:49:21 -05:00
Dennis
ddeb2854aa Added device class to speedtestdotnet sensor entities. (#100500)
Added device class to sensor entities.
2023-09-16 15:40:16 -07:00
jan iversen
9931f45532 Deprecate modbus parameter retry_on_empty (#100292) 2023-09-16 21:14:52 +02:00
Jieyu Yan
81af45347f Add fan modes in Lyric integration (#100420)
* Add fan modes in Lyric integration

* add fan_mode only when available

* move supported_features to init

* mapped fan_modes to built-in modes

* log KeyError for fan_modes
2023-09-16 20:58:00 +02:00
Joost Lekkerkerker
f715f5c76f Only get meteo france alert coordinator if it exists (#100493)
Only get meteo france coordinator if it exists
2023-09-16 18:48:41 +02:00
J.P. Krauss
01ecef7f05 Fix error is measurement is not sent by AirNow (#100477) 2023-09-16 18:16:15 +02:00
Kevin
c8265a86b2 Bump python-androidtv to 0.0.72 (#100441)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-09-16 10:12:00 -05:00
J. Nick Koston
8a98a0e830 Avoid writing unifiprotect state when nothing has changed (#100439) 2023-09-16 09:57:43 -05:00
Joost Lekkerkerker
7b71d27637 Pass function correctly to Withings API (#100391)
* Pass function correctly to Withings API

* Add more typing
2023-09-16 16:20:24 +02:00
Ravaka Razafimanantsoa
f99dedfb42 Add switchbot cloud integration (#99607)
* Switches via API

* Using external library

* UT and checlist

* Updating file .coveragerc

* Update homeassistant/components/switchbot_via_api/switch.py

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

* Update homeassistant/components/switchbot_via_api/switch.py

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

* Update homeassistant/components/switchbot_via_api/switch.py

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

* Review fixes

* Apply suggestions from code review

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

* This base class shouldn't know about Remote

* Fixing suggestion

* Sometimes, the state from the API is not updated immediately

* Review changes

* Some review changes

* Review changes

* Review change: Adding type on commands

* Parameterizing some tests

* Review changes

* Updating .coveragerc

* Fixing error handling in coordinator

* Review changes

* Review changes

* Adding switchbot brand

* Apply suggestions from code review

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

* Review changes

* Adding strict typing

* Removing log in constructor

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2023-09-16 16:00:41 +02:00
jan iversen
568974fcc4 Modbus 100% test coverage (again) (#100482) 2023-09-16 14:00:22 +02:00
jan iversen
48dc81eff0 Simplify code, due to better error catching in modbus. (#100483) 2023-09-16 13:49:37 +02:00
Joost Lekkerkerker
30d604c851 Use central logger in Withings (#100406) 2023-09-16 13:46:11 +02:00
Jan-Philipp Benecke
16cc87bf45 Move flipr base entity to its own file (#100481)
* Move flipr base entity to its own file

* Add forgotten __init__.py
2023-09-16 11:55:49 +02:00
Jan-Philipp Benecke
b5c6e82374 Move co2signal models to their own file (#100478) 2023-09-16 11:49:49 +02:00
Jan-Philipp Benecke
57337b5cee Move flipr coordinator to its own file (#100467) 2023-09-16 11:19:49 +02:00
Jan-Philipp Benecke
024db6dadf Move cert_expiry coordinator to its own file (#100472)
* Move cert_expiry coordinator to its own file

* Add missing patched config flow test
2023-09-16 11:19:05 +02:00
Jan-Philipp Benecke
c504ca906d Move co2signal exceptions to their own file (#100473)
* Move co2signal exceptions to their own file

* Add myself as codeowner
2023-09-16 11:18:19 +02:00
Jan Bouwhuis
9747e0091f Use shorthand attrs for device_class zwave_js sensor (#100414)
* Use shorthand attrs zwave_js sensor

* Simplify
2023-09-16 10:13:27 +02:00
jan iversen
d25f45a957 Harden modbus against lib errors (#100469) 2023-09-16 09:57:55 +02:00
Joost Lekkerkerker
a111988232 Make codespell ignore snapshots (#100463) 2023-09-15 20:39:14 +02:00
J. Nick Koston
a4e0444b95 Bump sense-energy to 0.12.2 (#100459) 2023-09-15 13:38:14 -05:00
Kevin Stillhammer
c9975852bb bump pywaze to 0.5.0 (#100456) 2023-09-15 19:03:04 +02:00
Matrix
06949b181f Bump yolink-api to 0.3.1 (#100426) 2023-09-15 17:20:30 +02:00
jan iversen
fd83f7d87f Add test for modbus CONF_DEVICE_ADDR (#100435) 2023-09-15 16:12:44 +02:00
Robert Resch
b329439fff Fix timer reload description (#100433)
Fix copy/paste error of #100388
2023-09-15 16:05:56 +02:00
jan iversen
9eb0b844bc Test VIRTUAL_COUNT parameter (#100434) 2023-09-15 15:02:24 +02:00
steffenrapp
b4c095e944 Add missing timer service translation (#100388) 2023-09-15 14:42:27 +02:00
Seth
5ac149a760 Remove state class from RainMachine TIMESTAMP sensors (#100400) 2023-09-15 14:33:17 +02:00
jan iversen
ec2364ef43 Add virtual_count == slave_count in modbus configuration (#100398)
* Add virtual_count as config parameter.

* Review (other PR) comments.

* Review.

* Review comment.
2023-09-15 14:00:02 +02:00
jan iversen
c173ebd11a Add device_address to modbus configuration (#100399) 2023-09-15 13:49:33 +02:00
Joost Lekkerkerker
1737b27dd4 Generate withings webhook ID in config flow (#100395) 2023-09-15 12:58:56 +02:00
Erik Montnemery
d1afcd773f Revert "Cache entity properties that are never expected to change in the base class" (#100422)
Revert "Cache entity properties that are never expected to change in the base class (#95315)"

This reverts commit 042776ebb8.
2023-09-15 11:25:24 +02:00
Jan-Philipp Benecke
7723a9b36b Move airtouch4 coordinator to its own file (#100424) 2023-09-15 10:04:41 +02:00
TJ Horner
a8013836e1 Bump apple_weatherkit to 1.0.3 (#100416) 2023-09-15 08:28:27 +02:00
Erik Montnemery
a70235046a Tweak datetime service schema (#100380) 2023-09-15 08:07:27 +02:00
Diogo Gomes
9470c71d49 Fix current condition in IPMA (#100412)
always use hourly forecast to retrieve current weather condition. fix #100393
2023-09-15 07:52:50 +02:00
Jan-Philipp Benecke
772ac9766b Move awair coordinators to their own file (#100411)
* Move awair coordinators to their file

* Add awair/coordinator.py to .coveragerc
2023-09-15 07:52:29 +02:00
J. Nick Koston
b68ceb3ce4 Use more shorthand attributes in hyperion (#100213)
* Use more shorthand attributes in hyperion

There are likely some more here, but I only did the safe ones

* Update homeassistant/components/hyperion/switch.py

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* Apply suggestions from code review

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-09-15 02:28:59 +00:00
J. Nick Koston
6a9c9ca735 Improve performance of mqtt_room (#100408) 2023-09-14 17:55:56 -05:00
J. Nick Koston
042776ebb8 Cache entity properties that are never expected to change in the base class (#95315) 2023-09-14 17:48:48 -05:00
Joakim Plate
5f20725fd5 Remove _next_refresh variable in update coordinator (#100323)
* Remove _next_refresh variable

* Adjust tomorrowio
2023-09-14 22:32:50 +02:00
J. Nick Koston
df74ed0d40 Bump bleak-retry-connector to 3.2.1 (#100377) 2023-09-14 15:13:15 -05:00
Jan Bouwhuis
23faa0882f Avoid multiline ternary use (#100381) 2023-09-14 22:10:28 +02:00
Joost Lekkerkerker
c34c4f8f03 Reload on Withings options flow update (#100397)
* Reload on Withings options flow update

* Remove reload from reauth
2023-09-14 21:54:49 +02:00
Jan-Philipp Benecke
157647dc44 Move solarlog coordinator to own file (#100402) 2023-09-14 21:52:21 +02:00
Joost Lekkerkerker
a62f16b4cc Remove obsolete strings from Withings (#100396) 2023-09-14 21:41:34 +02:00
starkillerOG
3f2a660dab Bump reolink-aio to 0.7.10 (#100376) 2023-09-14 21:24:23 +02:00
Robert Svensson
f909199125 Remove hard coded Icon from Unifi device scanner (#100401) 2023-09-14 20:13:46 +02:00
J. Nick Koston
1d4b731603 Bump zeroconf to 0.112.0 (#100386) 2023-09-14 12:40:47 -05:00
Jan Bouwhuis
6701a449bd Use shorthand attrs for tasmota (#100390) 2023-09-14 18:17:23 +02:00
Jan Bouwhuis
8b7061b634 Short handed device class for overkiz cover (#100394) 2023-09-14 11:10:31 -05:00
Jan Bouwhuis
89eec9990b Use shorthand device_type attr for plaato sensors (#100385) 2023-09-14 09:55:47 -05:00
jan iversen
d4a2927ebe Solve racing problem in modbus test (#100287)
* Test racing problem.

* review comment.

* Revert to approved state.

This reverts commit 983d9d68e8.
2023-09-14 16:03:32 +02:00
starkillerOG
7ea2087c45 Add Netgear entity translations (#100367)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-09-14 13:58:53 +02:00
Joost Lekkerkerker
6fc1407613 Extract Withings API specifics in own class (#100363)
* Extract Withings API specifics in own class

* Extract Withings API specifics in own class

* Ignore api test coverage

* fix feedback
2023-09-14 13:31:54 +02:00
Ståle Storø Hauknes
b858658516 Fix Airthings ble migration (#100362)
* Import Platform for tests

* Migration bugfix

* Store new unique id as a variable in tests

* Add comments to tests
2023-09-14 12:51:06 +02:00
Guido Schmitz
8a8f1aff83 Remove useless timeout guards in devolo_home_network (#100364) 2023-09-14 12:35:21 +02:00
Jan Rieger
f305661dd7 Change service set_location to use number input selectors (#100360) 2023-09-14 12:13:19 +02:00
starkillerOG
98c9edc00c Netgear cleanup (#99505)
Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-09-14 12:06:40 +02:00
Guido Schmitz
b84076d3d6 Fix timeout issue in devolo_home_network (#100350) 2023-09-14 10:28:45 +02:00
Franck Nijhof
b0f32a3547 Update apprise to 1.5.0 (#100351) 2023-09-14 10:10:31 +02:00
Erik Montnemery
4f58df1929 Drop useless passing of update_method to DataUpdateCoordinator (#100355) 2023-09-14 10:09:55 +02:00
Franck Nijhof
85fafcad11 Update awesomeversion to 23.8.0 (#100349) 2023-09-14 10:07:09 +02:00
Joost Lekkerkerker
4a48a92cba Use f-string instead of concatenation in Velux (#100353) 2023-09-14 10:06:43 +02:00
Jan Rieger
840d881c25 Add icon to GPSD (#100347) 2023-09-14 09:27:16 +02:00
Joost Lekkerkerker
923d945267 Use shorthand attributes in Smappee (#99837) 2023-09-14 09:25:21 +02:00
Marty Sun
6692a37f0d Add missing __init__.py file in yardian test folder (#100345) 2023-09-14 09:04:12 +02:00
J. Nick Koston
182976f5d3 Use more shorthand attributes in threshold binary_sensor (#100343) 2023-09-14 09:03:39 +02:00
J. Nick Koston
58bb624b24 Bump zeroconf to 0.111.0 (#100340) 2023-09-14 07:54:17 +02:00
mkmer
c265d3f3cc Late review for honeywell (#100299)
* Late review for honeywell

* Actually test same id different domain

* Update homeassistant/components/honeywell/climate.py

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

* Update climate.py

* Refactor dont_remove

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-09-14 06:22:28 +02:00
J. Nick Koston
547f32818c Make core States use cached_property (#100312)
Need to validate this is worth removing __slots__
2023-09-13 20:33:25 -04:00
J. Nick Koston
3cc9410a62 Bump grpcio to 1.58.0 (#100314)
* Bump grpcio to 1.58.0

attempt to fix nightly

https://github.com/home-assistant/core/actions/runs/6167125867/job/16737677629

```
```

* forgot the script as well
2023-09-13 20:26:55 -04:00
J. Nick Koston
3be4edd647 Use shorthand attributes in saj (#100317)
supports #95315
2023-09-13 20:26:22 -04:00
J. Nick Koston
fe8156f013 Bump protobuf to 4.24.3 (#100329)
changelog: https://github.com/protocolbuffers/protobuf/compare/v24.0...v24.3
2023-09-13 20:25:52 -04:00
J. Nick Koston
f0e607869a Use shorthand attributes for supla cover device class (#100337)
from #95315
2023-09-13 20:25:33 -04:00
Jan Bouwhuis
01410c9fbb Shorthanded attrs for met integration (#100334) 2023-09-13 17:11:47 -05:00
Jan Bouwhuis
a7c6abfed1 Use shorthand atts for met_eireann (#100335) 2023-09-13 17:11:27 -05:00
Franck Nijhof
a02fcbc5c4 Update sentry-sdk to 1.31.0 (#100293) 2023-09-13 23:37:48 +02:00
J. Nick Koston
fe5eba9b31 Use cached_property in device registry (#100309) 2023-09-13 15:36:07 -05:00
Jan-Philipp Benecke
72f5c0741b Add missing sms coordinator to .coveragerc (#100327) 2023-09-13 15:29:16 -05:00
J. Nick Koston
ef6d77586a Bump python-amcrest to 1.9.8 (#100324) 2023-09-13 15:01:28 -05:00
Jan-Philipp Benecke
7b204ca36b Use snapshot assertion for nexia diagnostics test (#100328) 2023-09-13 15:00:29 -05:00
J. Nick Koston
877eedf6d7 Use cached_property in entity_registry (#100302) 2023-09-13 14:38:40 -05:00
J. Nick Koston
d8d756dd7d Bump dbus-fast to 2.7.0 (#100321) 2023-09-13 14:33:42 -05:00
Daniel Hjelseth Høyer
9ceeadc715 Update Mill library to 0.11.5, handle rate limiting (#100315) 2023-09-13 21:09:29 +02:00
Quentame
8625bf7894 Add some tests to Freebox (#99755) 2023-09-13 20:22:47 +02:00
J. Nick Koston
9631c0ba2b Use short hand attributes in onvif camera (#100319)
see #95315
2023-09-13 20:19:01 +02:00
Robert Svensson
7b00265cfe Remove legacy UniFi PoE client clean up (#100318) 2023-09-13 20:14:03 +02:00
Paulus Schoutsen
23a891ebb1 Update Roborock entity categories (#100316) 2023-09-13 13:43:28 -04:00
Jan Bouwhuis
0d33cba823 Use shorthand attrs in template integration (#100301) 2023-09-13 12:30:43 -05:00
Franck Nijhof
d17957ac1a Update debugpy to 1.8.0 (#100311) 2023-09-13 11:59:35 -05:00
J. Nick Koston
6a2dd4fe74 Bump yalexs to 1.9.0 (#100305) 2023-09-13 11:25:10 -05:00
Erik Montnemery
c3d1cdd0e9 Improve UserDict in device and entity registries (#100307) 2023-09-13 11:09:34 -05:00
Jan Rieger
ee65aa91e8 Allow setting the elevation in set_location (#99978)
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2023-09-13 18:09:12 +02:00
Joost Lekkerkerker
f6b094dfee Add options flow to Withings (#100300) 2023-09-13 18:08:15 +02:00
Erik Montnemery
6057fe5926 Replace StateMachine._domain_index with a UserDict (#100270)
* Replace StateMachine._domain_index with a UserDict

* Access the UserDict's backing dict directly

* Optimize
2023-09-13 18:05:17 +02:00
J. Nick Koston
d0feb063ec Fix missing super async_added_to_hass in lookin (#100296) 2023-09-13 10:03:36 -05:00
Jan Bouwhuis
871800778f Use shorthand attrs for velux (#100294)
* Use shorthand attrs for velux

* Update homeassistant/components/velux/cover.py

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* black

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-09-13 16:50:33 +02:00
Jan Bouwhuis
f2f45380a9 Use shorthand attrs in iaqualink (#100281)
* Use shorthand attrs in iaqualink

* Use super

* Update homeassistant/components/iaqualink/light.py

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* Remove self

* More follow ups

* Remove cast and type check

* Update homeassistant/components/iaqualink/__init__.py

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-09-13 16:34:14 +02:00
Charles Garwood
c3a7aee48e Bump pyenphase to 1.11.4 (#100288) 2023-09-13 16:04:34 +02:00
Joost Lekkerkerker
8498cdfb3c Remove profile from Withings config flow (#100202)
* Remove profile from Withings config flow

* Add config flow migration

* Add config flow migration

* Remove datamanager profile

* Remove datamanager profile

* Add manufacturer

* Remove migration

* Remove migration

* Fix feedback
2023-09-13 15:49:36 +02:00
starkillerOG
80aa19263b Netgear catch no info error (#100212) 2023-09-13 15:32:03 +02:00
Jan Bouwhuis
d44db6ee68 Use shorthand attrs for xbox base_sensor (#100290) 2023-09-13 15:10:35 +02:00
Franck Nijhof
65c9e5ee13 Update mutagen to 1.47.0 (#100284) 2023-09-13 14:40:27 +02:00
Franck Nijhof
afa0152261 Update syrupy to 4.5.0 (#100283) 2023-09-13 14:40:01 +02:00
Joost Lekkerkerker
38e013a90e Remove NZBGet configurable scan interval (#98869) 2023-09-13 14:15:40 +02:00
Jan Bouwhuis
d638efdcfc Use shorthanded attrs for vera sensor (#100269)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-09-13 13:50:00 +02:00
Jan Bouwhuis
9f3b1a8d44 Use hass.loop.create_future() in zha (#100056)
* Use hass.loop.create_future() in zha

* Remove not needed method
2023-09-13 13:32:00 +02:00
Kevin Stillhammer
958b923783 Limit waze_travel_time to 1 call every 0.5s (#100191) 2023-09-13 13:29:20 +02:00
Jan-Philipp Benecke
1f1411b6a5 Move sms coordinators to their own file (#100276) 2023-09-13 13:22:37 +02:00
Jan Bouwhuis
705ee3032b Use shorthanded attrs for yamaha_musiccast select (#100273) 2023-09-13 13:13:27 +02:00
Olen
7fe78fe9e4 Add diagnostics to Twinkly (#100146) 2023-09-13 13:09:57 +02:00
Erik Montnemery
684b2d4537 Improve type hint in entity_registry (#100278) 2023-09-13 12:42:06 +02:00
Erik Montnemery
4f8e28a781 Future proof assist_pipeline.Pipeline (#100277) 2023-09-13 12:41:28 +02:00
Joost Lekkerkerker
29d8be510e Test speedtest.net config entry lifecycle (#100280) 2023-09-13 12:40:26 +02:00
Erik Montnemery
aedd06b9a9 Tweak entity/source WS command handler (#100272) 2023-09-13 11:14:01 +02:00
Aarni Koskela
e5de7eacad Bump sensirion-ble to 0.1.1 (#100271)
Bump to sensirion-ble==0.1.1

Fixes akx/sensirion-ble#6

Refs https://github.com/home-assistant/core/issues/93678#issuecomment-1694522112
2023-09-13 10:21:55 +02:00
dependabot[bot]
1c10091d62 Bump docker/login-action from 2.2.0 to 3.0.0 (#100264)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-13 09:34:45 +02:00
TJ Horner
dd95b51d10 Address weatherkit late review comments (#100265)
* Address review comments from original weatherkit PR

* Use .get() for optional fields
2023-09-13 09:22:58 +02:00
John Hollowell
e87603aa59 Correct Venstar firmware version to use device's FW version instead of API version (#98493) 2023-09-13 08:35:59 +02:00
Luke Lashley
09f58ec396 Bump python-roborock to 0.34.0 (#100236) 2023-09-13 08:33:48 +02:00
TJ Horner
756f542ac6 Update apple_weatherkit to 1.0.2 (#100254) 2023-09-13 08:18:07 +02:00
Charles Garwood
270df003fe Bump pyenphase to 1.11.3 (#100255) 2023-09-13 08:15:33 +02:00
Marc Mueller
f5aa2559d7 Fix pylint config warning (#100251) 2023-09-13 08:14:01 +02:00
Marc Mueller
2518fbc973 Update jsonpath to 0.82.2 (#100252) 2023-09-13 01:41:50 +02:00
Simone Chemelli
fe85b20502 SamsungTV: Add unique_id for when missing (legacy models) (#96829)
* Add unique_id for when missing (legacy models)

* add comment

* update tests, thx @epenet
2023-09-13 01:24:49 +02:00
Luke Lashley
5272387bd3 Fix incorrect off peak translation key for Roborock (#100246)
fix incorrect translation key
2023-09-13 01:16:31 +02:00
Charles Garwood
f344000ef9 Bump pyenphase to 1.11.2 (#100249)
* Bump pyenphase to 1.11.1

* Apply suggestions from code review

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-09-13 00:17:29 +02:00
J. Nick Koston
bbcae19d0e Disable always responding to all SSDP M-SEARCH requests with the root device (#100224) 2023-09-12 17:15:13 -05:00
starkillerOG
8aa689ebae Bump pynetgear to 0.10.10 (#100242) 2023-09-12 23:36:44 +02:00
J. Nick Koston
fc75172d79 Bump async-upnp-client to 0.35.1 (#100248) 2023-09-12 16:35:39 -05:00
Joost Lekkerkerker
904913c1a6 Use shorthand attributes in VLC telnet (#99916)
* Use shorthand attributes in VLC telnet

* Apply suggestions from code review

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

* fix mypy

* Attempt 3

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-09-12 22:37:51 +02:00
J. Nick Koston
1b40a56e2b Update ecobee zeroconf/homekit discovery (#100091) 2023-09-12 22:24:38 +02:00
Ville Skyttä
fa0b999d08 Upgrade ruff to 0.0.289 (#100238) 2023-09-12 22:22:10 +02:00
Jan Rieger
f2fac40019 Add strict typing to GPSD (#100030)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-09-12 22:21:58 +02:00
Jan Bouwhuis
e3837cd1e0 Use shorthand attr for mqtt assumed_state (#100241) 2023-09-12 22:21:13 +02:00
Paulus Schoutsen
c6ed235010 2023.9.2 (#100223) 2023-09-12 15:41:50 -04:00
Jan Bouwhuis
eb0ab3de93 User shorthand attr for mqtt alarm_control_panel (#100234) 2023-09-12 21:28:29 +02:00
Joost Lekkerkerker
458a3f0df2 Remove restore functionality in Speedtest.net (#96950) 2023-09-12 21:12:01 +02:00
Tom Harris
f9ce315d1b Support for Insteon 4 button KeypadLink device (#100132) 2023-09-12 21:10:40 +02:00
Álvaro Fernández Rojas
d417a27c85 Add meteoclimatic sensor statistics (#100186) 2023-09-12 21:08:58 +02:00
Allen Porter
368a1a944a Remove the uniqueid from todoist (#100206) 2023-09-12 21:08:13 +02:00
Erik Montnemery
bbcbb2e322 Improve Entity._suggest_report_issue (#100204) 2023-09-12 21:07:32 +02:00
Joost Lekkerkerker
76c569c62d Clean up variables in Soundtouch (#99859) 2023-09-12 21:00:05 +02:00
J. Nick Koston
5e2bf2b015 Set dynalite cover device class in constructor (#100232) 2023-09-12 20:57:57 +02:00
Joost Lekkerkerker
8fe5a5a398 Introduce base class for Trafikverket camera (#100114)
* Introduce base class for Trafikverket camera

* fix feedback

* Fix feedback
2023-09-12 20:48:47 +02:00
Erik Montnemery
09ad1a9a36 Remove unnecessary block use of pylint disable in components p-z (#100192) 2023-09-12 20:47:48 +02:00
Jan Bouwhuis
5fcb69e004 Use shorthanded attributes for MQTT cover (#100230) 2023-09-12 13:46:43 -05:00
Erik Montnemery
51576b7214 Improve typing of entity.entity_sources (#99407)
* Improve typing of entity.entity_sources

* Calculate entity info source when generating WS response

* Adjust typing

* Update tests
2023-09-12 20:41:26 +02:00
J. Nick Koston
cc252f705f Use short handle attributes for device class in netatmo cover (#100228) 2023-09-12 13:34:50 -05:00
mkmer
693a271e40 Clean up device registry for climate devices that no longer exist in Honeywell (#100072) 2023-09-12 20:29:47 +02:00
Joost Lekkerkerker
9672cdf3a9 Add entity translations to WLED (#99056) 2023-09-12 20:19:45 +02:00
J. Nick Koston
70c6bceaee Use short hand entity_registry_enabled_default in nws (#100227)
* Use short hand entity_registry_enabled_default in nws

see https://github.com/home-assistant/core/pull/95315

* Update homeassistant/components/nws/sensor.py
2023-09-12 20:12:14 +02:00
dependabot[bot]
93f3bc6c2b Bump sigstore/cosign-installer from 3.1.1 to 3.1.2 (#99563)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-12 20:11:12 +02:00
James Chaloupka
a9891e40fd Update Deprecated Selector Syntax (#99308) 2023-09-12 20:10:32 +02:00
Joost Lekkerkerker
69ac8a0a2b Use shorthand attributes in NWS (#99620) 2023-09-12 13:05:57 -05:00
J. Nick Koston
9c775a8a24 Set roku media player device class in constructor (#100225) 2023-09-12 12:58:20 -05:00
J. Nick Koston
42c35da818 Use more shorthand properties in homematicip_cloud (#100210) 2023-09-12 19:45:53 +02:00
J. Nick Koston
6a7d5a0fd4 Use more shorthand attributes in huawei_lte binary_sensor (#100211) 2023-09-12 19:45:44 +02:00
Jan Rieger
74a57e8676 Use more common translations (#100135) 2023-09-12 19:44:31 +02:00
uvjustin
5021c69886 Update Stream logging on EVENT_LOGGING_CHANGED (#99256) 2023-09-12 19:38:11 +02:00
J. Nick Koston
8af7475f73 Set TriggerBaseEntity device_class in init (#100216) 2023-09-12 19:36:56 +02:00
hahn-th
f5c0c7bf27 Bump homematicip_cloud to 1.0.15 (#99387) 2023-09-12 19:33:42 +02:00
Erik Montnemery
44af34083b Remove unnecessary pylint disable in tado (#100196) 2023-09-12 19:27:53 +02:00
Joost Lekkerkerker
a09372590f Use shorthand attributes in Smartthings (#100215) 2023-09-12 12:26:33 -05:00
Paulus Schoutsen
583ea2fed4 Bumped version to 2023.9.2 2023-09-12 13:01:31 -04:00
Joakim Sørensen
7b9ae6755a Bump hass-nabucasa from 0.70.0 to 0.71.0 (#100193)
Bump hass-nabucasa from 0.70.0 to 0.71.1
2023-09-12 13:01:31 -04:00
Jan Bouwhuis
e84a4661b0 Add intial property to imap_content event data (#100171)
* Add initial property to imap event data

* Simplify loop

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* MyPy

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-09-12 18:54:32 +02:00
René Klomp
86bccf769e Add Entity Descriptions to SMA integration (#58707)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-09-12 11:30:55 -05:00
Jan Bouwhuis
63647d96dd Fix entity name attribute on mqtt entity is not removed on update (#100187)
Fix entity name attribute is not remove on update
2023-09-12 12:04:56 -04:00
Vincent Knoop Pathuis
f13ce5daff Bump Ultraheat to version 0.5.7 (#100172) 2023-09-12 12:04:55 -04:00
Erik Montnemery
1b494fb4ba Bump hatasmota to 0.7.3 (#100169) 2023-09-12 12:04:54 -04:00
Erik Montnemery
3c27283fc1 Adjust tasmota sensor device class and icon mapping (#100168) 2023-09-12 12:04:53 -04:00
Raman Gupta
1cd80c5b78 Bump zwave-js-server-python to 0.51.2 (#100159) 2023-09-12 12:04:52 -04:00
puddly
68b0f05758 Bump ZHA dependencies (#100156) 2023-09-12 12:04:51 -04:00
Michael
d1bc6df14f Fix AVM Fritz!Tools update entity (#100151)
* move update entity to coordinator

* fix tests
2023-09-12 12:04:50 -04:00
Robert Svensson
5068846fc9 Fix devices not always reporting IP - bump aiounifi to v62 (#100149) 2023-09-12 12:04:49 -04:00
Bram Kragten
04549925c2 Update frontend to 20230911.0 (#100139) 2023-09-12 12:04:48 -04:00
Erik Montnemery
8e2fa67cfd Bump hatasmota to 0.7.2 (#100129) 2023-09-12 12:04:47 -04:00
Erik Montnemery
7a4a792b7b Fix TriggerEntity.async_added_to_hass (#100119) 2023-09-12 12:04:45 -04:00
Greig Sheridan
df718ca509 Remove duplicated word in enphase description text (#100098) 2023-09-12 12:04:44 -04:00
Mike Degatano
2cb84274ec Fix addon slug validation (#100070)
* Fix addon slug validation

* Don't redefine compile
2023-09-12 12:04:43 -04:00
Simone Chemelli
55a4346460 Remove Comelit alarm data retrieval (#100067)
fix: remove alarm data retrieval
2023-09-12 12:04:42 -04:00
Simone Chemelli
a651e9df1d Bump aiovodafone to 0.2.0 (#100062)
bump aiovodafone to 0.2.0
2023-09-12 12:04:41 -04:00
Aidan Timson
a19bc71300 Bump systembridgeconnector to 3.8.2 (#100051)
Update systembridgeconnector to 3.8.2
2023-09-12 12:04:40 -04:00
Kevin Stillhammer
82a5615d7d Bump pywaze to 0.4.0 (#99995)
bump pywaze from 0.3.0 to 0.4.0
2023-09-12 12:04:39 -04:00
jan iversen
42f62485cf Bump pymodbus to v3.5.2 (#99988) 2023-09-12 12:04:38 -04:00
J. Nick Koston
3d09e859fc Avoid probing ipp printers for unique_id when it is available via mdns (#99982)
* Avoid probing ipp printers for unique_id when it is available via mdns

We would always probe the device in the ipp flow and than
abort if it was already configured. We avoid the probe for
most printers.

* dry

* coverage

* fix test

* add test for updating host
2023-09-12 12:04:37 -04:00
J. Nick Koston
f200ba7a86 Bump bluetooth-auto-recovery to 1.2.3 (#99979)
fixes #99977
2023-09-12 12:04:36 -04:00
Bouwe Westerdijk
7cdb4ec852 Bump plugwise to v0.32.2 (#99973)
* Bump plugwise to v0.32.2

* Adapt number.py to the backend updates

* Update related test-cases

* Update plugwise test-fixtures

* Update test_diagnostics.py
2023-09-12 12:04:35 -04:00
Raman Gupta
e6c2833032 Handle disconnects in zwave_js repair flow (#99964)
* Handle disconnects in zwave_js repair flow

* Combine logic to reduce LoC

* only check once
2023-09-12 12:04:33 -04:00
Luke Lashley
0f9d00e4aa Bump python-roborock to 33.2 (#99962)
bump to 33.2
2023-09-12 12:04:32 -04:00
J. Nick Koston
02831ad94f Bump bleak to 0.21.1 (#99960) 2023-09-12 12:04:31 -04:00
Marc Mueller
e597a6b640 Update RestrictedPython to 6.2 (#99955) 2023-09-12 12:04:30 -04:00
Ståle Storø Hauknes
f0b6367444 Airthings BLE unique id migration (#99832)
* Fix sensor unique id

* Add sensor identifiers

* Migrate entities to new unique id

* Fix linting issues

* Fix crash when migrating entity fails

* Change how entities are migrated

* Remve debug logging

* Remove unneeded async

* Remove migration code from init file

* Add migration code to sensor.py

* Adjust for loops to improve speed

* Bugfixes, improve documentation

* Remove old comment

* Remove unused function parameter

* Address PR feedback

* Add tests

* Improve tests and test data

* Refactor test

* Update logger level

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

* Adjust PR comments

* Address more PR comments

* Address PR comments and adjust tests

* Fix PR comment

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2023-09-12 12:04:29 -04:00
puddly
8e6ec01bfb Cache device trigger info during ZHA startup (#99764)
* Do not connect to the radio hardware within `_connect_zigpy_app`

* Make `connect_zigpy_app` public

* Create radio manager instances from config entries

* Cache device triggers on startup

* reorg zha init

* don't reuse gateway

* don't nuke yaml configuration

* review comments

* Fix existing unit tests

* Ensure `app.shutdown` is called, not just `app.disconnect`

* Revert creating group entities and device registry entries early

* Add unit tests

---------

Co-authored-by: David F. Mulcahey <david.mulcahey@icloud.com>
2023-09-12 12:04:28 -04:00
Tiit Rätsep
4c125fda9d Fix Soma cover tilt (#99717) 2023-09-12 12:04:27 -04:00
jan iversen
7235de1a0c Make modbus retry fast on read errors (#99576)
* Fast retry on read errors.

* Review comments.
2023-09-12 12:04:26 -04:00
jan iversen
d399ebb8e1 Read modbus data before scan_interval (#99243)
Read before scan_interval.
2023-09-12 12:04:25 -04:00
Michael Arthur
367d893fc8 Bugfix: Electric Kiwi reduce interval so oauth doesn't expire (#99489)
decrease interval time as EK have broken/changed their oauth again
2023-09-12 12:02:03 -04:00
jan iversen
d5ff05bdf5 Remove modbus pragma no cover and solve nan (#99221)
* Remove pragma no cover.

* Ruff !

* Review comments.

* update test.

* Review.

* review.

* Add slave test.
2023-09-12 12:02:02 -04:00
Joost Lekkerkerker
71c4f675e0 Use shorthand attributes in SPC (#100217) 2023-09-12 11:01:05 -05:00
Joost Lekkerkerker
4e202eb376 Use shorthand attributes in Yamaha Musiccast (#100220) 2023-09-12 10:35:01 -05:00
Joost Lekkerkerker
6545fba549 Use shorthand attributes in Universal (#100219) 2023-09-12 10:34:41 -05:00
Erik Montnemery
6485320bc4 Improve type annotations in websocket_api tests (#100198) 2023-09-12 17:31:25 +02:00
Joost Lekkerkerker
75951dd67b Use shorthand attributes in Point (#100214) 2023-09-12 10:15:36 -05:00
Joost Lekkerkerker
54c034185f Use shorthand attributes in Isy994 (#100209) 2023-09-12 10:13:13 -05:00
Erik Montnemery
6e6680dc4d Enable asyncio debug mode in tests (#100197) 2023-09-12 10:12:22 -05:00
J. Nick Koston
83ef5450e9 Use shorthand attributes in garadget cover (#100207) 2023-09-12 10:05:31 -05:00
J. Nick Koston
e2f7b3c6f8 Use shorthand attributes in buienradar camera (#100205) 2023-09-12 10:05:15 -05:00
J. Nick Koston
085a584d98 Use shorthand attributes in geniushub sensor (#100208) 2023-09-12 10:04:35 -05:00
Joost Lekkerkerker
4e17901fef Use shorthand attribute in Bloomsky (#100203) 2023-09-12 16:37:35 +02:00
Erik Montnemery
d495208995 Remove unnecessary block use of pylint disable in onvif (#100194) 2023-09-12 09:19:26 -05:00
jan iversen
c178388956 Remove modbus pragma no cover and solve nan (#99221)
* Remove pragma no cover.

* Ruff !

* Review comments.

* update test.

* Review.

* review.

* Add slave test.
2023-09-12 16:05:59 +02:00
jan iversen
9acca1bf58 Make modbus retry fast on read errors (#99576)
* Fast retry on read errors.

* Review comments.
2023-09-12 10:01:15 -04:00
Ståle Storø Hauknes
198532d51d Airthings BLE unique id migration (#99832)
* Fix sensor unique id

* Add sensor identifiers

* Migrate entities to new unique id

* Fix linting issues

* Fix crash when migrating entity fails

* Change how entities are migrated

* Remve debug logging

* Remove unneeded async

* Remove migration code from init file

* Add migration code to sensor.py

* Adjust for loops to improve speed

* Bugfixes, improve documentation

* Remove old comment

* Remove unused function parameter

* Address PR feedback

* Add tests

* Improve tests and test data

* Refactor test

* Update logger level

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

* Adjust PR comments

* Address more PR comments

* Address PR comments and adjust tests

* Fix PR comment

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2023-09-12 09:59:54 -04:00
Mike Degatano
2b62285eee Fix addon slug validation (#100070)
* Fix addon slug validation

* Don't redefine compile
2023-09-12 09:59:12 -04:00
Joakim Sørensen
1e2b0b65af Bump hass-nabucasa from 0.70.0 to 0.71.0 (#100193)
Bump hass-nabucasa from 0.70.0 to 0.71.1
2023-09-12 09:58:25 -04:00
Erik Montnemery
fabb098ec3 Simplify WS command entity/source (#99439) 2023-09-12 15:39:11 +02:00
Joost Lekkerkerker
e143bdf2f5 Use shorthand attributes in Vera (#99893) 2023-09-12 15:23:12 +02:00
Jan Bouwhuis
6b265120b3 Fix entity name attribute on mqtt entity is not removed on update (#100187)
Fix entity name attribute is not remove on update
2023-09-12 15:22:37 +02:00
Joost Lekkerkerker
76c3a638c4 Use shorthand attributes in Smarttub (#99839) 2023-09-12 15:17:57 +02:00
Joost Lekkerkerker
b5275016d4 Use shorthand attributes in Twinkly (#99891) 2023-09-12 15:08:18 +02:00
Joost Lekkerkerker
1ccf9cc400 Use shorthand attributes in Squeezebox (#99863) 2023-09-12 15:02:29 +02:00
Joost Lekkerkerker
1cf2f2f8b8 Use shorthand attributes in Songpal (#99849) 2023-09-12 15:00:11 +02:00
Joost Lekkerkerker
1ca505c228 Use shorthand attributes in Wiffi (#99919) 2023-09-12 14:58:03 +02:00
jan iversen
26ada30720 Remove default from deprecated close_comm_on_error (#100188) 2023-09-12 14:12:45 +02:00
Erik Montnemery
6b628f2d29 Remove unnecessary block use of pylint disable in components a-o (#100190) 2023-09-12 14:02:50 +02:00
jan iversen
71207e112e Bring modbus naming in sync with standard (#99285) 2023-09-12 10:59:50 +02:00
Vincent Knoop Pathuis
fead9d3a92 Bump Ultraheat to version 0.5.7 (#100172) 2023-09-12 10:45:35 +02:00
dependabot[bot]
0cd73e397b Bump tibdex/github-app-token from 1.8.2 to 2.0.0 (#100099)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-12 10:43:13 +02:00
Erik Montnemery
5bcb4f07a0 Bump hatasmota to 0.7.3 (#100169) 2023-09-12 09:58:05 +02:00
Joost Lekkerkerker
27c430bbac Use shorthand attributes in Smart meter texas (#99838)
Co-authored-by: Robert Resch <robert@resch.dev>
2023-09-12 09:36:07 +02:00
Alex Yao
5ba573a1b4 Add Life360 Location Update Button (#99559)
Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: alexyao2015 <alexyao2015@users.noreply.github.com>
2023-09-12 09:34:11 +02:00
Álvaro Fernández Rojas
da13afbd3c Add missing AEMET wind gust speed (#100157) 2023-09-12 09:08:06 +02:00
Erik Montnemery
80b03b4acb Adjust tasmota sensor device class and icon mapping (#100168) 2023-09-12 08:59:39 +02:00
J. Nick Koston
e8ed4c1ace Bump dbus-fast to 2.6.0 (#100163)
changelog: https://github.com/Bluetooth-Devices/dbus-fast/compare/v2.4.0...v2.6.0
2023-09-12 08:56:02 +02:00
Allen Porter
183b77973f Add configuration flow to Todoist integration (#100094)
* Add config flow to todoist

* Fix service calls for todoist

* Fix configuration entry test setup

* Bump test coverage to 100%

* Apply pr feedback
2023-09-11 22:56:08 -07:00
Raman Gupta
8e43f79f19 Bump zwave-js-server-python to 0.51.2 (#100159) 2023-09-11 23:03:47 -04:00
Jan-Philipp Benecke
5d46e22591 Move airly coordinator to its own file (#99545) 2023-09-11 21:52:02 -05:00
J. Nick Koston
140af44e31 Bump dbus-fast to 2.4.0 (#100158) 2023-09-11 21:40:32 -05:00
J. Nick Koston
a20d1a357f Avoid probing ipp printers for unique_id when it is available via mdns (#99982)
* Avoid probing ipp printers for unique_id when it is available via mdns

We would always probe the device in the ipp flow and than
abort if it was already configured. We avoid the probe for
most printers.

* dry

* coverage

* fix test

* add test for updating host
2023-09-11 22:34:23 -04:00
Michael
3d28c6d636 Fix AVM Fritz!Tools update entity (#100151)
* move update entity to coordinator

* fix tests
2023-09-11 22:30:50 -04:00
puddly
15b9963a24 Bump ZHA dependencies (#100156) 2023-09-11 22:23:55 -04:00
Raman Gupta
e231da42e1 Handle disconnects in zwave_js repair flow (#99964)
* Handle disconnects in zwave_js repair flow

* Combine logic to reduce LoC

* only check once
2023-09-12 04:21:44 +02:00
Bram Kragten
e0e05f9546 Update frontend to 20230911.0 (#100139) 2023-09-11 23:06:21 +02:00
Jan-Philipp Benecke
4779cdf2ae Let the discovergy config flow test end with create entry (#100153) 2023-09-11 23:06:06 +02:00
Álvaro Fernández Rojas
851dc4cdf4 Use library for condition/wind direction conversions (#100117)
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2023-09-11 22:26:58 +02:00
Joost Lekkerkerker
c347c78b6d Split Withings common file out to their own file (#100150)
* Split common out in logical pieces

* Split common out in logical pieces

* Split common out in logical pieces
2023-09-11 22:25:08 +02:00
Jan-Philipp Benecke
5a56adb3f5 Refactor discovergy config flow test to use parametrize (#100115)
* Refactor discovergy config flow test to use parametrize

* Formatting

* Implement code review sugesstions
2023-09-11 21:53:07 +02:00
Robert Svensson
13cd873e38 Fix devices not always reporting IP - bump aiounifi to v62 (#100149) 2023-09-11 21:50:29 +02:00
J. Nick Koston
0571a75c99 Bump zeroconf to 0.108.0 (#100148) 2023-09-11 14:42:13 -05:00
puddly
cbb28b6943 Migrate internal ZHA data to a dataclasses (#100127)
* Cache device triggers on startup

* reorg zha init

* don't reuse gateway

* don't nuke yaml configuration

* review comments

* Add unit tests

* Do not cache device and entity registries

* [WIP] Wrap ZHA data in a dataclass

* [WIP] Get unit tests passing

* Use a helper function for getting the gateway object to fix annotations

* Remove `bridge_id`

* Fix typing issues with entity references in group websocket info

* Use `Platform` instead of `str` for entity platform matching

* Use `get_zha_gateway` in a few more places

* Fix flaky unit test

* Use `slots` for ZHA data

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

---------

Co-authored-by: David F. Mulcahey <david.mulcahey@icloud.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-09-11 21:39:33 +02:00
Joost Lekkerkerker
5c206de906 Decouple Withings webhook tests from YAML (#100143) 2023-09-11 14:06:20 -05:00
Niels Perfors
ad5e9e9f5b Remove code owner Verisure (#100145) 2023-09-11 13:43:59 -05:00
J. Nick Koston
d5fc92eb90 Bump zeroconf to 0.107.0 (#100134)
changelog: https://github.com/python-zeroconf/python-zeroconf/compare/0.105.0...0.107.0
2023-09-11 20:34:35 +02:00
J. Nick Koston
fdb9ac20c3 Migrate mobile_app to use json helper (#100136) 2023-09-11 12:08:48 -05:00
TJ Horner
17db20fdd7 Add Apple WeatherKit integration (#99895) 2023-09-11 12:06:55 -05:00
J. Nick Koston
0fe88d60ac Guard expensive debug logging with isEnabledFor in alexa (#100137) 2023-09-11 11:39:10 -05:00
Erik Montnemery
18e08bc79f Bump hatasmota to 0.7.2 (#100129) 2023-09-11 11:35:48 -05:00
starkillerOG
56678851af Fix inverse naming of function in Reolink (#100113) 2023-09-11 18:03:22 +02:00
Erik Montnemery
6ccb74997c Fix ScrapeSensor.async_added_to_hass (#100125) 2023-09-11 16:58:56 +02:00
Álvaro Fernández Rojas
9c65e59cc8 Remove AEMET daily precipitation sensor test (#100118) 2023-09-11 09:46:59 -05:00
Robert Svensson
d8445a79fc UniFi streamline loading platforms (#100071)
* Streamline loading platforms

* Move platform registration logic to UnifiController class
2023-09-11 15:55:27 +02:00
J. Nick Koston
791482406c Cleanup isinstance checks in zeroconf (#100090) 2023-09-11 08:13:25 -05:00
J. Nick Koston
f4a7bb47fe Bump zeroconf to 0.105.0 (#100084) 2023-09-11 08:09:29 -05:00
J. Nick Koston
64fde640ca Bump pyunifiprotect to 4.20.0 (#100092) 2023-09-11 08:08:19 -05:00
puddly
a6f325d05a Cache device trigger info during ZHA startup (#99764)
* Do not connect to the radio hardware within `_connect_zigpy_app`

* Make `connect_zigpy_app` public

* Create radio manager instances from config entries

* Cache device triggers on startup

* reorg zha init

* don't reuse gateway

* don't nuke yaml configuration

* review comments

* Fix existing unit tests

* Ensure `app.shutdown` is called, not just `app.disconnect`

* Revert creating group entities and device registry entries early

* Add unit tests

---------

Co-authored-by: David F. Mulcahey <david.mulcahey@icloud.com>
2023-09-11 14:36:01 +02:00
Erik Montnemery
42046a3ce2 Fix TriggerEntity.async_added_to_hass (#100119) 2023-09-11 14:33:43 +02:00
Joost Lekkerkerker
a6e9bf830c Decouple Withings binary sensor test from YAML (#100120) 2023-09-11 13:58:47 +02:00
Joost Lekkerkerker
5781e5e03e Use json to store Withings test data fixtures (#99998)
* Decouple Withings sensor tests from yaml

* Improve Withings config flow tests

* Improve Withings config flow tests

* Fix feedback

* Use fixtures to store Withings testdata structures

* Use fixtures to store Withings testdata structures

* Use JSON

* Fix

* Use load_json_object_fixture
2023-09-11 12:36:37 +02:00
Marc Mueller
58072189fc Update black to 23.9.1 (#100108) 2023-09-11 12:14:50 +02:00
Tiit Rätsep
10bb8f5396 Fix Soma cover tilt (#99717) 2023-09-11 11:15:46 +02:00
Jan-Philipp Benecke
a4cb06d09f Also handle DiscovergyClientError as UpdateFailed (#100038)
* Also handle DiscovergyClientError as UpdateFailed

* Change AccessTokenExpired to InvalidLogin

* Also add DiscovergyClientError to config flow and tests
2023-09-11 11:00:50 +02:00
Jan Bouwhuis
20d0ebe3fa Add TYPE_CHECKING condition on type assertions for mqtt (#100107)
Add TYPE_CHECKING condition on type assertions
2023-09-11 10:58:33 +02:00
Rami Mosleh
eb0099dee8 Move smtp constants to const.py (#99542) 2023-09-11 09:36:55 +02:00
Joost Lekkerkerker
43fe8d16c3 Use shorthand attributes in ZAMG (#99925)
Co-authored-by: Robert Resch <robert@resch.dev>
2023-09-11 09:32:43 +02:00
Greig Sheridan
f121e891fd Remove duplicated word in enphase description text (#100098) 2023-09-11 09:16:21 +02:00
Simone Chemelli
0fb678abfc Remove Comelit alarm data retrieval (#100067)
fix: remove alarm data retrieval
2023-09-11 08:49:10 +02:00
Michael Arthur
8beace265b Add unit tests for sensors Electric Kiwi (#97723)
* add unit tests for sensors

* newline long strings

* unit test check and move time

* rename entry to entity

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* add types to test

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* fix newlined f strings

* remove if statement

* add some more explaination

* Update datetime

Co-authored-by: Robert Resch <robert@resch.dev>

* Simpler time update

Co-authored-by: Robert Resch <robert@resch.dev>

* add missing datetime import

* Update docustring - grammar

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

* address comments and issues raised

* address docstrings too long

* Fix docstring

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-09-11 01:30:25 +02:00
jimmyd-be
6c45f43c5d Renson number entity (#99358)
* Starting number sensor

* Filter change config

* Add translation to number entity

* add number entity to .coveragerc

* Moved has_entity_name to description + changed name of entity

* Add self.coordinator.async_request_refresh() after changing value

* Add device calss and unit of measurement to number entity
2023-09-11 01:24:57 +02:00
G Johansson
73a695d857 Fix incorrect docstring in TV Camera sensor test (#100083) 2023-09-11 01:22:33 +02:00
G Johansson
954293f77e Add binary sensors to Trafikverket Camera (#100082) 2023-09-11 01:12:19 +02:00
G Johansson
0fae65abde Fix missed name to translation key in Sensibo (#100080) 2023-09-11 01:10:59 +02:00
G Johansson
4ebb6bb823 Add sensors to Trafikverket Camera (#100078)
* Add sensors to Trafikverket Camera

* Remove active

* Fix test len
2023-09-11 00:56:12 +02:00
Matrix
45fc158823 Add yolink siren battery entity (#99310) 2023-09-11 00:31:58 +02:00
J. Nick Koston
80e05716c0 Bump dbus-fast to 2.2.0 (#100076) 2023-09-10 16:38:39 -05:00
dependabot[bot]
4474face88 Bump tibdex/github-app-token from 1.8.0 to 1.8.2 (#99434)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-10 22:23:18 +02:00
J. Nick Koston
2bda34b98a Bump flux_led to 1.0.4 (#100050) 2023-09-10 21:45:37 +02:00
J. Nick Koston
02a4289c6e Bump zeroconf to 0.104.0 (#100068) 2023-09-10 21:32:40 +02:00
J. Nick Koston
3b8d99dcd8 Add __slots__ to translation cache (#100069) 2023-09-10 20:46:55 +02:00
Álvaro Fernández Rojas
3238386f48 Add water heater support to Airzone (#98401)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-09-10 12:31:11 -05:00
Simone Chemelli
a5a82b94ac Bump aiovodafone to 0.2.0 (#100062)
bump aiovodafone to 0.2.0
2023-09-10 19:09:21 +02:00
J. Nick Koston
4f0cd5589c Bump aiohomekit to 3.0.3 (#100047) 2023-09-10 12:01:12 -05:00
Tony
3b25262d6c Address ruckus_unleashed late review (#99411) 2023-09-10 18:49:17 +02:00
Jan-Philipp Benecke
7acc606dd8 Remove unnecessary argument from discovergy coordinator (#100058) 2023-09-10 11:25:55 -05:00
Jan Bouwhuis
63852c565f Use hass.loop.create_future() in envisalink (#100057) 2023-09-10 11:25:25 -05:00
J. Nick Koston
50382a609c Create recorder futures with loop.create_future() (#100049) 2023-09-10 11:24:57 -05:00
Aidan Timson
51899ce5ad Add System Bridge notifications (#82318)
* System bridge notifications

Add notify platform

Add file to coverage

Restore and fix lint after rebase

Cleanup

Use entity to register notify service

Fix pylint

Update package to 3.6.0 and add audio actions

Update package to fix conflict

Remove addition

* Run pre-commit run --all-files

* Update homeassistant/components/system_bridge/notify.py

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* Format

* Fix

* Remove duplicate import

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-09-10 17:32:52 +02:00
Jan Bouwhuis
6899245020 Use hass.loop.create_future() for bluetooth (#100054) 2023-09-10 17:16:16 +02:00
Jan Bouwhuis
1a5f093397 Uer hass.loop.create_future() for MQTT client (#100053) 2023-09-10 17:15:46 +02:00
Joost Lekkerkerker
05635c913f Add device to OpenUV (#100027) 2023-09-10 17:10:45 +02:00
Aidan Timson
140bc03fb1 Bump systembridgeconnector to 3.8.2 (#100051)
Update systembridgeconnector to 3.8.2
2023-09-10 17:02:42 +02:00
Joost Lekkerkerker
b165c28a7c Improve Withings config flow tests (#99697)
* Decouple Withings sensor tests from yaml

* Improve Withings config flow tests

* Improve Withings config flow tests

* Fix feedback

* Rename CONF_PROFILE to PROFILE
2023-09-10 16:18:45 +02:00
Yuxiang Zhu
739eb28b90 Make homekit RTP/RTCP source ports more deterministic (#99989) 2023-09-10 09:07:35 -05:00
mkmer
59e87c0864 Raise HomeAssistantError/ValueError for service calls in Honeywell (#100041) 2023-09-10 15:58:59 +02:00
mkmer
d56ad14673 Add diagnostic platform to Honeywell (#100046)
Add diagnostic platform
2023-09-10 15:49:56 +02:00
Marc Mueller
ccca12cf31 Update bthome-ble to 3.1.1 (#100042) 2023-09-10 08:42:47 -05:00
Diogo Gomes
553cdfbf99 Always update unit of measurement of the utility_meter on state change (#99102) 2023-09-10 08:29:38 -05:00
J. Nick Koston
5e81499855 Avoid json_decoder_fallback in /api/states (#100018) 2023-09-10 08:25:23 -05:00
J. Nick Koston
ad4619c038 Speed up serializing event messages (#100017) 2023-09-10 08:25:13 -05:00
fender4645
e4af50f955 Add debug message to doods (#100002)
* Debug message if no detections found or
no output file configured

* fix formatting

* black

---------

Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2023-09-10 12:58:18 +02:00
Bouwe Westerdijk
446ca2e9ad Enable strict typing in Plugwise (#100033)
Add plugwise to .strict-typing
2023-09-10 12:16:59 +02:00
Bouwe Westerdijk
c01a9987b5 Add Plugwise temperature_offset number (#100029)
Add temperature_offset number
2023-09-10 11:34:09 +02:00
elmurato
1f3b3b1be3 Add sensor entity descriptions in Minecraft Server (#99971)
* Add sensor entity descriptions

* Fix review findings

* Fix type of value function to avoid inline lambda if conditions and add attribute function to avoid extra sensor entity class

* Correct name of binary sensor base entity

* Simplify adding of entities in platforms

* Do not use keyword arguments while adding entities
2023-09-10 10:20:26 +02:00
J. Nick Koston
4153181cd3 Bump aiodiscover to 1.5.1 (#100020)
changelog: https://github.com/bdraco/aiodiscover/compare/v1.4.16...v1.5.1
2023-09-10 10:17:59 +02:00
J. Nick Koston
3b588a839c Bump zeroconf to 0.103.0 (#100012) 2023-09-09 19:49:26 -05:00
Luke Lashley
602e36aa12 Add new sensors to Roborock (#99983)
* Add 3 new sensor types

* add state options for dock error

* add unit of measurement
2023-09-10 00:40:28 +02:00
Kevin Worrel
092580a3ed Bump screenlogicpy to v0.9.0 (#92475)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-09-09 17:39:54 -05:00
Joost Lekkerkerker
8de3945bd4 Fix renamed code owner for Versasense (#99976)
Fix renamed code owner
2023-09-10 00:38:57 +02:00
Joost Lekkerkerker
6c613fd255 Move static attributes outside of ws66i constructor (#99922)
Move static attributes outside of ws66i cosntructor
2023-09-10 00:38:43 +02:00
Joost Lekkerkerker
4bc079b219 Use snapshot assertion in Plugwise diagnostic test (#100008)
* Use snapshot assertion in Plugwise diagnostic test

* Use snapshot assertion in Plugwise diagnostic test
2023-09-10 00:38:17 +02:00
J. Nick Koston
e3f228ea52 Switch config_entries to use loop.create_future() (#100011) 2023-09-09 17:34:49 -05:00
J. Nick Koston
b370244ed4 Switch ESPHome Bluetooth to use loop.create_future() (#100010) 2023-09-09 17:34:31 -05:00
J. Nick Koston
b66437ff7b Bump yalexs-ble to 2.3.0 (#100007) 2023-09-09 17:34:11 -05:00
Bouwe Westerdijk
081d0bdce5 Bump plugwise to v0.32.2 (#99973)
* Bump plugwise to v0.32.2

* Adapt number.py to the backend updates

* Update related test-cases

* Update plugwise test-fixtures

* Update test_diagnostics.py
2023-09-09 23:50:26 +02:00
Joost Lekkerkerker
af8fd6c2d9 Restore airtouch4 codeowner (#99984) 2023-09-09 23:22:03 +02:00
Joost Lekkerkerker
eeaca8ae3c Use shorthand attributes in Vicare (#99915) 2023-09-09 23:18:41 +02:00
elmurato
23f4ccd4f1 Fix late review findings in Minecraft Server (#99865) 2023-09-09 22:32:13 +02:00
J. Nick Koston
aff49cb67a Bump bluetooth-auto-recovery to 1.2.3 (#99979)
fixes #99977
2023-09-09 19:23:15 +02:00
Kevin Stillhammer
862506af61 Bump pywaze to 0.4.0 (#99995)
bump pywaze from 0.3.0 to 0.4.0
2023-09-09 19:16:27 +02:00
Joost Lekkerkerker
a62ffeaa99 Decouple Withings sensor tests from yaml (#99691)
* Decouple Withings sensor tests from yaml

* Fix feedback

* Add pytest fixture

* Update tests/components/withings/test_sensor.py

Co-authored-by: G Johansson <goran.johansson@shiftit.se>

* Update snapshots

* Update snapshots

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2023-09-09 19:11:28 +02:00
Joost Lekkerkerker
868fdd81da Add entity translations to withings (#99194)
* Add entity translations to Withings

* Add entity translations to Withings
2023-09-09 18:48:09 +02:00
jan iversen
743ce46311 Deprecate CLOSE_COMM_ON_ERROR (#99946) 2023-09-09 18:34:01 +02:00
Luke Lashley
71726130c3 Add binary sensors to Roborock (#99990)
* init binary sensors commit

* add binary sensors

* fix test

* Apply suggestions from code review

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-09-09 18:12:14 +02:00
Joost Lekkerkerker
9be16d9d42 Add config flow to WAQI (#98220)
* Migrate WAQI to aiowaqi library

* Migrate WAQI to aiowaqi library

* Migrate WAQI to aiowaqi library

* Add config flow to WAQI

* Finish config flow

* Add tests

* Add tests

* Fix ruff

* Add issues on failing to import

* Add issues on failing to import

* Add issues on failing to import

* Add importing issue

* Finish coverage

* Remove url from translation string

* Fix feedback

* Fix feedback
2023-09-09 17:49:54 +02:00
jan iversen
fdddbd7363 Bump pymodbus to v3.5.2 (#99988) 2023-09-09 17:45:19 +02:00
J. Nick Koston
bb2cdbe7bc Change SSDP discovery scan interval to 10 minutes (#99975)
* Change SSDP discovery scan interval to 10 minutes

The first version used a scan interval of 1 minute which we
increased to 2 minutes because it generated too much traffic.

We kept it at 2 minutes because Sonos historicly needed to
get SSDP discovery to stay alive. This is no longer the case
as Sonos has multiple ways to keep from going unavailable:

- mDNS support was added
- We now listen for SSDP alive and good bye all the time
- Each incoming packet from the device keeps it alive now
- We probe when we think the device might be offline

This means it should no longer be necessary to have such a
frequent scan which is a drag on all devices on the network
since its multicast

* adjust tests
2023-09-09 10:54:40 -04:00
G Johansson
e425662494 Bump pytrafikverket to 0.3.6 (#99869)
* Bump pytrafikverket to 0.3.6

* Fix config flow names

* str
2023-09-09 16:18:47 +02:00
Thomas Roager
74a7bccd65 Add zdb5100 light to zwave_js (#97586)
* added zdb5100 light

* added light to zdb5100

* Update tests/components/zwave_js/conftest.py

agree

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

* Update tests/components/zwave_js/conftest.py

agree

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

* Rename logic_group_zdb5100_light_state.json to logic_group_zdb5100_state.json

name change

* Update tests/components/zwave_js/test_light.py

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

* Update test_light.py

updated test and state

* Update test_light.py

incorrect endpoint

* changed the state

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-09-09 16:01:32 +02:00
Marc Mueller
c77eb70886 Add black caching [ci] (#99967)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-09-09 08:36:47 -05:00
Marc Mueller
483e9c92bd Update black to 23.9.0 (#99965) 2023-09-09 07:53:25 -05:00
Luke Lashley
dced72f2dd Bump python-roborock to 33.2 (#99962)
bump to 33.2
2023-09-09 14:15:28 +02:00
Robert Svensson
cf47a6c515 Add UniFi device uptime and temperature sensors (#99307)
* Add UniFi device uptime and temperature sensors

* Add native_unit_of_measurement to temperature
Remove seconds and milliseconds from device uptime
2023-09-09 11:12:44 +02:00
J. Nick Koston
f903cd6fc0 Bump dbus-fast to 2.0.1 (#99894) 2023-09-08 21:16:21 -05:00
J. Nick Koston
694638cbc0 Bump bleak to 0.21.1 (#99960) 2023-09-08 19:39:30 -05:00
Marc Mueller
e163e00acd Update RestrictedPython to 6.2 (#99955) 2023-09-08 18:51:26 -05:00
Joost Lekkerkerker
75f923a86e Use device class translations for Devolo Update entity (#99235) 2023-09-09 01:16:51 +02:00
elmurato
d59aa958b6 Add tests for Minecraft Server entry migration from v1 to v2 (#99954) 2023-09-08 23:03:27 +02:00
Bram Kragten
9e6ac1d7ec 2023.9.1 (#99950) 2023-09-08 22:46:00 +02:00
Daniel Hjelseth Høyer
2dcf6a6f5b Bump millheater to 0.11.2 (#99683)
Update Mill lib

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
2023-09-08 21:17:02 +02:00
Bram Kragten
6e952134e7 Bumped version to 2023.9.1 2023-09-08 21:03:27 +02:00
Erik Montnemery
ff393f6b86 Bump hatasmota to 0.7.1 (#99818) 2023-09-08 21:02:43 +02:00
Erik Montnemery
f753f5af6e Make WS command render_template not give up if initial render raises (#99808) 2023-09-08 21:02:42 +02:00
Erik Montnemery
1654ef7759 Make WS command render_template not give up if initial render raises (#99808) 2023-09-08 21:02:06 +02:00
Erik Montnemery
b317e04cf1 Bump hatasmota to 0.7.1 (#99818) 2023-09-08 21:01:34 +02:00
J. Nick Koston
f0ee20c15c Bump orjson to 3.9.7 (#99938) 2023-09-08 13:59:35 -05:00
J. Nick Koston
19c2bbcd93 Bump zeroconf to 0.98.0 (#99748) 2023-09-08 20:57:03 +02:00
J. Nick Koston
7ded08464f Bump zeroconf to 0.97.0 (#99554)
changelog: https://github.com/python-zeroconf/python-zeroconf/compare/0.96.0...0.97.0
2023-09-08 20:56:23 +02:00
J. Nick Koston
c1447d5ce4 Bump zeroconf to 0.96.0 (#99549) 2023-09-08 20:56:02 +02:00
J. Nick Koston
55533350d2 Bump zeroconf to 0.93.1 (#99516)
* Bump zeroconf to 0.92.0

changelog: https://github.com/python-zeroconf/python-zeroconf/compare/0.91.1...0.92.0

* drop unused argument

* Update tests/components/thread/test_diagnostics.py

* lint

* again

* bump again since actions failed to release the wheels
2023-09-08 20:55:01 +02:00
Jan Bouwhuis
06109d22fd Fix key error MQTT binary_sensor when no name is set (#99943)
Log entitty ID when instead of name
2023-09-08 20:53:06 +02:00
Joost Lekkerkerker
f1bae7d37b Bump pyenphase to v1.11.0 (#99941) 2023-09-08 20:53:05 +02:00
jan iversen
0e4bf58736 Bump pymodbus v.3.5.1 (#99940) 2023-09-08 20:53:04 +02:00
jan iversen
50c34ab419 Bump pymodbus v3.5.0 (#99343)
Bump pymodbus v3.5.0.
2023-09-08 20:52:31 +02:00
Bram Kragten
fed061f69c Update frontend to 20230908.0 (#99939) 2023-09-08 20:51:08 +02:00
J. Nick Koston
330e527560 Upgrade bluetooth deps to fix timeout behavior on py3.11 (#99879) 2023-09-08 20:51:06 +02:00
Jan Bouwhuis
110a17ad6d Fix NOAA tides warnings (#99856) 2023-09-08 20:51:05 +02:00
puddly
dccccda502 Bump ZHA dependencies (#99855) 2023-09-08 20:51:04 +02:00
J. Nick Koston
02b6bbdcc6 Bump dbus-fast to 1.95.2 (#99852) 2023-09-08 20:51:03 +02:00
J. Nick Koston
cadf56c989 Bump dbus-fast to 1.95.0 (#99749) 2023-09-08 20:50:18 +02:00
Simone Chemelli
d50f9f4e51 Bump aiovodafone to 0.1.0 (#99851)
* bump aiovodafone to 0.1.0

* fix tests
2023-09-08 20:46:12 +02:00
J. Nick Koston
7dc7060825 Fix missing name and identifiers for ELKM1 connected devices (#99828) 2023-09-08 20:46:11 +02:00
Joost Lekkerkerker
0b4fedccff Use correct config entry id in Livisi (#99812) 2023-09-08 20:46:10 +02:00
Erik Montnemery
850c095988 Improve error handling in /api/states POST (#99810) 2023-09-08 20:46:09 +02:00
Erik Montnemery
31fb9d12ea Always set severity level flag on render_template error events (#99804) 2023-09-08 20:46:08 +02:00
lymanepp
590ac173ed Fix missing dew point and humidity in tomorrowio forecasts (#99793)
* Fix missing dew point and humidity in tomorrowio forecasts

* Add assertion for correct parameters to realtime_and_all_forecasts method
2023-09-08 20:46:07 +02:00
swamplynx
45e723135c Bump pylutron-caseta to v0.18.2 (#99789)
* Bump pylutron-caseta to v0.18.2

Minor bump to pylutron-caseta requirement to support wall mounted occupancy sensor device type in latest RA3 firmware.

* Update requirements_all.txt for pylutron-caseta 0.18.2

* Update requirements_test_all.txt for pylutron-caseta 0.18.2
2023-09-08 20:46:06 +02:00
J. Nick Koston
c217ea7b38 Bump pyenphase to 1.9.3 (#99787)
* Bump pyenphase to 1.9.2

changelog: https://github.com/pyenphase/pyenphase/compare/v1.9.1...v1.9.2

Handle the case where the user has manually specified a password for
local auth with firmware < 7.x but its incorrect.

The integration previously accepted any wrong password and would
reduce functionality down to what works without a password. We now
preserve that behavior to avoid breaking existing installs.

* bump
2023-09-08 20:46:05 +02:00
Aaron Bach
c740b79e1e Bump aiorecollect to 2023.09.0 (#99780) 2023-09-08 20:46:04 +02:00
Pawel
7c7fed0322 Add support for more busy codes for Epson (#99771)
add support for more busy codes
2023-09-08 20:46:02 +02:00
J. Nick Koston
a25f6bbd09 Bump sense_energy to 0.12.1 (#99763) 2023-09-08 20:46:01 +02:00
Quentame
fb56e48e07 Fix Freebox Home battery sensor (#99756) 2023-09-08 20:44:43 +02:00
Quentame
718f1a6673 Fix Freebox disk free space sensor (#99757)
* Fix Freebox disk free space sensor

* Add initial value assert to check results
2023-09-08 20:44:19 +02:00
Joost Lekkerkerker
c741214ab5 Revert "Bump pyoverkiz to 1.10.1 (#97916)" (#99742) 2023-09-08 19:59:32 +02:00
Jan Bouwhuis
64408cab10 Handle alexa invalid climate temp adjustment (#99740)
* Handle temp adjust when target state not set

* Update homeassistant/components/alexa/errors.py

Co-authored-by: Robert Resch <robert@resch.dev>

* black

---------

Co-authored-by: Robert Resch <robert@resch.dev>
2023-09-08 19:59:30 +02:00
Marc Mueller
8b69f9fda8 Fix tradfri asyncio.wait (#99730) 2023-09-08 19:59:29 +02:00
David Knowles
39669bc788 Fix the Hydrawise status sensor (#99271) 2023-09-08 19:59:28 +02:00
J. Nick Koston
d1ac4c9c46 Switch a few ssdp calls to use get_lower (#99931)
get_lower avoids lower casing already lower-cased strings
2023-09-08 13:59:25 -04:00
jan iversen
be4ea32049 Bump pymodbus v.3.5.1 (#99940) 2023-09-08 19:20:06 +02:00
Jan Bouwhuis
677431ed71 Fix key error MQTT binary_sensor when no name is set (#99943)
Log entitty ID when instead of name
2023-09-08 19:10:17 +02:00
J. Nick Koston
bd1d8675a9 Avoid many hass.is_stopping calls in the discovery helper (#99929)
async_has_matching_flow is more likely to be True than hass.is_stopping

This does not make much difference but it was adding noise to a profile
that I am digging into to look for another issue
2023-09-08 13:09:29 -04:00
Joost Lekkerkerker
9a45e2cf91 Bump pyenphase to v1.11.0 (#99941) 2023-09-08 19:08:32 +02:00
J. Nick Koston
d624bbbc0c Migrate elkm1 to use a dataclass for integration data (#99830)
* Migrate elkm1 to use a dataclass for integration data

* fix unsaved

* slotted

* missing coveragerc

* Revert "missing coveragerc"

This reverts commit 3397b40309.
2023-09-08 13:07:09 -04:00
J. Nick Koston
3d403c9b60 Refactor entity service calls to reduce complexity (#99783)
* Refactor entity service calls to reduce complexity

gets rid of the noqa C901

* Refactor entity service calls to reduce complexity

gets rid of the noqa C901

* short
2023-09-08 13:04:53 -04:00
Bram Kragten
16f7bc7bf8 Update frontend to 20230908.0 (#99939) 2023-09-08 18:59:08 +02:00
Joost Lekkerkerker
38247ae868 Use shorthand attributes in Volumio (#99918) 2023-09-08 17:31:57 +02:00
Joost Lekkerkerker
c6f8766b1e Use shorthand attributes in Zerproc (#99926) 2023-09-08 17:27:18 +02:00
Joost Lekkerkerker
5f6f2c2cab Use shorthand attributes in Wolflink (#99921) 2023-09-08 14:38:09 +02:00
Joost Lekkerkerker
5ddaf52b27 Use shorthand attributes in Wilight (#99920) 2023-09-08 14:29:59 +02:00
Michael Hansen
e69c88a0d2 Use aliases when listing pipeline languages (#99672) 2023-09-08 08:22:08 -04:00
J. Nick Koston
98ff3e233d Fix missing name and identifiers for ELKM1 connected devices (#99828) 2023-09-08 13:32:21 +02:00
J. Nick Koston
8742c550be Upgrade bluetooth deps to fix timeout behavior on py3.11 (#99879) 2023-09-08 13:25:25 +02:00
dependabot[bot]
67de96adfa Bump actions/cache from 3.3.1 to 3.3.2 (#99903) 2023-09-08 13:18:26 +02:00
Ali Yousuf
47a75cc064 Add more options to Islamic Prayer Times (#95156) 2023-09-08 13:07:33 +02:00
Joost Lekkerkerker
0cf32e74d6 Use shorthand attributes in Tp-link (#99888) 2023-09-08 12:36:46 +02:00
Joost Lekkerkerker
b2c3d95911 Use shorthand attributes in UPB (#99892) 2023-09-08 11:33:59 +02:00
Sam Crang
b2b57c5f87 Allow exporting of update domain to Prometheus (#99400) 2023-09-07 20:43:47 -07:00
lymanepp
b76ba002e2 Fix missing dew point and humidity in tomorrowio forecasts (#99793)
* Fix missing dew point and humidity in tomorrowio forecasts

* Add assertion for correct parameters to realtime_and_all_forecasts method
2023-09-07 22:12:18 -04:00
Joost Lekkerkerker
432894a401 Use shorthand attributes in SRP Energy (#99881) 2023-09-08 01:20:22 +02:00
Joost Lekkerkerker
92628ea068 Use shorthand attributes in Starline (#99882) 2023-09-08 01:16:35 +02:00
Joost Lekkerkerker
4e826f1704 Use shorthand attributes in Syncthing (#99883) 2023-09-08 01:16:08 +02:00
Joost Lekkerkerker
9e8a8012df Use shorthand attributes in Syncthru (#99884) 2023-09-08 01:15:58 +02:00
Joost Lekkerkerker
a3d6c6192e Use shorthand attributes in Tado (#99886) 2023-09-08 01:15:49 +02:00
Joost Lekkerkerker
56f05bee91 Use shorthand attributes in Tradfri (#99890) 2023-09-08 01:15:34 +02:00
Joost Lekkerkerker
c2b119bfaf Use shorthand attributes in Tp-link Omada (#99889) 2023-09-08 01:07:15 +02:00
Joost Lekkerkerker
5a66aac330 Use shorthand attributes in Telldus live (#99887) 2023-09-08 01:02:03 +02:00
Simone Chemelli
a82cd48282 Bump aiovodafone to 0.1.0 (#99851)
* bump aiovodafone to 0.1.0

* fix tests
2023-09-08 00:32:15 +02:00
J. Nick Koston
9d5595fd7d Bump zeroconf to 0.102.0 (#99875) 2023-09-07 16:08:53 -05:00
Jan Bouwhuis
cd8426152f Fix NOAA tides warnings (#99856) 2023-09-07 21:49:03 +02:00
mkmer
4ce9c1f304 Add Diagnostic platform to Aladdin Connect (#99682)
* Add diagnostics platform

* Add diagnostic platform

* Add raw data to diagnostics

* Remove config data
bump aioaladdinconnect, use new doors property for diag

* remove unnecessary component config
refactor diag output
2023-09-07 21:27:41 +02:00
jan iversen
77180a73b7 Modbus scale parameter cuts decimals (#99758) 2023-09-07 20:56:00 +02:00
jimmyd-be
1c27a0339d Renson fan (#94495)
* Add fan feature

* Changed order of platform

* Use super()._handle_coordinator_update()

* format file

* Set _attr_has_entity_name

* Cleanup Fan code

* Refresh after setting ventilation speed + translation

* remove unused translation key
2023-09-07 20:37:14 +02:00
G Johansson
0dc8e8dabe Add device class and UoM in Sensibo Number entities (#99861)
* device class and uom number platform

* icons
2023-09-07 20:34:23 +02:00
J. Nick Koston
54bd7c9af0 Bump dbus-fast to 1.95.2 (#99852) 2023-09-07 13:27:29 -05:00
J. Nick Koston
c68d96cf09 Bump zeroconf to 0.99.0 (#99853) 2023-09-07 13:25:29 -05:00
Joost Lekkerkerker
4017473d51 Use str instead of string placeholders in solaredge (#99843) 2023-09-07 20:00:43 +02:00
Joost Lekkerkerker
66d16108be Use shorthand attributes in Rainforest eagle (#99825) 2023-09-07 19:52:12 +02:00
Joost Lekkerkerker
02e077daab Use shorthand attributes in Ring (#99829) 2023-09-07 19:51:35 +02:00
Joost Lekkerkerker
a00cbe2677 Move shorthand attributes out of Snooz constructor (#99842) 2023-09-07 19:49:18 +02:00
Joost Lekkerkerker
dcd00546ba Use shorthand attributes in Sonarr (#99844) 2023-09-07 19:47:56 +02:00
puddly
e8c4ddf05c Bump ZHA dependencies (#99855) 2023-09-07 19:22:24 +02:00
Joost Lekkerkerker
94aec3e590 Use shorthand attributes in Opentherm gateway (#99630) 2023-09-07 18:30:58 +02:00
Joost Lekkerkerker
c567a2c3d4 Move unit of temperature to descriptions in Sensibo (#99835) 2023-09-07 17:36:07 +02:00
Quentame
c3e14d0514 Fix Freebox Home battery sensor (#99756) 2023-09-07 17:28:50 +02:00
Joost Lekkerkerker
69f6a115b6 Move shorthand attributes out of constructor in Sensibo (#99834)
Use shorthand attributes in Sensibo
2023-09-07 17:28:13 +02:00
Joost Lekkerkerker
73651dbffd Use shorthand attributes in Snapcast (#99840) 2023-09-07 16:37:30 +02:00
Joost Lekkerkerker
d9b48b03f7 Use shorthand attributes in Rachio (#99823) 2023-09-07 09:20:57 -05:00
Joost Lekkerkerker
2a3ebbc26c Use shorthand attributes in SharkIQ (#99836) 2023-09-07 16:08:44 +02:00
Joost Lekkerkerker
114b5bd1f0 Use shorthand attributes in Roomba (#99831) 2023-09-07 15:56:40 +02:00
Joost Lekkerkerker
1fe17b5bed Use shorthand attributes in Sense (#99833) 2023-09-07 15:56:21 +02:00
Joost Lekkerkerker
526b587170 Remove unused variable from rainbird (#99824) 2023-09-07 15:32:03 +02:00
Jan Rieger
0d6f202eb3 Change AVM FRITZ!Box Call monitor sensor into an enum (#99762)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2023-09-07 15:26:57 +02:00
Marc Mueller
c9a1836d45 Update coverage to 7.3.1 (#99805) 2023-09-07 14:54:56 +02:00
Joost Lekkerkerker
40a3d97230 Use shorthand attributes in Plex (#99769)
Co-authored-by: Robert Resch <robert@resch.dev>
2023-09-07 13:55:16 +02:00
Joost Lekkerkerker
8a4cd913b8 Use shorthand attributes in Hisense (#99355) 2023-09-07 13:53:44 +02:00
Erik Montnemery
368acaf6fd Improve error handling in /api/states POST (#99810) 2023-09-07 13:33:38 +02:00
Erik Montnemery
eee5705458 Fix typo in TrackTemplateResultInfo (#99809) 2023-09-07 13:00:26 +02:00
Joost Lekkerkerker
306c7cd9a9 Use correct config entry id in Livisi (#99812) 2023-09-07 12:45:47 +02:00
Pawel
dfee5d06a6 Add support for more busy codes for Epson (#99771)
add support for more busy codes
2023-09-07 12:45:31 +02:00
elmurato
7c3605c82e Use config entry ID as unique ID and remove dependency to getmac in Minecraft Server (#97837)
* Use config entry ID as unique ID

* Add entry migration to v2 and and remove helper module

* Remove unneeded strings

* Add asserts for config, device and entity entries and improve comments

* Add debug log for config entry migration

* Reset config entry unique ID and use config entry ID instead

* Remove unnecessary unique ID debug log

* Revert usage of constants for tranlation keys and use dash as delimiter for entity unique id suffix

* Revert "Revert usage of constants for tranlation keys and use dash as delimiter for entity unique id suffix"

This reverts commit 07de334606054097e914404da04950e952bef6d2.

* Remove unused logger in entity module
2023-09-07 12:22:46 +02:00
swamplynx
e8dfa7e2c8 Bump pylutron-caseta to v0.18.2 (#99789)
* Bump pylutron-caseta to v0.18.2

Minor bump to pylutron-caseta requirement to support wall mounted occupancy sensor device type in latest RA3 firmware.

* Update requirements_all.txt for pylutron-caseta 0.18.2

* Update requirements_test_all.txt for pylutron-caseta 0.18.2
2023-09-07 12:17:38 +02:00
J. Nick Koston
f1ae523ff2 Bump pyenphase to 1.9.3 (#99787)
* Bump pyenphase to 1.9.2

changelog: https://github.com/pyenphase/pyenphase/compare/v1.9.1...v1.9.2

Handle the case where the user has manually specified a password for
local auth with firmware < 7.x but its incorrect.

The integration previously accepted any wrong password and would
reduce functionality down to what works without a password. We now
preserve that behavior to avoid breaking existing installs.

* bump
2023-09-07 12:17:04 +02:00
Rami Mosleh
0cc2c27115 Add strict typing to islamic prayer times (#99585)
* Add strict typing to islamic prayer times

* fix mypy errors
2023-09-07 12:16:31 +02:00
Erik Montnemery
e5210c5823 Always set severity level flag on render_template error events (#99804) 2023-09-07 12:00:19 +02:00
Arda ŞEREMET
9351e79dcb Bump ProgettiHWSW to 0.1.3 (#92668)
* Update manifest.json

* Update requirements_test_all.txt

* Update requirements_all.txt

* Updated dependencies file.

* Update manifest.json with correct naming convention.

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

* Updated requirements.

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-09-07 10:53:59 +02:00
Ståle Storø Hauknes
d2f9270bc9 Add my self as codeowner for airthings_ble (#99799)
Update airthings_ble codeowner
2023-09-07 10:36:49 +02:00
Quentame
1a22ab77e1 Fix Freebox disk free space sensor (#99757)
* Fix Freebox disk free space sensor

* Add initial value assert to check results
2023-09-07 10:28:08 +02:00
Maciej Bieniek
e1f4a3fa9f Add energy meter sensors for Shelly Pro EM (#99747)
* Add support for Pro EM

* Improve get_rpc_channel_name()

* Revert an unintended change

* Add tests
2023-09-07 06:59:04 +02:00
J. Nick Koston
0c7e0f5cd9 Bump sense_energy to 0.12.1 (#99763) 2023-09-06 20:01:22 -05:00
Aaron Bach
2565f153cd Bump aiorecollect to 2023.09.0 (#99780) 2023-09-06 17:26:14 -06:00
Joost Lekkerkerker
3afdecd51f Use shorthand attributes in Plum (#99770)
Use shorthand attributes in Plum shorthand
2023-09-06 23:37:31 +02:00
Joost Lekkerkerker
61b02e9c66 Use shorthand attributes in Progetti (#99772)
Use shorthand attributes in Progetti shorthand
2023-09-06 23:34:39 +02:00
Joost Lekkerkerker
b0e46f425f Remove deprecated entities from OpenTherm Gateway (#99712) 2023-09-06 21:50:48 +02:00
J. Nick Koston
533350b94a Bump dbus-fast to 1.95.0 (#99749) 2023-09-06 13:21:21 -05:00
J. Nick Koston
fdf902e053 Bump zeroconf to 0.98.0 (#99748) 2023-09-06 12:37:42 -05:00
Jan Bouwhuis
7c7456df99 Handle alexa invalid climate temp adjustment (#99740)
* Handle temp adjust when target state not set

* Update homeassistant/components/alexa/errors.py

Co-authored-by: Robert Resch <robert@resch.dev>

* black

---------

Co-authored-by: Robert Resch <robert@resch.dev>
2023-09-06 18:54:16 +02:00
Jan-Philipp Benecke
7a6c8767b3 Improve typing of trend component (#99719)
* Some typing in trend component

* Add missing type hint

* Enable strict typing on trend
2023-09-06 18:51:38 +02:00
Tomáš Holý
9bc07f50f9 Add additional fields for 3-phase UPS to nut (#98625)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-09-06 11:39:33 -05:00
mkmer
54d92b649b Raise error on open/close failure in Aladdin Connect (#99746)
Raise error on open/close failure
2023-09-06 18:33:58 +02:00
James Smith
f24c4ceab6 Enable strict typing for Climate component (#99301)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-09-06 17:55:41 +02:00
Marc Mueller
8bfdc5d3d9 Update pytest-aiohttp to 1.0.5 (#99744) 2023-09-06 17:37:11 +02:00
Joost Lekkerkerker
eab76fc621 Revert "Bump pyoverkiz to 1.10.1 (#97916)" (#99742) 2023-09-06 17:16:40 +02:00
Bram Kragten
f70469d6ef 2023.9.0 (#99741) 2023-09-06 17:16:35 +02:00
Marc Mueller
ab3bc1b74b Improve blink config_flow typing (#99579) 2023-09-06 17:00:16 +02:00
Marc Mueller
2628a86864 Update pre-commit to 3.4.0 (#99737) 2023-09-06 16:58:57 +02:00
Marc Mueller
d8035ddf47 Fix tradfri asyncio.wait (#99730) 2023-09-06 16:57:13 +02:00
Marc Mueller
5d54660802 Fix asyncio.wait typing (#99726) 2023-09-06 16:53:41 +02:00
David Knowles
0b95e4ac17 Fix the Hydrawise status sensor (#99271) 2023-09-06 16:51:27 +02:00
Bram Kragten
d369a70092 Bumped version to 2023.9.0 2023-09-06 16:09:56 +02:00
Bram Kragten
02fc735c08 Update frontend to 20230906.1 (#99733) 2023-09-06 16:09:06 +02:00
Erik Montnemery
b5d9014bbd Correct state attributes in group helper preview (#99723) 2023-09-06 16:09:05 +02:00
Erik Montnemery
d99e5e0c4f Correct state attributes in template helper preview (#99722) 2023-09-06 16:09:03 +02:00
Erik Montnemery
6f6306b39b Don't allow changing device class in template binary sensor options (#99720) 2023-09-06 16:09:02 +02:00
Erik Montnemery
067f946129 Send template render errors to template helper preview (#99716) 2023-09-06 16:09:01 +02:00
starkillerOG
107ca83d42 Reolink onvif not supported fix (#99714)
* only subscibe to ONVIF if supported

* Catch NotSupportedError when ONVIF is not supported

* fix styling
2023-09-06 16:09:00 +02:00
Erik Montnemery
c9a6ea94a7 Send template render errors to template helper preview (#99716) 2023-09-06 16:07:05 +02:00
Erik Montnemery
e1ea53e72f Correct state attributes in template helper preview (#99722) 2023-09-06 16:06:33 +02:00
Erik Montnemery
c376447ccd Don't allow changing device class in template binary sensor options (#99720) 2023-09-06 15:59:30 +02:00
Erik Montnemery
97710dc5b7 Correct state attributes in group helper preview (#99723) 2023-09-06 15:59:03 +02:00
David Knowles
bb765449eb Add binary_sensor to Schlage (#99637)
* Add binary_sensor to Schlage

* Apply suggestions from code review

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-09-06 15:03:54 +02:00
Bram Kragten
9700888df1 Update frontend to 20230906.1 (#99733) 2023-09-06 15:00:26 +02:00
starkillerOG
0037385336 Reolink onvif not supported fix (#99714)
* only subscibe to ONVIF if supported

* Catch NotSupportedError when ONVIF is not supported

* fix styling
2023-09-06 14:46:24 +02:00
Jan Bouwhuis
397952ceea Postpone Imap_email_content removal (#99721) 2023-09-06 12:45:46 +02:00
Jan Bouwhuis
b815ea1332 Revert "Remove imap_email_content integration" (#99713) 2023-09-06 11:54:18 +02:00
Marc Mueller
274507b5c9 Fix pylint plugin test DeprecationWarning (#99711) 2023-09-06 11:35:57 +02:00
J. Nick Koston
034fabe188 Use loop time to set context (#99701)
* Use loop time to set context

loop time is faster than utcnow, and since its only used internally it can
be switched without a breaking change

* fix mocking
2023-09-06 11:04:49 +02:00
Bram Kragten
98896834cd Bump version to 2023.9.0b6 2023-09-06 11:00:01 +02:00
Bram Kragten
800ff489b0 Update frontend to 20230906.0 (#99715) 2023-09-06 10:56:53 +02:00
Erik Montnemery
7b7fd35af2 Fix unit conversion for gas cost sensor (#99708) 2023-09-06 10:56:53 +02:00
J. Nick Koston
f9ee18352d Bump aioesphomeapi to 16.0.5 (#99698)
changelog: https://github.com/esphome/aioesphomeapi/compare/v16.0.4...v16.0.5

fixes `RuntimeError: set changed size during iteration`

https://github.com/esphome/aioesphomeapi/pull/538

some added debug logging which may help with https://github.com/home-assistant/core/issues/98221
2023-09-06 10:56:52 +02:00
Robert Svensson
e486ad735d Bump aiounifi to v61 (#99686)
* Bump aiounifi to v61

* Alter a test to cover the upstream change
2023-09-06 10:56:51 +02:00
Daniel Gangl
cea1109e25 Bump zamg to 0.3.0 (#99685) 2023-09-06 10:56:50 +02:00
c0ffeeca7
71afa0ff43 Yellow LED controls: rename LEDs (#99710)
- reorder, to reflect placement on board, left to right (yellow, green, red)
2023-09-06 10:46:52 +02:00
starkillerOG
96e932dad6 Bump reolink_aio to 0.7.9 (#99680) 2023-09-06 10:43:30 +02:00
puddly
aa32b658b2 Fix ZHA startup creating entities with non-unique IDs (#99679)
* Make the ZHAGateway initialization restartable so entities are unique

* Add a unit test
2023-09-06 10:43:29 +02:00
Erik Montnemery
0cbcacbbf5 Include template listener info in template preview (#99669) 2023-09-06 10:43:28 +02:00
Erik Montnemery
9d87e8d02b Allow specifying a custom log function for template render (#99572)
* Allow specifying a custom log function for template render

* Bypass template cache when reporting errors + fix tests

* Send errors as events

* Fix logic for creating new TemplateEnvironment

* Add strict mode back

* Only send error events if report_errors is True

* Force test of websocket_api only

* Debug test

* Run pytest with higher verbosity

* Timeout after 1 minute, enable syslog output

* Adjust timeout

* Add debug logs

* Fix unsafe call to WebSocketHandler._send_message

* Remove debug code

* Improve test coverage

* Revert accidental change

* Include severity in error events

* Remove redundant information from error events
2023-09-06 10:43:27 +02:00
Bram Kragten
00ada69e0b Update frontend to 20230906.0 (#99715) 2023-09-06 10:40:05 +02:00
Erik Montnemery
687e69f7c3 Fix unit conversion for gas cost sensor (#99708) 2023-09-06 10:35:04 +02:00
Erik Montnemery
48f7924e9e Allow specifying a custom log function for template render (#99572)
* Allow specifying a custom log function for template render

* Bypass template cache when reporting errors + fix tests

* Send errors as events

* Fix logic for creating new TemplateEnvironment

* Add strict mode back

* Only send error events if report_errors is True

* Force test of websocket_api only

* Debug test

* Run pytest with higher verbosity

* Timeout after 1 minute, enable syslog output

* Adjust timeout

* Add debug logs

* Fix unsafe call to WebSocketHandler._send_message

* Remove debug code

* Improve test coverage

* Revert accidental change

* Include severity in error events

* Remove redundant information from error events
2023-09-06 10:03:35 +02:00
Jan-Philipp Benecke
f41b045244 Use shorthand attributes in Trend (#99695) 2023-09-06 09:55:25 +02:00
Erik Montnemery
cdca4591a4 Include template listener info in template preview (#99669) 2023-09-06 09:49:42 +02:00
Jan-Philipp Benecke
b28fda2433 Move template coordinator to its own file (#99419)
* Move template update coordinator to its own file

* Add coordinator.py to .coveragerc

* Remove coordinator.py to .coveragerc

* Apply suggestions from code review

* Update homeassistant/components/template/coordinator.py

* Copy over fixes from upstream

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2023-09-06 08:54:25 +02:00
tronikos
d4ef570b0a Add a comment why state_class=total (#99703) 2023-09-06 08:43:46 +02:00
Rami Mosleh
d523734db1 Display channel number in Bravia TV if title is not available (#99567)
Display channel number if title is not available
2023-09-06 08:35:34 +02:00
Maciej Bieniek
d9a1ebafdd Show OTA update progress for Shelly gen2 devices (#99534)
* Show OTA update progress

* Use an event listener instead of a dispatcher

* Add tests

* Fix name

* Improve tests coverage

* Fix subscribe/unsubscribe logic

* Use async_on_remove()
2023-09-06 08:17:45 +02:00
Joost Lekkerkerker
4f05e61072 Add codeowner for Withings (#99681) 2023-09-05 21:14:56 -05:00
J. Nick Koston
da45f6cbb0 Bump aioesphomeapi to 16.0.5 (#99698)
changelog: https://github.com/esphome/aioesphomeapi/compare/v16.0.4...v16.0.5

fixes `RuntimeError: set changed size during iteration`

https://github.com/esphome/aioesphomeapi/pull/538

some added debug logging which may help with https://github.com/home-assistant/core/issues/98221
2023-09-05 20:42:50 -05:00
J. Nick Koston
e22b03d6b3 Switch homekit config flow sorted to use itemgetter (#99658)
Avoids unnecessary lambda
2023-09-05 21:18:46 -04:00
J. Nick Koston
a2dae60170 Refactor dispatcher to reduce run time and memory overhead (#99676)
* Fix memory leak in dispatcher removal

When we removed the last job/callable from the dict for the
signal we did not remove the dict for the signal which meant
it leaked

* comment

* cleanup a bit more
2023-09-05 21:18:27 -04:00
J. Nick Koston
b69cc29a78 Switch lambda to attrgetter in zha (#99660) 2023-09-05 22:45:45 +02:00
J. Nick Koston
a1359c1ce3 Replace lambda in script/gen_requirements_all.py with str.lower (#99665) 2023-09-05 22:44:59 +02:00
Jan Bouwhuis
c64d173fcb Remove imap_email_content integration (#99484) 2023-09-05 21:50:51 +02:00
starkillerOG
3f3d8b1e1e Bump reolink_aio to 0.7.9 (#99680) 2023-09-05 21:21:27 +02:00
Daniel Gangl
2cf25ee9ec Bump zamg to 0.3.0 (#99685) 2023-09-05 21:18:06 +02:00
Daniel Hjelseth Høyer
a9c41f76e3 Bump millheater to 0.11.2 (#99683)
Update Mill lib

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
2023-09-05 21:14:39 +02:00
Robert Svensson
b0e40d95ad Bump aiounifi to v61 (#99686)
* Bump aiounifi to v61

* Alter a test to cover the upstream change
2023-09-05 21:13:28 +02:00
puddly
7ab1913ba4 Fix ZHA startup creating entities with non-unique IDs (#99679)
* Make the ZHAGateway initialization restartable so entities are unique

* Add a unit test
2023-09-05 20:30:28 +02:00
Bram Kragten
6b8027019b Bump version to 2023.9.0b5 2023-09-05 20:25:02 +02:00
Bram Kragten
fed84ebc40 Update frontend to 20230905.0 (#99677) 2023-09-05 20:24:51 +02:00
Raman Gupta
bd0fd9db77 Bump zwave-js-server-python to 0.51.1 (#99652)
* Bump zwave-js-server-python to 0.51.1

* Update test

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-09-05 20:24:50 +02:00
J. Nick Koston
5d1fe0eb00 Fix mobile app dispatcher performance (#99647)
Fix mobile app thundering heard

The mobile_app would setup a dispatcher to listener for updates on
every entity and reject the ones that were not for the unique id
that it was intrested in.

Instead we now register for a signal per unique id since we were
previously generating O(entities*sensors*devices) callbacks which
was causing the event loop to stall when there were a large
number of mobile app users.
2023-09-05 20:24:49 +02:00
itpeters
9e03f8a8d6 Fix long press event for matter generic switch (#99645) 2023-09-05 20:24:48 +02:00
Álvaro Fernández Rojas
c040672cab Update aioairzone to v0.6.8 (#99644)
* Update aioairzone to v0.6.8

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* Trigger CI

---------

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2023-09-05 20:24:47 +02:00
G Johansson
f0cf539e15 Fix missing unique id in SQL (#99641) 2023-09-05 20:24:46 +02:00
G Johansson
2a7c12013f Fix not stripping no device class in template helper binary sensor (#99640)
Strip none template helper binary sensor
2023-09-05 20:24:45 +02:00
Erik Montnemery
4c0e4fe745 Small cleanup of TemplateEnvironment (#99571)
* Small cleanup of TemplateEnvironment

* Fix typo
2023-09-05 20:24:44 +02:00
Bram Kragten
7fbb1c0fb6 Update frontend to 20230905.0 (#99677) 2023-09-05 20:12:40 +02:00
Joost Lekkerkerker
5ccf866e22 Use shorthand attributes for Plaato (#99634)
Co-authored-by: Robert Resch <robert@resch.dev>
2023-09-05 19:01:51 +02:00
J. Nick Koston
e9062bb1b3 Replace lambda with attrgetter in homekit_controller (#99666) 2023-09-05 10:36:43 -05:00
J. Nick Koston
abb0537928 Replace lambda with itemgetter in script/gen_requirements_all.py (#99661) 2023-09-05 10:36:01 -05:00
J. Nick Koston
a04c61e77b Replace lambda with attrgetter in device_tracker device_trigger (#99663) 2023-09-05 16:41:35 +02:00
J. Nick Koston
035fea3ee0 Replace lambda with attrgetter in hassfest (#99662) 2023-09-05 16:40:25 +02:00
Joost Lekkerkerker
2c45d43e7b Use shorthand attributes in Neato (#99605)
Co-authored-by: Robert Resch <robert@resch.dev>
2023-09-05 16:33:46 +02:00
Raman Gupta
5afba6327c Bump zwave-js-server-python to 0.51.1 (#99652)
* Bump zwave-js-server-python to 0.51.1

* Update test

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-09-05 09:58:32 -04:00
Joost Lekkerkerker
c6bdc380b6 Use shorthand attributes in Ondilo ico (#99627) 2023-09-05 15:40:43 +02:00
Joost Lekkerkerker
3c82045289 Use shorthand attributes in Omnilogic (#99626) 2023-09-05 15:40:11 +02:00
Joost Lekkerkerker
58af0ab0cd Use shorthand attributes in NZBGet (#99622) 2023-09-05 15:37:00 +02:00
Joost Lekkerkerker
0ae12ad08f Use shorthand attributes in Logi circle (#99592) 2023-09-05 15:27:38 +02:00
Joost Lekkerkerker
1f648feaef Use shorthand attributes in Kostal Plenticore (#99581) 2023-09-05 15:26:23 +02:00
Joost Lekkerkerker
447a9f4aad Use shorthand attributes in Konnected (#99580) 2023-09-05 15:25:00 +02:00
Joost Lekkerkerker
c49f086790 Use shorthand attributes in Kodi (#99578) 2023-09-05 15:22:52 +02:00
Joost Lekkerkerker
d5ad01ffbe Use shorthand attributes in Openhome (#99629) 2023-09-05 14:57:26 +02:00
itpeters
582eeea082 Fix long press event for matter generic switch (#99645) 2023-09-05 13:10:14 +02:00
Álvaro Fernández Rojas
c77a0a8caa Update aioairzone to v0.6.8 (#99644)
* Update aioairzone to v0.6.8

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* Trigger CI

---------

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2023-09-05 12:42:19 +02:00
Joost Lekkerkerker
f13e7706ed Use shorthand attributes in Nuheat (#99618) 2023-09-05 11:54:53 +02:00
dependabot[bot]
2c3a4b3497 Bump actions/checkout from 3.6.0 to 4.0.0 (#99651) 2023-09-05 08:57:09 +02:00
Joost Lekkerkerker
49bd7e6251 Use shorthand attributes for Picnic (#99633) 2023-09-04 20:59:44 -04:00
J. Nick Koston
fed1cab847 Fix mobile app dispatcher performance (#99647)
Fix mobile app thundering heard

The mobile_app would setup a dispatcher to listener for updates on
every entity and reject the ones that were not for the unique id
that it was intrested in.

Instead we now register for a signal per unique id since we were
previously generating O(entities*sensors*devices) callbacks which
was causing the event loop to stall when there were a large
number of mobile app users.
2023-09-04 20:56:34 -04:00
J. Nick Koston
ff2e0c570b Improve performance of google assistant supported checks (#99454)
* Improve performance of google assistant supported checks

* tweak

* tweak

* split function

* tweak
2023-09-04 20:53:59 -04:00
J. Nick Koston
63273a307a Fix Bluetooth passive update processor dispatching updates to unchanged entities (#99527)
* Fix passive update processor dispatching updates to unchanged entities

* adjust tests

* coverage

* fix

* Update homeassistant/components/bluetooth/update_coordinator.py
2023-09-04 20:42:05 -04:00
Martin Hjelmare
0b383067ef Move non legacy stt models out from legacy module (#99582) 2023-09-04 16:51:57 -04:00
J. Nick Koston
d2a52230ff Speed up responding to states being polled via API (#99621)
* Speed up responding to states being polled via API

Switch to using `as_dict_json` to avoid serializing states over and over when the
states api is polled since the mobile app is already building the cache as it also
polls the states via the websocket_api

* Speed up responding to states being polled via API

Switch to using `as_dict_json` to avoid serializing states over and over when the
states api is polled since the mobile app is already building the cache as it also
polls the states via the websocket_api

* fix json

* cover
2023-09-04 16:51:19 -04:00
G Johansson
47c20495bd Fix not stripping no device class in template helper binary sensor (#99640)
Strip none template helper binary sensor
2023-09-04 22:46:19 +02:00
Joost Lekkerkerker
216a174cba Move variables out of constructor in nightscout (#99612)
* Move variables out of constructor in nightscout

* Update homeassistant/components/nightscout/sensor.py

Co-authored-by: G Johansson <goran.johansson@shiftit.se>

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2023-09-04 22:35:58 +02:00
G Johansson
b8f35fb577 Fix missing unique id in SQL (#99641) 2023-09-04 22:31:53 +02:00
Erik Montnemery
de73cafc8b Small cleanup of TemplateEnvironment (#99571)
* Small cleanup of TemplateEnvironment

* Fix typo
2023-09-04 22:19:40 +02:00
Joost Lekkerkerker
bc1575a477 Move variables out of constructor in Nobo hub (#99617) 2023-09-04 22:18:36 +02:00
J. Nick Koston
cab9c97598 Bump aioesphomeapi to 16.0.4 (#99541) 2023-09-04 21:06:13 +02:00
Joakim Plate
ba5822bed4 Bump gardena_bluetooth to 1.4.0 (#99530) 2023-09-04 21:06:11 +02:00
Bram Kragten
4fcb0a840a Bump version to 2023.9.0b4 2023-09-04 20:50:17 +02:00
Bram Kragten
6b988a99d5 Update frontend to 20230904.0 (#99636) 2023-09-04 20:49:43 +02:00
Erik Montnemery
0520cadfa6 Revert "Deprecate timer start optional duration parameter" (#99613)
Revert "Deprecate timer start optional duration parameter (#93471)"

This reverts commit 2ce5b08fc3.
2023-09-04 20:49:42 +02:00
Joost Lekkerkerker
89e280e136 Remove unneeded name property from Logi Circle (#99604) 2023-09-04 20:49:41 +02:00
Joost Lekkerkerker
30c6565205 Bump pyenphase to 1.9.1 (#99574) 2023-09-04 20:49:40 +02:00
Erik Montnemery
37f8f91171 Small cleanup of WS command render_template (#99562) 2023-09-04 20:49:40 +02:00
puddly
a7efeb2c87 Bump ZHA dependencies (#99561) 2023-09-04 20:49:39 +02:00
Robert Svensson
5c42ea57b3 Bump aiounifi to v60 (#99548) 2023-09-04 20:49:38 +02:00
G Johansson
c791ddc937 Fix loading filesize coordinator from wrong place (#99547)
* Fix loading filesize coordinator from wrong place

* aboslute in executor

* combine into executor
2023-09-04 20:49:37 +02:00
Jc2k
8ccd2b6457 Update bluetooth-data-tools to 1.11.0 (#99485) 2023-09-04 20:48:55 +02:00
J. Nick Koston
a60e23caf2 Bump bleak-retry-connector to 3.1.2 (#99540) 2023-09-04 20:45:32 +02:00
jan iversen
c677dae9c1 Modbus switch, allow restore "unknown" (#99533) 2023-09-04 20:45:32 +02:00
J. Nick Koston
453c5f90f8 Bump bleak to 0.21.0 (#99520)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-09-04 20:45:31 +02:00
J. Nick Koston
70b460f52b Bump aiohomekit to 3.0.2 (#99514) 2023-09-04 20:45:29 +02:00
J. Nick Koston
2bc08d1fcc Fix module check in _async_get_flow_handler (#99509)
We should have been checking for the module in hass.data[DATA_COMPONENTS]
and not hass.config.components as the check was ineffective if there were
no existing integrations instances for the domain which is the case for
discovery or when the integration is ignored
2023-09-04 20:45:29 +02:00
Erik Montnemery
423e8fbde3 Validate state in template helper preview (#99455)
* Validate state in template helper preview

* Deduplicate state validation
2023-09-04 20:45:28 +02:00
Erik Montnemery
e5fd6961a8 Set state of entity with invalid state to unknown (#99452)
* Set state of entity with invalid state to unknown

* Add test

* Apply suggestions from code review

Co-authored-by: Robert Resch <robert@resch.dev>

* Update test_entity.py

---------

Co-authored-by: Robert Resch <robert@resch.dev>
2023-09-04 20:45:27 +02:00
Mike O'Driscoll
bdc39e1d52 Fix recollect_waste month time boundary issue (#99429) 2023-09-04 20:45:26 +02:00
Tiit Rätsep
852589f025 Fix battery reading in SOMA API (#99403)
Co-authored-by: Robert Resch <robert@resch.dev>
2023-09-04 20:45:25 +02:00
Erik Montnemery
2a5f8ee4a7 Don't set assumed_state in fan groups (#99399) 2023-09-04 20:45:24 +02:00
Erik Montnemery
1c2c13c938 Don't set assumed_state in cover groups (#99391) 2023-09-04 20:45:23 +02:00
Russell Cloran
e0594bffa1 Enumerate available states in Prometheus startup (#97993) 2023-09-04 20:45:22 +02:00
Michael
4524b38b80 Mark AVM Fritz!Smarthome as Gold integration (#97086)
set quality scale to gold
2023-09-04 20:45:22 +02:00
Allen Porter
269bcac982 Extend template entities with a script section (#96175)
* Extend template entities with a script section

This allows making a trigger entity that triggers a few times a day,
and allows collecting data from a service resopnse which can be
fed into a template entity.

The current alternatives are to publish and subscribe to events or to
store data in input entities.

* Make variables set in actions accessible to templates

* Format code

---------

Co-authored-by: Erik <erik@montnemery.com>
2023-09-04 20:45:21 +02:00
Bram Kragten
c1cfded355 Update frontend to 20230904.0 (#99636) 2023-09-04 14:44:20 -04:00
Michael
a77f1cbd9e Mark AVM Fritz!Smarthome as Gold integration (#97086)
set quality scale to gold
2023-09-04 14:23:46 -04:00
J. Nick Koston
e5ebba0753 Fix module check in _async_get_flow_handler (#99509)
We should have been checking for the module in hass.data[DATA_COMPONENTS]
and not hass.config.components as the check was ineffective if there were
no existing integrations instances for the domain which is the case for
discovery or when the integration is ignored
2023-09-04 14:19:10 -04:00
Erik Montnemery
7e36da4cc0 Small cleanup of WS command render_template (#99562) 2023-09-04 14:17:30 -04:00
Erik Montnemery
26fd36dc4c Revert "Deprecate timer start optional duration parameter" (#99613)
Revert "Deprecate timer start optional duration parameter (#93471)"

This reverts commit 2ce5b08fc3.
2023-09-04 20:10:16 +02:00
David Knowles
e57ed26896 Bump pyschlage to 2023.9.0 (#99624) 2023-09-04 19:51:33 +02:00
Joost Lekkerkerker
4812b21ffd Remove slugify from tomorrowio unique id (#99006) 2023-09-04 19:28:44 +02:00
Joost Lekkerkerker
cb5d4ee6fa Use shorthand attributes in Octoprint (#99623) 2023-09-04 19:00:19 +02:00
Joost Lekkerkerker
2391087836 Use shorthand attributes in Nest (#99606) 2023-09-04 09:50:33 -07:00
Joost Lekkerkerker
22e90a5755 Remove default state from Nibe (#99611)
Remove start state
2023-09-04 17:53:33 +02:00
Rami Mosleh
f2e0ff4f0f Bump simplepush api to 2.2.3 (#99599) 2023-09-04 16:24:20 +02:00
Duco Sebel
aa943b7103 Bumb python-homewizard-energy to 2.1.0 (#99598) 2023-09-04 16:21:55 +02:00
Joost Lekkerkerker
29664d04d0 Use shorthand attributes in Mutesync (#99600) 2023-09-04 15:31:33 +02:00
Joost Lekkerkerker
799d0e591c Remove unneeded name property from Logi Circle (#99604) 2023-09-04 15:29:30 +02:00
puddly
c225ee89d6 Bump ZHA dependencies (#99561) 2023-09-04 09:26:14 -04:00
Joost Lekkerkerker
8dc05894a8 Use shorthand attributes in Nanoleaf (#99601) 2023-09-04 15:18:48 +02:00
Joost Lekkerkerker
f1bb7c25db Use shorthand attributes in Motion eye (#99596) 2023-09-04 15:18:22 +02:00
Joost Lekkerkerker
cab0bde37b Use shorthand attributes in Lyric (#99593) 2023-09-04 15:05:33 +02:00
Rami Mosleh
3b6811dab6 Use CONF_SALT correctly in config_flow validation (#99597) 2023-09-04 14:59:18 +02:00
Erik Montnemery
7643820e59 Add loader.async_get_loaded_integration (#99440)
* Add loader.async_get_loaded_integration

* Decorate async_get_loaded_integration with @callback
2023-09-04 14:12:33 +02:00
Erik Montnemery
7c595ee2da Validate state in template helper preview (#99455)
* Validate state in template helper preview

* Deduplicate state validation
2023-09-04 14:10:43 +02:00
Erik Montnemery
709ce7e0af Set state of entity with invalid state to unknown (#99452)
* Set state of entity with invalid state to unknown

* Add test

* Apply suggestions from code review

Co-authored-by: Robert Resch <robert@resch.dev>

* Update test_entity.py

---------

Co-authored-by: Robert Resch <robert@resch.dev>
2023-09-04 14:09:51 +02:00
Erik Montnemery
6223af1899 Don't set assumed_state in fan groups (#99399) 2023-09-04 14:08:50 +02:00
Erik Montnemery
f3d8a0eaaf Don't set assumed_state in cover groups (#99391) 2023-09-04 14:08:38 +02:00
Joost Lekkerkerker
d5301fba90 Use shorthand attributes in Keenetic (#99577) 2023-09-04 13:50:05 +02:00
Joost Lekkerkerker
6194f7faea Bump pyenphase to 1.9.1 (#99574) 2023-09-04 07:39:24 -04:00
Joost Lekkerkerker
cf2d3674b9 Use shorthand attributes in Kulersky (#99583) 2023-09-04 13:29:56 +02:00
Joost Lekkerkerker
8ea3b877f6 Use shorthand attributes in Juicenet (#99575) 2023-09-04 13:21:30 +02:00
Joost Lekkerkerker
890eed1121 Use shorthand attributes in LCN (#99587) 2023-09-04 13:18:55 +02:00
Joost Lekkerkerker
051e9e7498 Use shorthand attributes in Laundrify (#99586) 2023-09-04 13:15:02 +02:00
Jan-Philipp Benecke
fa0b61e96a Move london underground coordinator to its own file (#99550) 2023-09-04 11:07:08 +02:00
Tiit Rätsep
b9536732bc Fix battery reading in SOMA API (#99403)
Co-authored-by: Robert Resch <robert@resch.dev>
2023-09-04 10:03:58 +02:00
J. Nick Koston
de1de926a9 Bump zeroconf to 0.97.0 (#99554)
changelog: https://github.com/python-zeroconf/python-zeroconf/compare/0.96.0...0.97.0
2023-09-04 10:52:21 +03:00
Russell Cloran
9144ef7ed8 Enumerate available states in Prometheus startup (#97993) 2023-09-04 09:30:56 +02:00
Joost Lekkerkerker
69117cb8e3 Use shorthand attributes for DLNA dmr (#99236) 2023-09-04 09:23:33 +02:00
Joost Lekkerkerker
13ebb68b84 Use shorthand attributes in Home connect (#99385)
Co-authored-by: Robert Resch <robert@resch.dev>
2023-09-04 09:15:25 +02:00
Joost Lekkerkerker
f4f98010f9 Remove unused attributes from Econet (#99242) 2023-09-04 09:15:01 +02:00
Joost Lekkerkerker
f545389549 Move static shorthand devolo attributes outside of constructor (#99234)
Co-authored-by: Guido Schmitz <Shutgun@users.noreply.github.com>
2023-09-04 09:08:32 +02:00
Rami Mosleh
8d3828ae54 Add strict typing to glances (#99537) 2023-09-04 09:07:15 +02:00
Joost Lekkerkerker
1dc724274e Use shorthand attributes for Heos (#99344) 2023-09-04 09:05:59 +02:00
G Johansson
9d6cab8fe6 Fix loading filesize coordinator from wrong place (#99547)
* Fix loading filesize coordinator from wrong place

* aboslute in executor

* combine into executor
2023-09-04 07:33:46 +02:00
Marc Mueller
735b5cf1a0 Fix sql test warning (#99556) 2023-09-03 19:58:13 -05:00
Marc Mueller
115518cab9 Fix tolo test warning (#99555) 2023-09-03 19:58:01 -05:00
J. Nick Koston
377d9f6687 Bump zeroconf to 0.96.0 (#99549) 2023-09-03 17:06:21 -05:00
Allen Porter
8afab4845a Remove nest legacy service descriptions and translations (#99510) 2023-09-03 13:52:03 -07:00
Robert Svensson
f52ba7042d Bump aiounifi to v60 (#99548) 2023-09-03 21:31:25 +02:00
jan iversen
f85a3861f2 Make validator for modbus table controlled (#99092) 2023-09-03 21:04:58 +02:00
J. Nick Koston
7931d74938 Make bond BPUP callback a HassJob (#99470) 2023-09-03 12:39:49 -05:00
Rami Mosleh
ca44242095 Allow glances entries with same IP but different ports (#99536) 2023-09-03 19:22:59 +02:00
jan iversen
d19f617c25 Modbus switch, allow restore "unknown" (#99533) 2023-09-03 17:48:25 +02:00
Allen Porter
c938b9e7a3 Rename nest test_sensor_sdm.py to test_sensor.py (#99512) 2023-09-03 10:36:20 -05:00
jan iversen
c94d4f501b Read modbus data before scan_interval (#99243)
Read before scan_interval.
2023-09-03 17:13:49 +02:00
Mike O'Driscoll
c297eecb68 Fix recollect_waste month time boundary issue (#99429) 2023-09-03 10:08:17 -05:00
J. Nick Koston
186e796e25 Speed up fetching states by domain (#99467) 2023-09-03 09:30:39 -05:00
J. Nick Koston
b752419f25 Bump aioesphomeapi to 16.0.4 (#99541) 2023-09-03 09:13:34 -05:00
J. Nick Koston
d063650fec Bump bleak-retry-connector to 3.1.2 (#99540) 2023-09-03 09:13:21 -05:00
Rami Mosleh
8e22041ee9 Change calculation methods to a fixed list (#99535) 2023-09-03 16:12:37 +02:00
J. Nick Koston
8843a445c9 Reduce Bluetooth coordinator/processor overhead (#99526) 2023-09-03 08:59:15 -05:00
Yuxin Wang
9bba501057 Handle gracefully when unloading apcupsd config entries (#99513) 2023-09-03 15:54:00 +02:00
Michael Arthur
31d1752c74 Bugfix: Electric Kiwi reduce interval so oauth doesn't expire (#99489)
decrease interval time as EK have broken/changed their oauth again
2023-09-03 15:53:23 +02:00
J. Nick Koston
00893bbf14 Bump bleak to 0.21.0 (#99520)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-09-03 08:22:03 -05:00
J. Nick Koston
5f487b5d85 Refactor async_call_at and async_call_later event helpers to avoid creating closures (#99469) 2023-09-03 08:19:06 -05:00
Jc2k
1cd0cb4537 Add suggest_display_precision to private_ble_device (#99529) 2023-09-03 07:39:20 -05:00
Marc Mueller
6414248bee Update pytest warning filter (#99521) 2023-09-03 13:04:01 +02:00
J. Nick Koston
1183bd159e Bump zeroconf to 0.93.1 (#99516)
* Bump zeroconf to 0.92.0

changelog: https://github.com/python-zeroconf/python-zeroconf/compare/0.91.1...0.92.0

* drop unused argument

* Update tests/components/thread/test_diagnostics.py

* lint

* again

* bump again since actions failed to release the wheels
2023-09-03 11:16:26 +02:00
Joakim Plate
61dc217d92 Bump gardena_bluetooth to 1.4.0 (#99530) 2023-09-03 10:25:00 +02:00
Allen Porter
7b1c0c2df2 Extend template entities with a script section (#96175)
* Extend template entities with a script section

This allows making a trigger entity that triggers a few times a day,
and allows collecting data from a service resopnse which can be
fed into a template entity.

The current alternatives are to publish and subscribe to events or to
store data in input entities.

* Make variables set in actions accessible to templates

* Format code

---------

Co-authored-by: Erik <erik@montnemery.com>
2023-09-02 16:19:45 -07:00
Marc Mueller
6312f34538 Fix zha test RuntimeWarning (#99519) 2023-09-03 01:07:17 +02:00
Jc2k
4b11a632a1 Add sensors to private_ble_device (#99515) 2023-09-02 17:45:46 -05:00
J. Nick Koston
b8f8cd1797 Reduce overhead to retry config entry setup (#99471) 2023-09-02 16:46:53 -05:00
Richard Kroegel
bec36d3914 Add long-term statistics to BMW sensors (#99506)
* Add long-term statistics to BMW ConnectedDrive sensors

* Add sensor test snapshot

---------

Co-authored-by: rikroe <rikroe@users.noreply.github.com>
2023-09-02 14:44:28 -07:00
J. Nick Koston
f4f78cf000 Bump aiohomekit to 3.0.2 (#99514) 2023-09-02 15:25:42 -05:00
starkillerOG
cf8da2fc89 Motion blinds add translations (#99078) 2023-09-02 22:13:17 +02:00
starkillerOG
3c30ad1850 Motion blinds duplication reduction using entity baseclass (#99444) 2023-09-02 21:51:58 +02:00
Bram Kragten
7b50316b3e Bump version to 2023.9.0b3 2023-09-02 21:09:52 +02:00
J. Nick Koston
46343bc261 Bump zeroconf to 0.91.1 (#99490) 2023-09-02 21:09:19 +02:00
Andrew Onyshchuk
e726b49adb Update aiotractive to 0.5.6 (#99477) 2023-09-02 21:09:19 +02:00
G Johansson
cb1267477b Fix default language in Workday (#99463)
Workday fix default language
2023-09-02 21:09:17 +02:00
jimmyd-be
caaba5d422 Fix translation bug Renson sensors (#99461)
* Fix translation bug

* Revert "Fix translation bug"

This reverts commit 84b5e90dac.

* Fixed translation of Renson sensor
2023-09-02 21:09:17 +02:00
Erik Montnemery
9fec0be173 Log unexpected exceptions causing recorder shutdown (#99445) 2023-09-02 21:09:16 +02:00
Raman Gupta
8dcc96c083 Fix device name in zwave_js repair flow (#99414) 2023-09-02 21:09:15 +02:00
starkillerOG
270be19e1a Check new IP of Reolink camera from DHCP (#99381)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-09-02 21:09:14 +02:00
Daniel Hjelseth Høyer
f0878addca Update Tibber library to 0.28.2 (#99115) 2023-09-02 21:09:13 +02:00
Russell Cloran
f573c1e27c Handle timestamp sensors in Prometheus integration (#98001) 2023-09-02 21:09:12 +02:00
J. Nick Koston
0b065b118b Bump zeroconf to 0.91.1 (#99490) 2023-09-02 21:04:13 +02:00
starkillerOG
834f3810d3 Check new IP of Reolink camera from DHCP (#99381)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-09-02 21:00:33 +02:00
J. Nick Koston
1ab2e900f9 Improve lingering timer checks (#99472) 2023-09-02 12:43:27 -05:00
Allen Porter
1048f47a91 Code cleanup for nest device info (#99511) 2023-09-02 19:38:41 +02:00
Jan Bouwhuis
c3841f8734 Rework on mqtt certificate tests (#99503)
* Shared fixture on TEMP_DIR_NAME mock in MQTT tests

* Improve mqtt certificate file tests

* Update tests/components/mqtt/test_util.py

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

* Update tests/components/mqtt/conftest.py

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

* Avoid blocking code

* typo in sub function

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2023-09-02 19:26:11 +02:00
J. Nick Koston
6974d211e5 Switch isy994 to use async_call_later (#99487)
async_track_point_in_utc_time is not needed here since we only need to call
at timedelta(hours=25)
2023-09-02 10:14:33 -07:00
J. Nick Koston
acd9cfa929 Speed up calls to the all states api (#99462) 2023-09-02 12:08:07 -05:00
J. Nick Koston
6e743a5bb2 Switch mqtt to use async_call_later where possible (#99486) 2023-09-02 11:55:11 -05:00
Erik Montnemery
defd9e4001 Don't compile missing statistics when running tests (#99446) 2023-09-02 10:09:46 -05:00
Erik Montnemery
7168e71860 Log unexpected exceptions causing recorder shutdown (#99445) 2023-09-02 09:51:06 -05:00
Joost Lekkerkerker
9e9aa163f7 Use shorthand attributes in hlk_sw16 (#99383) 2023-09-02 09:42:32 -05:00
Jc2k
26b1222fae Support tracking private bluetooth devices (#99465)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-09-02 09:21:05 -05:00
Daniel Hjelseth Høyer
d88ee0dbe0 Update Tibber library to 0.28.2 (#99115) 2023-09-02 15:08:49 +02:00
Paarth Shah
4d3b978398 Change matrix component to use matrix-nio instead of matrix_client (#72797) 2023-09-02 15:02:55 +02:00
Joost Lekkerkerker
f48e8623da Use shorthand attributes in Hunterdouglas powerview (#99386) 2023-09-02 04:55:19 -05:00
Jan Bouwhuis
3d1efaa4ad Freeze time for MQTT sensor expire tests (#99496) 2023-09-02 04:10:57 -05:00
jimmyd-be
1e46ecbb48 Fix translation bug Renson sensors (#99461)
* Fix translation bug

* Revert "Fix translation bug"

This reverts commit 84b5e90dac.

* Fixed translation of Renson sensor
2023-09-02 10:55:12 +02:00
Russell Cloran
5fd14eade5 Handle timestamp sensors in Prometheus integration (#98001) 2023-09-02 10:20:36 +02:00
G Johansson
b681dc06e0 Fix default language in Workday (#99463)
Workday fix default language
2023-09-02 09:47:59 +02:00
Jc2k
e465a4f820 Update bluetooth-data-tools to 1.11.0 (#99485) 2023-09-01 17:33:19 -05:00
J. Nick Koston
7c87b38a23 Reduce overhead to process and publish MQTT messages (#99457) 2023-09-01 15:41:34 -05:00
J. Nick Koston
5a8fc43212 Refactor MQTT discovery to avoid creating closure if hash already in discovery_pending_discovered (#99458) 2023-09-01 15:40:53 -05:00
Andrew Onyshchuk
04bf126425 Update aiotractive to 0.5.6 (#99477) 2023-09-01 23:28:53 +03:00
J. Nick Koston
09f45660cf Avoid linear search of MQTT SUPPORTED_COMPONENTS (#99459)
By making this a set we avoid the linear search in async_discovery_message_received
2023-09-01 20:10:47 +02:00
Jan-Philipp Benecke
cf59ea3c47 Use snapshot assertion for netatmo diagnostics test (#99159) 2023-09-01 19:27:54 +02:00
Richard Mikalsen
1e6cddaa1d Turn off Mill heaters using local API (#99348)
* Update mill_local

* Add ability to turn heater on and off

* Use OperationMode from upstream library

* Fix: compare against value
2023-09-01 19:05:35 +02:00
Raman Gupta
169a318ec4 Fix device name in zwave_js repair flow (#99414) 2023-09-01 18:06:37 +02:00
Bram Kragten
1f0b3c4e33 Bump version to 2023.9.0b2 2023-09-01 18:01:07 +02:00
Bram Kragten
528e8c0fe7 Update frontend to 20230901.0 (#99464) 2023-09-01 17:58:15 +02:00
Erik Montnemery
eb8d375e35 Fix template helper strings (#99456) 2023-09-01 17:58:15 +02:00
Keilin Bickar
987a959b19 Update asynsleepiq library to 1.3.7 (#99431) 2023-09-01 17:58:14 +02:00
Paul Bottein
469a72a5f9 Use common key for away mode state translations (#99425) 2023-09-01 17:58:13 +02:00
Álvaro Fernández Rojas
a95691f306 Update AEMET-OpenData to v0.4.4 (#99418)
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2023-09-01 17:58:12 +02:00
J. Nick Koston
ebf42ad342 Significantly reduce overhead to filter event triggers (#99376)
* fast

* cleanups

* cleanups

* cleanups

* comment

* comment

* add more cover

* comment

* pull more examples from forums to validate cover
2023-09-01 17:58:11 +02:00
Michael
057daa5fdb Address late review for Nextcloud (#99226) 2023-09-01 17:58:10 +02:00
puddly
2ec9abfd24 Create a ZHA repair when directly accessing a radio with multi-PAN firmware (#98275)
* Add the SiLabs flasher as a dependency

* Create a repair if the wrong firmware is detected on an EZSP device

* Update homeassistant/components/zha/strings.json

Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com>

* Provide the ZHA config entry as a reusable fixture

* Create a separate repair when using non-Nabu Casa hardware

* Add unit tests

* Drop extraneous `config_entry.add_to_hass` added in 021def44

* Fully unit test all edge cases

* Move `socket://`-ignoring logic into repair function

* Open a repair from ZHA flows when the wrong firmware is running

* Fix existing unit tests

* Link to the flashing section in the documentation

* Reduce repair severity to `ERROR`

* Make issue persistent

* Add unit tests for new radio probing states

* Add unit tests for new config flow steps

* Handle probing failure raising an exception

* Implement review suggestions

* Address review comments

---------

Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com>
2023-09-01 17:58:09 +02:00
puddly
0bae0824b4 Initialize ZHA device database before connecting to the radio (#98082)
* Create ZHA entities before attempting to connect to the coordinator

* Delete the ZHA gateway object when unloading the config entry

* Only load ZHA groups if the coordinator device info is known offline

* Do not create a coordinator ZHA device until it is ready

* [WIP] begin fixing unit tests

* [WIP] Fix existing unit tests (one failure left)

* Fix remaining unit test
2023-09-01 17:58:08 +02:00
Bram Kragten
1d80af870d Update frontend to 20230901.0 (#99464) 2023-09-01 17:28:52 +02:00
Erik Montnemery
390c046537 Fix template helper strings (#99456) 2023-09-01 17:14:42 +02:00
Paul Bottein
ac0565e3bc Use common key for away mode state translations (#99425) 2023-09-01 15:58:01 +02:00
puddly
38270ee823 Create a ZHA repair when directly accessing a radio with multi-PAN firmware (#98275)
* Add the SiLabs flasher as a dependency

* Create a repair if the wrong firmware is detected on an EZSP device

* Update homeassistant/components/zha/strings.json

Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com>

* Provide the ZHA config entry as a reusable fixture

* Create a separate repair when using non-Nabu Casa hardware

* Add unit tests

* Drop extraneous `config_entry.add_to_hass` added in 021def44

* Fully unit test all edge cases

* Move `socket://`-ignoring logic into repair function

* Open a repair from ZHA flows when the wrong firmware is running

* Fix existing unit tests

* Link to the flashing section in the documentation

* Reduce repair severity to `ERROR`

* Make issue persistent

* Add unit tests for new radio probing states

* Add unit tests for new config flow steps

* Handle probing failure raising an exception

* Implement review suggestions

* Address review comments

---------

Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com>
2023-09-01 09:05:45 -04:00
rappenze
680775c3e0 Discover more power and energy sensors in fibaro integration (#98253) 2023-09-01 10:48:08 +02:00
Joost Lekkerkerker
65246b99ec Use shorthand attributes in iZone (#99397) 2023-09-01 10:34:09 +02:00
Joost Lekkerkerker
6c93865cee Use shorthand attributes in Insteon (#99392) 2023-09-01 10:13:34 +02:00
Jan-Philipp Benecke
bbc390837e Move airnow coordinator to its own file (#99423) 2023-09-01 08:29:07 +02:00
Keilin Bickar
dc4ed5fea9 Update asynsleepiq library to 1.3.7 (#99431) 2023-09-01 08:24:13 +02:00
Allen Porter
1539853c0a Update google-nest-sdm to 3.0.2 (#99175)
* Update google-nest-sdm to 3.0.2

* Fix device typing

* Update homeassistant/components/nest/device_info.py

Co-authored-by: jan iversen <jancasacondor@gmail.com>

---------

Co-authored-by: jan iversen <jancasacondor@gmail.com>
2023-08-31 20:33:36 -07:00
Joost Lekkerkerker
2dab9eaf86 Use shorthand attributes in Isy994 (#99395) 2023-08-31 19:58:40 -05:00
Keith Burzinski
5e03954e69 Add @kbx81 as esphome codeowner (#99427)
* Add @kbx81 as esphome codeowner

* Add @kbx81 as esphome codeowner, take 2
2023-08-31 23:50:25 +02:00
Álvaro Fernández Rojas
97d38f4ca5 Update AEMET-OpenData to v0.4.4 (#99418)
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2023-08-31 21:59:01 +02:00
Michael
d5adf33225 Address late review for Nextcloud (#99226) 2023-08-31 20:35:11 +02:00
J. Nick Koston
0da94c20b0 Significantly reduce overhead to filter event triggers (#99376)
* fast

* cleanups

* cleanups

* cleanups

* comment

* comment

* add more cover

* comment

* pull more examples from forums to validate cover
2023-08-31 13:47:01 -04:00
Jan-Philipp Benecke
2e7018a152 Move tankerkoenig coordinator and base entity to its own file (#99416)
* Move tankerkoenig coordinator and entity to its own file

* Add coordinator.py and entity.py to .coveragerc
2023-08-31 19:39:17 +02:00
puddly
22c5071270 Initialize ZHA device database before connecting to the radio (#98082)
* Create ZHA entities before attempting to connect to the coordinator

* Delete the ZHA gateway object when unloading the config entry

* Only load ZHA groups if the coordinator device info is known offline

* Do not create a coordinator ZHA device until it is ready

* [WIP] begin fixing unit tests

* [WIP] Fix existing unit tests (one failure left)

* Fix remaining unit test
2023-08-31 12:09:46 -04:00
Erik Montnemery
80caeafcb5 Add documentation URL for homeassistant_yellow (#99336)
* Add documentation URL for homeassistant_yellow

* Fix test

* Tweak
2023-08-31 10:50:53 -04:00
Joakim Sørensen
7042a02d72 Add remote alias to connection info response (#99410) 2023-08-31 10:43:32 -04:00
Bram Kragten
875809a827 Update frontend to 20230831.0 (#99405) 2023-08-31 15:32:37 +02:00
Erik Montnemery
f36a300651 Improve template sensor config flow validation (#99373) 2023-08-31 15:16:32 +02:00
Paul Bottein
047f936d4c Add entity component translation for water heater away mode attribute (#99394) 2023-08-31 14:29:24 +02:00
Joost Lekkerkerker
7ead5c44ea Use shorthand attributes in iCloud (#99390)
* Use shorthand attributes in iCloud

* Use shorthand attributes in iCloud
2023-08-31 12:37:21 +02:00
Austin Brunkhorst
2c545ef3d2 Update pysnooz to 0.8.6 (#99368) 2023-08-31 11:15:45 +02:00
Erik Montnemery
35560e01b9 Add documentation URL for homeassistant_sky_connect (#99377) 2023-08-31 10:39:24 +02:00
G Johansson
0fd9327c46 Revert "Sonos add yaml config issue" (#99379)
Revert "Sonos add yaml config issue (#97365)"

This reverts commit 2299430dbe.
2023-08-31 10:24:03 +02:00
Joost Lekkerkerker
c25b3e55e4 Add entity translations to Mill (#96541) 2023-08-31 10:13:39 +02:00
Brett Adams
e08661dad3 Patch service validation in Aussie Broadband (#99077)
* Bump pyAussieBB

* rolling back to previous version

* patching the pydantic 2.x issue in aussie_broadband integration

* adding test for validate_service_type

* adding test for validate_service_type

* fixing tests, again

* adding additional test

* doing fixes for live tests

* Implement Feedback

* Add test to detect pydantic2

* Update test_init.py

* Update docstring

---------

Co-authored-by: James Hodgkinson <james@terminaloutcomes.com>
2023-08-31 09:45:44 +02:00
J. Nick Koston
a41af4e6d3 Revert orjson to 3.9.2 (#99374)
* Revert "Update orjson to 3.9.4 (#98108)"

This reverts commit 3dd377cb2a.

* Revert "Update orjson to 3.9.3 (#97930)"

This reverts commit d993aa59ea.
2023-08-31 09:33:57 +02:00
Jan-Philipp Benecke
70843862aa Address late review for bsblan (#99360)
* Address late review comment

* Break also comment
2023-08-31 07:31:05 +02:00
tronikos
343e8f0ecc Opower MFA fixes (#99317)
opower mfa fixes
2023-08-31 06:36:07 +02:00
Joost Lekkerkerker
99a65fb45b Collapse supported features list in Deconz (#99233)
* Use shorthand attributes for Deconz

* revert changes
2023-08-30 23:57:23 +02:00
Marc Mueller
cc9f0aaf80 Escape core version [ci] (#99364) 2023-08-30 23:56:25 +02:00
Jan-Philipp Benecke
5819091af7 Move octoprint coordinator to its own file (#99359)
Move octoprint coordinator to own file
2023-08-30 22:31:51 +02:00
Erik Montnemery
03b1c7ad1d Minor improvement in tests of hardware integrations (#99361) 2023-08-30 21:11:52 +02:00
b-uwe
cdd22bf0fa Revert "Remove the virtual integration for ultraloq" (#99302)
Revert "Remove the virtual integration for ultraloq (#96355)"

This reverts commit 56bc708b28.
2023-08-30 14:58:57 -04:00
puddly
5fd88f5874 Bump ZHA dependencies (#99341)
* Bump ZHA dependencies

* Include bellows as well
2023-08-30 14:56:19 -04:00
jan iversen
8a4e48532c Bump pymodbus v3.5.0 (#99343)
Bump pymodbus v3.5.0.
2023-08-30 20:26:13 +02:00
Erik Montnemery
8c04e4c7a3 Add explicit test of template config entry setup (#99345) 2023-08-30 19:56:34 +02:00
Joost Lekkerkerker
59b1d4ba69 Bump version to 2023.10.0dev0 (#99349) 2023-08-30 19:32:10 +02:00
4203 changed files with 251962 additions and 77180 deletions

View File

@@ -45,6 +45,7 @@ base_platforms: &base_platforms
- homeassistant/components/switch/**
- homeassistant/components/text/**
- homeassistant/components/time/**
- homeassistant/components/todo/**
- homeassistant/components/tts/**
- homeassistant/components/update/**
- homeassistant/components/vacuum/**
@@ -96,8 +97,8 @@ components: &components
- homeassistant/components/persistent_notification/**
- homeassistant/components/person/**
- homeassistant/components/recorder/**
- homeassistant/components/recovery_mode/**
- homeassistant/components/repairs/**
- homeassistant/components/safe_mode/**
- homeassistant/components/script/**
- homeassistant/components/shopping_list/**
- homeassistant/components/ssdp/**

View File

@@ -29,11 +29,13 @@ omit =
homeassistant/components/adguard/switch.py
homeassistant/components/ads/*
homeassistant/components/aemet/weather_update_coordinator.py
homeassistant/components/aftership/*
homeassistant/components/aftership/__init__.py
homeassistant/components/aftership/sensor.py
homeassistant/components/agent_dvr/alarm_control_panel.py
homeassistant/components/agent_dvr/camera.py
homeassistant/components/agent_dvr/helpers.py
homeassistant/components/airnow/__init__.py
homeassistant/components/airnow/coordinator.py
homeassistant/components/airnow/sensor.py
homeassistant/components/airq/__init__.py
homeassistant/components/airq/coordinator.py
@@ -44,6 +46,7 @@ omit =
homeassistant/components/airthings_ble/sensor.py
homeassistant/components/airtouch4/__init__.py
homeassistant/components/airtouch4/climate.py
homeassistant/components/airtouch4/coordinator.py
homeassistant/components/airvisual/__init__.py
homeassistant/components/airvisual/sensor.py
homeassistant/components/airvisual_pro/__init__.py
@@ -64,9 +67,6 @@ omit =
homeassistant/components/android_ip_webcam/switch.py
homeassistant/components/anel_pwrctrl/switch.py
homeassistant/components/anthemav/media_player.py
homeassistant/components/apcupsd/__init__.py
homeassistant/components/apcupsd/binary_sensor.py
homeassistant/components/apcupsd/sensor.py
homeassistant/components/apple_tv/__init__.py
homeassistant/components/apple_tv/browse_media.py
homeassistant/components/apple_tv/media_player.py
@@ -100,6 +100,7 @@ omit =
homeassistant/components/azure_devops/__init__.py
homeassistant/components/azure_devops/sensor.py
homeassistant/components/azure_service_bus/*
homeassistant/components/awair/coordinator.py
homeassistant/components/baf/__init__.py
homeassistant/components/baf/climate.py
homeassistant/components/baf/entity.py
@@ -119,6 +120,7 @@ omit =
homeassistant/components/blink/binary_sensor.py
homeassistant/components/blink/camera.py
homeassistant/components/blink/sensor.py
homeassistant/components/blink/switch.py
homeassistant/components/blinksticklight/light.py
homeassistant/components/blockchain/sensor.py
homeassistant/components/bloomsky/*
@@ -140,6 +142,7 @@ omit =
homeassistant/components/braviatv/coordinator.py
homeassistant/components/braviatv/media_player.py
homeassistant/components/braviatv/remote.py
homeassistant/components/broadlink/climate.py
homeassistant/components/broadlink/light.py
homeassistant/components/broadlink/remote.py
homeassistant/components/broadlink/switch.py
@@ -171,14 +174,18 @@ omit =
homeassistant/components/comed_hourly_pricing/sensor.py
homeassistant/components/comelit/__init__.py
homeassistant/components/comelit/const.py
homeassistant/components/comelit/cover.py
homeassistant/components/comelit/coordinator.py
homeassistant/components/comelit/light.py
homeassistant/components/comelit/sensor.py
homeassistant/components/comelit/switch.py
homeassistant/components/comfoconnect/fan.py
homeassistant/components/concord232/alarm_control_panel.py
homeassistant/components/concord232/binary_sensor.py
homeassistant/components/control4/__init__.py
homeassistant/components/control4/director_utils.py
homeassistant/components/control4/light.py
homeassistant/components/coolmaster/coordinator.py
homeassistant/components/cppm_tracker/device_tracker.py
homeassistant/components/crownstone/__init__.py
homeassistant/components/crownstone/devices.py
@@ -208,9 +215,6 @@ omit =
homeassistant/components/discogs/sensor.py
homeassistant/components/discord/__init__.py
homeassistant/components/discord/notify.py
homeassistant/components/discovergy/__init__.py
homeassistant/components/discovergy/sensor.py
homeassistant/components/discovergy/coordinator.py
homeassistant/components/dlib_face_detect/image_processing.py
homeassistant/components/dlib_face_identify/image_processing.py
homeassistant/components/dlink/data.py
@@ -242,6 +246,8 @@ omit =
homeassistant/components/duotecno/switch.py
homeassistant/components/duotecno/cover.py
homeassistant/components/duotecno/light.py
homeassistant/components/duotecno/climate.py
homeassistant/components/duotecno/binary_sensor.py
homeassistant/components/dwd_weather_warnings/const.py
homeassistant/components/dwd_weather_warnings/coordinator.py
homeassistant/components/dwd_weather_warnings/sensor.py
@@ -255,6 +261,12 @@ omit =
homeassistant/components/ecobee/notify.py
homeassistant/components/ecobee/sensor.py
homeassistant/components/ecobee/weather.py
homeassistant/components/ecoforest/__init__.py
homeassistant/components/ecoforest/coordinator.py
homeassistant/components/ecoforest/entity.py
homeassistant/components/ecoforest/number.py
homeassistant/components/ecoforest/sensor.py
homeassistant/components/ecoforest/switch.py
homeassistant/components/econet/__init__.py
homeassistant/components/econet/binary_sensor.py
homeassistant/components/econet/climate.py
@@ -270,13 +282,9 @@ omit =
homeassistant/components/edl21/__init__.py
homeassistant/components/edl21/sensor.py
homeassistant/components/egardia/*
homeassistant/components/eight_sleep/__init__.py
homeassistant/components/eight_sleep/binary_sensor.py
homeassistant/components/eight_sleep/sensor.py
homeassistant/components/electric_kiwi/__init__.py
homeassistant/components/electric_kiwi/api.py
homeassistant/components/electric_kiwi/oauth2.py
homeassistant/components/electric_kiwi/sensor.py
homeassistant/components/electric_kiwi/coordinator.py
homeassistant/components/electric_kiwi/select.py
homeassistant/components/eliqonline/sensor.py
@@ -326,7 +334,6 @@ omit =
homeassistant/components/epson/__init__.py
homeassistant/components/epson/media_player.py
homeassistant/components/epsonworkforce/sensor.py
homeassistant/components/eq3btsmart/climate.py
homeassistant/components/escea/__init__.py
homeassistant/components/escea/climate.py
homeassistant/components/escea/discovery.py
@@ -355,13 +362,16 @@ omit =
homeassistant/components/ezviz/update.py
homeassistant/components/faa_delays/__init__.py
homeassistant/components/faa_delays/binary_sensor.py
homeassistant/components/faa_delays/coordinator.py
homeassistant/components/familyhub/camera.py
homeassistant/components/fastdotcom/*
homeassistant/components/fastdotcom/sensor.py
homeassistant/components/fastdotcom/__init__.py
homeassistant/components/ffmpeg/camera.py
homeassistant/components/fibaro/__init__.py
homeassistant/components/fibaro/binary_sensor.py
homeassistant/components/fibaro/climate.py
homeassistant/components/fibaro/cover.py
homeassistant/components/fibaro/event.py
homeassistant/components/fibaro/light.py
homeassistant/components/fibaro/lock.py
homeassistant/components/fibaro/sensor.py
@@ -379,7 +389,6 @@ omit =
homeassistant/components/firmata/pin.py
homeassistant/components/firmata/sensor.py
homeassistant/components/firmata/switch.py
homeassistant/components/fitbit/*
homeassistant/components/fivem/__init__.py
homeassistant/components/fivem/binary_sensor.py
homeassistant/components/fivem/coordinator.py
@@ -413,10 +422,7 @@ omit =
homeassistant/components/foursquare/*
homeassistant/components/free_mobile/notify.py
homeassistant/components/freebox/camera.py
homeassistant/components/freebox/device_tracker.py
homeassistant/components/freebox/home_base.py
homeassistant/components/freebox/router.py
homeassistant/components/freebox/sensor.py
homeassistant/components/freebox/switch.py
homeassistant/components/fritz/common.py
homeassistant/components/fritz/device_tracker.py
@@ -529,7 +535,6 @@ omit =
homeassistant/components/hvv_departures/__init__.py
homeassistant/components/hvv_departures/binary_sensor.py
homeassistant/components/hvv_departures/sensor.py
homeassistant/components/hydrawise/*
homeassistant/components/ialarm/alarm_control_panel.py
homeassistant/components/iammeter/sensor.py
homeassistant/components/iaqualink/binary_sensor.py
@@ -546,7 +551,6 @@ omit =
homeassistant/components/ifttt/alarm_control_panel.py
homeassistant/components/iglo/light.py
homeassistant/components/ihc/*
homeassistant/components/imap_email_content/sensor.py
homeassistant/components/incomfort/*
homeassistant/components/insteon/binary_sensor.py
homeassistant/components/insteon/climate.py
@@ -629,6 +633,8 @@ omit =
homeassistant/components/kodi/browse_media.py
homeassistant/components/kodi/media_player.py
homeassistant/components/kodi/notify.py
homeassistant/components/komfovent/__init__.py
homeassistant/components/komfovent/climate.py
homeassistant/components/konnected/__init__.py
homeassistant/components/konnected/panel.py
homeassistant/components/konnected/switch.py
@@ -655,6 +661,7 @@ omit =
homeassistant/components/lg_soundbar/__init__.py
homeassistant/components/lg_soundbar/media_player.py
homeassistant/components/life360/__init__.py
homeassistant/components/life360/button.py
homeassistant/components/life360/coordinator.py
homeassistant/components/life360/device_tracker.py
homeassistant/components/lightwave/*
@@ -704,11 +711,13 @@ omit =
homeassistant/components/mailgun/notify.py
homeassistant/components/map/*
homeassistant/components/mastodon/notify.py
homeassistant/components/matrix/*
homeassistant/components/matrix/__init__.py
homeassistant/components/matrix/notify.py
homeassistant/components/matter/__init__.py
homeassistant/components/meater/__init__.py
homeassistant/components/meater/sensor.py
homeassistant/components/media_extractor/*
homeassistant/components/medcom_ble/__init__.py
homeassistant/components/medcom_ble/sensor.py
homeassistant/components/mediaroom/media_player.py
homeassistant/components/melcloud/__init__.py
homeassistant/components/melcloud/climate.py
@@ -730,10 +739,6 @@ omit =
homeassistant/components/mikrotik/hub.py
homeassistant/components/mill/climate.py
homeassistant/components/mill/sensor.py
homeassistant/components/minecraft_server/__init__.py
homeassistant/components/minecraft_server/binary_sensor.py
homeassistant/components/minecraft_server/entity.py
homeassistant/components/minecraft_server/sensor.py
homeassistant/components/minio/minio_helper.py
homeassistant/components/mjpeg/camera.py
homeassistant/components/mjpeg/util.py
@@ -747,7 +752,9 @@ omit =
homeassistant/components/moehlenhoff_alpha2/climate.py
homeassistant/components/moehlenhoff_alpha2/sensor.py
homeassistant/components/motion_blinds/__init__.py
homeassistant/components/motion_blinds/coordinator.py
homeassistant/components/motion_blinds/cover.py
homeassistant/components/motion_blinds/entity.py
homeassistant/components/motion_blinds/sensor.py
homeassistant/components/mpd/media_player.py
homeassistant/components/mqtt_room/sensor.py
@@ -758,9 +765,6 @@ omit =
homeassistant/components/mutesync/binary_sensor.py
homeassistant/components/mvglive/sensor.py
homeassistant/components/mycroft/*
homeassistant/components/myq/__init__.py
homeassistant/components/myq/cover.py
homeassistant/components/myq/light.py
homeassistant/components/mysensors/__init__.py
homeassistant/components/mysensors/climate.py
homeassistant/components/mysensors/cover.py
@@ -772,6 +776,7 @@ omit =
homeassistant/components/mystrom/binary_sensor.py
homeassistant/components/mystrom/light.py
homeassistant/components/mystrom/switch.py
homeassistant/components/mystrom/sensor.py
homeassistant/components/nad/media_player.py
homeassistant/components/nanoleaf/__init__.py
homeassistant/components/nanoleaf/button.py
@@ -791,6 +796,7 @@ omit =
homeassistant/components/netgear/__init__.py
homeassistant/components/netgear/button.py
homeassistant/components/netgear/device_tracker.py
homeassistant/components/netgear/entity.py
homeassistant/components/netgear/router.py
homeassistant/components/netgear/sensor.py
homeassistant/components/netgear/switch.py
@@ -809,9 +815,7 @@ omit =
homeassistant/components/nfandroidtv/__init__.py
homeassistant/components/nfandroidtv/notify.py
homeassistant/components/nibe_heatpump/__init__.py
homeassistant/components/nibe_heatpump/climate.py
homeassistant/components/nibe_heatpump/binary_sensor.py
homeassistant/components/nibe_heatpump/number.py
homeassistant/components/nibe_heatpump/select.py
homeassistant/components/nibe_heatpump/sensor.py
homeassistant/components/nibe_heatpump/switch.py
@@ -825,6 +829,7 @@ omit =
homeassistant/components/noaa_tides/sensor.py
homeassistant/components/nobo_hub/__init__.py
homeassistant/components/nobo_hub/climate.py
homeassistant/components/nobo_hub/select.py
homeassistant/components/nobo_hub/sensor.py
homeassistant/components/norway_air/air_quality.py
homeassistant/components/notify_events/notify.py
@@ -843,6 +848,7 @@ omit =
homeassistant/components/obihai/connectivity.py
homeassistant/components/obihai/sensor.py
homeassistant/components/octoprint/__init__.py
homeassistant/components/octoprint/coordinator.py
homeassistant/components/oem/climate.py
homeassistant/components/ohmconnect/sensor.py
homeassistant/components/ombi/*
@@ -873,6 +879,7 @@ omit =
homeassistant/components/opengarage/cover.py
homeassistant/components/opengarage/entity.py
homeassistant/components/opengarage/sensor.py
homeassistant/components/openhardwaremonitor/sensor.py
homeassistant/components/openhome/__init__.py
homeassistant/components/openhome/const.py
homeassistant/components/openhome/media_player.py
@@ -923,6 +930,9 @@ omit =
homeassistant/components/panasonic_viera/media_player.py
homeassistant/components/pandora/media_player.py
homeassistant/components/pencom/switch.py
homeassistant/components/permobil/__init__.py
homeassistant/components/permobil/coordinator.py
homeassistant/components/permobil/sensor.py
homeassistant/components/philips_js/__init__.py
homeassistant/components/philips_js/light.py
homeassistant/components/philips_js/media_player.py
@@ -936,8 +946,7 @@ omit =
homeassistant/components/pilight/light.py
homeassistant/components/pilight/switch.py
homeassistant/components/ping/__init__.py
homeassistant/components/ping/binary_sensor.py
homeassistant/components/ping/device_tracker.py
homeassistant/components/ping/helpers.py
homeassistant/components/pioneer/media_player.py
homeassistant/components/plaato/__init__.py
homeassistant/components/plaato/binary_sensor.py
@@ -954,6 +963,8 @@ omit =
homeassistant/components/point/sensor.py
homeassistant/components/poolsense/__init__.py
homeassistant/components/poolsense/binary_sensor.py
homeassistant/components/poolsense/coordinator.py
homeassistant/components/poolsense/entity.py
homeassistant/components/poolsense/sensor.py
homeassistant/components/powerwall/__init__.py
homeassistant/components/progettihwsw/__init__.py
@@ -972,6 +983,7 @@ omit =
homeassistant/components/pushsafer/notify.py
homeassistant/components/pyload/sensor.py
homeassistant/components/qbittorrent/__init__.py
homeassistant/components/qbittorrent/coordinator.py
homeassistant/components/qbittorrent/sensor.py
homeassistant/components/qnap/__init__.py
homeassistant/components/qnap/coordinator.py
@@ -1004,9 +1016,13 @@ omit =
homeassistant/components/rainmachine/util.py
homeassistant/components/renson/__init__.py
homeassistant/components/renson/const.py
homeassistant/components/renson/coordinator.py
homeassistant/components/renson/entity.py
homeassistant/components/renson/sensor.py
homeassistant/components/renson/button.py
homeassistant/components/renson/fan.py
homeassistant/components/renson/binary_sensor.py
homeassistant/components/renson/number.py
homeassistant/components/raspyrfm/*
homeassistant/components/recollect_waste/sensor.py
homeassistant/components/recorder/repack.py
@@ -1047,6 +1063,7 @@ omit =
homeassistant/components/roomba/sensor.py
homeassistant/components/roomba/vacuum.py
homeassistant/components/roon/__init__.py
homeassistant/components/roon/event.py
homeassistant/components/roon/media_browser.py
homeassistant/components/roon/media_player.py
homeassistant/components/roon/server.py
@@ -1067,9 +1084,10 @@ omit =
homeassistant/components/saj/sensor.py
homeassistant/components/satel_integra/*
homeassistant/components/schluter/*
homeassistant/components/screenlogic/__init__.py
homeassistant/components/screenlogic/binary_sensor.py
homeassistant/components/screenlogic/climate.py
homeassistant/components/screenlogic/coordinator.py
homeassistant/components/screenlogic/const.py
homeassistant/components/screenlogic/entity.py
homeassistant/components/screenlogic/light.py
homeassistant/components/screenlogic/number.py
@@ -1089,7 +1107,6 @@ omit =
homeassistant/components/sesame/lock.py
homeassistant/components/seven_segments/image_processing.py
homeassistant/components/seventeentrack/sensor.py
homeassistant/components/shiftr/*
homeassistant/components/shodan/sensor.py
homeassistant/components/sia/__init__.py
homeassistant/components/sia/alarm_control_panel.py
@@ -1110,10 +1127,7 @@ omit =
homeassistant/components/sky_hub/*
homeassistant/components/skybeacon/sensor.py
homeassistant/components/skybell/__init__.py
homeassistant/components/skybell/binary_sensor.py
homeassistant/components/skybell/camera.py
homeassistant/components/skybell/coordinator.py
homeassistant/components/skybell/entity.py
homeassistant/components/skybell/light.py
homeassistant/components/skybell/sensor.py
homeassistant/components/skybell/switch.py
@@ -1133,6 +1147,7 @@ omit =
homeassistant/components/smarty/*
homeassistant/components/sms/__init__.py
homeassistant/components/sms/const.py
homeassistant/components/sms/coordinator.py
homeassistant/components/sms/gateway.py
homeassistant/components/sms/notify.py
homeassistant/components/sms/sensor.py
@@ -1149,6 +1164,7 @@ omit =
homeassistant/components/solaredge_local/sensor.py
homeassistant/components/solarlog/__init__.py
homeassistant/components/solarlog/sensor.py
homeassistant/components/solarlog/coordinator.py
homeassistant/components/solax/__init__.py
homeassistant/components/solax/sensor.py
homeassistant/components/soma/__init__.py
@@ -1241,6 +1257,10 @@ omit =
homeassistant/components/switchbot/sensor.py
homeassistant/components/switchbot/switch.py
homeassistant/components/switchbot/lock.py
homeassistant/components/switchbot_cloud/climate.py
homeassistant/components/switchbot_cloud/coordinator.py
homeassistant/components/switchbot_cloud/entity.py
homeassistant/components/switchbot_cloud/switch.py
homeassistant/components/switchmate/switch.py
homeassistant/components/syncthing/__init__.py
homeassistant/components/syncthing/sensor.py
@@ -1263,7 +1283,11 @@ omit =
homeassistant/components/system_bridge/__init__.py
homeassistant/components/system_bridge/binary_sensor.py
homeassistant/components/system_bridge/coordinator.py
homeassistant/components/system_bridge/entity.py
homeassistant/components/system_bridge/media_player.py
homeassistant/components/system_bridge/notify.py
homeassistant/components/system_bridge/sensor.py
homeassistant/components/system_bridge/update.py
homeassistant/components/systemmonitor/sensor.py
homeassistant/components/tado/__init__.py
homeassistant/components/tado/binary_sensor.py
@@ -1274,6 +1298,8 @@ omit =
homeassistant/components/tank_utility/sensor.py
homeassistant/components/tankerkoenig/__init__.py
homeassistant/components/tankerkoenig/binary_sensor.py
homeassistant/components/tankerkoenig/coordinator.py
homeassistant/components/tankerkoenig/entity.py
homeassistant/components/tankerkoenig/sensor.py
homeassistant/components/tapsaff/binary_sensor.py
homeassistant/components/tautulli/__init__.py
@@ -1359,6 +1385,7 @@ omit =
homeassistant/components/trafikverket_weatherstation/coordinator.py
homeassistant/components/trafikverket_weatherstation/sensor.py
homeassistant/components/transmission/__init__.py
homeassistant/components/transmission/coordinator.py
homeassistant/components/transmission/sensor.py
homeassistant/components/transmission/switch.py
homeassistant/components/travisci/sensor.py
@@ -1398,6 +1425,13 @@ omit =
homeassistant/components/upnp/device.py
homeassistant/components/upnp/sensor.py
homeassistant/components/vasttrafik/sensor.py
homeassistant/components/v2c/__init__.py
homeassistant/components/v2c/binary_sensor.py
homeassistant/components/v2c/coordinator.py
homeassistant/components/v2c/entity.py
homeassistant/components/v2c/number.py
homeassistant/components/v2c/sensor.py
homeassistant/components/v2c/switch.py
homeassistant/components/velbus/__init__.py
homeassistant/components/velbus/binary_sensor.py
homeassistant/components/velbus/button.py
@@ -1433,7 +1467,10 @@ omit =
homeassistant/components/vicare/binary_sensor.py
homeassistant/components/vicare/button.py
homeassistant/components/vicare/climate.py
homeassistant/components/vicare/entity.py
homeassistant/components/vicare/number.py
homeassistant/components/vicare/sensor.py
homeassistant/components/vicare/utils.py
homeassistant/components/vicare/water_heater.py
homeassistant/components/vilfo/__init__.py
homeassistant/components/vilfo/sensor.py
@@ -1442,9 +1479,11 @@ omit =
homeassistant/components/vlc_telnet/__init__.py
homeassistant/components/vlc_telnet/media_player.py
homeassistant/components/vodafone_station/__init__.py
homeassistant/components/vodafone_station/button.py
homeassistant/components/vodafone_station/const.py
homeassistant/components/vodafone_station/coordinator.py
homeassistant/components/vodafone_station/device_tracker.py
homeassistant/components/vodafone_station/sensor.py
homeassistant/components/volkszaehler/sensor.py
homeassistant/components/volumio/__init__.py
homeassistant/components/volumio/browse_media.py
@@ -1465,6 +1504,9 @@ omit =
homeassistant/components/watson_tts/tts.py
homeassistant/components/watttime/__init__.py
homeassistant/components/watttime/sensor.py
homeassistant/components/weatherflow/__init__.py
homeassistant/components/weatherflow/const.py
homeassistant/components/weatherflow/sensor.py
homeassistant/components/wiffi/__init__.py
homeassistant/components/wiffi/binary_sensor.py
homeassistant/components/wiffi/sensor.py

View File

@@ -10,6 +10,8 @@
"customizations": {
"vscode": {
"extensions": [
"charliermarsh.ruff",
"ms-python.pylint",
"ms-python.vscode-pylance",
"visualstudioexptteam.vscodeintellicode",
"redhat.vscode-yaml",
@@ -19,14 +21,6 @@
// Please keep this file in sync with settings in home-assistant/.vscode/settings.default.json
"settings": {
"python.pythonPath": "/usr/local/bin/python",
"python.linting.enabled": true,
"python.linting.pylintEnabled": true,
"python.formatting.blackPath": "/usr/local/bin/black",
"python.linting.pycodestylePath": "/usr/local/bin/pycodestyle",
"python.linting.pydocstylePath": "/usr/local/bin/pydocstyle",
"python.linting.mypyPath": "/usr/local/bin/mypy",
"python.linting.pylintPath": "/usr/local/bin/pylint",
"python.formatting.provider": "black",
"python.testing.pytestArgs": ["--no-cov"],
"editor.formatOnPaste": false,
"editor.formatOnSave": true,
@@ -45,7 +39,10 @@
"!include_dir_list scalar",
"!include_dir_merge_list scalar",
"!include_dir_merge_named scalar"
]
],
"[python]": {
"editor.defaultFormatter": "charliermarsh.ruff"
}
}
}
}

View File

@@ -60,7 +60,7 @@
- [ ] There is no commented out code in this PR.
- [ ] I have followed the [development checklist][dev-checklist]
- [ ] I have followed the [perfect PR recommendations][perfect-pr]
- [ ] The code has been formatted using Black (`black --fast homeassistant tests`)
- [ ] The code has been formatted using Ruff (`ruff format homeassistant tests`)
- [ ] Tests have been added to verify that the new code works.
If user exposed functionality or configuration variables are added/changed:

View File

@@ -24,12 +24,12 @@ jobs:
publish: ${{ steps.version.outputs.publish }}
steps:
- name: Checkout the repository
uses: actions/checkout@v3.6.0
uses: actions/checkout@v4.1.1
with:
fetch-depth: 0
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v4.7.0
uses: actions/setup-python@v4.7.1
with:
python-version: ${{ env.DEFAULT_PYTHON }}
@@ -56,10 +56,10 @@ jobs:
if: github.repository_owner == 'home-assistant' && needs.init.outputs.publish == 'true'
steps:
- name: Checkout the repository
uses: actions/checkout@v3.6.0
uses: actions/checkout@v4.1.1
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v4.7.0
uses: actions/setup-python@v4.7.1
with:
python-version: ${{ env.DEFAULT_PYTHON }}
@@ -98,7 +98,7 @@ jobs:
arch: ${{ fromJson(needs.init.outputs.architectures) }}
steps:
- name: Checkout the repository
uses: actions/checkout@v3.6.0
uses: actions/checkout@v4.1.1
- name: Download nightly wheels of frontend
if: needs.init.outputs.channel == 'dev'
@@ -124,7 +124,7 @@ jobs:
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
if: needs.init.outputs.channel == 'dev'
uses: actions/setup-python@v4.7.0
uses: actions/setup-python@v4.7.1
with:
python-version: ${{ env.DEFAULT_PYTHON }}
@@ -190,14 +190,14 @@ jobs:
echo "${{ github.sha }};${{ github.ref }};${{ github.event_name }};${{ github.actor }}" > rootfs/OFFICIAL_IMAGE
- name: Login to GitHub Container Registry
uses: docker/login-action@v2.2.0
uses: docker/login-action@v3.0.0
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build base image
uses: home-assistant/builder@2023.08.0
uses: home-assistant/builder@2023.09.0
with:
args: |
$BUILD_ARGS \
@@ -205,8 +205,6 @@ jobs:
--cosign \
--target /data \
--generic ${{ needs.init.outputs.version }}
env:
CAS_API_KEY: ${{ secrets.CAS_TOKEN }}
- name: Archive translations
shell: bash
@@ -254,7 +252,7 @@ jobs:
- green
steps:
- name: Checkout the repository
uses: actions/checkout@v3.6.0
uses: actions/checkout@v4.1.1
- name: Set build additional args
run: |
@@ -268,22 +266,20 @@ jobs:
fi
- name: Login to GitHub Container Registry
uses: docker/login-action@v2.2.0
uses: docker/login-action@v3.0.0
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build base image
uses: home-assistant/builder@2023.08.0
uses: home-assistant/builder@2023.09.0
with:
args: |
$BUILD_ARGS \
--target /data/machine \
--cosign \
--machine "${{ needs.init.outputs.version }}=${{ matrix.machine }}"
env:
CAS_API_KEY: ${{ secrets.CAS_TOKEN }}
publish_ha:
name: Publish version files
@@ -293,7 +289,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout the repository
uses: actions/checkout@v3.6.0
uses: actions/checkout@v4.1.1
- name: Initialize git
uses: home-assistant/actions/helpers/git-init@master
@@ -331,21 +327,21 @@ jobs:
id-token: write
steps:
- name: Checkout the repository
uses: actions/checkout@v3.6.0
uses: actions/checkout@v4.1.1
- name: Install Cosign
uses: sigstore/cosign-installer@v3.1.1
uses: sigstore/cosign-installer@v3.2.0
with:
cosign-release: "v2.0.2"
- name: Login to DockerHub
uses: docker/login-action@v2.2.0
uses: docker/login-action@v3.0.0
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Login to GitHub Container Registry
uses: docker/login-action@v2.2.0
uses: docker/login-action@v3.0.0
with:
registry: ghcr.io
username: ${{ github.repository_owner }}

View File

@@ -35,19 +35,21 @@ on:
env:
CACHE_VERSION: 5
PIP_CACHE_VERSION: 4
MYPY_CACHE_VERSION: 4
HA_SHORT_VERSION: 2023.9
MYPY_CACHE_VERSION: 6
HA_SHORT_VERSION: "2023.12"
DEFAULT_PYTHON: "3.11"
ALL_PYTHON_VERSIONS: "['3.11']"
ALL_PYTHON_VERSIONS: "['3.11', '3.12']"
# 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)
# 10.11 is the latest long-term-support
# - 10.11.2 is the version currently shipped with Synology (as of 11 Oct 2023)
# mysql 8.0.32 does not always behave the same as MariaDB
# and some queries that work on MariaDB do not work on MySQL
MARIADB_VERSIONS: "['mariadb:10.3.32','mariadb:10.6.10','mariadb:10.10.3','mysql:8.0.32']"
MARIADB_VERSIONS: "['mariadb:10.3.32','mariadb:10.6.10','mariadb:10.10.3','mariadb:10.11.2','mysql:8.0.32']"
# 12 is the oldest supported version
# - 12.14 is the latest (as of 9 Feb 2023)
# 15 is the latest version
@@ -87,7 +89,7 @@ jobs:
runs-on: ubuntu-22.04
steps:
- name: Check out code from GitHub
uses: actions/checkout@v3.6.0
uses: actions/checkout@v4.1.1
- name: Generate partial Python venv restore key
id: generate_python_cache_key
run: >-
@@ -220,16 +222,16 @@ jobs:
- info
steps:
- name: Check out code from GitHub
uses: actions/checkout@v3.6.0
uses: actions/checkout@v4.1.1
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
id: python
uses: actions/setup-python@v4.7.0
uses: actions/setup-python@v4.7.1
with:
python-version: ${{ env.DEFAULT_PYTHON }}
check-latest: true
- name: Restore base Python virtual environment
id: cache-venv
uses: actions/cache@v3.3.1
uses: actions/cache@v3.3.2
with:
path: venv
key: >-
@@ -244,7 +246,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.3.1
uses: actions/cache@v3.3.2
with:
path: ${{ env.PRE_COMMIT_CACHE }}
lookup-only: true
@@ -257,24 +259,24 @@ jobs:
. venv/bin/activate
pre-commit install-hooks
lint-black:
name: Check black
lint-ruff-format:
name: Check ruff-format
runs-on: ubuntu-22.04
needs:
- info
- pre-commit
steps:
- name: Check out code from GitHub
uses: actions/checkout@v3.6.0
uses: actions/checkout@v4.1.1
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v4.7.0
uses: actions/setup-python@v4.7.1
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.3.1
uses: actions/cache/restore@v3.3.2
with:
path: venv
fail-on-cache-miss: true
@@ -283,25 +285,19 @@ jobs:
needs.info.outputs.pre-commit_cache_key }}
- name: Restore pre-commit environment from cache
id: cache-precommit
uses: actions/cache/restore@v3.3.1
uses: actions/cache/restore@v3.3.2
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 black (fully)
if: needs.info.outputs.test_full_suite == 'true'
- name: Run ruff-format
run: |
. venv/bin/activate
pre-commit run --hook-stage manual black --all-files --show-diff-on-failure
- name: Run black (partially)
if: needs.info.outputs.test_full_suite == 'false'
shell: bash
run: |
. venv/bin/activate
shopt -s globstar
pre-commit run --hook-stage manual black --files {homeassistant,tests}/components/${{ needs.info.outputs.integrations_glob }}/{*,**/*} --show-diff-on-failure
pre-commit run --hook-stage manual ruff-format --all-files --show-diff-on-failure
env:
RUFF_OUTPUT_FORMAT: github
lint-ruff:
name: Check ruff
@@ -311,16 +307,16 @@ jobs:
- pre-commit
steps:
- name: Check out code from GitHub
uses: actions/checkout@v3.6.0
uses: actions/checkout@v4.1.1
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v4.7.0
uses: actions/setup-python@v4.7.1
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.3.1
uses: actions/cache/restore@v3.3.2
with:
path: venv
fail-on-cache-miss: true
@@ -329,29 +325,19 @@ jobs:
needs.info.outputs.pre-commit_cache_key }}
- name: Restore pre-commit environment from cache
id: cache-precommit
uses: actions/cache/restore@v3.3.1
uses: actions/cache/restore@v3.3.2
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: Register ruff problem matcher
run: |
echo "::add-matcher::.github/workflows/matchers/ruff.json"
- name: Run ruff (fully)
if: needs.info.outputs.test_full_suite == 'true'
- name: Run ruff
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
env:
RUFF_OUTPUT_FORMAT: github
lint-other:
name: Check other linters
runs-on: ubuntu-22.04
@@ -360,16 +346,16 @@ jobs:
- pre-commit
steps:
- name: Check out code from GitHub
uses: actions/checkout@v3.6.0
uses: actions/checkout@v4.1.1
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v4.7.0
uses: actions/setup-python@v4.7.1
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.3.1
uses: actions/cache/restore@v3.3.2
with:
path: venv
fail-on-cache-miss: true
@@ -378,7 +364,7 @@ jobs:
needs.info.outputs.pre-commit_cache_key }}
- name: Restore pre-commit environment from cache
id: cache-precommit
uses: actions/cache/restore@v3.3.1
uses: actions/cache/restore@v3.3.2
with:
path: ${{ env.PRE_COMMIT_CACHE }}
fail-on-cache-miss: true
@@ -454,10 +440,10 @@ jobs:
python-version: ${{ fromJSON(needs.info.outputs.python_versions) }}
steps:
- name: Check out code from GitHub
uses: actions/checkout@v3.6.0
uses: actions/checkout@v4.1.1
- name: Set up Python ${{ matrix.python-version }}
id: python
uses: actions/setup-python@v4.7.0
uses: actions/setup-python@v4.7.1
with:
python-version: ${{ matrix.python-version }}
check-latest: true
@@ -468,7 +454,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.3.1
uses: actions/cache@v3.3.2
with:
path: venv
lookup-only: true
@@ -477,7 +463,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.3.1
uses: actions/cache@v3.3.2
with:
path: ${{ env.PIP_CACHE }}
key: >-
@@ -522,16 +508,16 @@ jobs:
- base
steps:
- name: Check out code from GitHub
uses: actions/checkout@v3.6.0
uses: actions/checkout@v4.1.1
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
id: python
uses: actions/setup-python@v4.7.0
uses: actions/setup-python@v4.7.1
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.3.1
uses: actions/cache/restore@v3.3.2
with:
path: venv
fail-on-cache-miss: true
@@ -554,16 +540,16 @@ jobs:
- base
steps:
- name: Check out code from GitHub
uses: actions/checkout@v3.6.0
uses: actions/checkout@v4.1.1
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
id: python
uses: actions/setup-python@v4.7.0
uses: actions/setup-python@v4.7.1
with:
python-version: ${{ env.DEFAULT_PYTHON }}
check-latest: true
- name: Restore base Python virtual environment
id: cache-venv
uses: actions/cache/restore@v3.3.1
uses: actions/cache/restore@v3.3.2
with:
path: venv
fail-on-cache-miss: true
@@ -587,16 +573,16 @@ jobs:
- base
steps:
- name: Check out code from GitHub
uses: actions/checkout@v3.6.0
uses: actions/checkout@v4.1.1
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
id: python
uses: actions/setup-python@v4.7.0
uses: actions/setup-python@v4.7.1
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.3.1
uses: actions/cache/restore@v3.3.2
with:
path: venv
fail-on-cache-miss: true
@@ -631,10 +617,10 @@ jobs:
- base
steps:
- name: Check out code from GitHub
uses: actions/checkout@v3.6.0
uses: actions/checkout@v4.1.1
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
id: python
uses: actions/setup-python@v4.7.0
uses: actions/setup-python@v4.7.1
with:
python-version: ${{ env.DEFAULT_PYTHON }}
check-latest: true
@@ -647,7 +633,7 @@ jobs:
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.3.1
uses: actions/cache/restore@v3.3.2
with:
path: venv
fail-on-cache-miss: true
@@ -655,7 +641,7 @@ jobs:
${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
needs.info.outputs.python_cache_key }}
- name: Restore mypy cache
uses: actions/cache@v3.3.1
uses: actions/cache@v3.3.2
with:
path: .mypy_cache
key: >-
@@ -713,16 +699,16 @@ jobs:
bluez \
ffmpeg
- name: Check out code from GitHub
uses: actions/checkout@v3.6.0
uses: actions/checkout@v4.1.1
- name: Set up Python ${{ matrix.python-version }}
id: python
uses: actions/setup-python@v4.7.0
uses: actions/setup-python@v4.7.1
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.3.1
uses: actions/cache/restore@v3.3.2
with:
path: venv
fail-on-cache-miss: true
@@ -761,7 +747,7 @@ jobs:
cov_params+=(--cov-report=xml)
fi
python3 -X dev -m pytest \
python3 -b -X dev -m pytest \
-qq \
--timeout=9 \
--durations=10 \
@@ -798,7 +784,7 @@ jobs:
cov_params+=(--cov-report=term-missing)
fi
python3 -X dev -m pytest \
python3 -b -X dev -m pytest \
-qq \
--timeout=9 \
-n auto \
@@ -865,16 +851,16 @@ jobs:
ffmpeg \
libmariadb-dev-compat
- name: Check out code from GitHub
uses: actions/checkout@v3.6.0
uses: actions/checkout@v4.1.1
- name: Set up Python ${{ matrix.python-version }}
id: python
uses: actions/setup-python@v4.7.0
uses: actions/setup-python@v4.7.1
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.3.1
uses: actions/cache/restore@v3.3.2
with:
path: venv
fail-on-cache-miss: true
@@ -919,7 +905,7 @@ jobs:
cov_params+=(--cov-report=term-missing)
fi
python3 -X dev -m pytest \
python3 -b -X dev -m pytest \
-qq \
--timeout=20 \
-n 1 \
@@ -989,16 +975,16 @@ jobs:
ffmpeg \
postgresql-server-dev-14
- name: Check out code from GitHub
uses: actions/checkout@v3.6.0
uses: actions/checkout@v4.1.1
- name: Set up Python ${{ matrix.python-version }}
id: python
uses: actions/setup-python@v4.7.0
uses: actions/setup-python@v4.7.1
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.3.1
uses: actions/cache/restore@v3.3.2
with:
path: venv
fail-on-cache-miss: true
@@ -1043,7 +1029,7 @@ jobs:
cov_params+=(--cov-report=term-missing)
fi
python3 -X dev -m pytest \
python3 -b -X dev -m pytest \
-qq \
--timeout=9 \
-n 1 \
@@ -1084,7 +1070,7 @@ jobs:
timeout-minutes: 10
steps:
- name: Check out code from GitHub
uses: actions/checkout@v3.6.0
uses: actions/checkout@v4.1.1
- name: Download all coverage artifacts
uses: actions/download-artifact@v3
- name: Upload coverage to Codecov (full coverage)

39
.github/workflows/codeql.yml vendored Normal file
View File

@@ -0,0 +1,39 @@
name: "CodeQL"
# yamllint disable-line rule:truthy
on:
push:
branches:
- dev
- rc
- master
schedule:
- cron: "30 18 * * 4"
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
timeout-minutes: 360
permissions:
actions: read
contents: read
security-events: write
steps:
- name: Check out code from GitHub
uses: actions/checkout@v4.1.1
- name: Initialize CodeQL
uses: github/codeql-action/init@v2.22.8
with:
languages: python
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2.22.8
with:
category: "/language:python"

View File

@@ -10,7 +10,7 @@ jobs:
if: github.repository_owner == 'home-assistant'
runs-on: ubuntu-latest
steps:
- uses: dessant/lock-threads@v4.0.1
- uses: dessant/lock-threads@v5.0.1
with:
github-token: ${{ github.token }}
issue-inactive-days: "30"

View File

@@ -1,30 +0,0 @@
{
"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

@@ -42,7 +42,7 @@ jobs:
id: token
# Pinned to a specific version of the action for security reasons
# v1.7.0
uses: tibdex/github-app-token@b62528385c34dbc9f38e5f4225ac829252d1ea92
uses: tibdex/github-app-token@3beb63f4bd073e61482598c45c71c1019b59b73a
with:
app_id: ${{ secrets.ISSUE_TRIAGE_APP_ID }}
private_key: ${{ secrets.ISSUE_TRIAGE_APP_PEM }}

View File

@@ -19,10 +19,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout the repository
uses: actions/checkout@v3.6.0
uses: actions/checkout@v4.1.1
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v4.7.0
uses: actions/setup-python@v4.7.1
with:
python-version: ${{ env.DEFAULT_PYTHON }}

View File

@@ -10,8 +10,10 @@ on:
- dev
- rc
paths:
- "requirements.txt"
- ".github/workflows/wheels.yml"
- "homeassistant/package_constraints.txt"
- "requirements_all.txt"
- "requirements.txt"
concurrency:
group: ${{ github.workflow }}-${{ github.ref_name}}
@@ -26,7 +28,7 @@ jobs:
architectures: ${{ steps.info.outputs.architectures }}
steps:
- name: Checkout the repository
uses: actions/checkout@v3.6.0
uses: actions/checkout@v4.1.1
- name: Get information
id: info
@@ -56,7 +58,7 @@ jobs:
echo "CI_BUILD=1"
echo "ENABLE_HEADLESS=1"
# Use C-Extension for sqlalchemy
# Use C-Extension for SQLAlchemy
echo "REQUIRE_SQLALCHEMY_CEXT=1"
) > .env_file
@@ -80,11 +82,11 @@ jobs:
strategy:
fail-fast: false
matrix:
abi: ["cp311"]
abi: ["cp311", "cp312"]
arch: ${{ fromJson(needs.init.outputs.architectures) }}
steps:
- name: Checkout the repository
uses: actions/checkout@v3.6.0
uses: actions/checkout@v4.1.1
- name: Download env_file
uses: actions/download-artifact@v3
@@ -97,7 +99,7 @@ jobs:
name: requirements_diff
- name: Build wheels
uses: home-assistant/wheels@2023.04.0
uses: home-assistant/wheels@2023.10.5
with:
abi: ${{ matrix.abi }}
tag: musllinux_1_2
@@ -110,7 +112,7 @@ jobs:
requirements-diff: "requirements_diff.txt"
requirements: "requirements.txt"
integrations_cp311:
integrations:
name: Build wheels ${{ matrix.abi }} for ${{ matrix.arch }}
if: github.repository_owner == 'home-assistant'
needs: init
@@ -118,11 +120,11 @@ jobs:
strategy:
fail-fast: false
matrix:
abi: ["cp311"]
abi: ["cp311", "cp312"]
arch: ${{ fromJson(needs.init.outputs.architectures) }}
steps:
- name: Checkout the repository
uses: actions/checkout@v3.6.0
uses: actions/checkout@v4.1.1
- name: Download env_file
uses: actions/download-artifact@v3
@@ -168,6 +170,18 @@ jobs:
split -l $(expr $(expr $(cat requirements_all.txt | wc -l) + 1) / 3) requirements_all.txt requirements_all.txt
- name: Create requirements for cython<3
run: |
# Some dependencies still require 'cython<3'
# and don't yet use isolated build environments.
# Build these first.
# grpcio: https://github.com/grpc/grpc/issues/33918
# pydantic: https://github.com/pydantic/pydantic/issues/7689
touch requirements_old-cython.txt
cat homeassistant/package_constraints.txt | grep 'grpcio==' >> requirements_old-cython.txt
cat homeassistant/package_constraints.txt | grep 'pydantic==' >> requirements_old-cython.txt
- name: Adjust build env
run: |
if [ "${{ matrix.arch }}" = "i386" ]; then
@@ -177,8 +191,8 @@ jobs:
# Do not pin numpy in wheels building
sed -i "/numpy/d" homeassistant/package_constraints.txt
- name: Build wheels (part 1)
uses: home-assistant/wheels@2023.04.0
- name: Build wheels (old cython)
uses: home-assistant/wheels@2023.10.5
with:
abi: ${{ matrix.abi }}
tag: musllinux_1_2
@@ -186,13 +200,28 @@ jobs:
wheels-key: ${{ secrets.WHEELS_KEY }}
env-file: true
apk: "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;sqlalchemy;protobuf
skip-binary: aiohttp;charset-normalizer;grpcio;SQLAlchemy;protobuf
constraints: "homeassistant/package_constraints.txt"
requirements-diff: "requirements_diff.txt"
requirements: "requirements_old-cython.txt"
pip: "'cython<3'"
- name: Build wheels (part 1)
uses: home-assistant/wheels@2023.10.5
with:
abi: ${{ matrix.abi }}
tag: musllinux_1_2
arch: ${{ matrix.arch }}
wheels-key: ${{ secrets.WHEELS_KEY }}
env-file: true
apk: "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;charset-normalizer;grpcio;SQLAlchemy;protobuf
constraints: "homeassistant/package_constraints.txt"
requirements-diff: "requirements_diff.txt"
requirements: "requirements_all.txtaa"
- name: Build wheels (part 2)
uses: home-assistant/wheels@2023.04.0
uses: home-assistant/wheels@2023.10.5
with:
abi: ${{ matrix.abi }}
tag: musllinux_1_2
@@ -200,13 +229,13 @@ jobs:
wheels-key: ${{ secrets.WHEELS_KEY }}
env-file: true
apk: "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;sqlalchemy;protobuf
skip-binary: aiohttp;charset-normalizer;grpcio;SQLAlchemy;protobuf
constraints: "homeassistant/package_constraints.txt"
requirements-diff: "requirements_diff.txt"
requirements: "requirements_all.txtab"
- name: Build wheels (part 3)
uses: home-assistant/wheels@2023.04.0
uses: home-assistant/wheels@2023.10.5
with:
abi: ${{ matrix.abi }}
tag: musllinux_1_2
@@ -214,7 +243,7 @@ jobs:
wheels-key: ${{ secrets.WHEELS_KEY }}
env-file: true
apk: "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;sqlalchemy;protobuf
skip-binary: aiohttp;charset-normalizer;grpcio;SQLAlchemy;protobuf
constraints: "homeassistant/package_constraints.txt"
requirements-diff: "requirements_diff.txt"
requirements: "requirements_all.txtac"

3
.gitignore vendored
View File

@@ -111,9 +111,6 @@ virtualization/vagrant/config
!.vscode/tasks.json
.env
# Built docs
docs/build
# Windows Explorer
desktop.ini
/home-assistant.pyproj

View File

@@ -3,3 +3,4 @@ ignored:
- DL3008
- DL3013
- DL3018
- DL3042

View File

@@ -1,16 +1,11 @@
repos:
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.0.285
rev: v0.1.6
hooks:
- id: ruff
args:
- --fix
- repo: https://github.com/psf/black-pre-commit-mirror
rev: 23.7.0
hooks:
- id: black
args:
- --quiet
- id: ruff-format
files: ^((homeassistant|pylint|script|tests)/.+)?[^/]+\.py$
- repo: https://github.com/codespell-project/codespell
rev: v2.2.2
@@ -21,7 +16,7 @@ repos:
- --skip="./.*,*.csv,*.json,*.ambr"
- --quiet-level=2
exclude_types: [csv, json]
exclude: ^tests/fixtures/|homeassistant/generated/
exclude: ^tests/fixtures/|homeassistant/generated/|tests/components/.*/snapshots/
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.4.0
hooks:
@@ -39,7 +34,7 @@ repos:
hooks:
- id: yamllint
- repo: https://github.com/pre-commit/mirrors-prettier
rev: v2.7.1
rev: v3.0.3
hooks:
- id: prettier
- repo: https://github.com/cdce8p/python-typing-update

View File

@@ -1,8 +1,8 @@
*.md
.strict-typing
azure-*.yml
docs/source/_templates/*
homeassistant/components/*/translations/*.json
homeassistant/generated/*
tests/components/lidarr/fixtures/initialize.js
tests/components/lidarr/fixtures/initialize-wrong.js
tests/fixtures/core/config/yaml_errors/

View File

@@ -1,14 +0,0 @@
# .readthedocs.yml
version: 2
build:
os: ubuntu-20.04
tools:
python: "3.9"
python:
install:
- method: setuptools
path: .
- requirements: requirements_docs.txt

View File

@@ -88,6 +88,7 @@ homeassistant.components.camera.*
homeassistant.components.canary.*
homeassistant.components.clickatell.*
homeassistant.components.clicksend.*
homeassistant.components.climate.*
homeassistant.components.cloud.*
homeassistant.components.configurator.*
homeassistant.components.cover.*
@@ -102,6 +103,7 @@ homeassistant.components.devolo_home_control.*
homeassistant.components.devolo_home_network.*
homeassistant.components.dhcp.*
homeassistant.components.diagnostics.*
homeassistant.components.discovergy.*
homeassistant.components.dlna_dmr.*
homeassistant.components.dnsip.*
homeassistant.components.doorbird.*
@@ -136,9 +138,11 @@ homeassistant.components.fully_kiosk.*
homeassistant.components.geo_location.*
homeassistant.components.geocaching.*
homeassistant.components.gios.*
homeassistant.components.glances.*
homeassistant.components.goalzero.*
homeassistant.components.google.*
homeassistant.components.google_sheets.*
homeassistant.components.gpsd.*
homeassistant.components.greeneye_monitor.*
homeassistant.components.group.*
homeassistant.components.guardian.*
@@ -153,15 +157,7 @@ homeassistant.components.homeassistant_green.*
homeassistant.components.homeassistant_hardware.*
homeassistant.components.homeassistant_sky_connect.*
homeassistant.components.homeassistant_yellow.*
homeassistant.components.homekit
homeassistant.components.homekit.accessories
homeassistant.components.homekit.aidmanager
homeassistant.components.homekit.config_flow
homeassistant.components.homekit.diagnostics
homeassistant.components.homekit.logbook
homeassistant.components.homekit.type_locks
homeassistant.components.homekit.type_triggers
homeassistant.components.homekit.util
homeassistant.components.homekit.*
homeassistant.components.homekit_controller
homeassistant.components.homekit_controller.alarm_control_panel
homeassistant.components.homekit_controller.button
@@ -177,15 +173,18 @@ homeassistant.components.huawei_lte.*
homeassistant.components.hydrawise.*
homeassistant.components.hyperion.*
homeassistant.components.ibeacon.*
homeassistant.components.idasen_desk.*
homeassistant.components.image.*
homeassistant.components.image_processing.*
homeassistant.components.image_upload.*
homeassistant.components.imap.*
homeassistant.components.input_button.*
homeassistant.components.input_select.*
homeassistant.components.input_text.*
homeassistant.components.integration.*
homeassistant.components.ipp.*
homeassistant.components.iqvia.*
homeassistant.components.islamic_prayer_times.*
homeassistant.components.isy994.*
homeassistant.components.jellyfin.*
homeassistant.components.jewish_calendar.*
@@ -203,16 +202,20 @@ homeassistant.components.ld2410_ble.*
homeassistant.components.lidarr.*
homeassistant.components.lifx.*
homeassistant.components.light.*
homeassistant.components.linear_garage_door.*
homeassistant.components.litejet.*
homeassistant.components.litterrobot.*
homeassistant.components.local_ip.*
homeassistant.components.local_todo.*
homeassistant.components.lock.*
homeassistant.components.logbook.*
homeassistant.components.logger.*
homeassistant.components.london_underground.*
homeassistant.components.lookin.*
homeassistant.components.luftdaten.*
homeassistant.components.mailbox.*
homeassistant.components.mastodon.*
homeassistant.components.matrix.*
homeassistant.components.matter.*
homeassistant.components.media_extractor.*
homeassistant.components.media_player.*
@@ -253,7 +256,10 @@ homeassistant.components.peco.*
homeassistant.components.persistent_notification.*
homeassistant.components.pi_hole.*
homeassistant.components.ping.*
homeassistant.components.plugwise.*
homeassistant.components.poolsense.*
homeassistant.components.powerwall.*
homeassistant.components.private_ble_device.*
homeassistant.components.proximity.*
homeassistant.components.prusalink.*
homeassistant.components.pure_energie.*
@@ -311,11 +317,13 @@ homeassistant.components.sun.*
homeassistant.components.surepetcare.*
homeassistant.components.switch.*
homeassistant.components.switchbee.*
homeassistant.components.switchbot_cloud.*
homeassistant.components.switcher_kis.*
homeassistant.components.synology_dsm.*
homeassistant.components.systemmonitor.*
homeassistant.components.tag.*
homeassistant.components.tailscale.*
homeassistant.components.tami4.*
homeassistant.components.tautulli.*
homeassistant.components.tcp.*
homeassistant.components.text.*
@@ -332,6 +340,8 @@ homeassistant.components.trafikverket_camera.*
homeassistant.components.trafikverket_ferry.*
homeassistant.components.trafikverket_train.*
homeassistant.components.trafikverket_weatherstation.*
homeassistant.components.transmission.*
homeassistant.components.trend.*
homeassistant.components.tts.*
homeassistant.components.twentemilieu.*
homeassistant.components.unifi.*
@@ -354,6 +364,7 @@ homeassistant.components.webostv.*
homeassistant.components.websocket_api.*
homeassistant.components.wemo.*
homeassistant.components.whois.*
homeassistant.components.withings.*
homeassistant.components.wiz.*
homeassistant.components.wled.*
homeassistant.components.worldclock.*

View File

@@ -1,3 +1,7 @@
{
"recommendations": ["esbenp.prettier-vscode", "ms-python.python"]
"recommendations": [
"charliermarsh.ruff",
"esbenp.prettier-vscode",
"ms-python.python"
]
}

8
.vscode/launch.json vendored
View File

@@ -22,6 +22,14 @@
"args": ["--debug", "-c", "config", "--skip-pip"],
"preLaunchTask": "Compile English translations"
},
{
"name": "Home Assistant: Changed tests",
"type": "python",
"request": "launch",
"module": "pytest",
"justMyCode": false,
"args": ["--timeout=10", "--picked"],
},
{
// Debug by attaching to local Home Assistant server using Remote Python Debugger.
// See https://www.home-assistant.io/integrations/debugpy/

View File

@@ -1,6 +1,5 @@
{
// Please keep this file in sync with settings in home-assistant/.devcontainer/devcontainer.json
"python.formatting.provider": "black",
// Added --no-cov to work around TypeError: message must be set
// https://github.com/microsoft/vscode-python/issues/14067
"python.testing.pytestArgs": ["--no-cov"],

6
.vscode/tasks.json vendored
View File

@@ -16,7 +16,7 @@
{
"label": "Pytest",
"type": "shell",
"command": "pytest --timeout=10 tests",
"command": "python3 -m pytest --timeout=10 tests",
"dependsOn": ["Install all Test Requirements"],
"group": {
"kind": "test",
@@ -31,7 +31,7 @@
{
"label": "Pytest (changed tests only)",
"type": "shell",
"command": "pytest --timeout=10 --picked",
"command": "python3 -m pytest --timeout=10 --picked",
"group": {
"kind": "test",
"isDefault": true
@@ -75,7 +75,7 @@
"label": "Code Coverage",
"detail": "Generate code coverage report for a given integration.",
"type": "shell",
"command": "pytest ./tests/components/${input:integrationName}/ --cov=homeassistant.components.${input:integrationName} --cov-report term-missing --durations-min=1 --durations=0 --numprocesses=auto",
"command": "python3 -m pytest ./tests/components/${input:integrationName}/ --cov=homeassistant.components.${input:integrationName} --cov-report term-missing --durations-min=1 --durations=0 --numprocesses=auto",
"group": {
"kind": "test",
"isDefault": true

View File

@@ -1,5 +1,6 @@
ignore: |
azure-*.yml
tests/fixtures/core/config/yaml_errors/
rules:
braces:
level: error

View File

@@ -47,8 +47,10 @@ build.json @home-assistant/supervisor
/tests/components/airq/ @Sibgatulin @dl2080
/homeassistant/components/airthings/ @danielhiversen
/tests/components/airthings/ @danielhiversen
/homeassistant/components/airthings_ble/ @vincegio
/tests/components/airthings_ble/ @vincegio
/homeassistant/components/airthings_ble/ @vincegio @LaStrada
/tests/components/airthings_ble/ @vincegio @LaStrada
/homeassistant/components/airtouch4/ @samsinnamon
/tests/components/airtouch4/ @samsinnamon
/homeassistant/components/airvisual/ @bachya
/tests/components/airvisual/ @bachya
/homeassistant/components/airvisual_pro/ @bachya
@@ -98,8 +100,8 @@ build.json @home-assistant/supervisor
/tests/components/apprise/ @caronc
/homeassistant/components/aprs/ @PhilRW
/tests/components/aprs/ @PhilRW
/homeassistant/components/aranet/ @aschmitz
/tests/components/aranet/ @aschmitz
/homeassistant/components/aranet/ @aschmitz @thecode
/tests/components/aranet/ @aschmitz @thecode
/homeassistant/components/arcam_fmj/ @elupus
/tests/components/arcam_fmj/ @elupus
/homeassistant/components/arris_tg2492lg/ @vanbalken
@@ -149,8 +151,8 @@ build.json @home-assistant/supervisor
/homeassistant/components/bizkaibus/ @UgaitzEtxebarria
/homeassistant/components/blebox/ @bbx-a @riokuu
/tests/components/blebox/ @bbx-a @riokuu
/homeassistant/components/blink/ @fronzbot
/tests/components/blink/ @fronzbot
/homeassistant/components/blink/ @fronzbot @mkmer
/tests/components/blink/ @fronzbot @mkmer
/homeassistant/components/bluemaestro/ @bdraco
/tests/components/bluemaestro/ @bdraco
/homeassistant/components/blueprint/ @home-assistant/core
@@ -168,8 +170,8 @@ build.json @home-assistant/supervisor
/tests/components/bosch_shc/ @tschamm
/homeassistant/components/braviatv/ @bieniu @Drafteed
/tests/components/braviatv/ @bieniu @Drafteed
/homeassistant/components/broadlink/ @danielhiversen @felipediel @L-I-Am
/tests/components/broadlink/ @danielhiversen @felipediel @L-I-Am
/homeassistant/components/broadlink/ @danielhiversen @felipediel @L-I-Am @eifinger
/tests/components/broadlink/ @danielhiversen @felipediel @L-I-Am @eifinger
/homeassistant/components/brother/ @bieniu
/tests/components/brother/ @bieniu
/homeassistant/components/brottsplatskartan/ @gjohansson-ST
@@ -203,6 +205,8 @@ build.json @home-assistant/supervisor
/tests/components/cloud/ @home-assistant/cloud
/homeassistant/components/cloudflare/ @ludeeus @ctalkington
/tests/components/cloudflare/ @ludeeus @ctalkington
/homeassistant/components/co2signal/ @jpbede
/tests/components/co2signal/ @jpbede
/homeassistant/components/coinbase/ @tombrien
/tests/components/coinbase/ @tombrien
/homeassistant/components/color_extractor/ @GenericStudent
@@ -229,8 +233,8 @@ build.json @home-assistant/supervisor
/tests/components/counter/ @fabaff
/homeassistant/components/cover/ @home-assistant/core
/tests/components/cover/ @home-assistant/core
/homeassistant/components/cpuspeed/ @fabaff @frenck
/tests/components/cpuspeed/ @fabaff @frenck
/homeassistant/components/cpuspeed/ @fabaff
/tests/components/cpuspeed/ @fabaff
/homeassistant/components/crownstone/ @Crownstone @RicArch97
/tests/components/crownstone/ @Crownstone @RicArch97
/homeassistant/components/cups/ @fabaff
@@ -303,18 +307,18 @@ build.json @home-assistant/supervisor
/tests/components/eafm/ @Jc2k
/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/ecobee/ @marcolivierarsenault
/tests/components/ecobee/ @marcolivierarsenault
/homeassistant/components/ecoforest/ @pjanuario
/tests/components/ecoforest/ @pjanuario
/homeassistant/components/econet/ @w1ll1am23
/tests/components/econet/ @w1ll1am23
/homeassistant/components/ecovacs/ @OverloadUT @mib1185
/homeassistant/components/ecowitt/ @pvizeli
/tests/components/ecowitt/ @pvizeli
/homeassistant/components/efergy/ @tkdrob
/tests/components/efergy/ @tkdrob
/homeassistant/components/egardia/ @jeroenterheerdt
/homeassistant/components/eight_sleep/ @mezz64 @raman325
/tests/components/eight_sleep/ @mezz64 @raman325
/homeassistant/components/electrasmart/ @jafar-atili
/tests/components/electrasmart/ @jafar-atili
/homeassistant/components/electric_kiwi/ @mikey0000
@@ -341,21 +345,19 @@ build.json @home-assistant/supervisor
/homeassistant/components/enigma2/ @fbradyirl
/homeassistant/components/enocean/ @bdurrer
/tests/components/enocean/ @bdurrer
/homeassistant/components/enphase_envoy/ @bdraco @cgarwood @dgomes @joostlek
/tests/components/enphase_envoy/ @bdraco @cgarwood @dgomes @joostlek
/homeassistant/components/enphase_envoy/ @bdraco @cgarwood @dgomes @joostlek @catsmanac
/tests/components/enphase_envoy/ @bdraco @cgarwood @dgomes @joostlek @catsmanac
/homeassistant/components/entur_public_transport/ @hfurubotten
/homeassistant/components/environment_canada/ @gwww @michaeldavie
/tests/components/environment_canada/ @gwww @michaeldavie
/homeassistant/components/envisalink/ @ufodone
/homeassistant/components/ephember/ @ttroy50
/homeassistant/components/epson/ @pszafer
/tests/components/epson/ @pszafer
/homeassistant/components/epsonworkforce/ @ThaStealth
/homeassistant/components/eq3btsmart/ @rytilahti
/homeassistant/components/escea/ @lazdavila
/tests/components/escea/ @lazdavila
/homeassistant/components/esphome/ @OttoWinter @jesserockz @bdraco
/tests/components/esphome/ @OttoWinter @jesserockz @bdraco
/homeassistant/components/esphome/ @OttoWinter @jesserockz @kbx81 @bdraco
/tests/components/esphome/ @OttoWinter @jesserockz @kbx81 @bdraco
/homeassistant/components/eufylife_ble/ @bdr99
/tests/components/eufylife_ble/ @bdr99
/homeassistant/components/event/ @home-assistant/core
@@ -369,7 +371,8 @@ build.json @home-assistant/supervisor
/tests/components/faa_delays/ @ntilley905
/homeassistant/components/fan/ @home-assistant/core
/tests/components/fan/ @home-assistant/core
/homeassistant/components/fastdotcom/ @rohankapoorcom
/homeassistant/components/fastdotcom/ @rohankapoorcom @erwindouna
/tests/components/fastdotcom/ @rohankapoorcom @erwindouna
/homeassistant/components/fibaro/ @rappenze
/tests/components/fibaro/ @rappenze
/homeassistant/components/file/ @fabaff
@@ -384,6 +387,8 @@ build.json @home-assistant/supervisor
/tests/components/fireservicerota/ @cyberjunky
/homeassistant/components/firmata/ @DaAwesomeP
/tests/components/firmata/ @DaAwesomeP
/homeassistant/components/fitbit/ @allenporter
/tests/components/fitbit/ @allenporter
/homeassistant/components/fivem/ @Sander0542
/tests/components/fivem/ @Sander0542
/homeassistant/components/fjaraskupan/ @elupus
@@ -396,8 +401,8 @@ build.json @home-assistant/supervisor
/tests/components/flo/ @dmulcahey
/homeassistant/components/flume/ @ChrisMandich @bdraco @jeeftor
/tests/components/flume/ @ChrisMandich @bdraco @jeeftor
/homeassistant/components/flux_led/ @icemanch @bdraco
/tests/components/flux_led/ @icemanch @bdraco
/homeassistant/components/flux_led/ @icemanch
/tests/components/flux_led/ @icemanch
/homeassistant/components/forecast_solar/ @klaasnicolaas @frenck
/tests/components/forecast_solar/ @klaasnicolaas @frenck
/homeassistant/components/forked_daapd/ @uvjustin
@@ -415,8 +420,8 @@ build.json @home-assistant/supervisor
/tests/components/fritzbox/ @mib1185 @flabbamann
/homeassistant/components/fritzbox_callmonitor/ @cdce8p
/tests/components/fritzbox_callmonitor/ @cdce8p
/homeassistant/components/fronius/ @nielstron @farmio
/tests/components/fronius/ @nielstron @farmio
/homeassistant/components/fronius/ @farmio
/tests/components/fronius/ @farmio
/homeassistant/components/frontend/ @home-assistant/frontend
/tests/components/frontend/ @home-assistant/frontend
/homeassistant/components/frontier_silicon/ @wlcrs
@@ -471,6 +476,8 @@ build.json @home-assistant/supervisor
/tests/components/google_mail/ @tkdrob
/homeassistant/components/google_sheets/ @tkdrob
/tests/components/google_sheets/ @tkdrob
/homeassistant/components/google_tasks/ @allenporter
/tests/components/google_tasks/ @allenporter
/homeassistant/components/google_travel_time/ @eifinger
/tests/components/google_travel_time/ @eifinger
/homeassistant/components/govee_ble/ @bdraco @PierreAronnax
@@ -482,8 +489,6 @@ 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/ @muppet3000
/tests/components/growatt_server/ @muppet3000
/homeassistant/components/guardian/ @bachya
/tests/components/guardian/ @bachya
/homeassistant/components/habitica/ @ASMfreaK @leikoilja
@@ -554,6 +559,7 @@ build.json @home-assistant/supervisor
/homeassistant/components/hvv_departures/ @vigonotion
/tests/components/hvv_departures/ @vigonotion
/homeassistant/components/hydrawise/ @dknowles2 @ptcryan
/tests/components/hydrawise/ @dknowles2 @ptcryan
/homeassistant/components/hyperion/ @dermotduffy
/tests/components/hyperion/ @dermotduffy
/homeassistant/components/ialarm/ @RyuzakiKK
@@ -565,6 +571,8 @@ build.json @home-assistant/supervisor
/tests/components/ibeacon/ @bdraco
/homeassistant/components/icloud/ @Quentame @nzapponi
/tests/components/icloud/ @Quentame @nzapponi
/homeassistant/components/idasen_desk/ @abmantis
/tests/components/idasen_desk/ @abmantis
/homeassistant/components/ign_sismologia/ @exxamalte
/tests/components/ign_sismologia/ @exxamalte
/homeassistant/components/image/ @home-assistant/core
@@ -575,6 +583,8 @@ build.json @home-assistant/supervisor
/tests/components/image_upload/ @home-assistant/core
/homeassistant/components/imap/ @jbouwh
/tests/components/imap/ @jbouwh
/homeassistant/components/improv_ble/ @emontnemery
/tests/components/improv_ble/ @emontnemery
/homeassistant/components/incomfort/ @zxdavb
/homeassistant/components/influxdb/ @mdegat01
/tests/components/influxdb/ @mdegat01
@@ -649,8 +659,10 @@ build.json @home-assistant/supervisor
/tests/components/kmtronic/ @dgomes
/homeassistant/components/knx/ @Julius2342 @farmio @marvin-w
/tests/components/knx/ @Julius2342 @farmio @marvin-w
/homeassistant/components/kodi/ @OnFreund @cgtobi
/tests/components/kodi/ @OnFreund @cgtobi
/homeassistant/components/kodi/ @OnFreund
/tests/components/kodi/ @OnFreund
/homeassistant/components/komfovent/ @ProstoSanja
/tests/components/komfovent/ @ProstoSanja
/homeassistant/components/konnected/ @heythisisnate
/tests/components/konnected/ @heythisisnate
/homeassistant/components/kostal_plenticore/ @stegm
@@ -684,10 +696,10 @@ build.json @home-assistant/supervisor
/tests/components/lidarr/ @tkdrob
/homeassistant/components/life360/ @pnbruckner
/tests/components/life360/ @pnbruckner
/homeassistant/components/lifx/ @bdraco
/tests/components/lifx/ @bdraco
/homeassistant/components/light/ @home-assistant/core
/tests/components/light/ @home-assistant/core
/homeassistant/components/linear_garage_door/ @IceBotYT
/tests/components/linear_garage_door/ @IceBotYT
/homeassistant/components/linux_battery/ @fabaff
/homeassistant/components/litejet/ @joncar
/tests/components/litejet/ @joncar
@@ -699,6 +711,8 @@ build.json @home-assistant/supervisor
/tests/components/local_calendar/ @allenporter
/homeassistant/components/local_ip/ @issacg
/tests/components/local_ip/ @issacg
/homeassistant/components/local_todo/ @allenporter
/tests/components/local_todo/ @allenporter
/homeassistant/components/lock/ @home-assistant/core
/tests/components/lock/ @home-assistant/core
/homeassistant/components/logbook/ @home-assistant/core
@@ -707,6 +721,8 @@ build.json @home-assistant/supervisor
/tests/components/logger/ @home-assistant/core
/homeassistant/components/logi_circle/ @evanjd
/tests/components/logi_circle/ @evanjd
/homeassistant/components/london_underground/ @jpbede
/tests/components/london_underground/ @jpbede
/homeassistant/components/lookin/ @ANMalko @bdraco
/tests/components/lookin/ @ANMalko @bdraco
/homeassistant/components/loqed/ @mikewoudenberg
@@ -723,13 +739,16 @@ build.json @home-assistant/supervisor
/homeassistant/components/lyric/ @timmo001
/tests/components/lyric/ @timmo001
/homeassistant/components/mastodon/ @fabaff
/homeassistant/components/matrix/ @PaarthShah
/tests/components/matrix/ @PaarthShah
/homeassistant/components/matter/ @home-assistant/matter
/tests/components/matter/ @home-assistant/matter
/homeassistant/components/mazda/ @bdr99
/tests/components/mazda/ @bdr99
/homeassistant/components/meater/ @Sotolotl @emontnemery
/tests/components/meater/ @Sotolotl @emontnemery
/homeassistant/components/medcom_ble/ @elafargue
/tests/components/medcom_ble/ @elafargue
/homeassistant/components/media_extractor/ @joostlek
/tests/components/media_extractor/ @joostlek
/homeassistant/components/media_player/ @home-assistant/core
/tests/components/media_player/ @home-assistant/core
/homeassistant/components/media_source/ @hunterjm
@@ -741,8 +760,8 @@ build.json @home-assistant/supervisor
/tests/components/melissa/ @kennedyshead
/homeassistant/components/melnor/ @vanstinator
/tests/components/melnor/ @vanstinator
/homeassistant/components/met/ @danielhiversen @thimic
/tests/components/met/ @danielhiversen @thimic
/homeassistant/components/met/ @danielhiversen
/tests/components/met/ @danielhiversen
/homeassistant/components/met_eireann/ @DylanGore
/tests/components/met_eireann/ @DylanGore
/homeassistant/components/meteo_france/ @hacf-fr @oncleben31 @Quentame
@@ -766,8 +785,8 @@ build.json @home-assistant/supervisor
/tests/components/moat/ @bdraco
/homeassistant/components/mobile_app/ @home-assistant/core
/tests/components/mobile_app/ @home-assistant/core
/homeassistant/components/modbus/ @adamchengtkc @janiversen @vzahradnik
/tests/components/modbus/ @adamchengtkc @janiversen @vzahradnik
/homeassistant/components/modbus/ @janiversen
/tests/components/modbus/ @janiversen
/homeassistant/components/modem_callerid/ @tkdrob
/tests/components/modem_callerid/ @tkdrob
/homeassistant/components/modern_forms/ @wonderslug
@@ -793,8 +812,6 @@ build.json @home-assistant/supervisor
/tests/components/mutesync/ @currentoor
/homeassistant/components/my/ @home-assistant/core
/tests/components/my/ @home-assistant/core
/homeassistant/components/myq/ @ehendrix23
/tests/components/myq/ @ehendrix23
/homeassistant/components/mysensors/ @MartinHjelmare @functionpointer
/tests/components/mysensors/ @MartinHjelmare @functionpointer
/homeassistant/components/mystrom/ @fabaff
@@ -911,6 +928,8 @@ build.json @home-assistant/supervisor
/homeassistant/components/oru/ @bvlaicu
/homeassistant/components/otbr/ @home-assistant/core
/tests/components/otbr/ @home-assistant/core
/homeassistant/components/ourgroceries/ @OnFreund
/tests/components/ourgroceries/ @OnFreund
/homeassistant/components/overkiz/ @imicknl @vlebourl @tetienne @nyroDev
/tests/components/overkiz/ @imicknl @vlebourl @tetienne @nyroDev
/homeassistant/components/ovo_energy/ @timmo001
@@ -925,6 +944,8 @@ build.json @home-assistant/supervisor
/tests/components/peco/ @IceBotYT
/homeassistant/components/pegel_online/ @mib1185
/tests/components/pegel_online/ @mib1185
/homeassistant/components/permobil/ @IsakNyberg
/tests/components/permobil/ @IsakNyberg
/homeassistant/components/persistent_notification/ @home-assistant/core
/tests/components/persistent_notification/ @home-assistant/core
/homeassistant/components/philips_js/ @elupus
@@ -935,6 +956,8 @@ build.json @home-assistant/supervisor
/tests/components/picnic/ @corneyl
/homeassistant/components/pilight/ @trekky12
/tests/components/pilight/ @trekky12
/homeassistant/components/ping/ @jpbede
/tests/components/ping/ @jpbede
/homeassistant/components/plaato/ @JohNan
/tests/components/plaato/ @JohNan
/homeassistant/components/plex/ @jjlawren
@@ -949,6 +972,8 @@ build.json @home-assistant/supervisor
/tests/components/poolsense/ @haemishkyd
/homeassistant/components/powerwall/ @bdraco @jrester @daniel-simpson
/tests/components/powerwall/ @bdraco @jrester @daniel-simpson
/homeassistant/components/private_ble_device/ @Jc2k
/tests/components/private_ble_device/ @Jc2k
/homeassistant/components/profiler/ @bdraco
/tests/components/profiler/ @bdraco
/homeassistant/components/progettihwsw/ @ardaseremet
@@ -957,6 +982,8 @@ build.json @home-assistant/supervisor
/tests/components/prometheus/ @knyar
/homeassistant/components/prosegur/ @dgomes
/tests/components/prosegur/ @dgomes
/homeassistant/components/proximity/ @mib1185
/tests/components/proximity/ @mib1185
/homeassistant/components/proxmoxve/ @jhollowe @Corbeno
/homeassistant/components/prusalink/ @balloob
/tests/components/prusalink/ @balloob
@@ -1017,6 +1044,8 @@ build.json @home-assistant/supervisor
/tests/components/recollect_waste/ @bachya
/homeassistant/components/recorder/ @home-assistant/core
/tests/components/recorder/ @home-assistant/core
/homeassistant/components/recovery_mode/ @home-assistant/core
/tests/components/recovery_mode/ @home-assistant/core
/homeassistant/components/rejseplanen/ @DarkFox
/homeassistant/components/remote/ @home-assistant/core
/tests/components/remote/ @home-assistant/core
@@ -1028,7 +1057,7 @@ build.json @home-assistant/supervisor
/tests/components/reolink/ @starkillerOG
/homeassistant/components/repairs/ @home-assistant/core
/tests/components/repairs/ @home-assistant/core
/homeassistant/components/repetier/ @MTrab @ShadowBr0ther
/homeassistant/components/repetier/ @ShadowBr0ther
/homeassistant/components/rflink/ @javicalle
/tests/components/rflink/ @javicalle
/homeassistant/components/rfxtrx/ @danielhiversen @elupus @RobBie1221
@@ -1037,6 +1066,8 @@ build.json @home-assistant/supervisor
/tests/components/rhasspy/ @balloob @synesthesiam
/homeassistant/components/ridwell/ @bachya
/tests/components/ridwell/ @bachya
/homeassistant/components/ring/ @sdb9696
/tests/components/ring/ @sdb9696
/homeassistant/components/risco/ @OnFreund
/tests/components/risco/ @OnFreund
/homeassistant/components/rituals_perfume_genie/ @milanmeu @frenck
@@ -1047,8 +1078,8 @@ build.json @home-assistant/supervisor
/tests/components/roborock/ @humbertogontijo @Lash-L
/homeassistant/components/roku/ @ctalkington
/tests/components/roku/ @ctalkington
/homeassistant/components/roomba/ @pschmitt @cyr-ius @shenxn
/tests/components/roomba/ @pschmitt @cyr-ius @shenxn
/homeassistant/components/roomba/ @pschmitt @cyr-ius @shenxn @Xitee1
/tests/components/roomba/ @pschmitt @cyr-ius @shenxn @Xitee1
/homeassistant/components/roon/ @pavoni
/tests/components/roon/ @pavoni
/homeassistant/components/rpi_power/ @shenxn @swetoast
@@ -1057,8 +1088,8 @@ build.json @home-assistant/supervisor
/tests/components/rss_feed_template/ @home-assistant/core
/homeassistant/components/rtsp_to_webrtc/ @allenporter
/tests/components/rtsp_to_webrtc/ @allenporter
/homeassistant/components/ruckus_unleashed/ @gabe565 @lanrat
/tests/components/ruckus_unleashed/ @gabe565 @lanrat
/homeassistant/components/ruckus_unleashed/ @lanrat @ms264556 @gabe565
/tests/components/ruckus_unleashed/ @lanrat @ms264556 @gabe565
/homeassistant/components/ruuvi_gateway/ @akx
/tests/components/ruuvi_gateway/ @akx
/homeassistant/components/ruuvitag_ble/ @akx
@@ -1067,8 +1098,6 @@ build.json @home-assistant/supervisor
/tests/components/rympro/ @OnFreund @elad-bar @maorcc
/homeassistant/components/sabnzbd/ @shaiu
/tests/components/sabnzbd/ @shaiu
/homeassistant/components/safe_mode/ @home-assistant/core
/tests/components/safe_mode/ @home-assistant/core
/homeassistant/components/saj/ @fredericvl
/homeassistant/components/samsungtv/ @chemelli74 @epenet
/tests/components/samsungtv/ @chemelli74 @epenet
@@ -1135,8 +1164,8 @@ build.json @home-assistant/supervisor
/homeassistant/components/sky_hub/ @rogerselwyn
/homeassistant/components/skybell/ @tkdrob
/tests/components/skybell/ @tkdrob
/homeassistant/components/slack/ @tkdrob
/tests/components/slack/ @tkdrob
/homeassistant/components/slack/ @tkdrob @fletcherau
/tests/components/slack/ @tkdrob @fletcherau
/homeassistant/components/sleepiq/ @mfugate1 @kbickar
/tests/components/sleepiq/ @mfugate1 @kbickar
/homeassistant/components/slide/ @ualex73
@@ -1173,8 +1202,8 @@ build.json @home-assistant/supervisor
/tests/components/sonarr/ @ctalkington
/homeassistant/components/songpal/ @rytilahti @shenxn
/tests/components/songpal/ @rytilahti @shenxn
/homeassistant/components/sonos/ @cgtobi @jjlawren
/tests/components/sonos/ @cgtobi @jjlawren
/homeassistant/components/sonos/ @jjlawren
/tests/components/sonos/ @jjlawren
/homeassistant/components/soundtouch/ @kroimon
/tests/components/soundtouch/ @kroimon
/homeassistant/components/spaceapi/ @fabaff
@@ -1184,8 +1213,8 @@ build.json @home-assistant/supervisor
/homeassistant/components/spider/ @peternijssen
/tests/components/spider/ @peternijssen
/homeassistant/components/splunk/ @Bre77
/homeassistant/components/spotify/ @frenck
/tests/components/spotify/ @frenck
/homeassistant/components/spotify/ @frenck @joostlek
/tests/components/spotify/ @frenck @joostlek
/homeassistant/components/sql/ @gjohansson-ST @dougiteixeira
/tests/components/sql/ @gjohansson-ST @dougiteixeira
/homeassistant/components/squeezebox/ @rajlaud
@@ -1209,8 +1238,8 @@ build.json @home-assistant/supervisor
/tests/components/stookwijzer/ @fwestenberg
/homeassistant/components/stream/ @hunterjm @uvjustin @allenporter
/tests/components/stream/ @hunterjm @uvjustin @allenporter
/homeassistant/components/stt/ @home-assistant/core @pvizeli
/tests/components/stt/ @home-assistant/core @pvizeli
/homeassistant/components/stt/ @home-assistant/core
/tests/components/stt/ @home-assistant/core
/homeassistant/components/subaru/ @G-Two
/tests/components/subaru/ @G-Two
/homeassistant/components/suez_water/ @ooii
@@ -1229,6 +1258,8 @@ build.json @home-assistant/supervisor
/tests/components/switchbee/ @jafar-atili
/homeassistant/components/switchbot/ @danielhiversen @RenierM26 @murtas @Eloston @dsypniewski
/tests/components/switchbot/ @danielhiversen @RenierM26 @murtas @Eloston @dsypniewski
/homeassistant/components/switchbot_cloud/ @SeraphicRav
/tests/components/switchbot_cloud/ @SeraphicRav
/homeassistant/components/switcher_kis/ @thecode
/tests/components/switcher_kis/ @thecode
/homeassistant/components/switchmate/ @danielhiversen @qiz-li
@@ -1247,6 +1278,8 @@ build.json @home-assistant/supervisor
/tests/components/tag/ @balloob @dmulcahey
/homeassistant/components/tailscale/ @frenck
/tests/components/tailscale/ @frenck
/homeassistant/components/tami4/ @Guy293
/tests/components/tami4/ @Guy293
/homeassistant/components/tankerkoenig/ @guillempages @mib1185
/tests/components/tankerkoenig/ @guillempages @mib1185
/homeassistant/components/tapsaff/ @bazwilliams
@@ -1281,6 +1314,8 @@ build.json @home-assistant/supervisor
/homeassistant/components/time_date/ @fabaff
/tests/components/time_date/ @fabaff
/homeassistant/components/tmb/ @alemuro
/homeassistant/components/todo/ @home-assistant/core
/tests/components/todo/ @home-assistant/core
/homeassistant/components/todoist/ @boralyl
/tests/components/todoist/ @boralyl
/homeassistant/components/tolo/ @MatthiasLohr
@@ -1289,8 +1324,8 @@ build.json @home-assistant/supervisor
/tests/components/tomorrowio/ @raman325 @lymanepp
/homeassistant/components/totalconnect/ @austinmroczek
/tests/components/totalconnect/ @austinmroczek
/homeassistant/components/tplink/ @rytilahti @thegardenmonkey
/tests/components/tplink/ @rytilahti @thegardenmonkey
/homeassistant/components/tplink/ @rytilahti @thegardenmonkey @bdraco
/tests/components/tplink/ @rytilahti @thegardenmonkey @bdraco
/homeassistant/components/tplink_omada/ @MarkGodwin
/tests/components/tplink_omada/ @MarkGodwin
/homeassistant/components/traccar/ @ludeeus
@@ -1303,20 +1338,22 @@ build.json @home-assistant/supervisor
/tests/components/trafikverket_camera/ @gjohansson-ST
/homeassistant/components/trafikverket_ferry/ @gjohansson-ST
/tests/components/trafikverket_ferry/ @gjohansson-ST
/homeassistant/components/trafikverket_train/ @endor-force @gjohansson-ST
/tests/components/trafikverket_train/ @endor-force @gjohansson-ST
/homeassistant/components/trafikverket_weatherstation/ @endor-force @gjohansson-ST
/tests/components/trafikverket_weatherstation/ @endor-force @gjohansson-ST
/homeassistant/components/trafikverket_train/ @gjohansson-ST
/tests/components/trafikverket_train/ @gjohansson-ST
/homeassistant/components/trafikverket_weatherstation/ @gjohansson-ST
/tests/components/trafikverket_weatherstation/ @gjohansson-ST
/homeassistant/components/transmission/ @engrbm87 @JPHutchins
/tests/components/transmission/ @engrbm87 @JPHutchins
/homeassistant/components/tts/ @home-assistant/core @pvizeli
/tests/components/tts/ @home-assistant/core @pvizeli
/homeassistant/components/trend/ @jpbede
/tests/components/trend/ @jpbede
/homeassistant/components/tts/ @home-assistant/core
/tests/components/tts/ @home-assistant/core
/homeassistant/components/tuya/ @Tuya @zlinoliver @frenck
/tests/components/tuya/ @Tuya @zlinoliver @frenck
/homeassistant/components/twentemilieu/ @frenck
/tests/components/twentemilieu/ @frenck
/homeassistant/components/twinkly/ @dr1rrb @Robbie1221
/tests/components/twinkly/ @dr1rrb @Robbie1221
/homeassistant/components/twinkly/ @dr1rrb @Robbie1221 @Olen
/tests/components/twinkly/ @dr1rrb @Robbie1221 @Olen
/homeassistant/components/twitch/ @joostlek
/tests/components/twitch/ @joostlek
/homeassistant/components/ukraine_alarm/ @PaulAnnekov
@@ -1345,6 +1382,8 @@ build.json @home-assistant/supervisor
/tests/components/usgs_earthquakes_feed/ @exxamalte
/homeassistant/components/utility_meter/ @dgomes
/tests/components/utility_meter/ @dgomes
/homeassistant/components/v2c/ @dgomes
/tests/components/v2c/ @dgomes
/homeassistant/components/vacuum/ @home-assistant/core
/tests/components/vacuum/ @home-assistant/core
/homeassistant/components/vallox/ @andre-richter @slovdahl @viiru-
@@ -1352,15 +1391,15 @@ build.json @home-assistant/supervisor
/homeassistant/components/velbus/ @Cereal2nd @brefra
/tests/components/velbus/ @Cereal2nd @brefra
/homeassistant/components/velux/ @Julius2342
/homeassistant/components/venstar/ @garbled1
/tests/components/venstar/ @garbled1
/homeassistant/components/verisure/ @frenck @niro1987
/tests/components/verisure/ @frenck @niro1987
/homeassistant/components/versasense/ @flamm3blemuff1n
/homeassistant/components/venstar/ @garbled1 @jhollowe
/tests/components/venstar/ @garbled1 @jhollowe
/homeassistant/components/versasense/ @imstevenxyz
/homeassistant/components/version/ @ludeeus
/tests/components/version/ @ludeeus
/homeassistant/components/vesync/ @markperdue @webdjoe @thegardenmonkey
/tests/components/vesync/ @markperdue @webdjoe @thegardenmonkey
/homeassistant/components/vicare/ @CFenner
/tests/components/vicare/ @CFenner
/homeassistant/components/vilfo/ @ManneW
/tests/components/vilfo/ @ManneW
/homeassistant/components/vivotek/ @HarlemSquirrel
@@ -1384,7 +1423,8 @@ build.json @home-assistant/supervisor
/tests/components/wake_word/ @home-assistant/core @synesthesiam
/homeassistant/components/wallbox/ @hesselonline
/tests/components/wallbox/ @hesselonline
/homeassistant/components/waqi/ @andrey-git
/homeassistant/components/waqi/ @joostlek
/tests/components/waqi/ @joostlek
/homeassistant/components/water_heater/ @home-assistant/core
/tests/components/water_heater/ @home-assistant/core
/homeassistant/components/watson_tts/ @rutkai
@@ -1394,6 +1434,10 @@ build.json @home-assistant/supervisor
/tests/components/waze_travel_time/ @eifinger
/homeassistant/components/weather/ @home-assistant/core
/tests/components/weather/ @home-assistant/core
/homeassistant/components/weatherflow/ @natekspencer @jeeftor
/tests/components/weatherflow/ @natekspencer @jeeftor
/homeassistant/components/weatherkit/ @tjhorner
/tests/components/weatherkit/ @tjhorner
/homeassistant/components/webhook/ @home-assistant/core
/tests/components/webhook/ @home-assistant/core
/homeassistant/components/webostv/ @thecode
@@ -1411,8 +1455,8 @@ build.json @home-assistant/supervisor
/homeassistant/components/wilight/ @leofig-rj
/tests/components/wilight/ @leofig-rj
/homeassistant/components/wirelesstag/ @sergeymaysak
/homeassistant/components/withings/ @vangorra
/tests/components/withings/ @vangorra
/homeassistant/components/withings/ @joostlek
/tests/components/withings/ @joostlek
/homeassistant/components/wiz/ @sbidy
/tests/components/wiz/ @sbidy
/homeassistant/components/wled/ @frenck
@@ -1446,6 +1490,7 @@ build.json @home-assistant/supervisor
/homeassistant/components/yandex_transport/ @rishatik92 @devbis
/tests/components/yandex_transport/ @rishatik92 @devbis
/homeassistant/components/yardian/ @h3l1o5
/tests/components/yardian/ @h3l1o5
/homeassistant/components/yeelight/ @zewelor @shenxn @starkillerOG @alexyao2015
/tests/components/yeelight/ @zewelor @shenxn @starkillerOG @alexyao2015
/homeassistant/components/yeelightsunflower/ @lindsaymarkward
@@ -1465,8 +1510,8 @@ build.json @home-assistant/supervisor
/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/zha/ @dmulcahey @adminiuga @puddly @TheJulianJES
/tests/components/zha/ @dmulcahey @adminiuga @puddly @TheJulianJES
/homeassistant/components/zodiac/ @JulienTant
/tests/components/zodiac/ @JulienTant
/homeassistant/components/zone/ @home-assistant/core

View File

@@ -14,44 +14,29 @@ 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
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 homeassistant/home_assistant_frontend-*.whl; \
fi \
&& 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; \
pip3 install 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}" \
-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 \
&& python3 -m compileall \
homeassistant/homeassistant

View File

@@ -5,8 +5,7 @@ SHELL ["/bin/bash", "-o", "pipefail", "-c"]
# Uninstall pre-installed formatting and linting tools
# They would conflict with our pinned versions
RUN \
pipx uninstall black \
&& pipx uninstall pydocstyle \
pipx uninstall pydocstyle \
&& pipx uninstall pycodestyle \
&& pipx uninstall mypy \
&& pipx uninstall pylint

View File

@@ -1,10 +1,10 @@
image: ghcr.io/home-assistant/{arch}-homeassistant
build_from:
aarch64: ghcr.io/home-assistant/aarch64-homeassistant-base:2023.08.0
armhf: ghcr.io/home-assistant/armhf-homeassistant-base:2023.08.0
armv7: ghcr.io/home-assistant/armv7-homeassistant-base:2023.08.0
amd64: ghcr.io/home-assistant/amd64-homeassistant-base:2023.08.0
i386: ghcr.io/home-assistant/i386-homeassistant-base:2023.08.0
aarch64: ghcr.io/home-assistant/aarch64-homeassistant-base:2023.10.1
armhf: ghcr.io/home-assistant/armhf-homeassistant-base:2023.10.1
armv7: ghcr.io/home-assistant/armv7-homeassistant-base:2023.10.1
amd64: ghcr.io/home-assistant/amd64-homeassistant-base:2023.10.1
i386: ghcr.io/home-assistant/i386-homeassistant-base:2023.10.1
codenotary:
signer: notary@home-assistant.io
base_image: notary@home-assistant.io

View File

@@ -1,230 +0,0 @@
# Makefile for Sphinx documentation
#
# You can set these variables from the command line.
SPHINXOPTS =
SPHINXBUILD = sphinx-build
PAPER =
BUILDDIR = build
# Internal variables.
PAPEROPT_a4 = -D latex_paper_size=a4
PAPEROPT_letter = -D latex_paper_size=letter
ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source
# the i18n builder cannot share the environment and doctrees with the others
I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source
.PHONY: help
help:
@echo "Please use \`make <target>' where <target> is one of"
@echo " html to make standalone HTML files"
@echo " livehtml to make standalone HTML files via sphinx-autobuild"
@echo " dirhtml to make HTML files named index.html in directories"
@echo " singlehtml to make a single large HTML file"
@echo " pickle to make pickle files"
@echo " json to make JSON files"
@echo " htmlhelp to make HTML files and a HTML help project"
@echo " qthelp to make HTML files and a qthelp project"
@echo " applehelp to make an Apple Help Book"
@echo " devhelp to make HTML files and a Devhelp project"
@echo " epub to make an epub"
@echo " epub3 to make an epub3"
@echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
@echo " latexpdf to make LaTeX files and run them through pdflatex"
@echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx"
@echo " text to make text files"
@echo " man to make manual pages"
@echo " texinfo to make Texinfo files"
@echo " info to make Texinfo files and run them through makeinfo"
@echo " gettext to make PO message catalogs"
@echo " changes to make an overview of all changed/added/deprecated items"
@echo " xml to make Docutils-native XML files"
@echo " pseudoxml to make pseudoxml-XML files for display purposes"
@echo " linkcheck to check all external links for integrity"
@echo " doctest to run all doctests embedded in the documentation (if enabled)"
@echo " coverage to run coverage check of the documentation (if enabled)"
@echo " dummy to check syntax errors of document sources"
.PHONY: clean
clean:
rm -rf $(BUILDDIR)/*
.PHONY: html
html:
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
@echo
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
.PHONY: livehtml
livehtml:
sphinx-autobuild -z ../homeassistant/ --port 0 -B -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
.PHONY: dirhtml
dirhtml:
$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
@echo
@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
.PHONY: singlehtml
singlehtml:
$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
@echo
@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
.PHONY: pickle
pickle:
$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
@echo
@echo "Build finished; now you can process the pickle files."
.PHONY: json
json:
$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
@echo
@echo "Build finished; now you can process the JSON files."
.PHONY: htmlhelp
htmlhelp:
$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
@echo
@echo "Build finished; now you can run HTML Help Workshop with the" \
".hhp project file in $(BUILDDIR)/htmlhelp."
.PHONY: qthelp
qthelp:
$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
@echo
@echo "Build finished; now you can run "qcollectiongenerator" with the" \
".qhcp project file in $(BUILDDIR)/qthelp, like this:"
@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/Home-Assistant.qhcp"
@echo "To view the help file:"
@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/Home-Assistant.qhc"
.PHONY: applehelp
applehelp:
$(SPHINXBUILD) -b applehelp $(ALLSPHINXOPTS) $(BUILDDIR)/applehelp
@echo
@echo "Build finished. The help book is in $(BUILDDIR)/applehelp."
@echo "N.B. You won't be able to view it unless you put it in" \
"~/Library/Documentation/Help or install it in your application" \
"bundle."
.PHONY: devhelp
devhelp:
$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
@echo
@echo "Build finished."
@echo "To view the help file:"
@echo "# mkdir -p $$HOME/.local/share/devhelp/Home-Assistant"
@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/Home-Assistant"
@echo "# devhelp"
.PHONY: epub
epub:
$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
@echo
@echo "Build finished. The epub file is in $(BUILDDIR)/epub."
.PHONY: epub3
epub3:
$(SPHINXBUILD) -b epub3 $(ALLSPHINXOPTS) $(BUILDDIR)/epub3
@echo
@echo "Build finished. The epub3 file is in $(BUILDDIR)/epub3."
.PHONY: latex
latex:
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
@echo
@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
@echo "Run \`make' in that directory to run these through (pdf)latex" \
"(use \`make latexpdf' here to do that automatically)."
.PHONY: latexpdf
latexpdf:
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
@echo "Running LaTeX files through pdflatex..."
$(MAKE) -C $(BUILDDIR)/latex all-pdf
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
.PHONY: latexpdfja
latexpdfja:
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
@echo "Running LaTeX files through platex and dvipdfmx..."
$(MAKE) -C $(BUILDDIR)/latex all-pdf-ja
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
.PHONY: text
text:
$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
@echo
@echo "Build finished. The text files are in $(BUILDDIR)/text."
.PHONY: man
man:
$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
@echo
@echo "Build finished. The manual pages are in $(BUILDDIR)/man."
.PHONY: texinfo
texinfo:
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
@echo
@echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
@echo "Run \`make' in that directory to run these through makeinfo" \
"(use \`make info' here to do that automatically)."
.PHONY: info
info:
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
@echo "Running Texinfo files through makeinfo..."
make -C $(BUILDDIR)/texinfo info
@echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."
.PHONY: gettext
gettext:
$(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
@echo
@echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
.PHONY: changes
changes:
$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
@echo
@echo "The overview file is in $(BUILDDIR)/changes."
.PHONY: linkcheck
linkcheck:
$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
@echo
@echo "Link check complete; look for any errors in the above output " \
"or in $(BUILDDIR)/linkcheck/output.txt."
.PHONY: doctest
doctest:
$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
@echo "Testing of doctests in the sources finished, look at the " \
"results in $(BUILDDIR)/doctest/output.txt."
.PHONY: coverage
coverage:
$(SPHINXBUILD) -b coverage $(ALLSPHINXOPTS) $(BUILDDIR)/coverage
@echo "Testing of coverage in the sources finished, look at the " \
"results in $(BUILDDIR)/coverage/python.txt."
.PHONY: xml
xml:
$(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml
@echo
@echo "Build finished. The XML files are in $(BUILDDIR)/xml."
.PHONY: pseudoxml
pseudoxml:
$(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml
@echo
@echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml."
.PHONY: dummy
dummy:
$(SPHINXBUILD) -b dummy $(ALLSPHINXOPTS) $(BUILDDIR)/dummy
@echo
@echo "Build finished. Dummy builder generates no files."

0
docs/build/.empty vendored
View File

View File

@@ -1,281 +0,0 @@
@ECHO OFF
REM Command file for Sphinx documentation
if "%SPHINXBUILD%" == "" (
set SPHINXBUILD=sphinx-build
)
set BUILDDIR=build
set ALLSPHINXOPTS=-d %BUILDDIR%/doctrees %SPHINXOPTS% source
set I18NSPHINXOPTS=%SPHINXOPTS% source
if NOT "%PAPER%" == "" (
set ALLSPHINXOPTS=-D latex_paper_size=%PAPER% %ALLSPHINXOPTS%
set I18NSPHINXOPTS=-D latex_paper_size=%PAPER% %I18NSPHINXOPTS%
)
if "%1" == "" goto help
if "%1" == "help" (
:help
echo.Please use `make ^<target^>` where ^<target^> is one of
echo. html to make standalone HTML files
echo. dirhtml to make HTML files named index.html in directories
echo. singlehtml to make a single large HTML file
echo. pickle to make pickle files
echo. json to make JSON files
echo. htmlhelp to make HTML files and a HTML help project
echo. qthelp to make HTML files and a qthelp project
echo. devhelp to make HTML files and a Devhelp project
echo. epub to make an epub
echo. epub3 to make an epub3
echo. latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter
echo. text to make text files
echo. man to make manual pages
echo. texinfo to make Texinfo files
echo. gettext to make PO message catalogs
echo. changes to make an overview over all changed/added/deprecated items
echo. xml to make Docutils-native XML files
echo. pseudoxml to make pseudoxml-XML files for display purposes
echo. linkcheck to check all external links for integrity
echo. doctest to run all doctests embedded in the documentation if enabled
echo. coverage to run coverage check of the documentation if enabled
echo. dummy to check syntax errors of document sources
goto end
)
if "%1" == "clean" (
for /d %%i in (%BUILDDIR%\*) do rmdir /q /s %%i
del /q /s %BUILDDIR%\*
goto end
)
REM Check if sphinx-build is available and fallback to Python version if any
%SPHINXBUILD% 1>NUL 2>NUL
if errorlevel 9009 goto sphinx_python
goto sphinx_ok
:sphinx_python
set SPHINXBUILD=python -m sphinx.__init__
%SPHINXBUILD% 2> nul
if errorlevel 9009 (
echo.
echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
echo.installed, then set the SPHINXBUILD environment variable to point
echo.to the full path of the 'sphinx-build' executable. Alternatively you
echo.may add the Sphinx directory to PATH.
echo.
echo.If you don't have Sphinx installed, grab it from
echo.http://sphinx-doc.org/
exit /b 1
)
:sphinx_ok
if "%1" == "html" (
%SPHINXBUILD% -b html %ALLSPHINXOPTS% %BUILDDIR%/html
if errorlevel 1 exit /b 1
echo.
echo.Build finished. The HTML pages are in %BUILDDIR%/html.
goto end
)
if "%1" == "dirhtml" (
%SPHINXBUILD% -b dirhtml %ALLSPHINXOPTS% %BUILDDIR%/dirhtml
if errorlevel 1 exit /b 1
echo.
echo.Build finished. The HTML pages are in %BUILDDIR%/dirhtml.
goto end
)
if "%1" == "singlehtml" (
%SPHINXBUILD% -b singlehtml %ALLSPHINXOPTS% %BUILDDIR%/singlehtml
if errorlevel 1 exit /b 1
echo.
echo.Build finished. The HTML pages are in %BUILDDIR%/singlehtml.
goto end
)
if "%1" == "pickle" (
%SPHINXBUILD% -b pickle %ALLSPHINXOPTS% %BUILDDIR%/pickle
if errorlevel 1 exit /b 1
echo.
echo.Build finished; now you can process the pickle files.
goto end
)
if "%1" == "json" (
%SPHINXBUILD% -b json %ALLSPHINXOPTS% %BUILDDIR%/json
if errorlevel 1 exit /b 1
echo.
echo.Build finished; now you can process the JSON files.
goto end
)
if "%1" == "htmlhelp" (
%SPHINXBUILD% -b htmlhelp %ALLSPHINXOPTS% %BUILDDIR%/htmlhelp
if errorlevel 1 exit /b 1
echo.
echo.Build finished; now you can run HTML Help Workshop with the ^
.hhp project file in %BUILDDIR%/htmlhelp.
goto end
)
if "%1" == "qthelp" (
%SPHINXBUILD% -b qthelp %ALLSPHINXOPTS% %BUILDDIR%/qthelp
if errorlevel 1 exit /b 1
echo.
echo.Build finished; now you can run "qcollectiongenerator" with the ^
.qhcp project file in %BUILDDIR%/qthelp, like this:
echo.^> qcollectiongenerator %BUILDDIR%\qthelp\Home-Assistant.qhcp
echo.To view the help file:
echo.^> assistant -collectionFile %BUILDDIR%\qthelp\Home-Assistant.ghc
goto end
)
if "%1" == "devhelp" (
%SPHINXBUILD% -b devhelp %ALLSPHINXOPTS% %BUILDDIR%/devhelp
if errorlevel 1 exit /b 1
echo.
echo.Build finished.
goto end
)
if "%1" == "epub" (
%SPHINXBUILD% -b epub %ALLSPHINXOPTS% %BUILDDIR%/epub
if errorlevel 1 exit /b 1
echo.
echo.Build finished. The epub file is in %BUILDDIR%/epub.
goto end
)
if "%1" == "epub3" (
%SPHINXBUILD% -b epub3 %ALLSPHINXOPTS% %BUILDDIR%/epub3
if errorlevel 1 exit /b 1
echo.
echo.Build finished. The epub3 file is in %BUILDDIR%/epub3.
goto end
)
if "%1" == "latex" (
%SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex
if errorlevel 1 exit /b 1
echo.
echo.Build finished; the LaTeX files are in %BUILDDIR%/latex.
goto end
)
if "%1" == "latexpdf" (
%SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex
cd %BUILDDIR%/latex
make all-pdf
cd %~dp0
echo.
echo.Build finished; the PDF files are in %BUILDDIR%/latex.
goto end
)
if "%1" == "latexpdfja" (
%SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex
cd %BUILDDIR%/latex
make all-pdf-ja
cd %~dp0
echo.
echo.Build finished; the PDF files are in %BUILDDIR%/latex.
goto end
)
if "%1" == "text" (
%SPHINXBUILD% -b text %ALLSPHINXOPTS% %BUILDDIR%/text
if errorlevel 1 exit /b 1
echo.
echo.Build finished. The text files are in %BUILDDIR%/text.
goto end
)
if "%1" == "man" (
%SPHINXBUILD% -b man %ALLSPHINXOPTS% %BUILDDIR%/man
if errorlevel 1 exit /b 1
echo.
echo.Build finished. The manual pages are in %BUILDDIR%/man.
goto end
)
if "%1" == "texinfo" (
%SPHINXBUILD% -b texinfo %ALLSPHINXOPTS% %BUILDDIR%/texinfo
if errorlevel 1 exit /b 1
echo.
echo.Build finished. The Texinfo files are in %BUILDDIR%/texinfo.
goto end
)
if "%1" == "gettext" (
%SPHINXBUILD% -b gettext %I18NSPHINXOPTS% %BUILDDIR%/locale
if errorlevel 1 exit /b 1
echo.
echo.Build finished. The message catalogs are in %BUILDDIR%/locale.
goto end
)
if "%1" == "changes" (
%SPHINXBUILD% -b changes %ALLSPHINXOPTS% %BUILDDIR%/changes
if errorlevel 1 exit /b 1
echo.
echo.The overview file is in %BUILDDIR%/changes.
goto end
)
if "%1" == "linkcheck" (
%SPHINXBUILD% -b linkcheck %ALLSPHINXOPTS% %BUILDDIR%/linkcheck
if errorlevel 1 exit /b 1
echo.
echo.Link check complete; look for any errors in the above output ^
or in %BUILDDIR%/linkcheck/output.txt.
goto end
)
if "%1" == "doctest" (
%SPHINXBUILD% -b doctest %ALLSPHINXOPTS% %BUILDDIR%/doctest
if errorlevel 1 exit /b 1
echo.
echo.Testing of doctests in the sources finished, look at the ^
results in %BUILDDIR%/doctest/output.txt.
goto end
)
if "%1" == "coverage" (
%SPHINXBUILD% -b coverage %ALLSPHINXOPTS% %BUILDDIR%/coverage
if errorlevel 1 exit /b 1
echo.
echo.Testing of coverage in the sources finished, look at the ^
results in %BUILDDIR%/coverage/python.txt.
goto end
)
if "%1" == "xml" (
%SPHINXBUILD% -b xml %ALLSPHINXOPTS% %BUILDDIR%/xml
if errorlevel 1 exit /b 1
echo.
echo.Build finished. The XML files are in %BUILDDIR%/xml.
goto end
)
if "%1" == "pseudoxml" (
%SPHINXBUILD% -b pseudoxml %ALLSPHINXOPTS% %BUILDDIR%/pseudoxml
if errorlevel 1 exit /b 1
echo.
echo.Build finished. The pseudo-XML files are in %BUILDDIR%/pseudoxml.
goto end
)
if "%1" == "dummy" (
%SPHINXBUILD% -b dummy %ALLSPHINXOPTS% %BUILDDIR%/dummy
if errorlevel 1 exit /b 1
echo.
echo.Build finished. Dummy builder generates no files.
goto end
)
:end

Binary file not shown.

Before

Width:  |  Height:  |  Size: 174 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 226 KiB

View File

@@ -1,45 +0,0 @@
"""Sphinx extension for ReadTheDocs-style "Edit on GitHub" links on the sidebar.
Loosely based on https://github.com/astropy/astropy/pull/347
"""
import os
import warnings
__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}/"
f"{app.config.edit_on_github_src_path}{path}"
)
def html_page_context(app, pagename, templatename, context, doctree):
"""Build the HTML page."""
if templatename != "page.html":
return
if not app.config.edit_on_github_project:
warnings.warn("edit_on_github_project not specified")
return
if not doctree:
warnings.warn("doctree is None")
return
path = os.path.relpath(doctree.get("source"), app.builder.srcdir)
show_url = get_github_url(app, "blob", path)
edit_url = get_github_url(app, "edit", path)
context["show_on_github_url"] = show_url
context["edit_on_github_url"] = edit_url
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/"
app.connect("html-page-context", html_page_context)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

View File

@@ -1,6 +0,0 @@
<ul>
<li><a href="https://home-assistant.io/">Homepage</a></li>
<li><a href="https://community.home-assistant.io">Community Forums</a></li>
<li><a href="https://github.com/home-assistant/core">GitHub</a></li>
<li><a href="https://discord.gg/c5DvZ4e">Discord</a></li>
</ul>

View File

@@ -1,13 +0,0 @@
{%- if show_source and has_source and sourcename %}
<h3>{{ _('This Page') }}</h3>
<ul class="this-page-menu">
{%- if show_on_github_url %}
<li><a href="{{ show_on_github_url }}"
rel="nofollow">{{ _('Show on GitHub') }}</a></li>
{%- endif %}
{%- if edit_on_github_url %}
<li><a href="{{ edit_on_github_url }}"
rel="nofollow">{{ _('Edit on GitHub') }}</a></li>
{%- endif %}
</ul>
{%- endif %}

View File

@@ -1,29 +0,0 @@
:mod:`homeassistant.auth`
=========================
.. automodule:: homeassistant.auth
:members:
homeassistant.auth.auth\_store
------------------------------
.. automodule:: homeassistant.auth.auth_store
:members:
:undoc-members:
:show-inheritance:
homeassistant.auth.const
------------------------
.. automodule:: homeassistant.auth.const
:members:
:undoc-members:
:show-inheritance:
homeassistant.auth.models
-------------------------
.. automodule:: homeassistant.auth.models
:members:
:undoc-members:
:show-inheritance:

View File

@@ -1,7 +0,0 @@
.. _bootstrap_module:
:mod:`homeassistant.bootstrap`
------------------------------
.. automodule:: homeassistant.bootstrap
:members:

View File

@@ -1,170 +0,0 @@
:mod:`homeassistant.components`
===============================
air\_quality
--------------------------------------------
.. automodule:: homeassistant.components.air_quality
:members:
:undoc-members:
:show-inheritance:
alarm\_control\_panel
--------------------------------------------
.. automodule:: homeassistant.components.alarm_control_panel
:members:
:undoc-members:
:show-inheritance:
binary\_sensor
--------------------------------------------
.. automodule:: homeassistant.components.binary_sensor
:members:
:undoc-members:
:show-inheritance:
camera
---------------------------
.. automodule:: homeassistant.components.camera
:members:
:undoc-members:
:show-inheritance:
calendar
---------------------------
.. automodule:: homeassistant.components.calendar
:members:
:undoc-members:
:show-inheritance:
climate
---------------------------
.. automodule:: homeassistant.components.climate
:members:
:undoc-members:
:show-inheritance:
conversation
---------------------------
.. automodule:: homeassistant.components.conversation
:members:
:undoc-members:
:show-inheritance:
cover
---------------------------
.. automodule:: homeassistant.components.cover
:members:
:undoc-members:
:show-inheritance:
device\_tracker
---------------------------
.. automodule:: homeassistant.components.device_tracker
:members:
:undoc-members:
:show-inheritance:
fan
---------------------------
.. automodule:: homeassistant.components.fan
:members:
:undoc-members:
:show-inheritance:
light
---------------------------
.. automodule:: homeassistant.components.light
:members:
:undoc-members:
:show-inheritance:
lock
---------------------------
.. automodule:: homeassistant.components.lock
:members:
:undoc-members:
:show-inheritance:
media\_player
---------------------------
.. automodule:: homeassistant.components.media_player
:members:
:undoc-members:
:show-inheritance:
notify
---------------------------
.. automodule:: homeassistant.components.notify
:members:
:undoc-members:
:show-inheritance:
remote
---------------------------
.. automodule:: homeassistant.components.remote
:members:
:undoc-members:
:show-inheritance:
switch
---------------------------
.. automodule:: homeassistant.components.switch
:members:
:undoc-members:
:show-inheritance:
sensor
-------------------------------------
.. automodule:: homeassistant.components.sensor
:members:
:undoc-members:
:show-inheritance:
vacuum
-------------------------------------
.. automodule:: homeassistant.components.vacuum
:members:
:undoc-members:
:show-inheritance:
water\_heater
-------------------------------------
.. automodule:: homeassistant.components.water_heater
:members:
:undoc-members:
:show-inheritance:
weather
---------------------------
.. automodule:: homeassistant.components.weather
:members:
:undoc-members:
:show-inheritance:
webhook
---------------------------
.. automodule:: homeassistant.components.webhook
:members:
:undoc-members:
:show-inheritance:

View File

@@ -1,7 +0,0 @@
.. _config_entries_module:
:mod:`homeassistant.config_entries`
-----------------------------------
.. automodule:: homeassistant.config_entries
:members:

View File

@@ -1,7 +0,0 @@
.. _core_module:
:mod:`homeassistant.core`
-------------------------
.. automodule:: homeassistant.core
:members:

View File

@@ -1,7 +0,0 @@
.. _data_entry_flow_module:
:mod:`homeassistant.data_entry_flow`
-----------------------------
.. automodule:: homeassistant.data_entry_flow
:members:

View File

@@ -1,7 +0,0 @@
.. _exceptions_module:
:mod:`homeassistant.exceptions`
-------------------------------
.. automodule:: homeassistant.exceptions
:members:

View File

@@ -1,335 +0,0 @@
:mod:`homeassistant.helpers`
============================
.. automodule:: homeassistant.helpers
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.aiohttp\_client
-------------------------------------
.. automodule:: homeassistant.helpers.aiohttp_client
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.area\_registry
------------------------------------
.. automodule:: homeassistant.helpers.area_registry
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.check\_config
-----------------------------------
.. automodule:: homeassistant.helpers.check_config
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.collection
--------------------------------
.. automodule:: homeassistant.helpers.collection
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.condition
-------------------------------
.. automodule:: homeassistant.helpers.condition
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.config\_entry\_flow
-----------------------------------------
.. automodule:: homeassistant.helpers.config_entry_flow
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.config\_entry\_oauth2\_flow
-------------------------------------------------
.. automodule:: homeassistant.helpers.config_entry_oauth2_flow
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.config\_validation
----------------------------------------
.. automodule:: homeassistant.helpers.config_validation
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.data\_entry\_flow
---------------------------------------
.. automodule:: homeassistant.helpers.data_entry_flow
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.debounce
------------------------------
.. automodule:: homeassistant.helpers.debounce
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.deprecation
---------------------------------
.. automodule:: homeassistant.helpers.deprecation
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.device\_registry
--------------------------------------
.. automodule:: homeassistant.helpers.device_registry
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.discovery
-------------------------------
.. automodule:: homeassistant.helpers.discovery
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.dispatcher
--------------------------------
.. automodule:: homeassistant.helpers.dispatcher
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.entity
----------------------------
.. automodule:: homeassistant.helpers.entity
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.entity\_component
---------------------------------------
.. automodule:: homeassistant.helpers.entity_component
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.entity\_platform
--------------------------------------
.. automodule:: homeassistant.helpers.entity_platform
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.entity\_registry
--------------------------------------
.. automodule:: homeassistant.helpers.entity_registry
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.entity\_values
------------------------------------
.. automodule:: homeassistant.helpers.entity_values
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.entityfilter
----------------------------------
.. automodule:: homeassistant.helpers.entityfilter
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.event
---------------------------
.. automodule:: homeassistant.helpers.event
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.icon
--------------------------
.. automodule:: homeassistant.helpers.icon
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.integration\_platform
-------------------------------------------
.. automodule:: homeassistant.helpers.integration_platform
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.intent
----------------------------
.. automodule:: homeassistant.helpers.intent
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.json
--------------------------
.. automodule:: homeassistant.helpers.json
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.location
------------------------------
.. automodule:: homeassistant.helpers.location
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.logging
-----------------------------
.. automodule:: homeassistant.helpers.logging
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.network
-----------------------------
.. automodule:: homeassistant.helpers.network
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.restore\_state
------------------------------------
.. automodule:: homeassistant.helpers.restore_state
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.script
----------------------------
.. automodule:: homeassistant.helpers.script
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.service
-----------------------------
.. automodule:: homeassistant.helpers.service
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.signal
-----------------------------
.. automodule:: homeassistant.helpers.signal
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.state
---------------------------
.. automodule:: homeassistant.helpers.state
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.storage
-----------------------------
.. automodule:: homeassistant.helpers.storage
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.sun
-------------------------
.. automodule:: homeassistant.helpers.sun
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.system\_info
----------------------------------
.. automodule:: homeassistant.helpers.system_info
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.temperature
---------------------------------
.. automodule:: homeassistant.helpers.temperature
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.template
------------------------------
.. automodule:: homeassistant.helpers.template
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.translation
---------------------------------
.. automodule:: homeassistant.helpers.translation
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.typing
----------------------------
.. automodule:: homeassistant.helpers.typing
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.update\_coordinator
-----------------------------------------
.. automodule:: homeassistant.helpers.update_coordinator
:members:
:undoc-members:
:show-inheritance:

View File

@@ -1,7 +0,0 @@
.. _loader_module:
:mod:`homeassistant.loader`
---------------------------
.. automodule:: homeassistant.loader
:members:

View File

@@ -1,151 +0,0 @@
:mod:`homeassistant.util`
=========================
.. automodule:: homeassistant.util
:members:
:undoc-members:
:show-inheritance:
homeassistant.util.yaml
-----------------------
.. automodule:: homeassistant.util.yaml
:members:
:undoc-members:
:show-inheritance:
homeassistant.util.aiohttp
--------------------------
.. automodule:: homeassistant.util.aiohttp
:members:
:undoc-members:
:show-inheritance:
homeassistant.util.async\_
--------------------------
.. automodule:: homeassistant.util.async_
:members:
:undoc-members:
:show-inheritance:
homeassistant.util.color
------------------------
.. automodule:: homeassistant.util.color
:members:
:undoc-members:
:show-inheritance:
homeassistant.util.decorator
----------------------------
.. automodule:: homeassistant.util.decorator
:members:
:undoc-members:
:show-inheritance:
homeassistant.util.distance
---------------------------
.. automodule:: homeassistant.util.distance
:members:
:undoc-members:
:show-inheritance:
homeassistant.util.dt
---------------------
.. automodule:: homeassistant.util.dt
:members:
:undoc-members:
:show-inheritance:
homeassistant.util.json
-----------------------
.. automodule:: homeassistant.util.json
:members:
:undoc-members:
:show-inheritance:
homeassistant.util.location
---------------------------
.. automodule:: homeassistant.util.location
:members:
:undoc-members:
:show-inheritance:
homeassistant.util.logging
--------------------------
.. automodule:: homeassistant.util.logging
:members:
:undoc-members:
:show-inheritance:
homeassistant.util.network
--------------------------
.. automodule:: homeassistant.util.network
:members:
:undoc-members:
:show-inheritance:
homeassistant.util.package
--------------------------
.. automodule:: homeassistant.util.package
:members:
:undoc-members:
:show-inheritance:
homeassistant.util.pil
----------------------
.. automodule:: homeassistant.util.pil
:members:
:undoc-members:
:show-inheritance:
homeassistant.util.pressure
---------------------------
.. automodule:: homeassistant.util.pressure
:members:
:undoc-members:
:show-inheritance:
homeassistant.util.ssl
----------------------
.. automodule:: homeassistant.util.ssl
:members:
:undoc-members:
:show-inheritance:
homeassistant.util.temperature
------------------------------
.. automodule:: homeassistant.util.temperature
:members:
:undoc-members:
:show-inheritance:
homeassistant.util.unit\_system
-------------------------------
.. automodule:: homeassistant.util.unit_system
:members:
:undoc-members:
:show-inheritance:
homeassistant.util.volume
-------------------------
.. automodule:: homeassistant.util.volume
:members:
:undoc-members:
:show-inheritance:

View File

@@ -1,438 +0,0 @@
#!/usr/bin/env python3
"""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.
"""
import inspect
import os
import sys
from homeassistant.const import __short_version__, __version__
PROJECT_NAME = "Home Assistant"
PROJECT_PACKAGE_NAME = "homeassistant"
PROJECT_AUTHOR = "The Home Assistant Authors"
PROJECT_COPYRIGHT = PROJECT_AUTHOR
PROJECT_LONG_DESCRIPTION = (
"Home Assistant is an open-source "
"home automation platform running on Python 3. "
"Track and control all devices at home and "
"automate control. "
"Installation in less than a minute."
)
PROJECT_GITHUB_USERNAME = "home-assistant"
PROJECT_GITHUB_REPOSITORY = "home-assistant"
GITHUB_PATH = f"{PROJECT_GITHUB_USERNAME}/{PROJECT_GITHUB_REPOSITORY}"
GITHUB_URL = f"https://github.com/{GITHUB_PATH}"
sys.path.insert(0, os.path.abspath("_ext"))
sys.path.insert(0, os.path.abspath("../homeassistant"))
# -- General configuration ------------------------------------------------
# If your documentation needs a minimal Sphinx version, state it here.
#
# needs_sphinx = '1.0'
# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = [
"sphinx.ext.autodoc",
"sphinx.ext.linkcode",
"sphinx_autodoc_annotation",
"edit_on_github",
]
# Add any paths that contain templates here, relative to this directory.
templates_path = ["_templates"]
# The suffix(es) of source filenames.
# You can specify multiple suffix as a list of string:
#
# source_suffix = ['.rst', '.md']
source_suffix = ".rst"
# The encoding of source files.
#
# source_encoding = 'utf-8-sig'
# The master toctree document.
master_doc = "index"
# General information about the project.
project = PROJECT_NAME
copyright = PROJECT_COPYRIGHT
author = PROJECT_AUTHOR
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
# built documents.
#
# The short X.Y version.
version = __short_version__
# The full version, including alpha/beta/rc tags.
release = __version__
code_branch = "dev" if "dev" in __version__ else "master"
# Edit on Github config
edit_on_github_project = GITHUB_PATH
edit_on_github_branch = code_branch
edit_on_github_src_path = "docs/source/"
def linkcode_resolve(domain, info):
"""Determine the URL corresponding to Python object."""
if domain != "py":
return None
modname = info["module"]
fullname = info["fullname"]
submod = sys.modules.get(modname)
if submod is None:
return None
obj = submod
for part in fullname.split("."):
try:
obj = getattr(obj, part)
except Exception: # pylint: disable=broad-except
return None
try:
fn = inspect.getsourcefile(obj)
except Exception: # pylint: disable=broad-except
fn = None
if not fn:
return None
try:
source, lineno = inspect.findsource(obj)
except Exception: # pylint: disable=broad-except
lineno = None
if lineno:
linespec = "#L%d" % (lineno + 1)
else:
linespec = ""
index = fn.find("/homeassistant/")
if index == -1:
index = 0
fn = fn[index:]
return f"{GITHUB_URL}/blob/{code_branch}/{fn}{linespec}"
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
#
# This is also used if you do content translation via gettext catalogs.
# Usually you set "language" from the command line for these cases.
language = None
# There are two options for replacing |today|: either, you set today to some
# non-false value, then it is used:
#
# today = ''
#
# Else, today_fmt is used as the format for a strftime call.
#
# today_fmt = '%B %d, %Y'
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
# This patterns also effect to html_static_path and html_extra_path
exclude_patterns = []
# The reST default role (used for this markup: `text`) to use for all
# documents.
#
# default_role = None
# If true, '()' will be appended to :func: etc. cross-reference text.
#
# add_function_parentheses = True
# If true, the current module name will be prepended to all description
# unit titles (such as .. function::).
#
# add_module_names = True
# If true, sectionauthor and moduleauthor directives will be shown in the
# output. They are ignored by default.
#
# show_authors = False
# The name of the Pygments (syntax highlighting) style to use.
pygments_style = "sphinx"
# A list of ignored prefixes for module index sorting.
# modindex_common_prefix = []
# If true, keep warnings as "system message" paragraphs in the built documents.
# keep_warnings = False
# If true, `todo` and `todoList` produce output, else they produce nothing.
todo_include_todos = False
# -- Options for HTML output ----------------------------------------------
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
#
html_theme = "alabaster"
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
# documentation.
#
html_theme_options = {
"logo": "logo.png",
"logo_name": PROJECT_NAME,
"description": PROJECT_LONG_DESCRIPTION,
"github_user": PROJECT_GITHUB_USERNAME,
"github_repo": PROJECT_GITHUB_REPOSITORY,
"github_type": "star",
"github_banner": True,
"touch_icon": "logo-apple.png",
# 'fixed_sidebar': True, # Re-enable when we have more content
}
# Add any paths that contain custom themes here, relative to this directory.
# html_theme_path = []
# The name for this set of Sphinx documents.
# "<project> v<release> documentation" by default.
#
# html_title = 'Home-Assistant v0.27.0'
# A shorter title for the navigation bar. Default is the same as html_title.
#
# html_short_title = None
# The name of an image file (relative to this directory) to place at the top
# of the sidebar.
#
# html_logo = '_static/logo.png'
# The name of an image file (relative to this directory) to use as a favicon of
# the docs.
# This file should be a Windows icon file (.ico) being 16x16 or 32x32
# pixels large.
#
html_favicon = "_static/favicon.ico"
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
html_static_path = ["_static"]
# Add any extra paths that contain custom files (such as robots.txt or
# .htaccess) here, relative to this directory. These files are copied
# directly to the root of the documentation.
#
# html_extra_path = []
# If not None, a 'Last updated on:' timestamp is inserted at every page
# bottom, using the given strftime format.
# The empty string is equivalent to '%b %d, %Y'.
#
html_last_updated_fmt = "%b %d, %Y"
# If true, SmartyPants will be used to convert quotes and dashes to
# typographically correct entities.
#
html_use_smartypants = True
# Custom sidebar templates, maps document names to template names.
#
html_sidebars = {
"**": [
"about.html",
"links.html",
"searchbox.html",
"sourcelink.html",
"navigation.html",
"relations.html",
]
}
# Additional templates that should be rendered to pages, maps page names to
# template names.
#
# html_additional_pages = {}
# If false, no module index is generated.
#
# html_domain_indices = True
# If false, no index is generated.
#
# html_use_index = True
# If true, the index is split into individual pages for each letter.
#
# html_split_index = False
# If true, links to the reST sources are added to the pages.
#
# html_show_sourcelink = True
# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
#
# html_show_sphinx = True
# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
#
# html_show_copyright = True
# If true, an OpenSearch description file will be output, and all pages will
# contain a <link> tag referring to it. The value of this option must be the
# base URL from which the finished HTML is served.
#
# html_use_opensearch = ''
# This is the file name suffix for HTML files (e.g. ".xhtml").
# html_file_suffix = None
# Language to be used for generating the HTML full-text search index.
# Sphinx supports the following languages:
# 'da', 'de', 'en', 'es', 'fi', 'fr', 'h', 'it', 'ja'
# 'nl', 'no', 'pt', 'ro', 'r', 'sv', 'tr', 'zh'
#
# html_search_language = 'en'
# A dictionary with options for the search language support, empty by default.
# 'ja' uses this config value.
# 'zh' user can custom change `jieba` dictionary path.
#
# html_search_options = {'type': 'default'}
# The name of a javascript file (relative to the configuration directory) that
# implements a search results scorer. If empty, the default will be used.
#
# html_search_scorer = 'scorer.js'
# Output file base name for HTML help builder.
htmlhelp_basename = "Home-Assistantdoc"
# -- Options for LaTeX output ---------------------------------------------
latex_elements = {
# The paper size ('letterpaper' or 'a4paper').
#
# 'papersize': 'letterpaper',
# The font size ('10pt', '11pt' or '12pt').
#
# 'pointsize': '10pt',
# Additional stuff for the LaTeX preamble.
#
# 'preamble': '',
# Latex figure (float) alignment
#
# 'figure_align': 'htbp',
}
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title,
# author, documentclass [howto, manual, or own class]).
latex_documents = [
(
master_doc,
"home-assistant.tex",
"Home Assistant Documentation",
"Home Assistant Team",
"manual",
)
]
# The name of an image file (relative to this directory) to place at the top of
# the title page.
#
# latex_logo = None
# For "manual" documents, if this is true, then toplevel headings are parts,
# not chapters.
#
# latex_use_parts = False
# If true, show page references after internal links.
#
# latex_show_pagerefs = False
# If true, show URL addresses after external links.
#
# latex_show_urls = False
# Documents to append as an appendix to all manuals.
#
# latex_appendices = []
# It false, will not define \strong, \code, itleref, \crossref ... but only
# \sphinxstrong, ..., \sphinxtitleref, ... To help avoid clash with user added
# packages.
#
# latex_keep_old_macro_names = True
# If false, no module index is generated.
#
# latex_domain_indices = True
# -- Options for manual page output ---------------------------------------
# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
man_pages = [
(master_doc, "home-assistant", "Home Assistant Documentation", [author], 1)
]
# If true, show URL addresses after external links.
#
# man_show_urls = False
# -- Options for Texinfo output -------------------------------------------
# Grouping the document tree into Texinfo files. List of tuples
# (source start file, target name, title, author,
# dir menu entry, description, category)
texinfo_documents = [
(
master_doc,
"Home-Assistant",
"Home Assistant Documentation",
author,
"Home Assistant",
"Open-source home automation platform.",
"Miscellaneous",
)
]
# Documents to append as an appendix to all manuals.
#
# texinfo_appendices = []
# If false, no module index is generated.
#
# texinfo_domain_indices = True
# How to display URL addresses: 'footnote', 'no', or 'inline'.
#
# texinfo_show_urls = 'footnote'
# If true, do not generate a @detailmenu in the "Top" node's menu.
#
# texinfo_no_detailmenu = False

View File

@@ -1,22 +0,0 @@
================================
Home Assistant API Documentation
================================
Public API documentation for `Home Assistant developers`_.
Contents:
.. toctree::
:maxdepth: 2
:glob:
api/*
Indices and tables
==================
* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`
.. _Home Assistant developers: https://developers.home-assistant.io/

View File

@@ -93,7 +93,9 @@ def get_arguments() -> argparse.Namespace:
help="Directory that contains the Home Assistant configuration",
)
parser.add_argument(
"--safe-mode", action="store_true", help="Start Home Assistant in safe mode"
"--recovery-mode",
action="store_true",
help="Start Home Assistant in recovery mode",
)
parser.add_argument(
"--debug", action="store_true", help="Start Home Assistant in debug mode"
@@ -183,7 +185,9 @@ def main() -> int:
ensure_config_path(config_dir)
# pylint: disable-next=import-outside-toplevel
from . import runner
from . import config, runner
safe_mode = config.safe_mode_enabled(config_dir)
runtime_conf = runner.RuntimeConfig(
config_dir=config_dir,
@@ -193,9 +197,10 @@ def main() -> int:
log_no_color=args.log_no_color,
skip_pip=args.skip_pip,
skip_pip_packages=args.skip_pip_packages,
safe_mode=args.safe_mode,
recovery_mode=args.recovery_mode,
debug=args.debug,
open_ui=args.open_ui,
safe_mode=safe_mode,
)
fault_file_name = os.path.join(config_dir, FAULT_LOG_FILENAME)

View File

@@ -5,6 +5,7 @@ import asyncio
from collections import OrderedDict
from collections.abc import Mapping
from datetime import timedelta
import time
from typing import Any, cast
import jwt
@@ -12,7 +13,6 @@ import jwt
from homeassistant import data_entry_flow
from homeassistant.core import CALLBACK_TYPE, HomeAssistant, callback
from homeassistant.data_entry_flow import FlowResult
from homeassistant.util import dt as dt_util
from . import auth_store, jwt_wrapper, models
from .const import ACCESS_TOKEN_EXPIRATION, GROUP_ID_ADMIN
@@ -280,7 +280,8 @@ class AuthManager:
credentials=credentials,
name=info.name,
is_active=info.is_active,
group_ids=[GROUP_ID_ADMIN],
group_ids=[GROUP_ID_ADMIN if info.group is None else info.group],
local_only=info.local_only,
)
self.hass.bus.async_fire(EVENT_USER_ADDED, {"user_id": user.id})
@@ -505,12 +506,13 @@ class AuthManager:
self._store.async_log_refresh_token_usage(refresh_token, remote_ip)
now = dt_util.utcnow()
now = int(time.time())
expire_seconds = int(refresh_token.access_token_expiration.total_seconds())
return jwt.encode(
{
"iss": refresh_token.id,
"iat": now,
"exp": now + refresh_token.access_token_expiration,
"exp": now + expire_seconds,
},
refresh_token.jwt_key,
algorithm="HS256",

View File

@@ -50,7 +50,7 @@ class MultiFactorAuthModule:
Default is same as type
"""
return self.config.get(CONF_ID, self.type)
return self.config.get(CONF_ID, self.type) # type: ignore[no-any-return]
@property
def type(self) -> str:
@@ -60,7 +60,7 @@ class MultiFactorAuthModule:
@property
def name(self) -> str:
"""Return the name of the auth module."""
return self.config.get(CONF_NAME, self.DEFAULT_TITLE)
return self.config.get(CONF_NAME, self.DEFAULT_TITLE) # type: ignore[no-any-return]
# Implement by extending class

View File

@@ -134,3 +134,5 @@ class UserMeta(NamedTuple):
name: str | None
is_active: bool
group: str | None = None
local_only: bool | None = None

View File

@@ -1,32 +1,25 @@
"""Permission constants for the websocket API.
Separate file to avoid circular imports.
"""
"""Permission for events."""
from __future__ import annotations
from typing import Final
from homeassistant.components.frontend import EVENT_PANELS_UPDATED
from homeassistant.components.lovelace import EVENT_LOVELACE_UPDATED
from homeassistant.components.persistent_notification import (
EVENT_PERSISTENT_NOTIFICATIONS_UPDATED,
)
from homeassistant.components.recorder import (
EVENT_RECORDER_5MIN_STATISTICS_GENERATED,
EVENT_RECORDER_HOURLY_STATISTICS_GENERATED,
)
from homeassistant.components.shopping_list import EVENT_SHOPPING_LIST_UPDATED
from homeassistant.const import (
EVENT_COMPONENT_LOADED,
EVENT_CORE_CONFIG_UPDATE,
EVENT_LOVELACE_UPDATED,
EVENT_PANELS_UPDATED,
EVENT_RECORDER_5MIN_STATISTICS_GENERATED,
EVENT_RECORDER_HOURLY_STATISTICS_GENERATED,
EVENT_SERVICE_REGISTERED,
EVENT_SERVICE_REMOVED,
EVENT_SHOPPING_LIST_UPDATED,
EVENT_STATE_CHANGED,
EVENT_THEMES_UPDATED,
)
from homeassistant.helpers.area_registry import EVENT_AREA_REGISTRY_UPDATED
from homeassistant.helpers.device_registry import EVENT_DEVICE_REGISTRY_UPDATED
from homeassistant.helpers.entity_registry import EVENT_ENTITY_REGISTRY_UPDATED
from homeassistant.helpers.issue_registry import EVENT_REPAIRS_ISSUE_REGISTRY_UPDATED
# These are events that do not contain any sensitive data
# Except for state_changed, which is handled accordingly.
@@ -36,9 +29,9 @@ SUBSCRIBE_ALLOWLIST: Final[set[str]] = {
EVENT_CORE_CONFIG_UPDATE,
EVENT_DEVICE_REGISTRY_UPDATED,
EVENT_ENTITY_REGISTRY_UPDATED,
EVENT_REPAIRS_ISSUE_REGISTRY_UPDATED,
EVENT_LOVELACE_UPDATED,
EVENT_PANELS_UPDATED,
EVENT_PERSISTENT_NOTIFICATIONS_UPDATED,
EVENT_RECORDER_5MIN_STATISTICS_GENERATED,
EVENT_RECORDER_HOURLY_STATISTICS_GENERATED,
EVENT_SERVICE_REGISTERED,

View File

@@ -5,9 +5,7 @@ from collections.abc import Mapping
ValueType = (
# Example: entities.all = { read: true, control: true }
Mapping[str, bool]
| bool
| None
Mapping[str, bool] | bool | None
)
# Example: entities.domains = { light: … }

View File

@@ -109,4 +109,4 @@ def test_all(policy: CategoryType, key: str) -> bool:
if not isinstance(all_policy, dict):
return bool(all_policy)
return all_policy.get(key, False)
return all_policy.get(key, False) # type: ignore[no-any-return]

View File

@@ -67,7 +67,7 @@ class AuthProvider:
@property
def name(self) -> str:
"""Return the name of the auth provider."""
return self.config.get(CONF_NAME, self.DEFAULT_TITLE)
return self.config.get(CONF_NAME, self.DEFAULT_TITLE) # type: ignore[no-any-return]
@property
def support_mfa(self) -> bool:

View File

@@ -44,7 +44,11 @@ class CommandLineAuthProvider(AuthProvider):
DEFAULT_TITLE = "Command Line Authentication"
# which keys to accept from a program's stdout
ALLOWED_META_KEYS = ("name",)
ALLOWED_META_KEYS = (
"name",
"group",
"local_only",
)
def __init__(self, *args: Any, **kwargs: Any) -> None:
"""Extend parent's __init__.
@@ -118,10 +122,15 @@ class CommandLineAuthProvider(AuthProvider):
) -> UserMeta:
"""Return extra user metadata for credentials.
Currently, only name is supported.
Currently, supports name, group and local_only.
"""
meta = self._user_meta.get(credentials.data["username"], {})
return UserMeta(name=meta.get("name"), is_active=True)
return UserMeta(
name=meta.get("name"),
is_active=True,
group=meta.get("group"),
local_only=meta.get("local_only") == "true",
)
class CommandLineLoginFlow(LoginFlow):

View File

@@ -10,10 +10,11 @@ from typing import Any, cast
import voluptuous as vol
from homeassistant.core import callback
from homeassistant.core import async_get_hass, callback
from homeassistant.data_entry_flow import FlowResult
from homeassistant.exceptions import HomeAssistantError
import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.issue_registry import IssueSeverity, async_create_issue
from ..models import Credentials, UserMeta
from . import AUTH_PROVIDER_SCHEMA, AUTH_PROVIDERS, AuthProvider, LoginFlow
@@ -21,10 +22,28 @@ from . import AUTH_PROVIDER_SCHEMA, AUTH_PROVIDERS, AuthProvider, LoginFlow
AUTH_PROVIDER_TYPE = "legacy_api_password"
CONF_API_PASSWORD = "api_password"
CONFIG_SCHEMA = AUTH_PROVIDER_SCHEMA.extend(
_CONFIG_SCHEMA = AUTH_PROVIDER_SCHEMA.extend(
{vol.Required(CONF_API_PASSWORD): cv.string}, extra=vol.PREVENT_EXTRA
)
def _create_repair_and_validate(config: dict[str, Any]) -> dict[str, Any]:
async_create_issue(
async_get_hass(),
"auth",
"deprecated_legacy_api_password",
breaks_in_ha_version="2024.6.0",
is_fixable=False,
severity=IssueSeverity.WARNING,
translation_key="deprecated_legacy_api_password",
)
return _CONFIG_SCHEMA(config) # type: ignore[no-any-return]
CONFIG_SCHEMA = _create_repair_and_validate
LEGACY_USER_NAME = "Legacy API password user"

View File

@@ -22,6 +22,7 @@ from homeassistant.core import callback
from homeassistant.data_entry_flow import FlowResult
from homeassistant.exceptions import HomeAssistantError
import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.network import is_cloud_connection
from .. import InvalidAuthError
from ..models import Credentials, RefreshToken, UserMeta
@@ -192,11 +193,8 @@ class TrustedNetworksAuthProvider(AuthProvider):
if any(ip_addr in trusted_proxy for trusted_proxy in self.trusted_proxies):
raise InvalidAuthError("Can't allow access from a proxy server")
if "cloud" in self.hass.config.components:
from hass_nabucasa import remote # pylint: disable=import-outside-toplevel
if remote.is_cloud_request.get():
raise InvalidAuthError("Can't allow access from Home Assistant Cloud")
if is_cloud_connection(self.hass):
raise InvalidAuthError("Can't allow access from Home Assistant Cloud")
@callback
def async_validate_refresh_token(

View File

@@ -0,0 +1,279 @@
A. HISTORY OF THE SOFTWARE
==========================
Python was created in the early 1990s by Guido van Rossum at Stichting
Mathematisch Centrum (CWI, see https://www.cwi.nl) in the Netherlands
as a successor of a language called ABC. Guido remains Python's
principal author, although it includes many contributions from others.
In 1995, Guido continued his work on Python at the Corporation for
National Research Initiatives (CNRI, see https://www.cnri.reston.va.us)
in Reston, Virginia where he released several versions of the
software.
In May 2000, Guido and the Python core development team moved to
BeOpen.com to form the BeOpen PythonLabs team. In October of the same
year, the PythonLabs team moved to Digital Creations, which became
Zope Corporation. In 2001, the Python Software Foundation (PSF, see
https://www.python.org/psf/) was formed, a non-profit organization
created specifically to own Python-related Intellectual Property.
Zope Corporation was a sponsoring member of the PSF.
All Python releases are Open Source (see https://opensource.org for
the Open Source Definition). Historically, most, but not all, Python
releases have also been GPL-compatible; the table below summarizes
the various releases.
Release Derived Year Owner GPL-
from compatible? (1)
0.9.0 thru 1.2 1991-1995 CWI yes
1.3 thru 1.5.2 1.2 1995-1999 CNRI yes
1.6 1.5.2 2000 CNRI no
2.0 1.6 2000 BeOpen.com no
1.6.1 1.6 2001 CNRI yes (2)
2.1 2.0+1.6.1 2001 PSF no
2.0.1 2.0+1.6.1 2001 PSF yes
2.1.1 2.1+2.0.1 2001 PSF yes
2.1.2 2.1.1 2002 PSF yes
2.1.3 2.1.2 2002 PSF yes
2.2 and above 2.1.1 2001-now PSF yes
Footnotes:
(1) GPL-compatible doesn't mean that we're distributing Python under
the GPL. All Python licenses, unlike the GPL, let you distribute
a modified version without making your changes open source. The
GPL-compatible licenses make it possible to combine Python with
other software that is released under the GPL; the others don't.
(2) According to Richard Stallman, 1.6.1 is not GPL-compatible,
because its license has a choice of law clause. According to
CNRI, however, Stallman's lawyer has told CNRI's lawyer that 1.6.1
is "not incompatible" with the GPL.
Thanks to the many outside volunteers who have worked under Guido's
direction to make these releases possible.
B. TERMS AND CONDITIONS FOR ACCESSING OR OTHERWISE USING PYTHON
===============================================================
Python software and documentation are licensed under the
Python Software Foundation License Version 2.
Starting with Python 3.8.6, examples, recipes, and other code in
the documentation are dual licensed under the PSF License Version 2
and the Zero-Clause BSD license.
Some software incorporated into Python is under different licenses.
The licenses are listed with code falling under that license.
PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2
--------------------------------------------
1. This LICENSE AGREEMENT is between the Python Software Foundation
("PSF"), and the Individual or Organization ("Licensee") accessing and
otherwise using this software ("Python") in source or binary form and
its associated documentation.
2. Subject to the terms and conditions of this License Agreement, PSF hereby
grants Licensee a nonexclusive, royalty-free, world-wide license to reproduce,
analyze, test, perform and/or display publicly, prepare derivative works,
distribute, and otherwise use Python alone or in any derivative version,
provided, however, that PSF's License Agreement and PSF's notice of copyright,
i.e., "Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Python Software Foundation;
All Rights Reserved" are retained in Python alone or in any derivative version
prepared by Licensee.
3. In the event Licensee prepares a derivative work that is based on
or incorporates Python or any part thereof, and wants to make
the derivative work available to others as provided herein, then
Licensee hereby agrees to include in any such work a brief summary of
the changes made to Python.
4. PSF is making Python available to Licensee on an "AS IS"
basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND
DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT
INFRINGE ANY THIRD PARTY RIGHTS.
5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON,
OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
6. This License Agreement will automatically terminate upon a material
breach of its terms and conditions.
7. Nothing in this License Agreement shall be deemed to create any
relationship of agency, partnership, or joint venture between PSF and
Licensee. This License Agreement does not grant permission to use PSF
trademarks or trade name in a trademark sense to endorse or promote
products or services of Licensee, or any third party.
8. By copying, installing or otherwise using Python, Licensee
agrees to be bound by the terms and conditions of this License
Agreement.
BEOPEN.COM LICENSE AGREEMENT FOR PYTHON 2.0
-------------------------------------------
BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1
1. This LICENSE AGREEMENT is between BeOpen.com ("BeOpen"), having an
office at 160 Saratoga Avenue, Santa Clara, CA 95051, and the
Individual or Organization ("Licensee") accessing and otherwise using
this software in source or binary form and its associated
documentation ("the Software").
2. Subject to the terms and conditions of this BeOpen Python License
Agreement, BeOpen hereby grants Licensee a non-exclusive,
royalty-free, world-wide license to reproduce, analyze, test, perform
and/or display publicly, prepare derivative works, distribute, and
otherwise use the Software alone or in any derivative version,
provided, however, that the BeOpen Python License is retained in the
Software, alone or in any derivative version prepared by Licensee.
3. BeOpen is making the Software available to Licensee on an "AS IS"
basis. BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND
DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT
INFRINGE ANY THIRD PARTY RIGHTS.
4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE
SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS
AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY
DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
5. This License Agreement will automatically terminate upon a material
breach of its terms and conditions.
6. This License Agreement shall be governed by and interpreted in all
respects by the law of the State of California, excluding conflict of
law provisions. Nothing in this License Agreement shall be deemed to
create any relationship of agency, partnership, or joint venture
between BeOpen and Licensee. This License Agreement does not grant
permission to use BeOpen trademarks or trade names in a trademark
sense to endorse or promote products or services of Licensee, or any
third party. As an exception, the "BeOpen Python" logos available at
http://www.pythonlabs.com/logos.html may be used according to the
permissions granted on that web page.
7. By copying, installing or otherwise using the software, Licensee
agrees to be bound by the terms and conditions of this License
Agreement.
CNRI LICENSE AGREEMENT FOR PYTHON 1.6.1
---------------------------------------
1. This LICENSE AGREEMENT is between the Corporation for National
Research Initiatives, having an office at 1895 Preston White Drive,
Reston, VA 20191 ("CNRI"), and the Individual or Organization
("Licensee") accessing and otherwise using Python 1.6.1 software in
source or binary form and its associated documentation.
2. Subject to the terms and conditions of this License Agreement, CNRI
hereby grants Licensee a nonexclusive, royalty-free, world-wide
license to reproduce, analyze, test, perform and/or display publicly,
prepare derivative works, distribute, and otherwise use Python 1.6.1
alone or in any derivative version, provided, however, that CNRI's
License Agreement and CNRI's notice of copyright, i.e., "Copyright (c)
1995-2001 Corporation for National Research Initiatives; All Rights
Reserved" are retained in Python 1.6.1 alone or in any derivative
version prepared by Licensee. Alternately, in lieu of CNRI's License
Agreement, Licensee may substitute the following text (omitting the
quotes): "Python 1.6.1 is made available subject to the terms and
conditions in CNRI's License Agreement. This Agreement together with
Python 1.6.1 may be located on the internet using the following
unique, persistent identifier (known as a handle): 1895.22/1013. This
Agreement may also be obtained from a proxy server on the internet
using the following URL: http://hdl.handle.net/1895.22/1013".
3. In the event Licensee prepares a derivative work that is based on
or incorporates Python 1.6.1 or any part thereof, and wants to make
the derivative work available to others as provided herein, then
Licensee hereby agrees to include in any such work a brief summary of
the changes made to Python 1.6.1.
4. CNRI is making Python 1.6.1 available to Licensee on an "AS IS"
basis. CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND
DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6.1 WILL NOT
INFRINGE ANY THIRD PARTY RIGHTS.
5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
1.6.1 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1,
OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
6. This License Agreement will automatically terminate upon a material
breach of its terms and conditions.
7. This License Agreement shall be governed by the federal
intellectual property law of the United States, including without
limitation the federal copyright law, and, to the extent such
U.S. federal law does not apply, by the law of the Commonwealth of
Virginia, excluding Virginia's conflict of law provisions.
Notwithstanding the foregoing, with regard to derivative works based
on Python 1.6.1 that incorporate non-separable material that was
previously distributed under the GNU General Public License (GPL), the
law of the Commonwealth of Virginia shall govern this License
Agreement only as to issues arising under or with respect to
Paragraphs 4, 5, and 7 of this License Agreement. Nothing in this
License Agreement shall be deemed to create any relationship of
agency, partnership, or joint venture between CNRI and Licensee. This
License Agreement does not grant permission to use CNRI trademarks or
trade name in a trademark sense to endorse or promote products or
services of Licensee, or any third party.
8. By clicking on the "ACCEPT" button where indicated, or by copying,
installing or otherwise using Python 1.6.1, Licensee agrees to be
bound by the terms and conditions of this License Agreement.
ACCEPT
CWI LICENSE AGREEMENT FOR PYTHON 0.9.0 THROUGH 1.2
--------------------------------------------------
Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam,
The Netherlands. All rights reserved.
Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted,
provided that the above copyright notice appear in all copies and that
both that copyright notice and this permission notice appear in
supporting documentation, and that the name of Stichting Mathematisch
Centrum or CWI not be used in advertising or publicity pertaining to
distribution of the software without specific, written prior
permission.
STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO
THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE
FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
ZERO-CLAUSE BSD LICENSE FOR CODE IN THE PYTHON DOCUMENTATION
----------------------------------------------------------------------
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.

View File

@@ -0,0 +1,5 @@
This package contains backports of Python functionality from future Python
versions.
Some of the backports have been copied directly from the CPython project,
and are subject to license agreement as detailed in LICENSE.Python.

View File

@@ -1,4 +1,14 @@
"""Functools backports from standard lib."""
# This file contains parts of Python's module wrapper
# for the _functools C module
# to allow utilities written in Python to be added
# to the functools module.
# Written by Nick Coghlan <ncoghlan at gmail.com>,
# Raymond Hettinger <python at rcn.com>,
# and Łukasz Langa <lukasz at langa.pl>.
# Copyright © 2001-2023 Python Software Foundation; All Rights Reserved
from __future__ import annotations
from collections.abc import Callable
@@ -68,4 +78,4 @@ class cached_property(Generic[_T]):
raise TypeError(msg) from None
return val
__class_getitem__ = classmethod(GenericAlias)
__class_getitem__ = classmethod(GenericAlias) # type: ignore[var-annotated]

View File

@@ -41,6 +41,7 @@ from .setup import (
DATA_SETUP,
DATA_SETUP_STARTED,
DATA_SETUP_TIME,
async_notify_setup_error,
async_set_domains_to_be_loaded,
async_setup_component,
)
@@ -120,6 +121,7 @@ async def async_setup_hass(
runtime_config.log_no_color,
)
hass.config.safe_mode = runtime_config.safe_mode
hass.config.skip_pip = runtime_config.skip_pip
hass.config.skip_pip_packages = runtime_config.skip_pip_packages
if runtime_config.skip_pip or runtime_config.skip_pip_packages:
@@ -137,14 +139,14 @@ async def async_setup_hass(
config_dict = None
basic_setup_success = False
if not (safe_mode := runtime_config.safe_mode):
if not (recovery_mode := runtime_config.recovery_mode):
await hass.async_add_executor_job(conf_util.process_ha_config_upgrade, hass)
try:
config_dict = await conf_util.async_hass_config_yaml(hass)
except HomeAssistantError as err:
_LOGGER.error(
"Failed to parse configuration.yaml: %s. Activating safe mode",
"Failed to parse configuration.yaml: %s. Activating recovery mode",
err,
)
else:
@@ -156,24 +158,24 @@ async def async_setup_hass(
)
if config_dict is None:
safe_mode = True
recovery_mode = True
elif not basic_setup_success:
_LOGGER.warning("Unable to set up core integrations. Activating safe mode")
safe_mode = True
_LOGGER.warning("Unable to set up core integrations. Activating recovery mode")
recovery_mode = True
elif (
"frontend" in hass.data.get(DATA_SETUP, {})
and "frontend" not in hass.config.components
):
_LOGGER.warning("Detected that frontend did not load. Activating safe mode")
_LOGGER.warning("Detected that frontend did not load. Activating recovery mode")
# Ask integrations to shut down. It's messy but we can't
# do a clean stop without knowing what is broken
with contextlib.suppress(asyncio.TimeoutError):
async with hass.timeout.async_timeout(10):
await hass.async_stop()
safe_mode = True
recovery_mode = True
old_config = hass.config
old_logging = hass.data.get(DATA_LOGGING)
@@ -187,16 +189,18 @@ async def async_setup_hass(
# Setup loader cache after the config dir has been set
loader.async_setup(hass)
if safe_mode:
_LOGGER.info("Starting in safe mode")
hass.config.safe_mode = True
if recovery_mode:
_LOGGER.info("Starting in recovery mode")
hass.config.recovery_mode = True
http_conf = (await http.async_get_last_config(hass)) or {}
await async_from_config_dict(
{"safe_mode": {}, "http": http_conf},
{"recovery_mode": {}, "http": http_conf},
hass,
)
elif hass.config.safe_mode:
_LOGGER.info("Starting in safe mode")
if runtime_config.open_ui:
hass.add_job(open_hass_ui, hass)
@@ -289,7 +293,8 @@ async def async_from_config_dict(
try:
await conf_util.async_process_ha_core_config(hass, core_config)
except vol.Invalid as config_err:
conf_util.async_log_exception(config_err, "homeassistant", core_config, hass)
conf_util.async_log_schema_error(config_err, core.DOMAIN, core_config, hass)
async_notify_setup_error(hass, core.DOMAIN)
return None
except HomeAssistantError:
_LOGGER.error(
@@ -395,7 +400,7 @@ def async_enable_logging(
logging.getLogger("httpx").setLevel(logging.WARNING)
sys.excepthook = lambda *args: logging.getLogger(None).exception(
"Uncaught exception", exc_info=args # type: ignore[arg-type]
"Uncaught exception", exc_info=args
)
threading.excepthook = lambda args: logging.getLogger(None).exception(
"Uncaught thread exception",
@@ -471,7 +476,7 @@ def _get_domains(hass: core.HomeAssistant, config: dict[str, Any]) -> set[str]:
domains = {key.partition(" ")[0] for key in config if key != core.DOMAIN}
# Add config entry domains
if not hass.config.safe_mode:
if not hass.config.recovery_mode:
domains.update(hass.config_entries.async_domains())
# Make sure the Hass.io component is loaded

View File

@@ -7,6 +7,7 @@
"homekit",
"ibeacon",
"icloud",
"itunes"
"itunes",
"weatherkit"
]
}

View File

@@ -1,5 +1,5 @@
{
"domain": "eq3",
"name": "eQ-3",
"integrations": ["eq3btsmart", "maxcube"]
"integrations": ["maxcube"]
}

View File

@@ -11,6 +11,7 @@
"google_maps",
"google_pubsub",
"google_sheets",
"google_tasks",
"google_translate",
"google_travel_time",
"google_wifi",

View File

@@ -1,5 +1,5 @@
{
"domain": "ikea",
"name": "IKEA",
"integrations": ["symfonisk", "tradfri"]
"integrations": ["symfonisk", "tradfri", "idasen_desk"]
}

View File

@@ -0,0 +1,5 @@
{
"domain": "switchbot",
"name": "SwitchBot",
"integrations": ["switchbot", "switchbot_cloud"]
}

View File

@@ -1,5 +1,5 @@
{
"domain": "u_tec",
"name": "U-tec",
"iot_standards": ["zwave"]
"integrations": ["ultraloq"]
}

View File

@@ -1,6 +1,7 @@
"""Support for the Abode Security System."""
from __future__ import annotations
from dataclasses import dataclass, field
from functools import partial
from jaraco.abode.automation import Automation as AbodeAuto
@@ -25,7 +26,7 @@ from homeassistant.const import (
EVENT_HOMEASSISTANT_STOP,
Platform,
)
from homeassistant.core import Event, HomeAssistant, ServiceCall
from homeassistant.core import CALLBACK_TYPE, Event, HomeAssistant, ServiceCall
from homeassistant.exceptions import ConfigEntryAuthFailed, ConfigEntryNotReady
from homeassistant.helpers import config_validation as cv, entity
from homeassistant.helpers.device_registry import DeviceInfo
@@ -71,15 +72,14 @@ PLATFORMS = [
]
@dataclass
class AbodeSystem:
"""Abode System class."""
def __init__(self, abode: Abode, polling: bool) -> None:
"""Initialize the system."""
self.abode = abode
self.polling = polling
self.entity_ids: set[str | None] = set()
self.logout_listener = None
abode: Abode
polling: bool
entity_ids: set[str | None] = field(default_factory=set)
logout_listener: CALLBACK_TYPE | None = None
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:

View File

@@ -9,5 +9,5 @@
},
"iot_class": "cloud_push",
"loggers": ["jaraco.abode", "lomond"],
"requirements": ["jaraco.abode==3.3.0"]
"requirements": ["jaraco.abode==3.3.0", "jaraco.functools==3.9.0"]
}

View File

@@ -8,5 +8,5 @@
"iot_class": "cloud_polling",
"loggers": ["accuweather"],
"quality_scale": "platinum",
"requirements": ["accuweather==1.0.0"]
"requirements": ["accuweather==2.1.1"]
}

View File

@@ -6,5 +6,5 @@
"documentation": "https://www.home-assistant.io/integrations/adax",
"iot_class": "local_polling",
"loggers": ["adax", "adax_local"],
"requirements": ["adax==0.2.0", "Adax-local==0.1.5"]
"requirements": ["adax==0.3.0", "Adax-local==0.1.5"]
}

View File

@@ -7,5 +7,5 @@
"integration_type": "service",
"iot_class": "local_polling",
"loggers": ["adguardhome"],
"requirements": ["adguardhome==0.6.1"]
"requirements": ["adguardhome==0.6.3"]
}

View File

@@ -22,20 +22,13 @@ SCAN_INTERVAL = timedelta(seconds=300)
PARALLEL_UPDATES = 4
@dataclass
class AdGuardHomeEntityDescriptionMixin:
"""Mixin for required keys."""
@dataclass(kw_only=True)
class AdGuardHomeEntityDescription(SensorEntityDescription):
"""Describes AdGuard Home sensor entity."""
value_fn: Callable[[AdGuardHome], Coroutine[Any, Any, int | float]]
@dataclass
class AdGuardHomeEntityDescription(
SensorEntityDescription, AdGuardHomeEntityDescriptionMixin
):
"""Describes AdGuard Home sensor entity."""
SENSORS: tuple[AdGuardHomeEntityDescription, ...] = (
AdGuardHomeEntityDescription(
key="dns_queries",

View File

@@ -10,6 +10,9 @@
"username": "[%key:common::config_flow::data::username%]",
"ssl": "[%key:common::config_flow::data::ssl%]",
"verify_ssl": "[%key:common::config_flow::data::verify_ssl%]"
},
"data_description": {
"host": "The hostname or IP address of the device running your AdGuard Home."
}
},
"hassio_confirm": {

View File

@@ -21,22 +21,15 @@ SCAN_INTERVAL = timedelta(seconds=10)
PARALLEL_UPDATES = 1
@dataclass
class AdGuardHomeSwitchEntityDescriptionMixin:
"""Mixin for required keys."""
@dataclass(kw_only=True)
class AdGuardHomeSwitchEntityDescription(SwitchEntityDescription):
"""Describes AdGuard Home switch entity."""
is_on_fn: Callable[[AdGuardHome], Callable[[], Coroutine[Any, Any, bool]]]
turn_on_fn: Callable[[AdGuardHome], Callable[[], Coroutine[Any, Any, None]]]
turn_off_fn: Callable[[AdGuardHome], Callable[[], Coroutine[Any, Any, None]]]
@dataclass
class AdGuardHomeSwitchEntityDescription(
SwitchEntityDescription, AdGuardHomeSwitchEntityDescriptionMixin
):
"""Describes AdGuard Home switch entity."""
SWITCHES: tuple[AdGuardHomeSwitchEntityDescription, ...] = (
AdGuardHomeSwitchEntityDescription(
key="protection",

View File

@@ -122,9 +122,23 @@ class AdvantageAirAC(AdvantageAirAcEntity, ClimateEntity):
if self._ac.get(ADVANTAGE_AIR_AUTOFAN):
self._attr_fan_modes += [FAN_AUTO]
@property
def current_temperature(self) -> float | None:
"""Return the selected zones current temperature."""
if self._myzone:
return self._myzone["measuredTemp"]
return None
@property
def target_temperature(self) -> float | None:
"""Return the current target temperature."""
# If the system is in MyZone mode, and a zone is set, return that temperature instead.
if (
self._myzone
and not self._ac.get(ADVANTAGE_AIR_MYAUTO_ENABLED)
and not self._ac.get(ADVANTAGE_AIR_MYTEMP_ENABLED)
):
return self._myzone["setTemp"]
return self._ac["setTemp"]
@property

View File

@@ -62,6 +62,12 @@ class AdvantageAirAcEntity(AdvantageAirEntity):
def _ac(self) -> dict[str, Any]:
return self.coordinator.data["aircons"][self.ac_key]["info"]
@property
def _myzone(self) -> dict[str, Any] | None:
return self.coordinator.data["aircons"][self.ac_key]["zones"].get(
f"z{self._ac['myZone']:02}"
)
class AdvantageAirZoneEntity(AdvantageAirAcEntity):
"""Parent class for Advantage Air Zone Entities."""

View File

@@ -2,12 +2,13 @@
import logging
from aemet_opendata.exceptions import TownNotFound
from aemet_opendata.exceptions import AemetError, TownNotFound
from aemet_opendata.interface import AEMET, ConnectionOptions
from homeassistant.config_entries import ConfigEntry
from homeassistant.const import CONF_API_KEY, CONF_LATITUDE, CONF_LONGITUDE, CONF_NAME
from homeassistant.core import HomeAssistant
from homeassistant.exceptions import ConfigEntryNotReady
from homeassistant.helpers import aiohttp_client
from .const import (
@@ -30,13 +31,15 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
longitude = entry.data[CONF_LONGITUDE]
station_updates = entry.options.get(CONF_STATION_UPDATES, True)
options = ConnectionOptions(api_key, station_updates)
options = ConnectionOptions(api_key, station_updates, True)
aemet = AEMET(aiohttp_client.async_get_clientsession(hass), options)
try:
await aemet.select_coordinates(latitude, longitude)
except TownNotFound as err:
_LOGGER.error(err)
return False
except AemetError as err:
raise ConfigEntryNotReady(err) from err
weather_coordinator = WeatherUpdateCoordinator(hass, aemet)
await weather_coordinator.async_config_entry_first_refresh()

View File

@@ -40,7 +40,7 @@ class AemetConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
await self.async_set_unique_id(f"{latitude}-{longitude}")
self._abort_if_unique_id_configured()
options = ConnectionOptions(user_input[CONF_API_KEY], False)
options = ConnectionOptions(user_input[CONF_API_KEY], False, True)
aemet = AEMET(aiohttp_client.async_get_clientsession(self.hass), options)
try:
await aemet.select_coordinates(latitude, longitude)

View File

@@ -1,6 +1,31 @@
"""Constant values for the AEMET OpenData component."""
from __future__ import annotations
from aemet_opendata.const import (
AOD_COND_CLEAR_NIGHT,
AOD_COND_CLOUDY,
AOD_COND_FOG,
AOD_COND_LIGHTNING,
AOD_COND_LIGHTNING_RAINY,
AOD_COND_PARTLY_CLODUY,
AOD_COND_POURING,
AOD_COND_RAINY,
AOD_COND_SNOWY,
AOD_COND_SUNNY,
AOD_CONDITION,
AOD_FORECAST_DAILY,
AOD_FORECAST_HOURLY,
AOD_PRECIPITATION,
AOD_PRECIPITATION_PROBABILITY,
AOD_TEMP,
AOD_TEMP_MAX,
AOD_TEMP_MIN,
AOD_TIMESTAMP,
AOD_WIND_DIRECTION,
AOD_WIND_SPEED,
AOD_WIND_SPEED_MAX,
)
from homeassistant.components.weather import (
ATTR_CONDITION_CLEAR_NIGHT,
ATTR_CONDITION_CLOUDY,
@@ -12,6 +37,15 @@ from homeassistant.components.weather import (
ATTR_CONDITION_RAINY,
ATTR_CONDITION_SNOWY,
ATTR_CONDITION_SUNNY,
ATTR_FORECAST_CONDITION,
ATTR_FORECAST_NATIVE_PRECIPITATION,
ATTR_FORECAST_NATIVE_TEMP,
ATTR_FORECAST_NATIVE_TEMP_LOW,
ATTR_FORECAST_NATIVE_WIND_GUST_SPEED,
ATTR_FORECAST_NATIVE_WIND_SPEED,
ATTR_FORECAST_PRECIPITATION_PROBABILITY,
ATTR_FORECAST_TIME,
ATTR_FORECAST_WIND_BEARING,
)
from homeassistant.const import Platform
@@ -55,94 +89,16 @@ ATTR_API_WIND_MAX_SPEED = "wind-max-speed"
ATTR_API_WIND_SPEED = "wind-speed"
CONDITIONS_MAP = {
ATTR_CONDITION_CLEAR_NIGHT: {
"11n", # Despejado (de noche)
},
ATTR_CONDITION_CLOUDY: {
"14", # Nuboso
"14n", # Nuboso (de noche)
"15", # Muy nuboso
"15n", # Muy nuboso (de noche)
"16", # Cubierto
"16n", # Cubierto (de noche)
"17", # Nubes altas
"17n", # Nubes altas (de noche)
},
ATTR_CONDITION_FOG: {
"81", # Niebla
"81n", # Niebla (de noche)
"82", # Bruma - Neblina
"82n", # Bruma - Neblina (de noche)
},
ATTR_CONDITION_LIGHTNING: {
"51", # Intervalos nubosos con tormenta
"51n", # Intervalos nubosos con tormenta (de noche)
"52", # Nuboso con tormenta
"52n", # Nuboso con tormenta (de noche)
"53", # Muy nuboso con tormenta
"53n", # Muy nuboso con tormenta (de noche)
"54", # Cubierto con tormenta
"54n", # Cubierto con tormenta (de noche)
},
ATTR_CONDITION_LIGHTNING_RAINY: {
"61", # Intervalos nubosos con tormenta y lluvia escasa
"61n", # Intervalos nubosos con tormenta y lluvia escasa (de noche)
"62", # Nuboso con tormenta y lluvia escasa
"62n", # Nuboso con tormenta y lluvia escasa (de noche)
"63", # Muy nuboso con tormenta y lluvia escasa
"63n", # Muy nuboso con tormenta y lluvia escasa (de noche)
"64", # Cubierto con tormenta y lluvia escasa
"64n", # Cubierto con tormenta y lluvia escasa (de noche)
},
ATTR_CONDITION_PARTLYCLOUDY: {
"12", # Poco nuboso
"12n", # Poco nuboso (de noche)
"13", # Intervalos nubosos
"13n", # Intervalos nubosos (de noche)
},
ATTR_CONDITION_POURING: {
"27", # Chubascos
"27n", # Chubascos (de noche)
},
ATTR_CONDITION_RAINY: {
"23", # Intervalos nubosos con lluvia
"23n", # Intervalos nubosos con lluvia (de noche)
"24", # Nuboso con lluvia
"24n", # Nuboso con lluvia (de noche)
"25", # Muy nuboso con lluvia
"25n", # Muy nuboso con lluvia (de noche)
"26", # Cubierto con lluvia
"26n", # Cubierto con lluvia (de noche)
"43", # Intervalos nubosos con lluvia escasa
"43n", # Intervalos nubosos con lluvia escasa (de noche)
"44", # Nuboso con lluvia escasa
"44n", # Nuboso con lluvia escasa (de noche)
"45", # Muy nuboso con lluvia escasa
"45n", # Muy nuboso con lluvia escasa (de noche)
"46", # Cubierto con lluvia escasa
"46n", # Cubierto con lluvia escasa (de noche)
},
ATTR_CONDITION_SNOWY: {
"33", # Intervalos nubosos con nieve
"33n", # Intervalos nubosos con nieve (de noche)
"34", # Nuboso con nieve
"34n", # Nuboso con nieve (de noche)
"35", # Muy nuboso con nieve
"35n", # Muy nuboso con nieve (de noche)
"36", # Cubierto con nieve
"36n", # Cubierto con nieve (de noche)
"71", # Intervalos nubosos con nieve escasa
"71n", # Intervalos nubosos con nieve escasa (de noche)
"72", # Nuboso con nieve escasa
"72n", # Nuboso con nieve escasa (de noche)
"73", # Muy nuboso con nieve escasa
"73n", # Muy nuboso con nieve escasa (de noche)
"74", # Cubierto con nieve escasa
"74n", # Cubierto con nieve escasa (de noche)
},
ATTR_CONDITION_SUNNY: {
"11", # Despejado
},
AOD_COND_CLEAR_NIGHT: ATTR_CONDITION_CLEAR_NIGHT,
AOD_COND_CLOUDY: ATTR_CONDITION_CLOUDY,
AOD_COND_FOG: ATTR_CONDITION_FOG,
AOD_COND_LIGHTNING: ATTR_CONDITION_LIGHTNING,
AOD_COND_LIGHTNING_RAINY: ATTR_CONDITION_LIGHTNING_RAINY,
AOD_COND_PARTLY_CLODUY: ATTR_CONDITION_PARTLYCLOUDY,
AOD_COND_POURING: ATTR_CONDITION_POURING,
AOD_COND_RAINY: ATTR_CONDITION_RAINY,
AOD_COND_SNOWY: ATTR_CONDITION_SNOWY,
AOD_COND_SUNNY: ATTR_CONDITION_SUNNY,
}
FORECAST_MONITORED_CONDITIONS = [
@@ -188,15 +144,29 @@ FORECAST_MODE_ATTR_API = {
FORECAST_MODE_HOURLY: ATTR_API_FORECAST_HOURLY,
}
WIND_BEARING_MAP = {
"C": None,
"N": 0.0,
"NE": 45.0,
"E": 90.0,
"SE": 135.0,
"S": 180.0,
"SO": 225.0,
"O": 270.0,
"NO": 315.0,
FORECAST_MAP = {
AOD_FORECAST_DAILY: {
AOD_CONDITION: ATTR_FORECAST_CONDITION,
AOD_PRECIPITATION_PROBABILITY: ATTR_FORECAST_PRECIPITATION_PROBABILITY,
AOD_TEMP_MAX: ATTR_FORECAST_NATIVE_TEMP,
AOD_TEMP_MIN: ATTR_FORECAST_NATIVE_TEMP_LOW,
AOD_TIMESTAMP: ATTR_FORECAST_TIME,
AOD_WIND_DIRECTION: ATTR_FORECAST_WIND_BEARING,
AOD_WIND_SPEED: ATTR_FORECAST_NATIVE_WIND_SPEED,
},
AOD_FORECAST_HOURLY: {
AOD_CONDITION: ATTR_FORECAST_CONDITION,
AOD_PRECIPITATION_PROBABILITY: ATTR_FORECAST_PRECIPITATION_PROBABILITY,
AOD_PRECIPITATION: ATTR_FORECAST_NATIVE_PRECIPITATION,
AOD_TEMP: ATTR_FORECAST_NATIVE_TEMP,
AOD_TIMESTAMP: ATTR_FORECAST_TIME,
AOD_WIND_DIRECTION: ATTR_FORECAST_WIND_BEARING,
AOD_WIND_SPEED_MAX: ATTR_FORECAST_NATIVE_WIND_GUST_SPEED,
AOD_WIND_SPEED: ATTR_FORECAST_NATIVE_WIND_SPEED,
},
}
WEATHER_FORECAST_MODES = {
AOD_FORECAST_DAILY: "daily",
AOD_FORECAST_HOURLY: "hourly",
}

View File

@@ -0,0 +1,23 @@
"""Entity classes for the AEMET OpenData integration."""
from __future__ import annotations
from typing import Any
from aemet_opendata.helpers import dict_nested_value
from homeassistant.components.weather import Forecast
from homeassistant.helpers.update_coordinator import CoordinatorEntity
from .weather_update_coordinator import WeatherUpdateCoordinator
class AemetEntity(CoordinatorEntity[WeatherUpdateCoordinator]):
"""Define an AEMET entity."""
def get_aemet_forecast(self, forecast_mode: str) -> list[Forecast]:
"""Return AEMET entity forecast by mode."""
return self.coordinator.data["forecast"][forecast_mode]
def get_aemet_value(self, keys: list[str]) -> Any:
"""Return AEMET entity value by keys."""
return dict_nested_value(self.coordinator.data["lib"], keys)

View File

@@ -6,5 +6,5 @@
"documentation": "https://www.home-assistant.io/integrations/aemet",
"iot_class": "cloud_polling",
"loggers": ["aemet_opendata"],
"requirements": ["AEMET-OpenData==0.4.3"]
"requirements": ["AEMET-OpenData==0.4.6"]
}

View File

@@ -30,6 +30,7 @@ from .const import (
ATTR_API_FORECAST_TEMP_LOW,
ATTR_API_FORECAST_TIME,
ATTR_API_FORECAST_WIND_BEARING,
ATTR_API_FORECAST_WIND_MAX_SPEED,
ATTR_API_FORECAST_WIND_SPEED,
ATTR_API_HUMIDITY,
ATTR_API_PRESSURE,
@@ -99,6 +100,12 @@ FORECAST_SENSOR_TYPES: tuple[SensorEntityDescription, ...] = (
name="Wind bearing",
native_unit_of_measurement=DEGREE,
),
SensorEntityDescription(
key=ATTR_API_FORECAST_WIND_MAX_SPEED,
name="Wind max speed",
native_unit_of_measurement=UnitOfSpeed.KILOMETERS_PER_HOUR,
device_class=SensorDeviceClass.WIND_SPEED,
),
SensorEntityDescription(
key=ATTR_API_FORECAST_WIND_SPEED,
name="Wind speed",
@@ -206,13 +213,14 @@ WEATHER_SENSOR_TYPES: tuple[SensorEntityDescription, ...] = (
name="Wind max speed",
native_unit_of_measurement=UnitOfSpeed.KILOMETERS_PER_HOUR,
device_class=SensorDeviceClass.WIND_SPEED,
state_class=SensorStateClass.MEASUREMENT,
),
SensorEntityDescription(
key=ATTR_API_WIND_SPEED,
name="Wind speed",
native_unit_of_measurement=UnitOfSpeed.KILOMETERS_PER_HOUR,
state_class=SensorStateClass.MEASUREMENT,
device_class=SensorDeviceClass.WIND_SPEED,
state_class=SensorStateClass.MEASUREMENT,
),
)

View File

@@ -1,16 +1,19 @@
"""Support for the AEMET OpenData service."""
from typing import cast
from aemet_opendata.const import (
AOD_CONDITION,
AOD_FORECAST_DAILY,
AOD_FORECAST_HOURLY,
AOD_HUMIDITY,
AOD_PRESSURE,
AOD_TEMP,
AOD_WEATHER,
AOD_WIND_DIRECTION,
AOD_WIND_SPEED,
AOD_WIND_SPEED_MAX,
)
from homeassistant.components.weather import (
ATTR_FORECAST_CONDITION,
ATTR_FORECAST_NATIVE_PRECIPITATION,
ATTR_FORECAST_NATIVE_TEMP,
ATTR_FORECAST_NATIVE_TEMP_LOW,
ATTR_FORECAST_NATIVE_WIND_GUST_SPEED,
ATTR_FORECAST_NATIVE_WIND_SPEED,
ATTR_FORECAST_PRECIPITATION_PROBABILITY,
ATTR_FORECAST_TIME,
ATTR_FORECAST_WIND_BEARING,
DOMAIN as WEATHER_DOMAIN,
Forecast,
SingleCoordinatorWeatherEntity,
@@ -28,54 +31,16 @@ from homeassistant.helpers import entity_registry as er
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from .const import (
ATTR_API_CONDITION,
ATTR_API_FORECAST_CONDITION,
ATTR_API_FORECAST_PRECIPITATION,
ATTR_API_FORECAST_PRECIPITATION_PROBABILITY,
ATTR_API_FORECAST_TEMP,
ATTR_API_FORECAST_TEMP_LOW,
ATTR_API_FORECAST_TIME,
ATTR_API_FORECAST_WIND_BEARING,
ATTR_API_FORECAST_WIND_MAX_SPEED,
ATTR_API_FORECAST_WIND_SPEED,
ATTR_API_HUMIDITY,
ATTR_API_PRESSURE,
ATTR_API_TEMPERATURE,
ATTR_API_WIND_BEARING,
ATTR_API_WIND_SPEED,
ATTRIBUTION,
CONDITIONS_MAP,
DOMAIN,
ENTRY_NAME,
ENTRY_WEATHER_COORDINATOR,
FORECAST_MODE_ATTR_API,
FORECAST_MODE_DAILY,
FORECAST_MODE_HOURLY,
FORECAST_MODES,
WEATHER_FORECAST_MODES,
)
from .entity import AemetEntity
from .weather_update_coordinator import WeatherUpdateCoordinator
FORECAST_MAP = {
FORECAST_MODE_DAILY: {
ATTR_API_FORECAST_CONDITION: ATTR_FORECAST_CONDITION,
ATTR_API_FORECAST_PRECIPITATION_PROBABILITY: ATTR_FORECAST_PRECIPITATION_PROBABILITY,
ATTR_API_FORECAST_TEMP_LOW: ATTR_FORECAST_NATIVE_TEMP_LOW,
ATTR_API_FORECAST_TEMP: ATTR_FORECAST_NATIVE_TEMP,
ATTR_API_FORECAST_TIME: ATTR_FORECAST_TIME,
ATTR_API_FORECAST_WIND_BEARING: ATTR_FORECAST_WIND_BEARING,
ATTR_API_FORECAST_WIND_SPEED: ATTR_FORECAST_NATIVE_WIND_SPEED,
},
FORECAST_MODE_HOURLY: {
ATTR_API_FORECAST_CONDITION: ATTR_FORECAST_CONDITION,
ATTR_API_FORECAST_PRECIPITATION_PROBABILITY: ATTR_FORECAST_PRECIPITATION_PROBABILITY,
ATTR_API_FORECAST_PRECIPITATION: ATTR_FORECAST_NATIVE_PRECIPITATION,
ATTR_API_FORECAST_TEMP: ATTR_FORECAST_NATIVE_TEMP,
ATTR_API_FORECAST_TIME: ATTR_FORECAST_TIME,
ATTR_API_FORECAST_WIND_BEARING: ATTR_FORECAST_WIND_BEARING,
ATTR_API_FORECAST_WIND_MAX_SPEED: ATTR_FORECAST_NATIVE_WIND_GUST_SPEED,
ATTR_API_FORECAST_WIND_SPEED: ATTR_FORECAST_NATIVE_WIND_SPEED,
},
}
async def async_setup_entry(
hass: HomeAssistant,
@@ -94,11 +59,11 @@ async def async_setup_entry(
if entity_registry.async_get_entity_id(
WEATHER_DOMAIN,
DOMAIN,
f"{config_entry.unique_id} {FORECAST_MODE_HOURLY}",
f"{config_entry.unique_id} {WEATHER_FORECAST_MODES[AOD_FORECAST_HOURLY]}",
):
for mode in FORECAST_MODES:
name = f"{domain_data[ENTRY_NAME]} {mode}"
unique_id = f"{config_entry.unique_id} {mode}"
for mode, mode_id in WEATHER_FORECAST_MODES.items():
name = f"{domain_data[ENTRY_NAME]} {mode_id}"
unique_id = f"{config_entry.unique_id} {mode_id}"
entities.append(AemetWeather(name, unique_id, weather_coordinator, mode))
else:
entities.append(
@@ -106,15 +71,18 @@ async def async_setup_entry(
domain_data[ENTRY_NAME],
config_entry.unique_id,
weather_coordinator,
FORECAST_MODE_DAILY,
AOD_FORECAST_DAILY,
)
)
async_add_entities(entities, False)
class AemetWeather(SingleCoordinatorWeatherEntity[WeatherUpdateCoordinator]):
"""Implementation of an AEMET OpenData sensor."""
class AemetWeather(
AemetEntity,
SingleCoordinatorWeatherEntity[WeatherUpdateCoordinator],
):
"""Implementation of an AEMET OpenData weather."""
_attr_attribution = ATTRIBUTION
_attr_native_precipitation_unit = UnitOfPrecipitationDepth.MILLIMETERS
@@ -136,7 +104,7 @@ class AemetWeather(SingleCoordinatorWeatherEntity[WeatherUpdateCoordinator]):
super().__init__(coordinator)
self._forecast_mode = forecast_mode
self._attr_entity_registry_enabled_default = (
self._forecast_mode == FORECAST_MODE_DAILY
self._forecast_mode == AOD_FORECAST_DAILY
)
self._attr_name = name
self._attr_unique_id = unique_id
@@ -144,56 +112,50 @@ class AemetWeather(SingleCoordinatorWeatherEntity[WeatherUpdateCoordinator]):
@property
def condition(self):
"""Return the current condition."""
return self.coordinator.data[ATTR_API_CONDITION]
def _forecast(self, forecast_mode: str) -> list[Forecast]:
"""Return the forecast array."""
forecasts = self.coordinator.data[FORECAST_MODE_ATTR_API[forecast_mode]]
forecast_map = FORECAST_MAP[forecast_mode]
return cast(
list[Forecast],
[
{ha_key: forecast[api_key] for api_key, ha_key in forecast_map.items()}
for forecast in forecasts
],
)
cond = self.get_aemet_value([AOD_WEATHER, AOD_CONDITION])
return CONDITIONS_MAP.get(cond)
@property
def forecast(self) -> list[Forecast]:
"""Return the forecast array."""
return self._forecast(self._forecast_mode)
return self.get_aemet_forecast(self._forecast_mode)
@callback
def _async_forecast_daily(self) -> list[Forecast]:
"""Return the daily forecast in native units."""
return self._forecast(FORECAST_MODE_DAILY)
return self.get_aemet_forecast(AOD_FORECAST_DAILY)
@callback
def _async_forecast_hourly(self) -> list[Forecast]:
"""Return the hourly forecast in native units."""
return self._forecast(FORECAST_MODE_HOURLY)
return self.get_aemet_forecast(AOD_FORECAST_HOURLY)
@property
def humidity(self):
"""Return the humidity."""
return self.coordinator.data[ATTR_API_HUMIDITY]
return self.get_aemet_value([AOD_WEATHER, AOD_HUMIDITY])
@property
def native_pressure(self):
"""Return the pressure."""
return self.coordinator.data[ATTR_API_PRESSURE]
return self.get_aemet_value([AOD_WEATHER, AOD_PRESSURE])
@property
def native_temperature(self):
"""Return the temperature."""
return self.coordinator.data[ATTR_API_TEMPERATURE]
return self.get_aemet_value([AOD_WEATHER, AOD_TEMP])
@property
def wind_bearing(self):
"""Return the wind bearing."""
return self.coordinator.data[ATTR_API_WIND_BEARING]
return self.get_aemet_value([AOD_WEATHER, AOD_WIND_DIRECTION])
@property
def native_wind_gust_speed(self):
"""Return the wind gust speed in native units."""
return self.get_aemet_value([AOD_WEATHER, AOD_WIND_SPEED_MAX])
@property
def native_wind_speed(self):
"""Return the wind speed."""
return self.coordinator.data[ATTR_API_WIND_SPEED]
return self.get_aemet_value([AOD_WEATHER, AOD_WIND_SPEED])

View File

@@ -4,7 +4,7 @@ from __future__ import annotations
from asyncio import timeout
from datetime import timedelta
import logging
from typing import Any, Final
from typing import Any, Final, cast
from aemet_opendata.const import (
AEMET_ATTR_DATE,
@@ -31,16 +31,24 @@ from aemet_opendata.const import (
AEMET_ATTR_TEMPERATURE,
AEMET_ATTR_WIND,
AEMET_ATTR_WIND_GUST,
AOD_CONDITION,
AOD_FORECAST,
AOD_FORECAST_DAILY,
AOD_FORECAST_HOURLY,
AOD_TOWN,
ATTR_DATA,
)
from aemet_opendata.exceptions import AemetError
from aemet_opendata.forecast import ForecastValue
from aemet_opendata.helpers import (
dict_nested_value,
get_forecast_day_value,
get_forecast_hour_value,
get_forecast_interval_value,
)
from aemet_opendata.interface import AEMET
from homeassistant.components.weather import Forecast
from homeassistant.core import HomeAssistant
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed
from homeassistant.util import dt as dt_util
@@ -78,7 +86,7 @@ from .const import (
ATTR_API_WIND_SPEED,
CONDITIONS_MAP,
DOMAIN,
WIND_BEARING_MAP,
FORECAST_MAP,
)
_LOGGER = logging.getLogger(__name__)
@@ -90,11 +98,8 @@ WEATHER_UPDATE_INTERVAL = timedelta(minutes=10)
def format_condition(condition: str) -> str:
"""Return condition from dict CONDITIONS_MAP."""
for key, value in CONDITIONS_MAP.items():
if condition in value:
return key
_LOGGER.error('Condition "%s" not found in CONDITIONS_MAP', condition)
return condition
val = ForecastValue.parse_condition(condition)
return CONDITIONS_MAP.get(val, val)
def format_float(value) -> float | None:
@@ -242,6 +247,12 @@ class WeatherUpdateCoordinator(DataUpdateCoordinator):
weather_response, now
)
data = self.aemet.data()
forecasts: list[dict[str, Forecast]] = {
AOD_FORECAST_DAILY: self.aemet_forecast(data, AOD_FORECAST_DAILY),
AOD_FORECAST_HOURLY: self.aemet_forecast(data, AOD_FORECAST_HOURLY),
}
return {
ATTR_API_CONDITION: condition,
ATTR_API_FORECAST_DAILY: forecast_daily,
@@ -264,8 +275,29 @@ class WeatherUpdateCoordinator(DataUpdateCoordinator):
ATTR_API_WIND_BEARING: wind_bearing,
ATTR_API_WIND_MAX_SPEED: wind_max_speed,
ATTR_API_WIND_SPEED: wind_speed,
"forecast": forecasts,
"lib": data,
}
def aemet_forecast(
self,
data: dict[str, Any],
forecast_mode: str,
) -> list[Forecast]:
"""Return the forecast array."""
forecasts = dict_nested_value(data, [AOD_TOWN, forecast_mode, AOD_FORECAST])
forecast_map = FORECAST_MAP[forecast_mode]
forecast_list: list[dict[str, Any]] = []
for forecast in forecasts:
cur_forecast: dict[str, Any] = {}
for api_key, ha_key in forecast_map.items():
value = forecast[api_key]
if api_key == AOD_CONDITION:
value = CONDITIONS_MAP.get(value)
cur_forecast[ha_key] = value
forecast_list += [cur_forecast]
return cast(list[Forecast], forecast_list)
def _get_daily_forecast_from_weather_response(self, weather_response, now):
if weather_response.daily:
parse = False
@@ -489,10 +521,7 @@ class WeatherUpdateCoordinator(DataUpdateCoordinator):
val = get_forecast_hour_value(
day_data[AEMET_ATTR_WIND_GUST], hour, key=AEMET_ATTR_DIRECTION
)[0]
if val in WIND_BEARING_MAP:
return WIND_BEARING_MAP[val]
_LOGGER.error("%s not found in Wind Bearing map", val)
return None
return ForecastValue.parse_wind_direction(val)
@staticmethod
def _get_wind_bearing_day(day_data):
@@ -500,10 +529,7 @@ class WeatherUpdateCoordinator(DataUpdateCoordinator):
val = get_forecast_day_value(
day_data[AEMET_ATTR_WIND], key=AEMET_ATTR_DIRECTION
)
if val in WIND_BEARING_MAP:
return WIND_BEARING_MAP[val]
_LOGGER.error("%s not found in Wind Bearing map", val)
return None
return ForecastValue.parse_wind_direction(val)
@staticmethod
def _get_wind_max_speed(day_data, hour):

View File

@@ -1 +1,42 @@
"""The aftership component."""
"""The AfterShip integration."""
from __future__ import annotations
from pyaftership import AfterShip, AfterShipException
from homeassistant.config_entries import ConfigEntry
from homeassistant.const import CONF_API_KEY, Platform
from homeassistant.core import HomeAssistant
from homeassistant.exceptions import ConfigEntryNotReady
from homeassistant.helpers.aiohttp_client import async_get_clientsession
from .const import DOMAIN
PLATFORMS: list[Platform] = [Platform.SENSOR]
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
"""Set up AfterShip from a config entry."""
hass.data.setdefault(DOMAIN, {})
session = async_get_clientsession(hass)
aftership = AfterShip(api_key=entry.data[CONF_API_KEY], session=session)
try:
await aftership.trackings.list()
except AfterShipException as err:
raise ConfigEntryNotReady from err
hass.data[DOMAIN][entry.entry_id] = aftership
await hass.config_entries.async_forward_entry_setups(entry, PLATFORMS)
return True
async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
"""Unload a config entry."""
if unload_ok := await hass.config_entries.async_unload_platforms(entry, PLATFORMS):
hass.data[DOMAIN].pop(entry.entry_id)
return unload_ok

View File

@@ -0,0 +1,90 @@
"""Config flow for AfterShip integration."""
from __future__ import annotations
import logging
from typing import Any
from pyaftership import AfterShip, AfterShipException
import voluptuous as vol
from homeassistant.config_entries import ConfigFlow
from homeassistant.const import CONF_API_KEY, CONF_NAME
from homeassistant.core import DOMAIN as HOMEASSISTANT_DOMAIN
from homeassistant.data_entry_flow import AbortFlow, FlowResult
from homeassistant.helpers.aiohttp_client import async_get_clientsession
from homeassistant.helpers.issue_registry import IssueSeverity, async_create_issue
from .const import DOMAIN
_LOGGER = logging.getLogger(__name__)
class AfterShipConfigFlow(ConfigFlow, domain=DOMAIN):
"""Handle a config flow for AfterShip."""
VERSION = 1
async def async_step_user(
self, user_input: dict[str, Any] | None = None
) -> FlowResult:
"""Handle the initial step."""
errors: dict[str, str] = {}
if user_input is not None:
self._async_abort_entries_match({CONF_API_KEY: user_input[CONF_API_KEY]})
try:
aftership = AfterShip(
api_key=user_input[CONF_API_KEY],
session=async_get_clientsession(self.hass),
)
await aftership.trackings.list()
except AfterShipException:
_LOGGER.exception("Aftership raised exception")
errors["base"] = "cannot_connect"
else:
return self.async_create_entry(title="AfterShip", data=user_input)
return self.async_show_form(
step_id="user",
data_schema=vol.Schema({vol.Required(CONF_API_KEY): str}),
errors=errors,
)
async def async_step_import(self, config: dict[str, Any]) -> FlowResult:
"""Import configuration from yaml."""
try:
self._async_abort_entries_match({CONF_API_KEY: config[CONF_API_KEY]})
except AbortFlow as err:
async_create_issue(
self.hass,
DOMAIN,
"deprecated_yaml_import_issue_already_configured",
breaks_in_ha_version="2024.4.0",
is_fixable=False,
issue_domain=DOMAIN,
severity=IssueSeverity.WARNING,
translation_key="deprecated_yaml_import_issue_already_configured",
translation_placeholders={
"domain": DOMAIN,
"integration_title": "AfterShip",
},
)
raise err
async_create_issue(
self.hass,
HOMEASSISTANT_DOMAIN,
f"deprecated_yaml_{DOMAIN}",
breaks_in_ha_version="2024.4.0",
is_fixable=False,
issue_domain=DOMAIN,
severity=IssueSeverity.WARNING,
translation_key="deprecated_yaml",
translation_placeholders={
"domain": DOMAIN,
"integration_title": "AfterShip",
},
)
return self.async_create_entry(
title=config.get(CONF_NAME, "AfterShip"),
data={CONF_API_KEY: config[CONF_API_KEY]},
)

View File

@@ -2,6 +2,7 @@
"domain": "aftership",
"name": "AfterShip",
"codeowners": [],
"config_flow": true,
"documentation": "https://www.home-assistant.io/integrations/aftership",
"iot_class": "cloud_polling",
"requirements": ["pyaftership==21.11.0"]

View File

@@ -11,6 +11,7 @@ from homeassistant.components.sensor import (
PLATFORM_SCHEMA as BASE_PLATFORM_SCHEMA,
SensorEntity,
)
from homeassistant.config_entries import SOURCE_IMPORT, ConfigEntry
from homeassistant.const import CONF_API_KEY, CONF_NAME
from homeassistant.core import HomeAssistant, ServiceCall
from homeassistant.helpers.aiohttp_client import async_get_clientsession
@@ -20,6 +21,7 @@ from homeassistant.helpers.dispatcher import (
async_dispatcher_send,
)
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.helpers.issue_registry import IssueSeverity, async_create_issue
from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType
from homeassistant.util import Throttle
@@ -58,19 +60,43 @@ async def async_setup_platform(
discovery_info: DiscoveryInfoType | None = None,
) -> None:
"""Set up the AfterShip sensor platform."""
apikey = config[CONF_API_KEY]
name = config[CONF_NAME]
session = async_get_clientsession(hass)
aftership = AfterShip(api_key=apikey, session=session)
aftership = AfterShip(
api_key=config[CONF_API_KEY], session=async_get_clientsession(hass)
)
try:
await aftership.trackings.list()
except AfterShipException as err:
_LOGGER.error("No tracking data found. Check API key is correct: %s", err)
return
except AfterShipException:
async_create_issue(
hass,
DOMAIN,
"deprecated_yaml_import_issue_cannot_connect",
breaks_in_ha_version="2024.4.0",
is_fixable=False,
issue_domain=DOMAIN,
severity=IssueSeverity.WARNING,
translation_key="deprecated_yaml_import_issue_cannot_connect",
translation_placeholders={
"integration_title": "AfterShip",
"url": "/config/integrations/dashboard/add?domain=aftership",
},
)
async_add_entities([AfterShipSensor(aftership, name)], True)
hass.async_create_task(
hass.config_entries.flow.async_init(
DOMAIN, context={"source": SOURCE_IMPORT}, data=config
)
)
async def async_setup_entry(
hass: HomeAssistant,
config_entry: ConfigEntry,
async_add_entities: AddEntitiesCallback,
) -> None:
"""Set up AfterShip sensor entities based on a config entry."""
aftership: AfterShip = hass.data[DOMAIN][config_entry.entry_id]
async_add_entities([AfterShipSensor(aftership, config_entry.title)], True)
async def handle_add_tracking(call: ServiceCall) -> None:
"""Call when a user adds a new Aftership tracking from Home Assistant."""

View File

@@ -1,4 +1,19 @@
{
"config": {
"step": {
"user": {
"data": {
"api_key": "[%key:common::config_flow::data::api_key%]"
}
}
},
"error": {
"cannot_connect": "[%key:common::config_flow::error::cannot_connect%]"
},
"abort": {
"already_configured": "[%key:common::config_flow::abort::already_configured_device%]"
}
},
"services": {
"add_tracking": {
"name": "Add tracking",
@@ -32,5 +47,15 @@
}
}
}
},
"issues": {
"deprecated_yaml_import_issue_already_configured": {
"title": "The {integration_title} YAML configuration import failed",
"description": "Configuring {integration_title} using YAML is being removed but the YAML configuration was already imported.\n\nRemove the YAML configuration and restart Home Assistant."
},
"deprecated_yaml_import_issue_cannot_connect": {
"title": "The {integration_title} YAML configuration import failed",
"description": "Configuring {integration_title} using YAML is being removed but there was an connection error importing your YAML configuration.\n\nEnsure connection to {integration_title} works and restart Home Assistant to try again or remove the {integration_title} YAML configuration from your configuration.yaml file and continue to [set up the integration]({url}) manually."
}
}
}

View File

@@ -1,15 +1,8 @@
"""The Airly integration."""
from __future__ import annotations
from asyncio import timeout
from datetime import timedelta
import logging
from math import ceil
from aiohttp import ClientSession
from aiohttp.client_exceptions import ClientConnectorError
from airly import Airly
from airly.exceptions import AirlyError
from homeassistant.components.air_quality import DOMAIN as AIR_QUALITY_PLATFORM
from homeassistant.config_entries import ConfigEntry
@@ -17,53 +10,15 @@ from homeassistant.const import CONF_API_KEY, CONF_LATITUDE, CONF_LONGITUDE, Pla
from homeassistant.core import HomeAssistant
from homeassistant.helpers import device_registry as dr, entity_registry as er
from homeassistant.helpers.aiohttp_client import async_get_clientsession
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed
from homeassistant.util import dt as dt_util
from .const import (
ATTR_API_ADVICE,
ATTR_API_CAQI,
ATTR_API_CAQI_DESCRIPTION,
ATTR_API_CAQI_LEVEL,
CONF_USE_NEAREST,
DOMAIN,
MAX_UPDATE_INTERVAL,
MIN_UPDATE_INTERVAL,
NO_AIRLY_SENSORS,
)
from .const import CONF_USE_NEAREST, DOMAIN, MIN_UPDATE_INTERVAL
from .coordinator import AirlyDataUpdateCoordinator
PLATFORMS = [Platform.SENSOR]
_LOGGER = logging.getLogger(__name__)
def set_update_interval(instances_count: int, requests_remaining: int) -> timedelta:
"""Return data update interval.
The number of requests is reset at midnight UTC so we calculate the update
interval based on number of minutes until midnight, the number of Airly instances
and the number of remaining requests.
"""
now = dt_util.utcnow()
midnight = dt_util.find_next_time_expression_time(
now, seconds=[0], minutes=[0], hours=[0]
)
minutes_to_midnight = (midnight - now).total_seconds() / 60
interval = timedelta(
minutes=min(
max(
ceil(minutes_to_midnight / requests_remaining * instances_count),
MIN_UPDATE_INTERVAL,
),
MAX_UPDATE_INTERVAL,
)
)
_LOGGER.debug("Data will be update every %s", interval)
return interval
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
"""Set up Airly as config entry."""
api_key = entry.data[CONF_API_KEY]
@@ -131,75 +86,3 @@ async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
hass.data[DOMAIN].pop(entry.entry_id)
return unload_ok
class AirlyDataUpdateCoordinator(DataUpdateCoordinator):
"""Define an object to hold Airly data."""
def __init__(
self,
hass: HomeAssistant,
session: ClientSession,
api_key: str,
latitude: float,
longitude: float,
update_interval: timedelta,
use_nearest: bool,
) -> None:
"""Initialize."""
self.latitude = latitude
self.longitude = longitude
# Currently, Airly only supports Polish and English
language = "pl" if hass.config.language == "pl" else "en"
self.airly = Airly(api_key, session, language=language)
self.use_nearest = use_nearest
super().__init__(hass, _LOGGER, name=DOMAIN, update_interval=update_interval)
async def _async_update_data(self) -> dict[str, str | float | int]:
"""Update data via library."""
data: dict[str, str | float | int] = {}
if self.use_nearest:
measurements = self.airly.create_measurements_session_nearest(
self.latitude, self.longitude, max_distance_km=5
)
else:
measurements = self.airly.create_measurements_session_point(
self.latitude, self.longitude
)
async with timeout(20):
try:
await measurements.update()
except (AirlyError, ClientConnectorError) as error:
raise UpdateFailed(error) from error
_LOGGER.debug(
"Requests remaining: %s/%s",
self.airly.requests_remaining,
self.airly.requests_per_day,
)
# Airly API sometimes returns None for requests remaining so we update
# update_interval only if we have valid value.
if self.airly.requests_remaining:
self.update_interval = set_update_interval(
len(self.hass.config_entries.async_entries(DOMAIN)),
self.airly.requests_remaining,
)
values = measurements.current["values"]
index = measurements.current["indexes"][0]
standards = measurements.current["standards"]
if index["description"] == NO_AIRLY_SENSORS:
raise UpdateFailed("Can't retrieve data: no Airly sensors in this area")
for value in values:
data[value["name"]] = value["value"]
for standard in standards:
data[f"{standard['pollutant']}_LIMIT"] = standard["limit"]
data[f"{standard['pollutant']}_PERCENT"] = standard["percent"]
data[ATTR_API_CAQI] = index["value"]
data[ATTR_API_CAQI_LEVEL] = index["level"].lower().replace("_", " ")
data[ATTR_API_CAQI_DESCRIPTION] = index["description"]
data[ATTR_API_ADVICE] = index["advice"]
return data

View File

@@ -0,0 +1,126 @@
"""DataUpdateCoordinator for the Airly integration."""
from asyncio import timeout
from datetime import timedelta
import logging
from math import ceil
from aiohttp import ClientSession
from aiohttp.client_exceptions import ClientConnectorError
from airly import Airly
from airly.exceptions import AirlyError
from homeassistant.core import HomeAssistant
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed
from homeassistant.util import dt as dt_util
from .const import (
ATTR_API_ADVICE,
ATTR_API_CAQI,
ATTR_API_CAQI_DESCRIPTION,
ATTR_API_CAQI_LEVEL,
DOMAIN,
MAX_UPDATE_INTERVAL,
MIN_UPDATE_INTERVAL,
NO_AIRLY_SENSORS,
)
_LOGGER = logging.getLogger(__name__)
def set_update_interval(instances_count: int, requests_remaining: int) -> timedelta:
"""Return data update interval.
The number of requests is reset at midnight UTC so we calculate the update
interval based on number of minutes until midnight, the number of Airly instances
and the number of remaining requests.
"""
now = dt_util.utcnow()
midnight = dt_util.find_next_time_expression_time(
now, seconds=[0], minutes=[0], hours=[0]
)
minutes_to_midnight = (midnight - now).total_seconds() / 60
interval = timedelta(
minutes=min(
max(
ceil(minutes_to_midnight / requests_remaining * instances_count),
MIN_UPDATE_INTERVAL,
),
MAX_UPDATE_INTERVAL,
)
)
_LOGGER.debug("Data will be update every %s", interval)
return interval
class AirlyDataUpdateCoordinator(DataUpdateCoordinator):
"""Define an object to hold Airly data."""
def __init__(
self,
hass: HomeAssistant,
session: ClientSession,
api_key: str,
latitude: float,
longitude: float,
update_interval: timedelta,
use_nearest: bool,
) -> None:
"""Initialize."""
self.latitude = latitude
self.longitude = longitude
# Currently, Airly only supports Polish and English
language = "pl" if hass.config.language == "pl" else "en"
self.airly = Airly(api_key, session, language=language)
self.use_nearest = use_nearest
super().__init__(hass, _LOGGER, name=DOMAIN, update_interval=update_interval)
async def _async_update_data(self) -> dict[str, str | float | int]:
"""Update data via library."""
data: dict[str, str | float | int] = {}
if self.use_nearest:
measurements = self.airly.create_measurements_session_nearest(
self.latitude, self.longitude, max_distance_km=5
)
else:
measurements = self.airly.create_measurements_session_point(
self.latitude, self.longitude
)
async with timeout(20):
try:
await measurements.update()
except (AirlyError, ClientConnectorError) as error:
raise UpdateFailed(error) from error
_LOGGER.debug(
"Requests remaining: %s/%s",
self.airly.requests_remaining,
self.airly.requests_per_day,
)
# Airly API sometimes returns None for requests remaining so we update
# update_interval only if we have valid value.
if self.airly.requests_remaining:
self.update_interval = set_update_interval(
len(self.hass.config_entries.async_entries(DOMAIN)),
self.airly.requests_remaining,
)
values = measurements.current["values"]
index = measurements.current["indexes"][0]
standards = measurements.current["standards"]
if index["description"] == NO_AIRLY_SENSORS:
raise UpdateFailed("Can't retrieve data: no Airly sensors in this area")
for value in values:
data[value["name"]] = value["value"]
for standard in standards:
data[f"{standard['pollutant']}_LIMIT"] = standard["limit"]
data[f"{standard['pollutant']}_PERCENT"] = standard["percent"]
data[ATTR_API_CAQI] = index["value"]
data[ATTR_API_CAQI_LEVEL] = index["level"].lower().replace("_", " ")
data[ATTR_API_CAQI_DESCRIPTION] = index["description"]
data[ATTR_API_ADVICE] = index["advice"]
return data

View File

@@ -2,11 +2,6 @@
import datetime
import logging
from aiohttp.client_exceptions import ClientConnectorError
from pyairnow import WebServiceAPI
from pyairnow.conv import aqi_to_concentration
from pyairnow.errors import AirNowError
from homeassistant.config_entries import ConfigEntry
from homeassistant.const import (
CONF_API_KEY,
@@ -16,27 +11,11 @@ from homeassistant.const import (
Platform,
)
from homeassistant.core import HomeAssistant
from homeassistant.helpers import device_registry as dr, entity_registry as er
from homeassistant.helpers.aiohttp_client import async_get_clientsession
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed
from .const import (
ATTR_API_AQI,
ATTR_API_AQI_DESCRIPTION,
ATTR_API_AQI_LEVEL,
ATTR_API_AQI_PARAM,
ATTR_API_CAT_DESCRIPTION,
ATTR_API_CAT_LEVEL,
ATTR_API_CATEGORY,
ATTR_API_PM25,
ATTR_API_POLLUTANT,
ATTR_API_REPORT_DATE,
ATTR_API_REPORT_HOUR,
ATTR_API_STATE,
ATTR_API_STATION,
ATTR_API_STATION_LATITUDE,
ATTR_API_STATION_LONGITUDE,
DOMAIN,
)
from .const import DOMAIN
from .coordinator import AirNowDataUpdateCoordinator
_LOGGER = logging.getLogger(__name__)
PLATFORMS = [Platform.SENSOR]
@@ -72,6 +51,20 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
await hass.config_entries.async_forward_entry_setups(entry, PLATFORMS)
# Clean up unused device entries with no entities
device_registry = dr.async_get(hass)
entity_registry = er.async_get(hass)
device_entries = dr.async_entries_for_config_entry(
device_registry, config_entry_id=entry.entry_id
)
for dev in device_entries:
dev_entities = er.async_entries_for_device(
entity_registry, dev.id, include_disabled_entities=True
)
if not dev_entities:
device_registry.async_remove_device(dev.id)
return True
@@ -107,72 +100,3 @@ async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
async def update_listener(hass: HomeAssistant, entry: ConfigEntry) -> None:
"""Handle options update."""
await hass.config_entries.async_reload(entry.entry_id)
class AirNowDataUpdateCoordinator(DataUpdateCoordinator):
"""Define an object to hold Airly data."""
def __init__(
self, hass, session, api_key, latitude, longitude, distance, update_interval
):
"""Initialize."""
self.latitude = latitude
self.longitude = longitude
self.distance = distance
self.airnow = WebServiceAPI(api_key, session=session)
super().__init__(hass, _LOGGER, name=DOMAIN, update_interval=update_interval)
async def _async_update_data(self):
"""Update data via library."""
data = {}
try:
obs = await self.airnow.observations.latLong(
self.latitude,
self.longitude,
distance=self.distance,
)
except (AirNowError, ClientConnectorError) as error:
raise UpdateFailed(error) from error
if not obs:
raise UpdateFailed("No data was returned from AirNow")
max_aqi = 0
max_aqi_level = 0
max_aqi_desc = ""
max_aqi_poll = ""
for obv in obs:
# Convert AQIs to Concentration
pollutant = obv[ATTR_API_AQI_PARAM]
concentration = aqi_to_concentration(obv[ATTR_API_AQI], pollutant)
data[obv[ATTR_API_AQI_PARAM]] = concentration
# Overall AQI is the max of all pollutant AQIs
if obv[ATTR_API_AQI] > max_aqi:
max_aqi = obv[ATTR_API_AQI]
max_aqi_level = obv[ATTR_API_CATEGORY][ATTR_API_CAT_LEVEL]
max_aqi_desc = obv[ATTR_API_CATEGORY][ATTR_API_CAT_DESCRIPTION]
max_aqi_poll = pollutant
# Copy other data from PM2.5 Value
if obv[ATTR_API_AQI_PARAM] == ATTR_API_PM25:
# Copy Report Details
data[ATTR_API_REPORT_DATE] = obv[ATTR_API_REPORT_DATE]
data[ATTR_API_REPORT_HOUR] = obv[ATTR_API_REPORT_HOUR]
# Copy Station Details
data[ATTR_API_STATE] = obv[ATTR_API_STATE]
data[ATTR_API_STATION] = obv[ATTR_API_STATION]
data[ATTR_API_STATION_LATITUDE] = obv[ATTR_API_STATION_LATITUDE]
data[ATTR_API_STATION_LONGITUDE] = obv[ATTR_API_STATION_LONGITUDE]
# Store Overall AQI
data[ATTR_API_AQI] = max_aqi
data[ATTR_API_AQI_LEVEL] = max_aqi_level
data[ATTR_API_AQI_DESCRIPTION] = max_aqi_desc
data[ATTR_API_POLLUTANT] = max_aqi_poll
return data

View File

@@ -9,8 +9,9 @@ ATTR_API_CAT_DESCRIPTION = "Name"
ATTR_API_O3 = "O3"
ATTR_API_PM25 = "PM2.5"
ATTR_API_POLLUTANT = "Pollutant"
ATTR_API_REPORT_DATE = "HourObserved"
ATTR_API_REPORT_HOUR = "DateObserved"
ATTR_API_REPORT_DATE = "DateObserved"
ATTR_API_REPORT_HOUR = "HourObserved"
ATTR_API_REPORT_TZ = "LocalTimeZone"
ATTR_API_STATE = "StateCode"
ATTR_API_STATION = "ReportingArea"
ATTR_API_STATION_LATITUDE = "Latitude"

View File

@@ -0,0 +1,101 @@
"""DataUpdateCoordinator for the AirNow integration."""
import logging
from aiohttp.client_exceptions import ClientConnectorError
from pyairnow import WebServiceAPI
from pyairnow.conv import aqi_to_concentration
from pyairnow.errors import AirNowError
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed
from .const import (
ATTR_API_AQI,
ATTR_API_AQI_DESCRIPTION,
ATTR_API_AQI_LEVEL,
ATTR_API_AQI_PARAM,
ATTR_API_CAT_DESCRIPTION,
ATTR_API_CAT_LEVEL,
ATTR_API_CATEGORY,
ATTR_API_PM25,
ATTR_API_POLLUTANT,
ATTR_API_REPORT_DATE,
ATTR_API_REPORT_HOUR,
ATTR_API_REPORT_TZ,
ATTR_API_STATE,
ATTR_API_STATION,
ATTR_API_STATION_LATITUDE,
ATTR_API_STATION_LONGITUDE,
DOMAIN,
)
_LOGGER = logging.getLogger(__name__)
class AirNowDataUpdateCoordinator(DataUpdateCoordinator):
"""The AirNow update coordinator."""
def __init__(
self, hass, session, api_key, latitude, longitude, distance, update_interval
):
"""Initialize."""
self.latitude = latitude
self.longitude = longitude
self.distance = distance
self.airnow = WebServiceAPI(api_key, session=session)
super().__init__(hass, _LOGGER, name=DOMAIN, update_interval=update_interval)
async def _async_update_data(self):
"""Update data via library."""
data = {}
try:
obs = await self.airnow.observations.latLong(
self.latitude,
self.longitude,
distance=self.distance,
)
except (AirNowError, ClientConnectorError) as error:
raise UpdateFailed(error) from error
if not obs:
raise UpdateFailed("No data was returned from AirNow")
max_aqi = 0
max_aqi_level = 0
max_aqi_desc = ""
max_aqi_poll = ""
for obv in obs:
# Convert AQIs to Concentration
pollutant = obv[ATTR_API_AQI_PARAM]
concentration = aqi_to_concentration(obv[ATTR_API_AQI], pollutant)
data[obv[ATTR_API_AQI_PARAM]] = concentration
# Overall AQI is the max of all pollutant AQIs
if obv[ATTR_API_AQI] > max_aqi:
max_aqi = obv[ATTR_API_AQI]
max_aqi_level = obv[ATTR_API_CATEGORY][ATTR_API_CAT_LEVEL]
max_aqi_desc = obv[ATTR_API_CATEGORY][ATTR_API_CAT_DESCRIPTION]
max_aqi_poll = pollutant
# Copy other data from PM2.5 Value
if obv[ATTR_API_AQI_PARAM] == ATTR_API_PM25:
# Copy Report Details
data[ATTR_API_REPORT_DATE] = obv[ATTR_API_REPORT_DATE]
data[ATTR_API_REPORT_HOUR] = obv[ATTR_API_REPORT_HOUR]
data[ATTR_API_REPORT_TZ] = obv[ATTR_API_REPORT_TZ]
# Copy Station Details
data[ATTR_API_STATE] = obv[ATTR_API_STATE]
data[ATTR_API_STATION] = obv[ATTR_API_STATION]
data[ATTR_API_STATION_LATITUDE] = obv[ATTR_API_STATION_LATITUDE]
data[ATTR_API_STATION_LONGITUDE] = obv[ATTR_API_STATION_LONGITUDE]
# Store Overall AQI
data[ATTR_API_AQI] = max_aqi
data[ATTR_API_AQI_LEVEL] = max_aqi_level
data[ATTR_API_AQI_DESCRIPTION] = max_aqi_desc
data[ATTR_API_POLLUTANT] = max_aqi_poll
return data

View File

@@ -3,6 +3,7 @@ from __future__ import annotations
from collections.abc import Callable
from dataclasses import dataclass
from datetime import datetime
from typing import Any
from homeassistant.components.sensor import (
@@ -13,6 +14,7 @@ from homeassistant.components.sensor import (
)
from homeassistant.config_entries import ConfigEntry
from homeassistant.const import (
ATTR_TIME,
CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
CONCENTRATION_PARTS_PER_MILLION,
)
@@ -21,6 +23,7 @@ from homeassistant.helpers.device_registry import DeviceEntryType, DeviceInfo
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.helpers.typing import StateType
from homeassistant.helpers.update_coordinator import CoordinatorEntity
from homeassistant.util.dt import get_time_zone
from . import AirNowDataUpdateCoordinator
from .const import (
@@ -29,6 +32,9 @@ from .const import (
ATTR_API_AQI_LEVEL,
ATTR_API_O3,
ATTR_API_PM25,
ATTR_API_REPORT_DATE,
ATTR_API_REPORT_HOUR,
ATTR_API_REPORT_TZ,
ATTR_API_STATION,
ATTR_API_STATION_LATITUDE,
ATTR_API_STATION_LONGITUDE,
@@ -58,6 +64,16 @@ class AirNowEntityDescription(SensorEntityDescription, AirNowEntityDescriptionMi
"""Describes Airnow sensor entity."""
def station_extra_attrs(data: dict[str, Any]) -> dict[str, Any]:
"""Process extra attributes for station location (if available)."""
if ATTR_API_STATION in data:
return {
"lat": data.get(ATTR_API_STATION_LATITUDE),
"long": data.get(ATTR_API_STATION_LONGITUDE),
}
return {}
SENSOR_TYPES: tuple[AirNowEntityDescription, ...] = (
AirNowEntityDescription(
key=ATTR_API_AQI,
@@ -68,6 +84,12 @@ SENSOR_TYPES: tuple[AirNowEntityDescription, ...] = (
extra_state_attributes_fn=lambda data: {
ATTR_DESCR: data[ATTR_API_AQI_DESCRIPTION],
ATTR_LEVEL: data[ATTR_API_AQI_LEVEL],
ATTR_TIME: datetime.strptime(
f"{data[ATTR_API_REPORT_DATE]} {data[ATTR_API_REPORT_HOUR]}",
"%Y-%m-%d %H",
)
.replace(tzinfo=get_time_zone(data[ATTR_API_REPORT_TZ]))
.isoformat(),
},
),
AirNowEntityDescription(
@@ -93,10 +115,7 @@ SENSOR_TYPES: tuple[AirNowEntityDescription, ...] = (
translation_key="station",
icon="mdi:blur",
value_fn=lambda data: data.get(ATTR_API_STATION),
extra_state_attributes_fn=lambda data: {
"lat": data[ATTR_API_STATION_LATITUDE],
"long": data[ATTR_API_STATION_LONGITUDE],
},
extra_state_attributes_fn=station_extra_attrs,
),
)
@@ -129,13 +148,14 @@ class AirNowSensor(CoordinatorEntity[AirNowDataUpdateCoordinator], SensorEntity)
) -> None:
"""Initialize."""
super().__init__(coordinator)
_device_id = f"{coordinator.latitude}-{coordinator.longitude}"
self.entity_description = description
self._attr_unique_id = (
f"{coordinator.latitude}-{coordinator.longitude}-{description.key.lower()}"
)
self._attr_unique_id = f"{_device_id}-{description.key.lower()}"
self._attr_device_info = DeviceInfo(
entry_type=DeviceEntryType.SERVICE,
identifiers={(DOMAIN, self._attr_unique_id)},
identifiers={(DOMAIN, _device_id)},
manufacturer=DEFAULT_NAME,
name=DEFAULT_NAME,
)

Some files were not shown because too many files have changed in this diff Show More