Skip to content

Show a Modbus panel in the new Connectivity settings to provide an easy entry point #235

Description

@mkerstner

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
Image Image

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

Date Decision Outcome

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions