Commit graph

1070 commits

Author SHA1 Message Date
Patrick Frazer
fce1b6d248
Add DROP integration ()
* 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
ashionky
102c7f1959
Add Refoss integration ()
* 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
RJPoelstra
2c2e6171e2
Add integration for Vogel's MotionMount ()
* 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
Cyrill Raccaud
7e685f2bc7
Swiss public transport config flow ()
* 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
tronikos
aa51b5f6d4
Add virtual integrations for AEP utilities supported by opower () 2023-12-21 06:44:40 +01:00
Franck Nijhof
5f2a13fec6
Add DHCP discovery to Tailwind () 2023-12-18 15:52:48 +01:00
Daniel Gangl
72fe30439e
Rename zamg to GeoSphere Austria () 2023-12-18 15:47:44 +01:00
Franck Nijhof
90fef6b9c9
Add Tailwind zeroconf discovery () 2023-12-18 10:39:15 +01:00
Franck Nijhof
d50b79ba84
Add Tailwind integration ()
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-12-18 08:42:53 +01:00
Joost Lekkerkerker
a187a39f0b
Add config flow to Suez water ()
* 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
Brett Adams
64a5271a51
Add Tessie Integration ()
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-12-09 12:46:32 -10:00
Lucas Mindêllo de Andrade
f567bf6dfe
Sun WEG integration ()
* 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
Brandon Rothweiler
1c7bd3f729
Add A. O. Smith integration () 2023-12-08 17:17:42 +01:00
osohotwateriot
664d2410d5
Add OSO Energy integration ()
* 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
dewdrop
de758fd7b3
Add Seattle City Light virtual integration via Opower () 2023-12-07 10:39:54 +01:00
Michael Hansen
a9381d2590
Add Wyoming satellite ()
* 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
Eric Härtel
557e9337bc
Add CB3 descriptor to ZHA manifest () 2023-12-04 09:48:44 +01:00
Brett Adams
453f91a3ae
Add virtual integration Fujitsu anywAIR ()
Add anywair
2023-12-04 08:09:15 +01:00
Jan Rieger
244edb488b
Add Holiday integration ()
* 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
Franck Nijhof
4bc1e5075a
Revert "Add Komfovent ()" () 2023-11-30 18:45:04 +01:00
Jonas Fors Lellky
25ebbda3a9
Add Flexit bacnet integration ()
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
fwestenberg
d3b04a5a58
Add Devialet integration ()
* 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
Teemu R
28a3d36bc1
Remove eq3btsmart integration () 2023-11-28 09:11:32 +01:00
On Freund
6e5dfa0e9b
Add OurGroceries integration ()
* 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
Avi Miller
e821ff8b49
Bump aiolifx and aiolifx-themes to support new LIFX devices () 2023-11-25 14:42:53 +01:00
Isak Nyberg
e03ccb5ab6
Add Mypermobil integration ()
Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: Robert Resch <robert@resch.dev>
2023-11-24 10:40:59 +01:00
Mick Vleeshouwer
75f237b587
Add local API support to Overkiz integration (Somfy TaHoma Developer Mode) ()
* 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
IceBotYT
cbb5d7ea39
Add Linear Garage Door integration ()
* 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
Erwin Douna
eb5c7a3e76
Add Fastdotcom config flow ()
* 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
Joost Lekkerkerker
ec069fbebf
Change name of universal media player to sentence case () 2023-11-19 19:27:03 +01:00
Jan-Philipp Benecke
e5bc25523e
Add config flow for Ping () 2023-11-17 13:30:30 -06:00
Cody C
2ff9beb9c9
Fix typo in Netatmo homekit auto-discovery ()
* 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
Kevin Stillhammer
4465c74d23
Add broadlink climate () 2023-11-14 16:05:08 +01:00
Manuel Richarz
067ece97b8
Add support to fints for configuring unsupported account_types ()
* 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
Alex Tsernoh
f3cccf0a2b
Add Komfovent ()
* 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
Diogo Gomes
0d67557106
Add V2C Trydan EVSE integration ()
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-11-07 21:53:22 +01:00
Luke Lashley
c13744f4cf
Remove MyQ Integration ()
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-11-07 14:11:54 +01:00
Jan-Philipp Benecke
1517081a2d
Set device entry type for dwd_weather_warnings ()
* Set device entry type for dwd_weather_warnings

* Set integration type to service
2023-11-04 14:47:06 +01:00
Allen Porter
a95aa4e15f
Add config flow to CalDAV ()
* 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
Allen Porter
476e867fe8
Add a Local To-do component ()
Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-10-25 13:21:10 +02:00
Joost Lekkerkerker
0658c7b307
Add config flow to random ()
Co-authored-by: Robert Resch <robert@resch.dev>
2023-10-25 13:01:27 +02:00
Allen Porter
0cb0e3ceeb
Add Google tasks integration, with initial read-only To-do list ()
* 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
Raman Gupta
aa36229519
Remove eight_sleep integration () 2023-10-25 06:13:10 +02:00
Erik Montnemery
46322a0f59
Add improv_ble integration ()
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-10-24 14:19:19 +02:00
c0ffeeca7
4e63823970
Rename Twitter to X () 2023-10-20 12:02:43 +02:00
Stefan
1372126bc0
Remove Shiftr integration () 2023-10-18 21:21:55 +02:00
Joost Lekkerkerker
148087a1c9
Mark Withings as cloud push () 2023-10-15 18:04:03 +02:00
Guy Shefer
5730cb1e85
Add Tami4 Integration ()
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 ()
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-10-12 13:13:44 +02:00
Justin Rigling
1c70cbaebd
Add Opower virtual integration for Portland General Electric () 2023-10-11 10:41:35 +02:00