* 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
* 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
* 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
* Add device state for additional diagnostics
* Add state test and fix existing tests
* Utilize IntEnum and dict for state lookup
* Update aiounifi to v68
* 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>
* 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
* 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
* 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>
* 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
* 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>
* Replace apcaccess dependency with async version aioapcaccess
* Upgrade the dependency to the latest version (v0.4.2)
* Handle asyncio.IncompleteReadError
* 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>