Expose active network transport (Wi-Fi / Ethernet / Thread) and network diagnostics through the native API #3812
Unanswered
lboue
asked this question in
Native API
Replies: 1 comment
|
Related PR: |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Describe the Native API enhancement
ESPHome currently exposes basic device information through the native API (
DeviceInfoResponse), but it does not expose how the device is connected to the network.I propose extending the native API to expose generic network information, such as:
This would allow Home Assistant and other API clients to display network information similarly to Matter devices, making it much easier to identify the active transport and troubleshoot connectivity issues.
Proposal
Extend the native API to expose generic network information.
Example:
Use cases
ESPHome currently exposes basic device information through the native API (
DeviceInfoResponse), such as:However, there is currently no way for clients (e.g. Home Assistant) to determine how the device is connected to the network.
This becomes increasingly important as ESPHome gains support for additional networking technologies, especially Thread.
Today, Home Assistant cannot distinguish whether an ESPHome device is connected via:
while the Matter integration already exposes this information in the device information panel.
Anything else?
Related context:
Home Assistant's Matter integration already exposes network information (network type, network name, IP addresses, etc.) in the device information panel, making it easy to identify how a device is connected.
ESPHome is expanding beyond Wi-Fi-only devices with support for Thread and other network transports. Exposing the active transport through the Native API would make the API transport-agnostic and future-proof.
This information is device metadata rather than a sensor value, making
DeviceInfoResponsea natural place to expose it.Implementation would require coordinated changes in:
api.proto)All reactions