mirror of
https://github.com/home-assistant/core.git
synced 2026-08-29 18:25:07 -05:00
ff7292713c73100e4b21cceb0eefd8c19b3decff
Layer 2 of the shared-Modbus-connection design: a new integration whose only job is to own Modbus connection config entries (one per physical link) and publish a live, backend-neutral connection that consumer integrations borrow units from. - config flow: Network (TCP / RTU-over-TCP) or Serial (RTU, including network serial proxies). A duplicate link aborts before the connection is opened; otherwise the connection is opened to validate it - runtime_data holds the live ModbusConnection (built via the tmodbus-backed modbus_connection.tmodbus connect functions); the entry owns close() and reloads on connection loss - async_get_unit(hass, entry_id, unit_id): the only consumer touchpoint - returns a backend-neutral ModbusUnit, or raises ConnectionNotReady (a ConfigEntryNotReady, so consumers get setup-retry, and a ModbusError) - quality_scale.yaml at bronze with strict typing (unique-config-entry exempt: Modbus endpoints have no hardware unique ID; entity/action rules exempt: the integration has no entities) - tests: setup/unload, connect-failure retry, reload-on-loss, the config flow (network/serial happy paths, cannot_connect, cannot_open_serial_port, and a parametrized duplicate check) and the async_get_unit accessor Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016huRs96kGdQbNQopXseC4H
…
…
Home Assistant |Chat Status| ================================================================================= Open source home automation that puts local control and privacy first. Powered by a worldwide community of tinkerers and DIY enthusiasts. Perfect to run on a Raspberry Pi or a local server. Check out `home-assistant.io <https://home-assistant.io>`__ for `a demo <https://demo.home-assistant.io>`__, `installation instructions <https://home-assistant.io/getting-started/>`__, `tutorials <https://home-assistant.io/getting-started/automation/>`__ and `documentation <https://home-assistant.io/docs/>`__. |screenshot-states| Featured integrations --------------------- |screenshot-integrations| The system is built using a modular approach so support for other devices or actions can be implemented easily. See also the `section on architecture <https://developers.home-assistant.io/docs/architecture_index/>`__ and the `section on creating your own components <https://developers.home-assistant.io/docs/creating_component_index/>`__. If you run into issues while using Home Assistant or during development of a component, check the `Home Assistant help section <https://home-assistant.io/help/>`__ of our website for further help and information. |ohf-logo| .. |Chat Status| image:: https://img.shields.io/discord/330944238910963714.svg :target: https://www.home-assistant.io/join-chat/ .. |screenshot-states| image:: https://raw.githubusercontent.com/home-assistant/core/dev/.github/assets/screenshot-states.png :target: https://demo.home-assistant.io .. |screenshot-integrations| image:: https://raw.githubusercontent.com/home-assistant/core/dev/.github/assets/screenshot-integrations.png :target: https://home-assistant.io/integrations/ .. |ohf-logo| image:: https://www.openhomefoundation.org/badges/home-assistant.png :alt: Home Assistant - A project from the Open Home Foundation :target: https://www.openhomefoundation.org/
Languages
Python
100%