* Migrate tibber notify service
* Tests and repair flow
* Use notify repair flow helper
* Cleanup strings after using helper, use HomeAssistantError
* Add entry state assertions to unload test
* Update comment
* Update comment
* Increase MQTT broker socket buffer size
* Revert unrelated change
* Try to increase buffer size
* Set INITIAL_SUBSCRIBE_COOLDOWN back to 0.5 sec
* Sinplify and add test
* comments
* comments
---------
Co-authored-by: J. Nick Koston <nick@koston.org>
* Small speed up to setting up integration and config entries
When profiling tests, I noticed many calls to get_running_loop. In the places
where we are already in a coro, pass the existing loop so it does not have to
be looked up. I did not do this for places were we are not in a coro since there
is risk that an integration could be doing a non-thread-safe call and its better
that the code raises when trying to fetch the running loop vs the performance
improvement for these cases.
* fix merge
* missed some
Since every flow now has to check for single config entry, change
the check to see if a config entry exists first before calling
the _support_single_config_entry_only since _support_single_config_entry_only
has to load the integration which adds up quite a bit in test runs
* File integration entry setup
* Import to entry and tests
* Add config flow
* Exception handling and tests
* Add config flow tests
* Add issue for micration and deprecation
* Check whole entry data for uniqueness
* Revert changes change new notify entity
* Follow up on code review
* Keep name service option
* Also keep sensor name
* Make name unique
* Follow up comment
* No default timestamp needed
* Remove default name as it is already set
* Use links
* Add better testing to vacuum platform
* remove state strings
* some of the MR comments
* move MockVacuum
* remove manifest extra
* fix linting
* fix other linting
* Fix create entity calls
* Format
* remove create_entity
* change to match notify
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* fix nibe_heatpump climate for models without cooling support
* add test for set temperature with no cooling support
* fixup use self._coil_setpoint_cool None
* fixup add new test to explicitly test unsupported cooling
* Addition of add filter
This change adds an `add` filter, the addition equivalent of the existing `multiply` filter.
* Test for add filter
* Update test_template.py
* Update tests/helpers/test_template.py
---------
Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
* Add service waze_travel_time.get_travel_times
* Align strings with home-assistant.io
* Remove not needed service args
* Use SelectSelectorConfig.sort
* Move vehicle_type mangling to async_get_travel_times
* Initial monzo implementation
* Tests and fixes
* Extracted api to pypi package
* Add app confirmation step
* Corrected data path for accounts
* Removed useless check
* Improved tests
* Exclude partially tested files from coverage check
* Use has_entity_name naming
* Bumped monzopy to 1.0.10
* Remove commented out code
* Remove reauth from initial PR
* Remove useless code
* Correct comment
* Remove reauth tests
* Remove device triggers from intial PR
* Set attr outside constructor
* Remove f-strings where no longer needed in entity.py
* Rename field to make clearer it's a Callable
* Correct native_unit_of_measurement
* Remove pot transfer service from intial PR
* Remove reauth string
* Remove empty fields in manifest.json
* Freeze SensorEntityDescription and remove Mixin
Also use list comprehensions for producing sensor lists
* Use consts in application_credentials.py
* Revert "Remove useless code"
Apparently this wasn't useless
This reverts commit c6b7109e47202f866c766ea4c16ce3eb0588795b.
* Ruff and pylint style fixes
* Bumped monzopy to 1.1.0
Adds support for joint/business/etc account pots
* Update test snapshot
* Rename AsyncConfigEntryAuth
* Use dataclasses instead of dictionaries
* Move OAuth constants to application_credentials.py
* Remove remaining constants and dependencies for services from this PR
* Remove empty manifest entry
* Fix comment
* Set device entry_type to service
* ACC_SENSORS -> ACCOUNT_SENSORS
* Make value_fn of sensors return StateType
* Rename OAuthMonzoAPI again
* Fix tests
* Patch API instead of integration for unavailable test
* Move pot constant to sensor.py
* Improve type safety in async_get_monzo_api_data()
* Update async_oauth_create_entry() docstring
---------
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Add support for RR DNS
* 🧪 Update tests for DNS IP round-robin
* 🤖 Configure DNS IP round-robin automatically
* 🐛 Sort IPv6 addresses correctly
* Limit returned IPs and cleanup test class
* 🔟 Change max DNS results to 10
* Rename IPs to ip_addresses
* Bump ondilo to 0.5.0 and handle errors retrieving data
* Bump ondilo to 0.5.0 and handle errors retrieving data
* Updated ruff recommendation
* Refactor
* Refactor
* Added exception log and updated call to update data
* Updated test cases to test through state machine
* Updated test cases
* Updated test cases after comments
* REnamed file
---------
Co-authored-by: Joostlek <joostlek@outlook.com>
* Bump google-generativeai to v0.5.2
* Avoid exceptions when Gemini responses are blocked
* pytest --snapshot-update
* set error response
* add test
* ruff
* Switch out aiohttp-isal for aiohttp-fast-zlib to make isal optional
aiohttp-isal does not work on core installs where the system has 32bit userland and a 64bit kernel because we have no way to detect this configuration or handle it.
fixes#116681
* Update homeassistant/components/isal/manifest.json
* Update homeassistant/components/isal/manifest.json
* hassfest
* isal
* fixes
* Apply suggestions from code review
* make sure isal is updated before http
* fix tests
* late import
We only did discovery for the key at setup time. If it
changed, a reloaded of the integration was needed to
update the key. We now update it every time we update
the lock detail.
* Turn on thread safety checks in async_dispatcher_send
We keep seeing issues where async_dispatcher_send is called from
a thread which means we call the callback function on the other
side in the thread as well which usually leads to a crash
* Turn on thread safety checks in async_dispatcher_send
We keep seeing issues where async_dispatcher_send is called from
a thread which means we call the callback function on the other
side in the thread as well which usually leads to a crash
* adjust
* Refactor entity_platform polling to avoid double time fetch
Replace async_track_time_interval with loop.call_later
to avoid the useless time fetch every time the listener
fired since we always throw it away
* fix test
* Improve recorder and worker thread matching in RecorderPool
Previously we would look at the name of the threads. This
was a brittle if because other integrations may name their
thread Recorder or DbWorker. Instead we now use explict thread
ids which ensures there will never be a conflict
* fix
* fixes
* fixes
* Use parametrize in drop connect sensor tests
* Use parametrize in drop connect sensor tests
* Make common helper
* Assert the whole entity state
* fix
---------
Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
Co-authored-by: jbouwh <jan@jbsoft.nl>
* Move Totalconnect coordinator to separate module
* Move Totalconnect coordinator to separate module
* Move Totalconnect coordinator to separate module
* store runtime data inside the config entry
* remove unsued constants
* add test for InvalidDeviceAutomationConfig exception
* assert entry
* add more specific type hint
* Convert sensor recorder tests to use async API
* Fix accidentally renamed test
* Avoid unnecessary calls to async_wait_recording_done
* Avoid auto-commits for every state change
* Make sure recorder patches are set up before hass fixture
* Add title feature to notify entity platform
* Add overload variants
* Remove overloads, update signatures
* Improve test coverage
* Apply suggestions from code review
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Do not use const
* fix typo
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Convert history tests to use async API
* Add new fixture to help patch recorder
* Modify
* Modify
* Update tests/conftest.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Rename fixture
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* add 20 min timer Ecobee
* modify local value with estimated time
* add ecobee test switch
* removed manual setting of data
* Add no throttle updates
* add more test cases
* move timezone calculation in update function
* update attribute based on feedback
* use timezone for time comparaison
* add location data to tests
* remove is_on function
* update python-ecobee-api lib
* remove uncessary checks
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Refactor group state logic
* Fix
* Add helper and tests for groups with entity platforms multiple ON states
* Adress comments
* Do not store object and avoid linear search
* User dataclass, cleanup multiline ternary
* Add test cases for grouped groups
* Remove dead code
* typo in comment
* Update metjod and module docstr
* Add binary_sensor platform
* Add tests
* Remove state attributes
* Remove attrs from strings.json
* Use base entity class
---------
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>