You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Split ebus_core into ebus_mqtt, ebus_discovery and ebus_homie targets #3
Split the single ebus_core library into three CMake targets in this repo, mirroring the Python packages (ebus-mqtt-client, ebus-service-discovery, python-sdk):
Target
Contents
Depends on
ebus_mqtt
The transport interface (homie_transport.h, renamed to drop "homie") and Homie-agnostic client behavior: holding publishes while the link is down and the reconnect order (flush, re-subscribe, notify), now in ports/posix/ (publish_hold)
nothing
ebus_discovery
mDNS/DNS-SD record parsing and broker modes (broker_discovery, mdns_strings.h, today in the core) plus the contents of the _ebus._tcp and _device-info._tcp TXT records (today built in esp32-sdk's network.cpp), behind a small browse/advertise interface a port implements
ebus_core stays as an umbrella target that links all three, so existing consumers keep building. PlatformIO consumers keep a single library.
Why: an OEM can take only discovery, or only the Homie model over its own MQTT stack; and behavior every port needs (the disconnected-link rules, the advertised TXT records) is written once instead of per port.
Activity