Skip to content

deps: floor ebus-mqtt-client at 0.6.0 - #86

Merged
dcj merged 1 commit into
mainfrom
dcj/floor-ebus-mqtt-client-0.6.0
Oct 4, 2026
Merged

dcj merged 1 commit into
mainfrom
dcj/floor-ebus-mqtt-client-0.6.0

Conversation

@dcj

@dcj dcj commented Oct 4, 2026

Copy link
Copy Markdown
Contributor

Raises the ebus-mqtt-client floor to 0.6.0. That release holds every publish issued while the link is down and flushes it before the SDK's on-connect republish.

Why the floor matters here: a root built with mqtt_cfg= publishes during construction, before CONNACK. With 0.5.0, QoS 1 and 2 publishes from that window were left to paho. paho replayed them after the republish and past mosquitto's 20-message receive quota, and mosquitto discarded the excess QoS 2 messages. As a result, simple-device and simple-tree-device ended with the root's retained $state on init instead of ready (electrification-bus/ebus-mqtt-client#20). With 0.6.0 both end ready. Broker quota drops fall from 3, 48 and 201 (simple-device, simple-tree-device, utility-meter) to 0.

tests/conftest.py: the mocked paho now delivers CONNACK when the network loop starts, as real paho does. Without it, four tests see no publishes under 0.6.0. The suite passes with the fixture against both 0.5.0 and 0.6.0: 706 tests, with 0.6.0 installed from PyPI into a fresh venv.

Also fixed:

  • The CHANGELOG [Unreleased] compare link pointed at v0.20.1.
  • The mdns extra is also used by utility-meter --discover.

🤖 Generated with Claude Code

https://claude.ai/code/session_01T32pvgqCzp1qCz7K5gS9Wm

0.6.0 holds every publish issued while the link is down and flushes it
before the SDK's on-connect republish. 0.5.0 left QoS 1 and 2 publishes to
paho, which replayed them after that republish and past mosquitto's
20-message receive quota; mosquitto discarded the excess QoS 2 messages, so
simple-device and simple-tree-device ended with the root's retained $state
on init instead of ready (electrification-bus/ebus-mqtt-client#20).

tests/conftest.py: the mocked paho now delivers CONNACK when the network
loop starts, as real paho does. From 0.6.0 a publish reaches paho only
after on_connect has flushed the hold, so without it four tests saw no
publishes. The suite passes with the fixture against both 0.5.0 and 0.6.0.

Also: CHANGELOG [Unreleased] compare link pointed at v0.20.1; the mdns
extra is used by utility-meter --discover as well.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01T32pvgqCzp1qCz7K5gS9Wm
@dcj
dcj merged commit 3b1157b into main Oct 4, 2026
5 checks passed
@dcj
dcj deleted the dcj/floor-ebus-mqtt-client-0.6.0 branch October 4, 2026 05:57
dcj added a commit that referenced this pull request Oct 4, 2026
Bumps __version__ to 0.24.0, promotes Unreleased to [0.24.0], adds the
tag link definition.

  #86  Floor ebus-mqtt-client at 0.6.0, which holds every publish issued
       while the link is down and flushes it before the SDK's on-connect
       republish. With 0.5.0, simple-device and simple-tree-device ended
       with the root's retained $state on init instead of ready.
  #87  Device.as_dict() raised TypeError for any device with a node.

Minor rather than patch: the floor changes what a construction-time
publish does on the wire, the same reasoning that made ebus-mqtt-client
0.6.0 minor. Also in this release: examples documentation corrections (#89).


Claude-Session: https://claude.ai/code/session_01T32pvgqCzp1qCz7K5gS9Wm

Co-authored-by: Claude Opus 5.5 <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant