* Add the Model Context Protocol Server integration
* Remove unusued code in init
* Fix comment wording
* Use util.uild for unique ids
* Set config entry title to the LLM API name
* Extract an SSE parser and update comments
* Update comments and defend against already closed sessions
* Shorten description
* Update homeassistant/components/mcp_server/__init__.py
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
* Change integration type to service
---------
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
* Add NASweb integration
* Fix DeviceInfo import
* Remove commented out code
* Change class name for uniquness
* Drop CoordinatorEntity inheritance
* Rename class Output to more descriptive: RelaySwitch
* Update required webio-api version
* Implement on-the-fly addition/removal of entities
* Set coordinator name matching device name
* Set entities with too old status as unavailable
* Drop Optional in favor of modern typing
* Fix spelling of a variable
* Rename commons to more fitting name: helper
* Remove redundant code
* Let unload fail when there is no coordinator
* Fix bad docstring
* Rename cord to coordinator for clarity
* Remove default value for pop and let it raise exception
* Drop workaround and use get_url from helper.network
* Use webhook to send data from device
* Deinitialize coordinator when no longer needed
* Use Python formattable string
* Use dataclass to store integration data in hass.data
* Raise ConfigEntryNotReady when appropriate
* Refactor NASwebData class
* Move RelaySwitch to switch.py
* Fix ConfigFlow tests
* Create issues when entry fails to load
* Respond when correctly received status update
* Depend on webhook instead of http
* Create issue when status is not received during entry set up
* Make issue_id unique across integration entries
* Remove unnecessary initializations
* Inherit CoordinatorEntity to avoid code duplication
* Optimize property access via assignment in __init__
* Use preexisting mechanism to fill schema with user input
* Fix translation strings
* Handle unavailable or unreachable internal url
* Implement custom coordinator for push driven data updates
* Move module-specific constants to respective modules
* Fix requirements_all.txt
* Fix CODEOWNERS file
* Raise ConfigEntryError instead of issue creation
* Fix entity registry import
* Use HassKey as key in hass.data
* Use typed ConfigEntry
* Store runtime data in config entry
* Rewrite to be more Pythonic
* Move add/remove of switch entities to switch.py
* Skip unnecessary check
* Remove unnecessary type hints
* Remove unnecessary nonlocal
* Use a more descriptive docstring
* Add docstrings to NASwebCoordinator
* Fix formatting
* Use correct return type
* Fix tests to align with changed code
* Remove commented code
* Use serial number as config entry id
* Catch AbortFlow exception
* Update tests to check ConfigEntry Unique ID
* Remove unnecessary form abort
* Initial version
* Baseline release
* Refactor based on first PR feedback
* Refactoring based on second PR feedback
* Initial version
* Baseline release
* Refactor based on first PR feedback
* Refactoring based on second PR feedback
* Refactoring based on PR feedback
* Refactoring based on PR feedback
* Remove extra attribute soil type
Soil type isn't really a sensor, but more like a configuration entity.
Move soil type to a different PR to keep this PR simpler.
* Refactor SensoterraSensor to a named tuple
* Implement feedback on PR
* Remove .coveragerc
* Add async_set_unique_id to config flow
* Small fix based on feedback
* Add test form unique_id
* Fix
* Fix
---------
Co-authored-by: Joostlek <joostlek@outlook.com>
* Strict typing for squeezebox
* Improve unit tests
* Refactor tests to use websockets and services.async_call
* Apply suggestions from code review
* Fix merge conflict