18909 Commits

Author SHA1 Message Date
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
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
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
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
On Freund
3e07cf50ce
Don't fetch unchanged OurGroceries lists (#105998) 2023-12-20 10:35:42 +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
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
Franck Nijhof
63a535e9d9
Small cleanup in Tailwind (#106073) 2023-12-19 21:17:29 +01: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
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
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
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
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
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
6f392a3b43
Avoid mutating entity descriptions in sunweg tests (#106024) 2023-12-18 15:26:59 -10:00
Michael
29e30e796a
Add significant change helper check_valid_float (#106005) 2023-12-18 21:59:30 +01: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
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
Franck Nijhof
5f2a13fec6
Add DHCP discovery to Tailwind (#105981) 2023-12-18 15:52:48 +01:00
Erik Montnemery
2515e520c1
Allow step size any for number selector in slider mode (#105978) 2023-12-18 15:30:59 +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