Problem statement
With #173 we are surfacing our new connectivity options (Serial, IR and RF) as dedicated panels, alongside the existing ones such as Bluetooth, Zigbee, Z-Wave and Thread, grouped in the new Connectivity section of Settings.
Modbus is currently missing from this picture. It is one of the most widely used wired protocols in the Home Assistant ecosystem, connecting energy meters, solar inverters, heat pumps, HVAC systems and industrial equipment over Modbus TCP and Modbus serial (RTU). Users have no visible entry point in Settings to see which Modbus connections exist, whether they are reachable, and which devices (units) are communicating over them.
Since home-assistant/core#179658 a Modbus connection is shared between the integrations on one device, so no single config entry can tell the full story of a connection on its own. home-assistant/core#179937 exposes these shared connections, their reachability and their unit ownership over a websocket API, specifically to feed a Modbus panel. The panel itself does not exist yet.
As a follow-up to #173 we want to introduce a Modbus panel in the new Connectivity settings, consuming that API.
In alignment with our current approach we only show this new connectivity panel when Modbus is set up.
Community signals
Scope & Boundaries
In scope
- Show a Modbus panel in the new Connectivity settings once Modbus is set up
- Surface Modbus connections (serial and TCP) grouped by endpoint, with their reachability state and the units communicating over each connection
- Cross-navigation between the Modbus and Serial panels where a serial port is used by Modbus
Not in scope
- Managing connections from the panel (adding, editing or removing Modbus connections); the panel is view and navigate only in this iteration
- Changing existing logic for entries already shown in the Connectivity section
- Extending Modbus protocol capabilities
Foreseen solution
The Modbus panel appears in the Connectivity section of Settings and consists of:
- A summary status card at the top giving overall health at a glance (e.g. "Connections down: 4 units on 3 connections, 1 unreachable")
- A Connected section ("Home Assistant is talking to these devices") grouping units by their connection. Each connection shows its endpoint (a serial device path such as
/dev/ttyUSB1, or a TCP host and port such as 192.168.1.42:502) and its connection type. Under each connection the individual units are listed with their device name and unit id (e.g. Flexit Nordic S4 as Unit 1 and SolarEdge SE7K as Unit 2 sharing one serial port), each linking through to the device
- A Disconnected section ("These devices are set up but cannot be reached right now") listing configured connections that are currently unreachable, together with their units
- Cross-navigation between panels: serial-based Modbus connections offer a "View this port under Serial" entry, and the Serial panel in turn shows a "Used by Modbus" entry on ports carrying Modbus traffic
The panel is fed by the websocket API proposed in home-assistant/core#179937 (referenced here for context; the API design itself is handled in that PR).
Risks & open questions
- Align with UX on iconography and design
Appetite
Small - 1-2 weeks
Execution issues
No response
Decision log
Problem statement
With #173 we are surfacing our new connectivity options (Serial, IR and RF) as dedicated panels, alongside the existing ones such as Bluetooth, Zigbee, Z-Wave and Thread, grouped in the new Connectivity section of Settings.
Modbus is currently missing from this picture. It is one of the most widely used wired protocols in the Home Assistant ecosystem, connecting energy meters, solar inverters, heat pumps, HVAC systems and industrial equipment over Modbus TCP and Modbus serial (RTU). Users have no visible entry point in Settings to see which Modbus connections exist, whether they are reachable, and which devices (units) are communicating over them.
Since home-assistant/core#179658 a Modbus connection is shared between the integrations on one device, so no single config entry can tell the full story of a connection on its own. home-assistant/core#179937 exposes these shared connections, their reachability and their unit ownership over a websocket API, specifically to feed a Modbus panel. The panel itself does not exist yet.
As a follow-up to #173 we want to introduce a Modbus panel in the new Connectivity settings, consuming that API.
In alignment with our current approach we only show this new connectivity panel when Modbus is set up.
Community signals
Scope & Boundaries
In scope
Not in scope
Foreseen solution
The Modbus panel appears in the Connectivity section of Settings and consists of:
/dev/ttyUSB1, or a TCP host and port such as192.168.1.42:502) and its connection type. Under each connection the individual units are listed with their device name and unit id (e.g. Flexit Nordic S4 as Unit 1 and SolarEdge SE7K as Unit 2 sharing one serial port), each linking through to the deviceThe panel is fed by the websocket API proposed in home-assistant/core#179937 (referenced here for context; the API design itself is handled in that PR).
Risks & open questions
Appetite
Small - 1-2 weeks
Execution issues
No response
Decision log