* Do not fetch disconnected Home Connect appliances
* Apply suggestions
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update docstring
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Hide bad ZBT-1 config entries on the hardware page
* Set up the bad config entry in the unit test
* Roll into a list comprehension
* Remove constant changes
* Fix condition in unit test
Replacing an ignored config entry with one from the user
flow should not generate a warning. We should only warn
if we are replacing a usable config entry.
Followup to adjust the warning added in #130567
cc @epenet
* Deprecate effect none instead of breaking it for Hue
* add guard for unknown effect value
* revert guard
* Fix
* Add test
* Add test
* Add test
---------
Co-authored-by: Joostlek <joostlek@outlook.com>
* now the price will return even if it is exactly 0
* now the price will return even if it is exactly 0
* now the price will return even if it is exactly 0
* clean code
* clean code
* update testing code coverage
* change zero testing to SE4
* remove row duplicate
* fix date comments
* improve testing
* simplify if-return-0
* remove unnecessary tests
* order testing rows
* restore test_sensor_no_next_price
* remove_average_price_test
* fix test name
* Move Z-Wave JS smoke, CO, CO2, Heat, Water problem entities to diagnostic
* Update link + states
* Specify problem class explicitly instead of catch-all
* Heat alarm test is not a problem
* Also split out smoke alarm
* Document mapping rule
* add tests
* format
* update test
* review comments
* remove idle state from doc as it is ignored
---------
Co-authored-by: Petar Petrov <MindFreeze@users.noreply.github.com>
* check for empty or missing values when processing state messages for MQTT light entities using 'template' schema
* normalise warning logs
* add tests (one is still failing and I can't work out why)
* fix test
* improve test coverage after PR review
* improve test coverage after PR review
* Reload the config entry when the ZBT-1 is unplugged
* Register the USB event handler globally to react better to re-plugs
* Fix existing unit tests
* Add an empty `CONFIG_SCHEMA`
* Add a unit test
* Fix unit tests
* Fix unit tests for Linux
* Address most review comments
* Address remaining review comments
* Remove unnecessary imports of http integration
* Check reason for test failures
* Revert "Check reason for test failures"
This reverts commit 5ccf356ab0.
* Update tests
* add cover unit tests
* Add unit test for SwitchBot cover
* fix: use mock_restore_cache to mock the last state
* modify unit tests
* modify scripts as suggest
* improve readability
* adjust patch target per review comments
* adjust patch target per review comments
---------
Co-authored-by: J. Nick Koston <nick@koston.org>
* Add authentication support for Model Context Protocol (mcp) integration
* Update homeassistant/components/mcp/application_credentials.py
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
* Handle MCP servers with ports
---------
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
* Set and check unique id in config
* Update homeassistant/components/nut/config_flow.py
Set unique ID and abort only if value is defined
Co-authored-by: J. Nick Koston <nick+github@koston.org>
* Add duplicate ID test case for multiple devices
* Add unique ID check to config flow step for UPS
* Update homeassistant/components/nut/__init__.py
Fix to only set config_entries unique ID if not None
Co-authored-by: J. Nick Koston <nick+github@koston.org>
* Remove duplicate config flow call
---------
Co-authored-by: J. Nick Koston <nick+github@koston.org>
Co-authored-by: J. Nick Koston <nick@koston.org>
* fix: two minor LLM changes to speed up prefill
- moved the current date/time to the end of the prompt
- started sorting all entities by last_changed
* addressed PR comments
* fixed tests
* reduced scope of try/catch in LLM prompt
* addressed more PR comments
* fixed Anthropic test
* addressed another PR comment
* fixed remainder of tests
* Don't turn on thermostat if temp is equal to target temp.
* Update strings to reflect logic change.
* Fix logic and add zero tolerance tests.
* Include tests for cool mode
* Removed unnecessary async_block_till_done calls
* Fix order of palettes, presets and playlists in WLED integration
* fix tests: update palette items order
---------
Co-authored-by: Franck Nijhof <git@frenck.dev>
* Move roborock unique id to be based on roborock userid instead of email
* Remove unnecessary data update
* Update tests
* Add tests coverage for removal of config entry
* Use config entry migration
* Remove unused fixtues
* Remove unnecessary logging
* Fix ESPHome update entities being loaded before device_info is available
Since we load platforms when restoring config, the update
platform could be loaded before the connection to the
device was finished which meant device_info could still
be empty. Wait until device_info is available to
load the update platform.
fixes#135906
* Apply suggestions from code review
* move comment
* Update entry_data.py
Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>
---------
Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>
* Fix old ESPHome entities not being removed when configuration changes
fixes#140756
* make sure all callbacks fire
* make sure all callbacks fire
* make sure all callbacks fire
* make sure all callbacks fire
* revert
* cover
* Dynamically add Home Connect event sensors to HA
* Add and remove listeners on paired and depaired events
* Apply suggestion
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update test
* Adjust English
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Increase websocket_api allowed peak time to 10s
fixes#141624
During integration reload or startup, we can end up sending a message for
each entity being created for integrations that create them from an external
source (ie MQTT) because the messages come in one at a time. This can overload
the loop and/or client for more than 5s. While we have done significant work
to optimize for this path, we are at the limit at what we can expect clients
to be able to process in the time window, so increase the time window.
* adjust test
* Add the Yellow and ZBT-1 to the device registry
* Unload platforms
* Fix unit tests
* Rename the Yellow update entity to `Radio firmware`
* Rename `EmberZNet` to `EmberZNet Zigbee`
* Prefix the `sw_version` with the firmware type and clean up
* Fix unit tests
* Remove unnecessary `always_update=False` from data update coordinator
* Fix misleading friendly names of `rainforest_raven` sensors
The three sensors
- power_demand
- total_energy_delivered
- total_energy_received
currently add "meter" in their friendly names.
This does not provide any useful information and is rather irritating instead – it sounds like these are the power demands or consumption of the meter itself. But they are the measured values.
This commit removes "meter" from the names making them simpler and more precise, too.
In addition the sentence-casing of "MAC addresses" is fixed.
* Update test_sensor.ambr
* Update test_sensor.ambr (2)
* Also remove "meter" from Signal strength
* Update test_sensor.ambr (3)
* Change `meter_price` to `energy_price` in strings.json
* Change `meter_price` to `energy_price` in test_sensor.ambr
* Change `meter_price` to `energy_price` in sensor.py
* Respect the min 2 constraint for the switch MultiPressMax attribute
* Update test_event.py
* Update generic_switch_multi.json
* Fix issue and update tests
* Add media_channel property to cambridge audio
* Return channel instead of artist when playing internet radio to mimick behaviour of CXN100 and StreamMagic app
* Add test for media_artist attribute
* Add test that media_artist is not set in certain cases
* Update homeassistant/components/cambridge_audio/media_player.py
Co-authored-by: Noah Husby <32528627+noahhusby@users.noreply.github.com>
---------
Co-authored-by: Noah Husby <32528627+noahhusby@users.noreply.github.com>
* Add possibility to get area by alias
* Add ability to get floor by alias
* Moved alias lookup to separate function, adjusted templates.
* Changed registry to return all areas/floors with given alias
* Use normalize_name from normalized_name_base_registry
* Move alarm clock entity from time platform to number platform
* Deprecate alarm clock time entity
* Don't update unique id
* Fix tests
* Fixable issues
* improvement
* Make the issues persistent
* Add language scores websocket command
* Don't store language scores in snapshot
* Add language/country args for preferred lang
* Bump intents to 2025.3.24 for dash lang code
* Add service for counting the omer
* Add description and strings. Expect string from user
* Fix constraints on nusach and language + Make independent of config_entry
* Provide config schema
* Fix services.yaml and strings.json to match updated service.py
* Use LanguageSelector and some constants
* Action description -> third-person singular
* Use built-in language selector in yaml
* Fix schema
* Show the hebrew date in the correct language in the response
* Revert "Show the hebrew date in the correct language in the response"
This reverts commit 59442d16c5.
Requires a bugfix in the original library
* Don't return the hebrew date as it doesn't return correctly
* Add sensor as entity platform on MQTT subentries
* Fix typo
* Improve device class data description
* Tweak
* Rework reconfig calculation
* Filter out last_reset_value_template if state class is not total
* Collapse expire after as advanced setting
* Update suggested_display_precision translation strings
* Make options and last_reset_template conditional, use sections for advanced settings
* Ensure options are removed properly
* Improve sensor options label, ensure UOM is set when device class has units
* Use helper to apply suggested values from component config
* Rename to `Add option`
* Fix schema builder not hiding empty sections and removing fields excluded from reconfig
* Do not hide advanced settings if values are available or are defaults
* Improve spelling and Learn more links
* Improve unit of measurement validation
* Fix UOM selector and translation strings
* Address comments from code review
* Remove stale comment
* Rename selector constant, split validator
* Simplify config validator
* Return tuple with config and errors for config validation
* Add circular mean statistics
* fixes
* Add has_circular_mean and fix tests
* Fix mypy
* Rename to MEASUREMENT_ANGLE
* Fix kitchen_sink tests
* Fix sensor tests
* for testing only
* Revert ws command change
* Apply suggestions
* test only
* add custom handling for postgres
* fix recursion limit
* Check if column is already available
* Set default false and not nullable for has_circular_mean
* Proper fix to be backwards compatible
* Fix value is None
* Align with schema
* Remove has_circular_mean from test schemas as it's not required anymore
* fix wrong column type
* Use correct variable to reduce stats
* Add guard that the uom is matching a valid one from the state class
* Add some tests
* Fix tests again
* Use mean_type in StatisticsMetato difference between different mean type algorithms
* Fix leftovers
* Fix kitchen_sink tests
* Fix postgres
* Add circular mean test
* Add mean_type_changed stats issue
* Align the attributes with unit_changed
* Fix mean_type_change stats issue
* Add missing sensor recorder tests
* Add test_statistic_during_period_circular_mean
* Add mean_weight
* Add test_statistic_during_period_hole_circular_mean
* Use seperate migration step to null has_mean
* Typo ARITHMETIC
* Implement requested changes
* Implement requested changes
* Split into #141444
* Add StatisticMeanType.NONE and forbid that mean_type can be None
* Fix mean_type
* Implement requested changes
* Small leftover of latest StatisticMeanType changes
* Add sensors for second radio
* Add test for zigbee2 sensor
* Update homeassistant/components/smlight/sensor.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* drop useless replace
* Fix test failure
* Fix code coverage in config flow
* Update homeassistant/components/smlight/sensor.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* fix conversion of iterator to list
* Remove assert on radios
* simplify handling of radios further
---------
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
* raise BackupAgentUnreachableError when NAS is unavailable
* also raise BackupAgentUnreachableError during upload when nas unavailable
* Revert "also raise BackupAgentUnreachableError during upload when nas unavailable"
This reverts commit 38877d8540.
* Revert "raise BackupAgentUnreachableError when NAS is unavailable"
This reverts commit 4d8cfae396.
* check last_update_success of coordinator_central to get backup agents
* consider last_update_success before notify backup listeners
* add test
* use walrus := :)
* Add climate platform
* Add unit tests for climate platform
* Use setup_integration fixture
* Apply new import order
* Undo import order
* Code review
* Throw an exception on invalid preset mode
* Let device response determine state
* Remove hvac mode OFF
* Remove hvac mode OFF
* Setup debouncer when being added to hass
* Fix typo
* Add Pterodactyl integration
* Remove translation for unavailable platform sensor, use constant for host
* Improve data descriptions
* Replace index based handling of data (list) with dict[str, PterodactylData]
* Replace CONF_HOST with CONF_URL
* Parse URL with YARL
* Set proper availability in binary sensor
* Remove storage of data within api.py
* Fix some review findings
* Use better unique ID for binary_sensor
* Fix more review findings
* Fix remaining review findings
* Add wrapper for server and util API, use underscore in unique ID
* Reuse result in config flow tests
* Patch async_setup_entry in config_flow tests
* Move patching of library APIs to the fixture mock_pterodactyl
* Add EventEntity for Auto Shut Off events in Watergate integration
* Split events into two: volume and duration
* Add icons to json. Extract some common translation keys. Simplify tests
* Apply suggestions from code review
* Fix
---------
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Add cover support to PG LAB Electronics integration
* check shutter none state in is_closing and is_opening
* adding a loop instead of test test single cover individually