8000
Skip to content

Tags: SukramJ/go-zendure2mqtt

Tags

v0.7.0

Toggle v0.7.0's commit message

v0.6.1

Toggle v0.6.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
chore(release): v0.6.1 — bump go-mqtt to v1.2.0 (#24)

Dependency update: github.com/SukramJ/go-mqtt v1.1.0 -> v1.2.0 (upstream
hardening release; no API changes). Version bumped in all four places plus
the add-on changelog.

v0.6.0

Toggle v0.6.0's commit message

v0.5.1

Toggle v0.5.1's commit message
v0.5.1 — publish object_id alongside default_entity_id so DEVICE_NAME…

… lands in the entity_id (HA #157241)

v0.5.0

Toggle v0.5.0's commit message

v0.4.0

Toggle v0.4.0's commit message
v0.4.0 — go-mqtt v1.1.0 circuit breaker

v0.3.0

Toggle v0.3.0's commit message

v0.2.1

Toggle v0.2.1's commit message

v0.1.4

Toggle v0.1.4's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
fix(mqtt): detect half-open connections via PINGRESP watchdog (0.1.4) (

…#15)

* fix(mqtt): detect half-open connection via PINGRESP watchdog

keepAliveLoop sent PINGREQ but never verified the matching PINGRESP, and
readLoop runs without a read deadline. On a half-open socket (broker or
network gone without a TCP FIN/RST) readLoop blocks in ReadFrame forever,
handleConnectionLost never fires, and the lifecycle never reconnects —
publishes then time out with "context deadline exceeded" on a dead socket
until a manual restart.

Track an outstanding PINGREQ with a pingOutstanding flag: keepAliveLoop
arms it after writing the PINGREQ, readLoop clears it on PINGRESP. If a
tick finds it still set, declare the connection lost so the lifecycle
re-dials. The watchdog window is an internal pingInterval field (default
KeepAlive/2) so tests can shrink it below the 30s KeepAlive floor.

Adds TestMQTTReconnectAfterPingTimeout with a DropPings mock broker.

* chore(release): 0.1.4

Bump version and changelog for the MQTT PINGRESP watchdog fix.
0