59 static std::vector<DiscoveredDevice>
60 scan(std::chrono::milliseconds timeout = std::chrono::milliseconds(2000));
Byte buffer / view aliases and protobuf base-128 varint codec.
Discovers ESPHome devices via multicast DNS.
Definition discovery.hpp:54
static std::vector< DiscoveredDevice > scan(std::chrono::milliseconds timeout=std::chrono::milliseconds(2000))
Blocking scan: multicasts a DNS-SD query and collects responses for timeout.
std::vector< DiscoveredDevice > parse_mdns_packets(const std::vector< ByteBuffer > &packets)
Parse raw mDNS response packets into devices.
An ESPHome device found on the local network.
Definition discovery.hpp:18
std::string mac
Definition discovery.hpp:29
bool supports_encryption
Definition discovery.hpp:42
std::string friendly_name
Definition discovery.hpp:31
std::string name
Service instance name (the device's friendly/host name).
Definition discovery.hpp:20
bool requires_encryption
True when the device advertises that Noise encryption is required (TXT api_encryption).
Definition discovery.hpp:41
std::uint16_t port
API TCP port (default 6053).
Definition discovery.hpp:26
std::string platform
Definition discovery.hpp:32
std::string connect_host() const
Best host to connect to: the resolved IP if known, else the hostname.
Definition discovery.hpp:48
std::string version
Definition discovery.hpp:30
std::string hostname
SRV target host, e.g. "living-room.local".
Definition discovery.hpp:22
std::string project_version
Definition discovery.hpp:36
std::map< std::string, std::string > properties
Every TXT record, as key → value.
Definition discovery.hpp:45
std::string address
Resolved IP address (from the A/AAAA record); empty if not provided.
Definition discovery.hpp:24
std::string board
Definition discovery.hpp:33
std::string network
Definition discovery.hpp:34
std::string project_name
Definition discovery.hpp:35