* Add sensor values for Power and Energy
* test
* test
* Sensor test
* Fix test
* fix test
* Fixing test coverage
* refactored
* WolfllinkSensorEntityDescriptions and updated tests
* fix test
* Add name_fn and test_sensor adoptions
* fix test coverage
* Revert "fix test coverage"
This reverts commit 2405751f5a.
* resolve requested changes and fix test
* Fix Snapshot
* clean up
* Fixed unknown state in snapshot test
* Aded Generate Content Service for OpenAI to match Google AI
* Fixed code for commit checks
* Addressed code review comments
* Address review comments
* Addressed @balloob review comments.
* Address futher review comments from @balloob
* Seperate entities to a new dock device
* update entity names
* Update homeassistant/components/roborock/coordinator.py
---------
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
* Initial implementation of hardware update model
* Fixes
* WIP: change the `homeassistant_sky_connect` integration type
* More fixes
* WIP
* Display firmware info in the device page
* Make progress more responsive
* WIP: Yellow
* Abstract the bootloader reset type
* Clean up comments
* Make the Yellow integration non-hardware
* Use the correct radio device for Yellow
* Avoid hardcoding strings
* Use `FIRMWARE_VERSION` within config flows
* Fix up unit tests
* Revert integration type changes
* Rewrite hardware ownership context manager name, for clarity
* Move manifest parsing logic into a new package
Pass the correct type to the firmware API library
* Create and delete entities instead of mutating the entity description
* Move entity replacement into a `async_setup_entry` callback
* Change update entity category from "diagnostic" to "config"
* Have the client library handle firmware fetching
* Switch from dispatcher to `async_on_state_change`
* Remove unnecessary type annotation on base update entity
* Simplify state recomputation
* Remove device registry code, since the devices will not be visible
* Further simplify state computation
* Give the device-less update entity a more descriptive name
* Limit state changes to integer increments when sending firmware update progress
* Re-raise `HomeAssistantError` if there is a problem during flashing
* Remove unnecessary state write during entity creation
* Rename `_maybe_recompute_state` to `_update_attributes`
* Bump the flasher to 0.0.30
* Add some tests
* Ensure the update entity has a sensible name
* Initial ZBT-1 unit tests
* Replace `_update_config_entry_after_install` with a more explicit `_firmware_info_callback` override
* Write the firmware version to the config entry as well
* Test the hardware update platform independently
* Add unit tests to the Yellow and ZBT-1 integrations
* Load firmware info from the config entry when creating the update entity
* Test entity state restoration
* Test the reloading of integrations marked as "owning"
* Test installation failure cases
* Test firmware type change callback failure case
* Address review comments
* Add initial MQTT subentry support for notify entities
* Fix componts assigment is reset on device config. Translation tweaks
* Rephrase
* Go to summary menu when components are set up already - add test
* Fix suggested device info on config flow
* Invert
* Simplify subentry config flow and omit menu
* Use constants instead of literals
* More constants
* Teak some translations
* Only show save when the the entry is dirty
* Do not trigger an entry reload twice
* Remove encoding, entity_category
* Remove icon from mqtt subentry flow
* Separate entity settings and MQTT specific settings
* Remove object_id and refactor
* Migrate translations
* Make subconfig flow test extensible
* Make sub reconfig flow tests extensible
* Rename entity_platform_config step to mqtt_platform_config
* Make component unique ID independent from the name
* Move code for update of component data to helper
* Follow up on code review
* Skip dirty stuff
* Fix rebase issues #1
* Do not allow reconfig for entity platform/name, default QoS and refactor tests
* Add entity platform and entity name label to basic entity config dialog
* Rename to exclude_from_reconfig and make reconfig option not optional
* Use correct unit symbol "min" for minutes in `webmin` integration
Replace the unit symbol "m" which stands for meter with the correct SI uni symbol "min".
* Update test_sensor.ambr
* Update test_sensor.ambr (2)
* Added the hvac action attribute for modbus climate entities.
* Fixed issue in hvac action unit test, was incorrectly referencing the hvac mode attribute.
* Fixed the modbus climate test for hvac action, it now correctly checks that hvac actions in the config match HVACActions.
* Made changes recommended by @crug80 to remove dead code and to add ability to use input or holding register for hvac action.
* Moved action test case in test_climate.py
* Updated comment for `test_service_climate_action_update`
* Fixed ruff formatting error.
* Addressed request to update labels from `state_*` to `action_*`
* Fix bug with all maps being set to the same when empty
* fix parens
* fix other parens
* rework some of the logic
* few small updates
* Remove test that is no longer relevant
* remove updated time bump
* Update hdate version
* Update code to reflect changes from hdate==1.0.0
* Fix some tests
* Fix parasha tests
* Fix holiday tests
* Cleanup holidays changes
* Zmanim objects should now access the local attribute
* Fix binary sensors
* Update test values on upcoming shabbat times
* Update hdate to 1.0.1
* Adapt to changes from 1.0.0 -> 1.0.1
* Change shabbat candle lighthing test scenario to 40 minutes as expected in Jerusalem
* Update to version 1.0.2
* Update keys based on updated nomenclature in library
* Update HolidayDatabase .get_all_names in test
* Make holiday type an ordered set
* Fix freeze_time
* Fix imports
* Fix tests and minor change
* Update hdate version 1.0.3, add migration method
* Fix migration code
* Add test for migration
* The change is not backwards compatible if config is not restored
* Don't allow creating backups if hass is not running
* Revert "Don't allow creating backups if hass is not running"
This reverts commit 1bf545eb25.
* Set backup manager to idle only after Home Assistant has started
* Update according to discussion, add tests
* Add more test
* - Added lock platform
- Added creation of IgloohomeLockEntity when bridge devices are included.
* - Migrated retrieval of linked_bridge utility to utils module.
- Added ability for lock to update it's own linked bridge automatically
* - Added mock bridge device to test fixture
* - Added snapshot test for lock module
* - Added bridge with no linked devices
- Added test for util.get_linked_bridge
* - Added handling of errors from API call
* - Bump igloohome-api to v0.1.0
* - Minor change
* - Removed async update for locks. Focus on MVP
* - Removed need for update on entity creation
* - Updated snapshot test
* - Updated snapshot
* - Updated to use walrus during lock entity creation
- Updated callback class for async_setup_entry based on lint suggestion
* - Set _attr_name as None
- Updated snapshot test
* Update homeassistant/components/igloohome/lock.py
* Update homeassistant/components/igloohome/lock.py
---------
Co-authored-by: Josef Zweck <josef@zweck.dev>
* extend tests to catch null schedules
* add fixture with null schedule
* remove null schedules for now
* fic the typing for _schedule attr (is list, not dict)
* add valid schedule to fixture
* update ssetpoints only if there is a schedule
* snapshot to match last change
* refactor: dont update switchpoints if no schedule
* add in warnings for null schedules
* add fixture for DHW without schedule
* Reset helpers.frame._REPORTED_INTEGRATIONS in between tests
* Rename
* Apply suggestions from code review
Co-authored-by: Erik Montnemery <erik@montnemery.com>
---------
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Reimplement PGLab sensor to use a coordinator
* fix spelling mistake on coordinator name
* rename createDiscoverDeviceInfo function in snake_case
* adding suffix pglab_ to PGLabBaseEntity/PGLabEntity constructor parameters
* Fix docs of PGLabEntity::async_added_to_hass
* make coordinator able to return the sensor native value
* renaming PGLABConfigEntry in PGLabConfigEntry to be consistent with the integration naming
* renamed entry function arguments to config_entry to be less confusing
* pass config_entry to constructor of base class of PGLabSensorsCoordinator
* set the return value type of get_sensor_value
* store coordinator as regular instance attribute
* Avoid to access directly entity from discovery module
* Rearrange get_sensor_value return types
* Make helpers.frame.report_usage work when called from any thread
* Address review comments, update tests
* Add test
* Update test
* Update recorder test
* Update tests
* Conditionally remove ambient sensors if not present
* Create ambient sensors list and use list comprehension
* Update homeassistant/components/nut/sensor.py
Co-authored-by: J. Nick Koston <nick@koston.org>
---------
Co-authored-by: J. Nick Koston <nick@koston.org>
* Get temperature data appropriate for hass.config.unit
* Modify temperature_unit for init
* Modify unit's map
* Fix ruff error
---------
Co-authored-by: yunseon.park <yunseon.park@lge.com>
* fix brigtness sensor having percent as unit.
* add test for percent-brightness-sensor
* remove valve position and update tests
* Removed test, because covered by Snapshots
* fix review comments
* move device calss to init.
* fix test
* fix review comments
* add battery sensor back to test fixture
* fix
* Fix ability to remove orphan device in Music Assistant integration
* Add test
* Remove orphaned device entries at startup as well
* adjust mocked client
* Abort SmartThings flow if default_config is not enabled
* Abort SmartThings flow if default_config is not enabled
* Abort SmartThings flow if default_config is not enabled
* Create unique identifiers where multiple gateways are in use
Resolving issue https://github.com/home-assistant/core/issues/134497
* Added migration function to __init__.py
Added migration function to execute upon initialisation, to:
a) remove the erroneously-added config)_entry added to the device (gateway B gets added as a config_entry to a device associated to gateway A), and
b) swap out the non-unique identifiers for genuinely unique identifiers.
* Added tests to simulate migration from bad data scenario (i.e. explicitly executing migrate_entity_unique_ids() from __init__.py)
* Ammendments suggested in first review
* Changes after second review
* Rewrite of test_migrate_config_entry_and_identifiers after feedback
* Converted migrate function into major version, updated tests
* Finalised variable naming convention per feedback, added test to validate config entry migrated to v2
* Hopefully final changes for cosmetic / comment stucture
* Further code-coverage in test_migrate_config_entry_and_identifiers()
* Minor test corrections
* Added test for non-tradfri identifiers
* add night mode toggle
* populate AC's action
* set hvac action on zones
* update tests
* show zones as off if AC is off
---------
Co-authored-by: Franck Nijhof <git@frenck.dev>
* fix for exception for specific ventilation device type + tests
* fix for exception for specific ventilation device type + tests
* New Testset just for fan
* update test_sensor.ambr
* Add fault sensor to balboa
* Use an event instead of sensor for faults
* Don't set fault initially in conftest
* Use event type per fault message code
* Set fault to None in conftest
ESPHome always uses .0 in the URL for the changelog,
and we never had a patch version in the stable
BLE version field so we need to switch it to
.0 for the URL.
* tweaks
* mysql
* mysql
* Update homeassistant/components/recorder/history/modern.py
* Update homeassistant/components/recorder/history/modern.py
* Update homeassistant/components/recorder/const.py
* Update homeassistant/components/recorder/statistics.py
* Apply suggestions from code review
* mysql
* mysql
* cover
* make sure db is fully init on old schema
* fixes
* fixes
* coverage
* coverage
* coverage
* s/slow_dependant_subquery/slow_dependent_subquery/g
* reword
* comment that callers are responsible for staying under the limit
* comment that callers are responsible for staying under the limit
* switch to kwargs
* reduce branching complexity
* split stats query
* preen
* split tests
* split tests
fix sync date for multiple devices
do not use handler for explicit update devices as internal communication lib do not provide which device is updated
use ha update loop
copy data object to prevent rewrite data from internal lib
allow more time to process response before log warning about long wait for response and make log message more clear
Previously, when the source sensor's state remains constant, the derivative
sensor repeats its latest value indefinitely.
This patch fixes this bug by consuming the state_reported event and updating
the sensor's output even when the source sensor doesn't change its state.
This reverts #116200
We changed the polling logic to avoid polling if all chars are marked as watchable
to avoid crashing the firmware on a very limited set of devices as it was
more in line with what iOS does. In the end, the user ended up replacing
the device in #116143 because it turned out to be unreliable in other
ways. The vendor has since issued a firmware update that may resolve
the problem with all of these devices.
In practice it turns out many more devices
report that chars are evented and never send events. After a few months
of data and reports the trade-off does not seem worth it since
users are having to set up manual polling on a wide range of
devices. The amount of devices with evented chars that do not
actually send state vastly exceeds the number of devices that
might crash if they are polled too often so restore the previous
behavior
fixes#138561fixes#100331fixes#124529fixes#123456fixes#130763fixes#124099fixes#124916fixes#135434fixes#125273fixes#124099fixes#119617
* fix(alert): check can_ack prior to acking
* fix(alert): add test for when can_acknowledge=False
* fix(alert): warn on can_ack blocking an ack
* Raise error when trying to acknowledge alert with can_acknowledge set to False
* Rewrite can_ack check as guard
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
* Make can_ack service error msg human readable because it will show up in the UI
* format with ruff
* Make pytest aware of service error when acking an unackable alert
---------
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
* Bump Music Assistant client to 1.1.0
* Add some casts to help mypy
* Add handling of the new media types in Music Assistant
* mypy cleanup
* lint
* update snapshot
* Adjust tests
---------
Co-authored-by: Franck Nijhof <git@frenck.dev>
* Handle errors when obtaining options definitions
* Don't fetch program options if the program key is unknown
* Test to ensure that available program endpoint is not called on unknown program
* Fix race in async_get_integrations with multiple calls when an integration is not found
* Fix race in async_get_integrations with multiple calls when an integration is not found
* Fix race in async_get_integrations with multiple calls when an integration is not found
* tweaks
* tweaks
* tweaks
* restore lost comment
* tweak test
* comment cache
* improve test
* improve comment
* Reduce requests made by webdav
* Update homeassistant/components/webdav/backup.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Add backup helper
* Add hassio to stage 1
* Apply same changes to newly merged `webdav` and `azure_storage` to fix inflight conflict
* Address comments, add tests
---------
Co-authored-by: J. Nick Koston <nick@koston.org>
* Remove CONF_NAME in config entry
* Revert config entry version from 4 back to 3
* Add data_description for address in strings.json
* Use config entry title as coordinator name
* Use constant as mock config entry title
* Fix proximity distance calculation
The distance is now calculated to the edge of the zone instead of the centre
* Adjust proximity test expectations to corrected distance calculation
* Add proximity tests for zone changes
* Improve comment on proximity distance calculation
Co-authored-by: Michael <35783820+mib1185@users.noreply.github.com>
* Apply suggestions from code review
---------
Co-authored-by: Michael <35783820+mib1185@users.noreply.github.com>
* Gemini: Allow arbitrary attachments
This lets me use Gemini to extract information from PDFs, HTML, or other files.
* Gemini: Only add deprecation warning when deprecated parameter has a value
* Gemini: Use Files.upload() for both images and other files
This simplifies the code.
Within the Google client, this takes a different codepath (it uploads images as a file instead of re-saving them into inline bytes). I think that's a feature (it's probably more efficient?).
* Gemini: Deduplicate filenames
* Fix minimum version to run event_id_post_migration
The table rebuild to fix the foreign key constraint was added
in https://github.com/home-assistant/core/pull/120779 but the
schema version was not bumped so we need to make sure
any database that was created with schema 43 or older
still has the migration run as otherwise they will not
be able to purge the database with SQLite since each
delete in the events table will due a full table scan
of the states table to look for a foreign key that is
not there
fixes#138818
* Apply suggestions from code review
* Update homeassistant/components/recorder/migration.py
* Update homeassistant/components/recorder/migration.py
* Update homeassistant/components/recorder/const.py
* Apply suggestions from code review
* Apply suggestions from code review
* Apply suggestions from code review
* Apply suggestions from code review
* update tests, add more cover
* update tests, add more cover
* Update tests/components/recorder/test_migration_run_time_migrations_remember.py
* Add program options as entities
* Use program options constraints
* Only fetch the available options on refresh
* Extract the option definitions getter from the loop
* Add the option entities only when it is required
* Fix typo
* Swapped the old GenAI client with the newly realeased one
* Fixed the Generate Content Action, Config Flow loading and code cleanup
* Add a function to mask the issues with Tools which start with Hass
* Fix most tests
* google-genai==1.1.0
* fixes
* Fixed the remaining tests
* Adressed comments
---------
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
Co-authored-by: tronikos <tronikos@users.noreply.github.com>
Every few days we get an issue report about a device a user ignored and forgot about, and than can no longer get set up. Sometimes its a govee device, sometimes its a switchbot device, but the pattern is consistent.
Allow ignored devices to be selected in the user step and replace the ignored entry.
Same as #137056 and #137052 but for thermobeacon
* Migrate `self._probed_firmware_type` to `self._probed_firmware_info`
* Migrate from `firmware_type` to the full `firmware_info`
* Implement `probe_silabs_firmware_type` via `probe_silabs_firmware_info`
* Fix unit tests
* Increase coverage
* Bring test coverage to 100%
* Simplify test per review comment
* Add entry_on_state_change_helper
* undo black
* remove unload
* no coro
* Add tests
* Don't accept coro
* Review feedback
* Add error test
* Make it callback type
* Make it callback type
* Removal test
* change type
* Addresses #135443: Set on connect.
* Make clean start implementation compatible with v2 API
* Add tests
* Do not pass default value for `clean_start` on_connect
* Revert "Do not pass default value for `clean_start` on_connect"
This reverts commit 75806736cf.
* Use partial top pass kwargs to mqtt client connect
---------
Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
Co-authored-by: jbouwh <jan@jbsoft.nl>
raise_on_progress=False was missing in the user flow which
made it impossible to configure a shelly by IP when there
was an active discovery because the flow would abort
* Add threshold level sensor description to Aranet component
* Use Color enum for status options
* Add threshold level sensor tests for Aranet components
* Rename `threshold_level` key to `status`
* Update test to expect 7 sensors instead of 6
* Map sensor status to more human-friendly strings
* Rename `threshold_level` key to `concentration_status`
* Update docstring for function
* Simplify `get_friendly_status()`
* Rename `concentration_status` to `concentration_level`
* Rename `concentration_status` to `concentration_level` in sensor tests
* Refactor concentration level handling and tests
* Normalize concentration level status values to lowercase
* Add error to translations
* Don't scale status string
* Apply suggestions from code review
Co-authored-by: Shay Levy <levyshay1@gmail.com>
* Rename `concentration_level` to `threshold_indication`
* Update threshold indication translations
* `threshold_indication` → `threshold`
* Capitalize sensor name
Co-Authored-By: Shay Levy <levyshay1@gmail.com>
---------
Co-authored-by: Shay Levy <levyshay1@gmail.com>
* Improve config entry state transitions when unloading and removing entries
* Update integrations which check for a single loaded entry
* Update tests checking state after unload fails
* Update homeassistant/config_entries.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Add issues for data cap to onedrive
* brackets
* Fix double space
Co-authored-by: Daniel O'Connor <daniel.oconnor@gmail.com>
---------
Co-authored-by: Daniel O'Connor <daniel.oconnor@gmail.com>
* Added recognized options to Home Connect actions
* Fix ruff
* Fix strings.json
* Fix dishwasher typo
* Improved test_bsh_key_transformations
* Add missing return types
* Added descriptions
* Remove custom options
* Fixes
* Merge the 4 services (select, start, set options for active or selected program)
And deprecate the original ones
* Delete stale snapshots
* Clean up logic after service validation
* Make deprecated actions issues fixable
And delete issue on entry unload
* Fixes and improvements
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Improvements
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Fix name and descriptions
* Add `affects_to` to strings and service.yaml
* Add missing periods at strings
* Fix
Co-authored-by: Norbert Rittel <norbert@rittel.de>
* Add tests to check if the flow removes the deprecated action issue
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Norbert Rittel <norbert@rittel.de>
* Simplify stage 1 in bootstrap
* Add timeouts to STAGE 0
* Fix test
* Clarify pre import language
* Remove timeout for frontend and recorder
* Address review
---------
Co-authored-by: J. Nick Koston <nick@koston.org>
* Implement `async_register_firmware_info_provider` for OTBR
* Keep track of the current device for OTBR
Keep track of the current device, part 2
* Fix unit tests
* Revert keeping track of the current device
* Fix existing unit tests
* Increase test coverage
* Remove unused code from tests
* Reload OTBR when the addon reloads
* Only reload if the current entry is running
* Runtime test
* Add a unit test for the reloading
* Clarify the purpose of `ConfigEntryState.SETUP_IN_PROGRESS`
* Simplify typing
* Fixes https://github.com/home-assistant/core/issues/116105
* Fixes unit test in accordance to documentation
Timer needs to be active before it can be canceled
* Allow canceling of paused timers
* Add test for canceling/finishing already canceled/finished timers
* Add test for finishing a paused timer, this should not be possible
* Revert finish related tests
* Merge branch 'timer.cancelled_fix' of
git@github.com:rrooggiieerr/homeassistant-core.git into
timer.cancelled_fix
---------
Co-authored-by: Franck Nijhof <git@frenck.dev>
* Allow specifying SIP username for outgoing calls
Allow configuring a SIP username to be sent in outgoing call requests to
identify the home assistant source endpoint.
* Remove advanced options section
* Add test for removing user
* Allow unsetting SIP user
Make previous SIP user value a suggested value rather than default to
allow unsetting by submitting an empty value in the form.
* Remove unnecessary checks
Remove user check from main flow and remove none or empty check.
* Reapply "Add support for subentries to config entries" (#133470) (#136061)
* Reapply "Add support for subentries to config entries" (#133470)
This reverts commit ecb3bf79f3.
* Update test snapshot
* Add config subentry support to device registry (#128157)
* Add config subentry support to device registry
* Apply suggestions from code review
* Update syrupy serializer
* Update snapshots
* Address review comments
* Allow a device to be connected to no or a single subentry of a config entry
* Update snapshots
* Revert "Allow a device to be connected to no or a single subentry of a config entry"
This reverts commit ec6f613151cb4a806b7961033c004b71b76510c2.
* Update test snapshots
* Bump release version in comments
* Rename config_subentries to config_entries_subentries
* Add config subentry support to entity registry (#128155)
* Add config subentry support to entity registry
* Update syrupy serializer
* Update snapshots
* Update snapshots
* Accept suggested changes
* Clean registries when removing subentry (#136671)
* Clean up registries when removing subentry
* Update tests
* Clean up subentries from deleted devices when removing config entry (#136669)
* Clean up subentries from deleted devices when removing config entry
* Move
* Add config subentry support to entity platform (#128161)
* Add config subentry support to entity platform
* Rename subentry_id to config_subentry_id
* Store subentry type in subentry (#136687)
* Add reconfigure support to config subentries (#133353)
* Add reconfigure support to config subentries
* Update test
* Minor adjustment
* Rename supported_subentry_flows to supported_subentry_types
* Address review comments
* Add subentry support to kitchen sink (#136755)
* Add subentry support to kitchen sink
* Add subentry reconfigure support to kitchen_sink
* Update kitchen_sink tests with subentry type stored in config entry
* Update kitchen_sink
* Update kitchen_sink
* Adjust kitchen sink tests
* Fix hassfest
* Apply suggestions from code review
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Improve docstrings and strings.json
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update snapshots
* Update snapshots
* Update snapshots
* Update snapshots
* Update snapshots
* Update snapshots
* Update snapshots
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Add PG LAB Electronics integration
* Add time from last boot sensor diagnostic
* Limit the initial new pglab integration to only one platform
* Update FlowHandler with the new return type ConfigFlowResult
* Fix docstring file with the right integration name to PG LAB.
* There is no need for default value in the callback definition.
* Move all mqtt callbacks to be global and also renamed with a better name.
* Removed unused member variables.
* Renaming functions with a better name.
* Adding miss docstring to __build_device.
* Renamed CreateDiscovery with a better name.
* Removing not so meaning comment.
* Avoid to populate hass.data with pglab discovery information. Use hass.data[DOMAIN] instead.
* Revert "Removed unused member variables."
This reverts commit 4193c491ec.
* Removed unused member variables.
* Refactoring of const. Be sure to have in const.py constant that are used in at least two other modules
* Restoring back the process to unregister the plaform when unload the integration.
* fix spelling mistake
* Revert "Move all mqtt callbacks to be global and also renamed with a better name."
This reverts commit d94d8010d5.
* Main refactoring to avoid to store PG Lab discovery in hass.data
* Change class name BaseEntity in PGLabEntity. And named PyPGLab... what imported from external python module pypglab.
* Avoid to use dict to create DeviceInfo
* Removing unused parameter
* Removing not necessary call to base class
* Update entity name/id to be compatible with the new integration policy.
* Upate test to new entity id
* Add new line after file description
* avoid to store in local variable data for calling function
* Move PGLABConfigEntry in __init__.py
* change function to pure callback
* to avoid hang, dont' trust the split of the discovery topic... introduce a max split count
* rename method with a more meaning name
* use assignment operator
* rename variable with a better name
* removing unecessary test
* Raise exception in case of unexpected error during discovery
* Review comments all other the intergration.
* Rename classes to be consistent in integration
* Using new feature single_config_entry to allow single instance integration
* rename class FlowHandler to PGLabFlowHandler
* using __package__ to initialize integration logger
* missing to catch the exception when for some reason is not possible to create the discovery instance. This can happen when the discovery MQTT message is not in valid json format.
* using ATTR_ENTITY_ID instead of the string
* using SOURCE_MQTT, SOURCE_USER instead of config_entries.SOURCE_MQTT, config_entries.SOURCE_USER
* Using FlowResultType.ABORT instead of the string value
* Code refactoring for tests of configuration from USER and MQTT
* Remove to the user the possibility to add PGLab integration manually, and remove not needed tests.
* Change test_device_update to use snapshot to check test result
* Raise exeception in case of unexpected device and entity_id
* Avoid to log on info channel.
* Renamed _LOGGER in LOGGER
* Propage the call to the base class
* Remove not needed code because from the manifest it's only allows a single instance
* Using specific type for result test instead of string value
* Code refactoring, avoid not necessary function
* update to the new way to import mqtt components
* Avoid runtime check
* add err variable for catching the exception
* add doc string to mqtt_publish
* add doc string to mqtt_subscribe
* Rename DiscoverDeviceInfo.add_entity_id in add_entity
* add doc string
* removing not meaning documentation string
* fix spelling
* fix wrong case in docstring
* fix spelling mistake in PyPGLab callback name
* rename mqtt message received callback
* Avoid to store hard coded discovery_prefix
* Removing unused strings from strings.json
* Give to the user more information during config_flow, and add the possibility to add manually the integration
* Fix to avoid fails of auto test
* update discovery test
* Be sure to always subscribe to MQTT topic when entity is added to HA
* Update codeowner of PGLAB integration and test
* Add control to check if mqtt is available during integration setup
* New test for check no state change for disable entity switch
* Remore not more used file
* update pypglab to version 0.0.3 and improve the symmetry to subscribe/unsubscribe to mqtt entity topic and to register/deregister the status update callback
* Update codeowner of pglab integration
* Adding quality_scale
* removing async_setup
* Fix spelling mistake
* Added test to cover config_flow.async_step_user
---------
Co-authored-by: Pierluigi <p.garaventa@gmail.com>
* Update anthropic to use the new chatlog API
* Remove conversation id logging
* Add back whitespace
* Reduce unnecessary diffs
* Revert diffs to conversation component
* Replace types with union type
* Update ollama to use the ChatLog/ChatSession APIs
* Add documentation about history trimming.
* Revert changes to chat_log.py
* Explicitly check for SystemContent when converting system messages
* Remove half of a comment
* Refresh the nest authentication token on integration start before invoking the pub/sub subscriber
* Apply suggestions from code review
---------
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
* Make Home Connect config entry unique
* Use unique ID for Home connect config entry
* Remove unnecessary code
* Revert "Use unique ID for Home connect config entry"
This reverts commit 4241317469.
* Added tests
* Support loading different config store fixtures
* Add config store test for binary sensor
* Update README.md
* remove unused fixture
* AddAdd config store test for switch