Compare commits

...

4187 Commits

Author SHA1 Message Date
mkmer 24c9bddae0 Bump blinkpy to 0.22.6 (#108727)
Remove update after snap - now handled in library
2024-01-25 15:23:37 +01:00
David F. Mulcahey 74a60929e4 Use Zigpy definition objects in ZHA cluster handlers (#108383)
* use zigpy def objects in ZHA cluster handlers

* shorten with direct imports

* shorten with rename due to clash
2024-01-25 08:47:26 -05:00
TheJulianJES 4138b5c308 Reduce log level for creating ZHA cluster handler (#108809) 2024-01-25 08:45:11 -05:00
Martin Hjelmare 53b73bd0bd Make device tracker latitude and longitude optional (#108838)
* Make device tracker latitude and longitude optional

* Update test
2024-01-25 13:25:17 +01:00
Duco Sebel 1fa7ceede3 Use entity translations placeholders in HomeWizard (#108741)
* Adopt Entity placeholders

* Undo some snapshot changes
2024-01-25 13:15:20 +01:00
Cody C 6e59568ba3 Use feed name as entity name in GeoJSON (#108753)
* Add support for entity name in GeoJSON

Previously GeoJSON names were just the config entry ID. This is not very user friendly. Particularly so when there are many config entries and many, many entities from those same many config entries.

* Update GeoJSON tests to support entity names
2024-01-25 13:05:07 +01:00
Frank Wickström 6f81d21a35 Add Huum integration (#106420)
* Add Huum integration

* Use DeviceInfo instead of name property for huum climate

* Simplify entry setup for huum climate entry

* Don’t take status as attribute for huum climate init

* Remove unused import

* Set unique id as entity id in huum init

* Remove unused import for huum climate

* Use entry ID as unique ID for device entity

* Remove extra newline in huum climate

* Upgrade pyhuum to 0.7.4

This version no longer users Pydantic

* Parameterize error huum tests

* Update all requirements after pyhuum upgrade

* Use Huum specific naming for ConfigFlow

* Use constants for username and password in huum config flow

* Use constants for temperature units

* Fix typing and pylint issues

* Update pyhuum to 0.7.5

* Use correct enums for data entry flow in Huum tests

* Remove test for non-thrown CannotConnect in huum flow tests

* Refactor failure config test to also test a successful flow after failure

* Fix ruff-format issues

* Move _status outside of __init__ and type it

* Type temperature argument for _turn_on in huum climate

* Use constants for auth in huum config flow test

* Refactor validate_into into a inline call in huum config flow

* Refactor current and target temperature to be able to return None values

* Remove unused huum exceptions

* Flip if-statment in async_step_user flow setup to simplify code

* Change current and target temperature to be more future proof

* Log exception instead of error

* Use custom pyhuum exceptions

* Add checks for duplicate entries

* Use min temp if no target temp has been fetched yet when heating huum

* Fix tests so that mock config entry also include username and password

* Fix ruff styling issues

I don’t know why it keeps doing this. I run `ruff` locally, and then it does not complain, but CI must be doing something else here.

* Remove unneded setting of unique id

* Update requirements

* Refactor temperature setting to support settings target temparature properly
2024-01-25 12:55:55 +01:00
Brett Adams 909cdc2e5c Add Teslemetry Integration (#108147)
* Copy Paste Find Replace

* Small progress

* wip

* more wip

* Add SSE listen and close

* More rework

* Fix coordinator

* Get working

* Bump to 0.1.3

* Push to 0.1.4

* Lots of fixes

* Remove stream

* Add wakeup

* Improve set temp

* Be consistent with self

* Increase polling until streaming

* Work in progress

* Move to single climate

* bump to 0.2.0

* Update entity

* Data handling

* fixes

* WIP tests

* Tests

* Delete other tests

* Update comment

* Fix init

* Update homeassistant/components/teslemetry/entity.py

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

* Add Codeowner

* Update coverage

* requirements

* Add failure for subscription required

* Add VIN to model

* Add wake

* Add context manager

* Rename to wake_up_if_asleep

* Remove context from coverage

* change lock to context

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

* Improving Logger

* Add url to subscription error

* Errors cannot markdown

* Fix logger

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

* rename logger

* Fix error logging

* Apply suggestions from code review

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-01-25 12:54:47 +01:00
Joost Lekkerkerker 114bf0da34 Update Lutron in callback (#108779)
* Update Lutron in callback

* Update Lutron in callback

* Remove abstractmethod

* Don't do IO in constructor

* Split fetching and setting
2024-01-25 12:54:31 +01:00
Duco Sebel 0c9a30ab69 Add support for externally connected utility devices in HomeWizard (#100684)
* Backport code from #86386

* Add tests

* Remove local dev change

* Implement device class validation based on unit

* Swap sensor and externalsensor classes (based on importance)

* Use translations for external sensor entities

* Re-add meter identifier as sensor for external devices

* Add migration for Gas identifier

* Rename HomeWizardExternalIdentifierSensorEntity class

* Fix all existing tests

* Reimplement tests for extenal devices with smapshots

* Remove non-used 'None' type in unit

* Add migration test

* Clean up parameterize

* Add test to fix last coverage issue

* Fix non-frozen mypy issue

* Set device name via added EntityDescription field

* Remove device key translations for external sensors,

* Bring back translation keys

* Set device unique_id as serial number

* Remove meter identifier sensor

* Simplify external device initialization

* Adjust tests

* Remove unused gas_meter_id migration

* Remove external_devices redaction

* Remove old gas meter id sensor after migration
2024-01-25 12:51:50 +01:00
RoboMagus c54b65fdf0 Add 'last_reset' for 'total' state_class template sensor (#100806)
* Add last_reset to trigger based template sensors

* Add last_reset to state based template sensors

* CI check fixes

* Add pytests

* Add test cases for last_reset datetime parsing

* Add test for static last_reset value

* Fix ruff-format
2024-01-25 11:12:03 +01:00
Teemu R 3965f20526 Bump python-kasa to 0.6.1 (#108831) 2024-01-25 10:50:01 +01:00
dependabot[bot] 7efc82b14c Bump dorny/paths-filter from 2.11.1 to 2.12.0 (#108826)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-25 10:36:13 +01:00
J. Nick Koston 82d21136bd Do not try to cleanup invalid config entries without an AccessoryPairingID (#108830) 2024-01-24 22:49:27 -10:00
Erik Montnemery da7d2ef228 Fix light color mode in zwave_js (#108783) 2024-01-25 09:46:22 +01:00
Martin Hjelmare fabf8802f5 Fix matter color modes (#108804)
* Fix matter light color modes

* Make onoff light fixture only onoff

* Make dimmable light only a dimmable light

* Make color temp light fixture only a color temp light
2024-01-25 09:15:38 +01:00
Josef Zweck c9bef39c9a Update pytedee_async to 0.2.12 (#108800) 2024-01-25 08:47:05 +01:00
Robert Svensson 195ef6d769 Fix lights reporting unsupported colormodes in deCONZ (#108812) 2024-01-25 08:38:57 +01:00
J. Nick Koston 0628546a0e Add basic tests for powerview scenes (#108818) 2024-01-24 17:50:06 -10:00
J. Nick Koston c01e8288c1 Convert http auth internals to normal functions (#108815)
Nothing was being awaited here anymore, these can be normal functions
2024-01-24 22:34:52 -05:00
J. Nick Koston d588ec8202 Fix ESPHome not fully removing entities when entity info changes (#108823) 2024-01-24 17:29:11 -10:00
John Hess 7f56330e3b Bump thermopro-ble to 0.9.0 (#108820) 2024-01-24 17:26:58 -10:00
Michael f5d439799b Add expiration of unused refresh tokens (#108428)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-01-24 13:24:22 -10:00
Robert Resch 0d22822ed0 Add Ecovacs diagnostics (#108791)
* Add Ecovacs diagnostics

* Fix test
2024-01-24 23:30:14 +01:00
Kevin Worrel 02f7165ca5 Add super chlorination services to screenlogic (#108048)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-01-24 12:28:27 -10:00
Jan Bouwhuis 134cc78400 Fix processing supported color modes for emulated_hue (#108803) 2024-01-24 22:15:00 +01:00
Jan Bouwhuis 066692506c Fix unhandled exception on humidifier intent when available_modes is None (#108802) 2024-01-24 22:14:15 +01:00
J. Nick Koston de38e7a367 Bump aioshelly to 8.0.1 (#108805) 2024-01-24 10:56:26 -10:00
CR-Tech df9faeae6f Add write_registers support for Fan Mode in modbus (#108053) 2024-01-24 20:48:55 +01:00
Paul Bottein 0d633f33fa Set right icon for set_humidity climate service (#108801) 2024-01-24 20:40:48 +01:00
Jan-Philipp Benecke ddf02959f4 Bump area registry storage minor version to 4 (#108798) 2024-01-24 20:31:43 +01:00
J. Nick Koston f883f721c8 Avoid copying translations for single components (#108645) 2024-01-24 19:52:34 +01:00
Martin Hjelmare 852e4c21c6 Complete device tracker entity tests (#108768) 2024-01-24 19:50:55 +01:00
Jan Bouwhuis 30c9a70dbf Fix google_assistant climate modes might be None (#108793) 2024-01-24 19:47:07 +01:00
Erik Montnemery 909e58066d Fix changed_variables in automation and script traces (#108788) 2024-01-24 19:12:45 +01:00
Luke Lashley aa86d87a31 Bump python-roborock to 39.1 (#108751) 2024-01-24 19:11:39 +01:00
Erik Montnemery 9c727e5ea8 Add icon to areas (#108650) 2024-01-24 19:11:03 +01:00
Simone Chemelli c6a1ec96f4 Add Shelly CoAP port to default container port (#108016)
* Add Shelly CoAP port to default container port

* Update devcontainer.json
2024-01-24 19:00:57 +01:00
Jan Bouwhuis a90d8b6a0c Stabilize alexa discovery (#108787) 2024-01-24 18:56:21 +01:00
Robert Resch 5467fe8ff1 Add Ecovacs select entities (#108766)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-01-24 17:17:43 +01:00
Erik Montnemery aaf1cc818a Fix light color mode in tradfri (#108761) 2024-01-24 16:55:18 +01:00
Erik Montnemery 4b2b4ae36b Add invert option to switch_as_x (#107535)
* Add invert option to switch_as_x

* Store invert flag in entity options

* Add options flow

* Update strings

* Add tests

* Address review comment

* Update homeassistant/components/switch_as_x/strings.json

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

* Address review comments

* Inline get_suggested which was only used once in tests

* Address review comments

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-01-24 16:35:08 +01:00
Erik Montnemery c3de193e2e Adjust color_mode checks when lights render effects (#108737)
* Adjust color_mode checks when lights render effects

* Improve comment

* Avoid calling effect property if light does not support effects

* Fix test
2024-01-24 15:44:45 +01:00
Erik Montnemery 431e4b38ac Improve tests of script trace (#108733) 2024-01-24 15:29:35 +01:00
Erik Montnemery 97e038eb2e Fix light color mode in netatmo (#108759) 2024-01-24 15:29:16 +01:00
Erik Montnemery afbd71514f Fix light color mode in advantage_air (#108757) 2024-01-24 15:28:59 +01:00
Erik Montnemery 4a2a7872fb Fix light color mode in tplink (#108760) 2024-01-24 15:28:40 +01:00
Erik Montnemery dc672ff62c Fix light color mode in fritzbox (#108758) 2024-01-24 15:28:14 +01:00
Erik Montnemery fcf72ae0c2 Fix race when deleting an automation (#108772) 2024-01-24 15:27:09 +01:00
Jack af1ba4b22f Add ZHA metering summation received sensor (#107576)
* Add sensor for exposing Summation Received from Metering cluster

* Ruff format

* Test updates for new sensor

* Update test_sensor.py to support summation_received

* Correct report_count for smart meterning and some pylint warning fixes
2024-01-24 07:56:49 -05:00
Erik Montnemery 8fa93f6fe5 Bump comments in light indicating backwards compatibility plan (#108770) 2024-01-24 13:49:26 +01:00
Jan Klausa f828b1ce85 Bump py-switchbot-api to 2.0.0 (#108721)
* Update switchbot-api to 2.0.0

* bump requirements
2024-01-24 12:36:41 +01:00
Daniel a67113a95a Parse template result in async_render_with_possible_json_value (#99670)
* Optionally parse templates rendered with possible json

* Remove duplicate strip

* Add tests for parsing template result
2024-01-24 12:12:28 +01:00
Markus Jacobsen 1d7e0e7fe4 Add bang_olufsen integration (#93462)
* Add bangolufsen integration

* add untested files to .coveragerc

* Simplify integration to media_player platform

* Remove missing files from .coveragerc

* Add beolink_set_relative_volume custom service
Tweaks

* Remove custom services
Remove grouping as it was dependent on custom services

* Update API to 3.2.1.150.0
Reduce and optimize code with feedback from joostlek
Tweaks

* Updated testing

* Remove unused options schema

* Fix bugfix setting wrong state

* Fix wrong initial state

* Bump API

* Fix Beosound Level not reconnecting properly

* Remove unused constant

* Fix wrong variable checked to determine source

* Update integration with feedback from emontnemery

* Update integration with feedback from emontnemery

* Remove unused code

* Move API client into dataclass
Fix not all config_flow exceptions caught
Tweaks

* Add Bang & Olufsen brand

* Revert "Add Bang & Olufsen brand"

This reverts commit 57b2722078.

* Remove volume options from setup
Simplify device checks
rename integration to bang_olufsen
update tests to pass
Update API

* Remove _device from base
Add _device to websocket

* Move SW version device update to websocket
Sort websocket variables

* Add WebSocket connection test

* Remove unused constants

* Remove confirmation form
Make discovered devices get added to Home Assistant immediately
Fix device not being available on mdns discovery
Change config flow aborts to forms with error

* Update tests for new config_flow
Add missing api_exception test

* Restrict manual and discovered IP addresses to IPv4

* Re-add confirmation step for zeroconf discovery
Improve error messages
Move exception mapping dict to module level

* Enable remote control WebSocket listener

* Update tests
2024-01-24 12:00:51 +01:00
Steven B 393dee1524 Handle IP address changes properly for tplink (#108731)
* Update device config for SETUP_RETRY and use CONF_HOST on startup

* Make entry state checks use a constant

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

* Update tests

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-01-24 11:24:44 +01:00
Kristof Mariën 1cb15a398c Add more device info to foscam camera (#108177) 2024-01-24 11:13:45 +01:00
suaveolent 07449659a5 Bump lupupy to 0.3.2 (#108756)
bump lupupy to 0.3.2

Co-authored-by: suaveolent <suaveolent@users.noreply.github.com>
2024-01-24 09:20:54 +01:00
J. Nick Koston 21f646c5a7 Add LeaOne integration (#108617) 2024-01-23 22:08:20 -10:00
Paul Bottein 80e66c12b8 Add humidifier attributes icon translations (#108718) 2024-01-24 08:45:30 +01:00
Paul Bottein 00c4913401 Add fan attributes icon translations (#108722) 2024-01-24 08:44:45 +01:00
Paul Bottein 8d1665df16 Use fixed state icon for climate domain (#108723) 2024-01-24 08:44:10 +01:00
Duco Sebel f7b0a15aa5 Bumb python-homewizard-energy to 4.2.1 (#108738) 2024-01-24 08:31:23 +01:00
Joost Lekkerkerker c7db8a0bee Add translation placeholders for TPLink power strip (#108710) 2024-01-24 08:23:39 +01:00
puddly 22eed5419e Reduce log level of ZHA endpoint handler init (#108749)
* Reduce the log level of endpoint handler init failure to debug

* Reduce log level in unit test
2024-01-23 21:04:59 -05:00
J. Nick Koston 87898b7487 Add 3C52A1 oui to tplink for tapo l5 devices (#108750) 2024-01-23 21:04:43 -05:00
Michael Hansen cffd95a015 Pause Wyoming satellite on mute (#108322)
Pause satellite on mute
2024-01-23 20:37:25 -05:00
Michael Hansen d8a1c58b12 Fix intent loading and incorporate unmatched entities more (#108423)
* Incorporate unmatched entities more

* Don't list targets when match is incomplete

* Add test for out of range
2024-01-23 20:31:57 -05:00
Jan Bouwhuis c725238c20 Fix alexa fails reporting the state in specific cases (#108743)
* Fix alexa fails reporting the state in specific cases

* More cases
2024-01-23 23:36:44 +01:00
Erik Montnemery 823f268054 Randomize thread network names (#108302)
* Randomize thread network names

* Use PAN ID as network name suffix

* Apply suggestions from code review

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

* Update tests

* Format code

* Change format of network name again

---------

Co-authored-by: Stefan Agner <stefan@agner.ch>
2024-01-23 22:58:28 +01:00
jan iversen d8f16c14ab Get modbus coverage back to 100% (#108734)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-01-23 21:50:25 +01:00
Marc Mueller a6807b8a7f Improve vizio typing (#108042) 2024-01-23 21:20:15 +01:00
Robert Resch 37f5c75752 Add sensors to Ecovacs (#108686)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-01-23 21:17:18 +01:00
jan iversen bfd9bd3ff2 Bump pymodbus to v2.6.3 (#108736) 2024-01-23 21:12:07 +01:00
Erik Montnemery 069c2b7e38 Improve tests of script trace (#108717)
* Improve tests of script trace

* Update tests after rebase

* Apply suggestions from code review

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

* Apply suggestions from code review

* Adjust

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-01-23 19:53:09 +01:00
mkmer ad14ebe7e9 Use new config entry update/abort handler in Honeywell (#108726)
Use update_reload helper in Honeywell
2024-01-23 17:15:37 +01:00
mkmer 592794566e Bump AIOSomecomort to 0.0.25 (#107815) 2024-01-23 16:27:41 +01:00
Jan-Philipp Benecke 13887793a7 Remove home_plus_control and mark as virtual integration supported by Netatmo (#107587)
* Mark home_plus_control a virtual integration using Netatmo

* Apply code review suggestion

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

---------

Co-authored-by: Robert Resch <robert@resch.dev>
2024-01-23 16:18:03 +01:00
mkmer f3b1f47d34 Return PRESET_NONE in Honeywell (#108599)
* Return PRESET_NONE

* format preset_hold

* Address Hold in tests

* Add translations
2024-01-23 15:57:55 +01:00
Michal Ziemski 074d59f849 Update openerz-api to 0.3.0 (#108575) 2024-01-23 15:14:41 +01:00
Erik Montnemery 9bff039d17 Add set_conversation_response script action (#108233)
* Add set_conversation_response script action

* Update homeassistant/components/conversation/trigger.py

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

* Revert accidental change

* Add test

* Ignore mypy

* Remove incorrect callback decorator

* Update homeassistant/helpers/script.py

* Add test with templated set_conversation_response

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-01-23 09:13:42 -05:00
Dave Leaver e3a73c12bc Add airtouch5 (#98136)
Co-authored-by: Robert Resch <robert@resch.dev>
2024-01-23 14:49:47 +01:00
Peter Hall 701404fa0b Add ZHA entities for snzb06p (#107379)
* Updating zha component to add entities for snzb06p

Sonoff snzb06p presence detector needs some custom entities.

* Updating ZCL_INIT_ATTRS for sonoff specific attrs

* updating cluster name due to change in quirk
2024-01-23 08:31:32 -05:00
Joost Lekkerkerker 5dbcdfc6fb Bump python-homeassistant-analytics to 0.6.0 (#108713) 2024-01-23 13:05:40 +01:00
Jan-Philipp Benecke 2e19829d88 Use new config entry update/abort handler in co2signal (#108715) 2024-01-23 13:03:16 +01:00
G Johansson 65581e94ea Add config flow for Time & Date (#104183)
Co-authored-by: Erik <erik@montnemery.com>
2024-01-23 12:18:31 +01:00
Michael eaa32146a6 Add sensor platform to Proximity (#101497)
* add sensor platform

* transl. of distance already covered by dev.class

* add untested files to .coveragerc

* add missing state translations

* remove translation key for distance sensor

* proximity entity do not use HA number system

* fix

* extend tests

* make const final to be usable as key for TypedDict

* remove proximity from .coveragerc

* replace typeddict by simple dict definition

* make black happy

* rework to create proximity sensor for each tracked entity and always recalculate all entites

* apply review comments

* move direction of travel calc out of the loop

* make direction of travel an enum sensor

* remove unique_id from sensors

* don't set distance=0 when in monitored zone

* set None when direction is unknown

* keep distance 0 in case arrived for legacy entity

* exclude from nearest when in ignored zone

* keep distance=0 when arrived

* use description name for entity name

* remove uneeded typing

* uses consistent variable name

* fix debug messages

* use entity_id as loop var

* rename device_state to tracked_entity_state

* correct MRO for sensor entity classes
2024-01-23 10:56:02 +01:00
Allen Porter fa63719161 Reduce overhead for google calendar state updates (#108133) 2024-01-23 10:50:00 +01:00
Joost Lekkerkerker d9f1450ee6 Add Homeassistant Analytics Insights integration (#107634)
* Add Homeassistant Analytics integration

* Add Homeassistant Analytics integration

* Add Homeassistant Analytics integration

* Fix feedback

* Fix test

* Update conftest.py

* Add some testcases

* Make code clear

* log exception

* Bump python-homeassistant-analytics to 0.2.1

* Bump python-homeassistant-analytics to 0.3.0

* Change domain to homeassistant_analytics_consumer

* Add integration name to config flow selector

* Update homeassistant/components/homeassistant_analytics_consumer/manifest.json

Co-authored-by: Sid <27780930+autinerd@users.noreply.github.com>

* Fix hassfest

* Apply suggestions from code review

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

* Bump python-homeassistant-analytics to 0.4.0

* Rename to Home Assistant Analytics Insights

* Update homeassistant/components/analytics_insights/config_flow.py

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

* Update homeassistant/components/analytics_insights/manifest.json

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

* Rename to Home Assistant Analytics Insights

* add test

* Fallback to 0 when there is no data found

* Allow to select any integration

* Fix tests

* Fix tests

* Update tests/components/analytics_insights/conftest.py

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

* Update tests/components/analytics_insights/test_sensor.py

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

* Fix format

* Fix tests

---------

Co-authored-by: Sid <27780930+autinerd@users.noreply.github.com>
Co-authored-by: Robert Resch <robert@resch.dev>
2024-01-23 10:32:31 +01:00
Teemu R 52ede95c4f Scrub internal data for newer tplink devices (#108704) 2024-01-23 09:08:03 +01:00
Koen van Zuijlen acd07b4826 Fix for justnimbus integration (#99212)
* Fix for justnimbus integration

* Fixed tests and moved const

* fix: added reauth flow

* fix: fixed reauth config flow

* chore: added config_flow reauth test

* chore: Processed PR feedback

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-01-23 08:56:11 +01:00
G Johansson f9a4840ce2 Group sensor calculate attributes (#106972)
* Group sensor calculate attributes

* Use entity helpers

* Fix sensor tests

* Test change of uom

* Add tests and fix UoM issue

* Fix test

* Fix state class

* repair and logs

* delete issues

* pass through hass

* Update descriotion text to be more descriptive

* Comments

* Add pr to comment

* fix if in updating

* Fix test valid units

* Fix strings

* Fix issues
2024-01-23 08:16:51 +01:00
Erik Montnemery 329eca4918 Store area registry entries in a UserDict (#108656)
* Store area registry entries in a UserDict

* Address review comments
2024-01-23 08:14:28 +01:00
J. Nick Koston 2eea658fd8 Convert getting and removing access tokens to normal functions (#108670) 2024-01-22 20:51:33 -10:00
J. Nick Koston 904032e944 Bump habluetooth to 2.4.0 (#108695)
changelog: https://github.com/Bluetooth-Devices/habluetooth/compare/v2.3.1...v2.4.0
2024-01-23 07:46:47 +01:00
J. Nick Koston 60149e9b9e Add OUI 5C628B to tplink (#108699)
Seen on 530E(US)
2024-01-23 07:21:44 +01:00
Christophe Gagnier 4358c24edd Add zeroconf to TechnoVE integration (#108340)
* Add zeroconf to TechnoVE integration

* Update homeassistant/components/technove/config_flow.py

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

* Update zeroconf test to test if update is called.

When a station is already configured and it is re-discovered through zeroconf, make sure we don't call its API for nothing.
2024-01-23 06:32:42 +01:00
J. Nick Koston 6fb86f179a Use new config entry update/abort helper in bond (#108690)
Use new config entry update/abort helper in bond

uses the new helper from https://github.com/home-assistant/core/pull/108034
2024-01-23 06:09:33 +01:00
J. Nick Koston 7c86ab14c3 Refactor service enumeration methods to better match existing use cases (#108671) 2024-01-22 14:21:17 -10:00
J. Nick Koston f6bc5c98b3 Handle tplink credential change at run time (#108692) 2024-01-22 13:30:21 -10:00
J. Nick Koston 12b41c35ec Use new config entry update/abort helper in sense (#108691) 2024-01-22 13:24:15 -10:00
J. Nick Koston 426fce93aa Use new config entry update/abort helper in apple_tv (#108688) 2024-01-22 13:24:03 -10:00
J. Nick Koston def42c6da0 Use new config entry update/abort helper in enphase-envoy (part 2) (#108689)
Use new config entry update/abort helper in enphase_envoy

uses the new helper from https://github.com/home-assistant/core/pull/108034
2024-01-22 17:19:55 -05:00
Jan-Philipp Benecke 0b79504cf0 Extend config entry update/abort helper to also update unique id (#108681)
* Extend config entry update/abort helper to also update unique id

* Move kwarg to end

* Make additionals kwargs only
2024-01-22 23:01:55 +01:00
J. Nick Koston 9ee8832367 Use new config entry update/abort helper in onvif (#108680)
Use new config entry update/abort helper in onvif

uses the new helper from https://github.com/home-assistant/core/pull/108034
2024-01-22 23:01:08 +01:00
J. Nick Koston 17202e21f3 Use new config entry update/abort helper in samsungtv (#108683)
Use new config entry update/abort helper in samsungtv

uses the new helper from https://github.com/home-assistant/core/pull/108034
2024-01-22 22:59:50 +01:00
J. Nick Koston faf52aa2ed Use new config entry update/abort helper in shelly (#108684)
Use new config entry update/abort helper in shelly

uses the new helper from https://github.com/home-assistant/core/pull/108034
2024-01-22 22:59:17 +01:00
J. Nick Koston d825c85351 Use new config entry update/abort helper in enphase_envoy (#108679)
Use new config entry update/abort helper in enphase_envoy

uses the new helper from https://github.com/home-assistant/core/pull/108034
2024-01-22 22:43:12 +01:00
J. Nick Koston 4bf4bc7e9b Use new config entry update/abort helper in synology_dsm (#108682) 2024-01-22 11:39:57 -10:00
J. Nick Koston 07926660bc Use new config entry update/abort helper in isy994 (#108678)
Use new config entry update/abort helper in isy994

uses the new helper from https://github.com/home-assistant/core/pull/108034
2024-01-22 22:33:49 +01:00
J. Nick Koston 4378a171b2 Use new config entry update/abort helper in yalexs_ble (#108675)
Use new config entry update/abort helper in yalexs_ble

uses the new helper from https://github.com/home-assistant/core/pull/108034
2024-01-22 22:25:48 +01:00
J. Nick Koston bd7eb01546 Use new config entry update/abort helper in xiaomi_ble (#108677)
Use new config entry update/abort helper in xiaomi_ble

uses the new helper from https://github.com/home-assistant/core/pull/108034
2024-01-22 22:16:27 +01:00
J. Nick Koston d7273d66ab Use new config entry update/abort helper in bthome (#108676)
Use new config entry update/abort helper in bthome

uses the new helper from https://github.com/home-assistant/core/pull/108034
2024-01-22 22:14:00 +01:00
J. Nick Koston e7be9cb447 Use new config entry update/abort helper in powerwall (#108674)
Use new config entry update/abort helper in powerwall

uses the new helper from https://github.com/home-assistant/core/pull/108034
2024-01-22 22:12:56 +01:00
J. Nick Koston 3b6c85b904 Use new config entry update/abort helper in august (#108673)
Use new config entry update/abort helper in august

uses the new helper from https://github.com/home-assistant/core/pull/108034
2024-01-22 22:12:18 +01:00
J. Nick Koston 9811930470 Use new config entry update/abort helper in esphome (#108672) 2024-01-22 22:11:38 +01:00
Jan-Philipp Benecke 4760114408 Fix flaky sensibo test (#108669) 2024-01-22 21:47:28 +01:00
Brett Adams e1fd5e83a7 Add time to charge sensor to Tessie (#108342)
* Add time to charge and type checking

* Revert drive_state_shift_state change

* Use original name

* Use function instead of lambda

* Update homeassistant/components/tessie/sensor.py

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

* Fix callback

* Avoid having to test None

* Go back to if

* Use minutes instead of hours

---------

Co-authored-by: Jan-Philipp Benecke <github@bnck.me>
2024-01-22 21:45:08 +01:00
jmwaldrip d75dd0973f Fix SleepIQ setting FootWarmer timer (#108433)
* Fixing foot warmer timer bug

* Fixing bug where temperature wasnt assigned to number entity causing tests to fail
2024-01-22 21:22:54 +01:00
Joost Lekkerkerker 21009bef02 Add icon translations to Airly (#108404)
* Add icon translations to Airly

* Fix test

* Fix tests
2024-01-22 21:17:04 +01:00
Joost Lekkerkerker e47ed16980 Use snapshot testing in Airly sensor (#108608)
* Use snapshot testing in Airly sensor

* Apply suggestions from code review

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

* Fix tests

---------

Co-authored-by: Robert Resch <robert@resch.dev>
2024-01-22 20:59:24 +01:00
Michael 3d1751bdfa Prevent runtime issue during entity registration in coordinator of AVM Fritz!Tools (#108667)
prevent dictionary changed size during iteration
2024-01-22 14:26:46 -05:00
Franck Nijhof 80207835d7 Move core fundamental components into bootstrap (#105560)
Co-authored-by: Erik <erik@montnemery.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-01-22 20:09:48 +01:00
Bruno Pantaleão Gonçalves 31ef034c3f Update iOS configuration adding Action toggles to show in CarPlay and Watch (#108355) 2024-01-22 09:22:08 -08:00
Jan-Philipp Benecke 4d85f78b32 Cleanup Discovergy config flow (#108381)
* Cleanup Discovergy config flow

* Make use of the helper function
2024-01-22 18:20:20 +01:00
Jan-Philipp Benecke 988d72b8b6 Add helper function to update and reload config entry to config flow (#108034)
* Add helper function to update and reload config entry to config flow

* Use async_create_task

* Remove await

* Reload only when update & add task name

* Rename function
2024-01-22 17:40:20 +01:00
Martin Hjelmare e086cd9fef Add cloud tts entity (#108293)
* Add cloud tts entity

* Test test_login_view_missing_entity

* Fix pipeline iteration for migration

* Update tests

* Make migration more strict

* Fix docstring
2024-01-22 17:24:15 +01:00
Joost Lekkerkerker d0da457a04 Add device to Lutron (#107467)
* Add typing to Lutron platforms

* Add devices to Lutron

* Add devices to Lutron

* Fix typing

* Fix

* Add name

* Fix lights

* Comment out ESA

* Fix domain

* Fix domain

* Fix

* Make generic keypad base class
2024-01-22 15:52:59 +01:00
jmwaldrip 43daf20be3 Bump asyncsleepiq to 1.5.2 (#108431)
Upgrading asyncsleepiq to version 1.5.2
2024-01-22 15:27:47 +01:00
Erik Montnemery ef5d46c79c Convert AreaEntry to dataclass (#108648)
* Convert AreaEntry to dataclass

* Correct typing of AreaEntry.id

* Move responsibility for generating area id to AreaRegistry
2024-01-22 14:45:27 +01:00
Simone Chemelli 8c31e67dbc Bump aiovodafone to 0.5.4 (#108592) 2024-01-22 13:51:17 +01:00
Franck Nijhof 516fa64da5 Update Pillow to 10.2.0 (#108422) 2024-01-22 13:43:06 +01:00
Robert Resch 881872fdb4 Add binary_sensor to Ecovacs (#108544) 2024-01-22 13:36:26 +01:00
Marc Mueller 0d8afc72c2 Update python-slugify to 8.0.1 (#108373) 2024-01-22 10:10:02 +01:00
J. Nick Koston 4a34cd25b2 Reduce lock contention when all translations are already cached (#108634) 2024-01-21 22:29:03 -10:00
Joost Lekkerkerker 62fe9144f1 Add icon translations to Adguard (#108406) 2024-01-22 09:10:26 +01:00
Joost Lekkerkerker 9d380cea21 Use default icon in Agent DVR (#108405) 2024-01-22 09:08:01 +01:00
Teemu R fd1c9237a8 Bump songpal dependency to 0.16.1 (#108637) 2024-01-22 09:07:06 +01:00
Joost Lekkerkerker ef7e2cfc08 Add icon translations to Abode (#108407) 2024-01-22 09:06:25 +01:00
Jan-Philipp Benecke 09be3ffc29 Add icon translations to WLED (#108604) 2024-01-22 09:04:37 +01:00
Jan-Philipp Benecke 2a24af14ff Remove obsolete services.yaml and translations from WLED (#108605) 2024-01-22 09:03:30 +01:00
Joakim Sørensen 94f1f3e40c Remove numbering from GitHub progress step to not deal with styling of list entries (#108639) 2024-01-22 08:57:48 +01:00
J. Nick Koston fb62b6f01e Fix unifi test_tracked_clients test (#108638)
Fix unifi test_tracked_clients client

This test relied on the sensor platform getting set up and creating
the device before the device_tracker platform was setup since the
device_tracker platform will disable the entity because there is
not matching device entry for it via

https://github.com/home-assistant/core/blob/4ee6735cbbf13c130ee7cf2ca99274141fafc0fc/homeassistant/components/device_tracker/config_entry.py#L336

There is no guarantee the sensor platform will get set up before
the device tracker platform so the test was subject to a race
where it would fail if the device tracker platform was setup first
2024-01-22 08:35:24 +01:00
J. Nick Koston 4ee6735cbb Small cleanup to zone async_active_zone (#108629) 2024-01-21 19:33:05 -10:00
J. Nick Koston 8d4a1f475e Bump habluetooth to 2.3.1 (#108628) 2024-01-21 18:39:17 -10:00
J. Nick Koston e9a7870080 Small cleanups to async_get_all_descriptions (#108633) 2024-01-21 18:09:33 -10:00
J. Nick Koston 0b3bcca49b Avoid string decode/encode round trip in websocket_api get_services (#108632)
The cache was converting from bytes to str and when we read
the cache we converted it back to bytes again
2024-01-21 22:53:45 -05:00
J. Nick Koston a3f9fc45e3 Refactor async_listen_once to remove nonlocal (#108627) 2024-01-21 22:52:47 -05:00
J. Nick Koston 740209912c Small performance improvements to handing revoke token callbacks (#108625)
- Use a set to avoid linear search for remove
- Avoid recreating the unregister function each time
2024-01-21 22:49:06 -05:00
J. Nick Koston 3d3f4ac293 Avoid recreating persistent notification update function when subscribing (#108624)
I recently came up with an idea to look for callback functions
that get created over and over frequently by adding logging to
homeassistant.core.callback when its called to decorate
a function. This one happens a lot at runtime.
2024-01-21 22:45:45 -05:00
J. Nick Koston 573de95f21 Speed up run time of admin services by using HassJob (#108623) 2024-01-21 22:41:41 -05:00
J. Nick Koston dbb5645e63 Significantly reduce websocket api connection auth phase latency (#108564)
* Significantly reduce websocket api connection auth phase latancy

Since the auth phase has exclusive control over the websocket
until ActiveConnection is created, we can bypass the queue and
send messages right away. This reduces the latancy and reconnect
time since we do not have to wait for the background processing
of the queue to send the auth ok message.

* only start the writer queue after auth is successful
2024-01-21 22:33:31 -05:00
Cody C da1d530889 Update August diagnostics.py to redact contentToken (#108626) 2024-01-21 14:05:10 -10:00
Aaron Godfrey 71e636572f Send recurrence data when updating a task in todoist (#108269)
* Send recurrence data when updating a task in todoist

* Update tests/components/todoist/test_todo.py

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

* Move logic into _task_api_data.

* Add comment about sending potentinally stale data.

---------

Co-authored-by: Allen Porter <allen.porter@gmail.com>
2024-01-21 15:09:08 -08:00
Erik Montnemery e90b42d3d0 Fix FlowHandler show progress (#108586) 2024-01-21 22:40:48 +01:00
David Bonnes 0566ceca0f Tweak evohome code quality (#107596)
* initial commit

* lint

* initial commit
2024-01-21 22:22:04 +01:00
Ståle Storø Hauknes fbe1f238d4 Bump airthings-ble to 0.6.0 (#108612) 2024-01-21 11:20:07 -10:00
Joost Lekkerkerker 883711fb35 Add icon translations to Withings (#108385)
* Add icon translations to Withings

* Add icon translations to Withings

* Add icon translations to Withings

* Add icon translations to Withings

* Add icon translations to Withings
2024-01-21 21:34:44 +01:00
J. Nick Koston e94493f83d Use more shorthand attributes in tplink (#108284)
* Use more shorthand attributes in tplink

* naming

* unused
2024-01-21 21:34:06 +01:00
Jan-Philipp Benecke 4d5a511001 Add icon translations to co2signal (#108611) 2024-01-21 21:23:11 +01:00
Jonas Fors Lellky 702529627e Add missing property in flexit bacnet test (#108606)
Add missing property on mocked device

Also update the snapshot
2024-01-21 20:56:16 +01:00
J. Nick Koston 6525dad57a Add bthome event platform (#108268)
Co-authored-by: Ernst Klamer <e.klamer@gmail.com>
2024-01-21 08:17:55 -10:00
Erik Montnemery b4ab1bac56 Fix numbered list in github config flow (#108587) 2024-01-21 18:02:31 +01:00
Steven B 9b3d3b3b2d Add authentication to tplink integration for newer devices (#105143)
* Add authentication flows to tplink integration to enable newer device protocol support

* Add websession passing to tplink integration discover methods

* Use SmartDevice.connect()

* Update to use DeviceConfig

* Use credential hashes

* Bump python-kasa to 0.6.0.dev0

* Fix tests and address review comments

* Add autodetection for L530, P110, and L900

This adds mac address prefixes for the devices I have.
The wildcards are left quite lax assuming different series may share the same prefix.

* Bump tplink to 0.6.0.dev1

* Add config flow tests

* Use short_mac if alias is None and try legacy connect on discovery timeout

* Add config_flow tests

* Add init tests

* Migrate to aiohttp

* add some more ouis

* final

* ip change fix

* add fixmes

* fix O(n) searching

* fix O(n) searching

* move code that cannot fail outside of try block

* fix missing reauth_successful string

* add doc strings, cleanups

* error message by password

* dry

* adjust discovery timeout

* integration discovery already formats mac

* tweaks

* cleanups

* cleanups

* Update post review and fix broken tests

* Fix TODOs and FIXMEs in test_config_flow

* Add pragma no cover

* bump, apply suggestions

* remove no cover

* use iden check

* Apply suggestions from code review

* Fix branched test and update integration title

* legacy typing

* Update homeassistant/components/tplink/__init__.py

* lint

* Remove more unused consts

* Update test docstrings

* Add sdb9696 to tplink codeowners

* Update docstring on test for invalid DeviceConfig

* Update test stored credentials test

---------

Co-authored-by: Teemu Rytilahti <tpr@iki.fi>
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-01-21 16:25:12 +01:00
Jan Bouwhuis c3da51db4e Icon translation for imap mail count sensor (#108576) 2024-01-21 14:57:00 +01:00
Malte Franken a7c94dda73 Add unique id to geonetnz_volcano sensors (#108556)
add unique id to each sensor
2024-01-21 14:03:28 +01:00
Jan-Philipp Benecke fcaa2fcf03 Make remaining WLED entities translatable (#108534) 2024-01-21 13:44:32 +01:00
Jan Rieger 48c434da86 Add icon translations to DWD Weather Warnings (#108501) 2024-01-21 13:34:26 +01:00
Jan Rieger 6a197e93aa Add icon translations to Roborock (#108508) 2024-01-21 13:32:56 +01:00
Jan Rieger 969ee5dd9f Add icon translation to Jellyfin (#108559) 2024-01-21 13:30:03 +01:00
Josef Zweck 5c0a67a3d2 Add icon translations for lamarzocco (#108569)
icon translations
2024-01-21 13:26:28 +01:00
Jonas Fors Lellky ed270f558a Add binary sensors to flexit_bacnet integration (#108571)
* Adds binary sensors to flexit_bacnet integration

* Review comments

* Removes binary sensor for electric heater

Will add switch or service later
2024-01-21 12:35:21 +01:00
Jonas Fors Lellky 7c86ea7e16 Add sensors to the flexit_bacnet integration (#108297)
* Adds sensors to the flexit_bacnet integration

* Add one platform at a time

* Removes commented out code

And restores attributes that are needed

* Review changes

* More review fixes

* Adds translations for the flexit_bacnet sensors

* Review comments

* Adds test for flexit_bacnet sensor

* Refactors the sensor test

* Review comment

* Review comment

* Review comments
2024-01-21 12:04:46 +01:00
J. Nick Koston d885bf886a Ensure button platform does not restore unavailable state (#108316) 2024-01-21 01:04:13 -10:00
Franck Nijhof fa485513d5 Ensure icon translations aren't the same as the default (#108568) 2024-01-21 12:02:15 +01:00
J. Nick Koston ec15b0def2 Always load auth storage at startup (#108543) 2024-01-20 16:16:43 -10:00
Michael 4d46f5ec07 Add icon translations for Pegelonline (#108554)
add icon translations
2024-01-20 20:37:39 -05:00
Florian Kisser b5bb97c856 Fix zha illuminance measured value mapping (#108547) 2024-01-20 20:37:13 -05:00
J. Nick Koston 3c6e7b188e Remove OrderedDict from auth_store (#108546)
normal dicts keep track of insert order now so this should
no longer be needed
2024-01-20 20:36:43 -05:00
Jan Rieger a042073d2f Add nut icon translations (#108471) 2024-01-20 15:17:28 -05:00
Jan Rieger d81682e02a Add sun icon translations (#108462) 2024-01-20 15:16:32 -05:00
Jan Rieger 1d35665107 Change calendar icon based on state (#108451) 2024-01-20 15:04:29 -05:00
Franck Nijhof 8a5071ff82 Add time icon translations (#108458) 2024-01-20 14:42:28 -05:00
Erik Montnemery 88dfe8d33b Remove unused TypeVar from config.py (#108495) 2024-01-20 14:39:12 -05:00
Franck Nijhof 2b90d968b4 Fix hassfest icon schema for service only (#108494) 2024-01-20 14:39:05 -05:00
Franck Nijhof 6374ee9378 Add cover icon translations (#108460)
* Add cover icon translations

* States -> state
2024-01-20 14:38:53 -05:00
Franck Nijhof 1804141b27 Add lawn mower icon translations (#108466) 2024-01-20 14:34:10 -05:00
Franck Nijhof 360ca9de34 Add remote icon translations (#108469) 2024-01-20 14:33:47 -05:00
Franck Nijhof a06308e6e6 Add stt icon translations (#108474) 2024-01-20 14:33:27 -05:00
Franck Nijhof 222e2c19f3 Add select icon translations (#108472) 2024-01-20 14:33:08 -05:00
Franck Nijhof 942636ffd6 Add todo icon translations (#108477) 2024-01-20 14:32:47 -05:00
Franck Nijhof 74ae79204a Add tts icon translations (#108476) 2024-01-20 14:32:24 -05:00
Ernst Klamer 0042a2fef2 Bump bthome-ble to 3.5.0 (#108475) 2024-01-20 14:31:57 -05:00
Franck Nijhof 70084dcefa Add vacuum icon translations (#108479) 2024-01-20 14:29:31 -05:00
Franck Nijhof a0d9a1e507 Add valve icon translations (#108480) 2024-01-20 14:28:57 -05:00
Franck Nijhof bb225e4b38 Add update icon translations (#108481)
* Add update icon translations

* Oops
2024-01-20 14:28:07 -05:00
Franck Nijhof 8a3b9000aa Add wake word icon translations (#108482) 2024-01-20 14:27:32 -05:00
Franck Nijhof 858b380e6b Add media player icon translations (#108486) 2024-01-20 14:22:55 -05:00
Franck Nijhof 06d748cee7 Add weather icon translations (#108488) 2024-01-20 14:21:28 -05:00
Franck Nijhof 408ba4d850 Add water heater icon translations (#108491) 2024-01-20 14:20:48 -05:00
Franck Nijhof 19bf8970d2 Add icon translations to Plugwise (#108498) 2024-01-20 14:15:53 -05:00
Franck Nijhof e71efa0e2b Add icon translations to HomeWizard Energy (#108506)
* Add icon translations to HomeWizard Energy

* Update snapshots
2024-01-20 14:14:48 -05:00
Joakim Plate d24636b179 Upgrade nibe to 2.7.0 (#108507) 2024-01-20 14:13:52 -05:00
Matthias Alphart aa6d058c10 Update knx-frontend to 2024.1.20.105944 (#108511) 2024-01-20 20:12:15 +01:00
Franck Nijhof 6cf8a3e5d1 Pin pandas to 2.1.4 (#108509) 2024-01-20 18:08:35 +01:00
Jan Rieger f40c8ce403 Add icon translations to Tankerkoenig (#108499) 2024-01-20 16:18:32 +01:00
Franck Nijhof 6901a80a70 Add siren icon translations (#108473) 2024-01-20 16:12:44 +01:00
Jan-Philipp Benecke c2820e3cde Use right state class for volume and timestamp sensor in bthome (#107675) 2024-01-20 16:03:46 +01:00
Erik Montnemery 1cb5bbf865 Fix empty files included by !include_dir_named (#108489)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-01-20 15:12:32 +01:00
Franck Nijhof a3619e544e Add fan icon translations (#108461) 2024-01-20 13:29:43 +01:00
Franck Nijhof 16a85ab910 Add geo_location icon translations (#108463) 2024-01-20 13:29:08 +01:00
Franck Nijhof 5afbd34c64 Add humidifier icon translations (#108465) 2024-01-20 13:28:41 +01:00
Franck Nijhof 2c8981e100 Add text icon translations (#108457) 2024-01-20 13:28:23 +01:00
Franck Nijhof 618cfe587a Ensure pre-commit runs hassfest when icons change (#108470) 2024-01-20 13:28:11 +01:00
Franck Nijhof 8c55f8e7f5 Add lock icon translations (#108467) 2024-01-20 13:27:36 +01:00
Franck Nijhof b2ba808779 Add camera icon translations (#108419)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-01-20 11:39:13 +01:00
Jan Rieger 8dacb4f9ea Add icon translations to AVM FRITZ!Box Call Monitor (#108417)
* Add icon translations to AVM FRITZ!Box Call Monitor

* Update homeassistant/components/fritzbox_callmonitor/icons.json

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

* Update homeassistant/components/fritzbox_callmonitor/icons.json

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

---------

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2024-01-20 11:16:56 +01:00
Franck Nijhof b3017c0f4e Add scene icon translations (#108456) 2024-01-20 11:07:29 +01:00
Franck Nijhof dbaa02a5a8 Add event icon translations (#108453) 2024-01-20 11:06:41 +01:00
Franck Nijhof 576230da40 Add number icon translations (#108452) 2024-01-20 11:06:29 +01:00
Franck Nijhof a9723df96c Add image icon translations (#108455) 2024-01-20 11:05:53 +01:00
Franck Nijhof 206e6dfd62 Add sensor icon translations (#108450)
* Add sensor icon translations

* Add missing moisture
2024-01-20 11:05:16 +01:00
Franck Nijhof 5a56cf3922 Add datetime icon translations (#108449) 2024-01-20 11:04:14 +01:00
Franck Nijhof 4f7ce28cb8 Add date icon translations (#108448) 2024-01-20 11:03:57 +01:00
Franck Nijhof d3bb33bd50 Add climate icon translations (#108418) 2024-01-20 09:10:22 +01:00
Franck Nijhof 4a824284d6 Mark flaky fritz update test as xfail (#108447) 2024-01-20 08:51:23 +01:00
Franck Nijhof 2a58b6e56b Add light icon translations (#108414) 2024-01-20 08:35:49 +01:00
J. Nick Koston 52b5d2e370 Avoid json encoder default fallback when serializing config (#108360)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-01-19 19:22:17 -10:00
J. Nick Koston 3184d3b168 Bump thermopro-ble to 0.8.0 (#108319) 2024-01-19 17:56:35 -10:00
Franck Nijhof 89570a73a7 Add air_quality icon translations (#108420) 2024-01-19 22:50:11 -05:00
Franck Nijhof 16f6854f64 Update psutil to 5.9.8 (#108421) 2024-01-19 22:09:39 -05:00
Franck Nijhof 0f1cb8fa5c Add calendar icon translations (#108416) 2024-01-19 22:07:14 -05:00
Franck Nijhof 1e32f96b0c Add button icon translations (#108415) 2024-01-19 22:06:15 -05:00
Franck Nijhof fb17b451c7 Add alarm_control_panel icon translations (#108413)
* Add alarm_control_panel icon translations

* Nest services correctly
2024-01-19 22:05:00 -05:00
Sid b612fafb9b Use async_create_clientsession for enigma2 (#108395)
Use async_creeate_clientsession for enigma2
2024-01-19 22:04:03 -05:00
Steven Looman 2b389739d3 Bump async-upnp-client to 0.38.1 (#108382) 2024-01-19 16:48:08 -10:00
Joost Lekkerkerker 5d5a2d1381 Add icon translations to Aseko (#108398) 2024-01-19 20:29:52 +01:00
Joost Lekkerkerker 4f998acb78 Add icon translations to Ambient station (#108400) 2024-01-19 20:28:36 +01:00
Joost Lekkerkerker 94b39941e2 Add icon translations to Airthings BLE (#108401) 2024-01-19 20:11:19 +01:00
Joost Lekkerkerker 51dca66908 Add icon translations to AsusWRT (#108397) 2024-01-19 20:10:31 +01:00
Joost Lekkerkerker 3a6e640c73 Add icon translations to Airnow (#108403) 2024-01-19 20:09:12 +01:00
Joost Lekkerkerker 2f227677b6 Add icon translations to awair (#108408) 2024-01-19 20:08:34 +01:00
Joost Lekkerkerker 300b4f161c Add icon translations to Aussie Broadband (#108409) 2024-01-19 20:07:20 +01:00
Joost Lekkerkerker fff1fc8d19 Add icon translations to August (#108396) 2024-01-19 20:07:04 +01:00
Joost Lekkerkerker 4f4f22ba36 Add icon translations to Aurora (#108410) 2024-01-19 20:06:14 +01:00
Joost Lekkerkerker 5a1d447730 Add icon translations to AirQ (#108402) 2024-01-19 20:06:06 +01:00
Joost Lekkerkerker 86f34f8216 Add icon translations to Anova (#108399) 2024-01-19 20:05:56 +01:00
Marc Mueller 4e11001a08 Update boto3 to 1.33.13 and aiobotocore to 2.9.1 (#108384) 2024-01-19 19:39:59 +01:00
Marc Mueller 7e60979abe Improve tplink_lte typing (#108393) 2024-01-19 19:06:52 +01:00
Marc Mueller f0077ac27e Update coverage to 7.4.0 (#108370) 2024-01-19 17:09:51 +01:00
Franck Nijhof 01372024f5 Add icon translations support (#103294)
Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: Paul Bottein <paul.bottein@gmail.com>
2024-01-19 16:56:56 +01:00
Robert Resch ed449a5abd Add support for MQTT based ecovacs vacuums (#108167)
* Add support for MQTT based ecovacs vacuums

* renames

* Add init import test

* bump deebot-client

* Translate continent options

* Apply suggestions from code review

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

* Remove continent

* use ServiceValidationError

* Small refactoring

* Simplify

* Fix tests

* Enable strict typing for ecovacs

* Apply suggestions from code review

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

* Implement suggestions

* improve test_async_setup_import

* Implement suggestions

* Update homeassistant/components/ecovacs/config_flow.py

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

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-01-19 16:52:30 +01:00
Marc Mueller c1d6f740af Update types packages (#108371) 2024-01-19 16:36:44 +01:00
RJPoelstra 298b0d1105 Add binary sensor to MotionMount integration (#107659)
* Add binary sensor for `isMoving`

* Sort platforms alphabetically

* Update doc strings
2024-01-19 16:01:20 +01:00
Marc Mueller 4a0b6af8c1 Update dwdwfsapi to 1.0.7 (#108377) 2024-01-19 15:56:54 +01:00
Kevin Stillhammer 384b22c777 Expose TimeoutError during google_travel_time config_flow (#108179)
Expose TimeoutError during config_flow
2024-01-19 15:26:26 +01:00
Franck Nijhof cdf3c07488 Add icon to entity registry list for display (#108313) 2024-01-19 15:11:27 +01:00
Sid 2e56d7d048 Bump openwebifpy to 4.2.1 (#107894) 2024-01-19 15:10:54 +01:00
J. Nick Koston 4d69515849 Use shorthand attributes for mobile_app sensor platforms (#108353) 2024-01-19 14:41:32 +01:00
Marc Mueller 42154bd684 Improve ifttt typing (#108308) 2024-01-19 13:45:59 +01:00
J. Nick Koston 8c71abe421 Avoid json encoder default fallback for APIComponentsView (#108359) 2024-01-19 13:44:29 +01:00
Marc Mueller b07b952ae6 Enable strict typing for intent_script (#108367) 2024-01-19 13:37:33 +01:00
Marc Mueller d7a9b7a4ab Enable strict typing for map (#108368) 2024-01-19 13:36:44 +01:00
Marc Mueller e785b2f5bb Enable strict typing for my (#108369) 2024-01-19 13:35:12 +01:00
Marc Mueller c6f1c4f550 Enable strict typing for default_config (#108366) 2024-01-19 13:34:40 +01:00
Marc Mueller 15bd31e8d8 Enable strict typing for api (#108363) 2024-01-19 13:33:20 +01:00
Marc Mueller 7e0e306c1f Enable strict typing for bluetooth_adapters (#108365) 2024-01-19 13:18:05 +01:00
J. Nick Koston 78d7562b41 Avoid json default fallback for area registry (#108358) 2024-01-19 13:16:05 +01:00
Erik Montnemery 3f5f1bc2f6 Fix homekit_controller test (#108375) 2024-01-19 13:05:55 +01:00
J. Nick Koston 6d979d21a6 Bump orjson to 3.9.12 (#108350) 2024-01-19 11:36:48 +01:00
Maikel Punie 4abf286a96 Bump pyDuotecno to 2024.1.2 (#108314) 2024-01-19 11:25:51 +01:00
Bouwe Westerdijk 54f23ff143 Bump plugwise to v0.36.3 (#108347) 2024-01-19 11:23:04 +01:00
Marc Mueller bc2acb3c0e Improve ffmpeg* typing (#108092) 2024-01-19 08:46:34 +01:00
Marc Mueller 25b7bb4a4f Adjust require_admin decorator typing (#108306)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-01-18 14:12:14 -10:00
Marc Mueller a21d5b5858 Improve person typing (#108218) 2024-01-18 14:11:55 -10:00
Marc Mueller 94c8c71ffb Improve august typing (5) (#108332) 2024-01-19 01:09:52 +01:00
Marc Mueller 0206833cfd Improve august typing (4) (#108331) 2024-01-19 00:59:26 +01:00
Marc Mueller 6e8e14fbe2 Improve august typing (3) (#108329) 2024-01-19 00:14:49 +01:00
Kostas Chatzikokolakis 6e8d491dae Add iBeacon UUID allowlist (#104790) 2024-01-18 13:06:11 -10:00
Marc Mueller 7c6fe31505 Improve api typing (#108307) 2024-01-18 12:45:15 -10:00
Steve Easley a670ac25fd Fix remote control codes for jvc_projector (#108253)
Update dependency to add/fix remote codes
2024-01-18 23:36:57 +01:00
Marc Mueller 72667adeba Improve august typing (2) (#108327) 2024-01-18 23:24:41 +01:00
Marc Mueller 5f08e2a2d1 Improve august typing (1) (#108325) 2024-01-18 23:13:08 +01:00
Robert Resch edd7feaf10 Add task to install all requirements of an integration (#108262)
* Add task to install the requirements of an integration

* Gather recursive requirements

* Move valid_integration to util

* Apply suggestions from code review

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

* Implement suggestions

---------

Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2024-01-18 22:11:02 +01:00
J. Nick Koston c399cab427 Small speed up to checking core state (#107845) 2024-01-18 08:41:32 -10:00
Brett Adams 32b0bf6b4e Improve coordinator logic in Tessie to allow sleep (#107988)
* Poll status before state

* Tests
2024-01-18 17:40:36 +01:00
Erik Montnemery cdb798bec0 Don't always set first thread dataset as preferred (#108278)
* Don't always set first thread dataset as preferred

* Update tests

* Make clarifying comments clearer

* Call asyncio.wait with return_when=ALL_COMPLETED

* Update otbr test

* Update homeassistant/components/thread/dataset_store.py

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

* Update homeassistant/components/thread/dataset_store.py

---------

Co-authored-by: Stefan Agner <stefan@agner.ch>
2024-01-18 16:32:29 +01:00
Jonas Fors Lellky bfe21b33f0 Add coordinator to Flexit bacnet (#108295)
* Adds coordinator and base entity class

* Patch the coordinator

* Adds device property to base class

And refactors accordingly

* Use const instead of string

* Moves _attr_has_entity_name to base entity

* Argument as positional

* Use device_id from init
2024-01-18 15:45:56 +01:00
Joost Lekkerkerker c4f033e61c Add test for failed initialization in Flexit BACnet (#108294) 2024-01-18 14:55:44 +01:00
Jonas Fors Lellky 7d5a672ed1 Add tests to flexit_bacnet integration (#108291)
* Add fixture for update method

* Mock flexit_bacnet

* Adds test for climate

* Adds snapshot testing

* Adds test for init, refactor test for config flow
2024-01-18 14:37:43 +01:00
Josef Zweck 65abbe5369 Bump lmcloud to 0.4.35 (#108288)
bump lmcloud
2024-01-18 13:08:24 +01:00
Josef Zweck 83e0a7528d Add diagnostics to La Marzocco (#108240)
* add diagnostics

* make firmware section easier to read
2024-01-18 10:57:41 +01:00
Marc Mueller 3761d13915 Improve daikin typing (#108039) 2024-01-18 09:24:48 +01:00
Marc Mueller afcb7a26cd Enable strict typing for config (#108023) 2024-01-18 09:20:19 +01:00
J. Nick Koston 26cc6a5bb4 Add state caching to button entities (#108272) 2024-01-18 08:53:55 +01:00
J. Nick Koston 52e90b32df Avoid many replace calls in find_next_time_expression_time (#108273) 2024-01-18 08:44:40 +01:00
J. Nick Koston b4b041d4bf Small cleanups to the websocket api handler (#108274) 2024-01-18 08:39:49 +01:00
dependabot[bot] c656024365 Bump github/codeql-action from 3.23.0 to 3.23.1 (#108275) 2024-01-18 08:15:17 +01:00
J. Nick Koston 19258cb3df Fix benign typo in entity registry (#108270) 2024-01-18 07:45:44 +01:00
J. Nick Koston cfbfdf7949 Fix apple_tv IP Address not being updated from discovery (#107611) 2024-01-17 17:43:14 -10:00
mkmer 2d1c5d84f3 Remove unused variables in honeywell (#108252)
Remove unused configuration keys
2024-01-17 21:37:21 -05:00
mkmer 484584084a Allow multiple config entries in Honeywell (#108263)
* Address popping all entires when unloading

* optimize hass data
2024-01-17 21:35:53 -05:00
starkillerOG 154fe8631a Use cache update for WIFI blinds (#108224) 2024-01-17 21:34:18 -05:00
Robert Svensson 274d501bca Bump aiounifi to v69 to improve websocket logging (#108265) 2024-01-17 21:33:31 -05:00
puddly 867caab70a Speed up ZHA initialization and improve startup responsiveness (#108103)
* Limit concurrency of startup traffic to allow for interactive usage

* Drop `retryable_req`, we already have request retrying

* Oops, `min` -> `max`

* Add a comment describing why `async_initialize` is not concurrent

* Fix existing unit tests

* Break out fetching mains state into its own function to unit test
2024-01-17 18:36:28 -05:00
puddly 3ae858e3bf Bump ZHA dependency zigpy to 0.60.6 (#108266)
Bump zigpy to 0.60.6
2024-01-17 18:34:10 -05:00
Jan Bouwhuis f704a1a05a Remove legacy VacuumEntity base class support (#108189) 2024-01-17 23:19:49 +01:00
starkillerOG a27eea9b9f Bump reolink_aio to 0.8.7 (#108248) 2024-01-17 16:28:15 -05:00
Joakim Plate c827bba780 Let zigpy decide on default manufacturer id (#108257)
* zha: let cluster set default manufacturer id

* zha: allow forcing manufacturer id off
2024-01-17 15:42:20 -05:00
John Allen a385ca93bd Send target temp to Shelly TRV in F when needed (#108188) 2024-01-17 22:06:11 +02:00
Erwin Douna 97956702c9 Bump PyTado to 0.17.4 (#108255)
Bump to 17.4
2024-01-17 20:54:13 +01:00
Cyrill Raccaud 802f0da493 Switch for swiss_public_transport to unique_id instead of unique_entry (#107910)
* use unique_id instead of unique_entry

* move entry mock out of patch context
2024-01-17 19:08:33 +01:00
Marc Mueller 3d410a1d6e Improve systemmonitor generic typing (#108220) 2024-01-17 18:19:10 +01:00
Josef Zweck 64496b802a Fix state after La Marzocco update (#108244)
request a refresh from coordinator after update
2024-01-17 17:26:15 +01:00
Martin Hjelmare 9d5f714e29 Decrease fitbit logging verbosity on connection error (#108228)
* Add test for connection error

* Decrease fitbit connection error log verbosity
2024-01-17 07:07:02 -08:00
Jan Bouwhuis c47fb5d161 Remove deprecated redundant dry and fan modes from zwave_js climates (#108124)
Remove deprecated redundant dry and fan modes from zwave_js climates
2024-01-17 15:55:46 +01:00
Erik Montnemery 91815ed5f9 Assert default response from conversation trigger (#108231) 2024-01-17 15:47:06 +01:00
Josef Zweck 90f4900f2c Add button platform to La Marzocco (#108236)
* add button

* Update homeassistant/components/lamarzocco/button.py

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

* Update homeassistant/components/lamarzocco/strings.json

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

* update snapshot

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-01-17 15:20:24 +01:00
Josef Zweck ee44e9d4d6 Add update platform to La Marzocco (#108235)
* add update

* requested changes

* improve

* docstring

* docstring
2024-01-17 14:49:08 +01:00
Franck Nijhof 3eb1283fa5 Disable Python 3.12 incompatible integrations (#108163) 2024-01-17 14:47:03 +01:00
J. Nick Koston 15384f4661 Remove unused entity_sources argument from shared_attrs_bytes_from_event (#108210) 2024-01-17 08:45:04 -05:00
Josef Zweck 2cd828b2d0 Add number platform to La Marzocco (#108229)
* add number

* remove key entities

* remove key numbers

* rename entities

* rename sensors
2024-01-17 14:15:48 +01:00
Josef Zweck 74d53a4231 Add select platform to La Marzocco integration (#108222)
* add select

* change check, icons

* fix docstrings, use []
2024-01-17 13:21:33 +01:00
Marc Mueller 1b2a4d2bf3 Improve aurora typing (#108217) 2024-01-17 12:11:34 +01:00
G Johansson bdda38f274 Allow selecting camera in Trafikverket Camera (#105927)
* Allow selecting camera in Trafikverket Camera

* Final config flow

* Add tests

* Fix load_int

* naming
2024-01-17 11:54:13 +01:00
Josef Zweck e811cf1ae8 Add binary sensor platforms to La Marzocco (#108212)
* add sensor

* remove switch

* requested changes

* property instead of function

* add missing snapshot

* rename var, fixture

* add binary sensors

* reorder strings

* rename sensor

* switch to supported_fn
2024-01-17 11:42:22 +01:00
Josef Zweck a25653e167 Change the way an entity is supported in La Marzocco (#108216)
* refactor supported

* refactor supported
2024-01-17 11:07:43 +01:00
Christophe Gagnier 44f2b8e6a3 Implement TechnoVE integration (#106029)
* Implement TechnoVE integration

Only the basic sensors for now.

* Add technoVE to strict typing

* Implement TechnoVE PR suggestions

* Remove Diagnostic from TechnoVE initial PR

* Switch status sensor to Enum device class

* Revert zeroconf for adding it back in subsequent PR

* Implement changes from feedback in TechnoVE PR

* Update homeassistant/components/technove/models.py

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

* Update homeassistant/components/technove/sensor.py

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

* Update homeassistant/components/technove/models.py

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

* Remove unnecessary translation keys

* Fix existing technoVE tests

* Use snapshot testing for TechnoVE sensors

* Improve unit tests for TechnoVE

* Add missing coverage for technoVE config flow

* Add TechnoVE coordinator tests

* Modify device_fixture for TechnoVE from PR Feedback

* Change CONF_IP_ADDRESS to CONF_HOST for TechnoVE

* Update homeassistant/components/technove/config_flow.py

Co-authored-by: Sid <27780930+autinerd@users.noreply.github.com>

* Update homeassistant/components/technove/models.py

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

* Update homeassistant/components/technove/models.py

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

* Implement feedback from TechnoVE PR

* Add test_sensor_update_failure to TechnoVE sensor tests

* Add test for error recovery during config flow of TechnoVE

* Remove test_coordinator.py from TechnoVE

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Sid <27780930+autinerd@users.noreply.github.com>
2024-01-17 11:04:35 +01:00
Josef Zweck a8b67d5a0a Add sensor platform to La Marzocco integration (#108157)
* add sensor

* remove switch

* requested changes

* property instead of function

* add missing snapshot

* rename var, fixture
2024-01-17 09:12:49 +01:00
Brett Adams 3a26bc3ee0 Fix translation keys in Tessie (#108203) 2024-01-17 08:25:25 +01:00
dependabot[bot] db9312cf9c Bump actions/cache from 3.3.3 to 4.0.0 (#108209)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-17 08:23:35 +01:00
G Johansson d4f9ad9dd3 Create update coordinator for Systemmonitor (#106693) 2024-01-16 15:07:55 -10:00
Aaron Bach d5c1049bfe Remove unnecessary RainMachine entity description mixins (#108190) 2024-01-16 15:04:32 -10:00
Aaron Bach 9bbf098901 Remove unnecessary Ambient PWS entity description mixins (#108191) 2024-01-16 15:01:07 -10:00
Aaron Bach e553cf2241 Remove unnecessary AirVisual Pro entity description mixins (#108192) 2024-01-16 15:00:55 -10:00
Aaron Bach 70aff728fd Remove unnecessary Notion entity description mixins (#108194) 2024-01-16 15:00:45 -10:00
Aaron Bach 0a9ec1a351 Remove unnecessary PurpleAir entity description mixins (#108196) 2024-01-16 15:00:26 -10:00
Aaron Bach cc9b874be3 Remove unnecessary SimpliSafe entity description mixins (#108197) 2024-01-16 15:00:14 -10:00
Aaron Bach 858004628e Remove unnecessary OpenUV entity description mixins (#108195) 2024-01-16 15:00:00 -10:00
Jan-Philipp Benecke 10014838ef Dynamically map state class, device class and UoM in ZHA smart energy metering sensor (#107685)
* Dynamically map state class, device class and UoM in ZHA smart energy metering sensor

* Fix some state & device classes and add scaling

* Fix added imperial gallons tests

* Use entity description instead of custom class & add one entity to tests

* Apply code review suggestion

* Scale only when needed

* Revert "Scale only when needed"

This reverts commit a9e0403402.

* Avoid second lookup of entity description

* Change test to not mix sensor types
2024-01-17 00:40:00 +01:00
Aaron Bach f0a63f7189 Move Guardian coordinator to suggested location (#108182)
* Move Guardian coordinator to suggested location

* Fix coverage
2024-01-16 15:38:20 -07:00
Marc Mueller bee53f6004 Add decorator typing [yeelight] (#107598) 2024-01-16 23:18:30 +01:00
Aaron Bach 25f4fe4a85 Bump aiokafka to 0.10.0 (#108165) 2024-01-16 23:16:31 +01:00
J. Nick Koston d82abd93fb Bump dbus-fast to 2.21.1 (#108176) 2024-01-16 23:15:19 +01:00
Cyrille 030b1bc0e8 Upgrade python-mpd2 to v3.1.1 (#108143) 2024-01-16 23:01:01 +01:00
Klaas Schoute 0f185a9a09 Set minimal value for modules power - Forecast.solar (#108166) 2024-01-16 22:46:00 +01:00
Michael Hansen db81f4d046 Wyoming satellite ping and bugfix for local wake word (#108164)
* Refactor with ping

* Fix tests

* Increase test coverage
2024-01-16 15:43:30 -06:00
G Johansson 7dffc9f515 Remove config import from netatmo (#107972)
* Remove config import from netatmo

* Fix tests
2024-01-16 22:17:18 +01:00
Franck Nijhof 0a758882e1 Deprecate Python 3.11 (#108160) 2024-01-16 22:07:22 +01:00
G Johansson 0ba0f57439 Add entity name translations to System Monitor (#107952) 2024-01-16 21:39:03 +01:00
J. Nick Koston 60ab360fe7 Avoid bytes to string to bytes conversion in websocket api (#108139) 2024-01-16 21:37:34 +01:00
G Johansson ad35113e86 Remove config import in Neato (#107967)
Co-authored-by: jbouwh <jan@jbsoft.nl>
2024-01-16 21:08:05 +01:00
Joost Lekkerkerker bc9a85405e Delete removed channel devices in Youtube (#107907) 2024-01-16 21:06:58 +01:00
J. Nick Koston 6173bfe873 Cache commonly called Integration manifest properties (#108141) 2024-01-16 21:05:44 +01:00
Luke Lashley fa5af8f187 Add Translation for Roborock exceptions (#105427)
* add translations to exceptions

* Make errors more user understandable

* make command not ternary operator

* removed non-user facing exceptions

* Add user facing exceptions and code coverage

* add match

* fix linting

* Apply suggestions from code review

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

---------

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2024-01-16 21:00:20 +01:00
G Johansson 639f06843b Remove config import from surepetcare (#107971)
Co-authored-by: jbouwh <jan@jbsoft.nl>
2024-01-16 20:57:23 +01:00
Galorhallen ddaf194f91 Add Govee local light integration (#106697)
* Added govee_local_api

* Code cleanup

* Fix discovery

* Add missing supported device

* Fix autodiscovery

* Add missing quality scale in manifest.json

* QA

* QA: Moved coordinator creation to __init__.py

* QA

* Fix typo and update test

* QA

* Removed unecessary code

* Fix typo

* Fix typo

* QA, typing and strings

* Removed unsed logger in __init__.py

* QA, using ColorMode for lights capabilities

* Bump govee_local_api to 1.4.0

Moved capabilities to library.

* Update requirements

* Update library to 1.4.1 with unsupported dvice warning

* Fix tests after library update

* QA

* Add test for retry config

* Update integration name and domain

* Update homeassistant/components/govee_light_local/light.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-01-16 20:00:29 +01:00
Josef Zweck 95ed1ada50 Add late PR improvements to La Marzocco (#108162)
* add Martin's suggestions

* use password description

* fix for reauth + test

* fix invalid_auth test

* Update homeassistant/components/lamarzocco/config_flow.py

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

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-01-16 19:35:50 +01:00
Allen Porter b24222bd1d Add debugging to assist in debugging already configured error (#108134) 2024-01-16 17:05:35 +01:00
Sebastian Lövdahl d0f4780300 Bump vallox_websocket_api to 4.0.3 (#108109) 2024-01-16 17:04:44 +01:00
Jan Bouwhuis 3ff74fe20f Refactor demo vacuum's to only use StateVacuum base class and features (#108150)
* Demo cleanup

* Refactor vacuum demo to only use state vacuum base class

* Remove unneeded feature checks

* Remove exclusion issue for mqtt an demo
2024-01-16 16:44:12 +01:00
Josef Zweck 6bc36666b1 Add integration lamarzocco (#102291)
Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
Co-authored-by: Paul Bottein <paul.bottein@gmail.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: tronikos <tronikos@users.noreply.github.com>
Co-authored-by: Luke Lashley <conway220@gmail.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: dupondje <jean-louis@dupond.be>
2024-01-16 15:24:16 +01:00
Bouwe Westerdijk a874895a81 Add gateway_mode Select to Plugwise (#108019) 2024-01-16 14:35:09 +01:00
J. Nick Koston 3d595fff13 Avoid duplicate timestamp conversions for websocket api and recorder (#108144)
* Avoid duplicate timestamp conversions for websocket api and recorder

We convert the time from datetime to timestamps one per
open websocket connection and the recorder for every
state update. Only do the conversion once since its
~30% of the cost of building the state diff

* more

* two more

* two more in live history
2024-01-16 14:05:01 +01:00
Jan Bouwhuis 26058bf922 Add serial_number attribute to MQTT device properties (#108105) 2024-01-16 14:02:34 +01:00
David Bonnes 7deebf8817 Handle renaming of evohome zones (#108089) 2024-01-16 13:45:24 +01:00
max2697 d4739cfa5c Bump opower to 0.2.0 (#108067) 2024-01-16 13:43:19 +01:00
DellanX 04bc8e09a5 Default tuya climate temperature unit to system unit (#108050) 2024-01-16 13:40:11 +01:00
Joakim Plate 523352c97e Avoid keeping config dir in path (#107760) 2024-01-16 13:38:47 +01:00
Robert Resch 7fe6fc987b Add config flow for Ecovacs (#108111)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-01-16 13:31:42 +01:00
Jan Bouwhuis 3e72c346b7 Remove MELCloud YAML import support (#108113) 2024-01-16 13:29:26 +01:00
G Johansson fa2f9eac1a Remove config import in meteo_france (#107970)
Co-authored-by: jbouwh <jan@jbsoft.nl>
2024-01-16 13:27:49 +01:00
Jan Bouwhuis b46d0fb07c Remove YAML import support for plum_lightpad (#108114) 2024-01-16 13:13:33 +01:00
Aaron Bach ef7ebcffd6 Bump aioridwell to 2024.01.0 (#108126) 2024-01-16 13:10:09 +01:00
J. Nick Koston 549ff6ddc6 Enable compression on frontend index page (#108148) 2024-01-16 13:06:21 +01:00
Willem-Jan van Rootselaar 09234ca3af Update python-bsblan version to 0.5.18 (#108145) 2024-01-16 13:05:58 +01:00
G Johansson ef49e8a82f Bump holidays to 0.41 (#108132) 2024-01-16 12:13:41 +01:00
Michael 7942e9e3fe bump pyfritzhome to 0.6.10 (#108128) 2024-01-16 11:10:03 +01:00
Pedro Lamas 6cab4486f7 Fix loading empty yaml files with include_dir_named (#107853) 2024-01-16 10:23:04 +01:00
Paarth Shah 5afe155cd9 Fix MatrixBot not resolving room aliases per-command (#106347) 2024-01-16 10:07:51 +01:00
Jan-Philipp Benecke 28281523ec Add pylint plugin to check for sorted platforms list (#108115) 2024-01-16 09:47:53 +01:00
Erik Montnemery fb24e086b2 Hide FlowResultType.SHOW_PROGRESS_DONE from frontend (#107799)
* Hide FlowResultType.SHOW_PROGRESS_DONE from frontend

* Update tests
2024-01-16 09:04:27 +01:00
Jan-Philipp Benecke af6ad6be41 Remove deprecated vacuum services from tuya (#107896) 2024-01-16 08:51:57 +01:00
cnico 562798f037 Bump flipr-api to 1.5.1 (#108130)
Flipr-api version update for resolution of issue https://github.com/home-assistant/core/issues/105778
2024-01-16 06:56:54 +01:00
Leendert Gravendeel 5011a25ea6 Add Epion integration (#107570)
* Adding initial Epion Air integration logic

* Skipping sensors with missing data

* Patching Epion integration

* Adding additional Epion measurement types

* Cleaning up logging

* Cleaning up code

* Fixing error handling for invalid Epion keys

* Adding tests and improving error handling

* Patching Epion tests

* Cleaning up Epion integration code

* Bumping Epion package and including missing files

* Moving data updates to coordinator and addressing feedback

* Improve exception handling

* Exposing model name and firmware version

* Cleaning up code according to review

* Cleaning up code according to review

* Adding check to prevent duplicate account setup

* Refactoring tests and checking for duplicates

* Cleaning up test code according to review

* Cleaning up test code

* Removing entity name overrides

* Fix code format for tests

* Adding missing newlines in JSON files

* Fixing formatting

* Updating device method to always return a device

* Updating coordinator
2024-01-16 06:39:50 +01:00
Marc Mueller e8b962ea89 Improve risco typing (#108041) 2024-01-15 23:32:58 +01:00
Marc Mueller 369ed5b701 Improve typing for the generic integration (#108094) 2024-01-15 23:11:46 +01:00
Marc Mueller f28f2e4ed4 Improve google_translate typing (#108093) 2024-01-15 23:11:03 +01:00
Marc Mueller c2dec8f84f Improve electric_kiwi generic typing (#108084) 2024-01-15 23:09:09 +01:00
Joost Lekkerkerker b9e532cbb3 Use compat for supported features in media player (#108102) 2024-01-15 20:33:30 +01:00
Jan Bouwhuis 1a4d1907c9 Make ATTR_SERIAL_NUMBER a generic homeassistant constant (#108106) 2024-01-15 20:33:15 +01:00
Shay Levy 28e18ce7bf Fix Shelly Gen1 entity description restore (#108052)
* Fix Shelly Gen1 entity description restore

* Update tests/components/shelly/test_sensor.py

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

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-01-15 20:53:56 +02:00
G Johansson 3bc20a072a Fix test_sensor_process_fails test in System Monitor (#108110) 2024-01-15 19:46:28 +01:00
G Johansson 5b3e1306f8 Add tests for System Monitor (#107891)
* Add tests

* no coordinator

* Coverage

* processes

* test init

* util

* test icon

* Add tests

* Mod tests

* Add tests

* Test attributes

* snapshots

* icon

* test disk mounts

* fixes

* svmem

* cache_clear

* test icon

* reset icon test

* test_processor_temperature

* fix tests on macos

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-01-15 18:26:49 +01:00
G Johansson 749ef45727 Add availability to command_line (#105300)
* Add availability to command_line

* Add tests

* freezer
2024-01-15 18:20:34 +01:00
Marc Mueller 6a9fdaae7a Enable strict typing for onboarding (#108097) 2024-01-15 16:53:24 +01:00
Grant 5dde45e01f Fix comment for SmartThings fan capability (#108086)
* Fix the fan to support preset modes

* Add more tests and fix some comments

* Don't override inherited member

* Don't check for supported feature as the check is already performed before here

* Do not check for feature on properties

* Update homeassistant/components/smartthings/fan.py

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

* Fix tests

* Fix comment

* Break line

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-01-15 13:53:16 +01:00
Robert Resch ede6e01808 Bump Jinja2 to 3.1.3 (#108082) 2024-01-15 12:10:17 +01:00
David Bonnes 7f619579fa Harden zone schedule processing for evohome (#108079) 2024-01-15 11:24:55 +01:00
Marc Mueller 4d7186b6e6 Improve ffmpeg and freebox typing (#108026) 2024-01-15 11:23:26 +01:00
Jan-Philipp Benecke bd37d3776b Set webhook local_only to True by default (#107670) 2024-01-15 11:09:40 +01:00
Marcel van der Veldt 52acc4bbab Fix turning on the light with a specific color (#108080) 2024-01-15 11:08:38 +01:00
Cody C 5cc1a761dd Fix malformed user input error on MJPEG config flow (#108058) 2024-01-15 09:41:44 +01:00
David Bonnes dd2527db5b Bump evohome client to 0.4.17 (#108051) 2024-01-15 09:40:01 +01:00
Erik Montnemery c3e8e931e6 Deprecate passing step_id to FlowHandler methods (#107944) 2024-01-15 09:37:57 +01:00
Marc Mueller f968b43f6a Improve gdacs typing (#108040) 2024-01-15 09:32:30 +01:00
Marc Mueller 84038fb119 Enable strict typing for generic_thermostat (#108024) 2024-01-15 09:19:50 +01:00
Michael 9bca09a513 Remove obsolete .txt extension from diagnostics download (#108028) 2024-01-15 09:17:05 +01:00
Erik Montnemery aa3e172a65 Bump pychromecast to 13.1.0 (#108073) 2024-01-15 09:10:09 +01:00
Marc Mueller 16f110658c Enable strict typing for duckdns (#108022) 2024-01-15 09:09:57 +01:00
Marc Mueller 5bde007048 Enable strict typing for prometheus (#108025) 2024-01-15 09:07:12 +01:00
Jan Bouwhuis 45acd56861 Remove YAML auth setup support from home_connect (#108072) 2024-01-15 09:00:59 +01:00
Keilin Bickar 9d47e1983e Update asyncsleepiq to 1.4.2 (#108054) 2024-01-14 20:55:02 -10:00
Ståle Storø Hauknes 76a1e97947 Update framework for Airthings cloud (#107653)
* Upgrade framework

* Improve code for model name
2024-01-14 21:22:27 +01:00
J. Nick Koston b47861d973 Update shelly bluetooth scanner to version 2.0 (#107917) 2024-01-14 09:44:42 -10:00
jjlawren c4fd45ef97 Bump SoCo to 0.30.2 (#108033) 2024-01-14 14:19:36 -05:00
Erik Montnemery 00165fef5b Improve the test class used for testing FlowManager.async_show_progress (#107786)
* Improve the test class used for testing FlowManager.async_show_progress

* Address review comments
2024-01-14 18:39:45 +01:00
G Johansson 7a6dca0987 Sensibo include mac in diagnostics redact filter (#107986)
* Add mac to redaction in Sensibo diagnostics

* Add full snapshot

* use constant
2024-01-14 15:34:14 +01:00
wittypluck d94421e1a4 Reset UniFi bandwidth sensor when client misses heartbeat (#104522)
* Reset UniFi bandwidth sensor when client misses heartbeat

* Fix initialization sequence

* Code simplification: remove heartbeat_timedelta, unique_id and tracker logic

* Add unit tests

* Remove unused _is_connected attribute

* Remove redundant async_initiate_state

* Make is_connected_fn optional, heartbeat detection will only happen if not None

* Add checks on is_connected_fn
2024-01-14 15:19:43 +01:00
J. Nick Koston 1cdfb06d77 Add cached_property to State.name (#108011) 2024-01-14 11:50:40 +01:00
Jan-Philipp Benecke 7c848d78ab Remove deprecated services from Litterrobot (#107882) 2024-01-14 11:50:12 +01:00
Tobias Sauerwein f808c2ff14 Add Netatmo fan platform (#107989)
* Add fan platform

to support NLLF centralized ventilation devices

* Update tests/components/netatmo/test_fan.py

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

* Update tests/components/netatmo/test_fan.py

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

* Update tests/components/netatmo/test_fan.py

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

* Update tests/components/netatmo/test_fan.py

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

* add snapshots

* update snapshot

* fix docstring

* address comment

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-01-14 11:47:20 +01:00
Franck Nijhof acbc2350d0 Update sentry-sdk to 1.39.2 (#108010) 2024-01-14 11:45:31 +01:00
Numa Perez 5d8bf86279 Fix lyric TCC set temperature when in Auto mode (#106853) 2024-01-14 11:29:03 +01:00
Numa Perez 75ba879c34 Fix autoChangeoverActive for lyric LCC devices (#106925) 2024-01-14 11:27:48 +01:00
Bouwe Westerdijk b034d6d0a1 Bump plugwise to v0.36.2 (#108012) 2024-01-14 11:25:45 +01:00
Tobias Sauerwein 10d5382ae6 Dynamically adjust Netatmo polling frequency (#106742) 2024-01-14 11:22:02 +01:00
Joost Lekkerkerker 965499dd90 Add entity translations to Glances (#107189) 2024-01-14 11:12:30 +01:00
Erik Montnemery 5e79cd8715 Remove file/line annotations after config has been validated (#107139) 2024-01-14 11:07:39 +01:00
Erik Montnemery 7fc3f8e473 Improve calls to async_show_progress in octoprint (#107792) 2024-01-14 11:06:35 +01:00
Erik Montnemery 1c9764bc44 Improve calls to async_show_progress in snooz (#107793) 2024-01-14 11:00:10 +01:00
mkmer e12dcfc1b4 Fix wifi sensor units in Blink (#107539) 2024-01-14 10:59:04 +01:00
Franck Nijhof 51cdb4ce36 Update pipdeptree to 2.13.2 (#108009) 2024-01-14 10:58:17 +01:00
J. Nick Koston 99b6c7d25f Refactor async_track_utc_time_change to avoid using nonlocal (#108007) 2024-01-14 10:57:54 +01:00
Erik Montnemery 3895defff9 Improve calls to async_show_progress in homeassistant_hardware (#107789) 2024-01-14 10:41:44 +01:00
Sam Reed bca629ed31 Drop facebox integration (#107005) 2024-01-14 10:40:05 +01:00
Jan-Philipp Benecke c86b45b454 Remove deprecated vacuum service from roborock (#107895) 2024-01-14 09:57:17 +01:00
Marc Mueller 01204356fa Enable strict typing for timer (#107915) 2024-01-14 09:40:14 +01:00
Marc Mueller ec708811d0 Enable strict typing for trace (#107945) 2024-01-14 09:39:22 +01:00
Marc Mueller 88d7fc87c9 Enable strict typing for shopping_list (#107913) 2024-01-14 09:38:53 +01:00
Erik Montnemery d4cb055d75 Improve calls to async_show_progress in improv_ble (#107790) 2024-01-14 09:37:54 +01:00
J. Nick Koston 93d363ea57 Improve apple_tv typing (#107694) 2024-01-14 09:37:04 +01:00
Jan Bouwhuis 4b8d8baa69 Remove deprecated YAML import from generic camera (#107992) 2024-01-14 09:36:00 +01:00
Jan Bouwhuis f48d057307 Remove YAML support from gdacs (#107962) 2024-01-14 09:03:00 +01:00
Brett Adams 8b4d99f7d2 Add route sensors to Tessie (#106530)
* keys may be missing at startup

* Add route sensors and tracker location

* Fix keys and add translation

* Allow a sensor to have no value

* Move attribute to sensor

* Remove state attribute string
2024-01-14 08:08:54 +01:00
J. Nick Koston 07810926d0 Update habluetooth to 2.2.0 (#108000)
* Update habluetooth to 2.2.0

* fixes

* lib
2024-01-13 23:50:47 -05:00
J. Nick Koston da9fc77333 Save the HassJob type in wemo discovery to avoid checking it each time (#107998) 2024-01-13 23:50:21 -05:00
J. Nick Koston 8d3f693907 Avoid useless time fetch in DataUpdateCoordinator (#107999)
* Avoid useless time fetch in DataUpdateCoordinator

Since we used the async_call_at helper, it would always call dt_util.utcnow()
to feed the _handle_refresh_interval which threw it away. This meant we had
to fetch time twice as much as needed for each update

* tweak

* compat

* adjust comment
2024-01-13 23:40:07 -05:00
J. Nick Koston 9033f1f3e8 Break long lines in powerwall integration (#108002) 2024-01-14 04:22:17 +01:00
J. Nick Koston 659ee51914 Refactor event time trackers to avoid using nonlocal (#107997) 2024-01-13 17:17:55 -10:00
J. Nick Koston e7c25d1c36 Migrate powerwall unique ids to use the gateway din (#107509) 2024-01-13 16:17:37 -10:00
J. Nick Koston e4a15354f4 Fix logger creating many thread locks when reloading the integrations page (#93768)
* Fix logger creating many thread locks

We call getLogger for each integration to get the current
log level when loading the integrations page. This creates
a storm of threading locks

* fixes
2024-01-13 21:11:34 -05:00
J. Nick Koston d8564eba17 Bump lxml to 5.1.0 (#106696)
* Bump lxml to 5.0.0

cython 3.0.7+ is required ?

* bump

* Apply suggestions from code review

* 5.1.0
2024-01-13 21:08:42 -05:00
J. Nick Koston 454c62b5b4 Avoid total_seconds conversion every state write when context is set (#107617) 2024-01-13 21:04:32 -05:00
J. Nick Koston bc2738c3a1 Avoid entity registry check in live logbook on each state update (#107622)
Avoid entity registry fetch in live logbook

There is no need to check the entity registry for the
state class since we already have the state
2024-01-13 21:04:04 -05:00
J. Nick Koston f1228a1cfb Add H5106 support to govee-ble (#107781)
* Bump govee-ble to 0.27.0

changelog: https://github.com/Bluetooth-Devices/govee-ble/compare/v0.26.0...v0.27.0

note: H5106 is partially supported, full support will be added in another PR + docs

* .1

* Add Govee H5106 support

* 0.27.2

* commit the tests
2024-01-13 21:02:38 -05:00
J. Nick Koston 9c82df4b98 Fix duplicate config entry additions in tests (#107984)
zha and plex still add the same config entry multiple times
but they are going to need seperate PRs as they have more
complex logic
2024-01-13 21:01:18 -05:00
Marc Mueller 3c1e2e17a0 Use prometheus_client module directly (#107918) 2024-01-14 02:56:22 +01:00
Dorian Benech 2584de6324 Add TICMeter Energy Metering sensors (#107956) 2024-01-13 16:53:53 -05:00
Simone Chemelli ef8d394c16 Update sleep period for Shelly devices with buggy fw (#107961)
* update sleep period for Shelly devices with buggy fw

* code quality

* update model list

* add test

* Apply review comments

* fix test

* use costant
2024-01-13 22:33:02 +01:00
puddly b0adaece25 Reload ZHA only a single time when the connection is lost multiple times (#107963)
* Reload only a single time when the connection is lost multiple times

* Ignore when reset task finishes, allow only one reset per `ZHAGateway`
2024-01-13 16:32:25 -05:00
J. Nick Koston 6ada825805 Use faster is_admin check for websocket state and event subscriptions (#107621) 2024-01-13 10:42:41 -10:00
Marc Mueller 5e79a0e583 Enable strict typing for search (#107912) 2024-01-13 10:40:50 -10:00
J. Nick Koston 3649cb96de Refactor config entry storage and index (#107590) 2024-01-13 10:34:15 -10:00
J. Nick Koston 2c6aa80bc7 Use more shorthand attributes in ESPHome fans (#107923) 2024-01-13 15:28:43 -05:00
J. Nick Koston 5a198e05ad Small cleanups to ESPHome (#107924)
- Remove unused variables
- Remove unneeded static info lookups
2024-01-13 15:27:58 -05:00
J. Nick Koston b1d0c6a4f1 Refactor User attribute caching to be safer and more efficient (#96723)
* Cache construction of is_admin

This has to be checked for a lot of api calls and the websocket
every time the call is made

* Cache construction of is_admin

This has to be checked for a lot of api calls and the websocket
every time the call is made

* Cache construction of is_admin

This has to be checked for a lot of api calls and the websocket
every time the call is made

* modernize

* coverage

* coverage

* verify caching

* verify caching

* fix type

* fix mocking
2024-01-13 15:10:50 -05:00
J. Nick Koston d7910841ef Add an index for devices and config entries to the entity registry (#107516)
* Add an index for devices and config entries to the entity registry

* fixes

* tweak

* use a list for now since the tests check order
2024-01-13 14:49:41 -05:00
G Johansson 5d3e069655 Don't load entities for docker virtual ethernet interfaces in System Monitor (#107966) 2024-01-13 20:39:34 +01:00
J. Nick Koston 852a73267f Fix atag test mutating config entry after its adding to hass (#107603) 2024-01-13 20:34:49 +01:00
Marc Mueller 9221f5da10 Enable strict typing for webhook (#107946) 2024-01-13 09:08:26 -10:00
Antoni Czaplicki ca421d4f86 Add support for Uonet+ Vulcan integration on Python 3.12 (#107959)
* Bump vulcan-api to 2.3.2

* Enable vulcan integration on Python 3.12

* Stop skipping tests for vulcan integration on Python 3.12
2024-01-13 19:58:02 +01:00
Daniel Gangl d5c3c19d12 Bump zamg to 0.3.5 (#107939) 2024-01-13 19:53:28 +01:00
J. Nick Koston 1cf96a6558 Remove useless _update function in ESPHome (#107927)
This function is never overwritten so we can remove it
2024-01-13 19:39:27 +01:00
Brett Adams 6cbf1da76a Add charge cable lock to Tessie (#107212)
* Add cable lock

* Translate exception

* Use ServiceValidationError
2024-01-13 19:03:10 +01:00
J. Nick Koston 7db8a52c23 Bump aiohomekit to 3.1.3 (#107929)
changelog: https://github.com/Jc2k/aiohomekit/compare/3.1.2...3.1.3

fixes maybe #97888
2024-01-13 18:27:52 +01:00
Michael Arthur b1a246b817 Add account sensors to electric kiwi integration (#97681)
* add account sensors

* tidy up same issues as other sensors

* add unit tests for sensors

edit and remove comments

assert state and remove HOP sensor types since they aren't being used

* try and fix tests

* add frozen true

* Update tests/components/electric_kiwi/test_sensor.py

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

* return proper native types

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

* tidy up attr unique id

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

* add entities once and use native values properly

* Improve conftest

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

* tidy tests/components/electric_kiwi/test_sensor.py

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

* add assert to component_setup

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

* add extra parameters to test

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

* Update tests/components/electric_kiwi/test_sensor.py

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

* Update tests/components/electric_kiwi/test_sensor.py

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

* change coordinator name

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

* tidy up sensor translation names

* Apply suggestions from code review

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-01-13 18:12:40 +01:00
Grant 8395d84bbb Add fan mode support to SmartThings fan entity (#106794)
* Fix the fan to support preset modes

* Add more tests and fix some comments

* Don't override inherited member

* Don't check for supported feature as the check is already performed before here

* Do not check for feature on properties

* Update homeassistant/components/smartthings/fan.py

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

* Fix tests

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-01-13 17:25:26 +01:00
Jan Rieger 058759c76a Bump python-holidays to 0.40 (#107888) 2024-01-13 17:21:49 +01:00
Marc Mueller 0cc43d0915 Enable strict typing for xiaomi_ble (#107948) 2024-01-13 16:57:54 +01:00
Arie Catsman 45fec1d404 Bump pyenphase to 1.17.0 (#107950) 2024-01-13 16:53:48 +01:00
G Johansson 1d2c23d81c Skip disk types in System Monitor (#107943)
* Skip disk types in System Monitor

* change back
2024-01-13 14:34:24 +01:00
G Johansson c49246dd07 Fix duplicate unique id in System Monitor (again) (#107947)
Fix duplicate unique id in System Monitor
2024-01-13 13:48:02 +01:00
Erik Montnemery 24c23d7323 Warn if integrations call async_show_progress without passing a task (#107796) 2024-01-13 11:56:05 +01:00
Joost Lekkerkerker 9471f81a18 Give name to Netatmo device snapshots (#107938) 2024-01-13 11:09:47 +01:00
Joost Lekkerkerker f601104418 Snapshot Netatmo devices (#107935) 2024-01-13 10:59:36 +01:00
Joost Lekkerkerker 902619a4db Add snapshot tests to Netatmo platforms (#107932)
* Add snapshot tests to Netatmo platforms

* Add snapshot tests to Netatmo platforms
2024-01-13 10:18:21 +01:00
J. Nick Koston 0458bd68d9 Avoid duplicate search for existing config entries in homekit_controller (#107613) 2024-01-12 22:11:42 -10:00
Marc Mueller 7c98c1e544 Enable strict typing for rest_command (#107911) 2024-01-13 08:48:42 +01:00
Marc Mueller ca1aaacc90 Enable strict typing for system_log (#107914) 2024-01-12 21:21:11 -10:00
Joost Lekkerkerker 7bcfcfef5f Improve Netatmo tests (#107902)
* Improve Netatmo tests

* Improve Netatmo tests
2024-01-12 23:27:31 +01:00
Jan-Philipp Benecke 68698cacac Remove deprecated YAML support from litejet (#107884) 2024-01-12 16:50:15 -05:00
J. Nick Koston 71aecab38b Revert "Restrict Version Disclosure to Authenticated Requests in Home Assistant" (#107904) 2024-01-12 11:06:59 -10:00
J. Nick Koston a7d21c709d Bump orjson to 3.9.10 (#107898) 2024-01-12 11:06:44 -10:00
J. Nick Koston 3a4c64b0a7 Fix missing timeout exception check in powerwall config flow (#107899)
* Fix missing timeout exception check in powerwall config flow

powerwall recently switched to asyncio, and every place we
check for unreachable we need to check for timeout error.
There was one missed

```
09:08 homeassistant homeassistant[546]: 2024-01-12 10:09:08.899 ERROR (MainThread) [homeassistant.components.powerwall.config_flow] Unexpected exception
Jan 12 20:09:08 homeassistant homeassistant[546]: Traceback (most recent call last):
Jan 12 20:09:08 homeassistant homeassistant[546]:   File "/usr/src/homeassistant/homeassistant/components/powerwall/config_flow.py", line 168, in _async_try_connect
Jan 12 20:09:08 homeassistant homeassistant[546]:     info = await validate_input(self.hass, user_input)
Jan 12 20:09:08 homeassistant homeassistant[546]:            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jan 12 20:09:08 homeassistant homeassistant[546]:   File "/usr/src/homeassistant/homeassistant/components/powerwall/config_flow.py", line 76, in validate_input
Jan 12 20:09:08 homeassistant homeassistant[546]:     site_info, gateway_din = await _login_and_fetch_site_info(
Jan 12 20:09:08 homeassistant homeassistant[546]:                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jan 12 20:09:08 homeassistant homeassistant[546]:   File "/usr/src/homeassistant/homeassistant/components/powerwall/config_flow.py", line 43, in _login_and_fetch_site_info
Jan 12 20:09:08 homeassistant homeassistant[546]:     await power_wall.login(password)
Jan 12 20:09:08 homeassistant homeassistant[546]:   File "/usr/local/lib/python3.12/site-packages/tesla_powerwall/powerwall.py", line 58, in login
Jan 12 20:09:08 homeassistant homeassistant[546]:     return await self.login_as(User.CUSTOMER, password, email, force_sm_off)
Jan 12 20:09:08 homeassistant homeassistant[546]:            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jan 12 20:09:08 homeassistant homeassistant[546]:   File "/usr/local/lib/python3.12/site-packages/tesla_powerwall/powerwall.py", line 49, in login_as
Jan 12 20:09:08 homeassistant homeassistant[546]:     response = await self._api.login(user, email, password, force_sm_off)
Jan 12 20:09:08 homeassistant homeassistant[546]:                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jan 12 20:09:08 homeassistant homeassistant[546]:   File "/usr/local/lib/python3.12/site-packages/tesla_powerwall/api.py", line 172, in login
Jan 12 20:09:08 homeassistant homeassistant[546]:     return await self.post(
Jan 12 20:09:08 homeassistant homeassistant[546]:            ^^^^^^^^^^^^^^^^
Jan 12 20:09:08 homeassistant homeassistant[546]:   File "/usr/local/lib/python3.12/site-packages/tesla_powerwall/api.py", line 146, in post
Jan 12 20:09:08 homeassistant homeassistant[546]:     response = await self._http_session.post(
Jan 12 20:09:08 homeassistant homeassistant[546]:                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jan 12 20:09:08 homeassistant homeassistant[546]:   File "/usr/local/lib/python3.12/site-packages/aiohttp/client.py", line 601, in _request
Jan 12 20:09:08 homeassistant homeassistant[546]:     await resp.start(conn)
Jan 12 20:09:08 homeassistant homeassistant[546]:   File "/usr/local/lib/python3.12/site-packages/aiohttp/client_reqrep.py", line 960, in start
Jan 12 20:09:08 homeassistant homeassistant[546]:     with self._timer:
Jan 12 20:09:08 homeassistant homeassistant[546]:   File "/usr/local/lib/python3.12/site-packages/aiohttp/helpers.py", line 735, in __exit__
Jan 12 20:09:08 homeassistant homeassistant[546]:     raise asyncio.TimeoutError from None
Jan 12 20:09:08 homeassistant homeassistant[546]: TimeoutError

```

* cov
2024-01-12 21:39:27 +01:00
Xitee 86e608d04f Handle missing fields from Roomba (#107893)
Add default values to mission_stats and run_stats
2024-01-12 21:35:09 +01:00
steffenrapp d0e9e54f26 Extend Nuki integration to expose ringer through Nuki Opener (#107745)
* Expose ring_action_state and ring_action_timestamp of Nuki Opener

* add translation key

* address comments
2024-01-12 18:45:02 +01:00
Bram Kragten 28917011cb Update frontend to 20240112.0 (#107886) 2024-01-12 17:56:43 +01:00
Malte Franken e840824a6e Bump aio_geojson_generic_client to 0.4 (#107866) 2024-01-12 15:50:42 +01:00
Marc Mueller a9420bf05a Enable strict typing for ios (#107382) 2024-01-12 14:43:17 +01:00
Ernst Klamer 0257cd8bbe Bump xiaomi-ble to 0.21.2 (#107779) 2024-01-12 13:29:15 +01:00
Marc Mueller 8e83356ccb Add decorator typing [spotify] (#107560) 2024-01-12 12:58:19 +01:00
Marc Mueller 93dc0b9029 Enable strict typing for ecowitt (#107861) 2024-01-12 12:57:19 +01:00
Marc Mueller b1f1ecb40a Improve meteo_france typing (#107863) 2024-01-12 12:56:40 +01:00
Marc Mueller 7e28c788cb Enable strict typing for bthome (#107859) 2024-01-12 12:56:13 +01:00
Cyrill Raccaud 96a9ebf137 Fix missing unique_id for spt integration (#107087)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-01-12 12:55:09 +01:00
Marc Mueller e36141a4bc Improve onboarding provider call (#107864) 2024-01-12 12:41:37 +01:00
Marc Mueller 7023ac7366 Enable strict typing for cert_expiry (#107860) 2024-01-12 12:32:17 +01:00
Peter Winkler 2508b55b0f Add myUplink integration (#86522)
* First checkin for myUplink

* Refactored coordinator and sensor state classe

* Updated .coveragerc

* Update test_config_flow

* Fix test_config_flow for myuplink

* Only set state class for temperature sensor

* PR comment updates

* Type strong dict

* use asyncio.timeouts

* PR updates (part 1)

* Updated to myuplink 0.0.9

* Add strict typing

* Fix typing

* Inherit CoordinatorEntity

* Clean up coordinator and sensors

* Use common base entity

* Improve device point sensor

* Exclude entity from coverage

* Set device point entity name if there's no entity description

* Update homeassistant/components/myuplink/sensor.py

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

* Update homeassistant/components/myuplink/entity.py

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

* Update homeassistant/components/myuplink/entity.py

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

* Remvoed firmware + connstate sensors

* Always add device point parameter name

* Removed MyUplinkDeviceSensor

* Removed unused class

* key="celsius",

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-01-12 12:17:07 +01:00
Marc Mueller c1faafc6a0 Add decorator typing [zha] (#107599) 2024-01-12 11:42:10 +01:00
Marc Mueller 827a1b1f48 Add decorator typing [homematicip_cloud] (#107555) 2024-01-12 11:32:03 +01:00
Marc Mueller bec88e5e51 Add decorator typing [izone] (#107556) 2024-01-12 11:31:08 +01:00
Joost Lekkerkerker 68ddc1481e Rename netatmo base entity file (#107857) 2024-01-12 11:30:34 +01:00
Tobias Sauerwein 87b694298f Revert "Fix Netatmo camera name does not show under Media -> Media sources -> Camera" (#107856) 2024-01-12 11:30:23 +01:00
Marc Mueller c9befe8700 Add decorator typing [limitlessled] (#107557) 2024-01-12 11:30:07 +01:00
Jonas Fors Lellky 668fc442e9 Set max and min temp for flexit_bacnet climate entity (#107665)
107655: Set max and min temp for flexit_bacnet climate entity
2024-01-12 10:52:17 +01:00
Simone Chemelli 8d5cdfaf36 Fix reauth flow for Comelit VEDO (#107461) 2024-01-12 10:32:35 +01:00
Kevin Worrel ee9c6fa0d8 Fix for exception in screenlogic.set_color_mode (#107850) 2024-01-12 10:30:55 +01:00
J. Nick Koston 4b7a313ece Use identity checks for CoreState (#107846)
Some of the checks used ==, and some used is. Switch
everything to is as its faster
2024-01-12 10:21:26 +01:00
J. Nick Koston b12291633c Fix ld2410_ble not being able to setup because it has a stale connection (#107754) 2024-01-12 09:56:52 +01:00
Simone Chemelli 79254c6867 Fix "not-logged" edge cases for Comelit VEDO (#107741) 2024-01-12 09:56:13 +01:00
Erik Montnemery e7628d23d2 Don't include position in binary valve attributes (#107531) 2024-01-12 09:55:28 +01:00
Martin Hjelmare f8318bbbc7 Fix cloud tts loading (#107714) 2024-01-12 09:47:08 +01:00
J. Nick Koston ce11366b9c Bump bluetooth deps (#107816) 2024-01-12 09:45:49 +01:00
J. Nick Koston fb0dad66db Add jinja_pass_arg to reserved template names (#107822) 2024-01-12 09:34:49 +01:00
Mikail Tunç 46a06bc8cd Restrict Version Disclosure to Authenticated Requests in Home Assistant (#107458) 2024-01-12 09:34:18 +01:00
J. Nick Koston bef596d0dd Migrate unifiprotect descriptions to be kw_only (#107832) 2024-01-12 09:33:33 +01:00
J. Nick Koston b6dfa1fa7c Bump nexia to 2.0.8 (#107835) 2024-01-12 09:32:38 +01:00
dependabot[bot] 72618c1bf2 Bump github/codeql-action from 3.22.12 to 3.23.0 (#107628)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-12 09:31:13 +01:00
dependabot[bot] 751b459f80 Bump actions/cache from 3.3.2 to 3.3.3 (#107840)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-12 09:26:01 +01:00
J. Nick Koston 6612de9a6d Bump govee-ble to 0.27.3 (#107839)
changelog: https://github.com/Bluetooth-Devices/govee-ble/compare/v0.27.2...v0.27.3
2024-01-12 09:16:30 +01:00
G Johansson e715d6a7a1 Fix duplicated resource issue in System Monitor (#107671)
* Fix duplicated resource issue

* Only slug the argument
2024-01-12 08:44:38 +01:00
Matrix 83fbcb11ea Add YoLink SpeakerHub Service (#107787)
* Add YoLink SpeakerHub Service

* fix as suggestion

* service's params descriptions
2024-01-12 08:18:44 +01:00
Aaron Bach dc10f3c204 Move Guardian valve attributes to diagnostics sensors (#107834) 2024-01-11 19:16:54 -07:00
dcmeglio 69a8f476e8 Improved tracking of switchbot opening/closing states (#106741)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-01-11 16:09:50 -10:00
dcmeglio 0d8073fddf Bump PySwitchbot to 0.44.0 (#107833) 2024-01-11 15:18:57 -10:00
Franck Nijhof e71304580d Fix Tailwind cover stuck in closing state (#107827) 2024-01-11 23:25:33 +01:00
Phil Bruckner 24ddc939c0 Remove Life360 integration (#107805) 2024-01-11 21:49:39 +01:00
Cody C ff811a33f5 Fix Netatmo camera name does not show under Media -> Media sources -> Camera (#107696)
* Fixes issue where Netatmo camera name does not show under Media -> Media sources ->Camera

Fixes #105268

* Remove entity name and change has_entity_name to False

has_entity_name has to be retained (per https://developers.home-assistant.io/docs/core/entity/#has_entity_name-true-mandatory-for-new-integrations)
2024-01-11 21:36:39 +01:00
Erik Montnemery 8a9f9b94ef Fix call to async_setup_component in translation test (#107807) 2024-01-11 10:09:32 -10:00
Erik Montnemery 44a6882c39 Make step_id parameter to FlowHandler.async_show_progress optional (#107802)
Drop step_id parameter from FlowHandler.async_show_progress
2024-01-11 21:05:20 +01:00
Erik Montnemery ddf3a36061 Improve calls to async_show_progress in google (#107788) 2024-01-11 16:47:53 +01:00
Erik Montnemery fbb6c1d0f0 Improve calls to async_show_progress in matter (#107791) 2024-01-11 13:08:54 +01:00
Erik Montnemery 2a0bd6654b Improve calls to async_show_progress in zwave_js (#107794) 2024-01-11 13:07:43 +01:00
Erik Montnemery 24cd6a8a52 Improve ergonomics of FlowManager.async_show_progress (#107668)
* Improve ergonomics of FlowManager.async_show_progress

* Don't include progress coroutine in web response

* Unconditionally reset progress task when show_progress finished

* Fix race

* Tweak, add tests

* Address review comments

* Improve error handling

* Allow progress jobs to return anything

* Add comment

* Remove unneeded check

* Change API according to discussion

* Adjust typing
2024-01-11 12:00:12 +01:00
J. Nick Koston 00b40c964a Bump govee-ble to 0.27.2 (#107778)
* Bump govee-ble to 0.27.0

changelog: https://github.com/Bluetooth-Devices/govee-ble/compare/v0.26.0...v0.27.0

note: H5106 is partially supported, full support will be added in another PR + docs

* .1

* 0.27.2
2024-01-11 11:28:03 +01:00
Matrix f217d438cd Add SpeakerHub support to YoLink (#104678)
* SpeakerHub support

* Remove unnecessary code

* fix entity description

* Fix as suggestion

* fixes

* fixes as suggestion & remove Speker Hub service
2024-01-11 11:04:14 +01:00
Ido Flatow b12c53e94e Fix switcher kis logging incorrect property for device's name (#107775)
* use of incorrect property for device's name

* Update switch.py according to Ruff formatter
2024-01-11 11:39:50 +02:00
Robert Resch 1c669c6e84 Revert "Revert "Add preselect_remember_me to /auth/providers"" (#106867) 2024-01-11 10:37:19 +01:00
Erwin Douna b08832a89a Fastdotcom service optimization (#107179)
* Startup mechanic

* Workable service (again)

* Optimized version, for now

* Minor refactoring

* Test cases

* Fixing test case

* Adding startup comment

* State_unknown added

* Update homeassistant/components/fastdotcom/services.py

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

* Check if config entries are not found

* Update tests/components/fastdotcom/test_service.py

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

* Update homeassistant/components/fastdotcom/services.py

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

* Update homeassistant/components/fastdotcom/services.py

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

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-01-11 08:27:15 +01:00
Jan Bouwhuis e0457590d1 Fix mqtt text text min max config params can not be equal (#107738)
Fix mqtt text text min max kan not be equal
2024-01-11 07:17:48 +01:00
Christopher Bailey b83f5b5932 Add new event sensors from UniFi Protect 2.11 (#107773) 2024-01-10 19:23:59 -10:00
Christopher Bailey 99e25d94c0 Rework events for UniFi Protect (#107771) 2024-01-10 19:02:16 -10:00
Christopher Bailey ec8a33b52d Rework state change detection for UniFi Protect entities (#107766) 2024-01-10 18:06:45 -10:00
Christopher Bailey 335a1f6e09 Bump pyunifiprotect to 4.23.2 (#107769) 2024-01-10 18:04:37 -10:00
Thomas Kistler 28cdf5f1d2 Bump aioambient to 2024.01.0 (#107767) 2024-01-10 18:04:15 -10:00
jjlawren 0bdbb52694 Bump sonos-websocket to 0.1.3 (#107765) 2024-01-10 18:00:34 -10:00
Christopher Bailey e595d24d78 Add leak sensor for UP Sense for UniFi Protect (#107762) 2024-01-10 15:32:05 -10:00
Shay Levy 28b5104cda Bump aioshelly to 7.1.0 (#107593) 2024-01-10 14:50:45 -10:00
Ernst Klamer 0ae86095d2 Bump bthome-ble to 3.4.1 (#107757) 2024-01-10 14:48:37 -10:00
Christopher Bailey b5bd910963 Bump pyunifiprotect to 4.23.1 (#107758) 2024-01-10 14:38:56 -10:00
Aaron Bach bc4c3bf9e7 Add valve platform to Guardian (#107423) 2024-01-10 13:03:18 -10:00
J. Nick Koston b2f7fd12a2 Add comment to ConfigEntry.async_setup about race safety (#107756) 2024-01-10 13:03:09 -10:00
Eugene Tiutiunnyk 1bb76e2351 Fix Mac address check in kef integration (#107746)
Fix the check for Mac address in kef integration (#106072)

It might be due to an update of `getmac` dependency in some case the mac
was resolved to "00:00:00:00:00:00" instead of the anticipated `None`.
With that the original bug #47678 where a duplicated entity would be
created in case of HA is restarted while the KEF speaker is offline
came back. The PR #52902 was applied back in time to fix that issue.
Now, this change is a continuation of the previous efforts. The solution
was tested for about two months and it does address the bug with
creating duplicated entities in case of KEF speakers being offline.
2024-01-10 23:23:40 +01:00
Allen Porter 350806c036 Make to-do list item exception wording consistent (#107743) 2024-01-10 22:49:25 +01:00
bubonicbob c74bef265a Update powerwall for tesla_powerwall 0.5.0 which is async (#107164)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-01-10 11:21:53 -10:00
YogevBokobza bdba6f41c9 Bump aioswitcher to 3.4.1 (#107730)
* switcher: added support for device_key logic included in aioswitcher==3.4.1

* switcher: small fix

* switcher: after lint

* switcher: fix missing device_key in tests

* remove device_key function

* fix missing device_key in tests
2024-01-10 21:41:16 +02:00
Álvaro Fernández Rojas 9036d67588 Rename AEMET weather_update_coordinator (#107740)
* aemet: rename weather_update_coordinator

Use "coordinator" instead, like other integrations.

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

* coverage: remove AEMET coordinator

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

---------

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-01-10 20:33:44 +01:00
J. Nick Koston 7d18ad6fe7 Reduce discovery flow matching overhead (#107709) 2024-01-10 07:14:18 -10:00
Álvaro Fernández Rojas 6a6c447c28 Use new AEMET library data for sensor platform (#102972)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: Robert Resch <robert@resch.dev>
2024-01-10 16:36:20 +01:00
Jan Bouwhuis de9bb20135 Fix invalid alexa climate or water_heater state report with double listed targetSetpoint (#107673) 2024-01-10 16:23:42 +01:00
Jan Bouwhuis 5bdcbc4e8b Redact sensitive data in alexa debug logging (#107676)
* Redact sensitive data in alexa debug logging

* Add wrappers to diagnostics module

* Test http api log is redacted
2024-01-10 16:20:47 +01:00
Josef Zweck 956921a930 Improvements for tedee integration (#107238)
* improvements

* wait another second before creating the entry

* move delay to lib

* move library bump to separate PR

* move available back to lock from entity
2024-01-10 14:55:28 +01:00
Arie Catsman e5eb58b456 Bump Pyenphase to 1.16.0 (#107719) 2024-01-10 14:34:25 +01:00
Marc Mueller e91a159efa Add decorator typing [modern_forms] (#107558) 2024-01-10 14:14:33 +01:00
Marc Mueller fbbe03c93c Add decorator typing [soma] (#107559) 2024-01-10 14:13:05 +01:00
Marc Mueller 402ead8df2 Add decorator typing [toon] (#107597) 2024-01-10 14:11:13 +01:00
elmurato 3fba02a692 Improve debug logs in Minecraft Server (#107672)
Improve debug logs
2024-01-10 14:06:49 +01:00
J. Nick Koston 49bdfbd9ca Bump govee-ble to 0.26.0 (#107706) 2024-01-10 14:03:15 +01:00
Jan-Philipp Benecke 08e3178682 Allow configuration of min_gradient from UI to be negative in Trend (#107720)
Allow configuration of min_gradient to be negative from UI
2024-01-10 14:03:02 +01:00
Cyrill Raccaud 598e18ca86 Set proper sensor device class for swiss_public_transport (#106485)
set proper sensor device class
2024-01-10 13:23:02 +01:00
Erwin Douna 15e3af72d1 Fix Tado unique mobile device dispatcher (#107631)
* Add unique home ID device dispatch

* Adding fixture for new setup

* Minor refactor work

* Add check for unlinked to different homes

* If the interface returns an error

* Proper error handling

* Feedback fixes

* Comments for error in client

* Typo

* Update homeassistant/components/tado/__init__.py

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

* Update homeassistant/components/tado/__init__.py

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

* Update devices fix standard

* Dispatch out of loop

* Update dispatcher

* Clean up

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-01-10 12:09:10 +01:00
Michaël Arnauts 093e35f4d4 Remove myself as a codeowner from tado (#107708) 2024-01-09 22:54:43 -10:00
Josef Zweck 0f79b6ac2a Bump pytedee_async to 0.2.11 (#107707) 2024-01-10 09:43:04 +01:00
Lars R bf6b9175a1 Add 'bitwise_xor' filter to jinja templates (#104942)
Co-authored-by: Robert Resch <robert@resch.dev>
2024-01-10 09:40:52 +01:00
J. Nick Koston 554c27a31a Clamp tplink color temp to valid range (#107695) 2024-01-09 17:08:49 -10:00
Maciej Bieniek 8181fbab5c Fix device_class type for Shelly Gen1 sleeping sensors (#107683) 2024-01-09 12:01:19 -10:00
Yuval Aboulafia b739fa8c02 Add missing 'state class' to Airvisual (#107666) 2024-01-09 13:01:11 -07:00
Erik Montnemery 9859306718 Prevent overriding cached attribute as property (#107657)
* Prevent overriding cached attribute as property

* Remove debug
2024-01-09 19:16:45 +01:00
J. Nick Koston ab6b9fe891 Avoid total_seconds conversion in bond keep alive (#107618) 2024-01-09 07:46:57 -10:00
Jan-Philipp Benecke d1c1eb8428 Add test for avoid triggering ping device tracker home after reload (#107107) 2024-01-09 18:39:31 +01:00
Jan-Philipp Benecke 3141b92027 Remove deprecated services from Huawei LTE (#107578) 2024-01-09 18:39:05 +01:00
Jan-Philipp Benecke 71dcbb95ab Remove deprecated services from Ezviz (#107582) 2024-01-09 18:38:42 +01:00
Luke Lashley 29cac5b093 Bump Python-Roborock to 0.39.0 (#107547)
* bump to 0.39.0

* add new strings

* change strings
2024-01-09 16:48:01 +01:00
Jan-Philipp Benecke 33dd6f66e3 Correct device class in sql tests (#107663) 2024-01-09 16:30:21 +01:00
Jan-Philipp Benecke 1a6418d361 Use right state class in filter test (#107643) 2024-01-09 16:06:36 +01:00
Jan-Philipp Benecke c62e79f9ee Use right state class for kWh sensor in homekit_controller (#107644) 2024-01-09 16:06:18 +01:00
mkmer 4dbaa576a7 Remove unused option flow from blink (#106735)
* Remove unused option flow

* remove update listener

* adjust scan_interval to original default

* default scn interval back to 30s
2024-01-09 16:06:04 +01:00
Ståle Storø Hauknes 5d259586e5 Airthings cloud: Add myself as codeowner (#107654)
Add myself as codeowner
2024-01-09 15:17:52 +01:00
J. Nick Koston 249e10d8c7 Fix dlink test mutating config entry after its adding to hass (#107604) 2024-01-09 14:55:20 +01:00
Jan-Philipp Benecke 15cee58637 Remove deprecated YAML support from zodiac (#107584) 2024-01-09 14:32:13 +01:00
Jan-Philipp Benecke fd533e46dd Correct state class in mobile_app tests (#107646)
Correct right state class in `mobile_app` tests
2024-01-09 14:08:58 +01:00
Manuel Dipolt c9d0134b8b Remove deprecated line in osoenergy (#107553) 2024-01-09 13:56:50 +01:00
Marc Mueller 29dd70ccfb Fix tplink_lte setup (#107642) 2024-01-09 13:08:40 +01:00
vexofp 3c53693fe3 Prevent toggle from calling stop on covers which do not support it (#106848)
* Prevent toggle from calling stop on covers which do not support it

* Update homeassistant/components/cover/__init__.py

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-01-09 12:32:27 +01:00
Abílio Costa 3a36117c08 Bump idasen-ha to 2.5 (#107607) 2024-01-08 22:27:16 -10:00
J. Nick Koston 1e4d10efe1 Add caching to the distance calculation utility (#107626) 2024-01-08 21:51:56 -10:00
J. Nick Koston 49e3c740cc Small cleanups to temperature helper (#107625) 2024-01-08 21:51:35 -10:00
Erwin Douna 9ca09bd6f0 Tado unavailable state to device tracker (#107542)
* Adding unavailable state to device tracker

* Small fixes
2024-01-09 08:18:22 +01:00
J. Nick Koston a0b00d78b1 Avoid duplicate property lookups in camera state_attributes (#107627) 2024-01-09 08:16:19 +01:00
J. Nick Koston 955c70b8f1 Fix cloudflare tests using a dict for the unique id (#107601)
fix cloudflare tests using a dict for the unique id
2024-01-09 07:59:29 +01:00
J. Nick Koston 05d205ae7a Small cleanups to number entity (#107624) 2024-01-08 20:20:15 -10:00
Eric Severance 82dc8260c6 Bump pywemo to 1.4.0 (#107623) 2024-01-08 20:01:15 -10:00
J. Nick Koston 86603b332a Bump aiohttp-zlib-ng to 0.3.1 (#107595) 2024-01-08 13:24:57 -10:00
J. Nick Koston ea2178a53d Fix tractive tests using a dict for the unique_id (#107602) 2024-01-08 13:10:15 -10:00
J. Nick Koston bb78b75d49 Bump pymeteoclimatic to 0.1.0 (#107583) 2024-01-08 23:02:29 +01:00
Jan Rieger 9a81a29ce2 Let babel handle the locale separator in holiday (#107571) 2024-01-08 22:59:12 +01:00
Arie Catsman e8acccce05 Catch missing inverter in Enphase Envoy (#106730)
* bug: prevent invalid key when empty invereter arrays is returned.

Some envoy fw versions return an empty inverter array
every 4 hours when no production is taking place.
Prevent collection failure due to this as other data
seems fine. Inveretrs will show unknown during this cycle.

* refactor: replace try/catch with test and make warning debug

* Update homeassistant/components/enphase_envoy/sensor.py

* Update homeassistant/components/enphase_envoy/sensor.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-01-08 22:28:04 +01:00
Jan-Philipp Benecke ca886de3ca Remove deprecated YAML support from OpenSky (#107585) 2024-01-08 22:03:25 +01:00
Marc Mueller 8150754b9b Improve led_ble generic typing (#107534) 2024-01-08 10:08:19 -10:00
mkmer 438ba7eaad Add software version to Blink device info (#107548)
* add firmware to device

* Version from attributes
2024-01-08 20:32:29 +01:00
nic e349608f92 Retry zoneminder connection setup (#107519)
* zoneminder setup retry connection

Makes ZM setup be async for enabling connection retry attempts

This also requires zm-py version bump v0.5.4 as that
dependency was patched in conjunction to resolve this issue

Closes #105271

Signed-off-by: Nic Boet <nic@boet.cc>

* ruff format

Signed-off-by: Nic Boet <nic@boet.cc>

* ruff fixes

Signed-off-by: Nic Boet <nic@boet.cc>

* RequestsConnectionError

Signed-off-by: Nic Boet <nic@boet.cc>

* revert async changes

Signed-off-by: Nic Boet <nic@boet.cc>

---------

Signed-off-by: Nic Boet <nic@boet.cc>
2024-01-08 20:30:44 +01:00
Michael Hansen 4bb2a3ad92 Specific Assist errors for domain/device class (#107302)
* Specific errors for domain/device class

* Don't log exception

* Check device class first

* Refactor guard clauses

* Test default error
2024-01-08 12:23:06 -06:00
Jan Bouwhuis 20610645fb Pop the mocked config flow, restore the original with mock_config_flow (#107567)
Pop the mocked config flow, restore the original if it existed
2024-01-08 19:01:43 +01:00
Josef Zweck 0d946c62dc Bump pytedee_async to 0.2.10 (#107540)
* bump tedee

* bump tedee
2024-01-08 17:17:20 +01:00
starkillerOG fdf71b2687 Bump reolink_aio to 0.8.6 (#107541) 2024-01-08 17:01:19 +01:00
FlorianOosterhof 13bfeef1da Unlock the precision of sensors of the opentherm_gw integration (#107227)
* Unlock the precision of sensors of the opentherm_gw integration

* Add a suggested_display_precision attribute to all opentherm_gw sensors.
2024-01-08 16:37:11 +01:00
elmurato 0d44a1eb66 Bump mcstatus to v11.1.1 (#107546)
* Bump mcstatus to 11.1.0

* Bump mcstatus to v11.1.1
2024-01-08 16:32:37 +01:00
mkmer d7be7f5ae1 Bump blinkpy to 0.22.5 (#107537)
bump blinkpy 0.22.5
2024-01-08 15:11:19 +01:00
Josef Zweck 080484f2f6 Remove tedee device safely from registry (#107529)
remove device safely from registry
2024-01-08 13:10:16 +01:00
mkmer cc67fd8a3c Reduce polling rate in Blink (#107386) 2024-01-08 10:51:58 +01:00
Marc Mueller e7cc26d028 Improve folder_watcher typing (#107271) 2024-01-08 10:49:15 +01:00
Marc Mueller 3632d6be46 Enable strict typing for dlna_dms (#107305) 2024-01-08 10:45:51 +01:00
Marc Mueller d0e6ce193c Enable strict typing for tod (#107284) 2024-01-08 10:44:47 +01:00
Marc Mueller c30bf1f6e1 Enable strict typing for nightscout (#107307) 2024-01-08 10:43:40 +01:00
Marc Mueller b22cd2deaa Enable strict typing for system_health (#107283) 2024-01-08 10:40:49 +01:00
Joost Lekkerkerker 82e0fc5f4e Use parametrize in drop connect binary sensor tests (#107111) 2024-01-08 10:38:44 +01:00
Josef Zweck 14bf778c10 Cleanup device registry for tedee when a lock is removed (#106994)
* remove removed locks

* move duplicated code to function

* remove entities by removing device

* add new locks automatically

* add locks from coordinator

* smaller pr

* remove snapshot

* move lock removal to coordinator

* change comment

* Update tests/components/tedee/test_init.py

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

* Update tests/components/tedee/test_init.py

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

* test lock unavailable

* move logic to function

* resolve merge conflicts

* no need to call keys()

* no need to call keys()

* check for change first

* readability

* Update tests/components/tedee/test_lock.py

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

* Update tests/components/tedee/test_lock.py

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

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-01-08 10:37:35 +01:00
Joost Lekkerkerker 5fe96390f5 Add zone devices to AnthemAV (#107192) 2024-01-08 10:37:17 +01:00
Manuel Rüger 394385fdeb Fix Luftdaten sensor id string (#107506)
Luftdaten: fix sensor id string
2024-01-08 10:15:30 +01:00
Marc Mueller 3c7a9272fa Enable strict typing for intent (#107282) 2024-01-08 10:09:48 +01:00
Marc Mueller 5ef04fcc7b Improve hunterdouglas_powerview typing (#107445) 2024-01-08 10:08:52 +01:00
Marc Mueller a6fc4c2bd5 Improve hassio typing (#107292) 2024-01-08 10:08:09 +01:00
Marc Mueller 78752264b3 Fully type homeassistant integration (#107380) 2024-01-08 10:07:30 +01:00
Marc Mueller 5ae419367e Enable strict typing for generic_hygrostat (#107272) 2024-01-08 09:59:31 +01:00
Marc Mueller 265f587768 Enable strict typing for history_stats (#107273) 2024-01-08 09:58:07 +01:00
Erwin Douna 3958d89ae6 Improve typing for Tado (#106992) 2024-01-08 09:57:01 +01:00
Lucas Mindêllo de Andrade db53237b9a Bump SunWEG to 2.1.0 (#107459) 2024-01-08 09:51:06 +01:00
Marc Mueller f5d5e1dcbb Enable strict typing for google_assistant_sdk (#107306) 2024-01-08 09:47:17 +01:00
Marc Mueller fde7a6e9ef Improve dispatcher typing (#106872) 2024-01-08 09:45:37 +01:00
J. Nick Koston ea4143154b Handle unknown state in HomeKit (#107039) 2024-01-08 09:42:28 +01:00
Jan-Philipp Benecke 40e1bab0ac Remove deprecated YAML for freebox (#107497) 2024-01-08 09:36:17 +01:00
Marc Mueller 442eb68d92 Fix asyncio.gather call (#107500) 2024-01-08 09:35:47 +01:00
tronikos 3709475cb5 Enable long term statistics for Flume water usage current sensor (#107512) 2024-01-08 09:31:56 +01:00
G Johansson d8c139f211 Fix language flavors in holiday (#107392) 2024-01-08 09:31:44 +01:00
J. Nick Koston d260ed938a Reduce overhead to call entity services (#106908) 2024-01-08 09:30:52 +01:00
Jan Bouwhuis 9ad3c8dbc9 Remove MQTT legacy vacuum support (#107274) 2024-01-08 09:22:43 +01:00
J. Nick Koston 3eb81bc461 Add coverage for scanning tags with ESPHome (#107337) 2024-01-08 09:20:27 +01:00
Joost Lekkerkerker 1171a7a3d9 Migrate kmtronic to has entity name (#107469) 2024-01-08 09:14:37 +01:00
Joost Lekkerkerker af209fe2b8 Migrate Mullvad to has entity name (#107520) 2024-01-08 09:13:50 +01:00
Joost Lekkerkerker 7202126751 Add Met eireann to strict typing (#107486) 2024-01-08 09:13:15 +01:00
J. Nick Koston d609344f40 Reduce duplicate code in ESPHome connection callback (#107338) 2024-01-08 09:10:58 +01:00
Joost Lekkerkerker 102fdbb237 Bump aiowithings to 2.1.0 (#107417) 2024-01-08 09:08:59 +01:00
J. Nick Koston 448d5bbf27 Increase pip timeout in image builds to match core (#107514) 2024-01-08 09:07:42 +01:00
J. Nick Koston fc36c48acc Bump sensorpush-ble to 1.6.2 (#107410) 2024-01-07 22:06:12 -10:00
Joost Lekkerkerker eaac01bc76 Introduce heat area property in moehlenhoff alpha2 (#107488) 2024-01-08 08:17:28 +01:00
Joost Lekkerkerker 8b0c96a212 Clean up met config flow (#107480) 2024-01-08 08:11:30 +01:00
Joost Lekkerkerker f2483bf660 Use constants in Alpha2 config flow (#107518) 2024-01-08 08:05:51 +01:00
J. Nick Koston efffbc08aa Add support for bluetooth local name matchers shorter than 3 chars (#107411) 2024-01-07 18:25:56 -10:00
J. Nick Koston 69307374f4 Signficantly reduce executor contention during bootstrap (#107312)
* Signficantly reduce executor contention during bootstrap

At startup we have a thundering herd wanting to use the executor
to load manifiest.json. Since we know which integrations we are
about to load in each resolver step, group the manifest loads
into single executor jobs by calling async_get_integrations on
the deps of the integrations after they are resolved.

In practice this reduced the number of executor jobs
by 80% during bootstrap

* merge

* naming

* tweak

* tweak

* not enough contention to be worth it there

* refactor to avoid waiting

* refactor to avoid waiting

* tweaks

* tweaks

* tweak

* background is fine

* comment
2024-01-07 22:55:40 -05:00
J. Nick Koston acf78664e2 Reduce overhead to compile statistics (#106927)
* Reduce overhead to compile statistics

statistics uses LazyState for compatibility with State when pulling
data from the database.

After the previous round of refactoring to modern history, the setters
are never called and can be removed.

* reduce
2024-01-07 22:36:49 -05:00
J. Nick Koston d04e2d56da Add support for JSON fragments (#107213) 2024-01-07 17:36:31 -10:00
J. Nick Koston 50edc334de Refactor sensor recorder _get_sensor_states to check for state class first (#107046)
The state class check is cheap and the entity filter check is much
more expensive, so do the state class check first
2024-01-07 22:36:03 -05:00
J. Nick Koston 0b9992260a Improve logbook context augment performance (#106926)
Makes LazyEventPartialState a bit lazier since almost all the
properties are never called.
2024-01-07 22:35:28 -05:00
J. Nick Koston d8c6534aff Refactor recorder for common event case (#106753)
Almost 99% of items that are put into the recorder queue are
Events. Avoid wrapping them in tasks since we have to unwrap
them right away and its must faster to check for both RecorderTask
and Events since events are the common case.
2024-01-07 22:31:40 -05:00
J. Nick Koston 368feec712 Refactor translations to reduce dict lookups (#107425)
* Refactor translations to reduce dict lookups

All of our cache lookups used:

`cache[language][O(component)][category]`

The cache was designed as

`cache[language][component][category][flatted_key]`

The lookups are now

`cache[language][category][O(component)]`

The cache is now stored as

`cache[language][category][component][flatted_key]`

This allows the catch fetch to avoid looking up
the category each loop

* already a set, and we do not mutate
2024-01-07 22:29:27 -05:00
Matthias Alphart f53109f513 Move KNX service registration to async_setup (#106635) 2024-01-07 23:26:46 +01:00
Joost Lekkerkerker 426a1511d5 Mark Ring battery and signal strength sensors as diagnostic (#107503) 2024-01-07 23:14:38 +01:00
tronikos 810c6ea5ae Google Generative AI: Add a service for prompts consisting of text and images using Gemini Pro Vision (#105789)
* Bump google-generativeai to 0.3.1

* Migrate to the new API and default to gemini-pro

* Add max output tokens option

* Add generate_content service

* Add  tests

* additional checks

* async read_bytes

* Add tests for all errors
2024-01-07 16:21:27 -05:00
Marc Mueller fd52172c33 Improve harmony typing (#107447) 2024-01-07 09:35:55 -10:00
Matthias Alphart a9b51f0255 Fix KNX telegram device trigger not firing after integration reload (#107388) 2024-01-07 20:32:17 +01:00
David Bonnes 2a8444b245 Fix evohome high_precision temps not retreived consistently (#107366)
* initial commit

* doctweak

* remove hint

* doctweak
2024-01-07 20:04:14 +01:00
J. Nick Koston 75d591593d Remove calls to distribution and legacy zip support from package util (#107427) 2024-01-07 07:39:48 -10:00
J. Nick Koston 901b9365b4 Small cleanups to ESPHome callbacks (#107428) 2024-01-07 07:39:33 -10:00
Joost Lekkerkerker 15ce70606f Add typing to Lutron platforms (#107408)
* Add typing to Lutron platforms

* Update homeassistant/components/lutron/switch.py

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

* Update homeassistant/components/lutron/__init__.py

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

* Update homeassistant/components/lutron/entity.py

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

* Update homeassistant/components/lutron/scene.py

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

* Fix typing

* Fix typing

---------

Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2024-01-07 17:48:23 +01:00
Cyrill Raccaud 3139e92696 Fix Swiss public transport initial data for attributes (#107452)
faster initial data for attributes
2024-01-07 16:19:58 +01:00
Cyrill Raccaud da8ce7bbf3 Fix local_todo typo (#107454)
local todo typo
2024-01-07 14:20:37 +01:00
G Johansson 840089b8ac Handle OSError during setup for System Monitor (#107396)
* Handle OSError during setup for System Monitor

* Clean string copy

* debug

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-01-07 13:15:34 +01:00
Raman Gupta d19037a36b Clean up zwave_js test_removed_device test (#107346) 2024-01-07 12:26:08 +01:00
Marc Mueller cd8adfc84e Improve flume typing (#107444) 2024-01-07 11:39:41 +01:00
Joost Lekkerkerker cecb12a93c Remove name from faa_delays (#107418) 2024-01-07 11:27:13 +01:00
Michael 84b20edeca Add missing wifi data in AVM!Fritz Tools tests (#107373) 2024-01-07 10:51:31 +01:00
RJPoelstra c833f275d6 Add select platform to Vogel's MotionMount integration (#107132) 2024-01-06 23:44:28 -10:00
Marc Mueller e4ff51fa9a Enable strict typing for youtube (#107440) 2024-01-07 10:43:54 +01:00
Marc Mueller d8c79964c8 Enable strict typing for waqi (#107439) 2024-01-07 10:43:42 +01:00
Marc Mueller be68feffdd Enable strict typing for enphase_envoy (#107436) 2024-01-06 23:42:38 -10:00
Marc Mueller 5a39503acc Enable strict typing for led_ble (#107437) 2024-01-06 23:41:54 -10:00
Marc Mueller de3fde5901 Enable strict typing for oralb (#107438) 2024-01-06 23:41:31 -10:00
Aaron Bach c96f9864c5 Remove leftover Guardian mixin (#107424) 2024-01-06 23:06:45 -07:00
Aaron Bach e446857001 Clean up buggy Guardian switch context managers (#107426) 2024-01-06 23:06:28 -07:00
Aaron Bach 50fbcaf20f Streamline exception handling in Guardian (#107053) 2024-01-06 12:56:19 -10:00
Elvio fce869248c Update Apprise to 1.7.1 (#107383) 2024-01-06 23:44:20 +01:00
Brandon Rothweiler 3f2170bd06 Bump py-aosmith to 1.0.6 (#107409) 2024-01-06 12:01:11 -10:00
Marc Mueller 4ea8c174f5 Improve homekit_controller typing (#107381) 2024-01-06 11:02:30 -10:00
Ben Morton 427f7a7866 Add support for the Spotify DJ (#107268)
* Add support for the Spotify DJ playlist by mocking the playlist response
Add error handling for playlist lookup to ensure it doesn't break current playback state loading

* Run linters
Add exception type to playlist lookup error handling

* Fix typo in comment

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

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-01-06 17:22:46 +01:00
Brandon Rothweiler 4af47a4815 Add diagnostics to A. O. Smith integration (#106343)
* Add diagnostics to A. O. Smith integration

* Bump py-aosmith to 1.0.4

* remove redactions from test fixture
2024-01-06 17:16:24 +01:00
Marc-Olivier Arsenault 94885b9868 remove marcolivierarsenault from ecobee codeowners (#107377) 2024-01-06 16:29:50 +01:00
Josef Zweck 7385da626e Add new locks automatically to tedee integration (#107372)
* remove removed locks

* move duplicated code to function

* remove entities by removing device

* add new locks automatically

* add locks from coordinator

* remove other PR stuff

* add pullspring lock to test for coverage

* requested changes
2024-01-06 16:02:07 +01:00
Jan Bouwhuis d6aaaf1f1a Only mock config_entries.HANDLERS for the current test in mock_config_flow (#107357) 2024-01-06 11:46:12 +01:00
J. Nick Koston 65985c4e0b Fix name of 64bit intel/amd arch in builder and wheels workflow (#107335) 2024-01-06 11:30:20 +01:00
Sid 9b1a8a1129 enigma2: fix exception when device in deep sleep, fix previous track (#107296)
enigma2: fix exception when device in deep sleep; previous track
2024-01-06 11:18:32 +01:00
Joost Lekkerkerker a03ac3ddcd Fix passing correct location id to streamlabs water (#107291) 2024-01-06 10:50:06 +01:00
Marc Mueller 3086d33261 Fix rainforest_raven typing (#107309) 2024-01-06 10:41:25 +01:00
Marc Mueller 902d5a79ca Enable strict typing for p1_monitor (#107301) 2024-01-06 10:38:50 +01:00
Marc Mueller 135a718a0e Enable strict typing for energyzero (#107300) 2024-01-06 10:33:22 +01:00
Marc Mueller 28c0c2d2ad Enable strict typing for easyenergy (#107299) 2024-01-06 10:31:55 +01:00
J. Nick Koston 6ff990e2c2 Avoid fetching logger in check_if_deprecated_constant if there is nothing to log (#107341)
getLogger needs a threading lock so its nice to avoid
calling it if we are not going to log anything
2024-01-06 10:20:30 +01:00
J. Nick Koston 851ad21d11 Small cleanup to zeroconf properties matcher (#107342)
* Small cleanup to zeroconf properties matcher

- Switch to dict.items() to avoid dict key lookup
- return early when a match is rejected

* tweak
2024-01-06 10:16:57 +01:00
J. Nick Koston 44018a4183 Use faster identity checks for SupportsResponse Enum (#107351) 2024-01-06 10:12:31 +01:00
Aidan Timson ba60290431 Fix support for play/pause functionality in System Bridge (#103423)
Fix support for play/pause functionality
2024-01-06 10:06:23 +01:00
jimmyd-be ee67c97274 Add time entity to Renson (#105031)
* Add time entity to Renson

* Update homeassistant/components/renson/time.py

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

* remove deleted sensors from strings.json

* Fix Ruff issue

* Fixed loading issue

* Try to fix frozen error

* Revert "Try to fix frozen error"

This reverts commit 803104c2925e6d5acecc0a9d45170a0c85ee7f0e.

* Try to fix frozen error

* Revert "Try to fix frozen error"

This reverts commit 8ba2dcce9444fadcf6bf79e86295f93359b6d7b8.

* Update homeassistant/components/renson/time.py

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

* Change import + api argument

* use _attr_has_entity_name

* Update homeassistant/components/renson/time.py

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

---------

Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: Jan-Philipp Benecke <github@bnck.me>
2024-01-06 09:27:34 +01:00
Paulus Schoutsen f1d2868fd0 Add API to fetch Assist devices (#107333)
* Add API to fetch Assist devices

* Revert some changes to fixture, make a single fixture for an Assist device
2024-01-05 23:30:18 -05:00
nic 6201e81eca Bump zm-py version to v0.5.3 for zoneminder (#107331)
zm-py version bump for zoneminder

Signed-off-by: Nic Boet <nic@boet.cc>
2024-01-05 19:19:35 -08:00
J. Nick Koston c86d1b03fc Disable thermobeacon voltage sensors by default (#107326) 2024-01-05 16:06:31 -10:00
Marc Mueller 4e62dacc00 Fix lutron test AttributeError (2) (#107324) 2024-01-06 01:15:50 +01:00
Marc Mueller 133fd6ea5d Fix lutron test AttributeError (#107323) 2024-01-06 00:51:17 +01:00
Joost Lekkerkerker 49284fb469 Fix duplicate unique_ids in emonitor (#107320) 2024-01-05 13:33:04 -10:00
Shay Levy ad3c78f848 Fix Shelly missing Gen value for older devices (#107294) 2024-01-05 13:32:04 -10:00
David F. Mulcahey 2ed9397611 Fix assertion error when unloading ZHA with pollable entities (#107311) 2024-01-05 16:53:43 -05:00
Joost Lekkerkerker 2b43271c3b Move Lutron entry data to typed class (#107256)
* Move Lutron entry data to typed class

* Move Lutron entry data to typed class

* Exclude file

* Update homeassistant/components/lutron/__init__.py

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

---------

Co-authored-by: Jan-Philipp Benecke <github@bnck.me>
2024-01-05 22:04:10 +01:00
Roman Sivriver bb03579bd9 Fix typo in recorder strings.json (#107278) 2024-01-05 20:39:04 +01:00
Joost Lekkerkerker 9672ca5719 Extract LutronDevice into separate file (#107285) 2024-01-05 20:38:02 +01:00
wilburCforce 52653220e3 Add code owner for Lutron (#107280)
* hassfest enable

* update code owner

* fix code owner typo

* removed garbage
2024-01-05 20:07:08 +01:00
J. Nick Koston 81458dbf6f Add test coverage for ESPHome state subscription (#107045) 2024-01-05 19:51:49 +01:00
Jan-Philipp Benecke c81f909ee3 Use call_soon_threadsafe in mqtt client unsubscribe callback (#107266) 2024-01-05 19:45:56 +01:00
Michael Hansen a600a0e023 Expose all areas to Assist and ignore empty aliases (#107267)
* Expose all areas to Assist

* Skip empty entity/area aliases
2024-01-05 13:45:41 -05:00
J. Nick Koston 24ee64e20c Convert cert_expiry to use asyncio (#106919) 2024-01-05 08:03:53 -10:00
Jan-Philipp Benecke 9a15a5b6c2 Cleanup and migrate rest_command tests to be async (#107264)
Migrate rest_command tests to be async
2024-01-05 18:53:25 +01:00
Marc Mueller 833cddc8f5 Improve conversation typing (#106905) 2024-01-05 18:40:34 +01:00
Marc Mueller b2a4de6eed Enable strict typing for duotecno (#107261) 2024-01-05 18:39:18 +01:00
Marc Mueller de72bbfaad Enable strict typing for minecraft_server (#107262) 2024-01-05 18:38:31 +01:00
Joost Lekkerkerker 3a94dd6578 Migrate Suez Water to has entity name (#107251) 2024-01-05 18:36:21 +01:00
Marc Mueller f0b47bf00c Enable strict typing for downloader (#107263) 2024-01-05 18:35:05 +01:00
Marc Mueller 221fa48ea5 Improve denonavr typing (#106907) 2024-01-05 18:34:32 +01:00
Jan-Philipp Benecke e80138dfdf Remove duplicate assignment of median and statistical_mode jinja2 filter (#106953) 2024-01-05 17:36:55 +01:00
Joost Lekkerkerker 3d338b5719 Sort Lutron platforms (#107257) 2024-01-05 17:31:50 +01:00
SLaks 9be9bbad61 Allow selecting of counter entities in derivative/integration config flow (#105321) 2024-01-05 16:46:12 +01:00
wilburCforce be6cf7d3ae Add Lutron config flow (#98489)
* rough in structure for config_flow

* updated json files

* initial conversion to config_flow

* minor updates

* Update binary_sensor.py

* Update config_flow.py

* Update __init__.py

* updates beased on requested changes

* Update const.py

added doc note for ruff

* updated based on suggestions

* updated load xmldb for efficiency

* updated references

* removed unneeded file

* updated config flow to use GUID from XML DB

* minor update to change logging

* updated based on PR feedback

* reverted change for line 30 based on testing

* corrected user_input

* updated based on latest comments

* exception handling

* added raising of issues for config flow

* updated issues strings

* config flow test shell - needs work

* minor changes

* Update strings.json

* Update config_flow.py

* Update __init__.py

* Create conftest.py

* Update test_config_flow.py

* Update test_config_flow.py

* Update config_flow.py

* Update strings.json

* Update requirements_test_all.txt

* Update strings.json

* Update strings.json

* Update config_flow.py

* Update test_config_flow.py

* Update config_flow.py

* Create test_init.py

* Update __init__.py

* Delete tests/components/lutron/test_init.py

* Update strings.json

* updated import parts and tested

* updated strings to improve user feedback

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-01-05 16:39:14 +01:00
Franck Nijhof 80a08199f8 Update Home Assistant Wheels action to 2024.01.0 (#107240) 2024-01-05 16:35:20 +01:00
Alexander Somov d754ea7e22 Add new Rabbit Air integration (#66130)
* Add new Rabbit Air integration

* Remove py.typed file

It is not needed and was just accidentally added to the commit.

* Enable strict type checking for rabbitair component

Keeping the code fully type hinted is a good idea.

* Add missing type annotations

* Remove translation file

* Prevent data to be added to hass.data if refresh fails

* Reload the config entry when the options change

* Add missing type parameters for generics

* Avoid using assert in production code

* Move zeroconf to optional dependencies

* Remove unnecessary logging

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

* Remove unused keys from the manifest

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

* Replace property with attr

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

* Allow to return None for power

The type of the is_on property now allows this.

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

* Remove unnecessary method call

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

* Update the python library

The new version properly re-exports names from the package root.

* Remove options flow

Scan interval should not be part of integration configuration. This was
the only option, so the options flow can be fully removed.

* Replace properties with attrs

* Remove multiline ternary operator

* Use NamedTuple for hass.data

* Remove unused logger variable

* Move async_setup_entry up in the file

* Adjust debouncer settings to use request_refresh

* Prevent status updates during the cooldown period

* Move device polling code to the update coordinator

* Fix the problem with the switch jumping back and forth

The UI seems to have a timeout of 2 seconds somewhere, which is just a
little bit less than what we normally need to get an updated state. So
the power switch would jump to its previous state and then immediately
return to the new state.

* Update the python library

The new version fixes errors when multiple requests are executed
simultaneously.

* Fix incorrect check for pending call in debouncer

This caused the polling to stop.

* Fix tests

* Update .coveragerc to exclude new file.
* Remove test for Options Flow.

* Update the existing entry when device access details change

* Add Zeroconf discovery step

* Fix tests

The ZeroconfServiceInfo constructor now requires one more argument.

* Fix typing for CoordinatorEntity

* Fix signature of async_turn_on

* Fix depreciation warnings

* Fix manifest formatting

* Fix warning about debouncer typing

relates to 5ae5ae5392

* Wait for config entry platform forwards

* Apply some of the suggested changes

* Do not put the MAC address in the title. Use a fixed title instead.
* Do not format the MAC to use as a unique ID.
* Do not catch exceptions in _async_update_data().
* Remove unused _entry field in the base entity class.
* Use the standard attribute self._attr_is_on to keep the power state.

* Store the MAC in the config entry data

* Change the order of except clauses

OSError is an ancestor class of TimeoutError, so TimeoutError should be
handled first

* Fix depreciation warnings

* Fix tests

The ZeroconfServiceInfo constructor arguments have changed.

* Fix DeviceInfo import

* Rename the method to make it clearer what it does

* Apply suggestions from code review

* Fix tests

* Change speed/mode logic to use is_on from the base class

* A zero value is more appropriate than None

since None means "unknown", but we actually know that the speed is zero
when the power is off.

---------

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-01-05 16:34:28 +01:00
Jan-Philipp Benecke 8bbfee7801 Make exceptions in rest_command services translatable (#107252) 2024-01-05 15:44:31 +01:00
MisterCommand 0d7627da22 Add Hong Kong Observatory integration (#98703)
* Add Hong Kong Observatory integration

* Move coordinator to a separate file

* Map icons to conditions

* Fix code for review

* Skip name

* Add typings to data_coordinator

* Some small fixes

* Rename coordinator.py
2024-01-05 14:52:46 +01:00
Richard Kroegel e7573c3ed4 Add python_script response (#97937)
* Add response to python_script

* Reset output to empty dict if not valid dict

* Add tests for python_script response

* Raise Exceptions on service execution

* Add info on exception type

* Raise ServiceValidationError instead of ValueError

* Raise only on return_response=True

* Fix exception logger if no service response

* Create issue if exception is not raised

* Revert "Create issue if exception is not raised"

This reverts commit a61dd8619f.

---------

Co-authored-by: rikroe <rikroe@users.noreply.github.com>
2024-01-05 14:30:15 +01:00
J. Nick Koston 8645d9c717 Bump aiohttp-zlib-ng to 0.3.0 (#107184) 2024-01-05 14:28:29 +01:00
RoboMagus 4485ece719 Add support for service response to RESTful command (#97208)
* Add ServiceResponse to rest_command

* Handle json and text responses.
Add Unit tests

* Rest command text output handling.
Prevent issue solved by PR#97777

* Re-raise exceptions as HomeAssistantError to enable 'continue_on_error' in scripts / automations.

* Improve test coverage

* Restructure to improve McCabe Complexity

* Remove LookupError

* Revert exception catching location

* Remove LookupError from exception handling
2024-01-05 14:27:42 +01:00
Scott K Logan f249563608 Add Rainforest RAVEn integration (#80061)
* Add Rainforest RAVEn integration

* Add Rainforest Automation brand

* Add diagnostics to Rainforest RAVEn integration

* Drop a test assertion for an undefined behavior

* Add DEVICE_NAME test constant

* Catch up with reality

* Use Platform.SENSOR

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

* Make rainforest_raven translatable

* Stop setting device_class on unsupported scenarios

* Rename rainforest_raven.data -> rainforest_raven.coordinator

* Make _generate_unique_id more reusable

* Move device synchronization into third party library

* Switch from asyncio_timeout to asyncio.timeout

* Ignore non-electric meters

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

* Drop direct dependency on iso4217, bump aioraven

* Use RAVEn-specific exceptions

* Add timeouts to data updates

* Move DeviceInfo generation from Sensor to Coordinator

* Store meter macs as strings

* Convert to using SelectSelector

* Drop test_flow_user_invalid_mac

This test isn't necessary now that SelectSelector is used.

* Implement PR feedback

- Split some long format lines
- Simplify meter mac_id extraction in diagnostics
- Expose unique_id using an attribute instead of a property
- Add a comment about the meters dictionary shallow copy

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

* Simplify mac address redaction

Co-authored-by: Joakim Sørensen <ludeeus@ludeeus.dev>

* Freeze RAVEnSensorEntityDescription dataclass

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

---------

Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: Joakim Sørensen <ludeeus@ludeeus.dev>
2024-01-05 14:00:54 +01:00
J. Nick Koston 824bb94d1d Add test coverage for ESPHome device info (#107034) 2024-01-05 14:00:38 +01:00
Maikel Punie 84d7be71e0 Bump velbus-aio to 2023.12.0 (#107066) 2024-01-05 13:40:00 +01:00
Grant 371ee1aa8e Add Tyua Product Category "dsd" for Filament Light (#106709)
* Add Product Category "dsd" support to tuya integration for Filament Lights

* remove unnecessary color_temp and color_data arguments

---------

Co-authored-by: Jan Čermák <sairon@users.noreply.github.com>
2024-01-05 13:36:57 +01:00
J. Nick Koston bc539a946f Use identity checks for unifiprotect enums (#106795)
enums are singletons in this case and there is no need to use
the slower equality checks here
2024-01-05 13:27:10 +01:00
Raman Gupta 85cdbb5ade Bump zwave-js-server-python to 0.55.3 (#107225)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-01-05 12:38:00 +01:00
Joost Lekkerkerker 6033a7c3d4 Finish Efergy entity translations (#107152) 2024-01-05 12:32:32 +01:00
Erik Montnemery c805ea7b4f Include deprecated constants in wildcard imports (#107114) 2024-01-05 11:46:45 +01:00
Robert Resch c063bf403a Fix mobile_app cloudhook creation (#107068) 2024-01-05 10:53:59 +01:00
Joakim Sørensen 6da82cf07e Use supported_features_compat in update.install service (#107224) 2024-01-05 10:38:54 +01:00
J. Nick Koston 2641e4014a Add color temp support for older HomeKit devices (#107206) 2024-01-04 22:50:26 -10:00
Jan Bouwhuis f0ec1235b1 Remove naming warnings and work-a-rounds for incorrectly configured MQTT entities (#107188)
* Remove naming warnings for MQTT entities

* Remove unused const
2024-01-05 09:32:22 +01:00
Jan Bouwhuis 8c4a29c200 Remove unneeded preset_mode checks for mqtt climate (#107190) 2024-01-05 09:27:48 +01:00
Jan Bouwhuis c7b6c9da31 Remove work-a-round for mqtt sensors with an entity_category set to config (#107199)
* Remove work-a-round for mqtt sensors with an entity_category set to `config`

* Cleanup strings
2024-01-05 09:24:52 +01:00
Petru Paler 4a2958baeb Fix entity property cache creation arguments (#107221) 2024-01-05 09:18:25 +01:00
Brett Adams ace4edf91c Hotfix cache logic bug in Tessie (#107187) 2024-01-05 08:23:43 +01:00
J. Nick Koston 298e2e2b99 Attempt to fix 32bit docker builds (#107210) 2024-01-05 08:23:04 +01:00
J. Nick Koston 8017661d31 Change default python version to 3.12 for image builds (#107209) 2024-01-05 08:21:26 +01:00
Martin Hjelmare 00ff93a69e Set zwave_js voltage sensor suggested precision (#107116) 2024-01-05 01:03:28 -05:00
J. Nick Koston d67c8bb44f Bump bluetooth-adapters to 0.17.0 (#107195)
changelog: https://github.com/Bluetooth-Devices/bluetooth-adapters/compare/v0.16.2...v0.17.0

related https://github.com/home-assistant/operating-system/issues/2944
2024-01-05 06:54:46 +01:00
tronikos 2a9a046fab Disable IPv6 in the opower integration to fix AEP utilities (#107203) 2024-01-04 15:07:15 -10:00
Joost Lekkerkerker 72e908f6cc Fix conversation snapshots (#107196) 2024-01-05 00:41:52 +01:00
Michael Hansen 269500cb29 Report missing entities/areas instead of failing to match in Assist (#107151)
* Report missing entities/areas instead of failing

* Fix test

* Update assist pipeline test snapshots

* Test complete match failure

* Fix conflict
2024-01-04 17:09:20 -06:00
Erwin Douna 1a7b06f66a Bump to PyTado 0.17.3 (#107181) 2024-01-04 23:41:56 +01:00
Michael 9b8f0e1ee9 Fix switch states in AVM FRITZ!Box Tools (#107183) 2024-01-04 23:36:36 +01:00
J. Nick Koston f5e7631e84 Fix tplink overloading power strips (#104208) 2024-01-04 12:15:35 -10:00
Ash Hopkins 0ff5ccb7fd Update sensorpush-ble library to 1.6.1 (#107168) 2024-01-04 12:00:06 -10:00
J. Nick Koston 61eb613128 Bump aiohomekit to 3.1.2 (#107177) 2024-01-04 11:21:01 -10:00
Joost Lekkerkerker 34a8812fc3 Introduce base entity in streamlabs water (#107095) 2024-01-04 21:52:38 +01:00
Aaron Bach 3caaf2931f Clean up outdated entity replacement logic in Guardian (#107160) 2024-01-04 21:50:45 +01:00
Denis Shulyaka 99bcc38284 Add conversation_id parameter to conversation.process service (#106078)
* Add conversation_id parameter to conversation.process service

* fix test

* fix tests
2024-01-04 14:46:06 -06:00
Josef Zweck 34e6fa3328 Pass aiohttp clientsession to tedee integration (#107089)
* pass aiohttpsession

* Update homeassistant/components/tedee/config_flow.py

Co-authored-by: Sid <27780930+autinerd@users.noreply.github.com>

* Update homeassistant/components/tedee/__init__.py

Co-authored-by: Sid <27780930+autinerd@users.noreply.github.com>

* move to coordinator

---------

Co-authored-by: Sid <27780930+autinerd@users.noreply.github.com>
2024-01-04 21:42:38 +01:00
Franck Nijhof fd3a546cd8 Update Home Assistant base image to 2024.01.0 - Python 3.12 (#107175) 2024-01-04 21:42:03 +01:00
Joost Lekkerkerker eee6693855 Remove precision in streamlabs water (#107096) 2024-01-04 21:41:45 +01:00
Paul Holzinger 11170c6345 Pass down language to hassil (#106490)
Hassil needs the language to convert numbers, this was added in
https://github.com/home-assistant/hassil/pull/78. This fixes an
annoying warning from the logs.

Fixes #104760
2024-01-04 14:40:49 -06:00
Joost Lekkerkerker 8b1db37a85 Use snapshots in Glances sensor tests (#107159)
* Use snapshots in Glances sensor tests

* yes
2024-01-04 21:32:31 +01:00
J. Nick Koston bc26377c16 Cache homekit_controller supported features (#106702) 2024-01-04 10:31:09 -10:00
Jan Rieger f2514c0bde Migrate AVM FRITZ!Box Call monitor to has entity name (#99752)
* Migrate AVM FRITZ!Box Call monitor to has entity name

* Update homeassistant/components/fritzbox_callmonitor/strings.json

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

* Update homeassistant/components/fritzbox_callmonitor/strings.json

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

* Update sensor.py

* Update sensor.py

* Update strings.json

* Use translation placeholders

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-01-04 21:26:12 +01:00
Joost Lekkerkerker bf229be7bb Migrate Emonitor to has entity name (#107153) 2024-01-04 21:17:23 +01:00
Matt Emerick-Law eb320b69bc Bump Orvibo to 1.1.2 (#107162)
* Bump python-orvibo version

Fixes https://github.com/home-assistant/core/issues/106923

* Add version number

* Remove version

* Bump python-orvibo version
2024-01-04 20:41:12 +01:00
Bram Kragten afb5f3c031 Update frontend to 20240104.0 (#107155) 2024-01-04 19:45:18 +01:00
Jan Bouwhuis 5c82c39936 Reorganize drop_connect tests (#107148) 2024-01-04 17:48:31 +01:00
J. Nick Koston 0695bf8988 Move group helpers into their own module (#106924)
This gets rid of the legacy need to use bind_hass, and
the expand function no longer looses typing.
2024-01-04 17:34:56 +01:00
Jan Bouwhuis 6a02cadc13 Rework drop_connect switch, select and coordinator tests and cleanup fixtures (#107119)
* Refactor drop_connect switch and select tests

* Update coordinator tests, cleanup fixtures
2024-01-04 16:17:48 +01:00
J. Nick Koston 40d034cd8c Revert "Bump aiohttp-zlib-ng to 0.2.0 (#106691)" (#107109) 2024-01-04 15:34:43 +01:00
Martin Hjelmare 80a616d237 Remove zwave_js numeric sensor rounding (#107100) 2024-01-04 13:49:15 +01:00
J. Nick Koston 0ccf8ffbc6 Bump habluetooth to 2.0.2 (#107097) 2024-01-04 02:45:47 -10:00
Franck Nijhof 6debd112af Merge branch 'master' into dev 2024-01-04 13:35:57 +01:00
Erik Montnemery 9eefd95e91 Deduplicate handling of duplicated constants (#107074)
* Deduplicate handling of duplicated constants

* Use DeprecatedConstant + DeprecatedConstantEnum

* Fixup

* Remove test cases with unnamed tuples
2024-01-04 13:25:09 +01:00
J. Nick Koston 1a08bcce77 Fix missing backwards compatibility layer for water_heater supported_features (#107091) 2024-01-04 02:21:52 -10:00
Jan Bouwhuis 10f5ce2dc0 Refactor drop tests for binary_sensor (#107090) 2024-01-04 13:12:11 +01:00
Joost Lekkerkerker 5ae8b6bc02 Add entity descriptions to Streamlabs water (#107071)
* Add sensor tests to Streamlabs water

* Add sensor tests to Streamlabs water

* Use entity descriptions in streamlabs water

* Use entity descriptions in streamlabs water

* Use entity descriptions in streamlabs water

* Add translations
2024-01-04 11:53:04 +01:00
Jan Bouwhuis 5508bb3ef9 Refactor drop sensor tests (#106965)
* Refactor drop sensor tests

* Setup the config entry instead of the component
2024-01-04 10:43:04 +01:00
Franck Nijhof 26055ee636 Update home-assistant/builder to 2024.01.0 (#107069) 2024-01-04 10:19:45 +01:00
Joost Lekkerkerker 333711d951 Add sensor tests to Streamlabs water (#107065) 2024-01-04 09:57:00 +01:00
rappenze 254abeeb4f Remove dead code in fibaro light (#106890) 2024-01-04 09:45:08 +01:00
J. Nick Koston 9c69212ad5 Add test coverage for ESPHome service calls (#107042) 2024-01-04 09:37:56 +01:00
Thomas Kistler 4b3a1b5d2d Update pydrawise to 2024.1.0 (#107032) 2024-01-04 09:36:24 +01:00
J. Nick Koston a83ab403c1 Small cleanups to denonavr (#107050) 2024-01-04 09:35:13 +01:00
Joost Lekkerkerker dd6c5e89ef Fix data access in streamlabs water (#107062)
* Fix data access in streamlabs water

* Fix data access in streamlabs water
2024-01-04 09:13:34 +01:00
Joost Lekkerkerker 85a1d8b34c Use async_register in streamlabswater (#107060) 2024-01-04 09:11:44 +01:00
Joshua Krall 53717523e5 Add button platform to Opengarage (#103569)
* Add button entity to reboot OpenGarage device

* Addressing code review comments

* Another code-review fix

* Update homeassistant/components/opengarage/button.py

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

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-01-04 07:37:24 +01:00
Aaron Bach 4fa76801af Re-architect Guardian to use better entity descriptions and properties (#107028)
* Re-architect Guardian to use better entity descriptions and properties

* Reduce blast area

* Code review

* Remove mixins
2024-01-03 22:17:12 -07:00
Rami Mosleh 2331f89936 Issue warning if glances server version is 2 (#105887)
* Issue warning if glances server version is 2

* Auto detect api version

* Apply suggestions

* Add HA version deprecation

* Apply suggestions from code review

* update config flow tests

* Fix breaks in ha version

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-01-04 05:17:43 +01:00
Paulus Schoutsen 890615bb92 Ring: Add partial back (#107040) 2024-01-03 15:52:05 -10:00
Jan-Philipp Benecke 0183affc7c Use call_soon_threadsafe in token updater of Ring (#106984)
Use call_soon_threadsafe in token update of Ring
2024-01-03 19:59:02 -05:00
J. Nick Koston 4f213f6df3 Fix first ESPHome device update entity not offering install feature (#106993)
In the case where the user gets their first ESPHome device such as a RATGDO,
they will usually add the device first in HA, and than find the dashboard.

The install function will be missing because we do not know if the dashboard
supports updating devices until the first device is added. We now set the
supported features when we learn the version when the first device is added
2024-01-03 19:58:04 -05:00
J. Nick Koston 962c449009 Add missing coverage for esphome_state_property decorator (#106998) 2024-01-03 19:54:28 -05:00
J. Nick Koston 8d2ddb6a04 Small cleanups to ESPHome light platform (#107003)
- Remove unreachable code
- Cache filtering when possible
- Add missing coverage
2024-01-03 19:53:48 -05:00
Tom Harris d535409349 Bump pyinsteon (#107010) 2024-01-03 19:48:57 -05:00
J. Nick Koston 01d0031e09 Fix ESPHome service removal when the device name contains a dash (#107015)
* Fix ESPHome service removal when the device name contains a dash

If the device name contains a dash the service name is mutated to
replace the dash with an underscore, but the remove function did
not do the same mutation so it would fail to remove the service

* add more coverage

* more cover
2024-01-03 19:47:49 -05:00
Maciej Bieniek afcf8c9718 Get Shelly RPC device gen from config entry data (#107019)
Use gen from config entry data
2024-01-03 19:45:59 -05:00
J. Nick Koston 987663e4de Fix missing backwards compatiblity layer for humidifier supported_features (#107026)
fixes #107018
2024-01-03 19:41:50 -05:00
Sid bcc7570d81 Bump openwebifpy to 4.0.4 (#107000) 2024-01-03 19:40:59 -05:00
Robbert Verbruggen bba24a1251 Bump rachiopy to 1.1.0 (#106975) 2024-01-03 22:56:50 +01:00
Patrick Frazer aad2f2cd45 Bump dropmqttapi to 1.0.2 (#106978) 2024-01-03 21:10:00 +01:00
Ståle Storø Hauknes dde4217b2b Close stale connections (Airthings BLE) (#106748)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-01-03 10:08:58 -10:00
Franck Nijhof fb0cc6c5d0 2024.1.0 (#106970) 2024-01-03 18:15:49 +01:00
Michael eb01998395 Add support for placeholders in entity name translations (#104453)
* add placeholder support to entity name translation

* add negativ tests

* make property also available via description

* fix doc string in translation_placeholders()

* fix detection of placeholder

* validate placeholders for localized strings

* add test

* Cache translation_placeholders property

* Make translation_placeholders uncondotionally return dict

* Fall back to unsubstituted name in case of mismatch

* Only replace failing translations with English

* Update snapshots

* Blow up on non stable releases

* Fix test

* Update entity.py

---------

Co-authored-by: Erik <erik@montnemery.com>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-01-03 17:34:47 +01:00
Franck Nijhof 15cecbd4a4 Bump version to 2024.1.0 2024-01-03 17:13:22 +01:00
Franck Nijhof 8cf47c4925 Bump version to 2024.1.0b8 2024-01-03 15:29:59 +01:00
Bram Kragten cd8d95a04d Update frontend to 20240103.3 (#106963) 2024-01-03 15:29:51 +01:00
Jonas Fors Lellky 015752ff11 Set precision to halves in flexit_bacnet (#106959)
flexit_bacnet: set precision to halves for target temperature
2024-01-03 15:29:48 +01:00
jan iversen 9d697c5026 Only set precision in modbus if not configured. (#106952)
Only set precision if not configured.
2024-01-03 15:29:42 +01:00
Bram Kragten 4595c3edaa Update frontend to 20240103.1 (#106948) 2024-01-03 15:29:38 +01:00
Robert Resch e745542431 Fix creating cloud hook twice for mobile_app (#106945) 2024-01-03 15:29:33 +01:00
Bram Kragten d071299233 Update frontend to 20240103.3 (#106963) 2024-01-03 15:28:22 +01:00
Jonas Fors Lellky e2b2732a90 Set precision to halves in flexit_bacnet (#106959)
flexit_bacnet: set precision to halves for target temperature
2024-01-03 14:43:17 +01:00
CR-Tech df97b0e945 Removed double assignment of _attr_target_temperature_step in __init__ (#106611)
Removed double/wrong assignement of _attr_target_temperature_step into climate Init routine
2024-01-03 13:44:14 +01:00
jan iversen 40d4061fc5 Only set precision in modbus if not configured. (#106952)
Only set precision if not configured.
2024-01-03 13:42:55 +01:00
Bram Kragten a7ec78601e Update frontend to 20240103.1 (#106948) 2024-01-03 13:18:09 +01:00
Robert Resch c90f6f2fea Fix creating cloud hook twice for mobile_app (#106945) 2024-01-03 12:29:05 +01:00
Franck Nijhof 2be72fd891 Bump version to 2024.1.0b7 2024-01-03 11:35:43 +01:00
Bram Kragten 2b43f5fcda Update frontend to 20240103.0 (#106942) 2024-01-03 11:35:35 +01:00
Erwin Douna 3295722e70 Change Tado deprecation version to 2024.7.0 (#106938)
Change version to 2024.7.0
2024-01-03 11:35:30 +01:00
Bram Kragten be6ceb020e Update frontend to 20240103.0 (#106942) 2024-01-03 11:32:48 +01:00
Erwin Douna 8ad66c11b0 Change Tado deprecation version to 2024.7.0 (#106938)
Change version to 2024.7.0
2024-01-03 10:30:32 +01:00
Franck Nijhof f98bbf88b1 Bump version to 2024.1.0b6 2024-01-03 09:56:28 +01:00
Michael 0226b3f10c Remove group_members from significant attributes in media player (#106916) 2024-01-03 09:55:55 +01:00
Jan-Philipp Benecke 5986967db7 Avoid triggering ping device tracker home after restore (#106913) 2024-01-03 09:55:52 +01:00
Michael Hansen 95ef2dd7f9 Bump intents to 2024.1.2 (#106909) 2024-01-03 09:55:49 +01:00
Erwin Douna 527d9fbb6b Add try-catch for invalid auth to Tado (#106774)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-01-03 09:55:45 +01:00
Michael 5eb1073b4a Apply late review comments on media player (#106727) 2024-01-03 09:55:41 +01:00
Erwin Douna 59a01fcf9c Add try-catch for invalid auth to Tado (#106774)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-01-03 09:15:39 +01:00
J. Nick Koston 7b3ec60f90 Speed up getting the mean of statistics (#106930)
All the values we need to get the mean for are always list[float]
so we can use a much simpler algorithm to get the mean of the list
2024-01-03 09:13:23 +01:00
J. Nick Koston 710e55fb09 Bump SQLAlchemy to 2.0.25 (#106931)
* Bump SQLAlchemy to 2.0.25

changelog: https://docs.sqlalchemy.org/en/20/changelog/changelog_20.html#change-2.0.25

* drop unused ignore now that upstream is fixed
2024-01-03 09:12:35 +01:00
Marc Mueller b3f997156a Enable strict typing for counter (#106906) 2024-01-03 09:06:26 +01:00
Jan-Philipp Benecke 32b6e4d5de Bump aioelectricitymaps to v0.1.6 (#106932) 2024-01-03 08:52:41 +01:00
Jan-Philipp Benecke 938c32d35e Avoid triggering ping device tracker home after restore (#106913) 2024-01-03 06:40:42 +01:00
Joe Neuman 711498793a Fix qBittorrent torrent count when empty (#106903)
* Fix qbittorrent torrent cound when empty

* lint fix

* Change based on comment
2024-01-03 00:19:00 +01:00
Michael f66438b0ce Remove group_members from significant attributes in media player (#106916) 2024-01-02 23:47:32 +01:00
steffenrapp 608d52f167 Add translatable title to holiday (#106825) 2024-01-02 23:40:38 +01:00
Josef Zweck 87c79ef57f Add tedee bridge as via_device for tedee integration (#106914)
* add bridge as via_device

* add bridge as via_device

* move getting bridge to update_data

* add bridge property
2024-01-02 23:23:50 +01:00
Michael Hansen 5003993658 Bump intents to 2024.1.2 (#106909) 2024-01-02 15:35:48 -06:00
Marc Mueller f0d520d91f Remove assert for unique_id (#106910)
* Remove assert for unique_id

* Use str | None return instead
2024-01-02 22:01:12 +01:00
Franck Nijhof 77cdc10883 Bump version to 2024.1.0b5 2024-01-02 20:59:49 +01:00
Bram Kragten 5100ba252f Update frontend to 20240102.0 (#106898) 2024-01-02 20:59:40 +01:00
Allen Porter b5b8bc3102 Improve To-do service error handling (#106886) 2024-01-02 20:59:37 +01:00
Allen Porter 6f18a29241 Improve fitbit authentication error handling (#106885) 2024-01-02 20:59:34 +01:00
David F. Mulcahey 596f855eab Bump Zigpy to 0.60.4 (#106870) 2024-01-02 20:59:31 +01:00
J. Nick Koston 5877fe135c Close stale connections in yalexs_ble to ensure setup can proceed (#106842) 2024-01-02 20:59:28 +01:00
J. Nick Koston 26cf30fc3a Update switchbot to use close_stale_connections_by_address (#106835) 2024-01-02 20:59:25 +01:00
Sid 3419b8d082 Move urllib3 constraint to pyproject.toml (#106768) 2024-01-02 20:59:22 +01:00
Robert Groot 35fc26457b Changed setup of EnergyZero services (#106224)
* Changed setup of energyzero services

* PR review updates

* Dict access instead of get

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

* Added tests for unloaded state

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-01-02 20:59:18 +01:00
Marc Mueller 1526c321f1 Enable strict typing for axis (#106844) 2024-01-02 20:55:59 +01:00
J. Nick Koston e1f078b70a Bump aiohttp-zlib-ng to 0.2.0 (#106691) 2024-01-02 20:50:26 +01:00
Marc Mueller 43fa51b696 Enable strict typing for blueprint (#106887) 2024-01-02 20:48:51 +01:00
J. Nick Koston 9231e00561 Update switchbot to use close_stale_connections_by_address (#106835) 2024-01-02 20:44:17 +01:00
Bram Kragten 584b6c2862 Update frontend to 20240102.0 (#106898) 2024-01-02 20:42:27 +01:00
J. Nick Koston 73b36086cf Avoid tuple construction to check HKC available (#106902) 2024-01-02 20:41:54 +01:00
Marc Mueller fde03d7888 Enable strict typing for co2signal (#106888) 2024-01-02 20:41:39 +01:00
Marc Mueller dcee8e67c4 Add strict typing to command_line (#106889)
* Add strict typing to command_line

* Code review
2024-01-02 20:04:28 +01:00
Allen Porter 943fb2791e Improve To-do service error handling (#106886) 2024-01-02 19:50:28 +01:00
J. Nick Koston afed45d5d0 Replace intersection with isdisjoint in apple_tv config flow (#106633) 2024-01-02 17:58:00 +01:00
Allen Porter 2e4c4729c4 Improve fitbit authentication error handling (#106885) 2024-01-02 17:51:15 +01:00
J. Nick Koston 54ba00095b Close stale connections in yalexs_ble to ensure setup can proceed (#106842) 2024-01-02 17:50:10 +01:00
Phil Bruckner 4bfeb87377 Remove deprecated Life360 yaml configuration (#106286) 2024-01-02 17:43:33 +01:00
Franck Nijhof 2d0325a471 Mark stt entity component as strictly typed (#106723)
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2024-01-02 17:07:47 +01:00
Erik Montnemery e7b0bf2453 Disable polling in time_date sensor (#106881) 2024-01-02 16:50:07 +01:00
Erik Montnemery a7f4d426ee Handle time zone change in time_date (#106880) 2024-01-02 16:28:22 +01:00
Erik Montnemery 03cbf8b28d Fix state update in time_date sensor (#106879) 2024-01-02 16:22:16 +01:00
Erik Montnemery 513261baff Improve time_date tests (#106878) 2024-01-02 16:04:38 +01:00
starkillerOG ba0cb3bd05 Add Reolink image settings (#105415) 2024-01-02 15:39:28 +01:00
J. Nick Koston 09b65f14b9 Index entities by domain for entity services (#106759) 2024-01-02 15:28:58 +01:00
David F. Mulcahey bf0d891f68 Bump Zigpy to 0.60.4 (#106870) 2024-01-02 08:59:45 -05:00
Erik Montnemery 8f8c0ef13b Deprecate 'beat' display option in Time & Date (#106871)
* Deprecate 'beat' display option in Time & Date

* Move deprecation warning

* Update homeassistant/components/time_date/const.py

Co-authored-by: Sander <developer@golles.nl>

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
Co-authored-by: Sander <developer@golles.nl>
2024-01-02 14:11:45 +01:00
Erik Montnemery 8f9bd75a36 Enable strict typing of date_time (#106868)
* Enable strict typing of date_time

* Fix parse_datetime

* Add test

* Add comments

* Update tests/util/test_dt.py

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

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-01-02 13:57:25 +01:00
Michael 15cdd42c99 Apply late review comments on media player (#106727) 2024-01-02 13:37:58 +01:00
Sid 729a0fbcd5 Move urllib3 constraint to pyproject.toml (#106768) 2024-01-02 13:34:19 +01:00
steffenrapp 0b9242f809 Add translatable title to logbook (#106810) 2024-01-02 13:30:04 +01:00
Marc Mueller 6e6575afe5 Enable strict typing for apache_kafka (#106823) 2024-01-02 13:29:38 +01:00
Franck Nijhof 06fa306821 Mark humidifier entity component as strictly typed (#106721)
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2024-01-02 13:29:07 +01:00
Jan-Philipp Benecke d2a03a4706 Avoid unnecessary domain dataclass in Discovergy (#106869) 2024-01-02 13:28:55 +01:00
Josef Zweck f0132a6b88 Add reauthentication for tedee integration (#106667)
* start work

* add reauth

* title

* reuse user step for reauth

* Update strings.json

* simplify flow

* remove inline if

* remove await hass block
2024-01-02 13:28:15 +01:00
Robert Groot 2df9e5e7b9 Changed setup of EnergyZero services (#106224)
* Changed setup of energyzero services

* PR review updates

* Dict access instead of get

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

* Added tests for unloaded state

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-01-02 13:24:17 +01:00
Joost Lekkerkerker 0d7bb2d124 Improve entity descriptions in Tami4 (#106776)
* Improve entity descriptions in Tami4

* Improve entity descriptions in Tami4

* Improve entity descriptions in Tami4

* Improve entity descriptions in Tami4

* Improve entity descriptions in Tami4
2024-01-02 13:11:19 +01:00
Marc Mueller 4747460286 Enable strict typing for arwn (#106840) 2024-01-02 13:07:47 +01:00
Franck Nijhof fc66dead64 Bump version to 2024.1.0b4 2024-01-02 12:59:23 +01:00
Erik Montnemery 056b06de13 Don't use entity_id in __repr__ of not added entity (#106861) 2024-01-02 12:59:11 +01:00
Matt Zimmerman e604bc8c9b Map missing preset mapping for heat mode "ready" in smarttub (#106856) 2024-01-02 12:59:08 +01:00
J. Nick Koston 59bed57d48 Fix incorrect state in Yale Access Bluetooth when lock status is unknown (#106851) 2024-01-02 12:59:05 +01:00
J. Nick Koston 8c25e2610e Bump yalexs-ble to 2.4.0 (#106834) 2024-01-02 12:59:01 +01:00
J. Nick Koston 38b8a1f95d Bump pySwitchbot to 0.43.0 (#106833) 2024-01-02 12:58:58 +01:00
J. Nick Koston 54a87cf047 Bump bleak-retry-connector to 3.4.0 (#106831) 2024-01-02 12:58:55 +01:00
Bram Kragten 448e98eac5 Update frontend to 20240101.0 (#106808) 2024-01-02 12:58:52 +01:00
Maikel Punie 6ca3c7a673 Bump pyduotecno to 2024.1.1 (#106801)
* Bump pyduotecno to 2024.0.1

* Bump pyduotecno to 2024.1.0

* small update
2024-01-02 12:58:49 +01:00
J. Nick Koston b1a55e9b19 Fix emulated_hue brightness check (#106783) 2024-01-02 12:58:46 +01:00
David Knowles 16d3d88fa3 Bump pyschlage to 2023.12.1 (#106782) 2024-01-02 12:58:43 +01:00
Christopher Bailey 39960caf36 Bump pyunifiprotect to v4.22.5 (#106781) 2024-01-02 12:58:40 +01:00
Benjamin Richter e6d2721d1b Fix fints account type check (#106082) 2024-01-02 12:58:37 +01:00
David Knowles fedb63720c Fix Hydrawise data not refreshing (#105923)
Co-authored-by: Robert Resch <robert@resch.dev>
2024-01-02 12:58:34 +01:00
Luke Lashley 77286e8f59 Constrain dacite to at least 1.7.0 (#105709) 2024-01-02 12:58:31 +01:00
Jan-Philipp Benecke bdaf269ba3 Migrate geo_rss_events test to use freezegun (#105895) 2024-01-02 12:53:36 +01:00
Jan-Philipp Benecke e3b09a5470 Migrate vizio tests to use freezegun (#105417) 2024-01-02 12:53:03 +01:00
J. Nick Koston 038e55a2cb Fix emulated_hue brightness check (#106783) 2024-01-02 12:51:05 +01:00
J. Nick Koston 3f1263a533 Refactor light platform to avoid duplicate property calls (#106857) 2024-01-02 12:49:53 +01:00
J. Nick Koston 73bc65059b Use shorthand attr for screenlogic climate preset modes (#106858) 2024-01-02 12:48:34 +01:00
J. Nick Koston bbdccede85 Refactor restore state saving to avoid a dict lookup of ATTR_RESTORED (#106854) 2024-01-02 12:48:14 +01:00
Stanislas 41646a6514 Xiaomi MIIO: fix typo in error log (#106852) 2024-01-02 12:47:16 +01:00
David Knowles 6f339541c6 Fix Hydrawise data not refreshing (#105923)
Co-authored-by: Robert Resch <robert@resch.dev>
2024-01-02 12:46:39 +01:00
J. Nick Koston 1cbacd13aa Use identity checks for HassJobType (#106860) 2024-01-02 12:33:02 +01:00
vexofp ef261842ac Pass default SSLContext instances to Octoprint custom HTTP sessions (#105351) 2024-01-02 11:59:40 +01:00
J. Nick Koston 93a29ebf2f Bump yalexs-ble to 2.4.0 (#106834) 2024-01-02 11:41:56 +01:00
J. Nick Koston 21fc3203a6 Bump pySwitchbot to 0.43.0 (#106833) 2024-01-02 11:39:04 +01:00
Marc Mueller 8903aecb77 Enable strict typing for airthings (#106814) 2024-01-02 11:38:20 +01:00
J. Nick Koston d89683f980 Fix incorrect state in Yale Access Bluetooth when lock status is unknown (#106851) 2024-01-02 11:37:51 +01:00
J. Nick Koston e40faf957e Bump bleak-esphome to 0.4.1 (#106832) 2024-01-02 11:37:18 +01:00
Erik Montnemery 599271fdc0 Don't use entity_id in __repr__ of not added entity (#106861) 2024-01-02 11:35:16 +01:00
Josef Zweck 97a5f0b2af Add diagnostics for tedee (#106662)
* add diagnostics

* don't redact lock name

* Update test_diagnostics.py

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

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-01-02 10:34:02 +01:00
Benjamin Richter b27e830997 Fix fints account type check (#106082) 2024-01-02 09:59:13 +01:00
Robert Hillis 7396bc61d7 Set entity category and device class for Netgear LTE entities (#106661)
* Set entity category and device class for Netgear

* add suggested unit of measure and precision
2024-01-02 09:55:06 +01:00
J. Nick Koston a4f0c84457 Reduce duplicate code in json_loads (#106859) 2024-01-01 20:25:23 -10:00
Bram Kragten 391123beb0 Update frontend to 20240101.0 (#106808) 2024-01-01 18:15:34 -10:00
Marc Mueller d93d25a7d1 Enable strict typing for ambiclimate (#106819) 2024-01-01 18:09:22 -10:00
Luke Lashley cc18b9a2d8 Constrain dacite to at least 1.7.0 (#105709) 2024-01-01 18:00:17 -10:00
Matt Zimmerman 370345ce2b Map missing preset mapping for heat mode "ready" in smarttub (#106856) 2024-01-01 17:58:12 -10:00
Maikel Punie b074b23979 Bump pyduotecno to 2024.1.1 (#106801)
* Bump pyduotecno to 2024.0.1

* Bump pyduotecno to 2024.1.0

* small update
2024-01-01 23:45:31 +01:00
J. Nick Koston 25f09134b2 Bump bleak-retry-connector to 3.4.0 (#106831) 2024-01-01 12:16:17 -10:00
Marc Mueller aec8dc13b2 Improve acmeda typing (#106812) 2024-01-01 22:16:22 +01:00
Marc Mueller 73ccd0d310 Enable strict typing for arcam_fmj (#106837) 2024-01-01 21:12:29 +01:00
Marc Mueller 33f8a364ab Enable strict typing for arris_tg2492lg (#106838) 2024-01-01 20:47:37 +01:00
Marc Mueller 8501b2e71b Enable strict typing for asterisk_cdr + asterisk_mbox (#106841) 2024-01-01 20:45:16 +01:00
Marc Mueller 3b0d877b5e Enable strict typing for amberelectric (#106817) 2024-01-01 20:35:34 +01:00
Marc Mueller c5c132e1d4 Enable strict typing for airq (#106813) 2024-01-01 20:33:38 +01:00
Marc Mueller f67bae2cde Enable strict typing for aruba (#106839) 2024-01-01 20:33:15 +01:00
Marc Mueller 800351287b Enable strict typing for aquostv (#106836) 2024-01-01 20:32:29 +01:00
Marc Mueller 0077989169 Enable strict typing for alpha_vantage (#106816) 2024-01-01 20:19:19 +01:00
Marc Mueller 4e0c0cf2ca Enable strict typing for androidtv (#106820) 2024-01-01 20:15:01 +01:00
Marc Mueller 06a5e25853 Enable strict typing for anel_pwrctrl (#106821) 2024-01-01 20:14:34 +01:00
Marc Mueller c37e268030 Enable strict typing for aprs (#106824) 2024-01-01 20:14:00 +01:00
Marc Mueller 3433e1d349 Enable strict typing for airthings_ble (#106815) 2024-01-01 18:56:44 +01:00
Xitee a64f912733 Use walrus operator for roomba total cleaned area sensor value (#106772) 2024-01-01 06:24:13 -10:00
J. Nick Koston 41f0eda712 Use shorthand attrs for tplink color temp min/max (#106796)
The valid_temperature_range property does a regex match over
every possible model. Avoid calling it more than once since
it will never change as its based on the model
2024-01-01 13:14:28 +01:00
Marc Mueller 74e02fe057 Update pytest to 7.4.4 (#106802) 2024-01-01 13:12:56 +01:00
Christopher Bailey ce54a1259a Bump pyunifiprotect to v4.22.5 (#106781) 2023-12-31 09:26:21 -10:00
David Knowles 80f8102b83 Bump pyschlage to 2023.12.1 (#106782) 2023-12-31 20:17:51 +01:00
Franck Nijhof a7d11120fa Bump version to 2024.1.0b3 2023-12-31 18:57:11 +01:00
Tobias Sauerwein c06df1957f Bump pyatmo to v8.0.2 (#106758) 2023-12-31 18:56:59 +01:00
puddly 99d575261d Bump ZHA dependencies (#106756)
* Bump ZHA dependencies

* Revert "Remove bellows thread, as it has been removed upstream"

This reverts commit c28053f4bf.
2023-12-31 18:56:57 +01:00
J. Nick Koston 3dca39d0f9 Bump habluetooth to 2.0.1 (#106750)
fixes switching scanners to quickly since the manager failed
to account for jitter in the auto discovered advertising interval

replaces and closes #96531

changelog: https://github.com/Bluetooth-Devices/habluetooth/compare/v2.0.0...v2.0.1
2023-12-31 18:56:53 +01:00
J. Nick Koston a11fd2aaa6 Bump pyunifiprotect to 4.22.4 (#106749)
changelog: https://github.com/AngellusMortis/pyunifiprotect/compare/v4.22.3...v4.22.4
2023-12-31 18:56:51 +01:00
starkillerOG 05768f5fbd Bump reolink_aio to 0.8.5 (#106747) 2023-12-31 18:56:48 +01:00
David F. Mulcahey 3d75603b4f Fix Zlinky energy polling in ZHA (#106738) 2023-12-31 18:56:44 +01:00
Franck Nijhof 2179d4de3d Add missing vacuum toggle service description (#106729) 2023-12-31 18:56:41 +01:00
J. Nick Koston 2255f6737c Pin lxml to 4.9.4 (#106694) 2023-12-31 18:56:38 +01:00
J. Nick Koston 456cb20fcd Fix missed cached_property for hvac_mode in climate (#106692) 2023-12-31 18:56:35 +01:00
Keilin Bickar 8dfbe6849e Bump asyncsleepiq to v1.4.1 (#106682)
Update asyncsleepiq to v1.4.1
2023-12-31 18:56:32 +01:00
J. Nick Koston 3dd998b622 Bump roombapy to 1.6.10 (#106678)
changelog: https://github.com/pschmitt/roombapy/compare/1.6.8...1.6.10

fixes #105323
2023-12-31 18:56:29 +01:00
J. Nick Koston 84da1638e8 Bump thermobeacon-ble to 0.6.2 (#106676)
changelog: https://github.com/Bluetooth-Devices/thermobeacon-ble/compare/v0.6.0...v0.6.2
2023-12-31 18:56:26 +01:00
Erik Montnemery 362e5ca09a Fix changed_variables in automation traces (#106665) 2023-12-31 18:56:23 +01:00
G Johansson 494dd2ef07 Handle no permission for disks in Systemmonitor (#106653) 2023-12-31 18:56:20 +01:00
G Johansson 767c55fbac Use set instead of list in Systemmonitor (#106650) 2023-12-31 18:56:17 +01:00
Erik Montnemery 5f3389b8e4 Fix yolink entity descriptions (#106649) 2023-12-31 18:56:14 +01:00
Jaroslav Hanslík c1e37a4cc3 Fixed native apparent temperature in WeatherEntity (#106645) 2023-12-31 18:56:11 +01:00
Jirka 3cd5f0568a Fix typo in Blink strings (#106641)
Update strings.json

Fixed typo.
2023-12-31 18:56:08 +01:00
Erik Montnemery f9150b78b3 Ensure it's safe to call Entity.__repr__ on non added entity (#106032) 2023-12-31 18:56:04 +01:00
Erik Montnemery c1f1b5c50b Ensure it's safe to call Entity.__repr__ on non added entity (#106032) 2023-12-31 18:54:34 +01:00
David F. Mulcahey c83388fd2d Fix Zlinky energy polling in ZHA (#106738) 2023-12-31 12:12:06 -05:00
J. Nick Koston bfda3f1ba8 Bump habluetooth to 2.0.1 (#106750)
fixes switching scanners to quickly since the manager failed
to account for jitter in the auto discovered advertising interval

replaces and closes #96531

changelog: https://github.com/Bluetooth-Devices/habluetooth/compare/v2.0.0...v2.0.1
2023-12-31 06:44:55 -10:00
Guy Shefer 70e2ff351d Add Tami4 integration boil water button (#103400)
* Implement boil water button

* Sort platforms list

* Get API directly

* Cleanup

* Rename boil button string

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

* Add button to .coveragerc

* Change ButtonEntityDescription to EntityDescription

* Update homeassistant/components/tami4/button.py

* Update homeassistant/components/tami4/button.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-12-31 15:39:00 +01:00
Josef Zweck 83b0934138 Add binary sensors for tedee (#106773)
* fix tests

* Update homeassistant/components/tedee/binary_sensor.py

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

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-12-31 13:16:01 +01:00
Josef Zweck 0549c9e113 Add sensor platform for tedee integration (#106722)
* add sensors

* requested changes

* remove translation key from battery

* fix pullspring test

* loop instead of parametrize

* name snapshots

* fix snapshots
2023-12-31 12:24:44 +01:00
Álvaro Fernández Rojas f7154cff9d Update aioairzone-cloud to v0.3.8 (#106736)
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2023-12-31 11:50:53 +01:00
puddly 98c41f7398 Bump ZHA dependencies (#106756)
* Bump ZHA dependencies

* Revert "Remove bellows thread, as it has been removed upstream"

This reverts commit c28053f4bf.
2023-12-31 04:54:09 -05:00
Tobias Sauerwein 6a582b29f1 Bump pyatmo to v8.0.2 (#106758) 2023-12-31 10:04:42 +01:00
J. Nick Koston 92713c3f37 Bump pyunifiprotect to 4.22.4 (#106749)
changelog: https://github.com/AngellusMortis/pyunifiprotect/compare/v4.22.3...v4.22.4
2023-12-31 09:44:12 +01:00
Franck Nijhof b1dd064f2d Mark time entity component as strictly typed (#106720) 2023-12-31 02:52:59 +01:00
starkillerOG 95f6336ecd Bump reolink_aio to 0.8.5 (#106747) 2023-12-31 00:45:05 +01:00
Franck Nijhof 82b15d9e38 Add missing vacuum toggle service description (#106729) 2023-12-30 23:16:06 +01:00
J. Nick Koston 969f9e2e3f Use more shorthand attrs in bond fan (#106740) 2023-12-30 20:49:06 +01:00
Franck Nijhof 1849d68e78 Mark siren entity component as strictly typed (#106719) 2023-12-30 20:21:33 +01:00
Franck Nijhof ff25211bf9 Mark wake_word entity component as strictly typed (#106724) 2023-12-30 20:20:33 +01:00
Franck Nijhof 2a6a347cd0 Mark datetime entity component as strictly typed (#106717) 2023-12-30 15:47:08 +01:00
DiamondDrake 8140036d2e Add support for cookie file to media_extractor (#104973)
* media_extractor comp -> add support for cookie file

* Update __init__.py

* Update __init__.py

* fixed pr request, added test

* update test with valid cookie file

* move cookies to subdirectory

* use pathlib instead of os.path
2023-12-30 14:34:50 +01:00
Franck Nijhof faa2129e96 Mark todo entity component as strictly typed (#106718) 2023-12-30 14:32:44 +01:00
Franck Nijhof 4764af96a8 Mark date entity component as strictly typed (#106716) 2023-12-30 14:23:43 +01:00
Jan-Philipp Benecke 9d36b716e7 Use call_soon_threadsafe in render_will_timeout of template helper (#106514) 2023-12-30 13:55:53 +01:00
Floris272 ee1b0b46ce Add reauth to Blue Current integration (#106658)
* Add reauth to Blue Current integration.

* Apply feedback

* Fix failing codecov check

* Fix patches

* Add wrong_account to strings.json
2023-12-30 13:53:35 +01:00
Josef Zweck f17470cb29 Upper case tedee device name (#106685) 2023-12-30 13:15:22 +01:00
Michael cc14d80d3d Add ffmpeg to dev-container (#106710) 2023-12-30 13:14:49 +01:00
J. Nick Koston a49999e984 Pin lxml to 4.9.4 (#106694) 2023-12-30 11:29:19 +01:00
G Johansson bcf75795c2 DNS IP implement retry (#105675)
* DNS IP implement retry

* Review comments
2023-12-30 10:51:34 +01:00
Sid f22d6a4279 Use volume up/down from enigma2 API (#106674)
enigma2: use volume up/down from enigma2 API
2023-12-30 10:34:57 +01:00
J. Nick Koston 197525c697 Bump thermobeacon-ble to 0.6.2 (#106676)
changelog: https://github.com/Bluetooth-Devices/thermobeacon-ble/compare/v0.6.0...v0.6.2
2023-12-30 10:33:59 +01:00
Erik Montnemery 461dad3039 Fix changed_variables in automation traces (#106665) 2023-12-30 08:34:21 +01:00
J. Nick Koston 9e3869ae1c Avoid recreating ReadOnly dicts when attributes do not change (#106687) 2023-12-29 17:10:40 -10:00
Keilin Bickar 2177113c6e Bump asyncsleepiq to v1.4.1 (#106682)
Update asyncsleepiq to v1.4.1
2023-12-30 01:45:04 +01:00
J. Nick Koston f3ecec9c44 Fix missed cached_property for hvac_mode in climate (#106692) 2023-12-29 14:12:19 -10:00
J. Nick Koston 8abfde2d15 Bump roombapy to 1.6.10 (#106678)
changelog: https://github.com/pschmitt/roombapy/compare/1.6.8...1.6.10

fixes #105323
2023-12-30 00:45:27 +01:00
J. Nick Koston 6e98f72f8b Bump SQLAlchemy to 2.0.24 (#106672) 2023-12-29 10:19:06 -10:00
Jaroslav Hanslík e83aa86426 Fixed native apparent temperature in WeatherEntity (#106645) 2023-12-29 18:37:46 +01:00
Xitee 2add7707b4 Add roomba total cleaned area sensor (#106640)
* Add roomba total cleaned area sensor

* Use parentheses for multi-line lambda

* Update homeassistant/components/roomba/sensor.py

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

* Update homeassistant/components/roomba/sensor.py

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

* Revert "Update homeassistant/components/roomba/sensor.py"

This reverts commit 819be6179f.

---------

Co-authored-by: Jan-Philipp Benecke <github@bnck.me>
2023-12-29 15:52:38 +01:00
Josef Zweck 02b863e968 Add tedee integration (#102846)
* init tedee

* init tests

* add config flow tests

* liniting

* test

* undo

* linting

* pylint

* add tests

* more tests

* more tests

* update snapshot

* more tests

* typing

* strict typing

* cleanups

* cleanups, fix tests

* remove extra platforms

* remove codeowner

* improvements

* catch tedeeclientexception

* allow bridge selection in CF

* allow bridge selection in CF

* allow bridge selection in CF

* allow bridge selection in CF

* abort earlier

* auto-select bridge

* remove cloud token, optionsflow to remove size

* remove options flow leftovers

* improve coverage

* defer coordinator setting to after first update

* define coordinator

* some improvements

* remove diagnostics, webhook

* remove reauth flow, freeze data classes

* fix lock test

* Update homeassistant/components/tedee/entity.py

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

* Update homeassistant/components/tedee/__init__.py

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

* Update homeassistant/components/tedee/config_flow.py

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

* Update homeassistant/components/tedee/entity.py

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

* Update homeassistant/components/tedee/entity.py

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

* requested changes

* requested changes

* Update lock.py

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

* Update entity.py

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

* Update lock.py

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

* Update config_flow.py

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

* Update config_flow.py

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

* Update config_flow.py

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

* requested changes

* Update tests/components/tedee/test_lock.py

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

* Update tests/components/tedee/test_lock.py

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

* Update tests/components/tedee/test_lock.py

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

* Update tests/components/tedee/test_lock.py

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

* Update tests/components/tedee/conftest.py

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

* Update homeassistant/components/tedee/coordinator.py

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

* Update homeassistant/components/tedee/lock.py

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

* Update tests/components/tedee/test_config_flow.py

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

* Update homeassistant/components/tedee/strings.json

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

* Update homeassistant/components/tedee/strings.json

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

* Update homeassistant/components/tedee/lock.py

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

* Update homeassistant/components/tedee/strings.json

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

* Update homeassistant/components/tedee/lock.py

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

* requested changes

* requested changes

* requested changes

* revert load fixture

* change tests

* Update test_config_flow.py

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

* Update strings.json

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

* Update coordinator.py

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

* remove warning

* move stuff out of try

* add docstring

* tedee lowercase, time.time

* back to some uppercase, time.time

* awaitable

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-12-29 14:55:41 +01:00
Erik Montnemery 56a58f9285 Improve tests of inheriting entity descriptions (#106647) 2023-12-29 13:22:52 +01:00
Erik Montnemery 95d7a66c16 Fix yolink entity descriptions (#106649) 2023-12-29 13:22:06 +01:00
G Johansson 853e4d87fa Handle no permission for disks in Systemmonitor (#106653) 2023-12-29 13:21:36 +01:00
G Johansson 4cd1965786 Use set instead of list in Systemmonitor (#106650) 2023-12-29 13:21:08 +01:00
Jirka 19e0f55fc8 Fix typo in Blink strings (#106641)
Update strings.json

Fixed typo.
2023-12-29 12:01:23 +01:00
Franck Nijhof c54af00ce9 Bump version to 2024.1.0b2 2023-12-29 11:29:50 +01:00
Erik Montnemery bb6f3bc830 Fix missing await when running shutdown jobs (#106632) 2023-12-29 11:28:15 +01:00
J. Nick Koston f84d865c51 Migrate light entity to use contains for LightEntityFeature with deprecation warnings (#106622) 2023-12-29 11:28:12 +01:00
J. Nick Koston 2147df4418 Add deprecation warning for siren supported features when using magic numbers (#106621) 2023-12-29 11:28:09 +01:00
J. Nick Koston af9f6a2b12 Add deprecation warning for lock supported features when using magic numbers (#106620) 2023-12-29 11:28:06 +01:00
J. Nick Koston 024d689b94 Add deprecation warning for alarm_control_panel supported features when using magic numbers (#106619) 2023-12-29 11:28:03 +01:00
J. Nick Koston 9f4790902a Add deprecation warning for cover supported features when using magic numbers (#106618) 2023-12-29 11:27:59 +01:00
J. Nick Koston 5d9177d6e6 Media player platform back-compat for custom components without MediaPlayerEntityFeature (#106616) 2023-12-29 11:27:56 +01:00
J. Nick Koston 70842f197e Vacuum platform back-compat for custom components without VacuumEntityFeature (#106614) 2023-12-29 11:27:53 +01:00
J. Nick Koston f03bb4a2da Humidifier platform back-compat for custom components without HumidifierEntityFeature (#106613) 2023-12-29 11:27:50 +01:00
J. Nick Koston aa6e904e86 Remote platform back-compat for custom components without RemoteEntityFeature (#106609) 2023-12-29 11:27:47 +01:00
J. Nick Koston 6224e630ac Water heater platform back-compat for custom components without WaterHeaterEntityFeature (#106608) 2023-12-29 11:27:44 +01:00
J. Nick Koston 04fe8260ab Fan platform back-compat for custom components without FanEntityFeature (#106607) 2023-12-29 11:27:41 +01:00
J. Nick Koston 4a98a6465e Climate platform back-compat for custom components without ClimateEntityFeature (#106605) 2023-12-29 11:27:38 +01:00
Joe Neuman 06f06b7595 Fix count bug in qBittorrent (#106603) 2023-12-29 11:27:35 +01:00
J. Nick Koston 16192cd7f2 Add helper to report deprecated entity supported features magic numbers (#106602) 2023-12-29 11:27:32 +01:00
Robert Hillis 982707afe6 Fix Netgear LTE halting startup (#106598) 2023-12-29 11:27:28 +01:00
Joost Lekkerkerker 911234ae8f Move aeptexas to aep_texas (#106595) 2023-12-29 11:25:58 +01:00
tronikos 55877b0953 Rename domain aepohio to aep_ohio (#106536)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-12-29 11:23:08 +01:00
J. Nick Koston 0623972ee0 Camera platform back-compat for custom components without CameraEntityFeature (#106529) 2023-12-29 11:11:03 +01:00
J. Nick Koston d407b9fca8 Update platform back-compat for custom components without UpdateEntityFeature (#106528) 2023-12-29 11:10:58 +01:00
Joe Neuman e17e372c94 Fix count bug in qBittorrent (#106603) 2023-12-29 11:08:40 +01:00
Robert Hillis 27bdbc6600 Add entity name and translations to Netgear LTE (#106599) 2023-12-29 11:07:56 +01:00
Brett Adams 149fdfb802 Minor improvements to Tessie device entries (#106623)
Add more fields to device info
2023-12-29 10:32:13 +01:00
Nikolay Vasilchuk c2cfc8ab46 Add GPS satellites count to Starline sensor (#105740)
* GPS Satellites count Starline sensor

* Update homeassistant/components/starline/sensor.py

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

* Update homeassistant/components/starline/strings.json

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

* Capitalise units

* Revert capitalisation

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Dave T <17680170+davet2001@users.noreply.github.com>
2023-12-29 10:29:06 +01:00
Erik Montnemery a4e9a053c7 Fix missing await when running shutdown jobs (#106632) 2023-12-29 10:04:16 +01:00
J. Nick Koston 7702f971fb Use built-in set methods for light supported checks (#106625) 2023-12-29 08:37:44 +01:00
J. Nick Koston 03fcb81a59 Small speed up to compressed state diff (#106624) 2023-12-29 08:36:20 +01:00
J. Nick Koston 7051f28547 Add deprecation warning for cover supported features when using magic numbers (#106618) 2023-12-29 08:34:08 +01:00
Kevin Worrel ee2689de3c Refactor screenlogic numbers to use subclasses (#106574) 2023-12-28 15:45:34 -10:00
J. Nick Koston a47587e3cd Add deprecation warning for siren supported features when using magic numbers (#106621) 2023-12-28 15:45:27 -10:00
J. Nick Koston e4a25825d3 Migrate light entity to use contains for LightEntityFeature with deprecation warnings (#106622) 2023-12-28 15:45:06 -10:00
J. Nick Koston e6c6327463 Add deprecation warning for alarm_control_panel supported features when using magic numbers (#106619) 2023-12-28 15:04:06 -10:00
J. Nick Koston 2b972f6dba Add deprecation warning for lock supported features when using magic numbers (#106620) 2023-12-28 15:03:14 -10:00
J. Nick Koston e0b6d4e216 Media player platform back-compat for custom components without MediaPlayerEntityFeature (#106616) 2023-12-28 14:32:44 -10:00
J. Nick Koston 931e90ab20 Humidifier platform back-compat for custom components without HumidifierEntityFeature (#106613) 2023-12-28 14:10:46 -10:00
J. Nick Koston 4b6aaf6254 Update platform back-compat for custom components without UpdateEntityFeature (#106528) 2023-12-28 14:10:26 -10:00
J. Nick Koston 81726808e8 Vacuum platform back-compat for custom components without VacuumEntityFeature (#106614) 2023-12-28 14:06:25 -10:00
J. Nick Koston 6506a8d511 Camera platform back-compat for custom components without CameraEntityFeature (#106529) 2023-12-29 00:45:35 +01:00
J. Nick Koston 552d4e49f0 Climate platform back-compat for custom components without ClimateEntityFeature (#106605) 2023-12-29 00:36:28 +01:00
J. Nick Koston 3e7c44c612 Fan platform back-compat for custom components without FanEntityFeature (#106607) 2023-12-29 00:36:15 +01:00
J. Nick Koston d0e9f2ce0d Water heater platform back-compat for custom components without WaterHeaterEntityFeature (#106608) 2023-12-29 00:16:02 +01:00
J. Nick Koston 97ee7e2c98 Remote platform back-compat for custom components without RemoteEntityFeature (#106609) 2023-12-29 00:15:48 +01:00
J. Nick Koston a46fe94216 Add helper to report deprecated entity supported features magic numbers (#106602) 2023-12-28 12:24:36 -10:00
Robert Hillis f93b0a4831 Fix Netgear LTE halting startup (#106598) 2023-12-28 22:26:19 +01:00
tronikos 858e01ea42 Rename domain aepohio to aep_ohio (#106536)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-12-28 22:24:11 +01:00
Sid f99c37b2b5 bump openwebifpy to 4.0.3 (#106593) 2023-12-28 21:59:56 +01:00
Joost Lekkerkerker c9ecf3af54 Move aeptexas to aep_texas (#106595) 2023-12-28 21:58:34 +01:00
Bram Kragten 2b7d37cbc2 Bump version to 2024.1.0b1 2023-12-28 21:21:15 +01:00
Bram Kragten 256e3e0597 Revert "Bump version to 2024.1.0"
This reverts commit c9f12d45b4.
2023-12-28 21:20:55 +01:00
Bram Kragten c9f12d45b4 Bump version to 2024.1.0 2023-12-28 21:19:27 +01:00
J. Nick Koston fc021f8633 Bump aiohomekit to 3.1.1 (#106591) 2023-12-28 21:19:19 +01:00
Erik Montnemery 2ffb033a46 Revert "Set volume_step in enigma2 media_player" (#106584) 2023-12-28 21:19:18 +01:00
jjlawren 9de482f429 Cleanup Sonos subscription used during setup (#106575) 2023-12-28 21:19:17 +01:00
J. Nick Koston 7441962211 Bump aiohomekit to 3.1.1 (#106591) 2023-12-28 21:18:05 +01:00
jjlawren ad199aaba2 Cleanup Sonos subscription used during setup (#106575) 2023-12-28 21:08:55 +01:00
Erik Montnemery 90744b0a8e Revert "Set volume_step in enigma2 media_player" (#106584) 2023-12-28 21:08:16 +01:00
G Johansson fa34cbc414 Systemmonitor always load imported disks (#106546)
* Systemmonitor always load legacy disks

* loaded_resources
2023-12-28 20:40:28 +01:00
G Johansson 67629111f9 Systemmonitor always load imported disks (#106546)
* Systemmonitor always load legacy disks

* loaded_resources
2023-12-28 20:39:39 +01:00
Erik Montnemery df894acefa Revert "Set volume_step in frontier_silicon media_player" (#106583)
Revert "Set volume_step in frontier_silicon media_player (#105953)"

This reverts commit 3e50ca6cda.
2023-12-28 20:38:02 +01:00
Erik Montnemery 5125d8622d Revert "Set volume_step in bluesound media_player" (#106582)
Revert "Set volume_step in bluesound media_player (#105672)"

This reverts commit 7fa55ffdd2.
2023-12-28 20:38:01 +01:00
Erik Montnemery 35b9044187 Revert "Set volume_step in sonos media_player" (#106581)
Revert "Set volume_step in sonos media_player (#105671)"

This reverts commit 6dc8c2c370.
2023-12-28 20:38:00 +01:00
Erik Montnemery e953587260 Revert "Set volume_step in monoprice media_player" (#106580)
Revert "Set volume_step in monoprice media_player (#105670)"

This reverts commit cffb51ebec.
2023-12-28 20:38:00 +01:00
Erik Montnemery 925b851366 Revert "Set volume_step in cmus media_player" (#106579)
Revert "Set volume_step in cmus media_player (#105667)"

This reverts commit c10b460c6b.
2023-12-28 20:37:59 +01:00
Erik Montnemery 72dd60e667 Revert "Set volume_step in clementine media_player" (#106578)
Revert "Set volume_step in clementine media_player (#105666)"

This reverts commit 36eeb15fee.
2023-12-28 20:37:58 +01:00
Erik Montnemery 104039e732 Revert "Set volume_step in aquostv media_player" (#106577)
Revert "Set volume_step in aquostv media_player (#105665)"

This reverts commit bb8dce6187.
2023-12-28 20:37:57 +01:00
jjlawren e1e697c16e Bump plexapi to 4.15.7 (#106576) 2023-12-28 20:37:56 +01:00
Michael a111e35026 Only check known attributes in significant change support (#106572)
only check known attributes
2023-12-28 20:37:55 +01:00
jan iversen 0e0cd8e7de Remove default value for modbus lazy_error (#106561) 2023-12-28 20:37:54 +01:00
G Johansson d24a923a73 Replace dash in language if needed (#106559)
* Replace dash in language if needed

* Add tests
2023-12-28 20:37:53 +01:00
Bram Kragten 285bb5632d Update frontend to 20231228.0 (#106556) 2023-12-28 20:37:53 +01:00
G Johansson d7a697faf4 Fix holiday HA language not supported (#106554) 2023-12-28 20:37:52 +01:00
jan iversen 1d0fafcf2d Remove default value from modbus retries (#106551)
Solve retries issue.
2023-12-28 20:37:51 +01:00
G Johansson 571ba0efb0 Bump python-holidays to 0.39 (#106550) 2023-12-28 20:37:50 +01:00
G Johansson 227a69da65 Add missing disks to Systemmonitor (#106541) 2023-12-28 20:37:49 +01:00
Brett Adams 0de6030911 Fix run errors in Tessie (#106521) 2023-12-28 20:37:48 +01:00
Brett Adams 42ffb51b76 Fix Tessie honk button (#106518) 2023-12-28 20:37:48 +01:00
Thomas Hollstegge 50acf85f48 Use correct state for emulated_hue covers (#106516) 2023-12-28 20:37:47 +01:00
Christopher Fenner b8ddd61b26 Avoid changing state of reduced preset in ViCare integration (#105642) 2023-12-28 20:35:46 +01:00
Christopher Fenner b685584b91 Handle AttributeError in ViCare integration (#106470) 2023-12-28 20:35:26 +01:00
Bart Janssens 924e47c2a8 Skip activating/deactivating Vicare standby preset (#106476) 2023-12-28 20:35:00 +01:00
mkmer 8e4fade725 Move services to entity services in blink (#105413)
* Use device name to lookup camera

* Fix device registry serial

* Move to entity based services

* Update tests

* Use config_entry
Move refresh service out of camera

* Use config entry for services

* Fix service schema

* Add depreciation note

* Depreciation note

* key error changes
deprecated (not depreciated)
repair issue

* tweak message

* deprication v2

* back out update field change

* backout update schema changes

* Finish rollback on update service

* update doc strings

* move to 2024.7.0
More verbosity to deprecation message
2023-12-28 20:32:38 +01:00
Thomas Hollstegge 6deb6ddbc4 Use correct state for emulated_hue covers (#106516) 2023-12-28 09:30:26 -10:00
Michael 756847eea8 Only check known attributes in significant change support (#106572)
only check known attributes
2023-12-28 20:20:59 +01:00
G Johansson 648afe121d Replace dash in language if needed (#106559)
* Replace dash in language if needed

* Add tests
2023-12-28 20:16:14 +01:00
mkmer e7e0ae8f6a Move services to entity services in blink (#105413)
* Use device name to lookup camera

* Fix device registry serial

* Move to entity based services

* Update tests

* Use config_entry
Move refresh service out of camera

* Use config entry for services

* Fix service schema

* Add depreciation note

* Depreciation note

* key error changes
deprecated (not depreciated)
repair issue

* tweak message

* deprication v2

* back out update field change

* backout update schema changes

* Finish rollback on update service

* update doc strings

* move to 2024.7.0
More verbosity to deprecation message
2023-12-28 19:56:40 +01:00
Erik Montnemery 1909163c8e Revert "Set volume_step in bluesound media_player" (#106582)
Revert "Set volume_step in bluesound media_player (#105672)"

This reverts commit 7fa55ffdd2.
2023-12-28 19:54:51 +01:00
Erik Montnemery 20d1560b01 Revert "Set volume_step in monoprice media_player" (#106580)
Revert "Set volume_step in monoprice media_player (#105670)"

This reverts commit cffb51ebec.
2023-12-28 19:54:36 +01:00
Erik Montnemery 744f06b5a8 Revert "Set volume_step in cmus media_player" (#106579)
Revert "Set volume_step in cmus media_player (#105667)"

This reverts commit c10b460c6b.
2023-12-28 19:54:21 +01:00
Erik Montnemery 52cc6a1008 Revert "Set volume_step in clementine media_player" (#106578)
Revert "Set volume_step in clementine media_player (#105666)"

This reverts commit 36eeb15fee.
2023-12-28 19:54:10 +01:00
Erik Montnemery 1fc0a305e7 Revert "Set volume_step in aquostv media_player" (#106577)
Revert "Set volume_step in aquostv media_player (#105665)"

This reverts commit bb8dce6187.
2023-12-28 19:53:56 +01:00
Erik Montnemery 29dea2e0ea Revert "Set volume_step in frontier_silicon media_player" (#106583)
Revert "Set volume_step in frontier_silicon media_player (#105953)"

This reverts commit 3e50ca6cda.
2023-12-28 19:50:57 +01:00
Erik Montnemery fb280229c2 Revert "Set volume_step in sonos media_player" (#106581)
Revert "Set volume_step in sonos media_player (#105671)"

This reverts commit 6dc8c2c370.
2023-12-28 19:48:34 +01:00
jjlawren 43384effcd Bump plexapi to 4.15.7 (#106576) 2023-12-28 19:36:57 +01:00
Isak Nyberg 756292234e Add Record distance sensor to MyPermobil (#106519)
* add record-distance-sensor

* simplify UOM property

* remove uom for record_distance description

* remove redundant code

* Update homeassistant/components/permobil/sensor.py

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

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-12-28 19:27:06 +01:00
Robert Hillis 454201d0a8 Add device info to Netgear LTE (#106568)
* Add device info to Netgear LTE

* uno mas
2023-12-28 17:47:04 +01:00
G Johansson 353f33f4ac Add missing disks to Systemmonitor (#106541) 2023-12-28 17:45:21 +01:00
jan iversen 2abf7d75e9 Remove default value for modbus lazy_error (#106561) 2023-12-28 17:37:48 +01:00
Álvaro Fernández Rojas 5dd63d86f2 Update aioairzone-cloud to v0.3.7 (#106544)
Release v0.3.7

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2023-12-28 17:14:25 +01:00
G Johansson 34c9ef42e9 Add myself as codeowner for holiday (#106560) 2023-12-28 16:32:55 +01:00
G Johansson b852eb7e23 Fix holiday HA language not supported (#106554) 2023-12-28 16:10:27 +01:00
G Johansson 0605c499aa Bump python-holidays to 0.39 (#106550) 2023-12-28 16:05:52 +01:00
Bram Kragten 1cbd9bded0 Update frontend to 20231228.0 (#106556) 2023-12-28 16:05:11 +01:00
jan iversen 21dbc57fc1 Remove default value from modbus retries (#106551)
Solve retries issue.
2023-12-28 14:20:56 +01:00
Marc Mueller 1a6e81767d Improve trace helper typing (#105964) 2023-12-28 14:00:24 +01:00
Christopher Fenner 6eec4998bd Avoid changing state of reduced preset in ViCare integration (#105642) 2023-12-28 11:17:13 +01:00
Christopher Fenner af881d7ac8 Handle AttributeError in ViCare integration (#106470) 2023-12-28 09:35:39 +01:00
Bart Janssens a6af2be675 Skip activating/deactivating Vicare standby preset (#106476) 2023-12-28 09:31:35 +01:00
Brett Adams fb893a5315 Fix run errors in Tessie (#106521) 2023-12-28 09:02:04 +01:00
Brett Adams 5b706cedeb Fix Tessie honk button (#106518) 2023-12-28 09:00:34 +01:00
Franck Nijhof 7ad44a02b7 Bump version to 2024.2.0dev0 (#106504) 2023-12-28 02:08:16 +01:00
J. Nick Koston 178e4f9e25 Use converter factory in sensor platform (#106508)
This is a bit faster than calling .covert
2023-12-28 00:06:36 +01:00
dependabot[bot] f59e2b0eec Bump dawidd6/action-download-artifact from 2 to 3.0.0 (#105712)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-12-27 21:52:32 +01:00
Franck Nijhof 0bb892588e Bump version to 2024.1.0b0 2023-12-27 21:23:25 +01:00
ollo69 ee25cb2616 Add AsusWrt temperature sensors provided by http protocol (#105692) 2023-12-27 21:20:03 +01:00
Daniel Schall 8778763a3e Synchronize and cache Generic Camera still image fetching (#105821) 2023-12-27 21:19:25 +01:00
Bernardus Jansen 5545883400 Opentherm gateway: Set unit of measurement for count sensors (#106313) 2023-12-27 21:16:55 +01:00
theorlangur d0409e719b Add ZHA configuration number entity to set/get thermostat cluster local temperature offset (#105765) 2023-12-27 21:16:03 +01:00
David F. Mulcahey 11e4dd0764 Bump ZHA quirks to 109 and add associated configuration entities (#106492) 2023-12-27 21:15:45 +01:00
Martin Hjelmare c462d5b8ca Bump zwave-js-server-python to 0.55.2 (#106496) 2023-12-27 21:05:26 +01:00
Mike Megally 9b2c67fcd2 Add Color Night Vision switch for UniFi Protect (#106500)
* Add a switch to enable and disable "Color Night Vision" for the Unifi Protect platform, which is a feature on the new G5 Pro cameras with a "Vision Enhancer" attached

* Updated tests for the new switch
2023-12-27 09:56:54 -10:00
J. Nick Koston 093c952c38 Bump aiohttp-zlib-ng to 0.1.3 (#106489)
Reverts the workaround that was created for #105254 since the original
issue is fixed in zlib_ng 0.3.0+ which the lib now requires as a minimum
version
2023-12-27 08:04:07 -10:00
Michael 389c8d39f5 Add significant Change support for cover (#106016) 2023-12-27 18:28:24 +01:00
Robert Resch 9508a23f95 Check and register cloud hook if needed for mobile_app (#106461) 2023-12-27 18:01:44 +01:00
Bram Kragten eb437afc67 Update frontend to 20231227.0 (#106486) 2023-12-27 17:59:52 +01:00
dougiteixeira 65c21438a6 Add query type validation independent of declaration position for SQL (#105921)
* Add query type validation independent of declaration position

* Restore close sess

* Separates invalid query and non-read-only query tests

* Add more tests

* Use the SQLParseError exception for queries that are not read-only

* Add handling for multiple SQL queries.

* Fix test

* Clean ';' at the beginning of the SQL query

* Clean ';' at the beginning of the SQL query - init

* Query cleaning before storing

* Query cleaning before setup sesensor plataform - YAML

* Exception when the SQL query type is not detected

* Cleaning

* Cleaning

* Fix typing in tests

* Fix typing in tests

* Add test for query = ';;'

* Update homeassistant/components/sql/__init__.py

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

* Update homeassistant/components/sql/__init__.py

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

* Update __init__.py

* Update config_flow.py

* Clean query before storing

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2023-12-27 17:58:35 +01:00
Caius-Bonus 37707edc47 Match ZHA Custom ClusterHandler on a Custom Cluster using a unique id for the quirk (#101709)
* initial

* fix tests

* match on specific name and quirk name

* fix tests

* fix tests

* store cluster handlers in only one place

* edit tests

* use correct device for quirk id

* change quirk id

* fix tests

* even if there is a quirk id, it doesn't have to have a specific cluster handler

* add tests

* rename quirk_id

* add tests

* fix tests

* fix tests

* use quirk id from zha_quirks
2023-12-27 11:48:30 -05:00
Nikolay Vasilchuk 4330452212 Fix Starline attributes timezone (#105645)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-12-27 17:21:10 +01:00
Joost Lekkerkerker e507d1c5a5 Add more Withings measurement sensors (#105561) 2023-12-27 16:55:42 +01:00
Marcel van der Veldt 13702d51b1 Add more fine grained control over Matter server commissioning for the Companion apps (#106237) 2023-12-27 16:55:07 +01:00
Michael 117ff21c48 Add significant Change support for number (#105863) 2023-12-27 16:54:08 +01:00
Simone Chemelli a6d8a82f3e Add Comelit alarm zones sensor (#106421)
* Add Comelit alarm zones sensor

* apply review comment

* add translation key

* capitalize

* cleanup

* apply review comment

* apply review comment

* more review comment
2023-12-27 16:47:59 +01:00
David F. Mulcahey 817c71747f Delay all ZHA polling until initialization of entities has completed (#105814)
* Don't update entities until they are initialized

* fix hass reference

* only establish polling once

* fix log level and small cleanup

* start device availability checks after full initialization of network

* add logging

* clean up sensor polling and class hierarchy

* don't attempt restore sensor cleanup in this PR

* put check back

* fix race condition and remove parallel updates

* add sensor polling test

* cleanup switch polling and add a test

* clean up and actually fix race condition

* update light forced refresh

* only use flag

* unused flag

* reduce diff size

* collapse
2023-12-27 10:25:41 -05:00
Jon Caruana 45fde2db4e Remove hardcoded bits from LiteJet integration (#106281)
Use the new properties from pylitejet v0.6.0.
2023-12-27 15:43:00 +01:00
Cyrill Raccaud 1d9a2b53e7 Remove initial entity update from swiss_public_transport (#106478)
remove initial update
2023-12-27 15:28:59 +01:00
Martijn van der Pol a823edf1c2 Jinja filter and function for median and statistical_mode (#105554)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-12-27 15:14:20 +01:00
Cyrill Raccaud ed3ea5e5f4 Add device to swiss public transport (#106475)
add to device registry
2023-12-27 15:08:58 +01:00
G Johansson 83f4d3af5c Implement mode validation in Climate entity component (#105745)
* Implement mode validation in Climate entity component

* Fix some tests

* more tests

* Fix translations

* fix deconz tests

* Fix switcher_kis tests

* not None

* Fix homematicip_cloud test

* Always validate

* Fix shelly

* reverse logic in validation

* modes_str

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2023-12-27 14:51:39 +01:00
Jan-Philipp Benecke e04fda3fad Add config flow to trend (#99761)
* Add config flow to trend

* Remove device_class from options flow

* Add min_samples and import step to config flow

* Fix import

* Fixing tests and some cleanup

* remove unneeded usefixtures

* Apply code review suggestions

* Re-add YAML support

* Re-add reload service

* Fix import

* Apply code review suggestions

* Add test coverage for yaml setup

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2023-12-27 14:46:57 +01:00
Erwin Douna 4decc2bbfb Refactor Tado to use OAuth in the DeviceTracker (#102610)
* Refactor to use TadoConnector in the DeviceTracker

* Proposing myself as code owner to be notified of issues

* Update homeassistant/components/tado/device_tracker.py

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

* Fixing method names

* Current progress, switching machines

* Updating DeviceTracker to working prototype

* Removing unnecessary callback

* Adding dispatcher logic

* Minor fine-tuning the intervals

* Removing unnecessary debug log

* Update homeassistant/components/tado/device_tracker.py

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

* Update homeassistant/components/tado/device_tracker.py

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

* Fix sorting

* Retrieve devices from the Tado connector data

* Asyncio feedback & dispatch generic mobile devices

* Updating const

* Fine-tuning unloading

* Making add_tracked_entites callback

* Adding unload over dispatcher_connect

* Convert on_demand_update to callback

* Removing now unused method

* Merging method to on_demand_u

* Adding create_issue to address repair

* Updating with better translation

* Converting to callback

* Adding _attr_should_poll

* Putting back the on_demand_update

* Adding unique_id

* Converting to TrackerEntity

* Adding import step (review needed!)

* Update homeassistant/components/tado/device_tracker.py

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

* Update homeassistant/components/tado/device_tracker.py

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

* Update homeassistant/components/tado/device_tracker.py

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

* Update homeassistant/components/tado/config_flow.py

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

* Typing and location_name

* Changing to _attr_unique_id

* Import improvement attempt

* Property feedback

* Update homeassistant/components/tado/config_flow.py

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

* Adding CONF_HOME_ID and task in get_scanner

* Updating descriptions

* Removing the create_task

* Putting back PLATFORM_SCHEMA

* Adding device_tracker

* Adding get for HomeID

* Get it better ;)

* Retrieve HomeID from API

* Add integration title in dialogs

* Update homeassistant/components/tado/config_flow.py

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

* Update homeassistant/components/tado/config_flow.py

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

* Update homeassistant/components/tado/config_flow.py

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

* Fixing homeID and strings.json

* Delete request in strings

* Update deprecation date

* Adding test cases for import flow

* Update tests/components/tado/test_config_flow.py

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

* Update tests/components/tado/test_config_flow.py

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

* Update tests/components/tado/test_config_flow.py

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

* Removing none

* Fixing test cases

* Update homeassistant/components/tado/config_flow.py

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

* Removing from context manager

* Removing code owner

* Re-adding code owner

* Fix get scanner return value

* Fix device tracker interface

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-12-27 14:17:23 +01:00
Jan-Philipp Benecke 0694ff8965 Use snapshot assertion in homekit_controller diagnostics tests (#105647) 2023-12-27 13:49:09 +01:00
Daniel Schall 485a02c89d Fix Generic Camera interval calculation (#105820) 2023-12-27 13:45:49 +01:00
Christopher Fenner 50b960fb5e Bump PyViCare to 2.32.0 (#106467) 2023-12-27 13:43:45 +01:00
Joakim Sørensen b5012a9964 Adjust the GitHub config flow (#105295) 2023-12-27 13:42:24 +01:00
Joost Lekkerkerker 2d5176d1f6 Use entity descriptions in Netgear LTE (#106414) 2023-12-27 13:39:01 +01:00
Greg Dowling 3911894599 Fix roon volume truncation bug (#105696) 2023-12-27 13:37:13 +01:00
Franck Nijhof 5c566770e0 Merge branch 'master' into dev 2023-12-27 13:35:31 +01:00
Franck Nijhof 0f3e6b0dec Revert "Add preselect_remember_me to /auth/providers" (#106472)
Revert "Add preselect_remember_me to `/auth/providers` (#106462)"

This reverts commit c19688e2d2.
2023-12-27 13:22:12 +01:00
David Knowles 7746a94543 Fix Hydrawise watering time duration unit (#105919)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-12-27 13:20:09 +01:00
Allen Porter 2497798b5d Allow clearing To-do list item extended fields (#106208) 2023-12-27 13:14:59 +01:00
steffenrapp c51ac7171a Add translatable title to Persistent Notification (#104661) 2023-12-27 13:07:44 +01:00
Klaas Schoute d0b6acd5e0 Changed setup of easyEnergy services (#106288) 2023-12-27 13:04:49 +01:00
Richard Kroegel bd4177edc8 Add supports_response to ServiceRegistry.register() (#106164)
Co-authored-by: rikroe <rikroe@users.noreply.github.com>
2023-12-27 13:01:20 +01:00
Michael 0824a1f4a2 Add significant Change support for media player (#105999) 2023-12-27 12:59:33 +01:00
Michael d747b0891d Add significant Change support for fan (#105867) 2023-12-27 12:57:30 +01:00
Rami Mosleh f71e01f652 Improve glances tests (#106402) 2023-12-27 12:55:10 +01:00
Cyrill Raccaud b935facec8 Add coordinator to Swiss public transport (#106278) 2023-12-27 12:54:41 +01:00
Joost Lekkerkerker 9944047b35 Add typing to config flow A (#105721) 2023-12-27 12:51:24 +01:00
G Johansson 8cd0644035 Add translation to ServiceValidationError in Lock (#105746) 2023-12-27 12:50:27 +01:00
Jan Bouwhuis dae8c0fc38 Fix MQTT retained event messages should be discarded (#106425) 2023-12-27 12:48:53 +01:00
kingy444 25f9c5f34b Fix RainMachine bugs (#106231) 2023-12-27 12:38:37 +01:00
Robert Resch c19688e2d2 Add preselect_remember_me to /auth/providers (#106462) 2023-12-27 11:47:52 +01:00
Daniel Hjelseth Høyer 4f38d8cc5d Bump millheater to 0.11.8 (#106464) 2023-12-27 11:44:09 +01:00
Franck Nijhof 8fb5d5c299 Mark Tailwind a platinum quality integration (#106468) 2023-12-27 11:30:10 +01:00
Franck Nijhof ae80d576bf 2023.12.4 (#106460) 2023-12-27 11:06:09 +01:00
Brett Adams 675d4f48b5 Fix update platform in Tessie (#106465)
Return up-to-date
2023-12-27 11:05:17 +01:00
Simone Chemelli f7d482c85b Fix Comelit alarm state (#106466) 2023-12-27 11:04:20 +01:00
Franck Nijhof a78ecb3895 Add error handling to Tailwind service methods (#106463) 2023-12-27 10:53:31 +01:00
Franck Nijhof 68ac4717dc Revert "Raise HomeAssistantError if event is triggered with invalid event_type" (#106458) 2023-12-27 10:22:37 +01:00
mkmer 2b8fc8e5ae Update quality scale for Aladdin (#99342)
update quality scale
2023-12-27 10:13:18 +01:00
Renat Sibgatulin 1031e416be Remove IP / mDNS validation in airq integration setup (#106326)
Original design relied on aioairq.AirQ.__init__ checking if the input
was a valid IP address or an mDNS of a very specific structure,
and raising an InvalidInput otherwise.
Now, aioairq==0.3.2 removes said check completely following a user's
request to allow arbitrary host name and DNS entries.
In the config flow, "cannot_connect" covers the cases of misspelled
inputs now, which previously were covered by a dedicated "invalid_input"
2023-12-27 09:56:13 +01:00
Franck Nijhof d6d8e914bc Flip around Tailwind locked out binary sensor (#106457) 2023-12-27 09:52:16 +01:00
Joe Neuman d33ad57dd3 Add qBittorrent torrent sensors (#105781)
* Upgrade QBittorrent integration to show torrents

This brings the QBittorrent integration to be more in line with the Transmission integration. It updates how the integration is written, along with adding sensors for Active Torrents, Inactive Torrents, Paused Torrents, Total Torrents, Seeding Torrents, Started Torrents.

* Remove unused stuff

* Fix codeowners

* Correct name in comments

* Update __init__.py

* Make get torrents a service with a response

* Update sensor.py

* Update sensor.py

* Update sensor.py

* Add new sensors

* remove service

* more removes

* more

* Address comments

* cleanup

* Update coordinator.py

* Fix most lint issues

* Update sensor.py

* Update sensor.py

* Update manifest.json

* Update sensor class

* Update sensor.py

* Fix lint issue with sensor class

* Adding codeowners

* Update homeassistant/components/qbittorrent/__init__.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-12-27 09:48:52 +01:00
Jan Bouwhuis c7eab49c70 Raise ServiceValidationError on invalid select option (#106350)
* Raise ServiceValidationError on invalid select option

* Fix tests

* Correct place holders

* More test fixes
2023-12-27 09:45:55 +01:00
Franck Nijhof fd8a3cf78f Bump version to 2023.12.4 2023-12-27 09:45:19 +01:00
mkmer 04c0dc7d91 Redact unique id from diagnostics in blink (#106413)
redact unique id
2023-12-27 09:45:06 +01:00
mkmer 690f68c571 Missing exception on relogin in Honeywell (#106324)
Missing exception on relogin
2023-12-27 09:45:03 +01:00
Erik Montnemery 2bf5f8563e Fix Shelly consumption_types (#106273) 2023-12-27 09:45:00 +01:00
Alan Murray baa18eb0bd Bump aiopulse to 0.4.4 (#106239)
* Bump Rolease Acmeda version 

Bump aiopulse version to 0.4.4 to fix issue for blinds that use status structure to indicate blinds that are fully open or closed.

* Update manifest.json

* update requirements
2023-12-27 09:44:56 +01:00
fwestenberg d420483869 Bump Devialet to 1.4.5 (#106184)
* Bump Devialet==1.4.4

* Bump Devialet to 1.4.5
2023-12-27 09:43:32 +01:00
sdb9696 b98cb82f41 Bump ring-doorbell to 0.8.5 (#106178) 2023-12-27 09:43:29 +01:00
fwestenberg c76e1e8c80 Bump Devialet to 1.4.4 (#106171)
Bump Devialet==1.4.4
2023-12-27 09:43:26 +01:00
Tobias Sauerwein 5ab41c40a6 Fix Netatmo light switching states by assuming state until next update (#106162) 2023-12-27 09:43:23 +01:00
Aaron Bach 0beb47ac2c Fix bug with non-existent Notion bridge IDs (#106152) 2023-12-27 09:43:20 +01:00
Phil Bruckner 0ca8e52e57 Bump life360 to 6.0.1 (#106149)
* Bump life360 package to 6.0.1

Fix recent API issues.

* Update requirements files
2023-12-27 09:43:17 +01:00
puddly e3cb90487c Bump ZHA dependencies (#106147) 2023-12-27 09:43:14 +01:00
J. Nick Koston 529d34235c Bump pyenphase to 1.15.2 (#106134) 2023-12-27 09:43:11 +01:00
Ben 56c6de7223 Bump surepy to 0.9.0 (#106101) 2023-12-27 09:43:08 +01:00
Tobias Sauerwein 59c5077557 Bump pyatmo to 8.0.1 (#106094)
Fix missing NLFE
2023-12-27 09:43:05 +01:00
On Freund 937b13dec6 Don't fetch unchanged OurGroceries lists (#105998) 2023-12-27 09:43:02 +01:00
mkmer 6291465313 Bump blinkpy 0.22.4 (#105993) 2023-12-27 09:42:59 +01:00
Stefan Agner 283f8f466f Add Raspberry Pi 5 to version and hardware integration (#105992) 2023-12-27 09:42:56 +01:00
Tobias Sauerwein 03009a2bb9 Fix unreachable Netatmo sensor returning false values (#105954)
* Fix unreachable sensor returning false values

* Clean up unnecessary code
2023-12-27 09:42:53 +01:00
starkillerOG 3b18eb214d Bump motionblinds to 0.6.19 (#105951) 2023-12-27 09:42:50 +01:00
starkillerOG 02919fc1a4 Bump reolink_aio to 0.8.4 (#105946) 2023-12-27 09:42:47 +01:00
starkillerOG 03d7e9182b Bump reolink_aio to 0.8.3 (#105489) 2023-12-27 09:42:42 +01:00
Michael a6018c5f7e Set WiFi QR code entity to unknown when Fritzbox is not available (#105870) 2023-12-27 09:41:07 +01:00
Michael e16fb3a9d3 Address late review comments on AVM FRITZ!SmartHome (#105860)
set copies dict keys by default
2023-12-27 09:41:04 +01:00
J. Nick Koston 5ea2471260 Bump pyunifiprotect to 4.22.3 (#105833)
changelog: https://github.com/AngellusMortis/pyunifiprotect/compare/v4.22.0...v4.22.3
2023-12-27 09:41:01 +01:00
Álvaro Fernández Rojas 7ae296b0f2 Fix Airzone temperature range on new climate card (#105830)
* airzone: climate: fix double setpoint

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

* tests: airzone: fix double setpoint temperature

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

* tests: airzone: fix swapped double setpoint

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

---------

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2023-12-27 09:40:58 +01:00
Maciej Bieniek b58c8eaaa9 Fix HVAC mode duplication for Shelly Gen2 climate platform (#105812)
Fix HVAC mode duplication
2023-12-27 09:40:55 +01:00
Álvaro Fernández Rojas c5e3d922b0 Update aioairzone to v0.7.2 (#105811) 2023-12-27 09:40:52 +01:00
Álvaro Fernández Rojas 0e2677396a Bump aioairzone to v0.7.0 (#105807) 2023-12-27 09:40:49 +01:00
Michael Hansen f1f3301edc Set todo item status in intent (#105743) 2023-12-27 09:40:46 +01:00
Stefan Agner 8bfb6b5745 Add Raspberry Pi 5 specific container image (#105488) 2023-12-27 09:40:42 +01:00
vexofp 6720580a9e Pass timeout to httpx in RESTful Switch (#105364)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-12-27 09:40:39 +01:00
Robert Resch fbcb31b103 Deprecate deprecated unit of measurement constants (#106455) 2023-12-27 09:04:25 +01:00
Joost Lekkerkerker f92e732f27 Use translation placeholders in Swiss public transport (#106416) 2023-12-27 09:01:53 +01:00
Jan Bouwhuis 65e8bbacc9 Raise HomeAssistantError if event is triggered with invalid event_type (#106357) 2023-12-27 08:50:46 +01:00
J. Nick Koston 99734a76aa Use faster contains check in water_heater (#106438) 2023-12-27 08:48:27 +01:00
Martin Hjelmare 59a01da0ed Improve cloud tts tests (#106427) 2023-12-27 08:48:07 +01:00
J. Nick Koston 2cc6fd1afb Add attr caching support to the geo_location platform (#106432) 2023-12-27 08:46:36 +01:00
J. Nick Koston 9b864e8130 Use faster contains check in humidifier (#106433) 2023-12-27 08:46:13 +01:00
J. Nick Koston 7a2a99db2e Use faster contains check in update (#106436) 2023-12-27 08:45:51 +01:00
J. Nick Koston 6dbfd70e30 Use faster contains check in remote (#106435) 2023-12-27 08:45:25 +01:00
J. Nick Koston e801413c73 Use faster contains check in vacuum (#106437) 2023-12-27 08:45:07 +01:00
Robert Resch b08268da31 Deprecate deprecated core constants (#106456) 2023-12-27 08:42:57 +01:00
Brett Adams 2afe3364ca Add names to all Tessie entities (#106267)
* Add name back to device tracker and lock

* Add name to media player

* Add name to update

* Update snapshot

* Keep none name on Update

* Re-add update
2023-12-27 07:56:23 +01:00
Brett Adams 91aea843fc Move Trunks from Button to Cover in Tessie (#106448)
* Move trunks from buttons to covers

* Add tests

* Cleanup snapshot

* Use Constants

* StrEnum to IntEnum
2023-12-27 06:56:09 +01:00
Brett Adams 2fe982c7f3 Handle failed updates in Tessie (#106450) 2023-12-26 17:19:44 -10:00
J. Nick Koston 4b19c28ad9 Use faster contains check in media_player (#106434) 2023-12-26 13:18:22 -10:00
Brett Adams 9dde42a023 Handle Auto Fan and MyFan in Advantage Air (#95594)
* Decouple climate from MyFan

* Add tests

* Prepare for auto change

* Handle both modes

* Fix import

* Remove reference to FAN map

* Correct auto fan logic

* Remove multiline ternary operator

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

* Fix coverage

* fix tests

* ruff

* Test auto fan mode with snapshot

* add more testing

* Add switch testing

* Fix a bug caught by new tests

* Remove ineffective snapshot tests

* Readd snapshots but use args

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2023-12-26 23:31:25 +01:00
Keilin Bickar 615cd56f03 Add Support for SleepIQ Foot Warmers (#105931)
* Add foot warmer support

* Add Tests for foot warmers

* Move attr options out of constructor

* Change options to lowercase

* Update test and translations

* Switch back to entity

* Update homeassistant/components/sleepiq/strings.json

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-12-26 23:31:00 +01:00
J. Nick Koston 51a50fc134 Use faster contains check in fan (#106431) 2023-12-26 12:19:02 -10:00
J. Nick Koston 244a7bef39 Use faster contains check in climate (#106430) 2023-12-26 12:18:52 -10:00
Brett Adams b51a242fd4 Add install to Tessie update platform (#106352) 2023-12-26 11:56:23 -10:00
Brett Adams 728bef20d6 Add more binary sensors to Tessie (#106212) 2023-12-26 11:54:28 -10:00
Joost Lekkerkerker 01ded7daea Add config flow to Streamlabs water (#104962)
* Add config flow to Streamlabs water

* Add config flow to Streamlabs water

* Add config flow to Streamlabs water

* Add issue when import is successful

* Remove import issue when entry already exists

* Remove import issue when entry already exists

* Fix feedback

* Fix feedback

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2023-12-26 22:24:28 +01:00
J. Nick Koston c7b4f8f780 Use faster contains check in camera for stream feature (#106429) 2023-12-26 10:48:31 -10:00
Simone Chemelli 8be8524955 Fix freeze entity description (#106418) 2023-12-26 18:59:40 +01:00
Brett Adams 9b740c1111 Add missing translations to Tessie Button platform (#106232)
Add missing translations
2023-12-26 18:57:30 +01:00
G Johansson 4f0ee20ec5 Add config flow to System Monitor (#104906)
* Initial commit for config flow to System Monitor

* sensors

* Fixes

* Works

* Add import

* entity_registry_enabled_default = False

* entity_category = diagnostic

* Create issue

* issue in config flow

* Tests

* test requirement

* codeowner

* Fix names

* processes

* Fix type

* reviews

* get info during startup once

* Select process

* Legacy import of resources

* requirements

* Allow custom

* Fix tests

* strings

* strings

* Always enable process sensors

* Fix docstrings

* skip remove sensors if no sensors

* Modify sensors

* Fix tests
2023-12-26 18:29:32 +01:00
Simone Chemelli 2cd6c2b6bf Add alarm platform to Comelit (#104718)
* initial work on alarm

* final work on alarm

* coveragerc

* add tests

* add code validation

* remove sensor changes for a dedicated PR

* code optimization and cleanup

* tweaks

* tweak #2

* apply suggestion

* code quality

* code quality #2

* fix cover.py

* api typing

* use base classes where possibile

* apply const as per review comment

* cleanup unload entry

* apply review comments
2023-12-26 18:27:33 +01:00
Marc Mueller c6d1f1ccc8 Fix pytest test collection warning (#106405) 2023-12-26 16:23:19 +01:00
mkmer e9f28c2060 Redact unique id from diagnostics in blink (#106413)
redact unique id
2023-12-26 16:16:54 +01:00
Martin Hjelmare e764372d1e Move cloud binary sensor to config entry (#106409)
* Move cloud binary sensor to config entry

* Fix docstring
2023-12-26 15:12:37 +01:00
Tobias Perschon c8f9285aba Switch unifi_direct to external library (#105046)
* switch to external library

Signed-off-by: Tobias Perschon <tobias@perschon.at>

* use mac as name if no hostname is available

Signed-off-by: Tobias Perschon <tobias@perschon.at>

* update requirements_test_all

Signed-off-by: Tobias Perschon <tobias@perschon.at>

* update .coveragerc

Signed-off-by: Tobias Perschon <tobias@perschon.at>

* update codeowners and remove old tests

Signed-off-by: Tobias Perschon <tobias@perschon.at>

* reverted get_device_name to old behaviour

Signed-off-by: Tobias Perschon <tobias@perschon.at>

* typing and some cleanup

Signed-off-by: Tobias Perschon <tobias@perschon.at>

* typing fix

Signed-off-by: Tobias Perschon <tobias@perschon.at>

* code cleanup

Signed-off-by: Tobias Perschon <tobias@perschon.at>

---------

Signed-off-by: Tobias Perschon <tobias@perschon.at>
2023-12-26 13:22:53 +01:00
Marc Mueller 0d2ec6cd5c Improve drop_connect typing (#106404) 2023-12-26 13:11:05 +01:00
J. Nick Koston 1c96cf33b8 Avoid recreating a set each time sensor unit_of_measurement is called (#106401) 2023-12-25 21:11:48 -10:00
J. Nick Koston b17bec2b0a Cache media player url hashing (#106400) 2023-12-25 21:03:35 -10:00
Maciej Bieniek 3eef1a3f6a Add valve platform for Shelly Gas Valve (#106087)
* Add valve platform

* Update BLOCK_PLATFORMS

* Add tests

* Use _attr_is_closed

* Fix mypy errors

* Make the valve switch to disabled by default

* Add deprecation issues

* Remove LOGGER

* Clean

* Add deprecation comments

* Suggested changes

* Set True for is_fixable

* Show valve entity and services in repair issue
2023-12-26 07:56:21 +01:00
J. Nick Koston b800475242 Use shorthand attrs for more tplink light attributes (#106399)
* Use shorthand attrs for more tplink light attributes

supported_color_modes and features were having to be recalced every time
state was written

* preen
2023-12-26 07:28:40 +01:00
Raman Gupta 18ace16744 Bump zwave-js-server-python to 0.55.1 (#105502) 2023-12-25 23:29:05 -05:00
Robert Hillis 6f9bff7602 Add config flow to Netgear LTE (#93002)
* Add config flow to Netgear LTE

* uno mas

* uno mas

* forgot one

* uno mas

* uno mas

* apply suggestions

* tweak user step

* fix load/unload/dep

* clean up

* fix tests

* test yaml before importing

* uno mas

* uno mas

* uno mas

* uno mas

* uno mas

* fix startup hanging

* break out yaml import

* fix doc string

---------

Co-authored-by: Robert Resch <robert@resch.dev>
2023-12-26 05:19:28 +01:00
Alessandro Mariotti f0e080f958 Bump getmac 0.9.4 (#106321) 2023-12-25 09:18:06 -10:00
J. Nick Koston eb3fde7261 Avoid clearing the attr cache in setter when nothing has changed (#106384) 2023-12-25 09:13:48 -10:00
J. Nick Koston 50f64e053e Use identity checks for sensor device class enums (#106383) 2023-12-25 08:35:44 -10:00
Jan Bouwhuis 3016dbc2bd Enable toggle on valve/cover start in google_assistant (#106378) 2023-12-25 15:40:17 +01:00
Brett Adams 04a56eaabe Add data model to Tessie (#106285)
Add data model
2023-12-25 13:01:13 +01:00
G Johansson 123b2669f3 Add full coverage to Fast.com (#105596)
* Add full test coverage for Fast.com

* Remove not needed

* Add service deprecated test

* Rename speedtest

* Extend delay test
2023-12-25 12:04:07 +01:00
Brett Adams 4c11cb78c8 Add delay to manual refresh in Advantage Air (#104918)
* Add debouncer

* Avoid having 3 calls

* Debounce causes extra refresh in reload window

* Seperate disabled test to avoid latent refresh

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2023-12-25 12:01:59 +01:00
Maciej Bieniek d59142a595 Add missing sensors for Shelly Pro Dimmer 2PM (#105008)
Add missing sensors for Shelly Pro Dimmer 2
2023-12-25 07:02:57 +01:00
Kevin Worrel f45f0b4327 Split out shared screenlogic switch code (#106344) 2023-12-24 11:51:43 -10:00
jan iversen 9066555feb Deprecate parameter "retries" in modbus (#105024) 2023-12-24 16:47:22 +01:00
Patrick Frazer 771409579a Add select platform to drop_connect integration (#106309)
* Add select platform to drop_connect integration

* Fix select test

* Fix minor issues

* Make function definition more specific

* Revert change to switch.py for inclusion in separate PR

* Improve typing

* Add translation keys for select options

* Fix set function typing

* Remove redundant value check

* Remove args that match defaults
2023-12-24 15:03:10 +01:00
Dave T 0a4e82f190 Bump temperusb to 1.6.1 (#106346) 2023-12-24 12:23:26 +01:00
Sid 4ee0666efd Bump openwebifpy to 4.0.2 (#106345)
bump openwebifpy to 4.0.2
2023-12-24 12:22:53 +01:00
mkmer fc349b0875 Missing exception on relogin in Honeywell (#106324)
Missing exception on relogin
2023-12-23 21:11:51 -05:00
J. Nick Koston 3d6fb60e93 Add support for attribute caching to the vacuum platform (#106332) 2023-12-23 15:36:45 -10:00
Joost Lekkerkerker c7cb508896 Add diagnostics to ccm15 (#106329)
* Add diagnostics to ccm15

* Update homeassistant/components/ccm15/diagnostics.py

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

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2023-12-24 02:34:36 +01:00
Joost Lekkerkerker e469c6892b Add Airnow to strict typing (#105566) 2023-12-23 15:16:15 -10:00
J. Nick Koston 278c7ac2a5 Add support for attribute caching to the todo platform (#106341) 2023-12-23 15:15:09 -10:00
J. Nick Koston 2a52453f5d Add support for attribute caching to the datetime platform (#106340) 2023-12-23 15:14:48 -10:00
J. Nick Koston b5e1074062 Add support for attribute caching to the time platform (#106339) 2023-12-23 15:14:31 -10:00
J. Nick Koston b6c2842b01 Add support for attribute caching to the date platform (#106338) 2023-12-23 15:14:09 -10:00
J. Nick Koston 24b14d07de Add support for attribute caching to the water_heater platform (#106336) 2023-12-23 14:29:18 -10:00
J. Nick Koston 38e79bbf9d Add support for attribute caching to the lawn_mower platform (#106335) 2023-12-23 14:28:25 -10:00
J. Nick Koston 63f3c23968 Add support for attribute caching to the weather platform (#106334) 2023-12-23 14:28:08 -10:00
J. Nick Koston 68974a849f Add support for attribute caching to the siren platform (#106337) 2023-12-23 14:27:38 -10:00
J. Nick Koston 85e9bc6f5a Add support for attribute caching to the image platform (#106333) 2023-12-23 14:27:14 -10:00
J. Nick Koston f097e2a2f6 Add support for attribute caching to the media_player platform (#106257) 2023-12-23 13:33:11 -10:00
J. Nick Koston b757984031 Optimize use_device_name check in base entity class (#106209) 2023-12-24 00:30:33 +01:00
J. Nick Koston 6e6d7a0c92 Add support for attribute caching to the event platform (#106330) 2023-12-23 13:23:32 -10:00
Diogo Gomes b674985b20 Add 4 more entities in V2C Trydan EVSE (#105531)
* adds EVSE Lock, Timer, Dynamic Intensity, Dynamic Intensity Pause

* fix casing
2023-12-24 00:20:46 +01:00
J. Nick Koston e43f4412fa Fix native_step in number not looking at _attr_native_step (#106327) 2023-12-23 13:20:24 -10:00
J. Nick Koston abd3c54cbe Add support for attribute caching to the camera platform (#106256) 2023-12-23 13:01:47 -10:00
Jan-Philipp Benecke 2f72d4f9f0 Remove unnecessary async_add_job in face processing of image_processing (#106323) 2023-12-23 12:30:31 -10:00
Sid bd6e2c54e1 Use shorthand attributes in enigma2 (#106318)
* enigma2: add strict typing, change property functions to _attr_*

* applied changes of review

* changes from review
2023-12-23 23:12:03 +01:00
Kevin Worrel 4c912fcf1b Update test data for screenlogic (#106325) 2023-12-23 11:57:27 -10:00
J. Nick Koston 9052b89d63 Add support for attribute caching to the climate platform (#106266) 2023-12-23 11:29:33 -10:00
J. Nick Koston 6d14c265b4 Ensure MQTT attributes are bound to the respective platform entity (#106316) 2023-12-23 10:39:25 -10:00
Oscar Calvo b2caf15434 New integration Midea ccm15 climate (#94824)
* Initial commit

* Correct settings for config flow

* Use scan interval

* Store proper data

* Remove circular dependency

* Remove circular dependency

* Integration can be initialized

* Fix defaults

* Add setup entry

* Add setup entry

* Dont block forever

* Poll during async_setup_entry

* Remove not needed async methods

* Add debug info

* Parse binary data

* Parse binary data

* Use data to update device

* Use data to update device

* Add CCM15DeviceState

* Use DataCoordinator

* Use DataCoordinator

* Use DataCoordinator

* Use CoordinatorEntity

* Use CoordinatorEntity

* Call update API

* Call update API

* Call update API

* Call update API

* Use dataclass

* Use dataclass

* Use dataclass

* Use dataclass

* Use dataclass

* Use dataclass

* Use dataclass

* Use dataclass

* Fix bugs

* Implement swing

* Support swing mode, read only

* Add unit test

* Swing should work

* Set swing mode

* Add DeviceInfo

* Add error code

* Add error code

* Add error code

* Add error code

* Initial commit

* Refactor

* Remove comment code

* Try remove circular ref

* Try remove circular ref

* Remove circular ref

* Fix bug

* Fix tests

* Fix tests

* Increase test coverage

* Increase test coverage

* Increase test coverrage

* Add more unit tests

* Increase coverage

* Update coordinator.py

* Fix ruff

* Set unit of temperature

* Add bounds check

* Fix unit tests

* Add test coverage

* Use Py-ccm15

* Update tests

* Upgrade dependency

* Apply PR feedback

* Upgrade dependency

* Upgrade dependency

* Upgrade dependency

* Force ruff

* Delete not needed consts

* Fix mypy

* Update homeassistant/components/ccm15/coordinator.py

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

* Apply PR Feedback

* Apply PR Feedback

* Apply PR Feedback

* Apply PR Feedback

* Apply PR Feedback

* Apply PR Feedback

* Fix unit tests

* Move climate instance

* Revert "Move climate instance"

This reverts commit cc5b9916b7.

* Apply PR feedback

* Apply PR Feedback

* Remove scan internal parameter

* Update homeassistant/components/ccm15/coordinator.py

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

* Remove empty keys

* Fix tests

* Use attr fields

* Try refactor

* Check for multiple hosts

* Check for duplicates

* Fix tests

* Use PRECISION_WHOLE

* Use str(ac_index)

* Move {self._ac_host}.{self._ac_index} to construtor

* Make it fancy

* Update homeassistant/components/ccm15/coordinator.py

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

* Move const to class variables

* Use actual config host

* Move device info to construtor

* Update homeassistant/components/ccm15/climate.py

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

* Set name to none, dont ask for poll

* Undo name change

* Dont use coordinator in config flow

* Dont use coordinator in config flow

* Check already configured

* Apply PR comments

* Move above

* Use device info name

* Update tests/components/ccm15/test_coordinator.py

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

* Update tests/components/ccm15/test_config_flow.py

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

* Apply feedback

* Remove logger debug calls

* Add new test to check for dupplicates

* Test error

* Use better name for test

* Update homeassistant/components/ccm15/config_flow.py

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

* Update homeassistant/components/ccm15/climate.py

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

* Update homeassistant/components/ccm15/config_flow.py

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

* Use prop data for all getters

* Fix tests

* Improve tests

* Improve tests, v2

* Replace log message by comment

* No need to do bounds check

* Update config_flow.py

* Update test_config_flow.py

* Update test_coordinator.py

* Update test_coordinator.py

* Create test_climate.py

* Delete tests/components/ccm15/test_coordinator.py

* Update coordinator.py

* Update __init__.py

* Create test_climate.ambr

* Update conftest.py

* Update test_climate.py

* Create test_init.py

* Update .coveragerc

* Update __init__.py

* We need to check bounds after all

* Add more test coverage

* Test is not None

* Use better naming

* fix tests

* Add available property

* Update homeassistant/components/ccm15/climate.py

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

* Use snapshots to simulate netwrok failure or power failure

* Remove not needed test

* Use walrus

---------

Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-12-23 21:24:52 +01:00
J. Nick Koston 83e1ba338a Add support for attribute caching to the switch platform (#106258) 2023-12-23 09:22:02 -10:00
Robert Resch ebdf7b9c8c Deprecate some deprecated const constants (#106230)
* Deprecate some deprecated const constants

* Improve code

* fix typing

* Apply suggestions from code review

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

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-12-23 20:18:51 +01:00
Franck Nijhof 55a5e9c4b5 Update psutil to 5.9.7 (#106295) 2023-12-23 09:04:34 -10:00
Joost Lekkerkerker 8c0594219f Add entity translations to Steamist (#96182)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-12-23 08:58:54 -10:00
Jan Bouwhuis 9234852e2a Improve typing on drop_connect switch entity description (#106314)
* Improve typing on drop_connext switch entity description

* Update homeassistant/components/drop_connect/switch.py

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

* Update homeassistant/components/drop_connect/switch.py

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

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-12-23 19:42:41 +01:00
J. Nick Koston 43757ecea5 Add support for attribute caching to the select platform (#106255) 2023-12-23 08:05:00 -10:00
J. Nick Koston 3d9fc8ed77 Add support for attribute caching to the light platform (#106260) 2023-12-23 08:04:30 -10:00
J. Nick Koston 1631a52b09 Add support for attribute caching to the alarm_control_panel platform (#106265) 2023-12-23 08:04:11 -10:00
J. Nick Koston 4ee961cd51 Add support for attribute caching to the cover platform (#106268) 2023-12-23 08:03:44 -10:00
c0ffeeca7 28dccc334d ISY994: remove reference to reload service (#106302) 2023-12-23 07:43:52 -10:00
Brandon Rothweiler c629b434cd Add energy usage sensor to A. O. Smith integration (#105616)
* Add energy usage sensor to A. O. Smith integration

* Address review comments

* Address review comment

* Address review comment

* Create device outside of the entity class

* Address review comment

* remove platinum
2023-12-23 17:24:49 +01:00
Matt 345f7f2003 Fix feedreader date comparison to allow RSS entries with identical timestamps (#104925)
Change feedreader publishdate comparison
2023-12-23 16:48:36 +01:00
Jan Bouwhuis e311a6835e Add valve platform support to google_assistant (#106139)
* Add valve platform to google_assistant

* Use constant for domains set
2023-12-23 16:46:25 +01:00
Patrick Frazer c126022d4f Add switches to drop_connect integration (#106264)
* Add switches to drop_connect integration

* Let device update state

* Simplify icon property

* Use constants for icon names

* Add simulated responses from devices

* Use keyed form for switch value

* Clean up properties
2023-12-23 16:39:31 +01:00
Marco d450a7f57e Improve mikrotik error handling (#106244)
* improve mikrotik error handling

* switch to debug

* fix mock command arguments

* add recommendations

---------

Co-authored-by: Marco98 <Marco98@users.noreply.github.com>
2023-12-23 16:26:27 +01:00
Sid 0af850cbb6 Restructure enigma2 integration to use async (#104206)
Restructure the enigma2 integration to use async
2023-12-23 16:08:53 +01:00
Jan Bouwhuis 6da2f98d34 Fix mqtt valve is not resetting opening or closing state (#106240)
* Fix mqtt valve is not resetting opening or closing state

* Require state or position attr in JSON state update

* Do not change `_attr_is_closed` if valve reports a position

* Add comment, use tuple

* Call _update_state
2023-12-23 15:18:44 +01:00
Brett Adams 043f3e640c Rework entity description functions in Tessie (#106287)
* use lamdba to return the library function

* Rename mocks

* lambda number

* Lambda button

* Add missing

* Remove context manager
2023-12-23 13:45:06 +01:00
doggkruse ea7c839423 Apply units of measure provided in API when available in LaCrosse View (#106299)
* Apply units of measure provided in API when available to avoid mismatch of native units.  Improved fix for #106148

* Fix ruff error
2023-12-23 13:41:15 +01:00
Michael da684d6a7b Add diagnostics support to Tankerkoenig (#106301) 2023-12-23 12:20:15 +01:00
J. Nick Koston d83dafa14a Add support for attribute caching to the fan platform (#106269) 2023-12-23 11:26:40 +01:00
Robert Resch 060172fc24 Deprecate deprecated data entry flow constants (#106229) 2023-12-23 11:25:39 +01:00
Michael 859e7972ac Add significant Change support for vacuum (#106002) 2023-12-23 11:24:32 +01:00
J. Nick Koston ff004a1c20 Add support for attribute caching to the sensor platform (#106252) 2023-12-23 11:13:02 +01:00
J. Nick Koston 97ed6570a7 Add support for attribute caching to the binary_sensor platform (#106253) 2023-12-23 11:11:50 +01:00
J. Nick Koston 1c8d961832 Add support for attribute caching to ToggleEntity (#106272) 2023-12-23 11:11:14 +01:00
J. Nick Koston ca7daa21fe Add support for attribute caching to the text platform (#106262) 2023-12-23 11:10:46 +01:00
J. Nick Koston ef0031cbcf Add support for attribute caching to the button platform (#106259) 2023-12-23 11:09:46 +01:00
J. Nick Koston 98dd69ba09 Add support for attribute caching to the remote platform (#106274) 2023-12-23 11:09:18 +01:00
J. Nick Koston d1174593f9 Add support for attribute caching to the lock platform (#106275) 2023-12-23 11:08:35 +01:00
dependabot[bot] 01da8a089f Bump github/codeql-action from 2.22.10 to 3.22.12 (#106221)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-23 11:06:54 +01:00
J. Nick Koston bb30bfa225 Reduce zeroconf matcher complexity (#105880) 2023-12-23 11:04:05 +01:00
Michael 321dc3984c Add significant Change support for humidifier (#106015) 2023-12-23 10:56:51 +01:00
Robert Resch 20ba764d92 Deprecate deprecated camera constants (#106095) 2023-12-23 10:46:23 +01:00
Franck Nijhof 3404bd4de5 Fix flaky Tailwind tests by fixing via_device (#106294) 2023-12-23 10:45:20 +01:00
Martin Hjelmare 1d0cee5e8a Improve cloud system health tests (#106235) 2023-12-23 10:35:16 +01:00
J. Nick Koston 5156a93b9e Add support for attribute caching to the update platform (#106261) 2023-12-23 10:29:55 +01:00
Aaron Bach 1e12c7fe12 Fix bug with non-existent Notion bridge IDs (#106152) 2023-12-23 10:26:00 +01:00
jjlawren 0ae4d017b9 Add subwoofer crossover support to Sonos Amp devices (#106290) 2023-12-23 10:25:20 +01:00
J. Nick Koston 5d2ddcb1d2 Add support for attribute caching to the number platform (#106254) 2023-12-22 15:22:18 -10:00
J. Nick Koston 634551dae0 Add support for attribute caching to the humidifier platform (#106271) 2023-12-22 15:22:06 -10:00
Phil Bruckner 963347b9c5 Reduce Life360 update time by fetching Places & Members in parallel (#106277) 2023-12-22 16:29:26 -06:00
Erik Montnemery a4357409c8 Fix Shelly consumption_types (#106273) 2023-12-22 22:58:59 +01:00
Bram Kragten 7ba1736637 Filter by supported features for todo services (#106241) 2023-12-22 21:22:16 +01:00
Erik Montnemery 3a744d374b Add support for caching entity properties (#100601) 2023-12-22 09:02:55 -10:00
Martin Hjelmare 087eb86e37 Improve cloud binary sensor tests (#106238)
* Clean up cloud binary sensor test

* Test remove entity
2023-12-22 19:48:07 +01:00
Patrick Frazer c41173bb29 Add binary sensors to drop_connect integration (#106248) 2023-12-22 19:26:52 +01:00
Allen Porter 656d0696bb Add support for re-ordering Google Tasks (#104769)
* Add reorder and task ordering

* Remove un-needed js id code

* Revert dead code deletion

* Remove reverted test and dead logger

* Update comment name
2023-12-22 18:49:41 +01:00
Kristof Mariën 32a5345a85 Add foscam coordinator (#92665)
* Add foscam coordinator

* Code cleanup

* Coordinator cleanup

* Coordinator cleanup

* Replace async_timeout with asyncio.timeout

* Ignore coordinator (requires external device)

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2023-12-22 17:44:52 +01:00
Cyrill Raccaud 181190d22d Log when swiss_public_transport loses connection (#106200)
* better handling of sensor init state

* sensor.py use integrated attr

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

* use parents implementation for availability

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

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-12-22 17:11:49 +01:00
G Johansson d1d5c50b73 Add full test coverage to Trafikverket Train (#106247)
* Add full test coverage for Trafikverket Train

* Coordinator full coverage

* Now full coverage

* Add util
2023-12-22 16:53:51 +01:00
Floris272 8b0d19aca2 Add bluecurrent integration (#82483)
* Add bluecurrent integration

* Apply feedback

* Rename integration

* changed constants and removed strings.sensor.json

* update blue_current integration

* update bluecurrent-api to 1.0.4

* Update bluecurrent-api to 1.0.5

* Apply feedback

* Remove translation

* Apply feedback

* Use customer_id as unique id

* Apply feedback

* Add @pytest.mark.parametrize

* Replace loop.create_task with async_create_task
2023-12-22 16:34:16 +01:00
Joost Lekkerkerker 989a7e7b10 Clean up swiss public transport (#106245) 2023-12-22 15:59:01 +01:00
Rami Mosleh c91ac22d3c Add location selector to Islamic prayer times (#105911)
* Add location selector to config flow

* Simplify entry data

* fix abort string

* Add migration with minor version

* Follow documented migration method
2023-12-22 15:24:50 +01:00
Alan Murray b7661b4d79 Bump aiopulse to 0.4.4 (#106239)
* Bump Rolease Acmeda version 

Bump aiopulse version to 0.4.4 to fix issue for blinds that use status structure to indicate blinds that are fully open or closed.

* Update manifest.json

* update requirements
2023-12-22 15:23:39 +01:00
G Johansson 126a58a33e Return multiple trains in Trafikverket Train (#106206)
* Add list of trains to coordinator

* Fix to work

* snapshot

* Fixes

* Fix
2023-12-22 15:18:16 +01:00
Marc Mueller f06d956da7 Update pytest warnings filter (#106234) 2023-12-22 14:52:31 +01:00
Jan-Philipp Benecke 13504d5fd5 Add consider home interval to ping (#104881)
* Add consider home interval to ping

* Run ruff after rebase

* Fix buggy consider home interval
2023-12-22 14:50:58 +01:00
Marc Mueller a579a0c80a Update coverage to 7.3.4 (#106233) 2023-12-22 14:50:07 +01:00
Erik Montnemery 922cef2884 Don't make huawei_lte entity classes dataclasses (#106160) 2023-12-22 14:27:28 +01:00
Patrick Frazer fce1b6d248 Add DROP integration (#104319)
* Add DROP integration

* Remove all but one platform for first PR

* Simplify initialization of hass.data[] structure

* Remove unnecessary mnemonic 'DROP_' prefix from DOMAIN constants

* Remove unnecessary whitespace

* Clarify configuration 'confirm' step description

* Remove unnecessary whitespace

* Use device class where applicable

* Remove unnecessary constructor and change its elements to class variables

* Change base entity inheritance to CoordinatorEntity

* Make sensor definitions more concise

* Rename HA domain from drop to drop_connect

* Remove underscores from class and function names

* Remove duplicate temperature sensor

* Change title capitalization

* Refactor using SensorEntityDescription

* Remove unnecessary intermediate dict layer

* Remove generated translations file

* Remove currently unused string values

* Use constants in sensor definitions

* Replace values with constants

* Move translation keys

* Remove unnecessary unique ID and config entry references

* Clean up DROPEntity initialization

* Clean up sensors

* Rename vars and functions according to style

* Remove redundant self references

* Clean up DROPSensor initializer

* Add missing state classes

* Simplify detection of configured devices

* Change entity identifiers to create device linkage

* Move device_info to coordinator

* Remove unnecessary properties

* Correct hub device IDs

* Remove redundant attribute

* Replace optional UID with assert

* Remove redundant attribute

* Correct coordinator initialization

* Fix mypy error

* Move API functionality to 3rd party library

* Abstract device to sensor map into a dict

* Unsubscribe MQTT on unload

* Move entity device information

* Make type checking for mypy conditional

* Bump dropmqttapi to 1.0.1

* Freeze dataclass to match parent class

* Fix race condition in MQTT unsubscribe setup

* Ensure unit tests begin with invalid MQTT state

* Change unit tests to reflect device firmware

* Move MQTT subscription out of the coordinator

* Tidy up initializer

* Move entirety of MQTT subscription out of the coordinator

* Make drop_api a class property

* Remove unnecessary type checks

* Simplify some unit test asserts

* Remove argument matching default

* Add entity category to battery and cartridge life sensors
2023-12-22 14:24:08 +01:00
Nikolay Vasilchuk 243ee2247b Add starline binary sensors (#105724)
* Additional attributes for starline

* Handsfree binary sensor

* Sensors

* Review
2023-12-22 13:22:44 +01:00
ashionky 102c7f1959 Add Refoss integration (#100573)
* refoss

* refoss

* refoss

* refoss

* refoss modify

* ip

* 8.22

* format

* format

* format

* bugfix

* test

* test

* test

* test

* test

* test

* 9.1

* refosss

* refoss

* refoss

* refoss

* refoss

* refoss

* refoss

* refoss

* test

* requirements_test_all.txt

* codeowners

* refoss

* Review feedback repair

* strings

* refoss

* refoss

* refoss

* 1.1.1

* 1.1.2

* refoss

* refoss

* refoss.1.1.7

* refoss-gree

* 1.1.7

* test

* refoss

* test refoss

* test refoss

* refoss-test

* refoss

* refoss

* test

* test

* refoss

* CODEOWNERS

* fix

* Update homeassistant/components/refoss/__init__.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-12-22 13:18:32 +01:00
Jan Bouwhuis f536bc1d0c Add valve support to Amazon Alexa (#106053)
Add valve platform to Amazon Alexa
2023-12-22 12:08:06 +01:00
Brett Adams b4f8fe8d4d Add media player platform to Tessie (#106214)
* Add media platform

* Add more props

* Fix platform filename

* Working

* Add a test

* Update test and fixture

* Refactor media player properties to handle null values

* Add comments

* add more assertions

* Fix test docstring

* Use walrus instead.

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

* Test  when media player is idle

* Fix tests

* Remove None type from volume_level

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

* Return media position only when a media duration is > 0

* Remove impossible None type

* Add snapshot and freezer

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-12-22 12:07:47 +01:00
RJPoelstra 2c2e6171e2 Add integration for Vogel's MotionMount (#103498)
* Skeleton for Vogel's MotionMount support.

* Generated updates.

* Add validation of the discovered information.

* Add manual configuration

* Use a mac address as a unique id

* Add tests for config_flow

* Add a 'turn' sensor entity.

* Add all needed sensors.

* Add number and select entity for control of MotionMount

* Update based on development checklist

* Preset selector now updates when a preset is chosen

* Fix adding presets selector to device

* Remove irrelevant TODO

* Bump python-MotionMount requirement

* Invert direction of turn slider

* Prepare for PR

* Make sure entities have correct values when created

* Use device's mac address as unique id for entities.

* Fix missing files in .coveragerc

* Remove typing ignore from device library.

Improved typing also gave rise to the need to improve the callback mechanism

* Improve typing

* Convert property to shorthand form

* Remove unneeded CONF_NAME in ConfigEntry

* Add small comment

* Refresh coordinator on notification from MotionMount

* Use translation for entity

* Bump python-MotionMount

* Raise `ConfigEntryNotReady` when connect fails

* Use local variable

* Improve exception handling

* Reduce duplicate code

* Make better use of constants

* Remove unneeded callback

* Remove other occurrence of unneeded callback

* Improve removal of suffix

* Catch 'getaddrinfo' exception

* Add config flow tests for invalid hostname

* Abort if device with same hostname is already configured

* Make sure we connect to a device with the same unique id as configured

* Convert function names to snake_case

* Remove unneeded commented-out code

* Use tuple

* Make us of config_entry id when mac is missing

* Prevent update of entities when nothing changed

* Don't store data in `hass.data` until we know we will proceed

* Remove coordinator

* Handle situation where mac is EMPTY_MAC

* Disable polling

* Fix failing hassfest

* Avoid calling unique-id-less discovery handler for situations where we've an unique id
2023-12-22 12:04:58 +01:00
Brett Adams c824d06a8c Add number platform to Tessie (#106205)
* Add number platform

* Make self.set consistent

* Fix test docstring

* Use entity descriptions

* Add patch_description to tests

* Rename argument to arg

* Make max key mandatory

* Set SOC min to normal value
2023-12-22 11:57:21 +01:00
Nerdix 9237740103 Increase version default timeout from 10 to 30 seconds (#106158)
* Update __init__.py

* Update __init__.py

* Revert timeout changes

* Revert commit Revert timeout changes
2023-12-22 11:37:03 +01:00
Robert Resch 4d5bea7bcc Deprecate deprecated switch constants (#106225) 2023-12-22 11:23:21 +01:00
Robert Resch 06220849fc Deprecate deprecated water_heater constants (#106226) 2023-12-22 11:23:03 +01:00
Robert Resch e18d2b8873 Deprecate deprecated device_registry helper constants (#106227) 2023-12-22 11:21:45 +01:00
Brett Adams 23fa86cc23 Add cover platform to Tessie (#105422)
* Add cover platform

* fix case

* Remove virtual key issue

* Remove redundant logic

* Fix logic that I missed

* Add missing types

* Add missing type

* Update entity

* Make window name better

* Fix test

* Update docstrings and comments
2023-12-22 10:17:23 +01:00
Brett Adams 1170e72913 Add lock platform to Tessie (#106216)
* Add lock platform

* Update tests

* fix test docstring
2023-12-22 10:11:48 +01:00
Brett Adams abc57ea706 Quality improvements for Tessie (#106218)
Quality improvements
2023-12-22 10:11:18 +01:00
Jon Caruana 72da0a0e1d Bump pylitejet to v0.6.2 (#106222)
Bump pylitejet to 0.6.2
2023-12-22 10:04:16 +01:00
Tobias Sauerwein 7ef20c4431 Fix Netatmo light switching states by assuming state until next update (#106162) 2023-12-22 07:37:57 +01:00
Brett Adams 8918a9c2c4 Add button platform to Tessie (#106210) 2023-12-21 16:40:55 -10:00
Brett Adams e86ac568e1 Add device tracker to Tessie (#105428)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-12-21 14:28:58 -10:00
Robert Resch 8b08b5e8d2 Deprecate legacy_templates (#105556)
* Deprecate legacy_templates

* Improve wording

* Implement suggestion

* simplify

* Add deleting of the repair issues back

* Update homeassistant/components/homeassistant/strings.json

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

* Test issue removal too

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-12-22 00:42:16 +01:00
Jan-Philipp Benecke 88ea5f7a54 Use call_soon_threadsafe in face processing of image_processing (#106168) 2023-12-22 00:38:49 +01:00
J. Nick Koston e75357980a Bump aiohttp-zlib-ng to 0.1.2 (#106193)
fixes #105254
2023-12-22 00:03:42 +01:00
Diogo Alves 69f8514556 Fix lacrosse view sensor units (#106203)
Fixed Unit values from sensor.py

There was a mistake on the units from the sensor that where messing up the device readings on rain, windchill and feels like sensors
2023-12-21 23:28:19 +01:00
Robert Resch c4c422de79 Skip logging deprecated constant if the calling integration couldn't be indentified (#106181)
* Add option to log only if a integreation is detected for a deprecated constant

* Require param

* Add test that log entry is not created

* typo
2023-12-21 23:19:40 +01:00
Cyrill Raccaud 9fbc15c28b Bump python-opendata-transport to 0.4.0 (#106199)
bump version to 0.4.0
2023-12-21 22:17:43 +01:00
Marc Mueller d144d6cd68 Update mypy to 1.8.0 (#106189) 2023-12-21 22:01:49 +01:00
Denis Shulyaka 9ba53e03ee Bump httpx to 0.26.0 and httpcore to 1.0.2 (#106194) 2023-12-21 10:11:00 -10:00
Cyrill Raccaud 7e685f2bc7 Swiss public transport config flow (#105648)
* add config flow

* unit tests

* yaml config import flow

* change deprecation period and simply code

* keep name for legacy yaml
- removing the name now would break current implementations
- it will be removed together with the deprectation of  yaml config flow

* improve error handling, simpler unique_id, cleanup

* simplify issues for yaml import flow

* improve typing and clean name handling

* streamline unit tests
- happy path + errors
- mock opendata instead of aiohttp

* parametrize unit tests

* improve strings

* add missing aborts

* update coverage ignore

* remove redundant test

* minor clean up of constants
2023-12-21 20:38:00 +01:00
J. Nick Koston 54f460b7c9 Improve performance of dhcp on high activity networks (#105884)
* Improve performance of dhcp on high activity networks

Most of the overhead was constructing IPAddress objects
which is solved with https://github.com/bdraco/cached-ipaddress

* fix test

* fix: bump

* bump again

* lets do it on the correct branch
2023-12-21 20:36:09 +01:00
fwestenberg f9c096687f Bump Devialet to 1.4.5 (#106184)
* Bump Devialet==1.4.4

* Bump Devialet to 1.4.5
2023-12-21 20:18:20 +01:00
DeerMaximum dfc7ff8e64 Bump pyvlx to 0.2.21 (#105800)
* Bump pyvlx to 0.2.21

* Fix typing

* Optimize fix
2023-12-21 18:28:42 +01:00
Robert Groot d5c7ae5b34 Add Energyzero get_gas_prices and get_energy_price services (#101374)
Co-authored-by: Klaas Schoute <klaas_schoute@hotmail.com>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-12-21 15:39:51 +01:00
Erik Montnemery 0534b0dee4 Improve entity tests (#106175) 2023-12-21 15:32:25 +01:00
fwestenberg 39a956cea3 Bump Devialet to 1.4.4 (#106171)
Bump Devialet==1.4.4
2023-12-21 15:00:11 +01:00
sdb9696 ab2f3381a5 Bump ring-doorbell to 0.8.5 (#106178) 2023-12-21 14:58:01 +01:00
Martin Hjelmare e1f31194f7 Move cloud stt engine to config entry (#99608)
* Migrate cloud stt to config entry

* Update default engine

* Test config flow

* Migrate pipelines with cloud stt engine to new engine id

* Fix test after rebase

* Update and add comment

* Remove cloud specifics from default stt engine

* Refactor cloud assist pipeline

* Fix cloud stt entity_id

* Try to wait for platforms before creating default pipeline

* Clean up import

* Move function in cloud assist pipeline

* Wait for tts platform loaded in stt migration

* Update deprecation dates

* Clean up not used fixture

* Add test for async_update_pipeline

* Define pipeline update interface better

* Remove leftover

* Fix tests

* Change default engine test

* Add test for missing stt entity during login

* Add and update comments

* Update config entry title
2023-12-21 13:39:02 +01:00
Jan-Philipp Benecke f0104d6851 Remove gios sensor description required fields mixin (#106174) 2023-12-21 13:25:21 +01:00
David Bonnes aa9f00099d Make evohome strictly typed (#106012)
* initial commit

* return to conventional approach

* add type hint for wrapper

* use walrus operator
2023-12-21 13:22:42 +01:00
Richard Kroegel 2b65fb22d3 Remove warning message on BMW initialization (#106169)
Co-authored-by: rikroe <rikroe@users.noreply.github.com>
2023-12-21 13:12:25 +01:00
Brett Adams 13908cf5a6 Add update platform to Tessie (#106093)
* Add version platform

* Add strings and test

* Remove potential for None

* Dont show progress when no update is running

* Return None for no update

* Add comment

* Remove future feature

* WIP

* Fix statuses

* update fixture

* Remove entity name

* Remove name correctly

* Use False for in_progress
2023-12-21 12:43:11 +01:00
Jan Bouwhuis f263da843a Fix typo's en and improve language on MQTT data descriptions (#106165)
* Fix typo's en and prove language on MQTT data descriptions

* Update homeassistant/components/mqtt/strings.json

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

* Update homeassistant/components/mqtt/strings.json

* Update homeassistant/components/mqtt/strings.json

Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com>

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com>
2023-12-21 12:32:24 +01:00
Jan-Philipp Benecke 0ae0331c5c Migrate google related tests to use freezegun (#105552)
* Migrate google related tests to use freezegun

* retrigger CI

* Fix google tests

* Add timezone to config_entry_token_expiry

* Separate config_entry_token_expiry from token_expiry

* Also test token refresh for offset-naive tokens

* retrigger CI

* Apply code review suggestion

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

* Run ruff-format

---------

Co-authored-by: Allen Porter <allen.porter@gmail.com>
2023-12-21 12:23:01 +01:00
Jan Bouwhuis f8f31627ce Refactor ranging utils for mqtt cover (#105739)
* Refactor ranging utils for mqtt cover

* Use literals for default min and max percentage
2023-12-21 11:54:05 +01:00
Michael 0614e291c1 Set WiFi QR code entity to unknown when Fritzbox is not available (#105870) 2023-12-21 10:29:01 +01:00
Matthias Alphart 46d63ad7ba Allow Fronius devices to be deleted (#106141) 2023-12-21 10:02:38 +01:00
J. Nick Koston 235914c63a Improve performance of dhcp integration client processing (#106137)
We were using run_callback_threadsafe here which has the overhead
of creating a future and waiting for the result when we throw
it away.
2023-12-21 09:28:04 +01:00
Brett Adams 1d63c34816 Add flags to EntityDescriptions in Tessie (#105847)
* Add SensorEntityDescription flags

* fix datclass attributes
2023-12-21 09:15:51 +01:00
J. Nick Koston 6845218a24 Bump bluetooth-data-tools to 1.19.0 (#106156) 2023-12-20 21:13:59 -10:00
Erik Montnemery 037eb33710 Refactor media_player test classes (#105630) 2023-12-21 08:11:27 +01:00
Lucas Mindêllo de Andrade 48241771f6 Bump SunWEG to 2.0.3 (#106135)
* chore(sunweg): bump version

* chore(sunweg): bump 2.0.3
2023-12-21 07:45:41 +01:00
puddly bfaae77e51 Bump ZHA dependencies (#106147) 2023-12-21 07:44:36 +01:00
J. Nick Koston e50fe79911 Update habluetooth to 2.0.0 (#106145) 2023-12-20 20:37:39 -10:00
Brett Adams dbb726f41f Add Select platform to Tessie (#105423)
* Add select platform

* Add error coverage

* Fix case

* fix value

* Remove virtual key issue

* Add TessieSeatHeaterOptions enum and update TessieSeatHeaterSelectEntity options

* use ENUM in tests

* Porting other fixes

* Update entity
2023-12-21 07:34:31 +01:00
Phil Bruckner 126f0e4047 Bump life360 to 6.0.1 (#106149)
* Bump life360 package to 6.0.1

Fix recent API issues.

* Update requirements files
2023-12-21 07:18:49 +01:00
tronikos aa51b5f6d4 Add virtual integrations for AEP utilities supported by opower (#106146) 2023-12-21 06:44:40 +01:00
Brett Adams e2cf4244ea Add switch platform to Tessie (#106153)
* Add switch platform

* Make functions mandatory

* Underscores

* Improvements
2023-12-21 06:34:52 +01:00
Brett Adams 7c5824b4f3 Add climate platform to Tessie (#105420)
* Add climate platform

* Other fixes

* Use super native value

* change to _value

* Sentence case strings

* Add some more type definition

* Add return types

* Add some more assertions

* Remove VirtualKey error

* Add type to args

* rename climate to primary

* fix min max

* Use String Enum

* Add PRECISION_HALVES

* Fix string enum

* fix str enum

* Simplify run logic

* Rename enum to TessieClimateKeeper
2023-12-21 06:18:18 +01:00
J. Nick Koston e2314565bb Fix ESPHome Bluetooth diagnostics (#106151) 2023-12-20 18:33:43 -10:00
J. Nick Koston ced4123d4c Bump pyenphase to 1.15.2 (#106134) 2023-12-20 14:10:56 -10:00
J. Nick Koston 5722b4a1ce Break out the ESPHome Bluetooth scanner connection logic into bleak-esphome (#105908) 2023-12-20 13:36:37 -10:00
Robert Resch d47ec91231 Deprecate deprecated sensor constants (#106120) 2023-12-21 00:02:20 +01:00
Robert Resch 494a897568 Deprecate deprecated climate constants (#106096) 2023-12-21 00:00:21 +01:00
J. Nick Koston dfb08e7efd Remove unneeded usage of run_callback_threadsafe in entity helper (#106138)
We do not need to create a future here as we do not
need to wait for the result as its going to run
in the background in a task anyways
2023-12-20 23:57:20 +01:00
Ville Skyttä 24b1e01d71 Update Ruff to 0.1.8, avoid linter/formatter conflicts (#106080)
* Disable Ruff rules that may conflict with the formatter

* Upgrade Ruff to 0.1.8

- https://github.com/astral-sh/ruff/releases/tag/v0.1.7
- https://github.com/astral-sh/ruff/releases/tag/v0.1.8

* Format with Ruff 0.1.8
2023-12-20 23:55:09 +01:00
Jan Bouwhuis f5f9b89848 Add water_heater to google_assistant (#105915)
* Add water_heater to google_assistant

* Follow up comments

* Add water_heater to default exposed domains
2023-12-20 23:26:55 +01:00
Jan Bouwhuis c57cc85174 Add note on overkiz measurement sensor fix (#105141) 2023-12-20 23:07:31 +01:00
Jan Bouwhuis 65d3f7e1c7 Improve error mqtt valve error logging (#106129)
* Improve error mqtt valve error logging

* Update homeassistant/components/mqtt/valve.py

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

* Update homeassistant/components/mqtt/valve.py

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

* Update homeassistant/components/mqtt/valve.py

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

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-12-20 21:18:30 +01:00
Tobias Sauerwein 69dcc159ae Bump pyatmo to 8.0.1 (#106094)
Fix missing NLFE
2023-12-20 20:32:03 +01:00
Robert Resch 98f0ed1892 Deprecate deprecated siren constants (#106121) 2023-12-20 19:11:03 +01:00
Robert Resch 803e77bebd Move prusalink migration to async_migrate_entry and use a minor version bump (#106109)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-12-20 19:10:12 +01:00
Robert Resch ea28b74fe9 Deprecate deprecated alarm control panel constants (#106058) 2023-12-20 18:41:17 +01:00
Robert Resch 491a50a2f1 Deprecate deprecated lock constants (#106113) 2023-12-20 18:07:17 +01:00
Robert Resch 9dd1b9e268 Deprecate deprecated device tracker constants (#106099) 2023-12-20 18:06:38 +01:00
Robert Resch 28e4358c53 Deprecate deprecated humidifier constants (#106112) 2023-12-20 18:05:43 +01:00
Robert Resch 9830f77e9e Deprecate deprecated cover constants (#106098) 2023-12-20 18:04:44 +01:00
Robert Resch c9c072ff3e Deprecate deprecated fan constants (#106111) 2023-12-20 17:54:43 +01:00
J. Nick Koston 2403b21c4f Bump zeroconf to 0.131.0 (#106037) 2023-12-20 06:37:52 -10:00
Robert Resch 036c856500 Deprecate deprecated number constants (#106114) 2023-12-20 17:28:52 +01:00
Robert Resch 58759ff6b7 Deprecate deprecated remote constants (#106116) 2023-12-20 17:20:50 +01:00
Jan Bouwhuis 93c800c4e8 Add water_heater to alexa (#106011)
* Add water_heater support to alexa

* Improve test coverage

* Follow up comments
2023-12-20 16:48:02 +01:00
Robert Resch 5a3db078d5 Use patch.dict in deprecation test "test_check_if_deprecated_constant" (#106117) 2023-12-20 16:06:26 +01:00
Ben 56967a92e0 Bump surepy to 0.9.0 (#106101) 2023-12-20 15:46:54 +01:00
On Freund 3e07cf50ce Don't fetch unchanged OurGroceries lists (#105998) 2023-12-20 10:35:42 +01:00
Nikolay Vasilchuk 33bcf70bf3 Add Starline Service Mode switch (#105741)
* Starline Service Mode switch

* Update homeassistant/components/starline/strings.json

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

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-12-20 09:51:46 +01:00
Jan Bouwhuis c7f6ab2457 Add MQTT valve platform (#105766)
* Add mqtt valve platform

* No stop topic-reports_position and validation

* Do not allow state_open, state_closed with position reporing valve

* Allow open/close feature to be disabled

* Follow up comments

* Rename

* Apply defaults in validator

* Update docstr
2023-12-20 07:49:49 +01:00
Sid 918ea8f56d Move shared enigma2 constants (#106064)
enigma2: move shared constants from media_player.py into its own const.py
2023-12-19 23:19:24 +01:00
J. Nick Koston 97a14f6b6c Bump aioesphomeapi to 21.0.1 (#106079) 2023-12-19 11:43:00 -10:00
vexofp c5a3e58994 Pass timeout to httpx in RESTful Switch (#105364)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-12-19 10:47:42 -10:00
raww f7a5b14cd6 Bump switchbot-api to 1.3.0 (#105594) 2023-12-19 10:27:31 -10:00
Franck Nijhof 63a535e9d9 Small cleanup in Tailwind (#106073) 2023-12-19 21:17:29 +01:00
Michael Chisholm 64a2c64419 Bump async-upnp-client to 0.38.0 (#105980) 2023-12-19 10:12:30 -10:00
Erik Montnemery 1ae6f1e9e2 Add valve support to switch_as_x (#105988) 2023-12-19 20:16:18 +01:00
Robert Resch db985925c4 Deprecate deprecated automation constants (#106067) 2023-12-19 19:22:13 +01:00
Klaas Schoute 9275d35c0a Improve tests for easyEnergy (#105989) 2023-12-19 19:02:40 +01:00
Niklas Wagner 91f8d3faef Upgrade Prusa Link to new Digest Authentication and /v1/ API (#103396)
Co-authored-by: Robert Resch <robert@resch.dev>
2023-12-19 18:07:27 +01:00
Robert Resch c226d793d4 Move common function for testing derepcation constants to util (#106063) 2023-12-19 17:31:31 +01:00
Robert Resch 0e0fd39603 Add dir_with_deprecated_constants function to deprecation helper (#106059) 2023-12-19 16:37:21 +01:00
Franck Nijhof 63136572a5 Update gotailwind to 0.2.2 (#106054) 2023-12-19 13:35:29 +01:00
Joakim Sørensen 5b4000e759 Bump hass-nabucasa from 0.74.0 to 0.75.1 (#105958)
* Bump hass-nabucasa from 0.74.0 to 0.75.1

* Force sorting of parametrized test

* Simplify async_create_issue.severity

* use fixtures
2023-12-19 13:08:27 +01:00
Franck Nijhof 48740e6b05 Add cover platform to Tailwind integration (#106042) 2023-12-19 12:46:21 +01:00
Robert Resch a4ccd6e13b Deprecate binary sensor device class constants (#105736)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-12-19 12:45:32 +01:00
G Johansson c64c1c8f08 Workday create repair if named holiday missing (#101201) 2023-12-19 12:33:05 +01:00
Michael c87f2027d4 Use check_valid_float helper in significant change support of sensor and weather (#106013) 2023-12-19 12:31:10 +01:00
Michael a1614d6b7e Add significant Change support for climate (#106020) 2023-12-19 12:30:30 +01:00
Jan-Philipp Benecke 7d74c89606 Use freezegun in image_upload test (#106045) 2023-12-19 12:26:40 +01:00
Jan-Philipp Benecke f84e43bc0a Use freezegun in qld_bushfire test (#106049) 2023-12-19 12:21:19 +01:00
Jan-Philipp Benecke c50098a845 Use freezegun in nsw_rural_fire_service_feed test (#106050) 2023-12-19 12:20:56 +01:00
Jan-Philipp Benecke 2d31f9e984 Use freezegun in ign_sismologia test (#106051) 2023-12-19 12:20:28 +01:00
Jan-Philipp Benecke f20e4b9df1 Add myself as code owner for rest_command (#106047) 2023-12-19 12:07:13 +01:00
Jan-Philipp Benecke bb6f78dcc4 Remove sun entity description required fields mixin (#105848) 2023-12-19 11:16:35 +01:00
Franck Nijhof ef59394ef4 Add binary sensor platform to Tailwind integration (#106033) 2023-12-19 10:38:56 +01:00
Michael a4cb64e20e Add significant Change support for water heater (#106003) 2023-12-19 10:38:13 +01:00
mkmer 8c3911ffea Bump blinkpy 0.22.4 (#105993) 2023-12-19 10:36:13 +01:00
Jan-Philipp Benecke 40f30675dd Remove gree switch entity description required fields mixin (#105849) 2023-12-19 10:35:19 +01:00
Jan-Philipp Benecke ed9e738985 Remove ipma entity description required fields mixin (#106039) 2023-12-19 10:35:04 +01:00
Guido Schmitz 24191545a1 Bump devolo_home_control_api to 0.18.3 (#106035) 2023-12-19 10:26:54 +01:00
Michael 458fcc6372 Add significant Change support for alarm control panel (#106021) 2023-12-19 09:58:02 +01:00
mkmer 061c144fe8 Correct logic in honeywell for cleaning up stale devices (#106018)
* code quality fixes

* remove unnecessary code

* Remove comment

* change config entry configuration order

* update based on aladdin connect pr
2023-12-19 07:58:35 +01:00
tronikos 09a0ace671 Fix opower for AEP utilities (#106010) 2023-12-18 20:49:18 -10:00
mkmer 69fccec147 Clean up device registry for doors that no longer exist in Aladdin Connect (#99743)
* Remove devices that no longer exist

* Run Black after merge

* config 2 devices then 1 devices

* clean up device assertions

* More generic device check

* Add request from Honeywell PR

* remove unnecesary test
optimize dont_remove

* remove unnecessary test

* Actually test same id different domain

* Test correct id

* refactor remove test

* Remove .get for non optional keys

* Comprehension for all_device_ids

* Fix DR test, remove `remove`

* fix entities for full test coverage

* remove unused variable assignment

* Additional assertions confirming other domain

* Assertion error

* new method for identifier loop

* device_entries for lists
2023-12-19 07:30:02 +01:00
Erik Montnemery 0c2485bc03 Freeze integration entity descriptions (#105984)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-12-18 16:28:13 -10:00
Joakim Plate ae8db120e8 Upgrade gardena_bluetooth to 1.4.1 (#106017) 2023-12-18 16:27:31 -10:00
Luke Lashley 97e66ef9ee Bump Roborock to 0.38.0 (#106025) 2023-12-18 16:26:45 -10:00
Sid 953a035cb5 Update enigma2 codeowners (#106000) 2023-12-18 15:30:23 -10:00
Erik Montnemery 6f392a3b43 Avoid mutating entity descriptions in sunweg tests (#106024) 2023-12-18 15:26:59 -10:00
Erik Montnemery 649e8e689d Fix entity descriptions in upnp (#106023) 2023-12-18 15:26:38 -10:00
Erik Montnemery d1f6b1271f Avoid mutating entity descriptions in screenlogic (#106022) 2023-12-18 15:26:17 -10:00
epenet 17b53d7acb Remove leftover logging in onewire (#105986)
Remove leftover logging
2023-12-19 00:23:51 +01:00
Michael 29e30e796a Add significant change helper check_valid_float (#106005) 2023-12-18 21:59:30 +01:00
Marc Mueller 446f560b59 Set aiohttp shutdown_timeout on AppRunner instead of TCPSite (#105973) 2023-12-18 10:59:23 -10:00
Guido Schmitz b35afccdb7 Add PLC PHY rates as sensor to devolo Home Network (#87039)
* Add plc phyrate sensors

* Fix mypy

* Add tests

* Use suggested_display_precision

* Adapt to recent development

* Remove accidentally added constant

* Fix tests

* Fix pylint

* Use PHY rate instead of phyrate

* Adapt tests

* Hopefully fix mypy

* Hopefully fix mypy

* Use LogicalNetwork

* Apply mypy fixes
2023-12-18 21:11:06 +01:00
Eugenio Panadero b96d2cadac Add new price sensors with API token access to pvpc hourly pricing (#85769)
*  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'

* ♻️ 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

*  Add new price sensors with API token access

New price sensors added:
- Injection price: price of excess energy from self-consumption
- OMIE price: electricity price in the 'open' market
- MAG price: Temporal tax cost for gas compensation

*  Adapt tests to work with multiple sensors

* 🐛 Fix all integration sensors going unavailable

when any sensor lacks data for the current day (usually the 'OMIE price')

* Fix rebase

* Customize icons and display precision for new sensors

* Disable MAG Tax and OMIE price sensors by default

* Move logic to assign sensor unique ids to integration

* Move helper functions to helpers.py

* Fix sensor activation for API download
2023-12-18 21:06:02 +01:00
Erik Montnemery 1d1cd6be57 Avoid mutating entity descriptions in sunweg (#105982) 2023-12-18 10:03:40 -10:00
Erik Montnemery 27f81b3f63 Avoid mutating entity descriptions in unifiprotect (#105976) 2023-12-18 09:58:32 -10:00
Miguel Camba 5175737b60 Add Valve integration (#102184)
* Add Valve integration.

This adds the valve integration discussed in https://github.com/home-assistant/architecture/discussions/975
Most of the code is taken from the cover integration but simplified since valves
can't tilt.

There are a couple outstanding errors I'm not sure how to solve and prevents
me from even making this commit without `--no-verify`.

* Apply PR feedback

* Apply more feedback: Intruduce the bare minimum

* Remove file commited by mistake

* Hopefully this fixes tests

* Match cover's typing and mypy settings

* Change some configuration files

* Fix test

* Increase code coverage a little

* Code coverate inproved to 91%

* 95% code coverage

* Coverate up to 97%

* Coverage 98%

* Apply PR feedback

* Even more feedback

* Add line I shouldn't have removed

* Derive closed/open state from current position

* Hopefully last feedback

* Update homeassistant/components/valve/__init__.py

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

* Update homeassistant/components/valve/__init__.py

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

* Remove unnecesary translation

* Remove unused method arguments

* Complete code coverage

* Update homeassistant/components/valve/__init__.py

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

* Simplify tests

* Update homeassistant/components/valve/__init__.py

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

* Apply last feedback

* Update tests/components/valve/test_init.py

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

* Update tests/components/valve/test_init.py

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

* Update tests/testing_config/custom_components/test/valve.py

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

* More feedback

* Apply suggestion

* And more feedback

* Apply feedback

* Remove commented code

* Reverse logic to unindent

* Update homeassistant/components/valve/__init__.py

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

* Update homeassistant/components/valve/__init__.py

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

* Implement stop valve for Mock valve

* Fix tests now that I've implemented stop_valve

* Assert it's neither opening nor closing

* Use current position instead

* Avoid scheduling executor when opening or closing

* Fix incorrect bitwise operation

* Simplify toggle

* Remove uneeded partial functions

* Make is_last_toggle_direction_open private

* Remove valve from test custom integration

* Improve test coverage

* Address review comments

* Address review comments

* Address review comments

* Update homeassistant/components/valve/__init__.py

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

* Update tests

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Erik <erik@montnemery.com>
2023-12-18 19:48:00 +01:00
Stefan Agner 93a9a9d1e2 Add Raspberry Pi 5 to version and hardware integration (#105992) 2023-12-18 19:31:37 +01:00
Erik Montnemery 0a6f541b27 Avoid mutating entity descriptions in screenlogic (#105983) 2023-12-18 19:14:10 +01:00
Rami Mosleh ab40ba80a9 Improve Transmission Entity description class (#105924)
* Add entity mixin for transmission sensors

* use kw_only in EntityDescription class

* minor fix

* Update sensor.py uom
2023-12-18 19:09:01 +01:00
Franck Nijhof 5f2a13fec6 Add DHCP discovery to Tailwind (#105981) 2023-12-18 15:52:48 +01:00
Daniel Gangl 72fe30439e Rename zamg to GeoSphere Austria (#105494) 2023-12-18 15:47:44 +01:00
Erik Montnemery 2515e520c1 Allow step size any for number selector in slider mode (#105978) 2023-12-18 15:30:59 +01:00
Marc Mueller b671de8942 Improve logging util typing (#105968) 2023-12-18 14:54:12 +01:00
Michael 58070e14a7 Add significant Change support for camera (#105866) 2023-12-18 14:40:55 +01:00
Jan-Philipp Benecke 0972dc5867 Migrate directv test to use freezegun (#105894) 2023-12-18 14:40:13 +01:00
Franck Nijhof 556be26040 Add button platform to Tailwind integration (#105961) 2023-12-18 14:11:43 +01:00
J. Nick Koston 4bdfea5d67 Remove HaAsyncServiceBrowser from zeroconf (#105881) 2023-12-18 14:11:06 +01:00
tronikos 4f11419ae7 Bump google-generativeai to 0.3.1 (#105783) 2023-12-18 14:07:08 +01:00
Franck Nijhof 79aa888ca0 Add diagnostics platform to Tailwind (#105965) 2023-12-18 14:05:15 +01:00
mkmer a2a9a8e231 Fix typo in deprecated comment (#105969) 2023-12-18 14:04:19 +01:00
Erik Montnemery bad9598baa Avoid mutating entity descriptions in ovo_energy (#105971) 2023-12-18 14:03:57 +01:00
Erik Montnemery 8518d46d28 Avoid mutating entity descriptions in radarr (#105972) 2023-12-18 14:03:41 +01:00
Erik Montnemery 7a9e303e20 Avoid mutating entity descriptions in onewire (#105970) 2023-12-18 13:58:57 +01:00
Tobias Sauerwein 57a6effd70 Fix unreachable Netatmo sensor returning false values (#105954)
* Fix unreachable sensor returning false values

* Clean up unnecessary code
2023-12-18 13:57:34 +01:00
Erik Montnemery 94d22c936e Avoid mutating entity descriptions in tomorrowio (#105975) 2023-12-18 13:57:11 +01:00
Erik Montnemery 77c72f2402 Avoid mutating entity descriptions in solaredge (#105974) 2023-12-18 13:55:12 +01:00
Robert Resch 393da7b2e0 Fix easyenergy async_setup_services declaration (#105947) 2023-12-18 13:27:37 +01:00
Marc Mueller 8d0ce6ead6 Improve rfxtrx typing (#105966) 2023-12-18 13:23:30 +01:00
tronikos 82f3f17537 Bump opower to 0.1.0 (#105957) 2023-12-18 12:16:32 +01:00
Franck Nijhof 3c73c0f17f Add reauth support to Tailwind (#105959) 2023-12-18 12:12:56 +01:00
starkillerOG 60fe6ff771 Bump motionblinds to 0.6.19 (#105951) 2023-12-18 11:30:44 +01:00
starkillerOG 253182c650 Reolink change ir to switch (#105916)
* Change IR from light to switch

* Remove old entity

* Add test

* Apply suggestions from code review

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

---------

Co-authored-by: Jan-Philipp Benecke <github@bnck.me>
2023-12-18 11:13:20 +01:00
Erik Montnemery 3e50ca6cda Set volume_step in frontier_silicon media_player (#105953) 2023-12-18 11:08:26 +01:00
Franck Nijhof 90fef6b9c9 Add Tailwind zeroconf discovery (#105949) 2023-12-18 10:39:15 +01:00
starkillerOG f912b9c34a Bump reolink_aio to 0.8.4 (#105946) 2023-12-18 10:37:22 +01:00
Joost Lekkerkerker 0d049d73cf Add AndroidTV remote to strict typing (#105571)
Co-authored-by: Robert Resch <robert@resch.dev>
2023-12-18 10:34:39 +01:00
Klaas Schoute e59e1d7f8e Add prices service calls for easyEnergy (#105175) 2023-12-18 09:37:59 +01:00
Franck Nijhof d50b79ba84 Add Tailwind integration (#105926)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-12-18 08:42:53 +01:00
Brandon Rothweiler 6acbbec839 Address late review comments for A. O. Smith reauth (#105941) 2023-12-18 07:10:14 +01:00
Keilin Bickar 017dc66046 Bump asyncsleepiq to v1.4.0 (#105939) 2023-12-17 17:19:29 -10:00
ollo69 2c54f8bf8e Bump pyasuswrt to 0.1.21 (#105922) 2023-12-17 15:34:19 -10:00
Brett Adams a88335272a Implement Review Feedback for Tessie (#105937) 2023-12-17 15:33:26 -10:00
Marc Mueller aac02d7b84 Add first TypeVarTuple annotations (#105379) 2023-12-18 00:38:07 +01:00
J. Nick Koston 5c503683b7 Bump lru-dict to 1.3.0 (#105914)
* Bump lru-dict to 1.3.0

changelog: https://github.com/amitdev/lru-dict/compare/v1.2.0...v1.3.0

* fix typing

* quote types

* quote types
2023-12-18 00:16:31 +01:00
David Bonnes 45b5ddfad7 Use library constants instead of literals in Evohome (#105039)
* initial commit

* roll back some consts

* doctweak

* tweak linting

* doctweak
2023-12-17 23:08:18 +01:00
J. Nick Koston 67d903ca99 Remove bluetooth-data-tools dep from ESPHome (#105912) 2023-12-17 09:18:20 -10:00
J. Nick Koston 9490da830c Bump bleak-esphome to 0.4.0 (#105909) 2023-12-17 06:15:55 -10:00
J. Nick Koston 3f68abdd3a Bump zeroconf to 0.130.0 (#105868) 2023-12-17 06:00:38 -10:00
Jan-Philipp Benecke 7772f60426 Migrate file test to use freezegun (#105892) 2023-12-17 05:09:10 -10:00
J. Nick Koston 89513efd8d Refactor ESPHome Bluetooth connection logic to prepare for esphome-bleak (#105747) 2023-12-17 04:42:28 -10:00
J. Nick Koston e78588a585 Bump bluetooth-adapters to 0.16.2 (#105878)
changelog: https://github.com/Bluetooth-Devices/bluetooth-adapters/compare/v0.16.1...v0.16.2
2023-12-17 12:48:08 +01:00
J. Nick Koston 87c081e70d Bump aiodiscover to 1.6.0 (#105885) 2023-12-16 16:07:21 -10:00
J. Nick Koston 537dbd8375 Fix cloud tests doing socket I/O (#105874)
https://github.com/home-assistant/core/actions/runs/7233101649/job/19708631179?pr=105868
https://github.com/home-assistant/core/actions/runs/7232949349?pr=105834

I was hoping to only patch the library, but when I did that it still failed
because it had no access token
2023-12-17 01:23:56 +01:00
Ernst Klamer 299a2ef04e Bump qingping_ble to 0.9.0 (#105876) 2023-12-16 10:16:30 -10:00
Ernst Klamer cd15283c2e Bump bthome_ble to 3.3.1 (#105834)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-12-16 09:08:28 -10:00
Michael 4cca174586 Address late review comments on AVM FRITZ!SmartHome (#105860)
set copies dict keys by default
2023-12-16 19:38:58 +01:00
Chris Cohen 5ce782d597 Bump glances-api to 0.5.0 (#105813)
bump glances API to 0.5.0
2023-12-16 19:27:46 +01:00
Álvaro Fernández Rojas 3be12c0611 Fix Airzone temperature range on new climate card (#105830)
* airzone: climate: fix double setpoint

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

* tests: airzone: fix double setpoint temperature

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

* tests: airzone: fix swapped double setpoint

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

---------

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2023-12-16 18:42:58 +01:00
J. Nick Koston 755dcd8bc6 Ensure bluetooth auto recovery does not run in tests (#105841) 2023-12-16 06:09:03 -10:00
Marc Mueller 8549311d1d Update feedparser to 6.0.11 (#105857) 2023-12-16 14:48:51 +01:00
Marc Mueller e7d7bb4f25 Update coverage to 7.3.3 (#105855) 2023-12-16 14:47:47 +01:00
Marc Mueller 80a164347a Update pre-commit to 3.6.0 (#105856) 2023-12-16 14:47:30 +01:00
Erik Montnemery 104bcc64b7 Allow inheriting base component entity descriptions in frozen dataclasses (#105512)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-12-15 23:33:50 -10:00
J. Nick Koston 47f8e08261 Reduce overhead to connect dispatcher (#105715)
Reduce overhead connect dispatcher

- We tend to have 1000s (or 10000s) of connected dispatchers which
  makes these prime targets to reduce overhead/memory

- Instead of creating new functions to wrap log exceptions each time
  use partials which reuses the function body and only create new
  arguments

Previous optimizations #103307 #93602
2023-12-16 10:16:58 +01:00
Joseph Block 1271f16385 Add Unifi device state for additional diagnostics (#105138)
* Add device state for additional diagnostics

* Add state test and fix existing tests

* Utilize IntEnum and dict for state lookup

* Update aiounifi to v68
2023-12-16 08:38:21 +01:00
jjlawren 9c134c6b51 Bump soco to 0.30.0 (#105823) 2023-12-16 08:06:04 +01:00
J. Nick Koston 19341863ba Bump pyunifiprotect to 4.22.3 (#105833)
changelog: https://github.com/AngellusMortis/pyunifiprotect/compare/v4.22.0...v4.22.3
2023-12-16 08:02:00 +01:00
Brett Adams 887f9a21e5 Add Binary Sensor platform to Tessie (#105421) 2023-12-15 18:56:38 -10:00
Brett Adams 59630460c6 Quality fixes for Tessie (#105838) 2023-12-15 16:11:20 -10:00
Álvaro Fernández Rojas a12c490cff Update aioairzone to v0.7.2 (#105811) 2023-12-15 14:59:43 -10:00
Brett Adams e02f4c9c60 Fix translation keys in Tessie (#105824) 2023-12-15 11:25:51 -10:00
Maciej Bieniek 67a30d71e6 Fix HVAC mode duplication for Shelly Gen2 climate platform (#105812)
Fix HVAC mode duplication
2023-12-15 18:14:53 +01:00
Jan Bouwhuis b4741c2069 Add data descriptions to MQTT config flow. (#105301)
* Add data descriptions to MQTT config flow.

* Remove keep allive, correct text CA cert
2023-12-15 16:30:54 +01:00
Álvaro Fernández Rojas af91a54663 Bump aioairzone to v0.7.0 (#105807) 2023-12-15 16:27:00 +01:00
tronikos b344ac42a8 Bump opower to 0.0.41 (#105791) 2023-12-15 13:38:38 +01:00
Joost Lekkerkerker ef5d9d7377 Partly migrate Plex to has entity name (#98841)
* Partly migrate Plex to has entity name

* Use friendly name for device name

* Lowercase
2023-12-15 08:56:26 +01:00
Jan Bouwhuis 3f2fc2fce9 Fix mqtt tests modifying globals (#105774) 2023-12-15 08:15:10 +01:00
Erik Montnemery a2b31a06e3 Avoid mutating entity descriptions in solaredge tests (#105718) 2023-12-15 08:10:35 +01:00
Erik Montnemery c10b460c6b Set volume_step in cmus media_player (#105667) 2023-12-15 00:52:52 +01:00
Erik Montnemery 36eeb15fee Set volume_step in clementine media_player (#105666) 2023-12-15 00:49:30 +01:00
Erik Montnemery bb8dce6187 Set volume_step in aquostv media_player (#105665) 2023-12-15 00:48:02 +01:00
Erik Montnemery 7fa55ffdd2 Set volume_step in bluesound media_player (#105672) 2023-12-15 00:10:31 +01:00
Erik Montnemery cffb51ebec Set volume_step in monoprice media_player (#105670) 2023-12-15 00:09:05 +01:00
Martin Hjelmare 4da04a358a Refactor cloud assist pipeline (#105723)
* Refactor cloud assist pipeline

* Return None early
2023-12-14 23:56:08 +01:00
G Johansson f4c8920231 Bump brottsplatskartan 1.0.5 (#105759) 2023-12-14 23:36:12 +01:00
Michael Hansen 6c5ca58405 Set todo item status in intent (#105743) 2023-12-14 22:53:22 +01:00
G Johansson e055306482 Bump pytrafikverket to 0.3.9.2 (#105752) 2023-12-14 22:05:39 +01:00
Franck Nijhof d56b79a993 2023.12.3 (#105757) 2023-12-14 21:44:14 +01:00
J. Nick Koston 34c7685927 Bump bleak-esphome to 0.3.0 (#105748) 2023-12-14 10:27:52 -10:00
Franck Nijhof 07667a6aee Bump version to 2023.12.3 2023-12-14 20:37:09 +01:00
Franck Nijhof dbfc5ea8f9 Disable user profiles on login screen (#105749) 2023-12-14 20:36:59 +01:00
Charles Garwood 4aa03b33f6 Fix Fully Kiosk Browser MQTT event callbacks with non-standard event topics (#105735) 2023-12-14 20:36:56 +01:00
epenet 25bfe7ec82 Fix issue clearing renault schedules (#105719)
* Fix issue clearing renault schedules

* Adjust
2023-12-14 20:36:52 +01:00
Jan-Philipp Benecke f8e92ddcb3 Add missing rest_command reload service to services.yaml (#105714)
* Add missing rest_command reload service to services.yaml

* Add missing strings.json

* retrigger stale CI
2023-12-14 20:36:48 +01:00
J. Nick Koston 73e234dfa5 Bump zeroconf to 0.128.5 (#105694) 2023-12-14 20:36:16 +01:00
Robert Svensson 3adda6b110 Fix restoring UniFi clients with old unique id (#105691)
Fix restoring UniFi clients with bad unique id
2023-12-14 20:35:07 +01:00
Álvaro Fernández Rojas d5ecc55f89 Update AEMET-OpenData to v0.4.7 (#105676) 2023-12-14 20:35:03 +01:00
Michael bfdadd12e9 Ensure platform setup for all AVM FRITZ!SmartHome devices (#105515) 2023-12-14 20:34:59 +01:00
Franck Nijhof cc75430af3 Disable user profiles on login screen (#105749) 2023-12-14 20:28:08 +01:00
Charles Garwood 032d120a26 Include Envoy firmware version in Enphase diagnostics (#105742)
* Include Envoy firmware version in Enphase diagnostics

* Update tests
2023-12-14 13:59:39 -05:00
Charles Garwood 40f914214b Fix Fully Kiosk Browser MQTT event callbacks with non-standard event topics (#105735) 2023-12-14 18:59:37 +01:00
Álvaro Fernández Rojas a488d120b7 Update AEMET-OpenData to v0.4.7 (#105676) 2023-12-14 18:59:04 +01:00
J. Nick Koston 8d1a69ae84 Migrate ESPHome bleak implementation to bleak-esphome library (#105611) 2023-12-14 07:21:31 -10:00
J. Nick Koston 0d9a583f4d Small speed up to data entry flow steps (#105713)
Instead of checking if the flow is completed with
a linear tuple search each time, use a constant
set
2023-12-14 17:32:14 +01:00
Sylvain Rivierre ffb963c4c5 Add France to picnic countries (#105722)
Picnic is also available in France "FR" country
2023-12-14 16:55:17 +01:00
Lucas Mindêllo de Andrade d4a7361bc6 Bump sunweg to 2.0.1 (#105613)
* chore(sunweg): minor requested changes

* test(sunweg): use of fixtures

* feat(sunweg): provide bad auth result on expired authentication

* chore(sunweg): bump version

* chore(sunweg): removed reauth

* chore(sunweg): removed features out of scope

* chore(sunweg): fixtures moved to conftest.py

* chore(sunweg): devicetype moved to const

* chore(sunweg):  conftest comment

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

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-12-14 16:51:57 +01:00
J. Nick Koston 7e1dc2286f Bump bluetooth-data-tools to 1.18.0 (#105685)
changelog: https://github.com/Bluetooth-Devices/bluetooth-data-tools/compare/v1.17.0...v1.18.0
2023-12-14 16:12:52 +01:00
Jan-Philipp Benecke 82218928e7 Add missing rest_command reload service to services.yaml (#105714)
* Add missing rest_command reload service to services.yaml

* Add missing strings.json

* retrigger stale CI
2023-12-14 15:20:34 +01:00
Nikolay Vasilchuk 356ad52d10 Replace Starline horn switch with button (#105728) 2023-12-14 15:00:23 +01:00
epenet 351b07b14d Fix issue clearing renault schedules (#105719)
* Fix issue clearing renault schedules

* Adjust
2023-12-14 12:54:03 +01:00
Erik Montnemery 9095027363 Avoid mutating entity descriptions in efergy tests (#105717) 2023-12-14 12:48:15 +01:00
Brig Lamoreaux 7721840298 Allow multiple configs for srp energy (#96573)
* Allow multiple configs.

* Rename test configs.

* Remove unused property

* Merge branch 'dev' into srp_energy_202307.coordinator

* Use title in device name.
2023-12-14 11:07:13 +01:00
Martin Hjelmare 2e448d2d13 Remove cloud details from assist pipeline (#105687)
* Remove cloud details from assist pipeline

* Update assist pipeline tests

* Update cloud tests
2023-12-14 10:15:59 +01:00
yangbo 82f0b28e89 Bump iammeter to 0.2.1 (#95885)
* Bump iammeter to 0.2.1

* Refactor sensor.

* Add const.py to .coveragerc.

* Add id migration.

* Modify translation file.

* Fix ruff test error

* update asyncio.timeout import.

* Delete homeassistant/components/iammeter/translations directory

* Add strings.json
2023-12-14 10:01:29 +01:00
Erik Montnemery 0ec3a222e3 Remove device_state_attributes property from entity base class (#105650) 2023-12-14 08:33:56 +01:00
Erik Montnemery 9020dbb093 Remove context_recent_time property from entity base class (#105652) 2023-12-14 08:33:31 +01:00
J. Nick Koston aafdca88c9 Bump zeroconf to 0.129.0 (#105701)
* Bump zeroconf to 0.129.0

changelog: https://github.com/python-zeroconf/python-zeroconf/compare/0.128.5...0.129.0

* cleanup typing

* remove redunant lru

* revert type narrowing
2023-12-14 07:52:37 +01:00
J. Nick Koston a16ab0d1ac Bump zeroconf to 0.128.5 (#105694) 2023-12-13 12:14:07 -10:00
Robert Svensson 7084889b78 Fix restoring UniFi clients with old unique id (#105691)
Fix restoring UniFi clients with bad unique id
2023-12-13 22:35:41 +01:00
Erik Montnemery 72cb21d875 Set volume_step in enigma2 media_player (#105669) 2023-12-13 19:42:11 +01:00
G Johansson 08b6d2af5e Add error translations to Yale Smart Living (#105678) 2023-12-13 19:41:31 +01:00
G Johansson 65514fbd73 Add error translations for Sensibo (#105600) 2023-12-13 19:40:57 +01:00
Erik Montnemery 6dc8c2c370 Set volume_step in sonos media_player (#105671) 2023-12-13 19:40:51 +01:00
G Johansson 5f69749420 Use Textselector in Trafikverket Camera (#105677)
* Use Textselector in Trafikverket Camera

* Update homeassistant/components/trafikverket_camera/strings.json

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

---------

Co-authored-by: Jan-Philipp Benecke <jan-philipp@bnck.me>
2023-12-13 19:39:19 +01:00
Jan-Philipp Benecke d322cb5fdf Migrate homekit_controller tests to use freezegun (#105646) 2023-12-13 19:37:51 +01:00
Franck Nijhof 711d9e21ab 2023.12.2 (#105655) 2023-12-13 18:48:43 +01:00
Michael 08ca3678da Ensure platform setup for all AVM FRITZ!SmartHome devices (#105515) 2023-12-13 18:07:29 +01:00
Erik Montnemery dd5a48996a Keep capabilities up to date in the entity registry (#101748)
* Keep capabilities up to date in the entity registry

* Warn if entities update their capabilities very often

* Fix updating of device class

* Stop tracking capability updates once flooding is logged

* Only sync registry if state changed

* Improve test

* Revert "Only sync registry if state changed"

This reverts commit 1c52571596c06444df234d4b088242b494b630f2.

* Avoid calculating device class twice

* Address review comments

* Revert using dataclass

* Fix unintended revert

* Add helper method
2023-12-13 17:27:26 +01:00
Erik Montnemery 4f9f548929 Add volume_step property to MediaPlayerEntity (#105574)
* Add volume_step property to MediaPlayerEntity

* Improve tests

* Address review comments
2023-12-13 17:26:34 +01:00
puddly ebb54d7a6c Bump ZHA dependencies (#105661) 2023-12-13 17:10:56 +01:00
puddly db52b9b0e1 Reload ZHA integration on any error, not just recoverable ones (#105659) 2023-12-13 17:10:52 +01:00
Marc Mueller 75bdd84c80 Update pylint to 3.0.3 (#105491) 2023-12-13 17:10:48 +01:00
Joost Lekkerkerker 896ca8ce83 Fix timing issue in Withings (#105203) 2023-12-13 17:07:36 +01:00
puddly 4e9b9add29 Bump ZHA dependencies (#105661) 2023-12-13 17:06:46 +01:00
Joost Lekkerkerker a82410d5e9 Deduplicate constants E-Z (#105657) 2023-12-13 17:05:37 +01:00
Erik Montnemery bbfffbb47e Avoid mutating entity descriptions in melcloud (#105629) 2023-12-13 16:57:22 +01:00
Joost Lekkerkerker e4453ace88 Add country code constant (#105640) 2023-12-13 16:50:46 +01:00
Joost Lekkerkerker 816a37f9fc Fix timing issue in Withings (#105203) 2023-12-13 16:48:46 +01:00
puddly e475829ce6 Reload ZHA integration on any error, not just recoverable ones (#105659) 2023-12-13 16:24:26 +01:00
Erik Montnemery 2d59eba4c7 Avoid mutating entity descriptions in airthings_ble (#105627) 2023-12-13 15:23:38 +01:00
Erik Montnemery 7ab003c746 Avoid mutating entity descriptions in lidarr (#105628) 2023-12-13 15:22:29 +01:00
Erik Montnemery abac68f158 Avoid mutating entity descriptions in efergy (#105626) 2023-12-13 15:20:29 +01:00
Franck Nijhof 8744b05468 Bump version to 2023.12.2 2023-12-13 14:53:10 +01:00
Erik Montnemery dff7725c1f Fix goodwe tests (#105653) 2023-12-13 14:52:44 +01:00
Michael Hansen 36c56eb32a Rename "satellite enabled" to "mute" (#105619) 2023-12-13 14:51:25 +01:00
Michael Hansen 797af14012 Skip TTS events entirely with empty text (#105617) 2023-12-13 14:48:51 +01:00
Michael Hansen 8812ca13d9 Add name slot to HassClimateGetTemperature intent (#105585) 2023-12-13 14:48:48 +01:00
G Johansson 8b3ba452bc Fix setup Fast.com (#105580)
* Fix setup fastdotcom

* Add if
2023-12-13 14:48:44 +01:00
Khole fbb315b0a8 Bump pyhiveapi to v0.5.16 (#105513)
Co-authored-by: Khole Jones <khole.jones@frasers.group>
2023-12-13 14:48:41 +01:00
Julien "_FrnchFrgg_" Rivaud 9d0fed8539 Bump caldav to 1.3.8 (#105508)
* Bump caldav to 1.3.8

1.3.8 fixes a bug where duplicate STATUS properties would be emitted for a single VTODO depending on the case of the arguments used.

That bug meant that even though that is the intended API usage, passing lowercase for the status argument name would be rejected by caldav servers checking conformance with the spec which forbids duplicate STATUS.

This in turn prevented HomeAssistant to add new items to a caldav todo list.

Bump the requirements to 1.3.8 to repair that feature

* Update global requirements
2023-12-13 14:48:38 +01:00
Michael Hansen 4849884467 Disconnect before reconnecting to satellite (#105500)
Disconnect before reconnecting
2023-12-13 14:48:35 +01:00
Joost Lekkerkerker 8a0b1637b1 Remove Aftership import issue when entry already exists (#105476) 2023-12-13 14:48:30 +01:00
J. Nick Koston ba84af9374 Bump zeroconf to 0.128.4 (#105465)
* Bump zeroconf to 0.128.3

significant bug fixes

changelog: https://github.com/python-zeroconf/python-zeroconf/compare/0.128.0...0.128.3

* .4
2023-12-13 14:47:27 +01:00
Allen Porter 557ce965cf Bump ical to 6.1.1 (#105462) 2023-12-13 14:42:03 +01:00
Arie Catsman 3b7add533b Write Enphase Envoy data to log when in debug mode (#105456) 2023-12-13 14:42:00 +01:00
Allen Porter 0683b8be21 Fix fitbit oauth reauth debug logging (#105450) 2023-12-13 14:41:56 +01:00
Jan Bouwhuis 399f98a726 Fix alexa calling not featured cover services (#105444)
* Fix alexa calls not supported cover services

* Follow up comment and additional tests
2023-12-13 14:41:53 +01:00
Bouwe Westerdijk 0023d66c80 Bump plugwise to v0.35.3 (#105442) 2023-12-13 14:41:49 +01:00
Erik Montnemery 164d0d2085 Bump hatasmota to 0.8.0 (#105440)
* Bump hatasmota to 0.8.0

* Keep devices with deep sleep support always available

* Add tests
2023-12-13 14:41:46 +01:00
Jan Schneider a0e9772f52 Check if heat area exists when setting up valve opening and battery sensors in moehlenhoff alpha2 (#105437)
Check whether the referenced heat area exists

when setting up valve opening and battery sensors
2023-12-13 14:41:42 +01:00
Florian B 84c713894b Fix adding/updating todo items with due date in CalDAV integration (#105435)
* refactor: return date/datetime for due date

* fix: explicitly set due date on vTODO component

Using `set_due` automatically handles converting the Python-native
date/datetime values to the correct representation required by RFC5545.

* fix: fix tests with changed due date handling

* fix: item.due may not be a str

* refactor: keep local timezone of due datetime

* refactor: reorder import statement

To make ruff happy.

* fix: fix false-positive mypy error
2023-12-13 14:41:39 +01:00
mkmer a02faaf489 Fix service missing key in Blink (#105387)
* fix update service
refactor service yaml

* Remove leftover target
2023-12-13 14:41:35 +01:00
G Johansson 15cf732463 Fix preset modes error in Smartthings (#105375) 2023-12-13 14:41:31 +01:00
David Knowles ef17950d76 Bump pyschlage to 2023.12.0 (#105349)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-12-13 14:41:28 +01:00
mkmer 2d1c716444 Add missing configuration for services.yaml in blink (#105310) 2023-12-13 14:41:24 +01:00
Jan Bouwhuis c6339cb0c0 Fix CI test_invalid_rrule_fix test by freezing the time (#105294) 2023-12-13 14:41:20 +01:00
J. Nick Koston 7c0a5baf77 Bump zeroconf to 0.128.0 (#104936) 2023-12-13 14:41:16 +01:00
Alex Thompson 0fa3ce763e Fix Lyric LCC thermostats auto mode (#104853) 2023-12-13 14:41:07 +01:00
Jan-Philipp Benecke 61a99c911c Migrate demo test to use freezegun (#105644) 2023-12-13 14:33:59 +01:00
Joost Lekkerkerker ac53b78a0c Deduplicate constants A-D (#105638) 2023-12-13 14:21:44 +01:00
Martin Hjelmare 02853a62f0 Clean cloud client fixture from cloud http api tests (#105649) 2023-12-13 14:21:33 +01:00
Martin Hjelmare 5bb233998e Improve cloud http api tests (#105610)
* Improve cloud http api tests

* Add comments to the cloud fixture

* Fix docstring
2023-12-13 13:53:22 +01:00
mletenay 0548f9f342 Add diagnostics download to goodwe integration (#102928)
* Add diagnostics download to goodwe integration

* Revert change not related to test

* Use MagicMock for mock inverter

* Use spec with mock
2023-12-13 12:35:53 +01:00
Joost Lekkerkerker 22b2c588eb Use issue registry fixture (#105633) 2023-12-13 11:23:38 +01:00
Joost Lekkerkerker 06f81251fb Reduce code duplication in Suez config flow (#105558) 2023-12-13 10:41:35 +01:00
Erik Montnemery a91dfc7954 Fix entity descriptions in philips_js (#105625) 2023-12-13 10:24:34 +01:00
Erik Montnemery 22c3847c0e Allow inheriting FrozenOrThawed with custom init (#105624) 2023-12-13 10:13:34 +01:00
Arie Catsman c318445a76 Write Enphase Envoy data to log when in debug mode (#105456) 2023-12-13 09:22:10 +01:00
J. Nick Koston 5dbd0dede1 Refactor Bluetooth scanners to avoid the need to pass a callback (#105607) 2023-12-13 09:17:48 +01:00
Michael Hansen aaccf19013 Rename "satellite enabled" to "mute" (#105619) 2023-12-13 09:09:22 +01:00
Maciej Bieniek 66d24b38aa Add diagnostics platform to BraviaTV (#105603)
* Add diagnostics platform

* Add test

* Improve test

* Use consts

* Fix test

* Patch methods

* Patch methods
2023-12-13 08:18:50 +01:00
dependabot[bot] 9e9b518433 Bump github/codeql-action from 2.22.9 to 2.22.10 (#105620) 2023-12-13 07:38:42 +01:00
Michael Hansen a73e86a741 Skip TTS events entirely with empty text (#105617) 2023-12-13 00:21:16 -05:00
Michael Hansen 431a44ab67 Add name slot to HassClimateGetTemperature intent (#105585) 2023-12-12 22:54:15 -05:00
J. Nick Koston 22f0e09b8c Bump aioesphomeapi to 21.0.0 (#105609) 2023-12-12 15:20:05 -10:00
Brandon Rothweiler a595cd7141 Add sensor platform to A. O. Smith integration (#105604)
* Add sensor platform to A. O. Smith integration

* Fix typo

* Remove unnecessary mixin

* Simplify async_setup_entry
2023-12-13 00:52:15 +01:00
J. Nick Koston 98b1bc9bed Bump aioesphomeapi to 20.1.0 (#105602) 2023-12-12 12:51:18 -10:00
Maciej Bieniek 77283704a5 Bump brother library, use pysnmp-lextudio with SNMP integration (#105591) 2023-12-12 11:36:11 -10:00
Franck Nijhof d144d6c9ab Mark more entities secondary on Fully Kiosk Browser (#105595) 2023-12-12 21:40:11 +01:00
Joost Lekkerkerker 283ff4fada Add Adax to strict typing (#105562) 2023-12-12 21:29:18 +01:00
J. Nick Koston f002a6a732 Refactor all Bluetooth scanners to inherit from BaseHaRemoteScanner (#105523) 2023-12-12 21:28:43 +01:00
Erik Montnemery 5bd0833f49 Improve FrozenOrThawed (#105541) 2023-12-12 21:19:41 +01:00
Erwin Douna 8bd265c3ae Add Fastdotcom service (#105553)
* Add service for manual control

* Proper naming

* Removing old translation

* Reverting back service

* Removig services.yaml

* Putting back in service

* Putting back in service description and yaml

* Proper naming

* Adding create_issue

* Feedback fixes

* Fix deprecation date in strings

* Update homeassistant/components/fastdotcom/__init__.py

* Update homeassistant/components/fastdotcom/strings.json

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2023-12-12 21:18:12 +01:00
Joost Lekkerkerker 0e5d72a501 Add Android IP webcam to strict typing (#105570) 2023-12-12 20:54:35 +01:00
Joost Lekkerkerker 84bffcd2e1 Add Aranet to strict typing (#105577) 2023-12-12 20:54:00 +01:00
Joost Lekkerkerker 09b07c071b Add Apprise to strict typing (#105575) 2023-12-12 20:53:36 +01:00
Erwin Douna 32147dbdd9 Bump PyTado to 0.17.0 (#105573) 2023-12-12 20:52:59 +01:00
Jan-Philipp Benecke d33aa6b8e7 Migrate homematicip_cloud tests to use freezegun (#105592) 2023-12-12 20:51:32 +01:00
G Johansson 4ad16b56f2 Fix setup Fast.com (#105580)
* Fix setup fastdotcom

* Add if
2023-12-12 20:43:09 +01:00
J. Nick Koston 54d314d1d0 Bump aioesphomeapi to 20.0.0 (#105586)
changelog: https://github.com/esphome/aioesphomeapi/compare/v19.3.1...v20.0.0

- Add happy eyeballs support (RFC 8305) (#789)

Note that nothing much happens yet on the HA side since
we only pass one IP in so its always going to fallback
at this point
2023-12-12 08:41:50 -10:00
J. Nick Koston f58af0d717 Bump aiohomekit to 3.1.0 (#105584) 2023-12-12 19:07:20 +01:00
J. Nick Koston c7a95d5654 Bump dbus-fast to 2.21.0 (#105536) 2023-12-12 07:55:12 -10:00
J. Nick Koston ec1cde77f6 Add support for Happy Eyeballs to homekit_controller (#105454) 2023-12-12 07:54:33 -10:00
Joost Lekkerkerker 64c3cfca17 Add Airvisual pro to strict typing (#105568) 2023-12-12 17:27:41 +01:00
Jan Bouwhuis 280637822b Use mocked entity platform for lock service tests (#105020)
* Use mocked entity platform for lock service tests

* Cleanup old mock class

* Follow up on code review

* Improve mock entity platform

* Use entity_id of passed entity instead of constant
2023-12-12 15:49:01 +01:00
Joost Lekkerkerker 5c514b6b19 Add Suez Water to strict typing (#105559) 2023-12-12 14:44:17 +01:00
Martin Hjelmare 2631fde0f7 Patch aiohttp server app router freeze in tests (#105555)
* Add test for registering a http view late

* Patch aiohttp server app router freeze

* Correct language
2023-12-12 14:40:38 +01:00
Erwin Douna fb615817b4 Add Tado error handling to fetching devices (#105546) 2023-12-12 10:55:22 +01:00
Erwin Douna 9d44dc4437 Add Fast.com Device Info (#105528)
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2023-12-12 10:41:00 +01:00
Erik Montnemery 6908497c3d Add minor version to config entries (#105479) 2023-12-12 08:44:35 +01:00
Khole ac656847cb Bump pyhiveapi to v0.5.16 (#105513)
Co-authored-by: Khole Jones <khole.jones@frasers.group>
2023-12-12 08:38:12 +01:00
J. Nick Koston e2abd3b8d0 Bump bluetooth libraries (#105522) 2023-12-12 08:31:23 +01:00
Jan-Philipp Benecke 4859226496 Migrate geonetnz_* tests to use freezegun (#105521) 2023-12-12 08:30:08 +01:00
Jan-Philipp Benecke 319d6db55b Migrate device_sun_light_trigger tests to use freezegun (#105520) 2023-12-12 08:29:10 +01:00
Jan Bouwhuis a66c9bb7b6 Update stale doc strings in entity platform tests (#105526) 2023-12-12 08:28:08 +01:00
J. Nick Koston f4ee2a1ab4 Bump anyio to 4.1.0 (#105529) 2023-12-12 08:24:24 +01:00
dependabot[bot] 324aa171c6 Bump sigstore/cosign-installer from 3.2.0 to 3.3.0 (#105537)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-12 08:20:26 +01:00
Diogo Gomes 54c218c139 Updates V2C sensor icons (#105534)
update icons
2023-12-12 08:17:09 +01:00
Brett Adams 8922c93259 Improve tests in Tessie (#105430) 2023-12-11 20:30:54 -10:00
Julien "_FrnchFrgg_" Rivaud bf9c2a08b7 Bump caldav to 1.3.8 (#105508)
* Bump caldav to 1.3.8

1.3.8 fixes a bug where duplicate STATUS properties would be emitted for a single VTODO depending on the case of the arguments used.

That bug meant that even though that is the intended API usage, passing lowercase for the status argument name would be rejected by caldav servers checking conformance with the spec which forbids duplicate STATUS.

This in turn prevented HomeAssistant to add new items to a caldav todo list.

Bump the requirements to 1.3.8 to repair that feature

* Update global requirements
2023-12-11 19:42:52 -08:00
Erik Montnemery d4cf049016 Remove unneeded class _EntityDescriptionBase (#105518) 2023-12-11 23:10:11 +01:00
Maciej Bieniek bf93929826 Add support for Shelly Gen3 devices (#104874)
* Add support for Gen3 devices

* Add RPC_GENERATIONS const

* Add gen3 to tests

* More tests

* Add BLOCK_GENERATIONS const

* Use *_GENERATIONS constants from aioshelly
2023-12-11 22:58:56 +01:00
Erwin Douna 662e19999d Add Fastdotcom DataUpdateCoordinator (#104839)
* Adding DataUpdateCoordinator

* Updating and adding test cases

* Optimizing test

* Fix typing

* Prevent speedtest at startup

* Removing typing on Coordinator

* Update homeassistant/components/fastdotcom/coordinator.py

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

* Putting back typing

* Update homeassistant/components/fastdotcom/__init__.py

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

* Adding proper StateType typing

* Fix linting

* Stricter typing

* Creating proper test case for coordinator

* Fixing typo

* Patching librbary

* Adding unavailable state test

* Putting back in asserts

* Update tests/components/fastdotcom/test_coordinator.py

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

* Update tests/components/fastdotcom/test_coordinator.py

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

* Update tests/components/fastdotcom/test_coordinator.py

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

* Update tests/components/fastdotcom/test_coordinator.py

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

* Update tests/components/fastdotcom/test_coordinator.py

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

* Coordinator workable proposal

* Update tests/components/fastdotcom/test_coordinator.py

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

* Working test cases

* Update tests/components/fastdotcom/test_coordinator.py

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

* Update tests/components/fastdotcom/test_coordinator.py

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

* Update tests/components/fastdotcom/test_coordinator.py

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

* Update tests/components/fastdotcom/test_coordinator.py

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

* Fixing tests and context

* Fix the freezer interval to 59 minutes

* Fix test

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2023-12-11 22:28:04 +01:00
Joost Lekkerkerker a187a39f0b Add config flow to Suez water (#104730)
* Add config flow to Suez water

* fix tests

* Complete coverage

* Change version to 2024.7

* Fix final test

* Add issue when import is successful

* Move hassdata

* Do unique_id

* Remove import issue when entry already exists

* Remove import issue when entry already exists
2023-12-11 22:06:16 +01:00
J. Nick Koston e890671192 Relocate Bluetooth manager to habluetooth library (#105110)
* Relocate Bluetooth manager to habluetooth library

* Relocate Bluetooth manager to habluetooth library

* Relocate Bluetooth manager to habluetooth library

* fixes

* fix patching time

* fix more tests

* fix more tests

* split

* Bump habluetooth to 0.7.0

changelog: https://github.com/Bluetooth-Devices/habluetooth/compare/v0.6.1...v0.7.0

This is the big change that will move the manager so the HA
PR that will follow this will be a bit larger than the rest of them
since the manager is connected to everything

* fix types

* fix types

* fix types

* fix patch targets

* fix flakey logbook tests (will need another PR)

* mock shutdown

* bump again

* value can be a float now

* Revert "value can be a float now"

This reverts commit b7e7127143.

* float
2023-12-11 15:42:00 -05:00
Erwin Douna 0dc61b3493 Add typing in Melcloud config flow (#105510)
* Add typing in config flow

* Patching functions with typing
2023-12-11 20:30:19 +01:00
Erik Montnemery dd338799d4 Make it possible to inherit EntityDescription in frozen and mutable dataclasses (#105211) 2023-12-11 20:00:55 +01:00
Joakim Plate bb0d082b25 Correctly report unavailable battery for value 255 of percentage (#104566)
* Ignore unavailable battery level for zha

* Adjust unavailable test
2023-12-11 19:17:06 +01:00
Stefan Agner 837ce99e30 Add Raspberry Pi 5 specific container image (#105488) 2023-12-11 17:39:48 +01:00
starkillerOG d1ea04152a Bump reolink_aio to 0.8.3 (#105489) 2023-12-11 17:37:15 +01:00
Marc Mueller 6c2b3ef950 Update typing-extensions to 4.9.0 (#105490) 2023-12-11 17:30:24 +01:00
Michael Hansen 80607f7750 Disconnect before reconnecting to satellite (#105500)
Disconnect before reconnecting
2023-12-11 11:18:46 -05:00
Marc Mueller b71f488d3e Update pylint to 3.0.3 (#105491) 2023-12-11 17:04:07 +01:00
Erik Montnemery 94fd7d0353 Improve test of config entry store (#105487)
* Improve test of config entry store

* Tweak test
2023-12-11 10:48:12 -05:00
Alex Thompson 4c0fda9ca0 Fix Lyric LCC thermostats auto mode (#104853) 2023-12-11 16:27:02 +01:00
jan iversen 3963f59121 Reduce modbus validator for "swap" (remove special handling) (#105021) 2023-12-11 16:12:32 +01:00
Stefan Agner 44e54e11d8 Follow Alpine 3.18 raspberrypi package updates (#105486)
Alpine 3.18 renamed the packages raspberrypi and raspberrypi-libs to
raspberrypi-userland and raspberrypi-userland-libs respectively. Follow
that rename. With this moderniziation raspistill and friends now gets
deployed to /usr/bin, which makes any symlinks obsolete.

Note that there is and was never a 64-bit variant of raspistill. So
these symlinks were essentially useless all along.

This effectively doesn't change anything for users: Alpine automatically
installed the renamed package already and Home Assistant Core picked
up the raspistill binary from /usr/bin already.
2023-12-11 15:58:51 +01:00
Denis Shulyaka 1242456ff1 Bump openai end switch from dall-e-2 to dall-e-3 (#104998)
* Bump openai

* Fix tests

* Apply suggestions from code review

* Undo conftest changes

* Raise repasir issue

* Explicitly use async mock for chat.completions.create

It is not always detected correctly as async because it uses a decorator

* removed duplicated message

* ruff

* Compatibility with old pydantic versions

* Compatibility with old pydantic versions

* More tests

* Apply suggestions from code review

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

* Apply suggestions from code review

---------

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2023-12-11 09:47:26 -05:00
G Johansson c0314cd05c Make Workday UI setup nicer (#105407) 2023-12-11 14:06:29 +01:00
Jan Rieger cedac41407 Bump python-holidays to 0.38 (#105482) 2023-12-11 13:18:23 +01:00
Joost Lekkerkerker 32681acc79 Remove Aftership import issue when entry already exists (#105476) 2023-12-11 12:09:43 +01:00
Jan-Philipp Benecke 47819bde4f Migrate sonarr tests to use freezegun (#105410) 2023-12-11 10:47:51 +01:00
Jan-Philipp Benecke b4731674f8 Migrate octoprint tests to use freezegun (#105408) 2023-12-11 10:42:16 +01:00
Bouwe Westerdijk 3e3f9cf092 Bump plugwise to v0.35.3 (#105442) 2023-12-11 10:29:50 +01:00
Jan-Philipp Benecke fbfe434e8b Migrate tag & tts tests to use freezegun (#105411) 2023-12-11 09:09:23 +01:00
Jon Caruana c89c2f9392 Bump pylitejet to v0.6.0 (#105472) 2023-12-11 08:40:13 +01:00
J. Nick Koston c634e3f0ca Bump zeroconf to 0.128.4 (#105465)
* Bump zeroconf to 0.128.3

significant bug fixes

changelog: https://github.com/python-zeroconf/python-zeroconf/compare/0.128.0...0.128.3

* .4
2023-12-11 07:47:53 +01:00
Allen Porter 72c6eb8885 Bump ical to 6.1.1 (#105462) 2023-12-10 15:46:27 -08:00
Jan Schneider 77c722630e Check if heat area exists when setting up valve opening and battery sensors in moehlenhoff alpha2 (#105437)
Check whether the referenced heat area exists

when setting up valve opening and battery sensors
2023-12-10 23:59:54 +01:00
Brandon Rothweiler 58d9d0daa5 Add reauth to A. O. Smith integration (#105320)
* Add reauth to A. O. Smith integration

* Validate reauth uses the same email address

* Only show password field during reauth
2023-12-10 14:30:24 -08:00
Erik Montnemery b5af987a18 Bump hatasmota to 0.8.0 (#105440)
* Bump hatasmota to 0.8.0

* Keep devices with deep sleep support always available

* Add tests
2023-12-10 23:16:06 +01:00
Allen Porter 4752d37df7 Fix fitbit oauth reauth debug logging (#105450) 2023-12-10 23:09:58 +01:00
Jan Bouwhuis a7155b154e Fix alexa calling not featured cover services (#105444)
* Fix alexa calls not supported cover services

* Follow up comment and additional tests
2023-12-10 17:27:01 +01:00
Florian B 063ac53f01 Fix adding/updating todo items with due date in CalDAV integration (#105435)
* refactor: return date/datetime for due date

* fix: explicitly set due date on vTODO component

Using `set_due` automatically handles converting the Python-native
date/datetime values to the correct representation required by RFC5545.

* fix: fix tests with changed due date handling

* fix: item.due may not be a str

* refactor: keep local timezone of due datetime

* refactor: reorder import statement

To make ruff happy.

* fix: fix false-positive mypy error
2023-12-10 08:23:05 -08:00
Franck Nijhof 6a3c422d2f Improve Amazon Alexa endpoint validation (#105287)
* Improve Amazon Alexa endpoint validation

* Add source comment

---------

Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2023-12-10 13:38:10 +01:00
Jan-Philipp Benecke ff85d0c290 Migrate mqtt tests to use freezegun (#105414) 2023-12-10 09:25:16 +01:00
Brett Adams 1cc47c0553 Add reauth to Tessie (#105419)
* First pass at Tessie

* Working POC

* async_step_reauth

* Config Flow tests

* WIP

* Add test requirement

* correctly gen test requirements

* 100% coverage

* Remove remnants of copy paste

* Add TPMS

* Fix docstring

* Remove redundant line

* Fix some more copied docstrings

* Grammar

* Create reusable StrEnum

* Streamline get

* Add a couple more sensors

* Removed need for a model

* Move MODELS

* Remove DOMAIN from config flow

* Add translation strings

* Remove unused parameter

* Simplify error handling

* Refactor coordinator to class

* Add missing types

* Add icon to shift state

* Simplify setdefault

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

* Use walrus for async_unload_platforms

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

* Reformat entity init

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

* Remove Unique ID

* Better Config Flow Tests

* Fix all remaining tests

* Standardise docstring

* Remove redudnant test

* Set TessieDataUpdateCoordinator on entity

* Correct some sensors

* add error types

* Make shift state a ENUM sensor

* Add more sensors

* Fix translation string

* Add precision suggestions

* Move session from init to coordinator

* Add api_key type

* Remove api_key parameter

* Meta changes

* Update TessieEntity and TessieSensor translations

* Goodbye translation keys

* bump tessie-api to 0.0.9

* Fix only_active to be True

* Per vehicle coordinator

* Rework coordinator

* Fix coverage

* WIP

* The grand rework

* Add comments

* Use ENUM more

* Add ENUM translations

* Update homeassistant/components/tessie/sensor.py

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

* Add entity_category

* Remove reauth

* Remove session

* Update homeassistant/components/tessie/__init__.py

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

* Add property tag

* Add error text

* Complete config flow tests

* Fix property and rename

* Fix init test

* Reworked coordinator tests

* Add extra checks

* Update homeassistant/components/tessie/__init__.py

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

* Update homeassistant/components/tessie/coordinator.py

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

* Apply suggestions from code review

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

* Ruff fix

* Update homeassistant/components/tessie/config_flow.py

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

* Remove future ENUMs

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

* Ruff fix

* Update homeassistant/components/tessie/config_flow.py

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

* Remove reauth and already configured strings

* Lowercase sensor values for translation

* Update homeassistant/components/tessie/__init__.py

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

* Fixed, before using lambda

* Add value lambda

* fix lambda

* Fix config flow test

* @bdraco fix for 500 errors

* format

* Add reauth

* Reuse string in reauth

* Ruff

* remove redundant check

* Improve error tests

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2023-12-09 23:37:57 -08:00
elmurato 7b32e4142e Make API init async in Minecraft Server (#105403)
* Make api init async

* Remove duplicate assignment of address and set server to None in constructor
2023-12-09 21:15:48 -08:00
Jan-Philipp Benecke a8148cea65 Migrate roku tests to use freezegun (#105418) 2023-12-09 12:47:19 -10:00
Brett Adams 64a5271a51 Add Tessie Integration (#104684)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-12-09 12:46:32 -10:00
vexofp 327016eaeb Accept HTTP 200 through 206 as success for RESTful Switch (#105358) 2023-12-09 12:45:33 -10:00
Raman Gupta 4e1677e3f0 Remove zwave_js device on device reset (#104291)
* Reload zwave_js config entry on device reset

* remove device

* Just remove the device and don't reload

* revert change to notification message

* Assert device is no longer there
2023-12-09 23:33:31 +01:00
vexofp 885410bcfc Prevent duplicate default SSLContext instances (#105348)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-12-09 11:30:12 -10:00
Jan-Philipp Benecke a090bcb8a5 Migrate time_date tests to use freezegun (#105409) 2023-12-09 21:35:52 +01:00
J. Nick Koston a0bf170fb4 Avoid ffmpeg subprocess for many component tests (#105354) 2023-12-09 19:41:37 +01:00
mkmer c96a588934 Fix service missing key in Blink (#105387)
* fix update service
refactor service yaml

* Remove leftover target
2023-12-09 19:18:59 +01:00
Maciej Bieniek 35b733fa2c Bump aioshelly to version 7.0.0 (#105384)
* Remove get_rpc_device_sleep_period() function

* Bump aioshelly version to 7.0.0

* Remove firmware compatibility check from BLE scanner

* Remove firmware compatibility check from light transition

* Update default fw ver

* Use LightEntityFeature in tests
2023-12-09 17:12:05 +02:00
G Johansson f37f40c338 Fix preset modes error in Smartthings (#105375) 2023-12-09 13:49:32 +01:00
starkillerOG 25586f9efd Add data descriptions to Reolink (#105298) 2023-12-09 13:06:18 +01:00
Jan-Philipp Benecke b5785003a3 Migrate unifi tests to use freezegun (#105343) 2023-12-09 12:55:40 +01:00
Marc Mueller 1eaf208450 Update freezegun to 1.3.1 (#105377) 2023-12-09 12:29:23 +01:00
Brett Adams d54c36307a Fix the ruff-format error (#105376) 2023-12-09 11:53:47 +01:00
Jan-Philipp Benecke 2d02cdcd0d Migrate gree tests to use freezegun (#105340) 2023-12-09 10:19:42 +01:00
J. Nick Koston cc85e89cf2 Make network fixture scoped to session to speed up tests (#105353) 2023-12-09 10:19:08 +01:00
Jan-Philipp Benecke 4d708f1931 Migrate template tests to use freezegun (#105341) 2023-12-09 09:47:28 +01:00
Lucas Mindêllo de Andrade f567bf6dfe Sun WEG integration (#88272)
* feat(sunweg): initial support

* chore: removed commented out code

* chore: removed warning

* fix: set never_resets for total sensors

* test: some tests

* fix(sunweg): default plantid type

* fix(sunweg): return first plant id

* test(sunweg): improved code coverage

* chore(sunweg): missing FlowResult return type

* chore(sunweg): removed unused strings

* perf(sunweg): using only one api instance

* chore(sunweg): removed uneeded atribute

* refact(sunweg): small refactoring

* refact(sunweg): typing

* chore(sunweg): comments

* chore(sunweg): bump version

* chore(sunweg): bump lib version

* test(sunweg): different mocking and coverage

* test: fixed setup component parameter

* feat: dynamic metrics

* fix(sunweg): ruff

* fix(sunweg): mypy

* refact(sunweg): codereview suggestions

* chore(sunweg): removed unused string

* chore(sunweg): typehint and code formatting
2023-12-09 09:45:40 +01:00
David Knowles 906aa14b43 Bump pyschlage to 2023.12.0 (#105349)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-12-08 22:01:40 -10:00
vexofp 617b045727 Fix SSLCipherList typing error in IMAP coordinator (#105362) 2023-12-08 21:34:01 -10:00
Brett Adams e1df1f9ffe Replace aiohttp mock with patch in Advantage Air (#104932)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-12-08 15:15:57 -10:00
Franck Nijhof 9b10af612a 2023.12.1 (#105324) 2023-12-08 22:13:24 +01:00
mkmer 6a6956573f Add missing configuration for services.yaml in blink (#105310) 2023-12-08 21:30:41 +01:00
Viktor Andersson 12019ec77c Add myself as code owner for co2signal (#105302) 2023-12-08 21:22:34 +01:00
Bouwe Westerdijk 47dc48ca66 Bump plugwise to v0.34.5 (#105330) 2023-12-08 21:20:02 +01:00
Jan Bouwhuis 5220afa856 Workaround to_json template filter in parsing dict key (#105327)
* Work-a-round orjson for `to_json` fiter in case dict key is str subclass

* Add option instead

* Remove json.dumps work-a-round

* Update homeassistant/helpers/template.py

* Fix test

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-12-08 21:19:59 +01:00
G Johansson 629731e2dd Add rollback on exception that needs rollback in SQL (#104948) 2023-12-08 21:19:56 +01:00
Jan-Philipp Benecke a7845406a5 Migrate homeassistant component tests to use freezegun (#105333) 2023-12-08 21:18:09 +01:00
Bouwe Westerdijk 46e75ed94b Bump plugwise to v0.34.5 (#105330) 2023-12-08 21:15:33 +01:00
G Johansson 99cf4a6b2d Add rollback on exception that needs rollback in SQL (#104948) 2023-12-08 21:13:37 +01:00
Jan Bouwhuis 4bb0e13cda Workaround to_json template filter in parsing dict key (#105327)
* Work-a-round orjson for `to_json` fiter in case dict key is str subclass

* Add option instead

* Remove json.dumps work-a-round

* Update homeassistant/helpers/template.py

* Fix test

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-12-08 20:57:53 +01:00
Franck Nijhof 9aaff618e2 Bump version to 2023.12.1 2023-12-08 19:08:47 +01:00
Erik Montnemery 35954128ad Add workaround for orjson not handling subclasses of str (#105314)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-12-08 19:08:02 +01:00
Michael Hansen d9b31e9841 Use area id for context instead of name (#105313) 2023-12-08 19:07:58 +01:00
Erik Montnemery 1e3c154fdf Add test for energy cost sensor for late price sensor (#105312) 2023-12-08 19:07:24 +01:00
Paul Bottein 1777f6b935 Update frontend to 20231208.2 (#105299) 2023-12-08 19:06:25 +01:00
Øyvind Matheson Wergeland c24af97514 Always set _attr_current_option in Nobø Hub select entities (#105289)
Always set _attr_current_option in select entities.
2023-12-08 19:06:08 +01:00
Jan Bouwhuis 892a7c36ca Fix mqtt json light state updates using deprecated color handling (#105283) 2023-12-08 19:06:03 +01:00
Michael Hansen 53cbde8dca Set device id and forward errors to Wyoming satellites (#105266)
* Set device id and forward errors

* Fix tests
2023-12-08 19:05:23 +01:00
J. Nick Koston f3bb832b19 Bump pyunifiprotect to 4.22.0 (#105265) 2023-12-08 19:02:43 +01:00
On Freund d89f6b5eb0 Fix update of uncategorized OurGroceries items (#105255)
* Fix update of uncategorized OurGroceries items

* Address code review comments
2023-12-08 19:02:40 +01:00
Duco Sebel 4953a36da8 Add migration for old HomeWizard sensors (#105251)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-12-08 19:02:37 +01:00
Jan-Philipp Benecke 38e01b248f Explicit check for None in Discovergy entity if condition (#105248)
Fix checking for None in Discovergy
2023-12-08 19:02:34 +01:00
ollo69 f8d9c4c3ad Fix AsusWrt invalid data type with tuple type (#105247) 2023-12-08 19:02:31 +01:00
G Johansson 3a10ea1892 Fix check_date service in workday (#105241)
* Fix check_date service in workday

* Add test
2023-12-08 19:02:28 +01:00
Lars c6187ed914 Fix Fritzbox light setup (#105232) 2023-12-08 19:02:24 +01:00
Erik Montnemery d679764d3b Disable config flow progress in peco config flow (#105222) 2023-12-08 19:02:21 +01:00
haimn f1169e0a0d fix supportedFanOscillationModes is null (#105205)
* fix supportedFanOscillationModes is null

* set default supported_swings to None

* return None if no fan oscillation modes listed
2023-12-08 19:02:18 +01:00
Greg Dowling 119c9c3a6b Fix bug in roon incremental volume control. (#105201) 2023-12-08 19:02:15 +01:00
Jan-Philipp Benecke c5d1a0fbe1 Increase ping update interval to 30 seconds (#105199) 2023-12-08 19:02:12 +01:00
Sebastian Nohn 8ffb147926 Set ping interval to 15 seconds instead of 5 minutes (#105191)
set ping interval to a more sane value of 15 seconds instead of 5 minutes. fixes home-assistant/core#105163
2023-12-08 19:02:04 +01:00
lunmay 688fab49c3 Fix missing apostrophe in smtp (#105189)
Fix missing apostrophe
2023-12-08 19:01:20 +01:00
TheJulianJES c035ffb06e Fix ZHA quirk ID custom entities matching all devices (#105184) 2023-12-08 19:00:39 +01:00
Quentame 054ede9663 Bump Météo-France to 1.3.0 (#105170) 2023-12-08 19:00:36 +01:00
Michael Hansen 614e9069c2 Don't return TTS URL in Assist pipeline (#105164)
* Don't return TTS URL

* Add test for empty queue
2023-12-08 19:00:33 +01:00
starkillerOG b832a692d9 Bump reolink_aio to 0.8.2 (#105157) 2023-12-08 19:00:30 +01:00
Robert Svensson cfa85956e1 Improve LIDL christmas light detection in deCONZ (#105155) 2023-12-08 19:00:25 +01:00
Mick Vleeshouwer a2f9ffe50f Disable scenarios (scenes) for local API in Overkiz (#105153) 2023-12-08 19:00:22 +01:00
Michael Hansen 47032d055c Expose todo entities to Assist by default (#105150) 2023-12-08 19:00:14 +01:00
Jan Bouwhuis b977fd6ab2 Correct smtp error message string (#105148) 2023-12-08 18:59:36 +01:00
Jan Bouwhuis 3972d8fc00 Correct smtp error message string (#105148) 2023-12-08 18:58:00 +01:00
TJ Horner 53497e3fad Bump apple_weatherkit to 1.1.2 (#105140) 2023-12-08 18:57:16 +01:00
Matrix 24f0e927f3 Bump yolink-api to 0.3.4 (#105124)
* Bump yolink-api to 0.3.3

* bump yolink api to 0.3.4
2023-12-08 18:57:10 +01:00
Excentyl 9527548207 Initialize energy_state without price (#97031)
Co-authored-by: Erik <erik@montnemery.com>
2023-12-08 18:56:05 +01:00
Erik Montnemery af715a4b9a Add workaround for orjson not handling subclasses of str (#105314)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-12-08 18:13:34 +01:00
Excentyl 46d626280e Initialize energy_state without price (#97031)
Co-authored-by: Erik <erik@montnemery.com>
2023-12-08 17:46:08 +01:00
Brandon Rothweiler 1c7bd3f729 Add A. O. Smith integration (#104976) 2023-12-08 17:17:42 +01:00
Michael Hansen fdeb9e36c3 Use area id for context instead of name (#105313) 2023-12-08 10:05:21 -06:00
Jan Bouwhuis e5a115ce1f Fix mqtt json light state updates using deprecated color handling (#105283) 2023-12-08 16:54:02 +01:00
Erik Montnemery b0ef9623f9 Add test for energy cost sensor for late price sensor (#105312) 2023-12-08 16:51:07 +01:00
Paul Bottein 05f67f745b Update frontend to 20231208.2 (#105299) 2023-12-08 16:45:34 +01:00
Raj Laud 45f7ffb34c Add support for accessing Squeezebox over over https (#95088)
* Supports access to squeezebox server behind https reverse proxy

* Update squeezebox test

* Update homeassistant/components/squeezebox/config_flow.py

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

* Update homeassistant/components/squeezebox/config_flow.py

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

* Update squeezebox unit tests based on code review

* Migration unit test

* Run black on suggestions accepted in code review

* Apply suggestions from code review

Instead of upgrading squeezebox config, just assume a default of https=False.

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

* Update test_init.py

Remove migrate entry test since we are no longer migrating

* Delete tests/components/squeezebox/test_init.py

Remove unused test

---------

Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-12-08 15:51:19 +01:00
Øyvind Matheson Wergeland a10f580815 Always set _attr_current_option in Nobø Hub select entities (#105289)
Always set _attr_current_option in select entities.
2023-12-08 14:42:42 +01:00
Jan-Philipp Benecke 6b7dace8d4 Migrate samsungtv tests to use freezegun (#105286) 2023-12-08 14:37:02 +01:00
Jan Bouwhuis 8721327176 Fix CI test_invalid_rrule_fix test by freezing the time (#105294) 2023-12-08 14:35:01 +01:00
Yuxin Wang 88ddc25129 Replace apcaccess dependency with aioapcaccess in apcupsd (#104571)
* Replace apcaccess dependency with async version aioapcaccess

* Upgrade the dependency to the latest version (v0.4.2)

* Handle asyncio.IncompleteReadError
2023-12-08 12:40:09 +01:00
Franck Nijhof 949ca6bafc Update yarl to 1.9.4 (#105282) 2023-12-08 12:11:59 +01:00
Øyvind Matheson Wergeland 9fb9ff4f90 Remove workaround for default lock code in Matter (#105173)
* Matter: Remove workaround for default lock code

* Review

* Review 2
2023-12-08 11:46:27 +01:00
Franck Nijhof 0eb7034f89 Adjust stale bot policy for PRs (#105280) 2023-12-08 10:59:38 +01:00
Duco Sebel 156dac394a Add migration for old HomeWizard sensors (#105251)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-12-08 09:39:39 +01:00
Lars a09ccddaa3 Fix Fritzbox light setup (#105232) 2023-12-08 09:33:24 +01:00
ollo69 b29e9e2df0 Fix AsusWrt invalid data type with tuple type (#105247) 2023-12-08 09:01:22 +01:00
J. Nick Koston 97991cfa46 Bump pyunifiprotect to 4.22.0 (#105265) 2023-12-08 09:00:23 +01:00
J. Nick Koston 8aacd3ea1b Bump habluetooth to 0.10.0 (#105118) 2023-12-08 08:56:32 +01:00
dependabot[bot] 8879f7350a Bump github/codeql-action from 2.22.8 to 2.22.9 (#105274)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-08 08:55:25 +01:00
dependabot[bot] a710491990 Bump actions/stale from 8.0.0 to 9.0.0 (#105275)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-08 08:54:27 +01:00
osohotwateriot 664d2410d5 Add OSO Energy integration (#70365)
* Add OSO Energy integration

* Add min/max for v40 level and bump pyosoenergyapi to 1.0.2

* OSO Energy address review comments

* Bump pyosoenergyapi to 1.0.3 and remove scan interval

* Remove unnecessary code

* Update homeassistant/components/osoenergy/__init__.py

Co-authored-by: Daniel Hjelseth Høyer <mail@dahoiv.net>

* Fixes to latest version

* Add support to set temperature

* Update homeassistant/components/osoenergy/config_flow.py

Co-authored-by: Daniel Hjelseth Høyer <mail@dahoiv.net>

* Fixes after review

* Remove unused code

* Add support for translations and modify services

* Apply suggestions from code review

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

* Refactor services and constants according to the PR suggestions

* Remove unnecessary code

* Remove unused import in constants

* Refactoring and support for multiple instances

* Apply suggestions from code review

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

* Refactor code and apply review suggestions

* Bump pyosoenergyapi to 1.0.5

* Remove services to reduce initial PR

* Remove extra state attributes and make OSO Entity generic

---------

Co-authored-by: Daniel Hjelseth Høyer <github@dahoiv.net>
Co-authored-by: Daniel Hjelseth Høyer <mail@dahoiv.net>
Co-authored-by: Robert Resch <robert@resch.dev>
2023-12-08 08:51:59 +01:00
Michael Hansen 43daeb2630 Set device id and forward errors to Wyoming satellites (#105266)
* Set device id and forward errors

* Fix tests
2023-12-07 19:44:43 -06:00
Michael Hansen e9f8e7ab50 Add Wyoming satellite audio settings (#105261)
* Add noise suppression level

* Add auto gain and volume multiplier

* Always use mock TTS dir in Wyoming tests

* More tests
2023-12-07 17:02:55 -05:00
Jan-Philipp Benecke d1aa690c24 Migrate non-component tests to use freezegun/freezer (#105142) 2023-12-07 22:58:09 +01:00
Joost Lekkerkerker 00e87b9dff Migrate Gree to has entity name (#104739)
* Migrate Gree to has entity name

* Migrate Gree to has entity name
2023-12-07 22:47:52 +01:00
On Freund c4d77877d2 Fix update of uncategorized OurGroceries items (#105255)
* Fix update of uncategorized OurGroceries items

* Address code review comments
2023-12-07 22:11:08 +01:00
Jan-Philipp Benecke 8a4b761c78 Use freezegun in cert_expiry tests (#105125) 2023-12-07 21:55:37 +01:00
Michael Hansen 4c4ad9404f Don't return TTS URL in Assist pipeline (#105164)
* Don't return TTS URL

* Add test for empty queue
2023-12-07 15:28:04 -05:00
Jan-Philipp Benecke 6666b796f2 Migrate auth tests to use freezegun (#105243) 2023-12-07 21:18:10 +01:00
G Johansson 2daa94b600 Fix check_date service in workday (#105241)
* Fix check_date service in workday

* Add test
2023-12-07 20:04:39 +01:00
Jan-Philipp Benecke dd902bc956 Explicit check for None in Discovergy entity if condition (#105248)
Fix checking for None in Discovergy
2023-12-07 19:47:14 +01:00
haimn 83a1ca5e83 fix supportedFanOscillationModes is null (#105205)
* fix supportedFanOscillationModes is null

* set default supported_swings to None

* return None if no fan oscillation modes listed
2023-12-07 18:03:07 +01:00
Klaas Schoute d86abf214b Bump energyzero lib to v2.1.0 (#105228) 2023-12-07 15:22:30 +01:00
Klaas Schoute d80547519a Bump easyenergy lib to v2.1.0 (#105224) 2023-12-07 14:57:08 +01:00
Erik Montnemery 84329844fd Disable config flow progress in peco config flow (#105222) 2023-12-07 13:25:23 +01:00
Franck Nijhof 72b0904b41 Merge branch 'master' into dev 2023-12-07 11:15:00 +01:00
Greg Dowling 334673154c Fix bug in roon incremental volume control. (#105201) 2023-12-07 11:00:26 +01:00
dewdrop de758fd7b3 Add Seattle City Light virtual integration via Opower (#104997) 2023-12-07 10:39:54 +01:00
jimmyd-be d61814a1ed Add custom services for renson fans (#94497)
Co-authored-by: Robert Resch <robert@resch.dev>
2023-12-07 09:57:01 +01:00
Jan-Philipp Benecke 0728106c98 Increase ping update interval to 30 seconds (#105199) 2023-12-07 09:50:21 +01:00
Duco Sebel f8c216a5ea Use brightness scaling util in HomeWizard Number entity (#105147) 2023-12-07 09:37:20 +01:00
Jan Bouwhuis f48e948871 Correct smtp error message string (#105148) 2023-12-07 09:35:22 +01:00
Mick Vleeshouwer e40f486968 Disable scenarios (scenes) for local API in Overkiz (#105153) 2023-12-07 09:33:33 +01:00
dependabot[bot] 316776742f Bump actions/setup-python from 4.8.0 to 5.0.0 (#105193)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-07 09:27:48 +01:00
Duco Sebel 3d5329755f Add extra tests for HomeWizard for unsupported entity creation (#105149) 2023-12-07 09:24:27 +01:00
Michael Hansen ebde8ccfe4 Expose todo entities to Assist by default (#105150) 2023-12-07 09:22:03 +01:00
Robert Svensson 2a8a60b381 Improve LIDL christmas light detection in deCONZ (#105155) 2023-12-07 09:19:38 +01:00
Quentame f420dcbedc Bump Météo-France to 1.3.0 (#105170) 2023-12-07 09:18:34 +01:00
Cían Hughes e051244927 Add Modbus fan speed support (#104577)
Co-authored-by: jan iversen <jancasacondor@gmail.com>
2023-12-07 08:19:03 +01:00
Sebastian Nohn 22119a2fd8 Set ping interval to 15 seconds instead of 5 minutes (#105191)
set ping interval to a more sane value of 15 seconds instead of 5 minutes. fixes home-assistant/core#105163
2023-12-07 07:44:19 +01:00
starkillerOG 0b6665ed09 Bump reolink_aio to 0.8.2 (#105157) 2023-12-07 07:39:37 +01:00
Matrix 4666d7e17f Bump yolink-api to 0.3.4 (#105124)
* Bump yolink-api to 0.3.3

* bump yolink api to 0.3.4
2023-12-07 07:30:27 +01:00
TheJulianJES 9181933619 Fix ZHA quirk ID custom entities matching all devices (#105184) 2023-12-07 07:15:31 +01:00
lunmay 16f6a57924 Fix missing apostrophe in smtp (#105189)
Fix missing apostrophe
2023-12-07 07:12:27 +01:00
Jan-Philipp Benecke 05e122e22b Modernize and cleanup trend tests (#105010)
Co-authored-by: Em <emmanuel.sciara@gmail.com>
2023-12-06 18:46:35 +01:00
TJ Horner 32febcda5a Bump apple_weatherkit to 1.1.2 (#105140) 2023-12-06 18:36:46 +01:00
Tucker Kern ff21c02cb6 Add preset modes to ESPHome fan entities (#103781)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-12-06 06:53:52 -10:00
Franck Nijhof ea1222bff3 2023.12.0 (#105135) 2023-12-06 17:44:26 +01:00
Franck Nijhof af23580530 Bump version to 2023.12.0 2023-12-06 16:31:24 +01:00
Paul Bottein d8b056b340 Update frontend to 20231206.0 (#105132) 2023-12-06 16:31:06 +01:00
Franck Nijhof 0958e8fadf Fix missing target in todo.remove_completed_items service (#105127) 2023-12-06 16:30:59 +01:00
Xidorn Quan e165d6741e Bump thermopro-ble to 0.5.0 (#105126) 2023-12-06 16:30:52 +01:00
Tobias Perschon 6b3e9904c8 Add missing services and strings entries for reply_to_message_id (#105072) 2023-12-06 16:27:06 +01:00
Marc Mueller c93abd9d20 Improve decorator type annotations [zwave_js] (#104825)
* Improve decorator type annotations [zwave_js]

* Improve _async_get_entry annotation
2023-12-06 16:22:32 +01:00
Joost Lekkerkerker 6721f9fdb2 Bump python-opensky to 1.0.0 (#105131) 2023-12-06 16:21:12 +01:00
Paul Bottein 297a7638ca Update frontend to 20231206.0 (#105132) 2023-12-06 14:51:36 +01:00
Jan-Philipp Benecke a16819e0e5 Use freezegun in utility_meter tests (#105123) 2023-12-06 14:43:26 +01:00
Franck Nijhof 3f28354a00 Fix missing target in todo.remove_completed_items service (#105127) 2023-12-06 14:39:27 +01:00
Xidorn Quan eb00259356 Bump thermopro-ble to 0.5.0 (#105126) 2023-12-06 13:30:31 +01:00
Ville Skyttä a29695e622 Add Huawei LTE network mode select (#104614)
* Convert network mode from sensor to select for huawei_lte

This also introduces the select platform to huawei_lte integration.

* Move (networkmode, str) mapping to const

Also, rebase on top of the current dev

* Fix variable naming, initialize name

* Fix wrong key for router access

* Typing fixes

* Adapt to current way of registering subscriptions

* Simplify option management, make translatable

* Make use of custom entity description

* Add icon

* Revert sensor formatting changes, move to another PR

* Improve entity class naming

* Add test

* Make sure entity descriptions define a setter function

---------

Co-authored-by: Teemu Rytilahti <tpr@iki.fi>
2023-12-06 14:23:26 +02:00
Jan Rieger 81d05acd07 Address late review for Holiday (#105121) 2023-12-06 12:39:46 +01:00
Tobias Perschon 7424c296b7 Add missing services and strings entries for reply_to_message_id (#105072) 2023-12-06 11:01:05 +01:00
David Bonnes 88a4b74d4b bump evohome-async to 0.4.15 (#105119) 2023-12-06 10:32:10 +01:00
Franck Nijhof 9fcb722381 Bump version to 2023.12.0b5 2023-12-06 08:31:21 +01:00
Michael Hansen da766bc7c5 Bump intents to 2023.12.05 (#105116) 2023-12-06 08:31:13 +01:00
lunmay 681a3fd271 Fix typo in v2c strings.json (#105104)
fo -> of
2023-12-06 08:31:10 +01:00
Robert Svensson 990fd31e84 Bump aiounifi to v67 (#105099)
* Bump aiounifi to v67

* Fix mypy
2023-12-06 08:31:06 +01:00
Jan Bouwhuis f7c9d20472 Fix overkiz measurement sensor returns None if 0 (#105090) 2023-12-06 08:31:03 +01:00
TJ Horner ae4811b776 Update apple_weatherkit to 1.1.1 (#105079) 2023-12-06 08:30:46 +01:00
dependabot[bot] a904461b6a Bump actions/setup-python from 4.7.1 to 4.8.0 (#105117)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-06 08:28:02 +01:00
J. Nick Koston bf8f78c041 Fix flakey logbook tests (#105111) 2023-12-06 08:15:48 +01:00
J. Nick Koston a528183556 Bump habluetooth to 0.8.0 (#105109) 2023-12-06 08:15:24 +01:00
Michael Hansen 3fda43ef33 Bump intents to 2023.12.05 (#105116) 2023-12-06 08:14:34 +01:00
J. Nick Koston 2401a09600 Bump aioesphomeapi to 19.3.0 (#105114) 2023-12-06 08:13:35 +01:00
Klaas Schoute 9a3b4939a9 Update easyenergy lib to v2.0.0 (#105108) 2023-12-06 07:35:29 +01:00
lunmay ad26af608b Fix typo in v2c strings.json (#105104)
fo -> of
2023-12-05 16:25:08 -05:00
Tudor Sandu 636e38f4b3 Trigger Home Assistant shutdown automations right before the stop event instead of during it (#91165)
Co-authored-by: Erik <erik@montnemery.com>
2023-12-05 11:24:41 -10:00
Robert Svensson 44810f9772 Bump aiounifi to v67 (#105099)
* Bump aiounifi to v67

* Fix mypy
2023-12-05 22:16:07 +01:00
jimmyd-be 712a401ee2 Bump renson library to version 1.7.1 (#105096) 2023-12-05 21:06:29 +01:00
TJ Horner 19e193ae1d Increase frequency of weatherkit updates (#105094) 2023-12-05 09:45:26 -10:00
TJ Horner eadcceeed1 Update apple_weatherkit to 1.1.1 (#105079) 2023-12-05 09:45:00 -10:00
Jan Bouwhuis be44de0a41 Fix overkiz measurement sensor returns None if 0 (#105090) 2023-12-05 20:00:53 +01:00
J. Nick Koston 3c635fdbf2 Split bluetooth manager so it can be extracted into the habluetooth lib (#105015) 2023-12-05 19:54:50 +01:00
J. Nick Koston 94d168e20e Move Bluetooth advertisement tracker to habluetooth library (#105083) 2023-12-05 19:53:29 +01:00
Michael 3310f4c130 Add significant Change support for weather (#104840) 2023-12-05 19:17:52 +01:00
Erik Montnemery 1edfaed7be Improve raise contains mocks (#105078)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-12-05 19:14:35 +01:00
Klaas Schoute d4cbe89c2f Update energyzero lib to v2.0.0 (#105080) 2023-12-05 19:14:13 +01:00
Franck Nijhof b0367d3d74 Bump version to 2023.12.0b4 2023-12-05 19:09:24 +01:00
Bram Kragten 30d529aab0 Update frontend to 20231205.0 (#105081) 2023-12-05 19:09:16 +01:00
Jan-Philipp Benecke 4018a28510 Remove device from known_devices upon import in ping device tracker (#105009)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-12-05 19:09:12 +01:00
Bram Kragten dd37205a42 Update frontend to 20231205.0 (#105081) 2023-12-05 18:52:52 +01:00
Jan-Philipp Benecke dc17780e5b Remove device from known_devices upon import in ping device tracker (#105009)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-12-05 18:52:22 +01:00
J. Nick Koston b6245c834d Move local bluetooth scanner code into habluetooth library (#104970) 2023-12-05 07:19:02 -10:00
Erik Montnemery 428c184c75 Improve yamaha tests (#105077) 2023-12-05 07:17:56 -10:00
Erik Montnemery 5b55c7da5f Remove logic converting empty or falsy YAML to empty dict (#103912)
* Correct logic converting empty YAML to empty dict

* Modify according to github comments

* Add load_yaml_dict helper

* Update check_config script

* Update tests
2023-12-05 18:08:11 +01:00
Joost Lekkerkerker a8ca73a7dd Finish scaffold config flow with either abort or create entry (#105012) 2023-12-05 17:13:29 +01:00
Robert Hillis 651df6b698 Add calendar entity to Radarr (#79077)
* Add calendar entity to Radarr

* address feedback/add tests

* black

* uno mas

* rework to coordinator

* uno mas

* move release atttribute writing

* fix calendar items and attributes
2023-12-05 07:51:51 -08:00
Franck Nijhof a076b7d992 Bump version to 2023.12.0b3 2023-12-05 15:57:40 +01:00
Erik Montnemery 55c686ad03 Don't use deprecated_class decorator on deprecated YAML classes (#105063) 2023-12-05 15:55:27 +01:00
Robert Svensson 7cb383146a Make UniFi WiFi clients numerical (#105032) 2023-12-05 15:55:23 +01:00
Robert Svensson 2f727d5fe1 Fix stuck clients in UniFi options (#105028) 2023-12-05 15:55:18 +01:00
Robert Svensson 65c8aa3249 Make unifi RX-/TX-sensors diagnostic entities (#105022) 2023-12-05 15:55:15 +01:00
Bartosz Dokurno c62c002657 Update Todoist config flow URL (#104992) 2023-12-05 15:55:12 +01:00
Erik Montnemery fd4a05fc7a Minor improvements of deprecation helper (#104980) 2023-12-05 15:55:08 +01:00
Marco 56e325a2b1 Fix Mikrotik rename from wifiwave2 to wifi for upcoming RouterOS 7.13 (#104966)
Co-authored-by: Marco98 <Marco98@users.noreply.github.com>
2023-12-05 15:55:05 +01:00
Aaron Godfrey 48cce1a854 Exclude Todoist sub-tasks for the todo platform (#104914) 2023-12-05 15:55:01 +01:00
Marcel van der Veldt 99401c60c7 Add Matter custom cluster sensors (Eve Energy Plug energy measurements) (#104830)
* Support for sensors from custom clusters in Matter

* lint

* no need to write state twice

* Add test for eve energy plug

* Update homeassistant/components/matter/entity.py

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

* adjust comment

* debounce extra poll timer

* use async_call_later helper

* Update homeassistant/components/matter/entity.py

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

* wip extend test

* Update test_sensor.py

* fix state class for sensors

* trigger (fake) event callback on all subscribers

* Update eve-energy-plug.json

* add test for additionally polled value

* adjust delay to 3 seconds

* Adjust subscribe_events to always use kwargs

* Update tests/components/matter/common.py

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

* Update test_sensor.py

* remove redundant code

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-12-05 15:54:58 +01:00
Michael Hansen 5a49e1dd5c Add Wyoming satellite (#104759)
* First draft of Wyoming satellite

* Set up homeassistant in tests

* Move satellite

* Add devices with binary sensor and select

* Add more events

* Add satellite enabled switch

* Fix mistake

* Only set up necessary platforms for satellites

* Lots of fixes

* Add tests

* Use config entry id as satellite id

* Initial satellite test

* Add satellite pipeline test

* More tests

* More satellite tests

* Only support single device per config entry

* Address comments

* Make a copy of platforms
2023-12-05 15:54:55 +01:00
Allen Porter db6b804298 Add due date and description fields to Todoist To-do entity (#104655)
* Add Todoist Due date and description fields

* Update entity features with new names

* Make items into walrus

* Update due_datetime field

* Add additional tests for adding new fields to items

* Fix call args in todoist test
2023-12-05 15:54:52 +01:00
Allen Porter 655b067277 Add due date and description to Google Tasks (#104654)
* Add tests for config validation function

* Add Google Tasks due date and description

* Revert test timezone

* Update changes after upstream

* Update homeassistant/components/google_tasks/todo.py

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

* Add google tasks tests for creating

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-12-05 15:54:48 +01:00
GeoffAtHome 55bafc260d Fix geniushub smart plug state at start-up (#102110)
* Smart plug did state wrong at start-up

* Update docstring to reflect code
2023-12-05 15:54:44 +01:00
Erik Montnemery 3bcc6194ef Add domain key config validation (#104242)
* Drop use of regex in helpers.extract_domain_configs

* Update test

* Revert test update

* Add domain_from_config_key helper

* Add validator

* Address review comment

* Update snapshots

* Inline domain_from_config_key in validator
2023-12-05 15:07:32 +01:00
Erik Montnemery 25bea91683 Use modern platform path when reporting platform config errors (#104238)
* Use modern platform path when reporting platform config errors

* Update tests

* Address review comment

* Explicitly pass platform domain to log helpers

* Revert overly complicated changes

* Try a simpler solution
2023-12-05 15:06:13 +01:00
dupondje db9d6b401a Add optional dsmr timestamp sensor (#104979)
* Add optional timestamp sensor

* Apply suggestions from code review

Remove "timestamp" translation

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

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-12-05 14:28:57 +01:00
GeoffAtHome c4fbc78c05 Fix geniushub smart plug state at start-up (#102110)
* Smart plug did state wrong at start-up

* Update docstring to reflect code
2023-12-05 14:03:39 +01:00
Marc Mueller 6e0ba8e726 Improve matrix typing (#105067) 2023-12-05 13:40:14 +01:00
Thomas Zahari f460fdf632 Add fields cancelled & extra to result of the departure HVV sensor (#105030) 2023-12-05 13:15:16 +01:00
jan iversen 0638088aee Deprecate and remove lazy_error from modbus (#105037) 2023-12-05 13:08:33 +01:00
Erik Montnemery 5b59e043fa Don't use deprecated_class decorator on deprecated YAML classes (#105063) 2023-12-05 11:36:26 +01:00
Erik Montnemery ae002e2f38 Remove breaks_in_ha_version from deprecated YAML classes (#105062) 2023-12-05 10:48:31 +01:00
Jan-Philipp Benecke 5cab64bfcd Make season types translatable (#105027) 2023-12-05 09:48:46 +01:00
Robert Svensson 4b87936779 Fix stuck clients in UniFi options (#105028) 2023-12-05 09:42:43 +01:00
J. Nick Koston 9b53fa6478 Bump habluetooth to 0.6.1 (#105029) 2023-12-05 09:30:21 +01:00
J. Nick Koston c2cc8014dc Avoid double URL creation for hassio ingress (#105052) 2023-12-05 09:29:43 +01:00
Marco b7bc49b863 Fix Mikrotik rename from wifiwave2 to wifi for upcoming RouterOS 7.13 (#104966)
Co-authored-by: Marco98 <Marco98@users.noreply.github.com>
2023-12-05 09:21:03 +01:00
Robert Svensson 482e087a85 Make unifi RX-/TX-sensors diagnostic entities (#105022) 2023-12-05 08:55:15 +01:00
Robert Svensson e80ee09f5e Make UniFi WiFi clients numerical (#105032) 2023-12-05 08:50:32 +01:00
Erik Montnemery 84e74e4c74 Reverse component path (#104087)
* Reverse component path

* Update translations helper

* Fix

* Revert incorrect change of PLATFORM_FORMAT

* Fix use of PLATFORM_FORMAT in tts

* Fix ios
2023-12-05 08:43:58 +01:00
Michael Hansen a9381d2590 Add Wyoming satellite (#104759)
* First draft of Wyoming satellite

* Set up homeassistant in tests

* Move satellite

* Add devices with binary sensor and select

* Add more events

* Add satellite enabled switch

* Fix mistake

* Only set up necessary platforms for satellites

* Lots of fixes

* Add tests

* Use config entry id as satellite id

* Initial satellite test

* Add satellite pipeline test

* More tests

* More satellite tests

* Only support single device per config entry

* Address comments

* Make a copy of platforms
2023-12-04 15:13:15 -05:00
Aaron Godfrey 677c50a7cc Exclude Todoist sub-tasks for the todo platform (#104914) 2023-12-04 20:37:09 +01:00
Erik Montnemery 35e2f591c1 Make cv.string return subclasses of str as is (#103916) 2023-12-04 20:36:16 +01:00
Marcel van der Veldt 516966db33 Add Matter custom cluster sensors (Eve Energy Plug energy measurements) (#104830)
* Support for sensors from custom clusters in Matter

* lint

* no need to write state twice

* Add test for eve energy plug

* Update homeassistant/components/matter/entity.py

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

* adjust comment

* debounce extra poll timer

* use async_call_later helper

* Update homeassistant/components/matter/entity.py

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

* wip extend test

* Update test_sensor.py

* fix state class for sensors

* trigger (fake) event callback on all subscribers

* Update eve-energy-plug.json

* add test for additionally polled value

* adjust delay to 3 seconds

* Adjust subscribe_events to always use kwargs

* Update tests/components/matter/common.py

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

* Update test_sensor.py

* remove redundant code

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-12-04 17:21:41 +01:00
Franck Nijhof ca147060d9 Bump version to 2023.12.0b2 2023-12-04 15:00:20 +01:00
c0ffeeca7 8fd2e6451a W-Z: add host field description (#104996) 2023-12-04 15:00:09 +01:00
Bram Kragten df8f462370 Update frontend to 20231204.0 (#104990) 2023-12-04 15:00:06 +01:00
Jan Bouwhuis 64f7855b94 Raise on smtp notification if attachment is not allowed (#104981)
* Raise smtp notification if attachment not allowed

* Pass url as placeholder

* Use variable in err message

* Add allow_list as placeholder
2023-12-04 15:00:02 +01:00
Jan Bouwhuis 204cc20bc2 Do not allow smtp to access insecure files (#104972) 2023-12-04 14:59:59 +01:00
Richard Kroegel 63ed4b0769 Bump bimmer-connected to 0.14.6 (#104961)
Co-authored-by: rikroe <rikroe@users.noreply.github.com>
2023-12-04 14:59:56 +01:00
starkillerOG cd86318b4b Do not fail if Reolink ONVIF cannot be connected (#104947) 2023-12-04 14:59:53 +01:00
Jan Bouwhuis 7d21ed41a2 Refactor lock default code handling (#104807) 2023-12-04 14:59:51 +01:00
G Johansson 214f214122 Only raise issue if switch used in Logitech Harmony Hub (#104941) 2023-12-04 14:59:49 +01:00
Alex Thompson b53b1ab614 Fix Lyric HVAC mode reset on temperature change (#104910)
* Fix Lyric HVAC mode reset on temperature change

* Reduce code duplication

* Revert additional bugfix

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

---------

Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2023-12-04 14:59:46 +01:00
G Johansson f5fae54c32 Fix get_events name in calendar strings (#104902) 2023-12-04 14:59:43 +01:00
Jan Bouwhuis e1142e2ad8 Fix dsmr zero reconnect interval option could crash HA (#104900)
* Fix dsmr zero interval option could crash HA

* No change change the options
2023-12-04 14:59:40 +01:00
Patrick Decat 380e71d1b2 Fix incompatible 'measurement' state and 'volume' device class warnings in Overkiz (#104896) 2023-12-04 14:59:36 +01:00
Jan Bouwhuis cda7863a45 Link second Hue host field description (#104885) 2023-12-04 14:59:33 +01:00
c0ffeeca7 9181d655f9 U-V add host field description (#104872)
Co-authored-by: Simone Chemelli <simone.chemelli@gmail.com>
2023-12-04 14:59:30 +01:00
c0ffeeca7 555e413edb T-add host field description (#104871) 2023-12-04 14:59:26 +01:00
starkillerOG 39026e3b53 Reolink schedule update after firmware update (#104867) 2023-12-04 14:59:23 +01:00
c0ffeeca7 8fd9761e7d Solar-Log to Soundtouch: add host field description (#104863) 2023-12-04 14:59:20 +01:00
c0ffeeca7 0cf4c6e568 SamsungTV to Snapcast: add host field description (#104862) 2023-12-04 14:59:17 +01:00
c0ffeeca7 0dc157dc31 Reolink to Ruckus: add host field description (#104861)
Co-authored-by: starkillerOG <starkiller.og@gmail.com>
2023-12-04 14:59:14 +01:00
c0ffeeca7 9827ba7e60 Radio Thermostat to Renson: add host field description (#104860) 2023-12-04 14:59:10 +01:00
c0ffeeca7 f194ffcd52 Ping to Qnap: add host field description (#104859) 2023-12-04 14:59:07 +01:00
c0ffeeca7 42982de223 Obihai to OpenGarage: add host field description (#104858)
Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2023-12-04 14:59:04 +01:00
c0ffeeca7 1d04fcc485 Nanoleaf to Nut: add host field description (#104857)
Co-authored-by: starkillerOG <starkiller.og@gmail.com>
2023-12-04 14:59:01 +01:00
c0ffeeca7 1378abab35 Modern Forms to MyStrom: add host field description (#104856) 2023-12-04 14:58:58 +01:00
c0ffeeca7 78cf9f2a01 Lifx, Lutron: add host field description (#104855) 2023-12-04 14:58:55 +01:00
Michael 074bcc8adc Fix handling of unrecognized mimetypes in Synology DSM photos integration (#104848) 2023-12-04 14:58:52 +01:00
Jan Bouwhuis d67d2d9566 Filter out zero readings for DSMR enery sensors (#104843) 2023-12-04 14:58:49 +01:00
Robert Hillis 262e59f293 Fix Harmony switch removal version (#104838) 2023-12-04 14:58:46 +01:00
Daniel Hjelseth Høyer 11db0ab1e1 Bump Mill library (#104836) 2023-12-04 14:58:43 +01:00
Erik Montnemery 367bbf5709 Use deprecated_class decorator in deprecated YAML loader classes (#104835) 2023-12-04 14:58:40 +01:00
Bartosz Dokurno 13fdac23c1 Update Todoist config flow URL (#104992) 2023-12-04 14:58:37 +01:00
Marcel van der Veldt 0d318da9aa Update Matter test fixtures to schema version 5 (#104829) 2023-12-04 14:58:37 +01:00
mkmer 7ea4e15ff2 Late review updates for Blink (#104755) 2023-12-04 14:58:32 +01:00
Eric Härtel cc0326548e Add CB3 descriptor to ZHA manifest (#104071) 2023-12-04 14:51:43 +01:00
c0ffeeca7 188d6a6eee W-Z: add host field description (#104996) 2023-12-04 14:48:56 +01:00
jan iversen 1629bdcd7f Remove "swap: none" from modbus (#104713) 2023-12-04 14:48:40 +01:00
Bram Kragten 157c4e31df Update frontend to 20231204.0 (#104990) 2023-12-04 13:10:51 +01:00
c0ffeeca7 8661aa96bd U-V add host field description (#104872)
Co-authored-by: Simone Chemelli <simone.chemelli@gmail.com>
2023-12-04 13:10:22 +01:00
Erik Montnemery 95f7db1970 Move config_per_platform and extract_domain_configs to config.py (#104989) 2023-12-04 12:48:49 +01:00
tronikos 53becaa976 Bump opower==0.0.40 (#104986) 2023-12-04 12:32:08 +01:00
Jan Bouwhuis e8475b9b33 Add scaling utils for brightness and fanspeed (#104753)
Co-authored-by: Robert Resch <robert@resch.dev>
2023-12-04 12:10:58 +01:00
c0ffeeca7 7222e2b2d6 T-add host field description (#104871) 2023-12-04 11:52:54 +01:00
Erik Montnemery db51a8e1f7 Allow passing breaks_in_ha_version to deprecation helper decorators (#104985) 2023-12-04 11:52:10 +01:00
Jan Bouwhuis d8a6d864c0 Raise on smtp notification if attachment is not allowed (#104981)
* Raise smtp notification if attachment not allowed

* Pass url as placeholder

* Use variable in err message

* Add allow_list as placeholder
2023-12-04 11:48:29 +01:00
Matthias Dunda 0f3cb9b1b6 Add telegram message timestamp to event data (#87493) 2023-12-04 10:53:59 +01:00
c0ffeeca7 bf49a3dcc2 Solar-Log to Soundtouch: add host field description (#104863) 2023-12-04 10:48:58 +01:00
Erik Montnemery 34d01719f2 Minor improvements of deprecation helper (#104980) 2023-12-04 10:47:49 +01:00
c0ffeeca7 7ac8f191bd Modern Forms to MyStrom: add host field description (#104856) 2023-12-04 10:46:49 +01:00
c0ffeeca7 ff84b82027 Squeezebox to Synology DSM: add host field description (#104864)
Co-authored-by: Michael <35783820+mib1185@users.noreply.github.com>
Co-authored-by: Jan-Philipp Benecke <jan-philipp@bnck.me>
Co-authored-by: Raj Laud <50647620+rajlaud@users.noreply.github.com>
2023-12-04 10:45:43 +01:00
c0ffeeca7 3cba10fa20 Lifx, Lutron: add host field description (#104855) 2023-12-04 10:44:52 +01:00
starkillerOG 3316f6980d Do not fail if Reolink ONVIF cannot be connected (#104947) 2023-12-04 10:44:29 +01:00
c0ffeeca7 bf63674af2 Nanoleaf to Nut: add host field description (#104857)
Co-authored-by: starkillerOG <starkiller.og@gmail.com>
2023-12-04 10:38:52 +01:00
c0ffeeca7 ab4c6cddf2 Radio Thermostat to Renson: add host field description (#104860) 2023-12-04 10:37:51 +01:00
c0ffeeca7 9b9d9c6116 Reolink to Ruckus: add host field description (#104861)
Co-authored-by: starkillerOG <starkiller.og@gmail.com>
2023-12-04 10:37:02 +01:00
J. Nick Koston b0d0f15911 Bump dbus-fast to 2.20.0 (#104978) 2023-12-03 22:53:47 -10:00
Eric Härtel 557e9337bc Add CB3 descriptor to ZHA manifest (#104071) 2023-12-04 09:48:44 +01:00
Patrick Decat 8e42105b2d Fix incompatible 'measurement' state and 'volume' device class warnings in Overkiz (#104896) 2023-12-04 09:45:59 +01:00
Jan Bouwhuis 9c9d8669ec Link second Hue host field description (#104885) 2023-12-04 09:36:41 +01:00
Jirka 91463566c0 Update balboa strings.json (#104977) 2023-12-04 09:14:24 +01:00
c0ffeeca7 7ae6343b25 Obihai to OpenGarage: add host field description (#104858)
Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2023-12-04 09:13:48 +01:00
Richard Kroegel 6335c24568 Bump bimmer-connected to 0.14.6 (#104961)
Co-authored-by: rikroe <rikroe@users.noreply.github.com>
2023-12-04 09:13:27 +01:00
J. Nick Koston 67039e0f26 Remove monotonic_time_coarse datetime helper (#104892) 2023-12-04 09:10:13 +01:00
Kevin Worrel 3b5e498c30 Bump screenlogicpy to v0.10.0 (#104866) 2023-12-04 09:07:46 +01:00
David Bonnes 6fd96f856d Bump evohome-async to 0.4.13 (#104960)
bump client to 0.4.13
2023-12-04 08:48:47 +01:00
J. Nick Koston 401c890364 Bump habluetooth to 0.5.1 (#104969)
* bump lib

* bump again to be patchable
2023-12-04 08:42:07 +01:00
Brett Adams 453f91a3ae Add virtual integration Fujitsu anywAIR (#102978)
Add anywair
2023-12-04 08:09:15 +01:00
Joost Lekkerkerker 374b1cfd0c Fix bug in config flow scaffold (#104965) 2023-12-04 07:48:05 +01:00
Joost Lekkerkerker b56cd169ac Use constants in config flow scaffold (#104964) 2023-12-04 07:46:36 +01:00
Jan Bouwhuis fe2906f159 Do not allow smtp to access insecure files (#104972) 2023-12-03 20:06:01 -05:00
J. Nick Koston c1f68c3767 Bump habluetooth to 0.4.0 (#104958) 2023-12-03 12:18:10 -10:00
Alex Thompson 23cd66c54b Fix Lyric HVAC mode reset on temperature change (#104910)
* Fix Lyric HVAC mode reset on temperature change

* Reduce code duplication

* Revert additional bugfix

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

---------

Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2023-12-03 22:13:26 +01:00
Joost Lekkerkerker 833805f9be Add StreamLabsWater to strict typing (#104957) 2023-12-03 21:10:37 +01:00
jjlawren ecc49e61f6 Bump plexapi to 4.15.6 (#104949) 2023-12-03 21:05:30 +01:00
J. Nick Koston 28584ad240 Relocate base Bluetooth scanner code into an external library (#104930) 2023-12-03 10:00:11 -10:00
J. Nick Koston c8bb72935d Bump bluetooth-data-tools to 1.17.0 (#104935) 2023-12-03 08:53:17 -10:00
Jan Rieger 244edb488b Add Holiday integration (#103795)
* Add Holiday integration

* Localize holiday names

* Changes based on review feedback

* Add tests

* Add device info

* Bump holidays to 0.36

* Default to Home Assistant country setting

* Update homeassistant/components/holiday/calendar.py

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

* Update homeassistant/components/holiday/calendar.py

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

* Update homeassistant/components/holiday/config_flow.py

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

* black

* Move time

* Stop creating duplicate holiday calendars

* Set default language using python-holiday

* Use common translation

* Set _attr_name to None to fix friendly name

* Fix location

* Update homeassistant/components/holiday/__init__.py

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

* Update homeassistant/components/holiday/calendar.py

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

* Update homeassistant/components/holiday/calendar.py

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

* Update tests/components/holiday/test_init.py

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

* cleanup

* Set up the integration and test the state

* Test that configuring more than one instance is rejected

* Set default_language to user's language, fallback to country's default language

* Improve tests

* Update homeassistant/components/holiday/calendar.py

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

* Cleanup

* Add next year so we don't run out

* Update tests/components/holiday/test_init.py

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

* Cleanup

* Set default language in `__init__`

* Add strict typing

* Change default language: HA's language `en` is `en_US` in holidays, apart from Canada

* CONF_PROVINCE can be None

* Fix test

* Fix default_language

* Refactor tests

* Province can be None

* Add test for translated title

* Address feedback

* Address feedback

* Change test to use service call

* Address feedback

* Apply suggestions from code review

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

* Changes based on review feedback

* Update homeassistant/components/holiday/calendar.py

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

* Update homeassistant/components/holiday/calendar.py

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

* Add a test if next event is missing

* Rebase

* Set device to service

* Remove not needed translation key

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2023-12-03 16:28:53 +01:00
G Johansson 67784def13 Only raise issue if switch used in Logitech Harmony Hub (#104941) 2023-12-03 11:57:48 +01:00
Jan Bouwhuis 5d6791e412 Remove CONF_PRECISION remainder from dsmr (#104919) 2023-12-03 11:53:09 +01:00
J. Nick Koston edb52bb364 Bump zeroconf to 0.128.0 (#104936) 2023-12-03 11:51:34 +01:00
Jan Rieger a5fe68c354 Bump python-holidays to 0.37 (#104937) 2023-12-03 11:15:07 +01:00
J. Nick Koston dd9c22672a Refactor bluetooth scanners for better seperation of concerns (#104909) 2023-12-02 13:20:06 -10:00
Erwin Douna 7a9c3819e0 Add MELCloud token refresh upon firmware upgrade (#104391)
* Adding initial setup

* Update homeassistant/components/melcloud/__init__.py

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

* Adding ConfigEntryNotReady exception

* Update homeassistant/components/melcloud/__init__.py

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

* Update homeassistant/components/melcloud/config_flow.py

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

* Update homeassistant/components/melcloud/__init__.py

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

* Placing exception handling in setup_entry

* Expanding test cases

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2023-12-02 23:07:06 +01:00
Dave T b48ad268b5 Add alarm sensor to Aurora ABB (#104503)
* Add new sensors

* Add strings

* Fix tests

* Only add alarm sensor, & refactor

* Address review comments

* Address review comments.

* Fix ruff
2023-12-02 23:04:37 +01:00
Christopher Fenner 7480945465 Add number entities for program temperature in ViCare integration (#103960)
* add number platform

* Update .coveragerc

* reset default value

* fix default value

* cast Any value to float

* Apply suggestions from code review

* Update strings.json

* add translation keys

* remove obsolete unique id handling

* add eco program

* reset type

* remove name from entity

* Update strings.json

* Update strings.json

* rename

* Apply suggestions from code review

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

* retype getter

* adjust interface

* use device classes

* check setter

* Revert "check setter"

This reverts commit 360e333159.

* remove eco entity

* Update strings.json

* add eco sensor entity

* Revert "add eco sensor entity"

This reverts commit d64b38c548.

* Update strings.json

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2023-12-02 22:44:49 +01:00
Jan Bouwhuis c9306049b3 Correct SerialException import in dsmr, firmata, landysgyr_heat_meater and rfxtrx integrations (#104889)
* Fix SerialException import in dsmr integration

* Fix imports firmata, landysgyr_heat_meter, rfxtrx
2023-12-02 19:30:04 +01:00
Jan Bouwhuis 5106dd173c Fix dsmr zero reconnect interval option could crash HA (#104900)
* Fix dsmr zero interval option could crash HA

* No change change the options
2023-12-02 19:28:56 +01:00
Marc Mueller 559e8dfc69 Improve decorator type annotations [esphome] (#104878) 2023-12-02 06:57:58 -10:00
Marc Mueller e9d4a02bb1 Adjust roku type hint (#104877) 2023-12-02 10:37:44 -05:00
G Johansson 06d663d33f Fix get_events name in calendar strings (#104902) 2023-12-02 10:35:52 -05:00
starkillerOG 381036e46a Reolink only fetch data for enabled entities (#104157) 2023-12-02 14:10:44 +01:00
J. Nick Koston a3dd2b8ea9 Migrate to using faster monotonic_time_coarse from bluetooth-data-tools (#104882) 2023-12-01 10:57:09 -10:00
c0ffeeca7 e724414475 SamsungTV to Snapcast: add host field description (#104862) 2023-12-01 16:45:53 +01:00
Marc Mueller 5014e2f0c7 Fix powerwall typing (#104875) 2023-12-01 05:42:50 -10:00
Michael dc708b8a18 Fix handling of unrecognized mimetypes in Synology DSM photos integration (#104848) 2023-12-01 15:58:15 +01:00
J. Nick Koston 970751a635 Bump bluetooth-data-tools to 0.16.0 (#104854) 2023-12-01 04:44:58 -07:00
starkillerOG 742e2dbbe4 Reolink schedule update after firmware update (#104867) 2023-12-01 12:26:18 +01:00
c0ffeeca7 450bc8dd2c Ping to Qnap: add host field description (#104859) 2023-12-01 12:18:34 +01:00
Niccolò Maggioni 0232c8dcb0 Add temperature to the light color mode parameter fallbacks (#86026)
* Add color temperature to the color mode fallbacks

* Manually add ATTR_COLOR_TEMP since ATTR_COLOR_TEMP_KELVIN is pre-parsed

* Include the legacy ATTR_COLOR_TEMP attribute in the tests

* Apply suggestions from code review

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

* Add citation for McCamy's approximation formula

If still existing, also see page 3 of https://www.st.com/resource/en/application_note/an5638-how-correlated-color-temperature-is-calculated-by-vd6283-stmicroelectronics.pdf

* Update homeassistant/util/color.py

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-12-01 08:26:07 +01:00
Franck Nijhof 7ec2980e52 Change pytest fixture scope from core fixtures (#104831) 2023-12-01 07:14:13 +01:00
Jan Bouwhuis 1273bc8ec4 Let executor CI test pass under worse conditions (#104849) 2023-11-30 20:05:26 -10:00
Jan Bouwhuis 7767bb328d Filter out zero readings for DSMR enery sensors (#104843) 2023-11-30 23:42:51 +01:00
Erik Montnemery 00e57ab9a4 Use deprecated_class decorator in deprecated YAML loader classes (#104835) 2023-11-30 22:43:34 +01:00
mkmer 99f28c7163 Late review updates for Blink (#104755) 2023-11-30 22:40:41 +01:00
Daniel Hjelseth Høyer 3e95c1c705 Bump Mill library (#104836) 2023-11-30 22:39:54 +01:00
Robert Hillis b0f5b78b9a Fix Harmony switch removal version (#104838) 2023-11-30 22:21:34 +01:00
cdnninja ea732349c9 Vesync constant cleanup (#104842) 2023-11-30 22:19:02 +01:00
Marcel van der Veldt 4829b21fd0 Update Matter test fixtures to schema version 5 (#104829) 2023-11-30 20:08:58 +01:00
Franck Nijhof cd1ee70707 Use orjson to load HomeWizard test fixtures (#104832) 2023-11-30 19:58:33 +01:00
Franck Nijhof 93c8618f8a Bump version to 2023.12.0b1 2023-11-30 19:48:24 +01:00
Franck Nijhof 208622e8a7 Revert "Add Komfovent (#95722)" (#104819) 2023-11-30 19:48:08 +01:00
Erik Montnemery 45f79ee1ba Restore renamed yaml loader classes and warn when used (#104818) 2023-11-30 19:48:04 +01:00
Bram Kragten 7739f99233 Update frontend to 20231130.0 (#104816) 2023-11-30 19:48:01 +01:00
Maciej Bieniek 43e0ddc74e Address late review for the host field description in Shelly integration (#104815)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-11-30 19:47:57 +01:00
Mappenhei 7e012183da Add Humidity device class to LaCross humidity sensor (#104814) 2023-11-30 19:47:54 +01:00
Maciej Bieniek 7a36bdb052 Make Shelly Wall Display thermostat implementation compatible with firmware 1.2.5 (#104812) 2023-11-30 19:47:51 +01:00
Erik Montnemery 83d881459a Add NodeStrClass.__voluptuous_compile__ (#104808) 2023-11-30 19:47:47 +01:00
Marcel van der Veldt 9d53d6811a Bump python-matter-server to version 5.0.0 (#104805) 2023-11-30 19:47:44 +01:00
Charles Garwood 847fd4c653 Use .get for Fully Kiosk SSL settings in coordinator (#104801) 2023-11-30 19:47:40 +01:00
Michael 0eefc98b33 Fix runtime error in CalDAV (#104800) 2023-11-30 19:47:36 +01:00
Marcel van der Veldt ea8a47d0e9 Fix device sync to Google Assistant if Matter integration is active (#104796)
* Only get Matter device info if device is an actual Matter device

* Return None if matter device does not exist

* lint

* fix test

* adjust google assistant test
2023-11-30 19:47:30 +01:00
c0ffeeca7 75d2ea9c57 KMtronic to LG Soundbar: add host field description (#104792) 2023-11-30 19:45:02 +01:00
c0ffeeca7 cf63cd33c5 iAlarm to Keenetic: add host field description (#104791)
Co-authored-by: Andrey Kupreychik <foxel@quickfox.ru>
2023-11-30 19:44:58 +01:00
c0ffeeca7 fd442fadf8 HLK to Hyperion: add host field description (#104789)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-11-30 19:44:52 +01:00
c0ffeeca7 62537aa63a Frontier to Glances: add host field description (#104787)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-11-30 19:44:48 +01:00
c0ffeeca7 d7de9c13fd Goalzero to HEOS: add host field description (#104786) 2023-11-30 19:44:45 +01:00
Erwin Douna 04b72953e6 Fix Fastdotcom no entity (#104785)
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2023-11-30 19:44:41 +01:00
c0ffeeca7 ddba7d8ed8 Freebox to FRITZ!Box add host field description (#104784)
Co-authored-by: Simone Chemelli <simone.chemelli@gmail.com>
2023-11-30 19:44:38 +01:00
c0ffeeca7 40c7432e8a FiveM to Foscam: add host field description (#104782) 2023-11-30 19:44:35 +01:00
c0ffeeca7 e1504759fe Enphase to Evil: add host field description (#104779)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-11-30 19:44:31 +01:00
c0ffeeca7 b6b2cf194d Ecoforest to Emonitor: add host field description (#104778) 2023-11-30 19:44:28 +01:00
c0ffeeca7 c3566db339 Dremel to Duotecno: add host field description (#104776)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-11-30 19:44:25 +01:00
c0ffeeca7 4eec48de51 Deconz to DoorBird: add host field description (#104772)
* Deconz to DoorBird: add host field description

* Update homeassistant/components/deconz/strings.json

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

---------

Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>
2023-11-30 19:44:21 +01:00
c0ffeeca7 fe544f670f Comelit, Coolmaster: add host field description (#104771) 2023-11-30 19:44:18 +01:00
c0ffeeca7 816e524457 Broadlink, BSB-Lan: add host field description (#104770) 2023-11-30 19:44:15 +01:00
Allen Porter 4b22551af1 Fix bug in rainbird device ids that are int serial numbers (#104768) 2023-11-30 19:44:12 +01:00
Jan Bouwhuis b4907800a9 Debug level logging for DSMR migration code (#104757) 2023-11-30 19:44:08 +01:00
Daniel Gangl f366b37c52 Bump zamg to 0.3.3 (#104756) 2023-11-30 19:44:05 +01:00
Michael Hansen 90bcad31b5 Skip TTS when text is empty (#104741)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-11-30 19:44:01 +01:00
Franck Nijhof 34c65749e2 Revert "Add proj dependency to our wheels builder (#104699)" (#104704) 2023-11-30 19:43:58 +01:00
Christopher Fenner 5f549649de Update initial translation for ViCare water heater entity (#104696) 2023-11-30 19:43:55 +01:00
c0ffeeca7 78f1c0cb80 Axis: add host and user name field description (#104693) 2023-11-30 19:43:51 +01:00
Charles Garwood 6f45fafc11 Bump pynws to 1.6.0 (#104679) 2023-11-30 19:43:48 +01:00
Florian 4acea82ca1 Fix Philips TV none recordings_list (#104665)
Correct for missing recordings list in api client.
---------

Co-authored-by: Joakim Plate <elupus@ecce.se>
2023-11-30 19:43:44 +01:00
Sergiy Maysak f1e8c1c7ee Fix wirelesstag unique_id to use uuid instead of tag_id (#104394)
Co-authored-by: Robert Resch <robert@resch.dev>
2023-11-30 19:43:40 +01:00
Marc Mueller ca9d58c442 Improve decorator type annotations [sensibo] (#104824) 2023-11-30 19:06:36 +01:00
Joost Lekkerkerker fed8e5e873 Always create APCUPS device (#104716) 2023-11-30 18:51:23 +01:00
Marc Mueller 2496c275c8 Improve decorator type annotations [core] (#104826) 2023-11-30 18:50:31 +01:00
Marc Mueller 46ba62a3c0 Improve decorator type annotations [sabnzbd] (#104823) 2023-11-30 18:47:58 +01:00
Marc Mueller 6ffc298986 Improve decorator type annotations [matter] (#104822) 2023-11-30 18:47:18 +01:00
Maciej Bieniek 8e2f4a347c Address late review for the host field description in Shelly integration (#104815)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-11-30 18:46:18 +01:00
Mappenhei 9bdb713408 Add Humidity device class to LaCross humidity sensor (#104814) 2023-11-30 18:45:52 +01:00
Marc Mueller d597cfec49 Improve decorator type annotations (#104821) 2023-11-30 18:45:18 +01:00
Franck Nijhof 4bc1e5075a Revert "Add Komfovent (#95722)" (#104819) 2023-11-30 18:45:04 +01:00
Sergiy Maysak 689c0d14ec Added typing for return value for async_migrate func. (#104828) 2023-11-30 18:19:10 +01:00
David Bonnes f50cd5ab5e Bump evohome-async to 0.4.9 (#103660) 2023-11-30 18:17:34 +01:00
Erik Montnemery abc05451a2 Restore renamed yaml loader classes and warn when used (#104818) 2023-11-30 18:14:48 +01:00
cdnninja 9447d954d6 Add codeowner to vesync (#104809) 2023-11-30 18:14:22 +01:00
Bram Kragten 99523c96a2 Update frontend to 20231130.0 (#104816) 2023-11-30 17:49:31 +01:00
Erik Montnemery 12902b8a68 Add NodeStrClass.__voluptuous_compile__ (#104808) 2023-11-30 17:45:27 +01:00
Maciej Bieniek b7bf1e9f3f Make Shelly Wall Display thermostat implementation compatible with firmware 1.2.5 (#104812) 2023-11-30 17:26:07 +01:00
c0ffeeca7 3133585d52 Enphase to Evil: add host field description (#104779)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-11-30 17:25:04 +01:00
c0ffeeca7 0c08081386 Deconz to DoorBird: add host field description (#104772)
* Deconz to DoorBird: add host field description

* Update homeassistant/components/deconz/strings.json

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

---------

Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>
2023-11-30 17:24:21 +01:00
Erwin Douna b3d64c3949 Fix Fastdotcom no entity (#104785)
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2023-11-30 17:11:28 +01:00
Marcel van der Veldt b31d805de1 Bump python-matter-server to version 5.0.0 (#104805) 2023-11-30 17:09:53 +01:00
Michael 7ec6510221 Add significant Change support for remote (#104627) 2023-11-30 17:09:06 +01:00
c0ffeeca7 419dc8adb1 Freebox to FRITZ!Box add host field description (#104784)
Co-authored-by: Simone Chemelli <simone.chemelli@gmail.com>
2023-11-30 17:05:32 +01:00
c0ffeeca7 41fb8d50cc Goalzero to HEOS: add host field description (#104786) 2023-11-30 17:04:15 +01:00
c0ffeeca7 b9ab28150e iAlarm to Keenetic: add host field description (#104791)
Co-authored-by: Andrey Kupreychik <foxel@quickfox.ru>
2023-11-30 17:03:27 +01:00
Marcel van der Veldt 52450291cb Fix device sync to Google Assistant if Matter integration is active (#104796)
* Only get Matter device info if device is an actual Matter device

* Return None if matter device does not exist

* lint

* fix test

* adjust google assistant test
2023-11-30 16:59:26 +01:00
c0ffeeca7 cc2c7c7be1 KMtronic to LG Soundbar: add host field description (#104792) 2023-11-30 16:57:44 +01:00
c0ffeeca7 3bbed8965a Frontier to Glances: add host field description (#104787)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-11-30 16:55:53 +01:00
Jonas Fors Lellky 25ebbda3a9 Add Flexit bacnet integration (#104275)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Piotr Buliński <piotr@bulinski.no>
Co-authored-by: Piotr Buliński <piotr@qbee.io>
2023-11-30 16:50:13 +01:00
c0ffeeca7 1c78848c43 HLK to Hyperion: add host field description (#104789)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-11-30 16:38:40 +01:00
Jan-Philipp Benecke f59588b413 Make the minimum number of samples used by the trend sensor configurable (#101102)
* Make the minimum of samples configurable & raise issue when min_samples > max_samples

* Wording

* Remove issue creation and use a custom schema validator

* Remove issue from strings.json

* Add test for validator and fix error message
2023-11-30 15:41:58 +01:00
Charles Garwood aa4382e091 Use .get for Fully Kiosk SSL settings in coordinator (#104801) 2023-11-30 14:22:17 +01:00
starkillerOG fa7a74c611 Cleanup Reolink formatting (late review) (#104793)
cleanup
2023-11-30 13:54:37 +01:00
Michael 68e883dc63 Fix runtime error in CalDAV (#104800) 2023-11-30 13:50:58 +01:00
Sergiy Maysak 1ab9357840 Fix wirelesstag unique_id to use uuid instead of tag_id (#104394)
Co-authored-by: Robert Resch <robert@resch.dev>
2023-11-30 12:14:46 +01:00
c0ffeeca7 d1a2192e37 FiveM to Foscam: add host field description (#104782) 2023-11-30 11:59:20 +01:00
starkillerOG 69af4c8603 Add common reolink entity description (#104142)
Co-authored-by: Robert Resch <robert@resch.dev>
2023-11-30 11:26:33 +01:00
c0ffeeca7 dd00357e9c Ecoforest to Emonitor: add host field description (#104778) 2023-11-30 09:44:18 +01:00
c0ffeeca7 da93daaa75 Dremel to Duotecno: add host field description (#104776)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-11-30 09:43:42 +01:00
c0ffeeca7 56350d1c0a Broadlink, BSB-Lan: add host field description (#104770) 2023-11-30 08:47:37 +01:00
c0ffeeca7 8bc1f9d03d Comelit, Coolmaster: add host field description (#104771) 2023-11-30 08:47:17 +01:00
Joost Lekkerkerker 6ac9a1d1f2 Migrate GDACS to has entity name (#104733) 2023-11-30 08:22:16 +01:00
c0ffeeca7 2f0846bd87 Axis: add host and user name field description (#104693) 2023-11-30 08:12:39 +01:00
Allen Porter 64a6a6a778 Add due date and description fields to Todoist To-do entity (#104655)
* Add Todoist Due date and description fields

* Update entity features with new names

* Make items into walrus

* Update due_datetime field

* Add additional tests for adding new fields to items

* Fix call args in todoist test
2023-11-30 07:01:57 +01:00
Allen Porter c72e4e8b5c Fix bug in rainbird device ids that are int serial numbers (#104768) 2023-11-30 06:11:38 +01:00
starkillerOG 9fa163c107 Reolink cleanup when CAM disconnected from NVR (#103888)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-11-30 01:50:37 +01:00
Christopher Fenner ec647677e9 Update initial translation for ViCare water heater entity (#104696) 2023-11-30 01:38:33 +01:00
Daniel Gangl b957c4e3ee Bump zamg to 0.3.3 (#104756) 2023-11-30 01:31:39 +01:00
Michael Hansen d793203163 Skip TTS when text is empty (#104741)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-11-30 01:31:27 +01:00
Jan Bouwhuis 04f1b11ef7 Debug level logging for DSMR migration code (#104757) 2023-11-30 00:32:12 +01:00
Franck Nijhof ec3795ab97 Revert "Add proj dependency to our wheels builder (#104699)" (#104704) 2023-11-29 23:16:58 +01:00
Charles Garwood e8091a47db Bump pynws to 1.6.0 (#104679) 2023-11-29 23:13:05 +01:00
Rami Mosleh 2437fb314f Add strict typing to push bullet (#99538)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-11-29 23:05:10 +01:00
Allen Porter c8aed06438 Add due date and description to Google Tasks (#104654)
* Add tests for config validation function

* Add Google Tasks due date and description

* Revert test timezone

* Update changes after upstream

* Update homeassistant/components/google_tasks/todo.py

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

* Add google tasks tests for creating

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-11-29 22:37:43 +01:00
Joost Lekkerkerker 8e64eff626 Add entity translations to faa_delays (#104749) 2023-11-29 22:23:46 +01:00
Joost Lekkerkerker 9126b00dfe Move Faa delays state attributes to entity description (#104748) 2023-11-29 22:01:03 +01:00
Florian 7638b9bba1 Fix Philips TV none recordings_list (#104665)
Correct for missing recordings list in api client.
---------

Co-authored-by: Joakim Plate <elupus@ecce.se>
2023-11-29 21:54:05 +01:00
Joost Lekkerkerker bdf4c61a05 Add faa_delays to strict typing (#104720) 2023-11-29 21:41:32 +01:00
Franck Nijhof 0a98a648bb Bump version to 2024.1.0dev0 (#104746) 2023-11-29 21:29:11 +01:00
Franck Nijhof 19f543214f Bump version to 2023.12.0b0 2023-11-29 20:40:14 +01:00
Allen Porter af2f8699b7 Add due date and description to CalDAV To-do (#104656)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Robert Resch <robert@resch.dev>
2023-11-29 19:35:36 +01:00
J. Nick Koston 1522118453 Remove aiohttp cancel on disconnect workaround (#104175) 2023-11-29 11:20:36 -07:00
J. Nick Koston 50f2c41145 Avoid db hit and executor job for impossible history queries (#104724) 2023-11-29 11:20:22 -07:00
Joost Lekkerkerker 1fefa93648 Use config entry callbacks in Gree (#104740) 2023-11-29 19:03:58 +01:00
Michael Hansen e10d58ef3e Bump intents to 2023.11.29 (#104738) 2023-11-29 18:52:27 +01:00
J. Nick Koston 1b048ff388 Remove HomeAssistantAccessLogger (#104173) 2023-11-29 10:40:19 -07:00
Duco Sebel 1727c19e0d Address review comments for Picnic (#104732) 2023-11-29 18:35:55 +01:00
Paul Bottein 38eda9f46e Add multiple option to text selector (#104635)
Co-authored-by: Robert Resch <robert@resch.dev>
2023-11-29 18:32:32 +01:00
J. Nick Koston dfed10420c Remove aiohttp enable_compression helper (#104174) 2023-11-29 10:24:34 -07:00
Richard Kroegel 2287c45afc Bump bimmer-connected to 0.14.5 (#104715)
Co-authored-by: rikroe <rikroe@users.noreply.github.com>
2023-11-29 18:11:04 +01:00
Michael Hansen a894146cee Fix TTS streaming for VoIP (#104620)
* Use wav instead of raw tts audio in voip

* More tests

* Use mock TTS dir
2023-11-29 12:07:22 -05:00
Jan Bouwhuis 47426a3ddc Remove redundant websocket_api exception handler (#104727) 2023-11-29 16:56:26 +01:00
Jan Bouwhuis 4bf88b1690 Improve MQTT json light brightness scaling (#104510)
* Improve MQTT json light brightness scaling

* Revert unrelated changes

* Format
2023-11-29 16:42:10 +01:00
Joost Lekkerkerker b36ddaa15c Change super class order in Withings Calendar (#104721) 2023-11-29 16:30:23 +01:00
Jan Bouwhuis 82264a0d6b Fix mqtt cover state is open after receiving stopped payload (#104726) 2023-11-29 16:29:42 +01:00
Bram Kragten 4628b03677 Update frontend to 20231129.1 (#104723) 2023-11-29 16:29:20 +01:00
Jan-Philipp Benecke e2bab699b5 Avoid double refresh when adding entities in bsblan (#104647) 2023-11-29 16:24:30 +01:00
J. Nick Koston 608f4f7c52 Bump aiohttp to 3.9.1 (#104176) 2023-11-29 16:13:54 +01:00
dupondje ba481001c3 Add support for multiple mbus devices in dsmr (#84097)
* Add support for multiple mbus devices in dsmr

A dsmr meter can have 4 mbus devices.
Support them all and also add support for a water meter on the mbus
device.

* Apply suggestions from code review

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

* Rewrite old gas sensor to new mbus sensor

* No force updates + fix mbus entity unique_id

* Remove old gas device

* Add additional tests

* Fix remarks from last review + move migrated 5b gas meter to new device_id

* Fix ruff error

* Last fixes

---------

Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2023-11-29 15:41:58 +01:00
Joost Lekkerkerker 36eb858d0a Rename variable in Epson tests (#104722) 2023-11-29 15:22:21 +01:00
Stefan Rado c6c8bb6970 Bump aioesphomeapi to 19.2.1 (#104703) 2023-11-29 15:20:40 +01:00
Erik Montnemery 61d82ae9ab Tweak dockerfile generation (#104717) 2023-11-29 15:20:21 +01:00
Franck Nijhof 8f2e69fdb7 Revert "Update stookwijzer api to atlas leefomgeving (#103323)" (#104705) 2023-11-29 15:18:25 +01:00
Martin Hjelmare e884933dbd Remove rest api service call timeout (#104709) 2023-11-29 14:46:19 +01:00
stegm 09d7679818 Add new sensors of Kostal Plenticore integration (#103802) 2023-11-29 14:24:09 +01:00
Marc Mueller 0a13968209 Improve devialet coordinator typing (#104707) 2023-11-29 14:17:15 +01:00
Jan Bouwhuis 953a212dd6 Use ServiceValidationError for invalid fan preset_mode and move check to fan entity component (#104560)
* Use ServiceValidationError for fan preset_mode

* Use _valid_preset_mode_or_raise to raise

* Move preset_mode validation to entity component

* Fix bond fan and comments

* Fixes baf, fjaraskupan and template

* More integration adjustments

* Add custom components mock and test code

* Make NotValidPresetModeError subclass

* Update homeassistant/components/fan/strings.json

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

* Keep bond has_action validation

* Move demo test asserts outside context block

* Follow up comment

* Update homeassistant/components/fan/strings.json

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

* Fix demo tests

* Remove pylint disable

* Remove unreachable code

* Update homeassistant/components/fan/__init__.py

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

* Use NotValidPresetModeError, Final methods

* Address comments

* Correct docst

* Follow up comments

* Update homeassistant/components/fan/__init__.py

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

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-11-29 13:56:51 +01:00
Bram Kragten 49381cefa3 Update frontend to 20231129.0 (#104710) 2023-11-29 13:37:23 +01:00
G Johansson e5a7446afe Use id as location data in Trafikverket Camera (#104473) 2023-11-29 13:35:32 +01:00
Franck Nijhof cf23de1c48 Add proj-dev dependency to our wheels builder (#104711) 2023-11-29 13:15:37 +01:00
Martin Hjelmare 5f44dadb66 Rename todo due_date_time parameter to due_datetime (#104698)
* Rename todo due_date_time parameter to due_datetime

* Apply suggestions from code review

---------

Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com>
2023-11-29 13:11:15 +01:00
Jan Bouwhuis 861bb48ab6 Assign specific error code for HomeAssistantError on websocket_api connection exceptions (#104700)
Assign specific error code for HomeAssistantError
2023-11-29 13:07:52 +01:00
Franck Nijhof 9741380cc0 Add proj-util dependency to our wheels builder (#104708) 2023-11-29 12:41:47 +01:00
Simone Chemelli fc7b17d35b Handle server disconnection for Comelit devices (#104583) 2023-11-29 12:33:25 +01:00
schelv 31cab5803c Add Option For Kelvin Unit To Color Temperature Selector (#103799) 2023-11-29 12:25:06 +01:00
Stefan Rado d9c0acc1d2 Partially revert #103807: Remove deprecated aux heat support from ESPHome climate entities (#104694) 2023-11-29 04:45:15 -06:00
Franck Nijhof 6dc818b682 Add proj dependency to our wheels builder (#104699) 2023-11-29 11:38:23 +01:00
puddly bd8f01bd35 Bump ZHA dependencies (#104335) 2023-11-29 11:30:15 +01:00
Erik Montnemery 999875d0e4 Autogenerate Dockerfile (#104669) 2023-11-29 11:26:50 +01:00
c0ffeeca7 bcfb5307f5 Balboa, Bond, Bosch: add host field description (#104695) 2023-11-29 11:06:50 +01:00
Jan Bouwhuis efd330f182 Send localization info on websocket_api script errors (#104638)
* Send localization info on script errors

* Use connection exception hander

* Keep HomeAssistantError is unknown_error

* Move specific exception handling
2023-11-29 10:47:23 +01:00
Franck Nijhof 7dbaf40f48 Merge branch 'master' into dev 2023-11-29 10:13:51 +01:00
Ville Skyttä afc3f1d933 Make huawei_lte operator search and preferred network modes translatable (#104673) 2023-11-29 10:07:54 +01:00
c0ffeeca7 634785a2d8 Atag: add host field description (#104691) 2023-11-29 10:02:49 +01:00
Sebastian YEPES a3bad54583 Add Tuya Smart Water Timer (#95053)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-11-29 09:48:45 +01:00
Simone Chemelli 6a87876729 Handle server disconnection for Vodafone devices (#104650) 2023-11-29 09:39:30 +01:00
Maciej Bieniek 8c56b5ef82 Add a host field description for Bravia, Brother and NAM (#104689) 2023-11-29 09:35:38 +01:00
c0ffeeca7 4d00767081 ASUSWRT: add description of host field. Fix title (#104690)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-11-29 09:35:08 +01:00
Christopher Fenner c4e3ae84f4 Optimize async executor use in ViCare integration (#104645)
* use one async executor

* use list comprehension

* simplify

* simplify

* simplify

* simplify

* simplify

* simplify

* simplify

* simplify

* add type

* Apply suggestions from code review

* fix ruff findings
2023-11-29 09:28:56 +01:00
TheJulianJES 2663a4d617 Bump zha-quirks to 0.0.107 (#104683) 2023-11-29 09:19:02 +01:00
Christopher Fenner 5dc64dd6b9 Fix HA state update in ViCare number platform (#104687)
use sync update fn
2023-11-29 09:16:58 +01:00
c0ffeeca7 8e8e8077a0 Agent DVR and Android IP webcam: Add description of host field (#104688) 2023-11-29 09:13:35 +01:00
IceBotYT 526180a8af Add PECO smart meter binary_sensor (#71034)
* Add support for PECO smart meter

* Add support for PECO smart meter

* Conform to black

* Fix tests and additional clean-up

* Return init file to original state

* Move to FlowResultType

* Catch up to upstream

* Remove commented code

* isort

* Merge smart meter and outage count into one entry

* Test coverage

* Remove logging exceptions from config flow verification

* Fix comments from @emontnemery

* Revert "Add support for PECO smart meter"

This reverts commit 36ca90856684f328e71bc3778fa7aa52a6bde5ca.

* More fixes
2023-11-29 09:08:27 +01:00
Maciej Bieniek 3aa9066a50 Add field description for Shelly host (#104686) 2023-11-29 08:45:47 +01:00
c0ffeeca7 4b667cff26 Host field description: implement review from #104658 (#104685) 2023-11-29 08:44:28 +01:00
Renat Sibgatulin 68722ce662 Bump aioairq to 0.3.1 (#104659) 2023-11-29 08:43:48 +01:00
Jan-Philipp Benecke a9a95ad881 Revert "Introduce base entity for ping" (#104682) 2023-11-29 08:42:02 +01:00
Stefan Rado 017d05c03e Add humidity and aux heat support to ESPHome climate entities (#103807)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-11-29 17:57:30 +13:00
J. Nick Koston 3c25d95481 Bump aioesphomeapi to 19.2.0 (#104677) 2023-11-29 16:57:39 +13:00
J. Nick Koston de3b608e78 Remove BLE connection state unsubscribe workaround from ESPHome (#104674)
aioesphomeapi now has explict coverage to ensure calling
the unsubscribe function after the connection drops is safe
and will not raise anymore
2023-11-28 23:38:00 +01:00
Alex Hermann bdef0ba6e5 Significantly improve performance for some cases of the history start time state query (#99450)
* recorder: Apply filter in the outer query too

Function _get_start_time_state_for_entities_stmt() produced a query which
is dead-slow in my installation. On analysis, the outer query produced
millions of rows which had to be joined to the subquery. The subquery has
a filter which would eliminate almost all of the outer rows.

To speed up the query, apply the same filter to the outer query, so way
less rows have to be joined.

This reduced the query time on my system from more than half an hour to
mere milliseconds.

* lint

* merge filter

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2023-11-28 16:23:49 -06:00
Ville Skyttä 21d842cb58 Fix human readable huawei_lte sensor names (#104672)
Regression from 7c85d84133, #98631
2023-11-28 23:44:35 +02:00
Adrian Huber 2c196baa7a Add DeviceInfo to Wolf SmartSet Entities (#104642)
* Fix await warning

* Add DeviceInfo to Wolflink sensors

* Remove comment

* Don't pass device name to DeviceInfo

* Use _attr_device_info instead of property
2023-11-28 22:24:25 +01:00
J. Nick Koston 93aa31c835 Bump aioesphomeapi to 19.1.7 (#104644)
* Bump aioesphomeapi to 19.1.5

changelog: https://github.com/esphome/aioesphomeapi/compare/v19.1.4...v19.1.5

- Removes the need to watch for BLE connection drops with a seperate
  future as the library now raises BluetoothConnectionDroppedError when
  the connection drops during a BLE operation

* reduce stack

* .6

* tweak

* 19.1.7
2023-11-28 21:51:35 +01:00
Daniel Hjelseth Høyer 63ef9efa26 Bump pyAdax to 0.4.0 (#104660)
Updata Adax lib

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
2023-11-28 21:22:48 +01:00
mkmer 595663778c Bump aiosomecomfort to 0.0.24 (#104649)
* Bump aiosomecomfort to 0.0.24

* PascalCase change
2023-11-28 19:34:30 +01:00
c0ffeeca7 9bdf82eb32 Add info what to enter into host field (#104658)
* Add info what to enter into host field

* Fix style
2023-11-28 19:32:11 +01:00
mkmer 56f2f17ed1 Bump aiosomecomfort to 0.0.23 (#104641) 2023-11-28 15:51:47 +01:00
glanch 7533895a3d Add tag name to tag_scanned event data (#97553)
* Add tag name to tag scanned event data

* Make name in event data optional, add test cases for events

* Simplify sanity None check of tag data

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

* Apply suggestions from code review

---------

Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-11-28 13:58:40 +01:00
fwestenberg d3b04a5a58 Add Devialet integration (#86551)
* Add Devialet

* Bump Devialet==1.4.0

* Bump Devialet==1.4.1

* Sort manifest and add shorthand

* Black formatting

* Fix incompatible type

* Add type guarding for name

* Rename host keywork in tests

* Fix Devialet tests

* Add update coordinator

* Update devialet tests

* Create unique_id from entry data
2023-11-28 13:56:17 +01:00
Jan-Philipp Benecke 61a5c0de5e Use shorthand attributes in HVV departures (#104637)
* Use shorthand attributes in HVV departures

* Apply code review suggestion

Co-authored-by: Christopher Fenner <9592452+CFenner@users.noreply.github.com>

* Apply code review sugesstion

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

---------

Co-authored-by: Christopher Fenner <9592452+CFenner@users.noreply.github.com>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-11-28 13:44:40 +01:00
fwestenberg 9dc5d4a1bb Update stookwijzer api to atlas leefomgeving (#103323)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-11-28 13:23:51 +01:00
Allen Porter b8cc3349be Add To-do due date and description fields (#104128)
* Add To-do due date and description fields

* Fix due date schema

* Revert devcontainer change

* Split due date and due date time

* Add tests for config validation function

* Add timezone converstion tests

* Add local todo due date/time and description implementation

* Revert configuration

* Revert test changes

* Add comments for the todo item field description

* Rename function _validate_supported_features

* Fix issues in items factory

* Readability improvements

* Apply suggestions from code review

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

* Rename CONF to ATTR usages

* Simplify local time validator

* Rename TodoListEntityFeature fields for setting extended fields

* Remove duplicate validations

* Update subscribe test

* Fix local_todo tests

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-11-28 13:01:12 +01: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
Franck Nijhof ef89d1cd3d 2023.11.3 (#104348) 2023-11-22 12:51:36 +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
Allen Porter 9c4fd88a3d Bump ical to 6.1.0 (#103759) 2023-11-22 09:45:45 +01:00
Allen Porter f5783cd3b5 Bump ical to 6.0.0 (#103482) 2023-11-22 09:45:40 +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
Franck Nijhof 1200ded24c Bumped version to 2023.11.3 2023-11-22 09:12:24 +01:00
Erik Montnemery da992e9f45 Bump pychromecast to 13.0.8 (#104320) 2023-11-22 09:11:21 +01:00
Allen Porter 40326385ae Bump pyrainbird to 4.0.1 (#104293) 2023-11-22 09:11:17 +01:00
Richard Kroegel da04c32893 Bump bimmer_connected to 0.14.3 (#104282)
Co-authored-by: rikroe <rikroe@users.noreply.github.com>
2023-11-22 09:11:13 +01:00
Jan Bouwhuis ae2ff926c1 Restore removed guard for non-string inputs in Alexa (#104263) 2023-11-22 09:11:10 +01:00
epenet a5d48da07a Catch ClientOSError in renault integration (#104248) 2023-11-22 09:11:06 +01:00
Anton Tolchanov 669daabfdb Handle attributes set to None in prometheus (#104247)
Better handle attributes set to None
2023-11-22 09:11:02 +01:00
Jan Bouwhuis b64ef24f20 Fix mqtt json light allows to set brightness value >255 (#104220) 2023-11-22 09:10:58 +01:00
Jan Bouwhuis 86beb9d135 Fix imap does not decode text body correctly (#104217) 2023-11-22 09:10:06 +01:00
Rene Nemec 64297aeb8f Increase Tomato request timeout (#104203)
* tomato integration timeout fixed

* update tests in tomato integration
2023-11-22 09:10:01 +01:00
mkmer 5650df5cfb Bump aiosomecomfort to 0.0.22 (#104202)
* Bump aiosomecomfort to 0.0.20

* Bump aiosomecomfort to 0.0.22
2023-11-22 09:09:56 +01:00
Allen Porter 83c59d4154 Fix Local To-do list bug renaming items (#104182)
* Fix Local To-do bug renaming items

* Fix renaming
2023-11-22 09:09:53 +01:00
Thomas Schamm 4680ac0cbf Bump boschshcpy to 0.2.75 (#104159)
Bumped to boschshcpy==0.2.75
2023-11-22 09:08:37 +01:00
J. Nick Koston 8b79d38497 Prevent Bluetooth reconnects from blocking shutdown (#104150) 2023-11-22 09:08:33 +01:00
J. Nick Koston 35b1051c67 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-22 09:08:28 +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
J. Nick Koston fcc7020946 Fix memory leak in ESPHome disconnect callbacks (#104149) 2023-11-22 08:35:58 +01:00
J. Nick Koston d69d9863b5 Fix ESPHome BLE client raising confusing error when not connected (#104146) 2023-11-22 08:35:55 +01:00
Arie Catsman 885152df81 Bump pyenphase to 1.14.3 (#104101)
fix(101354):update pyenphase to 1.14.3
2023-11-22 08:35:51 +01:00
Martin Hjelmare 7ff1bdb098 Fix device tracker see gps accuracy selector (#104022) 2023-11-22 08:35:48 +01:00
deosrc 399299c13c 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-22 08:35:44 +01:00
J. Nick Koston c241c2f79c Fix emulated_hue with None values (#104020) 2023-11-22 08:35:40 +01:00
Martin Hjelmare b010c6b793 Fix openexchangerates form data description (#103974) 2023-11-22 08:35:36 +01:00
Chuck Foster 2f380d4b75 Fix duplicate Ban file entries (#103953) 2023-11-22 08:35:33 +01:00
Matt Zimmerman 19f268a1e1 Update smarttub to 0.0.36 (#103948) 2023-11-22 08:35:29 +01:00
Raman Gupta bcd371ac2b Bump zwave-js-server-python to 0.54.0 (#103943) 2023-11-22 08:35:25 +01:00
Tom Brien a5a8d38d08 Fix Coinbase for new API Structure (#103930) 2023-11-22 08:35:22 +01:00
Simone Chemelli 56298b2c88 fix Comelit cover stop (#103911) 2023-11-22 08:35:18 +01:00
Allen Porter cf35e9b154 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-22 08:35:15 +01:00
Allen Porter 29a65d5620 Fix for Google Calendar API returning invalid RRULE:DATE rules (#103870) 2023-11-22 08:35:11 +01:00
Allen Porter c352cf0bd8 Fix bug in Fitbit config flow, and switch to prefer display name (#103869) 2023-11-22 08:35:08 +01:00
Allen Porter e89b47138d Bump gcal_sync to 6.0.1 (#103861) 2023-11-22 08:35:04 +01:00
suaveolent 339e9e7b48 Bump lupupy to 0.3.1 (#103835)
Co-authored-by: suaveolent <suaveolent@users.noreply.github.com>
2023-11-22 08:35:00 +01:00
J. Nick Koston 92780dd217 Bump pyunifiprotect to 4.21.0 (#103832)
changelog: https://github.com/AngellusMortis/pyunifiprotect/compare/v4.20.0...v4.21.0
2023-11-22 08:34:56 +01:00
Maikel Punie 6133ce0258 Bump velbusaio to 2023.11.0 (#103798) 2023-11-22 08:34:53 +01:00
Simone Chemelli 57c76b2ea3 Bump aiocomelit to 0.5.2 (#103791)
* Bump aoicomelit to 0.5.0

* bump to 0.5.2
2023-11-22 08:34:49 +01:00
Mick Vleeshouwer 149aef9a12 Bump pyOverkiz to 1.13.2 (#103790) 2023-11-22 08:34:45 +01:00
Mick Vleeshouwer 3dddf6b9f6 Bump pyOverkiz to 1.13.0 (#103582) 2023-11-22 08:34:41 +01:00
Allen Porter 2a26dea587 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-22 08:34:36 +01:00
Jan Rieger 31ac03fe50 Fix typo in calendar translation (#103789) 2023-11-22 08:31:14 +01:00
Marcel van der Veldt fb1dfb016e Fix race condition in Matter unsubscribe method (#103770) 2023-11-22 08:31:10 +01:00
Jan Bouwhuis 8a152a68d8 Fix raising vol.Invalid during mqtt config validation instead of ValueError (#103764) 2023-11-22 08:31:06 +01:00
Marcel van der Veldt df3e49b24f 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-22 08:31:02 +01:00
G-Two db604170ba Bump subarulink to 0.7.9 (#103761) 2023-11-22 08:30:58 +01:00
J. Nick Koston d8a6d3e1bc Bump python-matter-server to 4.0.2 (#103760)
Co-authored-by: Marcel van der Veldt <m.vanderveldt@outlook.com>
2023-11-22 08:30:54 +01:00
Maciej Bieniek 6f086a27d4 Bump accuweather to version 2.1.0 (#103744) 2023-11-22 08:30:51 +01:00
Joost Lekkerkerker 3993c14f1d Lock Withings token refresh (#103688)
Lock Withings refresh
2023-11-22 08:30:44 +01:00
Allen Porter d63d7841c3 Remove rainbird yaml config test fixtures (#103607) 2023-11-22 08:30:38 +01:00
Maciej Bieniek e555671765 Bump accuweather to version 2.0.1 (#103532) 2023-11-22 08:30:33 +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
Franck Nijhof a3319262ac 2023.11.2 (#103737) 2023-11-10 12:41:51 +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 eaf711335d Bumped version to 2023.11.2 2023-11-10 10:04:50 +01:00
Bram Kragten f120558750 Update frontend to 20231030.2 (#103706) 2023-11-10 10:04:33 +01:00
Joost Lekkerkerker 30dc05cdd7 Add name to Withings coordinator (#103692) 2023-11-10 10:04:29 +01:00
J. Nick Koston 8ce746972f 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-10 10:04:26 +01:00
starkillerOG f946ed9e16 Fix Reolink DHCP IP update (#103654) 2023-11-10 10:04:23 +01:00
Joost Lekkerkerker 0ffc1bae76 Bump yt-dlp to 2023.10.13 (#103616) 2023-11-10 10:04:20 +01:00
Joost Lekkerkerker d1a3a5895b Raise exception when data can't be fetched in Opensky (#103596) 2023-11-10 10:04:17 +01:00
suaveolent f9c70fd3c8 fix: get_devices only checks for the first type (#103583) 2023-11-10 10:04:14 +01:00
dupondje 70f0ee81c9 Update dsmr-parser to 1.3.1 to fix parsing issues (#103572) 2023-11-10 10:04:10 +01:00
Charles Garwood 95d4254074 Bump pyenphase to 1.14.2 (#103553) 2023-11-10 10:04:07 +01:00
J. Nick Koston c8d3e377f0 Bump aioesphomeapi to 18.2.4 (#103552) 2023-11-10 10:04:04 +01:00
epenet da1c282c1b Fix invalid MAC in samsungtv (#103512)
* Fix invalid MAC in samsungtv

* Also adjust __init__
2023-11-10 10:04:01 +01:00
dupondje 35c0c9958d 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-10 10:03:57 +01:00
mkmer 93a0bd351a Bump blinkpy to 0.22.3 (#103438) 2023-11-10 10:00:11 +01:00
J. Nick Koston dbdd9d74cf 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-10 10:00:08 +01:00
J. Nick Koston 3cac87cf30 Bump aioesphomeapi to 18.2.1 (#103156) 2023-11-10 10:00:05 +01:00
Jesse Hills d019045199 ESPHome: Add suggested_area from device info (#102834) 2023-11-10 10:00:00 +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
Robert Resch 8f684ab102 Revert binary_sensor part of #103210 (#103499) 2023-11-06 17:56:53 +01:00
Matt Zimmerman c17def27fc Fix litterrobot test failure due to time zone dependence (#103444)
* fix litterrobot test

* use a date in northern hemisehpere summer
2023-11-06 17:03:07 +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
dupondje 27d8d1011e Use right equipment identifier in DSMR setup (#103494) 2023-11-06 14:51:33 +01:00
Joost Lekkerkerker e2270a305d 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 14:51:30 +01:00
Matthias Alphart 6fd8973a00 Fix KNX expose default value when attribute is None (#103446)
Fix KNX expose default value when attribute is `null`
2023-11-06 14:51:27 +01:00
jan iversen 9a37868244 Modbus set device_class in slaves (#103442) 2023-11-06 14:51:24 +01:00
jan iversen 9327c51115 modbus Allow swap: byte for datatype: string. (#103441) 2023-11-06 14:51:21 +01:00
Michael e56e75114a Fix serial in Flo device information (#103427) 2023-11-06 14:51:17 +01:00
Tobias Sauerwein f45114371e Bump pyatmo to v7.6.0 (#103410)
Signed-off-by: Tobias Sauerwein <cgtobi@gmail.com>
2023-11-06 14:51:14 +01:00
Franck Nijhof 7e2c12b0a9 Update tailscale to 0.6.0 (#103409) 2023-11-06 14:51:10 +01:00
J. Nick Koston 050f1085d0 Pin jaraco.functools to fix builds and CI (#103406) 2023-11-06 14:51:07 +01:00
Matt Zimmerman 334a02bc2b 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 14:51:04 +01:00
Nathan Spencer 412fa4c65a Handle null data in WeatherFlow sensors (#103349)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-11-06 14:51:01 +01:00
Álvaro Fernández Rojas 2b36befe95 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-06 14:50:56 +01:00
Álvaro Fernández Rojas aa623cc15c Update aioairzone-cloud to v0.3.2 (#103258)
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2023-11-06 14:50:51 +01:00
Maciej Bieniek b0bb91ec08 Don't assume that the sleep value is a dictionary in Tractive integration (#103138)
* Sleep value can be null

* Catch TypeError
2023-11-06 14:49:10 +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
Franck Nijhof ce12d82624 2023.11.1 (#103301) 2023-11-04 14:27:14 +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
Raman Gupta 9eff9ee374 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-04 12:53:50 +01:00
Rami Mosleh 1ef460cffe Fix sensor unique id in Islamic prayer times (#103356) 2023-11-04 12:53:24 +01:00
Robert Svensson 42243f1433 Handle UniFi traffic rules not supported on older versions (#103346) 2023-11-04 12:53:21 +01:00
Jan Rieger 8a07c10d88 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 12:53:18 +01:00
Joakim Sørensen 730a3f7870 Remove extra from traccar webhook (#103319) 2023-11-04 12:53:15 +01:00
Jan-Philipp Benecke 718901d2ad Fix typo in Todoist config flow (#103317) 2023-11-04 12:53:12 +01:00
Raman Gupta d95d4d0184 Add script to convert zwave_js device diagnostics to fixture (#102799) 2023-11-04 12:53:06 +01:00
Ian 67ce51899f 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-04 12:46:05 +01:00
starkillerOG 810681b357 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-04 12:46:01 +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
Franck Nijhof 0b0f099d27 Bumped version to 2023.11.1 2023-11-03 13:02:22 +01:00
tronikos 4a56d0ec1d Bump opower to 0.0.39 (#103292) 2023-11-03 13:02:04 +01:00
Raman Gupta 910654bf78 Fix firmware update failure (#103277) 2023-11-03 13:02:01 +01:00
Marcel van der Veldt 1a823376d8 Fix Matter 1.2 locks with specific unlatch/unbolt support (#103275) 2023-11-03 13:01:56 +01:00
Pedro Januário ba634ac346 add library logger info on ecoforest integration manifest (#103274) 2023-11-03 13:01:24 +01:00
J. Nick Koston 92486b1ff0 Bump yalexs-ble to 2.3.2 (#103267) 2023-11-03 12:59:19 +01:00
Tom 06d26b7c7f Fix Plugwise Schedule selection (#103262) 2023-11-03 12:59:16 +01:00
Joakim Plate 1dcd66d75c Remove measurement flag from timestamp in gardena bluetooth (#103245)
Remove measurement flag from timestamp
2023-11-03 12:59:13 +01:00
Charles Garwood c811e0db49 Bump pyenphase to 1.14.1 (#103239) 2023-11-03 12:59:09 +01:00
Matthias Alphart dc30ddc24b Fix Fronius entity initialisation (#103211)
* Use None instead of raising ValueError if value invalid

* use async_dispatcher_send
2023-11-03 12:59:06 +01:00
Jan Bouwhuis 239fa04d02 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-03 12:59:03 +01:00
Xitee 2be229c5b5 Fix roomba error if battery stats are not available (#103196) 2023-11-03 12:59:00 +01:00
Xitee 5b4df0f7ff Fix roomba translation key mismatch (#103191) 2023-11-03 12:58:57 +01:00
mkmer 355b51d4c8 Catch unexpected response in Honeywell (#103169)
catch unexpected response
2023-11-03 12:58:54 +01:00
Joost Lekkerkerker 0c8074bab4 Bump aiowaqi to 3.0.0 (#103166) 2023-11-03 12:58:51 +01:00
G Johansson acd98e9b40 Bump python-holidays to 0.35 (#103092) 2023-11-03 12:58:45 +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
Franck Nijhof 0b8d4235c3 2023.11.0 (#103164) 2023-11-01 15:59:51 +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
Franck Nijhof 4ce859b4e4 Bumped version to 2023.11.0 2023-11-01 11:24:41 +01:00
Franck Nijhof 18acec32b8 Bumped version to 2023.11.0b6 2023-11-01 11:22:25 +01:00
Bram Kragten cfa2f2ce61 Update frontend to 20231030.1 (#103163) 2023-11-01 11:22:16 +01:00
Jan Bouwhuis aa5ea5ebc3 Fix mqtt is not reloading without yaml config (#103159) 2023-11-01 11:22:13 +01:00
J. Nick Koston bcea021c14 Allow non-admins to subscribe to the issue registry updated event (#103145) 2023-11-01 11:22:10 +01:00
Allen Porter ea2d2ba7b7 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-11-01 11:22:07 +01:00
Teemu R c5f21fefbe Bump python-kasa to 0.5.4 for tplink (#103038) 2023-11-01 11:22:03 +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
Franck Nijhof 9910f9e0ae Bumped version to 2023.11.0b5 2023-10-31 19:43:21 +01:00
J. Nick Koston f0a06efa1f Fix race in starting reauth flows (#103130) 2023-10-31 19:43:05 +01:00
J. Nick Koston 8992d15ffc Bump aiohomekit to 3.0.9 (#103123) 2023-10-31 19:43:02 +01:00
Paul Bottein e097dc02dd Don't try to load resources in safe mode (#103122) 2023-10-31 19:42:59 +01:00
starkillerOG bfae1468d6 Bump reolink-aio to 0.7.12 (#103120) 2023-10-31 19:42:52 +01:00
Christopher Fenner 09ed6e9f9b Handle exception introduced with recent PyViCare update (#103110) 2023-10-31 19:42:48 +01:00
Erik Montnemery 040ecb74e0 Add todo to core files (#103102) 2023-10-31 19:42:45 +01:00
Erik Montnemery a48e63aa28 Fix todoist todo tests (#103101) 2023-10-31 19:42:41 +01:00
Erik Montnemery 19479b2a68 Fix local_todo todo tests (#103099) 2023-10-31 19:42:36 +01: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
Franck Nijhof 9ae29e243d Bumped version to 2023.11.0b4 2023-10-31 13:30:10 +01:00
Joost Lekkerkerker e309bd764b Abort config flow if Google Tasks API is not enabled (#103114)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-10-31 13:29:52 +01:00
Christopher Fenner 777ffe6946 Fix client id label in ViCare integration (#103111) 2023-10-31 13:29:49 +01:00
Robert Resch fa0f679a9a Fix todo.remove_item frontend (#103108) 2023-10-31 13:29:46 +01:00
Erik Montnemery 26b7e94c4f Fix shopping_list todo tests (#103100) 2023-10-31 13:29:43 +01:00
Erik Montnemery 957998ea8d Fix google_tasks todo tests (#103098) 2023-10-31 13:29:40 +01:00
Erik Montnemery abaeacbd6b Fix restore state for light when saved attribute is None (#103096) 2023-10-31 13:29:36 +01:00
Bram Kragten d76c16fa3a Update frontend to 20231030.0 (#103086) 2023-10-31 13:29:33 +01:00
G Johansson 67edb98e59 Fix Met Device Info (#103082) 2023-10-31 13:29:30 +01:00
Robert Resch 376a79eb42 Refactor todo services and their schema (#103079) 2023-10-31 13:29:27 +01:00
Rami Mosleh 41500cbe9b Code cleanup for transmission integration (#103078) 2023-10-31 13:29:24 +01:00
Paul Manzotti 06f27e7e74 Update geniushub-client to v0.7.1 (#103071) 2023-10-31 13:29:19 +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
Franck Nijhof a3ebfaebe7 Bumped version to 2023.11.0b3 2023-10-30 19:59:32 +01:00
Joost Lekkerkerker 8d781ff063 Add 2 properties to Withings diagnostics (#103067) 2023-10-30 19:59:21 +01:00
Joost Lekkerkerker bac39f0061 Show a warning when no Withings data found (#103066) 2023-10-30 19:59:17 +01:00
David Knowles c7b702f3c2 Bump pyschlage to 2023.10.0 (#103065) 2023-10-30 19:59:14 +01:00
Christopher Fenner 3728f3da69 Update PyViCare to v2.28.1 for ViCare integration (#103064) 2023-10-30 19:59:11 +01:00
tronikos 31d8f4b35d Fix Opower not refreshing statistics when there are no forecast entities (#103058)
Ensure _insert_statistics is periodically called
2023-10-30 19:59:08 +01:00
Mike Woudenberg f113d9aa71 Use correct config entry field to update when IP changes in loqed (#103051) 2023-10-30 19:59:05 +01:00
Jack Boswell 891ad0b1be Bump starlink-grpc-core to 1.1.3 (#103043) 2023-10-30 19:59:02 +01:00
Jirka 5c16a8247a Update MQTT QoS description string (#103036)
Update strings.json
2023-10-30 19:58:58 +01:00
Allen Porter 483671bf9f Bump google-nest-sdm to 3.0.3 (#103035) 2023-10-30 19:58:54 +01:00
G-Two 6f73d2aac5 Bump to subarulink 0.7.8 (#103033) 2023-10-30 19:58:50 +01:00
Allen Porter f5b3661836 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-30 19:58:47 +01:00
kpine f70c13214c Revert "Fix temperature setting for multi-setpoint z-wave device (#102395)" (#103022)
This reverts commit 2d6dc2bccc.
2023-10-30 19:58:43 +01:00
Raman Gupta 70e8978123 Fix zwave_js siren name (#103016)
* Fix zwave_js.siren name

* Fix test
2023-10-30 19:58:40 +01:00
Diogo Gomes 031b1c26ce Fix utility_meter reset when DST change occurs (#103012) 2023-10-30 19:58:37 +01:00
Nortonko 13580a334f 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 19:58:34 +01:00
Michael e81bfb959e Fix proximity entity id (#102992)
* fix proximity entity id

* extend test to cover entity id
2023-10-30 19:58:31 +01:00
Tom Puttemans fefe930506 DSMR Gas currently delivered device state class conflict (#102991)
Fixes #102985
2023-10-30 19:58:28 +01:00
David Bonnes 5ac7e8b1ac Harden evohome against failures to retrieve high-precision temps (#102989)
fix hass-logger-period
2023-10-30 19:58:24 +01:00
tronikos 36512f7157 Bump opower to 0.0.38 (#102983) 2023-10-30 19:58:21 +01:00
Bouwe Westerdijk cc3ae9e103 Correct total state_class of huisbaasje sensors (#102945)
* Change all cumulative-interval sensors to TOTAL
2023-10-30 19:58:18 +01:00
Robert Hillis 12482216f6 Fix Google Mail expired authorization (#102735)
* Fix Google Mail expired authorization

* add test

* raise HomeAssistantError

* handle in api module

* uno mas
2023-10-30 19:58:14 +01:00
David Knowles 20409d0124 Make Hydrawise initialize data immediately (#101936) 2023-10-30 19:58:11 +01:00
mkmer a741bc9951 Add retry before unavailable to Honeywell (#101702)
Co-authored-by: Robert Resch <robert@resch.dev>
2023-10-30 19:58:08 +01:00
Erwin Douna 59d2bce369 Enable dry mode for Tado AC's V3 (#99568) 2023-10-30 19:58:04 +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
Paulus Schoutsen eef318f63c Bumped version to 2023.11.0b2 2023-10-28 23:29:03 -04:00
Paulus Schoutsen 9c8a4bb4eb Fix proximity zone handling (#102971)
* fix proximity zone

* fix test
2023-10-28 23:29:03 -04:00
Paulus Schoutsen 9c9f1ea685 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 23:29:03 -04:00
Paulus Schoutsen 85d999b020 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 23:29:03 -04:00
Paulus Schoutsen bcddf52364 Update xknxproject to 3.4.0 (#102946) 2023-10-28 23:29:03 -04:00
Paulus Schoutsen 07e4e1379a Improve diagnostic handling in HomeWizard Energy (#102935) 2023-10-28 23:29:02 -04:00
Paulus Schoutsen f9f010643a Handle/extend number entity availability property in HomeWizard Energy (#102934) 2023-10-28 23:29:02 -04:00
Paulus Schoutsen 974c34e2b6 Small base entity cleanup for HomeWizard Energy entities (#102933) 2023-10-28 23:29:02 -04:00
Paulus Schoutsen 1c3de76b04 Move HomeWizard Energy identify button to config entity category (#102932) 2023-10-28 23:29:02 -04:00
Paulus Schoutsen bee63ca654 Hide mac address from HomeWizard Energy config entry/discovery titles (#102931) 2023-10-28 23:29:02 -04:00
Paulus Schoutsen 29c99f419f Bump velbusaio to 2023.10.2 (#102919) 2023-10-28 23:29:02 -04:00
Paulus Schoutsen 3d321c5ca7 Update frontend to 20231027.0 (#102913) 2023-10-28 23:29:02 -04:00
Paulus Schoutsen 4617c16a96 Update aioairzone-cloud to v0.3.1 (#102899) 2023-10-28 23:29:02 -04:00
Paulus Schoutsen a60656bf29 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 23:29:02 -04:00
Paulus Schoutsen 2eb2a65197 Use new API for Vasttrafik (#102570) 2023-10-28 23:29:02 -04: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
Franck Nijhof 867aaf10ee Bumped version to 2023.11.0b1 2023-10-27 14:02:42 +02:00
Franck Nijhof 7fe1ac901f Some textual fixes for todo (#102895) 2023-10-27 14:02:24 +02:00
Bram Kragten 5dca3844ef Add redirect from shopping list to todo (#102894) 2023-10-27 14:02:20 +02:00
Erik Montnemery b5c75a2f2f Allow missing components in safe mode (#102891) 2023-10-27 14:02:17 +02:00
Erik Montnemery 62fc9dfd6c Allow missing components in safe mode (#102888) 2023-10-27 14:02:14 +02:00
Jan Bouwhuis 0573981d6f Fix mqtt schema import not available for mqtt_room (#102866) 2023-10-27 14:02:09 +02:00
Paul Bottein cc7a4d01e3 Don't return resources in safe mode (#102865) 2023-10-27 14:02:06 +02:00
Paul Bottein 293025ab6c Update frontend to 20231026.0 (#102857) 2023-10-27 14:02:02 +02:00
Jan-Philipp Benecke a490b5e286 Add connections to PassiveBluetoothProcessorEntity (#102854) 2023-10-27 14:01:58 +02:00
Joost Lekkerkerker 7e4da1d03b Bump aiowithings to 1.0.2 (#102852) 2023-10-27 14:01:53 +02:00
Ravaka Razafimanantsoa 9e140864eb Address late review of switchbot cloud (#102842)
For Martin's review
2023-10-27 14:01:47 +02:00
Kevin Worrel a6f88fb123 Bump screenlogicpy to v0.9.4 (#102836) 2023-10-27 14:01:43 +02:00
J. Nick Koston 386c5ecc3e 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-27 14:01:39 +02:00
Erik Montnemery 0d7fb5b026 Use real devices in automation blueprint tests (#102824) 2023-10-27 14:01:35 +02:00
Erik Montnemery 767b7ba4d6 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-27 14:01:31 +02:00
William Scanlon f2cef7245a Bump pyeconet to 0.1.22 to handle breaking API change (#102820) 2023-10-27 14:01:27 +02:00
J. Nick Koston 701a5d7758 Bump HAP-python 4.9.1 (#102811) 2023-10-27 14:01:23 +02:00
mkmer 244fccdae6 Move coordinator first refresh in Blink (#102805)
Move coordinator first refresh
2023-10-27 14:01:18 +02:00
Erik Montnemery 10e6a26717 Fix fan device actions (#102797) 2023-10-27 14:01:15 +02:00
Allen Porter 5fe5013198 Change todo move API to reference previous uid (#102795) 2023-10-27 14:01:11 +02:00
Marc Mueller 0a0584b053 Fix velbus import (#102780) 2023-10-27 14:01:07 +02:00
Erik Montnemery 62733e830f Improve validation of device automations (#102766)
* Improve validation of device automations

* Improve comments

* Address review comment
2023-10-27 14:01:02 +02:00
Simone Chemelli bbcfb5f30e 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-27 14:00:55 +02:00
Amit Finkelstein 5b0e0b07b3 Apple TV: Use replacement commands for deprecated ones (#102056)
Co-authored-by: Robert Resch <robert@resch.dev>
2023-10-27 14:00:45 +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
Franck Nijhof 05fd64fe80 Bumped version to 2023.11.0b0 2023-10-25 17:41:53 +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
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
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
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
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
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
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
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
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
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 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
Michael Hansen d0700db7eb Bump intents to 2023.10.2 (#101277) 2023-10-02 14:23:13 -05: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
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
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
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
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
5847 changed files with 305816 additions and 85266 deletions
+2 -1
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/**
+104 -54
View File
@@ -28,7 +28,6 @@ omit =
homeassistant/components/adguard/sensor.py
homeassistant/components/adguard/switch.py
homeassistant/components/ads/*
homeassistant/components/aemet/weather_update_coordinator.py
homeassistant/components/aftership/__init__.py
homeassistant/components/aftership/sensor.py
homeassistant/components/agent_dvr/alarm_control_panel.py
@@ -47,6 +46,9 @@ omit =
homeassistant/components/airtouch4/__init__.py
homeassistant/components/airtouch4/climate.py
homeassistant/components/airtouch4/coordinator.py
homeassistant/components/airtouch5/__init__.py
homeassistant/components/airtouch5/climate.py
homeassistant/components/airtouch5/entity.py
homeassistant/components/airvisual/__init__.py
homeassistant/components/airvisual/sensor.py
homeassistant/components/airvisual_pro/__init__.py
@@ -67,9 +69,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
@@ -113,6 +112,12 @@ omit =
homeassistant/components/baf/sensor.py
homeassistant/components/baf/switch.py
homeassistant/components/baidu/tts.py
homeassistant/components/bang_olufsen/__init__.py
homeassistant/components/bang_olufsen/const.py
homeassistant/components/bang_olufsen/entity.py
homeassistant/components/bang_olufsen/media_player.py
homeassistant/components/bang_olufsen/util.py
homeassistant/components/bang_olufsen/websocket.py
homeassistant/components/bbox/device_tracker.py
homeassistant/components/bbox/sensor.py
homeassistant/components/beewi_smartclim/sensor.py
@@ -123,6 +128,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/*
@@ -144,6 +150,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
@@ -174,10 +181,13 @@ omit =
homeassistant/components/coinbase/sensor.py
homeassistant/components/comed_hourly_pricing/sensor.py
homeassistant/components/comelit/__init__.py
homeassistant/components/comelit/alarm_control_panel.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
@@ -214,9 +224,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
@@ -274,7 +281,10 @@ omit =
homeassistant/components/econet/climate.py
homeassistant/components/econet/sensor.py
homeassistant/components/econet/water_heater.py
homeassistant/components/ecovacs/*
homeassistant/components/ecovacs/controller.py
homeassistant/components/ecovacs/entity.py
homeassistant/components/ecovacs/util.py
homeassistant/components/ecovacs/vacuum.py
homeassistant/components/ecowitt/__init__.py
homeassistant/components/ecowitt/binary_sensor.py
homeassistant/components/ecowitt/entity.py
@@ -284,9 +294,6 @@ 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
@@ -336,14 +343,15 @@ omit =
homeassistant/components/environment_canada/weather.py
homeassistant/components/envisalink/*
homeassistant/components/ephember/climate.py
homeassistant/components/epion/__init__.py
homeassistant/components/epion/coordinator.py
homeassistant/components/epion/sensor.py
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
homeassistant/components/esphome/bluetooth/*
homeassistant/components/esphome/manager.py
homeassistant/components/etherscan/sensor.py
homeassistant/components/eufy/*
@@ -370,12 +378,12 @@ omit =
homeassistant/components/faa_delays/binary_sensor.py
homeassistant/components/faa_delays/coordinator.py
homeassistant/components/familyhub/camera.py
homeassistant/components/fastdotcom/*
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
@@ -408,6 +416,7 @@ omit =
homeassistant/components/fjaraskupan/sensor.py
homeassistant/components/fleetgo/device_tracker.py
homeassistant/components/flexit/climate.py
homeassistant/components/flexit_bacnet/climate.py
homeassistant/components/flic/binary_sensor.py
homeassistant/components/flick_electric/__init__.py
homeassistant/components/flick_electric/sensor.py
@@ -423,12 +432,11 @@ omit =
homeassistant/components/fortios/device_tracker.py
homeassistant/components/foscam/__init__.py
homeassistant/components/foscam/camera.py
homeassistant/components/foscam/coordinator.py
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/switch.py
homeassistant/components/fritz/common.py
homeassistant/components/fritz/device_tracker.py
@@ -475,9 +483,11 @@ omit =
homeassistant/components/guardian/__init__.py
homeassistant/components/guardian/binary_sensor.py
homeassistant/components/guardian/button.py
homeassistant/components/guardian/coordinator.py
homeassistant/components/guardian/sensor.py
homeassistant/components/guardian/switch.py
homeassistant/components/guardian/util.py
homeassistant/components/guardian/valve.py
homeassistant/components/habitica/__init__.py
homeassistant/components/habitica/sensor.py
homeassistant/components/harman_kardon_avr/media_player.py
@@ -499,6 +509,9 @@ omit =
homeassistant/components/hive/sensor.py
homeassistant/components/hive/switch.py
homeassistant/components/hive/water_heater.py
homeassistant/components/hko/__init__.py
homeassistant/components/hko/weather.py
homeassistant/components/hko/coordinator.py
homeassistant/components/hlk_sw16/__init__.py
homeassistant/components/hlk_sw16/switch.py
homeassistant/components/home_connect/__init__.py
@@ -508,8 +521,6 @@ omit =
homeassistant/components/home_connect/light.py
homeassistant/components/home_connect/sensor.py
homeassistant/components/home_connect/switch.py
homeassistant/components/home_plus_control/api.py
homeassistant/components/home_plus_control/switch.py
homeassistant/components/homematic/__init__.py
homeassistant/components/homematic/binary_sensor.py
homeassistant/components/homematic/climate.py
@@ -539,15 +550,12 @@ omit =
homeassistant/components/hunterdouglas_powerview/shade_data.py
homeassistant/components/hunterdouglas_powerview/util.py
homeassistant/components/hvv_departures/__init__.py
homeassistant/components/huum/__init__.py
homeassistant/components/huum/climate.py
homeassistant/components/hvv_departures/binary_sensor.py
homeassistant/components/hvv_departures/sensor.py
homeassistant/components/hydrawise/__init__.py
homeassistant/components/hydrawise/binary_sensor.py
homeassistant/components/hydrawise/const.py
homeassistant/components/hydrawise/coordinator.py
homeassistant/components/hydrawise/sensor.py
homeassistant/components/hydrawise/switch.py
homeassistant/components/ialarm/alarm_control_panel.py
homeassistant/components/iammeter/const.py
homeassistant/components/iammeter/sensor.py
homeassistant/components/iaqualink/binary_sensor.py
homeassistant/components/iaqualink/climate.py
@@ -563,7 +571,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
@@ -671,10 +678,6 @@ omit =
homeassistant/components/lg_netcast/media_player.py
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/*
homeassistant/components/limitlessled/light.py
homeassistant/components/linksys_smart/device_tracker.py
@@ -706,6 +709,7 @@ omit =
homeassistant/components/lutron/__init__.py
homeassistant/components/lutron/binary_sensor.py
homeassistant/components/lutron/cover.py
homeassistant/components/lutron/entity.py
homeassistant/components/lutron/light.py
homeassistant/components/lutron/switch.py
homeassistant/components/lutron_caseta/__init__.py
@@ -750,11 +754,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/coordinator.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
@@ -772,6 +771,11 @@ omit =
homeassistant/components/motion_blinds/cover.py
homeassistant/components/motion_blinds/entity.py
homeassistant/components/motion_blinds/sensor.py
homeassistant/components/motionmount/__init__.py
homeassistant/components/motionmount/binary_sensor.py
homeassistant/components/motionmount/entity.py
homeassistant/components/motionmount/number.py
homeassistant/components/motionmount/select.py
homeassistant/components/mpd/media_player.py
homeassistant/components/mqtt_room/sensor.py
homeassistant/components/msteams/notify.py
@@ -781,9 +785,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
@@ -795,6 +796,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
@@ -819,7 +821,8 @@ omit =
homeassistant/components/netgear/sensor.py
homeassistant/components/netgear/switch.py
homeassistant/components/netgear/update.py
homeassistant/components/netgear_lte/*
homeassistant/components/netgear_lte/__init__.py
homeassistant/components/netgear_lte/notify.py
homeassistant/components/netio/switch.py
homeassistant/components/neurio_energy/sensor.py
homeassistant/components/nexia/climate.py
@@ -833,9 +836,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
@@ -849,6 +850,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
@@ -921,6 +923,9 @@ omit =
homeassistant/components/opple/light.py
homeassistant/components/oru/*
homeassistant/components/orvibo/switch.py
homeassistant/components/osoenergy/__init__.py
homeassistant/components/osoenergy/const.py
homeassistant/components/osoenergy/water_heater.py
homeassistant/components/osramlightify/light.py
homeassistant/components/otp/sensor.py
homeassistant/components/overkiz/__init__.py
@@ -949,6 +954,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
@@ -962,8 +970,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
@@ -1000,6 +1007,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
@@ -1007,6 +1015,11 @@ omit =
homeassistant/components/qrcode/image_processing.py
homeassistant/components/quantum_gateway/device_tracker.py
homeassistant/components/qvr_pro/*
homeassistant/components/rabbitair/__init__.py
homeassistant/components/rabbitair/const.py
homeassistant/components/rabbitair/coordinator.py
homeassistant/components/rabbitair/entity.py
homeassistant/components/rabbitair/fan.py
homeassistant/components/rachio/__init__.py
homeassistant/components/rachio/binary_sensor.py
homeassistant/components/rachio/device.py
@@ -1039,11 +1052,18 @@ omit =
homeassistant/components/renson/fan.py
homeassistant/components/renson/binary_sensor.py
homeassistant/components/renson/number.py
homeassistant/components/renson/time.py
homeassistant/components/raspyrfm/*
homeassistant/components/recollect_waste/sensor.py
homeassistant/components/recorder/repack.py
homeassistant/components/recswitch/switch.py
homeassistant/components/reddit/sensor.py
homeassistant/components/refoss/__init__.py
homeassistant/components/refoss/bridge.py
homeassistant/components/refoss/coordinator.py
homeassistant/components/refoss/entity.py
homeassistant/components/refoss/switch.py
homeassistant/components/refoss/util.py
homeassistant/components/rejseplanen/sensor.py
homeassistant/components/remember_the_milk/__init__.py
homeassistant/components/remote_rpi_gpio/*
@@ -1079,6 +1099,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
@@ -1122,7 +1143,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
@@ -1143,10 +1163,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
@@ -1230,6 +1247,7 @@ omit =
homeassistant/components/starline/__init__.py
homeassistant/components/starline/account.py
homeassistant/components/starline/binary_sensor.py
homeassistant/components/starline/button.py
homeassistant/components/starline/device_tracker.py
homeassistant/components/starline/entity.py
homeassistant/components/starline/lock.py
@@ -1247,8 +1265,12 @@ omit =
homeassistant/components/stream/fmp4utils.py
homeassistant/components/stream/hls.py
homeassistant/components/stream/worker.py
homeassistant/components/streamlabswater/*
homeassistant/components/suez_water/*
homeassistant/components/streamlabswater/__init__.py
homeassistant/components/streamlabswater/binary_sensor.py
homeassistant/components/streamlabswater/coordinator.py
homeassistant/components/streamlabswater/sensor.py
homeassistant/components/suez_water/__init__.py
homeassistant/components/suez_water/sensor.py
homeassistant/components/supervisord/sensor.py
homeassistant/components/supla/*
homeassistant/components/surepetcare/__init__.py
@@ -1256,6 +1278,8 @@ omit =
homeassistant/components/surepetcare/entity.py
homeassistant/components/surepetcare/sensor.py
homeassistant/components/swiss_hydrological_data/sensor.py
homeassistant/components/swiss_public_transport/__init__.py
homeassistant/components/swiss_public_transport/coordinator.py
homeassistant/components/swiss_public_transport/sensor.py
homeassistant/components/swisscom/device_tracker.py
homeassistant/components/switchbee/__init__.py
@@ -1276,6 +1300,7 @@ 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
@@ -1301,15 +1326,18 @@ 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/systemmonitor/sensor.py
homeassistant/components/system_bridge/update.py
homeassistant/components/tado/__init__.py
homeassistant/components/tado/binary_sensor.py
homeassistant/components/tado/climate.py
homeassistant/components/tado/device_tracker.py
homeassistant/components/tado/sensor.py
homeassistant/components/tado/water_heater.py
homeassistant/components/tami4/button.py
homeassistant/components/tank_utility/sensor.py
homeassistant/components/tankerkoenig/__init__.py
homeassistant/components/tankerkoenig/binary_sensor.py
@@ -1336,6 +1364,11 @@ omit =
homeassistant/components/telnet/switch.py
homeassistant/components/temper/sensor.py
homeassistant/components/tensorflow/image_processing.py
homeassistant/components/teslemetry/__init__.py
homeassistant/components/teslemetry/climate.py
homeassistant/components/teslemetry/coordinator.py
homeassistant/components/teslemetry/entity.py
homeassistant/components/teslemetry/context.py
homeassistant/components/tfiac/climate.py
homeassistant/components/thermoworks_smoke/sensor.py
homeassistant/components/thethingsnetwork/*
@@ -1392,14 +1425,11 @@ omit =
homeassistant/components/tradfri/light.py
homeassistant/components/tradfri/sensor.py
homeassistant/components/tradfri/switch.py
homeassistant/components/trafikverket_train/__init__.py
homeassistant/components/trafikverket_train/coordinator.py
homeassistant/components/trafikverket_train/sensor.py
homeassistant/components/trafikverket_train/util.py
homeassistant/components/trafikverket_weatherstation/__init__.py
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
@@ -1429,6 +1459,8 @@ omit =
homeassistant/components/ukraine_alarm/__init__.py
homeassistant/components/ukraine_alarm/binary_sensor.py
homeassistant/components/unifiled/*
homeassistant/components/unifi_direct/__init__.py
homeassistant/components/unifi_direct/device_tracker.py
homeassistant/components/upb/__init__.py
homeassistant/components/upb/light.py
homeassistant/components/upc_connect/*
@@ -1439,6 +1471,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
@@ -1474,7 +1513,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
@@ -1516,7 +1558,6 @@ omit =
homeassistant/components/wiffi/sensor.py
homeassistant/components/wiffi/wiffi_strings.py
homeassistant/components/wirelesstag/*
homeassistant/components/withings/api.py
homeassistant/components/wolflink/__init__.py
homeassistant/components/wolflink/sensor.py
homeassistant/components/worldtidesinfo/sensor.py
@@ -1589,7 +1630,9 @@ omit =
homeassistant/components/yolink/entity.py
homeassistant/components/yolink/light.py
homeassistant/components/yolink/lock.py
homeassistant/components/yolink/number.py
homeassistant/components/yolink/sensor.py
homeassistant/components/yolink/services.py
homeassistant/components/yolink/siren.py
homeassistant/components/yolink/switch.py
homeassistant/components/youless/__init__.py
@@ -1628,6 +1671,13 @@ omit =
homeassistant/components/zwave_me/switch.py
homeassistant/components/electrasmart/climate.py
homeassistant/components/electrasmart/__init__.py
homeassistant/components/myuplink/__init__.py
homeassistant/components/myuplink/api.py
homeassistant/components/myuplink/application_credentials.py
homeassistant/components/myuplink/coordinator.py
homeassistant/components/myuplink/entity.py
homeassistant/components/myuplink/sensor.py
[report]
# Regexes for lines to exclude from consideration
+8 -10
View File
@@ -5,11 +5,14 @@
"postCreateCommand": "script/setup",
"postStartCommand": "script/bootstrap",
"containerEnv": { "DEVCONTAINER": "1" },
"appPort": ["8123:8123"],
// Port 5683 udp is used by Shelly integration
"appPort": ["8123:8123", "5683:5683/udp"],
"runArgs": ["-e", "GIT_EDITOR=code --wait"],
"customizations": {
"vscode": {
"extensions": [
"charliermarsh.ruff",
"ms-python.pylint",
"ms-python.vscode-pylance",
"visualstudioexptteam.vscodeintellicode",
"redhat.vscode-yaml",
@@ -19,14 +22,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 +40,10 @@
"!include_dir_list scalar",
"!include_dir_merge_list scalar",
"!include_dir_merge_named scalar"
]
],
"[python]": {
"editor.defaultFormatter": "charliermarsh.ruff"
}
}
}
}
+1 -1
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:
+26 -15
View File
@@ -10,7 +10,8 @@ on:
env:
BUILD_TYPE: core
DEFAULT_PYTHON: "3.11"
DEFAULT_PYTHON: "3.12"
PIP_TIMEOUT: 60
jobs:
init:
@@ -24,12 +25,12 @@ jobs:
publish: ${{ steps.version.outputs.publish }}
steps:
- name: Checkout the repository
uses: actions/checkout@v4.1.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@v5.0.0
with:
python-version: ${{ env.DEFAULT_PYTHON }}
@@ -56,10 +57,10 @@ jobs:
if: github.repository_owner == 'home-assistant' && needs.init.outputs.publish == 'true'
steps:
- name: Checkout the repository
uses: actions/checkout@v4.1.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@v5.0.0
with:
python-version: ${{ env.DEFAULT_PYTHON }}
@@ -98,11 +99,11 @@ jobs:
arch: ${{ fromJson(needs.init.outputs.architectures) }}
steps:
- name: Checkout the repository
uses: actions/checkout@v4.1.0
uses: actions/checkout@v4.1.1
- name: Download nightly wheels of frontend
if: needs.init.outputs.channel == 'dev'
uses: dawidd6/action-download-artifact@v2
uses: dawidd6/action-download-artifact@v3.0.0
with:
github_token: ${{secrets.GITHUB_TOKEN}}
repo: home-assistant/frontend
@@ -113,7 +114,7 @@ jobs:
- name: Download nightly wheels of intents
if: needs.init.outputs.channel == 'dev'
uses: dawidd6/action-download-artifact@v2
uses: dawidd6/action-download-artifact@v3.0.0
with:
github_token: ${{secrets.GITHUB_TOKEN}}
repo: home-assistant/intents-package
@@ -124,7 +125,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@v5.0.0
with:
python-version: ${{ env.DEFAULT_PYTHON }}
@@ -179,6 +180,15 @@ jobs:
sed -i "s|pyezviz|# pyezviz|g" requirements_all.txt
sed -i "s|pykrakenapi|# pykrakenapi|g" requirements_all.txt
- name: Adjustments for 64-bit
if: matrix.arch == 'amd64' || matrix.arch == 'aarch64'
run: |
# Some speedups are only available on 64-bit, and since
# we build 32bit images on 64bit hosts, we only enable
# the speed ups on 64bit since the wheels for 32bit
# are not available.
sed -i "s|aiohttp-zlib-ng|aiohttp-zlib-ng\[isal\]|g" requirements_all.txt
- name: Download Translations
run: python3 -m script.translations download
env:
@@ -197,7 +207,7 @@ jobs:
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build base image
uses: home-assistant/builder@2023.09.0
uses: home-assistant/builder@2024.01.0
with:
args: |
$BUILD_ARGS \
@@ -247,12 +257,13 @@ jobs:
- raspberrypi3-64
- raspberrypi4
- raspberrypi4-64
- raspberrypi5-64
- tinker
- yellow
- green
steps:
- name: Checkout the repository
uses: actions/checkout@v4.1.0
uses: actions/checkout@v4.1.1
- name: Set build additional args
run: |
@@ -273,7 +284,7 @@ jobs:
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build base image
uses: home-assistant/builder@2023.09.0
uses: home-assistant/builder@2024.01.0
with:
args: |
$BUILD_ARGS \
@@ -289,7 +300,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout the repository
uses: actions/checkout@v4.1.0
uses: actions/checkout@v4.1.1
- name: Initialize git
uses: home-assistant/actions/helpers/git-init@master
@@ -327,10 +338,10 @@ jobs:
id-token: write
steps:
- name: Checkout the repository
uses: actions/checkout@v4.1.0
uses: actions/checkout@v4.1.1
- name: Install Cosign
uses: sigstore/cosign-installer@v3.1.2
uses: sigstore/cosign-installer@v3.3.0
with:
cosign-release: "v2.0.2"
+64 -102
View File
@@ -35,20 +35,21 @@ on:
env:
CACHE_VERSION: 5
PIP_CACHE_VERSION: 4
MYPY_CACHE_VERSION: 5
BLACK_CACHE_VERSION: 1
HA_SHORT_VERSION: "2023.10"
MYPY_CACHE_VERSION: 6
HA_SHORT_VERSION: "2024.2"
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
@@ -56,7 +57,6 @@ env:
POSTGRESQL_VERSIONS: "['postgres:12.14','postgres:15.2']"
PRE_COMMIT_CACHE: ~/.cache/pre-commit
PIP_CACHE: /tmp/pip-cache
BLACK_CACHE: /tmp/black-cache
SQLALCHEMY_WARN_20: 1
PYTHONASYNCIODEBUG: 1
HASS_CI: 1
@@ -89,7 +89,7 @@ jobs:
runs-on: ubuntu-22.04
steps:
- name: Check out code from GitHub
uses: actions/checkout@v4.1.0
uses: actions/checkout@v4.1.1
- name: Generate partial Python venv restore key
id: generate_python_cache_key
run: >-
@@ -103,7 +103,7 @@ jobs:
echo "key=pre-commit-${{ env.CACHE_VERSION }}-${{
hashFiles('.pre-commit-config.yaml') }}" >> $GITHUB_OUTPUT
- name: Filter for core changes
uses: dorny/paths-filter@v2.11.1
uses: dorny/paths-filter@v2.12.0
id: core
with:
filters: .core_files.yaml
@@ -118,7 +118,7 @@ jobs:
echo "Result:"
cat .integration_paths.yaml
- name: Filter for integration changes
uses: dorny/paths-filter@v2.11.1
uses: dorny/paths-filter@v2.12.0
id: integrations
with:
filters: .integration_paths.yaml
@@ -222,16 +222,16 @@ jobs:
- info
steps:
- name: Check out code from GitHub
uses: actions/checkout@v4.1.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@v5.0.0
with:
python-version: ${{ env.DEFAULT_PYTHON }}
check-latest: true
- name: Restore base Python virtual environment
id: cache-venv
uses: actions/cache@v3.3.2
uses: actions/cache@v4.0.0
with:
path: venv
key: >-
@@ -246,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.2
uses: actions/cache@v4.0.0
with:
path: ${{ env.PRE_COMMIT_CACHE }}
lookup-only: true
@@ -259,31 +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@v4.1.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@v5.0.0
id: python
with:
python-version: ${{ env.DEFAULT_PYTHON }}
check-latest: true
- name: Generate partial black restore key
id: generate-black-key
run: |
black_version=$(cat requirements_test_pre_commit.txt | grep black | cut -d '=' -f 3)
echo "version=$black_version" >> $GITHUB_OUTPUT
echo "key=black-${{ env.BLACK_CACHE_VERSION }}-$black_version-${{
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/restore@v3.3.2
uses: actions/cache/restore@v4.0.0
with:
path: venv
fail-on-cache-miss: true
@@ -292,40 +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.2
uses: actions/cache/restore@v4.0.0
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: Restore black cache
uses: actions/cache@v3.3.2
with:
path: ${{ env.BLACK_CACHE }}
key: >-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
steps.generate-black-key.outputs.key }}
restore-keys: |
${{ runner.os }}-${{ steps.python.outputs.python-version }}-black-${{
env.BLACK_CACHE_VERSION }}-${{ steps.generate-black-key.outputs.version }}-${{
env.HA_SHORT_VERSION }}-
- name: Run black (fully)
if: needs.info.outputs.test_full_suite == 'true'
env:
BLACK_CACHE_DIR: ${{ env.BLACK_CACHE }}
- 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
pre-commit run --hook-stage manual ruff-format --all-files --show-diff-on-failure
env:
BLACK_CACHE_DIR: ${{ env.BLACK_CACHE }}
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
RUFF_OUTPUT_FORMAT: github
lint-ruff:
name: Check ruff
@@ -335,16 +307,16 @@ jobs:
- pre-commit
steps:
- name: Check out code from GitHub
uses: actions/checkout@v4.1.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@v5.0.0
id: python
with:
python-version: ${{ env.DEFAULT_PYTHON }}
check-latest: true
- name: Restore base Python virtual environment
id: cache-venv
uses: actions/cache/restore@v3.3.2
uses: actions/cache/restore@v4.0.0
with:
path: venv
fail-on-cache-miss: true
@@ -353,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.2
uses: actions/cache/restore@v4.0.0
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
@@ -384,16 +346,16 @@ jobs:
- pre-commit
steps:
- name: Check out code from GitHub
uses: actions/checkout@v4.1.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@v5.0.0
id: python
with:
python-version: ${{ env.DEFAULT_PYTHON }}
check-latest: true
- name: Restore base Python virtual environment
id: cache-venv
uses: actions/cache/restore@v3.3.2
uses: actions/cache/restore@v4.0.0
with:
path: venv
fail-on-cache-miss: true
@@ -402,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.2
uses: actions/cache/restore@v4.0.0
with:
path: ${{ env.PRE_COMMIT_CACHE }}
fail-on-cache-miss: true
@@ -478,10 +440,10 @@ jobs:
python-version: ${{ fromJSON(needs.info.outputs.python_versions) }}
steps:
- name: Check out code from GitHub
uses: actions/checkout@v4.1.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@v5.0.0
with:
python-version: ${{ matrix.python-version }}
check-latest: true
@@ -492,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.2
uses: actions/cache@v4.0.0
with:
path: venv
lookup-only: true
@@ -501,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.2
uses: actions/cache@v4.0.0
with:
path: ${{ env.PIP_CACHE }}
key: >-
@@ -546,16 +508,16 @@ jobs:
- base
steps:
- name: Check out code from GitHub
uses: actions/checkout@v4.1.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@v5.0.0
with:
python-version: ${{ env.DEFAULT_PYTHON }}
check-latest: true
- name: Restore full Python ${{ env.DEFAULT_PYTHON }} virtual environment
id: cache-venv
uses: actions/cache/restore@v3.3.2
uses: actions/cache/restore@v4.0.0
with:
path: venv
fail-on-cache-miss: true
@@ -578,16 +540,16 @@ jobs:
- base
steps:
- name: Check out code from GitHub
uses: actions/checkout@v4.1.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@v5.0.0
with:
python-version: ${{ env.DEFAULT_PYTHON }}
check-latest: true
- name: Restore base Python virtual environment
id: cache-venv
uses: actions/cache/restore@v3.3.2
uses: actions/cache/restore@v4.0.0
with:
path: venv
fail-on-cache-miss: true
@@ -611,16 +573,16 @@ jobs:
- base
steps:
- name: Check out code from GitHub
uses: actions/checkout@v4.1.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@v5.0.0
with:
python-version: ${{ env.DEFAULT_PYTHON }}
check-latest: true
- name: Restore full Python ${{ env.DEFAULT_PYTHON }} virtual environment
id: cache-venv
uses: actions/cache/restore@v3.3.2
uses: actions/cache/restore@v4.0.0
with:
path: venv
fail-on-cache-miss: true
@@ -655,10 +617,10 @@ jobs:
- base
steps:
- name: Check out code from GitHub
uses: actions/checkout@v4.1.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@v5.0.0
with:
python-version: ${{ env.DEFAULT_PYTHON }}
check-latest: true
@@ -671,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.2
uses: actions/cache/restore@v4.0.0
with:
path: venv
fail-on-cache-miss: true
@@ -679,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.2
uses: actions/cache@v4.0.0
with:
path: .mypy_cache
key: >-
@@ -737,16 +699,16 @@ jobs:
bluez \
ffmpeg
- name: Check out code from GitHub
uses: actions/checkout@v4.1.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@v5.0.0
with:
python-version: ${{ matrix.python-version }}
check-latest: true
- name: Restore full Python ${{ matrix.python-version }} virtual environment
id: cache-venv
uses: actions/cache/restore@v3.3.2
uses: actions/cache/restore@v4.0.0
with:
path: venv
fail-on-cache-miss: true
@@ -785,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 \
@@ -822,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 \
@@ -889,16 +851,16 @@ jobs:
ffmpeg \
libmariadb-dev-compat
- name: Check out code from GitHub
uses: actions/checkout@v4.1.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@v5.0.0
with:
python-version: ${{ matrix.python-version }}
check-latest: true
- name: Restore full Python ${{ matrix.python-version }} virtual environment
id: cache-venv
uses: actions/cache/restore@v3.3.2
uses: actions/cache/restore@v4.0.0
with:
path: venv
fail-on-cache-miss: true
@@ -943,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 \
@@ -1013,16 +975,16 @@ jobs:
ffmpeg \
postgresql-server-dev-14
- name: Check out code from GitHub
uses: actions/checkout@v4.1.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@v5.0.0
with:
python-version: ${{ matrix.python-version }}
check-latest: true
- name: Restore full Python ${{ matrix.python-version }} virtual environment
id: cache-venv
uses: actions/cache/restore@v3.3.2
uses: actions/cache/restore@v4.0.0
with:
path: venv
fail-on-cache-miss: true
@@ -1067,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 \
@@ -1108,7 +1070,7 @@ jobs:
timeout-minutes: 10
steps:
- name: Check out code from GitHub
uses: actions/checkout@v4.1.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
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@v3.23.1
with:
languages: python
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3.23.1
with:
category: "/language:python"
+1 -1
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"
-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
}
]
}
]
}
+11 -7
View File
@@ -11,16 +11,16 @@ jobs:
if: github.repository_owner == 'home-assistant'
runs-on: ubuntu-latest
steps:
# The 90 day stale policy for PRs
# The 60 day stale policy for PRs
# Used for:
# - PRs
# - No PRs marked as no-stale
# - No issues (-1)
- name: 90 days stale PRs policy
uses: actions/stale@v8.0.0
- name: 60 days stale PRs policy
uses: actions/stale@v9.0.0
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
days-before-stale: 90
days-before-stale: 60
days-before-close: 7
days-before-issue-stale: -1
days-before-issue-close: -1
@@ -33,7 +33,11 @@ jobs:
pull request has been automatically marked as stale because of that
and will be closed if no further activity occurs within 7 days.
Thank you for your contributions.
If you are the author of this PR, please leave a comment if you want
to keep it open. Also, please rebase your PR onto the latest dev
branch to ensure that it's up to date with the latest changes.
Thank you for your contribution!
# Generate a token for the GitHub App, we use this method to avoid
# hitting API limits for our GitHub actions + have a higher rate limit.
@@ -53,7 +57,7 @@ jobs:
# - No issues marked as no-stale or help-wanted
# - No PRs (-1)
- name: 90 days stale issues
uses: actions/stale@v8.0.0
uses: actions/stale@v9.0.0
with:
repo-token: ${{ steps.token.outputs.token }}
days-before-stale: 90
@@ -83,7 +87,7 @@ jobs:
# - No Issues marked as no-stale or help-wanted
# - No PRs (-1)
- name: Needs more information stale issues policy
uses: actions/stale@v8.0.0
uses: actions/stale@v9.0.0
with:
repo-token: ${{ steps.token.outputs.token }}
only-labels: "needs-more-information"
+2 -2
View File
@@ -19,10 +19,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout the repository
uses: actions/checkout@v4.1.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@v5.0.0
with:
python-version: ${{ env.DEFAULT_PYTHON }}
+50 -15
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@v4.1.0
uses: actions/checkout@v4.1.1
- name: Get information
id: info
@@ -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@v4.1.0
uses: actions/checkout@v4.1.1
- name: Download env_file
uses: actions/download-artifact@v3
@@ -97,20 +99,20 @@ jobs:
name: requirements_diff
- name: Build wheels
uses: home-assistant/wheels@2023.09.1
uses: home-assistant/wheels@2024.01.0
with:
abi: ${{ matrix.abi }}
tag: musllinux_1_2
arch: ${{ matrix.arch }}
wheels-key: ${{ secrets.WHEELS_KEY }}
env-file: true
apk: "libffi-dev;openssl-dev;yaml-dev"
apk: "libffi-dev;openssl-dev;yaml-dev;nasm"
skip-binary: aiohttp
constraints: "homeassistant/package_constraints.txt"
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@v4.1.0
uses: actions/checkout@v4.1.1
- name: Download env_file
uses: actions/download-artifact@v3
@@ -158,6 +160,12 @@ jobs:
sed -i "s|pyezviz|# pyezviz|g" ${requirement_file}
sed -i "s|pykrakenapi|# pykrakenapi|g" ${requirement_file}
fi
# Some speedups are only for 64-bit
if [ "${{ matrix.arch }}" = "amd64" ] || [ "${{ matrix.arch }}" = "aarch64" ]; then
sed -i "s|aiohttp-zlib-ng|aiohttp-zlib-ng\[isal\]|g" ${requirement_file}
fi
done
- name: Split requirements all
@@ -168,6 +176,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 +197,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.09.1
- name: Build wheels (old cython)
uses: home-assistant/wheels@2024.01.0
with:
abi: ${{ matrix.abi }}
tag: musllinux_1_2
@@ -189,31 +209,46 @@ jobs:
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@2024.01.0
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;nasm"
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.09.1
uses: home-assistant/wheels@2024.01.0
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"
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;nasm"
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.09.1
uses: home-assistant/wheels@2024.01.0
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"
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;nasm"
skip-binary: aiohttp;charset-normalizer;grpcio;SQLAlchemy;protobuf
constraints: "homeassistant/package_constraints.txt"
requirements-diff: "requirements_diff.txt"
-3
View File
@@ -111,9 +111,6 @@ virtualization/vagrant/config
!.vscode/tasks.json
.env
# Built docs
docs/build
# Windows Explorer
desktop.ini
/home-assistant.pyproj
+1
View File
@@ -3,3 +3,4 @@ ignored:
- DL3008
- DL3013
- DL3018
- DL3042
+4 -9
View File
@@ -1,16 +1,11 @@
repos:
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.0.289
rev: v0.1.8
hooks:
- id: ruff
args:
- --fix
- repo: https://github.com/psf/black-pre-commit-mirror
rev: 23.9.1
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
@@ -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
@@ -88,7 +83,7 @@ repos:
pass_filenames: false
language: script
types: [text]
files: ^(homeassistant/.+/(manifest|strings)\.json|homeassistant/brands/.*\.json|\.coveragerc|homeassistant/.+/services\.yaml|script/hassfest/(?!metadata|mypy_config).+\.py)$
files: ^(homeassistant/.+/(icons|manifest|strings)\.json|homeassistant/brands/.*\.json|\.coveragerc|homeassistant/.+/services\.yaml|script/hassfest/(?!metadata|mypy_config).+\.py)$
- id: hassfest-metadata
name: hassfest-metadata
entry: script/run-in-env.sh python3 -m script.hassfest -p metadata
+1 -1
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/
-14
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
+113 -11
View File
@@ -42,59 +42,101 @@ homeassistant.components
homeassistant.components.abode.*
homeassistant.components.accuweather.*
homeassistant.components.acer_projector.*
homeassistant.components.acmeda.*
homeassistant.components.actiontec.*
homeassistant.components.adax.*
homeassistant.components.adguard.*
homeassistant.components.aftership.*
homeassistant.components.air_quality.*
homeassistant.components.airly.*
homeassistant.components.airnow.*
homeassistant.components.airq.*
homeassistant.components.airthings.*
homeassistant.components.airthings_ble.*
homeassistant.components.airtouch5.*
homeassistant.components.airvisual.*
homeassistant.components.airvisual_pro.*
homeassistant.components.airzone.*
homeassistant.components.airzone_cloud.*
homeassistant.components.aladdin_connect.*
homeassistant.components.alarm_control_panel.*
homeassistant.components.alert.*
homeassistant.components.alexa.*
homeassistant.components.alpha_vantage.*
homeassistant.components.amazon_polly.*
homeassistant.components.amberelectric.*
homeassistant.components.ambiclimate.*
homeassistant.components.ambient_station.*
homeassistant.components.amcrest.*
homeassistant.components.ampio.*
homeassistant.components.analytics.*
homeassistant.components.analytics_insights.*
homeassistant.components.android_ip_webcam.*
homeassistant.components.androidtv.*
homeassistant.components.androidtv_remote.*
homeassistant.components.anel_pwrctrl.*
homeassistant.components.anova.*
homeassistant.components.anthemav.*
homeassistant.components.apache_kafka.*
homeassistant.components.apcupsd.*
homeassistant.components.api.*
homeassistant.components.apprise.*
homeassistant.components.aprs.*
homeassistant.components.aqualogic.*
homeassistant.components.aquostv.*
homeassistant.components.aranet.*
homeassistant.components.arcam_fmj.*
homeassistant.components.arris_tg2492lg.*
homeassistant.components.aruba.*
homeassistant.components.arwn.*
homeassistant.components.aseko_pool_live.*
homeassistant.components.assist_pipeline.*
homeassistant.components.asterisk_cdr.*
homeassistant.components.asterisk_mbox.*
homeassistant.components.asuswrt.*
homeassistant.components.auth.*
homeassistant.components.automation.*
homeassistant.components.awair.*
homeassistant.components.axis.*
homeassistant.components.backup.*
homeassistant.components.baf.*
homeassistant.components.bang_olufsen.*
homeassistant.components.bayesian.*
homeassistant.components.binary_sensor.*
homeassistant.components.bitcoin.*
homeassistant.components.blockchain.*
homeassistant.components.blue_current.*
homeassistant.components.blueprint.*
homeassistant.components.bluetooth.*
homeassistant.components.bluetooth_adapters.*
homeassistant.components.bluetooth_tracker.*
homeassistant.components.bmw_connected_drive.*
homeassistant.components.bond.*
homeassistant.components.braviatv.*
homeassistant.components.brother.*
homeassistant.components.browser.*
homeassistant.components.bthome.*
homeassistant.components.button.*
homeassistant.components.calendar.*
homeassistant.components.camera.*
homeassistant.components.canary.*
homeassistant.components.cert_expiry.*
homeassistant.components.clickatell.*
homeassistant.components.clicksend.*
homeassistant.components.climate.*
homeassistant.components.cloud.*
homeassistant.components.co2signal.*
homeassistant.components.command_line.*
homeassistant.components.config.*
homeassistant.components.configurator.*
homeassistant.components.counter.*
homeassistant.components.cover.*
homeassistant.components.cpuspeed.*
homeassistant.components.crownstone.*
homeassistant.components.date.*
homeassistant.components.datetime.*
homeassistant.components.deconz.*
homeassistant.components.default_config.*
homeassistant.components.demo.*
homeassistant.components.derivative.*
homeassistant.components.device_automation.*
@@ -103,12 +145,20 @@ 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.dlna_dms.*
homeassistant.components.dnsip.*
homeassistant.components.doorbird.*
homeassistant.components.dormakaba_dkey.*
homeassistant.components.downloader.*
homeassistant.components.dsmr.*
homeassistant.components.duckdns.*
homeassistant.components.dunehd.*
homeassistant.components.duotecno.*
homeassistant.components.easyenergy.*
homeassistant.components.ecovacs.*
homeassistant.components.ecowitt.*
homeassistant.components.efergy.*
homeassistant.components.electrasmart.*
homeassistant.components.electric_kiwi.*
@@ -116,9 +166,14 @@ homeassistant.components.elgato.*
homeassistant.components.elkm1.*
homeassistant.components.emulated_hue.*
homeassistant.components.energy.*
homeassistant.components.energyzero.*
homeassistant.components.enigma2.*
homeassistant.components.enphase_envoy.*
homeassistant.components.esphome.*
homeassistant.components.event.*
homeassistant.components.evil_genius_labs.*
homeassistant.components.evohome.*
homeassistant.components.faa_delays.*
homeassistant.components.fan.*
homeassistant.components.fastdotcom.*
homeassistant.components.feedreader.*
@@ -126,6 +181,7 @@ homeassistant.components.file_upload.*
homeassistant.components.filesize.*
homeassistant.components.filter.*
homeassistant.components.fitbit.*
homeassistant.components.flexit_bacnet.*
homeassistant.components.flux_led.*
homeassistant.components.forecast_solar.*
homeassistant.components.fritz.*
@@ -134,12 +190,15 @@ homeassistant.components.fritzbox_callmonitor.*
homeassistant.components.fronius.*
homeassistant.components.frontend.*
homeassistant.components.fully_kiosk.*
homeassistant.components.generic_hygrostat.*
homeassistant.components.generic_thermostat.*
homeassistant.components.geo_location.*
homeassistant.components.geocaching.*
homeassistant.components.gios.*
homeassistant.components.glances.*
homeassistant.components.goalzero.*
homeassistant.components.google.*
homeassistant.components.google_assistant_sdk.*
homeassistant.components.google_sheets.*
homeassistant.components.gpsd.*
homeassistant.components.greeneye_monitor.*
@@ -149,22 +208,15 @@ homeassistant.components.hardkernel.*
homeassistant.components.hardware.*
homeassistant.components.here_travel_time.*
homeassistant.components.history.*
homeassistant.components.homeassistant.exposed_entities
homeassistant.components.homeassistant.triggers.event
homeassistant.components.history_stats.*
homeassistant.components.holiday.*
homeassistant.components.homeassistant.*
homeassistant.components.homeassistant_alerts.*
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,6 +229,7 @@ homeassistant.components.homekit_controller.utils
homeassistant.components.homewizard.*
homeassistant.components.http.*
homeassistant.components.huawei_lte.*
homeassistant.components.humidifier.*
homeassistant.components.hydrawise.*
homeassistant.components.hyperion.*
homeassistant.components.ibeacon.*
@@ -187,7 +240,11 @@ homeassistant.components.image_upload.*
homeassistant.components.imap.*
homeassistant.components.input_button.*
homeassistant.components.input_select.*
homeassistant.components.input_text.*
homeassistant.components.integration.*
homeassistant.components.intent.*
homeassistant.components.intent_script.*
homeassistant.components.ios.*
homeassistant.components.ipp.*
homeassistant.components.iqvia.*
homeassistant.components.islamic_prayer_times.*
@@ -200,17 +257,21 @@ homeassistant.components.knx.*
homeassistant.components.kraken.*
homeassistant.components.lacrosse.*
homeassistant.components.lacrosse_view.*
homeassistant.components.lamarzocco.*
homeassistant.components.lametric.*
homeassistant.components.laundrify.*
homeassistant.components.lawn_mower.*
homeassistant.components.lcn.*
homeassistant.components.ld2410_ble.*
homeassistant.components.led_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.*
@@ -218,22 +279,28 @@ homeassistant.components.london_underground.*
homeassistant.components.lookin.*
homeassistant.components.luftdaten.*
homeassistant.components.mailbox.*
homeassistant.components.map.*
homeassistant.components.mastodon.*
homeassistant.components.matrix.*
homeassistant.components.matter.*
homeassistant.components.media_extractor.*
homeassistant.components.media_player.*
homeassistant.components.media_source.*
homeassistant.components.met_eireann.*
homeassistant.components.metoffice.*
homeassistant.components.mikrotik.*
homeassistant.components.min_max.*
homeassistant.components.minecraft_server.*
homeassistant.components.mjpeg.*
homeassistant.components.modbus.*
homeassistant.components.modem_callerid.*
homeassistant.components.moon.*
homeassistant.components.mopeka.*
homeassistant.components.motionmount.*
homeassistant.components.mqtt.*
homeassistant.components.my.*
homeassistant.components.mysensors.*
homeassistant.components.myuplink.*
homeassistant.components.nam.*
homeassistant.components.nanoleaf.*
homeassistant.components.neato.*
@@ -242,20 +309,24 @@ homeassistant.components.netatmo.*
homeassistant.components.network.*
homeassistant.components.nextdns.*
homeassistant.components.nfandroidtv.*
homeassistant.components.nightscout.*
homeassistant.components.nissan_leaf.*
homeassistant.components.no_ip.*
homeassistant.components.notify.*
homeassistant.components.notion.*
homeassistant.components.number.*
homeassistant.components.nut.*
homeassistant.components.onboarding.*
homeassistant.components.oncue.*
homeassistant.components.onewire.*
homeassistant.components.open_meteo.*
homeassistant.components.openexchangerates.*
homeassistant.components.opensky.*
homeassistant.components.openuv.*
homeassistant.components.oralb.*
homeassistant.components.otbr.*
homeassistant.components.overkiz.*
homeassistant.components.p1_monitor.*
homeassistant.components.peco.*
homeassistant.components.persistent_notification.*
homeassistant.components.pi_hole.*
@@ -264,13 +335,17 @@ homeassistant.components.plugwise.*
homeassistant.components.poolsense.*
homeassistant.components.powerwall.*
homeassistant.components.private_ble_device.*
homeassistant.components.prometheus.*
homeassistant.components.proximity.*
homeassistant.components.prusalink.*
homeassistant.components.pure_energie.*
homeassistant.components.purpleair.*
homeassistant.components.pushbullet.*
homeassistant.components.pvoutput.*
homeassistant.components.qnap_qsw.*
homeassistant.components.rabbitair.*
homeassistant.components.radarr.*
homeassistant.components.rainforest_raven.*
homeassistant.components.rainmachine.*
homeassistant.components.raspberry_pi.*
homeassistant.components.rdw.*
@@ -280,6 +355,7 @@ homeassistant.components.remote.*
homeassistant.components.renault.*
homeassistant.components.repairs.*
homeassistant.components.rest.*
homeassistant.components.rest_command.*
homeassistant.components.rfxtrx.*
homeassistant.components.rhasspy.*
homeassistant.components.ridwell.*
@@ -294,6 +370,7 @@ homeassistant.components.samsungtv.*
homeassistant.components.scene.*
homeassistant.components.schedule.*
homeassistant.components.scrape.*
homeassistant.components.search.*
homeassistant.components.select.*
homeassistant.components.sensibo.*
homeassistant.components.sensirion_ble.*
@@ -301,8 +378,10 @@ homeassistant.components.sensor.*
homeassistant.components.senz.*
homeassistant.components.sfr_box.*
homeassistant.components.shelly.*
homeassistant.components.shopping_list.*
homeassistant.components.simplepush.*
homeassistant.components.simplisafe.*
homeassistant.components.siren.*
homeassistant.components.skybell.*
homeassistant.components.slack.*
homeassistant.components.sleepiq.*
@@ -317,6 +396,9 @@ homeassistant.components.statistics.*
homeassistant.components.steamist.*
homeassistant.components.stookalert.*
homeassistant.components.stream.*
homeassistant.components.streamlabswater.*
homeassistant.components.stt.*
homeassistant.components.suez_water.*
homeassistant.components.sun.*
homeassistant.components.surepetcare.*
homeassistant.components.switch.*
@@ -324,25 +406,38 @@ homeassistant.components.switchbee.*
homeassistant.components.switchbot_cloud.*
homeassistant.components.switcher_kis.*
homeassistant.components.synology_dsm.*
homeassistant.components.system_health.*
homeassistant.components.system_log.*
homeassistant.components.systemmonitor.*
homeassistant.components.tag.*
homeassistant.components.tailscale.*
homeassistant.components.tailwind.*
homeassistant.components.tami4.*
homeassistant.components.tautulli.*
homeassistant.components.tcp.*
homeassistant.components.technove.*
homeassistant.components.tedee.*
homeassistant.components.text.*
homeassistant.components.threshold.*
homeassistant.components.tibber.*
homeassistant.components.tile.*
homeassistant.components.tilt_ble.*
homeassistant.components.time.*
homeassistant.components.time_date.*
homeassistant.components.timer.*
homeassistant.components.tod.*
homeassistant.components.todo.*
homeassistant.components.tolo.*
homeassistant.components.tplink.*
homeassistant.components.tplink_omada.*
homeassistant.components.trace.*
homeassistant.components.tractive.*
homeassistant.components.tradfri.*
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.*
@@ -355,22 +450,29 @@ homeassistant.components.uptimerobot.*
homeassistant.components.usb.*
homeassistant.components.vacuum.*
homeassistant.components.vallox.*
homeassistant.components.valve.*
homeassistant.components.velbus.*
homeassistant.components.vlc_telnet.*
homeassistant.components.wake_on_lan.*
homeassistant.components.wake_word.*
homeassistant.components.wallbox.*
homeassistant.components.waqi.*
homeassistant.components.water_heater.*
homeassistant.components.watttime.*
homeassistant.components.weather.*
homeassistant.components.webhook.*
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.*
homeassistant.components.xiaomi_ble.*
homeassistant.components.yale_smart_alarm.*
homeassistant.components.yalexs_ble.*
homeassistant.components.youtube.*
homeassistant.components.zeroconf.*
homeassistant.components.zodiac.*
homeassistant.components.zone.*
+5 -1
View File
@@ -1,3 +1,7 @@
{
"recommendations": ["esbenp.prettier-vscode", "ms-python.python"]
"recommendations": [
"charliermarsh.ruff",
"esbenp.prettier-vscode",
"ms-python.python"
]
}
+8
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/
-1
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"],
+17 -3
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
@@ -157,6 +157,20 @@
"kind": "build",
"isDefault": true
}
},
{
"label": "Install integration requirements",
"detail": "Install all requirements of a given integration.",
"type": "shell",
"command": "${command:python.interpreterPath} -m script.install_integration_requirements ${input:integrationName}",
"group": {
"kind": "build",
"isDefault": true
},
"presentation": {
"reveal": "always",
"panel": "new"
}
}
],
"inputs": [
+1
View File
@@ -1,5 +1,6 @@
ignore: |
azure-*.yml
tests/fixtures/core/config/yaml_errors/
rules:
braces:
level: error
+158 -79
View File
@@ -45,12 +45,14 @@ build.json @home-assistant/supervisor
/tests/components/airnow/ @asymworks
/homeassistant/components/airq/ @Sibgatulin @dl2080
/tests/components/airq/ @Sibgatulin @dl2080
/homeassistant/components/airthings/ @danielhiversen
/tests/components/airthings/ @danielhiversen
/homeassistant/components/airthings/ @danielhiversen @LaStrada
/tests/components/airthings/ @danielhiversen @LaStrada
/homeassistant/components/airthings_ble/ @vincegio @LaStrada
/tests/components/airthings_ble/ @vincegio @LaStrada
/homeassistant/components/airtouch4/ @samsinnamon
/tests/components/airtouch4/ @samsinnamon
/homeassistant/components/airtouch5/ @danzel
/tests/components/airtouch5/ @danzel
/homeassistant/components/airvisual/ @bachya
/tests/components/airvisual/ @bachya
/homeassistant/components/airvisual_pro/ @bachya
@@ -76,6 +78,8 @@ build.json @home-assistant/supervisor
/homeassistant/components/amcrest/ @flacjacket
/homeassistant/components/analytics/ @home-assistant/core @ludeeus
/tests/components/analytics/ @home-assistant/core @ludeeus
/homeassistant/components/analytics_insights/ @joostlek
/tests/components/analytics_insights/ @joostlek
/homeassistant/components/android_ip_webcam/ @engrbm87
/tests/components/android_ip_webcam/ @engrbm87
/homeassistant/components/androidtv/ @JeffLIrion @ollo69
@@ -86,6 +90,8 @@ build.json @home-assistant/supervisor
/tests/components/anova/ @Lash-L
/homeassistant/components/anthemav/ @hyralex
/tests/components/anthemav/ @hyralex
/homeassistant/components/aosmith/ @bdr99
/tests/components/aosmith/ @bdr99
/homeassistant/components/apache_kafka/ @bachya
/tests/components/apache_kafka/ @bachya
/homeassistant/components/apcupsd/ @yuxincs
@@ -100,8 +106,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
@@ -143,6 +149,8 @@ build.json @home-assistant/supervisor
/tests/components/baf/ @bdraco @jfroy
/homeassistant/components/balboa/ @garbled1 @natekspencer
/tests/components/balboa/ @garbled1 @natekspencer
/homeassistant/components/bang_olufsen/ @mj23000
/tests/components/bang_olufsen/ @mj23000
/homeassistant/components/bayesian/ @HarvsG
/tests/components/bayesian/ @HarvsG
/homeassistant/components/beewi_smartclim/ @alemuro
@@ -151,8 +159,10 @@ 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/blue_current/ @Floris272 @gleeuwen
/tests/components/blue_current/ @Floris272 @gleeuwen
/homeassistant/components/bluemaestro/ @bdraco
/tests/components/bluemaestro/ @bdraco
/homeassistant/components/blueprint/ @home-assistant/core
@@ -170,8 +180,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
@@ -193,6 +203,8 @@ build.json @home-assistant/supervisor
/tests/components/camera/ @home-assistant/core
/homeassistant/components/cast/ @emontnemery
/tests/components/cast/ @emontnemery
/homeassistant/components/ccm15/ @ocalvo
/tests/components/ccm15/ @ocalvo
/homeassistant/components/cert_expiry/ @jjlawren
/tests/components/cert_expiry/ @jjlawren
/homeassistant/components/circuit/ @braam
@@ -205,8 +217,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/co2signal/ @jpbede @VIKTORVAV99
/tests/components/co2signal/ @jpbede @VIKTORVAV99
/homeassistant/components/coinbase/ @tombrien
/tests/components/coinbase/ @tombrien
/homeassistant/components/color_extractor/ @GenericStudent
@@ -233,8 +245,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
@@ -259,6 +271,8 @@ build.json @home-assistant/supervisor
/tests/components/denonavr/ @ol-iver @starkillerOG
/homeassistant/components/derivative/ @afaucogney
/tests/components/derivative/ @afaucogney
/homeassistant/components/devialet/ @fwestenberg
/tests/components/devialet/ @fwestenberg
/homeassistant/components/device_automation/ @home-assistant/core
/tests/components/device_automation/ @home-assistant/core
/homeassistant/components/device_tracker/ @home-assistant/core
@@ -293,6 +307,8 @@ build.json @home-assistant/supervisor
/tests/components/dormakaba_dkey/ @emontnemery
/homeassistant/components/dremel_3d_printer/ @tkdrob
/tests/components/dremel_3d_printer/ @tkdrob
/homeassistant/components/drop_connect/ @ChandlerSystems @pfrazer
/tests/components/drop_connect/ @ChandlerSystems @pfrazer
/homeassistant/components/dsmr/ @Robbie1221 @frenck
/tests/components/dsmr/ @Robbie1221 @frenck
/homeassistant/components/dsmr_reader/ @depl0y @glodenox
@@ -307,20 +323,17 @@ 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/ecoforest/ @pjanuario
/tests/components/ecoforest/ @pjanuario
/homeassistant/components/econet/ @vangorra @w1ll1am23
/tests/components/econet/ @vangorra @w1ll1am23
/homeassistant/components/ecovacs/ @OverloadUT @mib1185
/homeassistant/components/econet/ @w1ll1am23
/tests/components/econet/ @w1ll1am23
/homeassistant/components/ecovacs/ @OverloadUT @mib1185 @edenhaus
/tests/components/ecovacs/ @OverloadUT @mib1185 @edenhaus
/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
@@ -344,20 +357,20 @@ build.json @home-assistant/supervisor
/tests/components/energy/ @home-assistant/core
/homeassistant/components/energyzero/ @klaasnicolaas
/tests/components/energyzero/ @klaasnicolaas
/homeassistant/components/enigma2/ @fbradyirl
/homeassistant/components/enigma2/ @autinerd
/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/epion/ @lhgravendeel
/tests/components/epion/ @lhgravendeel
/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 @kbx81 @bdraco
@@ -375,7 +388,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
@@ -396,6 +410,8 @@ build.json @home-assistant/supervisor
/tests/components/fivem/ @Sander0542
/homeassistant/components/fjaraskupan/ @elupus
/tests/components/fjaraskupan/ @elupus
/homeassistant/components/flexit_bacnet/ @lellky @piotrbulinski
/tests/components/flexit_bacnet/ @lellky @piotrbulinski
/homeassistant/components/flick_electric/ @ZephireNZ
/tests/components/flick_electric/ @ZephireNZ
/homeassistant/components/flipr/ @cnico
@@ -411,8 +427,8 @@ build.json @home-assistant/supervisor
/homeassistant/components/forked_daapd/ @uvjustin
/tests/components/forked_daapd/ @uvjustin
/homeassistant/components/fortios/ @kimfrellsen
/homeassistant/components/foscam/ @skgsergio
/tests/components/foscam/ @skgsergio
/homeassistant/components/foscam/ @skgsergio @krmarien
/tests/components/foscam/ @skgsergio @krmarien
/homeassistant/components/freebox/ @hacf-fr @Quentame
/tests/components/freebox/ @hacf-fr @Quentame
/homeassistant/components/freedompro/ @stefano055415
@@ -423,8 +439,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
@@ -479,10 +495,14 @@ 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
/tests/components/govee_ble/ @bdraco @PierreAronnax
/homeassistant/components/govee_light_local/ @Galorhallen
/tests/components/govee_light_local/ @Galorhallen
/homeassistant/components/gpsd/ @fabaff
/homeassistant/components/gree/ @cmroche
/tests/components/gree/ @cmroche
@@ -490,8 +510,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
@@ -519,12 +537,14 @@ build.json @home-assistant/supervisor
/tests/components/history/ @home-assistant/core
/homeassistant/components/hive/ @Rendili @KJonline
/tests/components/hive/ @Rendili @KJonline
/homeassistant/components/hko/ @MisterCommand
/tests/components/hko/ @MisterCommand
/homeassistant/components/hlk_sw16/ @jameshilliard
/tests/components/hlk_sw16/ @jameshilliard
/homeassistant/components/holiday/ @jrieger @gjohansson-ST
/tests/components/holiday/ @jrieger @gjohansson-ST
/homeassistant/components/home_connect/ @DavidMStraub
/tests/components/home_connect/ @DavidMStraub
/homeassistant/components/home_plus_control/ @chemaaa
/tests/components/home_plus_control/ @chemaaa
/homeassistant/components/homeassistant/ @home-assistant/core
/tests/components/homeassistant/ @home-assistant/core
/homeassistant/components/homeassistant_alerts/ @home-assistant/core
@@ -559,6 +579,8 @@ build.json @home-assistant/supervisor
/tests/components/humidifier/ @home-assistant/core @Shulyaka
/homeassistant/components/hunterdouglas_powerview/ @bdraco @kingy444 @trullock
/tests/components/hunterdouglas_powerview/ @bdraco @kingy444 @trullock
/homeassistant/components/huum/ @frwickst
/tests/components/huum/ @frwickst
/homeassistant/components/hvv_departures/ @vigonotion
/tests/components/hvv_departures/ @vigonotion
/homeassistant/components/hydrawise/ @dknowles2 @ptcryan
@@ -586,6 +608,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
@@ -660,8 +684,8 @@ 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/konnected/ @heythisisnate
/tests/components/konnected/ @heythisisnate
/homeassistant/components/kostal_plenticore/ @stegm
@@ -672,6 +696,8 @@ build.json @home-assistant/supervisor
/tests/components/kulersky/ @emlove
/homeassistant/components/lacrosse_view/ @IceBotYT
/tests/components/lacrosse_view/ @IceBotYT
/homeassistant/components/lamarzocco/ @zweckj
/tests/components/lamarzocco/ @zweckj
/homeassistant/components/lametric/ @robbiet480 @frenck @bachya
/tests/components/lametric/ @robbiet480 @frenck @bachya
/homeassistant/components/landisgyr_heat_meter/ @vpathuis
@@ -688,15 +714,17 @@ build.json @home-assistant/supervisor
/tests/components/lcn/ @alengwenus
/homeassistant/components/ld2410_ble/ @930913
/tests/components/ld2410_ble/ @930913
/homeassistant/components/leaone/ @bdraco
/tests/components/leaone/ @bdraco
/homeassistant/components/led_ble/ @bdraco
/tests/components/led_ble/ @bdraco
/homeassistant/components/lg_netcast/ @Drafteed
/homeassistant/components/lidarr/ @tkdrob
/tests/components/lidarr/ @tkdrob
/homeassistant/components/life360/ @pnbruckner
/tests/components/life360/ @pnbruckner
/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
@@ -708,6 +736,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
@@ -728,7 +758,8 @@ build.json @home-assistant/supervisor
/homeassistant/components/luftdaten/ @fabaff @frenck
/tests/components/luftdaten/ @fabaff @frenck
/homeassistant/components/lupusec/ @majuss
/homeassistant/components/lutron/ @cdheiser
/homeassistant/components/lutron/ @cdheiser @wilburCForce
/tests/components/lutron/ @cdheiser @wilburCForce
/homeassistant/components/lutron_caseta/ @swails @bdraco @danaues
/tests/components/lutron_caseta/ @swails @bdraco @danaues
/homeassistant/components/lyric/ @timmo001
@@ -755,8 +786,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
@@ -798,6 +829,8 @@ build.json @home-assistant/supervisor
/tests/components/motion_blinds/ @starkillerOG
/homeassistant/components/motioneye/ @dermotduffy
/tests/components/motioneye/ @dermotduffy
/homeassistant/components/motionmount/ @RJPoelstra
/tests/components/motionmount/ @RJPoelstra
/homeassistant/components/mqtt/ @emontnemery @jbouwh
/tests/components/mqtt/ @emontnemery @jbouwh
/homeassistant/components/msteams/ @peroyvind
@@ -807,12 +840,12 @@ 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 @Lash-L
/tests/components/myq/ @ehendrix23 @Lash-L
/homeassistant/components/mysensors/ @MartinHjelmare @functionpointer
/tests/components/mysensors/ @MartinHjelmare @functionpointer
/homeassistant/components/mystrom/ @fabaff
/tests/components/mystrom/ @fabaff
/homeassistant/components/myuplink/ @pajzo
/tests/components/myuplink/ @pajzo
/homeassistant/components/nam/ @bieniu
/tests/components/nam/ @bieniu
/homeassistant/components/nanoleaf/ @milanmeu
@@ -830,6 +863,7 @@ build.json @home-assistant/supervisor
/homeassistant/components/netgear/ @hacf-fr @Quentame @starkillerOG
/tests/components/netgear/ @hacf-fr @Quentame @starkillerOG
/homeassistant/components/netgear_lte/ @tkdrob
/tests/components/netgear_lte/ @tkdrob
/homeassistant/components/network/ @home-assistant/core
/tests/components/network/ @home-assistant/core
/homeassistant/components/nexia/ @bdraco
@@ -923,8 +957,12 @@ build.json @home-assistant/supervisor
/homeassistant/components/oralb/ @bdraco @Lash-L
/tests/components/oralb/ @bdraco @Lash-L
/homeassistant/components/oru/ @bvlaicu
/homeassistant/components/osoenergy/ @osohotwateriot
/tests/components/osoenergy/ @osohotwateriot
/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
@@ -939,6 +977,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
@@ -949,6 +989,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
@@ -973,9 +1015,11 @@ 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
/homeassistant/components/prusalink/ @balloob @Skaronator
/tests/components/prusalink/ @balloob @Skaronator
/homeassistant/components/ps4/ @ktnrg45
/tests/components/ps4/ @ktnrg45
/homeassistant/components/pure_energie/ @klaasnicolaas
@@ -992,8 +1036,8 @@ build.json @home-assistant/supervisor
/tests/components/pvoutput/ @frenck
/homeassistant/components/pvpc_hourly_pricing/ @azogue
/tests/components/pvpc_hourly_pricing/ @azogue
/homeassistant/components/qbittorrent/ @geoffreylagaisse
/tests/components/qbittorrent/ @geoffreylagaisse
/homeassistant/components/qbittorrent/ @geoffreylagaisse @finder39
/tests/components/qbittorrent/ @geoffreylagaisse @finder39
/homeassistant/components/qingping/ @bdraco @skgsergio
/tests/components/qingping/ @bdraco @skgsergio
/homeassistant/components/qld_bushfire/ @exxamalte
@@ -1006,8 +1050,10 @@ build.json @home-assistant/supervisor
/homeassistant/components/qvr_pro/ @oblogic7
/homeassistant/components/qwikswitch/ @kellerza
/tests/components/qwikswitch/ @kellerza
/homeassistant/components/rachio/ @bdraco
/tests/components/rachio/ @bdraco
/homeassistant/components/rabbitair/ @rabbit-air
/tests/components/rabbitair/ @rabbit-air
/homeassistant/components/rachio/ @bdraco @rfverbruggen
/tests/components/rachio/ @bdraco @rfverbruggen
/homeassistant/components/radarr/ @tkdrob
/tests/components/radarr/ @tkdrob
/homeassistant/components/radio_browser/ @frenck
@@ -1019,6 +1065,8 @@ build.json @home-assistant/supervisor
/homeassistant/components/raincloud/ @vanstinator
/homeassistant/components/rainforest_eagle/ @gtdiehl @jcalbert @hastarin
/tests/components/rainforest_eagle/ @gtdiehl @jcalbert @hastarin
/homeassistant/components/rainforest_raven/ @cottsay
/tests/components/rainforest_raven/ @cottsay
/homeassistant/components/rainmachine/ @bachya
/tests/components/rainmachine/ @bachya
/homeassistant/components/random/ @fabaff
@@ -1033,6 +1081,10 @@ 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/refoss/ @ashionky
/tests/components/refoss/ @ashionky
/homeassistant/components/rejseplanen/ @DarkFox
/homeassistant/components/remote/ @home-assistant/core
/tests/components/remote/ @home-assistant/core
@@ -1044,7 +1096,9 @@ 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/rest_command/ @jpbede
/tests/components/rest_command/ @jpbede
/homeassistant/components/rflink/ @javicalle
/tests/components/rflink/ @javicalle
/homeassistant/components/rfxtrx/ @danielhiversen @elupus @RobBie1221
@@ -1053,6 +1107,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
@@ -1063,8 +1119,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
@@ -1083,8 +1139,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
@@ -1189,8 +1243,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
@@ -1225,18 +1279,22 @@ 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
/tests/components/suez_water/ @ooii
/homeassistant/components/sun/ @Swamp-Ig
/tests/components/sun/ @Swamp-Ig
/homeassistant/components/sunweg/ @rokam
/tests/components/sunweg/ @rokam
/homeassistant/components/supla/ @mwegrzynek
/homeassistant/components/surepetcare/ @benleb @danielhiversen
/tests/components/surepetcare/ @benleb @danielhiversen
/homeassistant/components/swiss_hydrological_data/ @fabaff
/homeassistant/components/swiss_public_transport/ @fabaff
/homeassistant/components/swiss_public_transport/ @fabaff @miaucl
/tests/components/swiss_public_transport/ @fabaff @miaucl
/homeassistant/components/switch/ @home-assistant/core
/tests/components/switch/ @home-assistant/core
/homeassistant/components/switch_as_x/ @home-assistant/core
@@ -1259,12 +1317,18 @@ build.json @home-assistant/supervisor
/homeassistant/components/synology_srm/ @aerialls
/homeassistant/components/system_bridge/ @timmo001
/tests/components/system_bridge/ @timmo001
/homeassistant/components/tado/ @michaelarnauts @chiefdragon
/tests/components/tado/ @michaelarnauts @chiefdragon
/homeassistant/components/systemmonitor/ @gjohansson-ST
/tests/components/systemmonitor/ @gjohansson-ST
/homeassistant/components/tado/ @chiefdragon @erwindouna
/tests/components/tado/ @chiefdragon @erwindouna
/homeassistant/components/tag/ @balloob @dmulcahey
/tests/components/tag/ @balloob @dmulcahey
/homeassistant/components/tailscale/ @frenck
/tests/components/tailscale/ @frenck
/homeassistant/components/tailwind/ @frenck
/tests/components/tailwind/ @frenck
/homeassistant/components/tami4/ @Guy293
/tests/components/tami4/ @Guy293
/homeassistant/components/tankerkoenig/ @guillempages @mib1185
/tests/components/tankerkoenig/ @guillempages @mib1185
/homeassistant/components/tapsaff/ @bazwilliams
@@ -1272,19 +1336,27 @@ build.json @home-assistant/supervisor
/tests/components/tasmota/ @emontnemery
/homeassistant/components/tautulli/ @ludeeus @tkdrob
/tests/components/tautulli/ @ludeeus @tkdrob
/homeassistant/components/technove/ @Moustachauve
/tests/components/technove/ @Moustachauve
/homeassistant/components/tedee/ @patrickhilker @zweckj
/tests/components/tedee/ @patrickhilker @zweckj
/homeassistant/components/tellduslive/ @fredrike
/tests/components/tellduslive/ @fredrike
/homeassistant/components/template/ @PhracturedBlue @tetienne @home-assistant/core
/tests/components/template/ @PhracturedBlue @tetienne @home-assistant/core
/homeassistant/components/tesla_wall_connector/ @einarhauks
/tests/components/tesla_wall_connector/ @einarhauks
/homeassistant/components/teslemetry/ @Bre77
/tests/components/teslemetry/ @Bre77
/homeassistant/components/tessie/ @Bre77
/tests/components/tessie/ @Bre77
/homeassistant/components/text/ @home-assistant/core
/tests/components/text/ @home-assistant/core
/homeassistant/components/tfiac/ @fredrike @mellado
/homeassistant/components/thermobeacon/ @bdraco
/tests/components/thermobeacon/ @bdraco
/homeassistant/components/thermopro/ @bdraco
/tests/components/thermopro/ @bdraco
/homeassistant/components/thermopro/ @bdraco @h3ss
/tests/components/thermopro/ @bdraco @h3ss
/homeassistant/components/thethingsnetwork/ @fabaff
/homeassistant/components/thread/ @home-assistant/core
/tests/components/thread/ @home-assistant/core
@@ -1299,6 +1371,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
@@ -1307,8 +1381,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 @sdb9696
/tests/components/tplink/ @rytilahti @thegardenmonkey @bdraco @sdb9696
/homeassistant/components/tplink_omada/ @MarkGodwin
/tests/components/tplink_omada/ @MarkGodwin
/homeassistant/components/traccar/ @ludeeus
@@ -1321,16 +1395,16 @@ 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/trend/ @jpbede
/tests/components/trend/ @jpbede
/homeassistant/components/tts/ @home-assistant/core @pvizeli
/tests/components/tts/ @home-assistant/core @pvizeli
/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
@@ -1343,6 +1417,7 @@ build.json @home-assistant/supervisor
/tests/components/ukraine_alarm/ @PaulAnnekov
/homeassistant/components/unifi/ @Kane610
/tests/components/unifi/ @Kane610
/homeassistant/components/unifi_direct/ @tofuSCHNITZEL
/homeassistant/components/unifiled/ @florisvdk
/homeassistant/components/unifiprotect/ @AngellusMortis @bdraco
/tests/components/unifiprotect/ @AngellusMortis @bdraco
@@ -1365,22 +1440,26 @@ 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-
/tests/components/vallox/ @andre-richter @slovdahl @viiru-
/homeassistant/components/valve/ @home-assistant/core
/tests/components/valve/ @home-assistant/core
/homeassistant/components/velbus/ @Cereal2nd @brefra
/tests/components/velbus/ @Cereal2nd @brefra
/homeassistant/components/velux/ @Julius2342
/homeassistant/components/venstar/ @garbled1 @jhollowe
/tests/components/venstar/ @garbled1 @jhollowe
/homeassistant/components/verisure/ @frenck
/tests/components/verisure/ @frenck
/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/vesync/ @markperdue @webdjoe @thegardenmonkey @cdnninja
/tests/components/vesync/ @markperdue @webdjoe @thegardenmonkey @cdnninja
/homeassistant/components/vicare/ @CFenner
/tests/components/vicare/ @CFenner
/homeassistant/components/vilfo/ @ManneW
/tests/components/vilfo/ @ManneW
/homeassistant/components/vivotek/ @HarlemSquirrel
@@ -1436,8 +1515,8 @@ build.json @home-assistant/supervisor
/homeassistant/components/wilight/ @leofig-rj
/tests/components/wilight/ @leofig-rj
/homeassistant/components/wirelesstag/ @sergeymaysak
/homeassistant/components/withings/ @vangorra @joostlek
/tests/components/withings/ @vangorra @joostlek
/homeassistant/components/withings/ @joostlek
/tests/components/withings/ @joostlek
/homeassistant/components/wiz/ @sbidy
/tests/components/wiz/ @sbidy
/homeassistant/components/wled/ @frenck
@@ -1491,13 +1570,13 @@ 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
/tests/components/zone/ @home-assistant/core
/homeassistant/components/zoneminder/ @rohankapoorcom
/homeassistant/components/zoneminder/ @rohankapoorcom @nabbi
/homeassistant/components/zwave_js/ @home-assistant/z-wave
/tests/components/zwave_js/ @home-assistant/z-wave
/homeassistant/components/zwave_me/ @lawfulchaos @Z-Wave-Me @PoltoS
+15 -17
View File
@@ -1,9 +1,12 @@
# Automatically generated by hassfest.
#
# To update, run python3 -m script.hassfest -p docker
ARG BUILD_FROM
FROM ${BUILD_FROM}
# Synchronize with homeassistant/core.py:async_stop
ENV \
S6_SERVICES_GRACETIME=220000
S6_SERVICES_GRACETIME=240000
ARG QEMU_CPU
@@ -14,41 +17,36 @@ COPY requirements.txt homeassistant/
COPY homeassistant/package_constraints.txt homeassistant/homeassistant/
RUN \
pip3 install \
--no-cache-dir \
--only-binary=:all: \
--index-url "https://wheels.home-assistant.io/musllinux-index/" \
-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 \
&& \
&& if [ "${BUILD_ARCH}" = "i386" ]; then \
LD_PRELOAD="/usr/local/lib/libjemalloc.so.2" \
MALLOC_CONF="background_thread:true,metadata_thp:auto,dirty_decay_ms:20000,muzzy_decay_ms:20000" \
linux32 pip3 install \
--only-binary=:all: \
-r homeassistant/requirements_all.txt; \
else \
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 \
--only-binary=:all: \
--index-url "https://wheels.home-assistant.io/musllinux-index/" \
-r homeassistant/requirements_all.txt
-r homeassistant/requirements_all.txt; \
fi
## Setup Home Assistant Core
COPY . homeassistant/
RUN \
pip3 install \
--no-cache-dir \
--only-binary=:all: \
--index-url "https://wheels.home-assistant.io/musllinux-index/" \
-e ./homeassistant \
&& python3 -m compileall \
homeassistant/homeassistant
+2 -2
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
@@ -17,6 +16,7 @@ RUN \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
# Additional library needed by some tests and accordingly by VScode Tests Discovery
bluez \
ffmpeg \
libudev-dev \
libavformat-dev \
libavcodec-dev \
+5 -5
View File
@@ -1,10 +1,10 @@
image: ghcr.io/home-assistant/{arch}-homeassistant
build_from:
aarch64: ghcr.io/home-assistant/aarch64-homeassistant-base:2023.09.0
armhf: ghcr.io/home-assistant/armhf-homeassistant-base:2023.09.0
armv7: ghcr.io/home-assistant/armv7-homeassistant-base:2023.09.0
amd64: ghcr.io/home-assistant/amd64-homeassistant-base:2023.09.0
i386: ghcr.io/home-assistant/i386-homeassistant-base:2023.09.0
aarch64: ghcr.io/home-assistant/aarch64-homeassistant-base:2024.01.0
armhf: ghcr.io/home-assistant/armhf-homeassistant-base:2024.01.0
armv7: ghcr.io/home-assistant/armv7-homeassistant-base:2024.01.0
amd64: ghcr.io/home-assistant/amd64-homeassistant-base:2024.01.0
i386: ghcr.io/home-assistant/i386-homeassistant-base:2024.01.0
codenotary:
signer: notary@home-assistant.io
base_image: notary@home-assistant.io
-230
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."
-281
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

-45
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

-6
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>
-13
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 %}
-29
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:
-7
View File
@@ -1,7 +0,0 @@
.. _bootstrap_module:
:mod:`homeassistant.bootstrap`
------------------------------
.. automodule:: homeassistant.bootstrap
:members:
-170
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:
-7
View File
@@ -1,7 +0,0 @@
.. _config_entries_module:
:mod:`homeassistant.config_entries`
-----------------------------------
.. automodule:: homeassistant.config_entries
:members:
-7
View File
@@ -1,7 +0,0 @@
.. _core_module:
:mod:`homeassistant.core`
-------------------------
.. automodule:: homeassistant.core
:members:
-7
View File
@@ -1,7 +0,0 @@
.. _data_entry_flow_module:
:mod:`homeassistant.data_entry_flow`
-----------------------------
.. automodule:: homeassistant.data_entry_flow
:members:
-7
View File
@@ -1,7 +0,0 @@
.. _exceptions_module:
:mod:`homeassistant.exceptions`
-------------------------------
.. automodule:: homeassistant.exceptions
:members:
-335
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:
-7
View File
@@ -1,7 +0,0 @@
.. _loader_module:
:mod:`homeassistant.loader`
---------------------------
.. automodule:: homeassistant.loader
:members:
-151
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:
-438
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
-22
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/
+8 -3
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)
+96 -31
View File
@@ -4,18 +4,27 @@ from __future__ import annotations
import asyncio
from collections import OrderedDict
from collections.abc import Mapping
from datetime import timedelta
from datetime import datetime, timedelta
from functools import partial
import time
from typing import Any, cast
import jwt
from homeassistant import data_entry_flow
from homeassistant.core import CALLBACK_TYPE, HomeAssistant, callback
from homeassistant.core import (
CALLBACK_TYPE,
HassJob,
HassJobType,
HomeAssistant,
callback,
)
from homeassistant.data_entry_flow import FlowResult
from homeassistant.helpers.event import async_track_point_in_utc_time
from homeassistant.util import dt as dt_util
from . import auth_store, jwt_wrapper, models
from .const import ACCESS_TOKEN_EXPIRATION, GROUP_ID_ADMIN
from .const import ACCESS_TOKEN_EXPIRATION, GROUP_ID_ADMIN, REFRESH_TOKEN_EXPIRATION
from .mfa_modules import MultiFactorAuthModule, auth_mfa_module_from_config
from .providers import AuthProvider, LoginFlow, auth_provider_from_config
@@ -47,6 +56,7 @@ async def auth_manager_from_config(
mfa modules exist in configs.
"""
store = auth_store.AuthStore(hass)
await store.async_load()
if provider_configs:
providers = await asyncio.gather(
*(
@@ -74,6 +84,7 @@ async def auth_manager_from_config(
module_hash[module.id] = module
manager = AuthManager(hass, store, provider_hash, module_hash)
manager.async_setup()
return manager
@@ -157,7 +168,22 @@ class AuthManager:
self._providers = providers
self._mfa_modules = mfa_modules
self.login_flow = AuthManagerFlowManager(hass, self)
self._revoke_callbacks: dict[str, list[CALLBACK_TYPE]] = {}
self._revoke_callbacks: dict[str, set[CALLBACK_TYPE]] = {}
self._expire_callback: CALLBACK_TYPE | None = None
self._remove_expired_job = HassJob(
self._async_remove_expired_refresh_tokens, job_type=HassJobType.Callback
)
@callback
def async_setup(self) -> None:
"""Set up the auth manager."""
hass = self.hass
hass.async_add_shutdown_job(
HassJob(
self._async_cancel_expiration_schedule, job_type=HassJobType.Callback
)
)
self._async_track_next_refresh_token_expiration()
@property
def auth_providers(self) -> list[AuthProvider]:
@@ -280,7 +306,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})
@@ -422,6 +449,11 @@ class AuthManager:
else:
token_type = models.TOKEN_TYPE_NORMAL
if token_type is models.TOKEN_TYPE_NORMAL:
expire_at = time.time() + REFRESH_TOKEN_EXPIRATION
else:
expire_at = None
if user.system_generated != (token_type == models.TOKEN_TYPE_SYSTEM):
raise ValueError(
"System generated users can only have system type refresh tokens"
@@ -453,48 +485,81 @@ class AuthManager:
client_icon,
token_type,
access_token_expiration,
expire_at,
credential,
)
async def async_get_refresh_token(
self, token_id: str
) -> models.RefreshToken | None:
@callback
def async_get_refresh_token(self, token_id: str) -> models.RefreshToken | None:
"""Get refresh token by id."""
return await self._store.async_get_refresh_token(token_id)
return self._store.async_get_refresh_token(token_id)
async def async_get_refresh_token_by_token(
@callback
def async_get_refresh_token_by_token(
self, token: str
) -> models.RefreshToken | None:
"""Get refresh token by token."""
return await self._store.async_get_refresh_token_by_token(token)
return self._store.async_get_refresh_token_by_token(token)
async def async_remove_refresh_token(
self, refresh_token: models.RefreshToken
) -> None:
@callback
def async_remove_refresh_token(self, refresh_token: models.RefreshToken) -> None:
"""Delete a refresh token."""
await self._store.async_remove_refresh_token(refresh_token)
self._store.async_remove_refresh_token(refresh_token)
callbacks = self._revoke_callbacks.pop(refresh_token.id, [])
callbacks = self._revoke_callbacks.pop(refresh_token.id, ())
for revoke_callback in callbacks:
revoke_callback()
@callback
def _async_remove_expired_refresh_tokens(self, _: datetime | None = None) -> None:
"""Remove expired refresh tokens."""
now = time.time()
for token in self._store.async_get_refresh_tokens()[:]:
if (expire_at := token.expire_at) is not None and expire_at <= now:
self.async_remove_refresh_token(token)
self._async_track_next_refresh_token_expiration()
@callback
def _async_track_next_refresh_token_expiration(self) -> None:
"""Initialise all token expiration scheduled tasks."""
next_expiration = time.time() + REFRESH_TOKEN_EXPIRATION
for token in self._store.async_get_refresh_tokens():
if (
expire_at := token.expire_at
) is not None and expire_at < next_expiration:
next_expiration = expire_at
self._expire_callback = async_track_point_in_utc_time(
self.hass,
self._remove_expired_job,
dt_util.utc_from_timestamp(next_expiration),
)
@callback
def _async_cancel_expiration_schedule(self) -> None:
"""Cancel tracking of expired refresh tokens."""
if self._expire_callback:
self._expire_callback()
self._expire_callback = None
@callback
def _async_unregister(
self, callbacks: set[CALLBACK_TYPE], callback_: CALLBACK_TYPE
) -> None:
"""Unregister a callback."""
callbacks.remove(callback_)
@callback
def async_register_revoke_token_callback(
self, refresh_token_id: str, revoke_callback: CALLBACK_TYPE
) -> CALLBACK_TYPE:
"""Register a callback to be called when the refresh token id is revoked."""
if refresh_token_id not in self._revoke_callbacks:
self._revoke_callbacks[refresh_token_id] = []
self._revoke_callbacks[refresh_token_id] = set()
callbacks = self._revoke_callbacks[refresh_token_id]
callbacks.append(revoke_callback)
@callback
def unregister() -> None:
if revoke_callback in callbacks:
callbacks.remove(revoke_callback)
return unregister
callbacks.add(revoke_callback)
return partial(self._async_unregister, callbacks, revoke_callback)
@callback
def async_create_access_token(
@@ -505,12 +570,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",
@@ -550,16 +616,15 @@ class AuthManager:
if provider := self._async_resolve_provider(refresh_token):
provider.async_validate_refresh_token(refresh_token, remote_ip)
async def async_validate_access_token(
self, token: str
) -> models.RefreshToken | None:
@callback
def async_validate_access_token(self, token: str) -> models.RefreshToken | None:
"""Return refresh token if an access token is valid."""
try:
unverif_claims = jwt_wrapper.unverified_hs256_token_decode(token)
except jwt.InvalidTokenError:
return None
refresh_token = await self.async_get_refresh_token(
refresh_token = self.async_get_refresh_token(
cast(str, unverif_claims.get("iss"))
)
+51 -81
View File
@@ -1,10 +1,9 @@
"""Storage for auth models."""
from __future__ import annotations
import asyncio
from collections import OrderedDict
from datetime import timedelta
import hmac
import itertools
from logging import getLogger
from typing import Any
@@ -19,6 +18,7 @@ from .const import (
GROUP_ID_ADMIN,
GROUP_ID_READ_ONLY,
GROUP_ID_USER,
REFRESH_TOKEN_EXPIRATION,
)
from .permissions import system_policies
from .permissions.models import PermissionLookup
@@ -43,44 +43,28 @@ class AuthStore:
def __init__(self, hass: HomeAssistant) -> None:
"""Initialize the auth store."""
self.hass = hass
self._users: dict[str, models.User] | None = None
self._groups: dict[str, models.Group] | None = None
self._perm_lookup: PermissionLookup | None = None
self._loaded = False
self._users: dict[str, models.User] = None # type: ignore[assignment]
self._groups: dict[str, models.Group] = None # type: ignore[assignment]
self._perm_lookup: PermissionLookup = None # type: ignore[assignment]
self._store = Store[dict[str, list[dict[str, Any]]]](
hass, STORAGE_VERSION, STORAGE_KEY, private=True, atomic_writes=True
)
self._lock = asyncio.Lock()
async def async_get_groups(self) -> list[models.Group]:
"""Retrieve all users."""
if self._groups is None:
await self._async_load()
assert self._groups is not None
return list(self._groups.values())
async def async_get_group(self, group_id: str) -> models.Group | None:
"""Retrieve all users."""
if self._groups is None:
await self._async_load()
assert self._groups is not None
return self._groups.get(group_id)
async def async_get_users(self) -> list[models.User]:
"""Retrieve all users."""
if self._users is None:
await self._async_load()
assert self._users is not None
return list(self._users.values())
async def async_get_user(self, user_id: str) -> models.User | None:
"""Retrieve a user by id."""
if self._users is None:
await self._async_load()
assert self._users is not None
return self._users.get(user_id)
async def async_create_user(
@@ -94,12 +78,6 @@ class AuthStore:
local_only: bool | None = None,
) -> models.User:
"""Create a new user."""
if self._users is None:
await self._async_load()
assert self._users is not None
assert self._groups is not None
groups = []
for group_id in group_ids or []:
if (group := self._groups.get(group_id)) is None:
@@ -145,10 +123,6 @@ class AuthStore:
async def async_remove_user(self, user: models.User) -> None:
"""Remove a user."""
if self._users is None:
await self._async_load()
assert self._users is not None
self._users.pop(user.id)
self._async_schedule_save()
@@ -161,8 +135,6 @@ class AuthStore:
local_only: bool | None = None,
) -> None:
"""Update a user."""
assert self._groups is not None
if group_ids is not None:
groups = []
for grid in group_ids:
@@ -171,7 +143,6 @@ class AuthStore:
groups.append(group)
user.groups = groups
user.invalidate_permission_cache()
for attr_name, value in (
("name", name),
@@ -195,10 +166,6 @@ class AuthStore:
async def async_remove_credentials(self, credentials: models.Credentials) -> None:
"""Remove credentials."""
if self._users is None:
await self._async_load()
assert self._users is not None
for user in self._users.values():
found = None
@@ -221,6 +188,7 @@ class AuthStore:
client_icon: str | None = None,
token_type: str = models.TOKEN_TYPE_NORMAL,
access_token_expiration: timedelta = ACCESS_TOKEN_EXPIRATION,
expire_at: float | None = None,
credential: models.Credentials | None = None,
) -> models.RefreshToken:
"""Create a new token for a user."""
@@ -229,6 +197,7 @@ class AuthStore:
"client_id": client_id,
"token_type": token_type,
"access_token_expiration": access_token_expiration,
"expire_at": expire_at,
"credential": credential,
}
if client_name:
@@ -242,27 +211,17 @@ class AuthStore:
self._async_schedule_save()
return refresh_token
async def async_remove_refresh_token(
self, refresh_token: models.RefreshToken
) -> None:
@callback
def async_remove_refresh_token(self, refresh_token: models.RefreshToken) -> None:
"""Remove a refresh token."""
if self._users is None:
await self._async_load()
assert self._users is not None
for user in self._users.values():
if user.refresh_tokens.pop(refresh_token.id, None):
self._async_schedule_save()
break
async def async_get_refresh_token(
self, token_id: str
) -> models.RefreshToken | None:
@callback
def async_get_refresh_token(self, token_id: str) -> models.RefreshToken | None:
"""Get refresh token by id."""
if self._users is None:
await self._async_load()
assert self._users is not None
for user in self._users.values():
refresh_token = user.refresh_tokens.get(token_id)
if refresh_token is not None:
@@ -270,14 +229,11 @@ class AuthStore:
return None
async def async_get_refresh_token_by_token(
@callback
def async_get_refresh_token_by_token(
self, token: str
) -> models.RefreshToken | None:
"""Get refresh token by token."""
if self._users is None:
await self._async_load()
assert self._users is not None
found = None
for user in self._users.values():
@@ -287,6 +243,15 @@ class AuthStore:
return found
@callback
def async_get_refresh_tokens(self) -> list[models.RefreshToken]:
"""Get all refresh tokens."""
return list(
itertools.chain.from_iterable(
user.refresh_tokens.values() for user in self._users.values()
)
)
@callback
def async_log_refresh_token_usage(
self, refresh_token: models.RefreshToken, remote_ip: str | None = None
@@ -294,35 +259,34 @@ class AuthStore:
"""Update refresh token last used information."""
refresh_token.last_used_at = dt_util.utcnow()
refresh_token.last_used_ip = remote_ip
if refresh_token.expire_at:
refresh_token.expire_at = (
refresh_token.last_used_at.timestamp() + REFRESH_TOKEN_EXPIRATION
)
self._async_schedule_save()
async def _async_load(self) -> None:
async def async_load(self) -> None: # noqa: C901
"""Load the users."""
async with self._lock:
if self._users is not None:
return
await self._async_load_task()
if self._loaded:
raise RuntimeError("Auth storage is already loaded")
self._loaded = True
async def _async_load_task(self) -> None:
"""Load the users."""
dev_reg = dr.async_get(self.hass)
ent_reg = er.async_get(self.hass)
data = await self._store.async_load()
# Make sure that we're not overriding data if 2 loads happened at the
# same time
if self._users is not None:
return
perm_lookup = PermissionLookup(ent_reg, dev_reg)
self._perm_lookup = perm_lookup
self._perm_lookup = perm_lookup = PermissionLookup(ent_reg, dev_reg)
now_ts = dt_util.utcnow().timestamp()
if data is None or not isinstance(data, dict):
self._set_defaults()
return
users: dict[str, models.User] = OrderedDict()
groups: dict[str, models.Group] = OrderedDict()
credentials: dict[str, models.Credentials] = OrderedDict()
users: dict[str, models.User] = {}
groups: dict[str, models.Group] = {}
credentials: dict[str, models.Credentials] = {}
# Soft-migrating data as we load. We are going to make sure we have a
# read only group and an admin group. There are two states that we can
@@ -469,6 +433,14 @@ class AuthStore:
else:
last_used_at = None
if (
expire_at := rt_dict.get("expire_at")
) is None and token_type == models.TOKEN_TYPE_NORMAL:
if last_used_at:
expire_at = last_used_at.timestamp() + REFRESH_TOKEN_EXPIRATION
else:
expire_at = now_ts + REFRESH_TOKEN_EXPIRATION
token = models.RefreshToken(
id=rt_dict["id"],
user=users[rt_dict["user_id"]],
@@ -485,6 +457,7 @@ class AuthStore:
jwt_key=rt_dict["jwt_key"],
last_used_at=last_used_at,
last_used_ip=rt_dict.get("last_used_ip"),
expire_at=expire_at,
version=rt_dict.get("version"),
)
if "credential_id" in rt_dict:
@@ -494,20 +467,16 @@ class AuthStore:
self._groups = groups
self._users = users
self._async_schedule_save()
@callback
def _async_schedule_save(self) -> None:
"""Save users."""
if self._users is None:
return
self._store.async_delay_save(self._data_to_save, 1)
@callback
def _data_to_save(self) -> dict[str, list[dict[str, Any]]]:
"""Return the data to store."""
assert self._users is not None
assert self._groups is not None
users = [
{
"id": user.id,
@@ -564,6 +533,7 @@ class AuthStore:
if refresh_token.last_used_at
else None,
"last_used_ip": refresh_token.last_used_ip,
"expire_at": refresh_token.expire_at,
"credential_id": refresh_token.credential.id
if refresh_token.credential
else None,
@@ -582,9 +552,9 @@ class AuthStore:
def _set_defaults(self) -> None:
"""Set default values for auth store."""
self._users = OrderedDict()
self._users = {}
groups: dict[str, models.Group] = OrderedDict()
groups: dict[str, models.Group] = {}
admin_group = _system_admin_group()
groups[admin_group.id] = admin_group
user_group = _system_user_group()
+1
View File
@@ -3,6 +3,7 @@ from datetime import timedelta
ACCESS_TOKEN_EXPIRATION = timedelta(minutes=30)
MFA_SESSION_EXPIRATION = timedelta(minutes=5)
REFRESH_TOKEN_EXPIRATION = timedelta(days=90).total_seconds()
GROUP_ID_ADMIN = "system-admin"
GROUP_ID_USER = "system-users"
+2 -2
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
+1 -1
View File
@@ -152,7 +152,7 @@ class NotifyAuthModule(MultiFactorAuthModule):
"""Return list of notify services."""
unordered_services = set()
for service in self.hass.services.async_services().get("notify", {}):
for service in self.hass.services.async_services_for_domain("notify"):
if service not in self._exclude:
unordered_services.add(service)
+39 -28
View File
@@ -3,10 +3,12 @@ from __future__ import annotations
from datetime import datetime, timedelta
import secrets
from typing import NamedTuple
from typing import TYPE_CHECKING, Any, NamedTuple
import uuid
import attr
from attr import Attribute
from attr.setters import validate
from homeassistant.const import __version__
from homeassistant.util import dt as dt_util
@@ -14,6 +16,12 @@ from homeassistant.util import dt as dt_util
from . import permissions as perm_mdl
from .const import GROUP_ID_ADMIN
if TYPE_CHECKING:
from functools import cached_property
else:
from homeassistant.backports.functools import cached_property
TOKEN_TYPE_NORMAL = "normal"
TOKEN_TYPE_SYSTEM = "system"
TOKEN_TYPE_LONG_LIVED_ACCESS_TOKEN = "long_lived_access_token"
@@ -29,19 +37,27 @@ class Group:
system_generated: bool = attr.ib(default=False)
@attr.s(slots=True)
def _handle_permissions_change(self: User, user_attr: Attribute, new: Any) -> Any:
"""Handle a change to a permissions."""
self.invalidate_cache()
return validate(self, user_attr, new)
@attr.s(slots=False)
class User:
"""A user."""
name: str | None = attr.ib()
perm_lookup: perm_mdl.PermissionLookup = attr.ib(eq=False, order=False)
id: str = attr.ib(factory=lambda: uuid.uuid4().hex)
is_owner: bool = attr.ib(default=False)
is_active: bool = attr.ib(default=False)
is_owner: bool = attr.ib(default=False, on_setattr=_handle_permissions_change)
is_active: bool = attr.ib(default=False, on_setattr=_handle_permissions_change)
system_generated: bool = attr.ib(default=False)
local_only: bool = attr.ib(default=False)
groups: list[Group] = attr.ib(factory=list, eq=False, order=False)
groups: list[Group] = attr.ib(
factory=list, eq=False, order=False, on_setattr=_handle_permissions_change
)
# List of credentials of a user.
credentials: list[Credentials] = attr.ib(factory=list, eq=False, order=False)
@@ -51,40 +67,31 @@ class User:
factory=dict, eq=False, order=False
)
_permissions: perm_mdl.PolicyPermissions | None = attr.ib(
init=False,
eq=False,
order=False,
default=None,
)
@property
@cached_property
def permissions(self) -> perm_mdl.AbstractPermissions:
"""Return permissions object for user."""
if self.is_owner:
return perm_mdl.OwnerPermissions
if self._permissions is not None:
return self._permissions
self._permissions = perm_mdl.PolicyPermissions(
return perm_mdl.PolicyPermissions(
perm_mdl.merge_policies([group.policy for group in self.groups]),
self.perm_lookup,
)
return self._permissions
@property
@cached_property
def is_admin(self) -> bool:
"""Return if user is part of the admin group."""
if self.is_owner:
return True
return self.is_owner or (
self.is_active and any(gr.id == GROUP_ID_ADMIN for gr in self.groups)
)
return self.is_active and any(gr.id == GROUP_ID_ADMIN for gr in self.groups)
def invalidate_permission_cache(self) -> None:
"""Invalidate permission cache."""
self._permissions = None
def invalidate_cache(self) -> None:
"""Invalidate permission and is_admin cache."""
for attr_to_invalidate in ("permissions", "is_admin"):
# try is must more efficient than suppress
try: # noqa: SIM105
delattr(self, attr_to_invalidate)
except AttributeError:
pass
@attr.s(slots=True)
@@ -110,6 +117,8 @@ class RefreshToken:
last_used_at: datetime | None = attr.ib(default=None)
last_used_ip: str | None = attr.ib(default=None)
expire_at: float | None = attr.ib(default=None)
credential: Credentials | None = attr.ib(default=None)
version: str | None = attr.ib(default=__version__)
@@ -134,3 +143,5 @@ class UserMeta(NamedTuple):
name: str | None
is_active: bool
group: str | None = None
local_only: bool | None = None
@@ -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,
+1 -3
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: … }
+1 -1
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]
+1 -1
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:
+12 -3
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):
@@ -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"
@@ -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(
+279
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.
+5
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.
+11 -1
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]
+117 -28
View File
@@ -16,7 +16,7 @@ from typing import TYPE_CHECKING, Any
import voluptuous as vol
import yarl
from . import config as conf_util, config_entries, core, loader
from . import config as conf_util, config_entries, core, loader, requirements
from .components import http
from .const import (
FORMAT_DATETIME,
@@ -27,6 +27,7 @@ from .const import (
from .exceptions import HomeAssistantError
from .helpers import (
area_registry,
config_validation as cv,
device_registry,
entity,
entity_registry,
@@ -38,9 +39,9 @@ from .helpers import (
from .helpers.dispatcher import async_dispatcher_send
from .helpers.typing import ConfigType
from .setup import (
DATA_SETUP,
DATA_SETUP_STARTED,
DATA_SETUP_TIME,
async_notify_setup_error,
async_set_domains_to_be_loaded,
async_setup_component,
)
@@ -104,6 +105,52 @@ STAGE_1_INTEGRATIONS = {
# Ensure supervisor is available
"hassio",
}
DEFAULT_INTEGRATIONS = {
# These integrations are set up unless recovery mode is activated.
#
# Integrations providing core functionality:
"application_credentials",
"frontend",
"hardware",
"logger",
"network",
"system_health",
#
# Key-feature:
"automation",
"person",
"scene",
"script",
"tag",
"zone",
#
# Built-in helpers:
"counter",
"input_boolean",
"input_button",
"input_datetime",
"input_number",
"input_select",
"input_text",
"schedule",
"timer",
}
DEFAULT_INTEGRATIONS_RECOVERY_MODE = {
# These integrations are set up if recovery mode is activated.
"frontend",
}
DEFAULT_INTEGRATIONS_SUPERVISOR = {
# These integrations are set up if using the Supervisor
"hassio",
}
DEFAULT_INTEGRATIONS_NON_SUPERVISOR = {
# These integrations are set up if not using the Supervisor
"backup",
}
CRITICAL_INTEGRATIONS = {
# Recovery mode is activated if these integrations fail to set up
"frontend",
}
async def async_setup_hass(
@@ -120,6 +167,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 +185,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 +204,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")
elif any(domain not in hass.config.components for domain in CRITICAL_INTEGRATIONS):
_LOGGER.warning(
"Detected that %s did not load. Activating recovery mode",
",".join(CRITICAL_INTEGRATIONS),
)
# 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 +235,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)
@@ -224,7 +274,7 @@ def open_hass_ui(hass: core.HomeAssistant) -> None:
)
async def load_registries(hass: core.HomeAssistant) -> None:
async def async_load_base_functionality(hass: core.HomeAssistant) -> None:
"""Load the registries and cache the result of platform.uname().processor."""
if DATA_REGISTRIES_LOADED in hass.data:
return
@@ -251,6 +301,7 @@ async def load_registries(hass: core.HomeAssistant) -> None:
hass.async_add_executor_job(_cache_uname_processor),
template.async_load_custom_templates(hass),
restore_state.async_load(hass),
hass.config_entries.async_initialize(),
)
@@ -265,8 +316,7 @@ async def async_from_config_dict(
start = monotonic()
hass.config_entries = config_entries.ConfigEntries(hass, config)
await hass.config_entries.async_initialize()
await load_registries(hass)
await async_load_base_functionality(hass)
# Set up core.
_LOGGER.debug("Setting up %s", CORE_INTEGRATIONS)
@@ -289,7 +339,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 +446,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",
@@ -468,15 +519,22 @@ async def async_mount_local_lib_path(config_dir: str) -> str:
def _get_domains(hass: core.HomeAssistant, config: dict[str, Any]) -> set[str]:
"""Get domains of components to set up."""
# Filter out the repeating and common config section [homeassistant]
domains = {key.partition(" ")[0] for key in config if key != core.DOMAIN}
domains = {
domain for key in config if (domain := cv.domain_key(key)) != core.DOMAIN
}
# Add config entry domains
if not hass.config.safe_mode:
# Add config entry and default domains
if not hass.config.recovery_mode:
domains.update(DEFAULT_INTEGRATIONS)
domains.update(hass.config_entries.async_domains())
else:
domains.update(DEFAULT_INTEGRATIONS_RECOVERY_MODE)
# Make sure the Hass.io component is loaded
# Add domains depending on if the Supervisor is used or not
if "SUPERVISOR" in os.environ:
domains.add("hassio")
domains.update(DEFAULT_INTEGRATIONS_SUPERVISOR)
else:
domains.update(DEFAULT_INTEGRATIONS_NON_SUPERVISOR)
return domains
@@ -519,11 +577,13 @@ async def async_setup_multi_components(
config: dict[str, Any],
) -> None:
"""Set up multiple domains. Log on failure."""
# Avoid creating tasks for domains that were setup in a previous stage
domains_not_yet_setup = domains - hass.config.components
futures = {
domain: hass.async_create_task(
async_setup_component(hass, domain, config), f"setup component {domain}"
)
for domain in domains
for domain in domains_not_yet_setup
}
results = await asyncio.gather(*futures.values(), return_exceptions=True)
for idx, domain in enumerate(futures):
@@ -547,6 +607,8 @@ async def _async_set_up_integrations(
domains_to_setup = _get_domains(hass, config)
needed_requirements: set[str] = set()
# Resolve all dependencies so we know all integrations
# that will have to be loaded and start rightaway
integration_cache: dict[str, loader.Integration] = {}
@@ -562,6 +624,25 @@ async def _async_set_up_integrations(
).values()
if isinstance(int_or_exc, loader.Integration)
]
manifest_deps: set[str] = set()
for itg in integrations_to_process:
manifest_deps.update(itg.dependencies)
manifest_deps.update(itg.after_dependencies)
needed_requirements.update(itg.requirements)
if manifest_deps:
# If there are dependencies, try to preload all
# the integrations manifest at once and add them
# to the list of requirements we need to install
# so we can try to check if they are already installed
# in a single call below which avoids each integration
# having to wait for the lock to do it individually
deps = await loader.async_get_integrations(hass, manifest_deps)
for dependant_itg in deps.values():
if isinstance(dependant_itg, loader.Integration):
needed_requirements.update(dependant_itg.requirements)
resolve_dependencies_tasks = [
itg.resolve_dependencies()
for itg in integrations_to_process
@@ -583,6 +664,14 @@ async def _async_set_up_integrations(
_LOGGER.info("Domains to be set up: %s", domains_to_setup)
# Optimistically check if requirements are already installed
# ahead of setting up the integrations so we can prime the cache
# We do not wait for this since its an optimization only
hass.async_create_background_task(
requirements.async_load_installed_versions(hass, needed_requirements),
"check installed requirements",
)
# Initialize recorder
if "recorder" in domains_to_setup:
recorder.async_initialize_recorder(hass)
+1 -1
View File
@@ -1,5 +1,5 @@
{
"domain": "eq3",
"name": "eQ-3",
"integrations": ["eq3btsmart", "maxcube"]
"integrations": ["maxcube"]
}
+5
View File
@@ -0,0 +1,5 @@
{
"domain": "flexit",
"name": "Flexit",
"integrations": ["flexit", "flexit_bacnet"]
}
+1
View File
@@ -11,6 +11,7 @@
"google_maps",
"google_pubsub",
"google_sheets",
"google_tasks",
"google_translate",
"google_travel_time",
"google_wifi",
+5
View File
@@ -0,0 +1,5 @@
{
"domain": "govee",
"name": "Govee",
"integrations": ["govee_ble", "govee_light_local"]
}
+5
View File
@@ -0,0 +1,5 @@
{
"domain": "rainforest_automation",
"name": "Rainforest Automation",
"integrations": ["rainforest_eagle", "rainforest_raven"]
}
+2 -1
View File
@@ -11,6 +11,7 @@ from __future__ import annotations
import logging
from homeassistant.core import HomeAssistant, split_entity_id
from homeassistant.helpers.group import expand_entity_ids
_LOGGER = logging.getLogger(__name__)
@@ -21,7 +22,7 @@ def is_on(hass: HomeAssistant, entity_id: str | None = None) -> bool:
If there is no entity id given we will check all.
"""
if entity_id:
entity_ids = hass.components.group.expand_entity_ids([entity_id])
entity_ids = expand_entity_ids(hass, [entity_id])
else:
entity_ids = hass.states.entity_ids()
+10 -10
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
@@ -62,24 +63,23 @@ AUTOMATION_SCHEMA = vol.Schema({ATTR_ENTITY_ID: cv.entity_ids})
PLATFORMS = [
Platform.ALARM_CONTROL_PANEL,
Platform.BINARY_SENSOR,
Platform.LOCK,
Platform.SWITCH,
Platform.COVER,
Platform.CAMERA,
Platform.COVER,
Platform.LIGHT,
Platform.LOCK,
Platform.SENSOR,
Platform.SWITCH,
]
@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:
@@ -17,8 +17,6 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback
from . import AbodeDevice, AbodeSystem
from .const import DOMAIN
ICON = "mdi:security"
async def async_setup_entry(
hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback
@@ -33,7 +31,6 @@ async def async_setup_entry(
class AbodeAlarm(AbodeDevice, alarm.AlarmControlPanelEntity):
"""An alarm_control_panel implementation for Abode."""
_attr_icon = ICON
_attr_name = None
_attr_code_arm_required = False
_attr_supported_features = (
@@ -0,0 +1,9 @@
{
"entity": {
"switch": {
"automation": {
"default": "mdi:robot"
}
}
}
}
+1 -1
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"]
}
+2 -2
View File
@@ -27,7 +27,7 @@ ABODE_TEMPERATURE_UNIT_HA_UNIT = {
}
@dataclass
@dataclass(frozen=True)
class AbodeSensorDescriptionMixin:
"""Mixin for Abode sensor."""
@@ -35,7 +35,7 @@ class AbodeSensorDescriptionMixin:
native_unit_of_measurement_fn: Callable[[AbodeSense], str]
@dataclass
@dataclass(frozen=True)
class AbodeSensorDescription(SensorEntityDescription, AbodeSensorDescriptionMixin):
"""Class describing Abode sensor entities."""
+1 -3
View File
@@ -17,8 +17,6 @@ from .const import DOMAIN
DEVICE_TYPES = [CONST.TYPE_SWITCH, CONST.TYPE_VALVE]
ICON = "mdi:robot"
async def async_setup_entry(
hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback
@@ -63,7 +61,7 @@ class AbodeSwitch(AbodeDevice, SwitchEntity):
class AbodeAutomationSwitch(AbodeAutomation, SwitchEntity):
"""A switch implementation for Abode automations."""
_attr_icon = ICON
_attr_translation_key = "automation"
async def async_added_to_hass(self) -> None:
"""Set up trigger automation service."""
@@ -8,5 +8,5 @@
"iot_class": "cloud_polling",
"loggers": ["accuweather"],
"quality_scale": "platinum",
"requirements": ["accuweather==1.0.0"]
"requirements": ["accuweather==2.1.1"]
}
@@ -45,14 +45,14 @@ from .const import (
PARALLEL_UPDATES = 1
@dataclass
@dataclass(frozen=True)
class AccuWeatherSensorDescriptionMixin:
"""Mixin for AccuWeather sensor."""
value_fn: Callable[[dict[str, Any]], str | int | float | None]
@dataclass
@dataclass(frozen=True)
class AccuWeatherSensorDescription(
SensorEntityDescription, AccuWeatherSensorDescriptionMixin
):
+2 -2
View File
@@ -66,12 +66,12 @@ class AcmedaBase(entity.Entity):
@property
def unique_id(self) -> str:
"""Return the unique ID of this roller."""
return self.roller.id
return self.roller.id # type: ignore[no-any-return]
@property
def device_id(self) -> str:
"""Return the ID of this roller."""
return self.roller.id
return self.roller.id # type: ignore[no-any-return]
@property
def device_info(self) -> dr.DeviceInfo:
+2 -2
View File
@@ -30,7 +30,7 @@ async def async_setup_entry(
current: set[int] = set()
@callback
def async_add_acmeda_covers():
def async_add_acmeda_covers() -> None:
async_add_acmeda_entities(
hass, AcmedaCover, config_entry, current, async_add_entities
)
@@ -95,7 +95,7 @@ class AcmedaCover(AcmedaBase, CoverEntity):
@property
def is_closed(self) -> bool:
"""Return if the cover is closed."""
return self.roller.closed_percent == 100
return self.roller.closed_percent == 100 # type: ignore[no-any-return]
async def async_close_cover(self, **kwargs: Any) -> None:
"""Close the roller."""
+6 -2
View File
@@ -1,6 +1,8 @@
"""Helper functions for Acmeda Pulse."""
from __future__ import annotations
from aiopulse import Roller
from homeassistant.config_entries import ConfigEntry
from homeassistant.core import HomeAssistant, callback
from homeassistant.helpers import device_registry as dr
@@ -16,7 +18,7 @@ def async_add_acmeda_entities(
config_entry: ConfigEntry,
current: set[int],
async_add_entities: AddEntitiesCallback,
):
) -> None:
"""Add any new entities."""
hub = hass.data[DOMAIN][config_entry.entry_id]
LOGGER.debug("Looking for new %s on: %s", entity_class.__name__, hub.host)
@@ -34,7 +36,9 @@ def async_add_acmeda_entities(
async_add_entities(new_items)
async def update_devices(hass: HomeAssistant, config_entry: ConfigEntry, api):
async def update_devices(
hass: HomeAssistant, config_entry: ConfigEntry, api: dict[int, Roller]
) -> None:
"""Tell hass that device info has been updated."""
dev_registry = dr.async_get(hass)
+16 -15
View File
@@ -2,9 +2,12 @@
from __future__ import annotations
import asyncio
from collections.abc import Callable
import aiopulse
from homeassistant.config_entries import ConfigEntry
from homeassistant.core import HomeAssistant
from homeassistant.helpers.dispatcher import async_dispatcher_send
from .const import ACMEDA_ENTITY_REMOVE, ACMEDA_HUB_UPDATE, LOGGER
@@ -14,31 +17,29 @@ from .helpers import update_devices
class PulseHub:
"""Manages a single Pulse Hub."""
def __init__(self, hass, config_entry):
api: aiopulse.Hub
def __init__(self, hass: HomeAssistant, config_entry: ConfigEntry) -> None:
"""Initialize the system."""
self.config_entry = config_entry
self.hass = hass
self.api: aiopulse.Hub | None = None
self.tasks = []
self.current_rollers = {}
self.cleanup_callbacks = []
self.tasks: list[asyncio.Task[None]] = []
self.current_rollers: dict[int, aiopulse.Roller] = {}
self.cleanup_callbacks: list[Callable[[], None]] = []
@property
def title(self):
def title(self) -> str:
"""Return the title of the hub shown in the integrations list."""
return f"{self.api.id} ({self.api.host})"
@property
def host(self):
def host(self) -> str:
"""Return the host of this hub."""
return self.config_entry.data["host"]
return self.config_entry.data["host"] # type: ignore[no-any-return]
async def async_setup(self, tries=0):
async def async_setup(self, tries: int = 0) -> bool:
"""Set up a hub based on host parameter."""
host = self.host
hub = aiopulse.Hub(host)
self.api = hub
self.api = hub = aiopulse.Hub(self.host)
hub.callback_subscribe(self.async_notify_update)
self.tasks.append(asyncio.create_task(hub.run()))
@@ -46,7 +47,7 @@ class PulseHub:
LOGGER.debug("Hub setup complete")
return True
async def async_reset(self):
async def async_reset(self) -> bool:
"""Reset this hub to default state."""
for cleanup_callback in self.cleanup_callbacks:
@@ -66,7 +67,7 @@ class PulseHub:
return True
async def async_notify_update(self, update_type):
async def async_notify_update(self, update_type: aiopulse.UpdateType) -> None:
"""Evaluate entities when hub reports that update has occurred."""
LOGGER.debug("Hub {update_type.name} updated")
@@ -6,5 +6,5 @@
"documentation": "https://www.home-assistant.io/integrations/acmeda",
"iot_class": "local_push",
"loggers": ["aiopulse"],
"requirements": ["aiopulse==0.4.3"]
"requirements": ["aiopulse==0.4.4"]
}
+2 -2
View File
@@ -25,7 +25,7 @@ async def async_setup_entry(
current: set[int] = set()
@callback
def async_add_acmeda_sensors():
def async_add_acmeda_sensors() -> None:
async_add_acmeda_entities(
hass, AcmedaBattery, config_entry, current, async_add_entities
)
@@ -48,4 +48,4 @@ class AcmedaBattery(AcmedaBase, SensorEntity):
@property
def native_value(self) -> float | int | None:
"""Return the state of the device."""
return self.roller.battery
return self.roller.battery # type: ignore[no-any-return]
+1 -1
View File
@@ -24,7 +24,7 @@ async def async_migrate_entry(hass: HomeAssistant, config_entry: ConfigEntry) ->
# convert title and unique_id to string
if config_entry.version == 1:
if isinstance(config_entry.unique_id, int):
hass.config_entries.async_update_entry(
hass.config_entries.async_update_entry( # type: ignore[unreachable]
config_entry,
unique_id=str(config_entry.unique_id),
title=str(config_entry.title),
+1 -1
View File
@@ -137,7 +137,7 @@ class LocalAdaxDevice(ClimateEntity):
_attr_target_temperature_step = PRECISION_WHOLE
_attr_temperature_unit = UnitOfTemperature.CELSIUS
def __init__(self, adax_data_handler, unique_id):
def __init__(self, adax_data_handler: AdaxLocal, unique_id: str) -> None:
"""Initialize the heater."""
self._adax_data_handler = adax_data_handler
self._attr_unique_id = unique_id
+6 -2
View File
@@ -36,7 +36,9 @@ class ConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
VERSION = 2
async def async_step_user(self, user_input=None):
async def async_step_user(
self, user_input: dict[str, Any] | None = None
) -> FlowResult:
"""Handle the initial step."""
data_schema = vol.Schema(
{
@@ -59,7 +61,9 @@ class ConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
return await self.async_step_local()
return await self.async_step_cloud()
async def async_step_local(self, user_input=None):
async def async_step_local(
self, user_input: dict[str, Any] | None = None
) -> FlowResult:
"""Handle the local step."""
data_schema = vol.Schema(
{vol.Required(WIFI_SSID): str, vol.Required(WIFI_PSWD): str}
+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.4.0", "Adax-local==0.1.5"]
}
@@ -0,0 +1,75 @@
{
"entity": {
"sensor": {
"dns_queries": {
"default": "mdi:magnify"
},
"dns_queries_blocked": {
"default": "mdi:magnify-close"
},
"dns_queries_blocked_ratio": {
"default": "mdi:magnify-close"
},
"parental_control_blocked": {
"default": "mdi:human-male-girl"
},
"safe_browsing_blocked": {
"default": "mdi:shield-half-full"
},
"safe_searches_enforced": {
"default": "mdi:shield-search"
},
"average_processing_speed": {
"default": "mdi:speedometer"
},
"rules_count": {
"default": "mdi:counter"
}
},
"switch": {
"protection": {
"default": "mdi:shield-check",
"state": {
"off": "mdi:shield-off"
}
},
"parental": {
"default": "mdi:shield-check",
"state": {
"off": "mdi:shield-off"
}
},
"safe_search": {
"default": "mdi:shield-check",
"state": {
"off": "mdi:shield-off"
}
},
"safe_browsing": {
"default": "mdi:shield-check",
"state": {
"off": "mdi:shield-off"
}
},
"filtering": {
"default": "mdi:shield-check",
"state": {
"off": "mdi:shield-off"
}
},
"query_log": {
"default": "mdi:shield-check",
"state": {
"off": "mdi:shield-off"
}
}
}
},
"services": {
"add_url": "mdi:link-plus",
"remove_url": "mdi:link-off",
"enable_url": "mdi:link-variant",
"disable_url": "mdi:link-variant-off",
"refresh": "mdi:refresh"
}
}
@@ -7,5 +7,5 @@
"integration_type": "service",
"iot_class": "local_polling",
"loggers": ["adguardhome"],
"requirements": ["adguardhome==0.6.1"]
"requirements": ["adguardhome==0.6.3"]
}
+3 -18
View File
@@ -22,74 +22,59 @@ SCAN_INTERVAL = timedelta(seconds=300)
PARALLEL_UPDATES = 4
@dataclass
class AdGuardHomeEntityDescriptionMixin:
"""Mixin for required keys."""
@dataclass(frozen=True, 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",
translation_key="dns_queries",
icon="mdi:magnify",
native_unit_of_measurement="queries",
value_fn=lambda adguard: adguard.stats.dns_queries(),
),
AdGuardHomeEntityDescription(
key="blocked_filtering",
translation_key="dns_queries_blocked",
icon="mdi:magnify-close",
native_unit_of_measurement="queries",
value_fn=lambda adguard: adguard.stats.blocked_filtering(),
),
AdGuardHomeEntityDescription(
key="blocked_percentage",
translation_key="dns_queries_blocked_ratio",
icon="mdi:magnify-close",
native_unit_of_measurement=PERCENTAGE,
value_fn=lambda adguard: adguard.stats.blocked_percentage(),
),
AdGuardHomeEntityDescription(
key="blocked_parental",
translation_key="parental_control_blocked",
icon="mdi:human-male-girl",
native_unit_of_measurement="requests",
value_fn=lambda adguard: adguard.stats.replaced_parental(),
),
AdGuardHomeEntityDescription(
key="blocked_safebrowsing",
translation_key="safe_browsing_blocked",
icon="mdi:shield-half-full",
native_unit_of_measurement="requests",
value_fn=lambda adguard: adguard.stats.replaced_safebrowsing(),
),
AdGuardHomeEntityDescription(
key="enforced_safesearch",
translation_key="safe_searches_enforced",
icon="mdi:shield-search",
native_unit_of_measurement="requests",
value_fn=lambda adguard: adguard.stats.replaced_safesearch(),
),
AdGuardHomeEntityDescription(
key="average_speed",
translation_key="average_processing_speed",
icon="mdi:speedometer",
native_unit_of_measurement=UnitOfTime.MILLISECONDS,
value_fn=lambda adguard: adguard.stats.avg_processing_time(),
),
AdGuardHomeEntityDescription(
key="rules_count",
translation_key="rules_count",
icon="mdi:counter",
native_unit_of_measurement="rules",
value_fn=lambda adguard: adguard.filtering.rules_count(allowlist=False),
entity_registry_enabled_default=False,
@@ -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": {
+3 -16
View File
@@ -21,27 +21,19 @@ SCAN_INTERVAL = timedelta(seconds=10)
PARALLEL_UPDATES = 1
@dataclass
class AdGuardHomeSwitchEntityDescriptionMixin:
"""Mixin for required keys."""
@dataclass(frozen=True, 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",
translation_key="protection",
icon="mdi:shield-check",
is_on_fn=lambda adguard: adguard.protection_enabled,
turn_on_fn=lambda adguard: adguard.enable_protection,
turn_off_fn=lambda adguard: adguard.disable_protection,
@@ -49,7 +41,6 @@ SWITCHES: tuple[AdGuardHomeSwitchEntityDescription, ...] = (
AdGuardHomeSwitchEntityDescription(
key="parental",
translation_key="parental",
icon="mdi:shield-check",
is_on_fn=lambda adguard: adguard.parental.enabled,
turn_on_fn=lambda adguard: adguard.parental.enable,
turn_off_fn=lambda adguard: adguard.parental.disable,
@@ -57,7 +48,6 @@ SWITCHES: tuple[AdGuardHomeSwitchEntityDescription, ...] = (
AdGuardHomeSwitchEntityDescription(
key="safesearch",
translation_key="safe_search",
icon="mdi:shield-check",
is_on_fn=lambda adguard: adguard.safesearch.enabled,
turn_on_fn=lambda adguard: adguard.safesearch.enable,
turn_off_fn=lambda adguard: adguard.safesearch.disable,
@@ -65,7 +55,6 @@ SWITCHES: tuple[AdGuardHomeSwitchEntityDescription, ...] = (
AdGuardHomeSwitchEntityDescription(
key="safebrowsing",
translation_key="safe_browsing",
icon="mdi:shield-check",
is_on_fn=lambda adguard: adguard.safebrowsing.enabled,
turn_on_fn=lambda adguard: adguard.safebrowsing.enable,
turn_off_fn=lambda adguard: adguard.safebrowsing.disable,
@@ -73,7 +62,6 @@ SWITCHES: tuple[AdGuardHomeSwitchEntityDescription, ...] = (
AdGuardHomeSwitchEntityDescription(
key="filtering",
translation_key="filtering",
icon="mdi:shield-check",
is_on_fn=lambda adguard: adguard.filtering.enabled,
turn_on_fn=lambda adguard: adguard.filtering.enable,
turn_off_fn=lambda adguard: adguard.filtering.disable,
@@ -81,7 +69,6 @@ SWITCHES: tuple[AdGuardHomeSwitchEntityDescription, ...] = (
AdGuardHomeSwitchEntityDescription(
key="querylog",
translation_key="query_log",
icon="mdi:shield-check",
is_on_fn=lambda adguard: adguard.querylog.enabled,
turn_on_fn=lambda adguard: adguard.querylog.enable,
turn_off_fn=lambda adguard: adguard.querylog.disable,
@@ -8,6 +8,7 @@ from homeassistant.config_entries import ConfigEntry
from homeassistant.const import CONF_IP_ADDRESS, CONF_PORT, Platform
from homeassistant.core import HomeAssistant
from homeassistant.helpers.aiohttp_client import async_get_clientsession
from homeassistant.helpers.debounce import Debouncer
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed
from .const import ADVANTAGE_AIR_RETRY, DOMAIN
@@ -18,14 +19,15 @@ PLATFORMS = [
Platform.BINARY_SENSOR,
Platform.CLIMATE,
Platform.COVER,
Platform.LIGHT,
Platform.SELECT,
Platform.SENSOR,
Platform.SWITCH,
Platform.UPDATE,
Platform.LIGHT,
]
_LOGGER = logging.getLogger(__name__)
REQUEST_REFRESH_DELAY = 0.5
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
@@ -51,6 +53,9 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
name="Advantage Air",
update_method=async_get,
update_interval=timedelta(seconds=ADVANTAGE_AIR_SYNC_INTERVAL),
request_refresh_debouncer=Debouncer(
hass, _LOGGER, cooldown=REQUEST_REFRESH_DELAY, immediate=False
),
)
await coordinator.async_config_entry_first_refresh()
@@ -21,6 +21,7 @@ from homeassistant.core import HomeAssistant
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from .const import (
ADVANTAGE_AIR_AUTOFAN_ENABLED,
ADVANTAGE_AIR_STATE_CLOSE,
ADVANTAGE_AIR_STATE_OFF,
ADVANTAGE_AIR_STATE_ON,
@@ -39,16 +40,6 @@ ADVANTAGE_AIR_HVAC_MODES = {
}
HASS_HVAC_MODES = {v: k for k, v in ADVANTAGE_AIR_HVAC_MODES.items()}
ADVANTAGE_AIR_FAN_MODES = {
"autoAA": FAN_AUTO,
"low": FAN_LOW,
"medium": FAN_MEDIUM,
"high": FAN_HIGH,
}
HASS_FAN_MODES = {v: k for k, v in ADVANTAGE_AIR_FAN_MODES.items()}
FAN_SPEEDS = {FAN_LOW: 30, FAN_MEDIUM: 60, FAN_HIGH: 100}
ADVANTAGE_AIR_AUTOFAN = "aaAutoFanModeEnabled"
ADVANTAGE_AIR_MYZONE = "MyZone"
ADVANTAGE_AIR_MYAUTO = "MyAuto"
ADVANTAGE_AIR_MYAUTO_ENABLED = "myAutoModeEnabled"
@@ -56,6 +47,7 @@ ADVANTAGE_AIR_MYTEMP = "MyTemp"
ADVANTAGE_AIR_MYTEMP_ENABLED = "climateControlModeEnabled"
ADVANTAGE_AIR_HEAT_TARGET = "myAutoHeatTargetTemp"
ADVANTAGE_AIR_COOL_TARGET = "myAutoCoolTargetTemp"
ADVANTAGE_AIR_MYFAN = "autoAA"
PARALLEL_UPDATES = 0
@@ -85,27 +77,25 @@ async def async_setup_entry(
class AdvantageAirAC(AdvantageAirAcEntity, ClimateEntity):
"""AdvantageAir AC unit."""
_attr_fan_modes = [FAN_LOW, FAN_MEDIUM, FAN_HIGH]
_attr_fan_modes = [FAN_LOW, FAN_MEDIUM, FAN_HIGH, FAN_AUTO]
_attr_temperature_unit = UnitOfTemperature.CELSIUS
_attr_target_temperature_step = PRECISION_WHOLE
_attr_max_temp = 32
_attr_min_temp = 16
_attr_name = None
_attr_hvac_modes = [
HVACMode.OFF,
HVACMode.COOL,
HVACMode.HEAT,
HVACMode.FAN_ONLY,
HVACMode.DRY,
]
_attr_supported_features = ClimateEntityFeature.FAN_MODE
def __init__(self, instance: AdvantageAirData, ac_key: str) -> None:
"""Initialize an AdvantageAir AC unit."""
super().__init__(instance, ac_key)
self._attr_supported_features = ClimateEntityFeature.FAN_MODE
self._attr_hvac_modes = [
HVACMode.OFF,
HVACMode.COOL,
HVACMode.HEAT,
HVACMode.FAN_ONLY,
HVACMode.DRY,
]
# Set supported features and HVAC modes based on current operating mode
if self._ac.get(ADVANTAGE_AIR_MYAUTO_ENABLED):
# MyAuto
@@ -118,16 +108,19 @@ class AdvantageAirAC(AdvantageAirAcEntity, ClimateEntity):
# MyZone
self._attr_supported_features |= ClimateEntityFeature.TARGET_TEMPERATURE
# Add "ezfan" mode if supported
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._ac["myZone"] > 0
self._myzone
and not self._ac.get(ADVANTAGE_AIR_MYAUTO_ENABLED)
and not self._ac.get(ADVANTAGE_AIR_MYTEMP_ENABLED)
):
@@ -144,7 +137,7 @@ class AdvantageAirAC(AdvantageAirAcEntity, ClimateEntity):
@property
def fan_mode(self) -> str | None:
"""Return the current fan modes."""
return ADVANTAGE_AIR_FAN_MODES.get(self._ac["fan"])
return FAN_AUTO if self._ac["fan"] == ADVANTAGE_AIR_MYFAN else self._ac["fan"]
@property
def target_temperature_high(self) -> float | None:
@@ -182,7 +175,11 @@ class AdvantageAirAC(AdvantageAirAcEntity, ClimateEntity):
async def async_set_fan_mode(self, fan_mode: str) -> None:
"""Set the Fan Mode."""
await self.async_update_ac({"fan": HASS_FAN_MODES.get(fan_mode)})
if fan_mode == FAN_AUTO and self._ac.get(ADVANTAGE_AIR_AUTOFAN_ENABLED):
mode = ADVANTAGE_AIR_MYFAN
else:
mode = fan_mode
await self.async_update_ac({"fan": mode})
async def async_set_temperature(self, **kwargs: Any) -> None:
"""Set the Temperature."""
@@ -5,3 +5,4 @@ ADVANTAGE_AIR_STATE_OPEN = "open"
ADVANTAGE_AIR_STATE_CLOSE = "close"
ADVANTAGE_AIR_STATE_ON = "on"
ADVANTAGE_AIR_STATE_OFF = "off"
ADVANTAGE_AIR_AUTOFAN_ENABLED = "aaAutoFanModeEnabled"
@@ -30,7 +30,7 @@ class AdvantageAirEntity(CoordinatorEntity):
async def update_handle(*values):
try:
if await func(*keys, *values):
await self.coordinator.async_refresh()
await self.coordinator.async_request_refresh()
except ApiError as err:
raise HomeAssistantError(err) from err
@@ -63,7 +63,7 @@ class AdvantageAirAcEntity(AdvantageAirEntity):
return self.coordinator.data["aircons"][self.ac_key]["info"]
@property
def _myzone(self) -> dict[str, Any]:
def _myzone(self) -> dict[str, Any] | None:
return self.coordinator.data["aircons"][self.ac_key]["zones"].get(
f"z{self._ac['myZone']:02}"
)

Some files were not shown because too many files have changed in this diff Show More