Commit Graph
11 Commits
Author SHA1 Message Date
agessaman 32449e62cc fix(mqtt): remove errant clearLastWill method from PsychicMqttClient 2026-04-25 18:15:02 -07:00
agessaman 673361b63a fix(mqtt): restore 'origin' field position in packet message structure
Reintroduced the 'origin' field in the buildPacketMessage function to its original position within the JSON object. This adjustment ensures consistency in the message format and aligns with previous structural changes made to enhance clarity.
2026-04-25 17:14:05 -07:00
agessaman 70722a5873 fix(mqtt): restore legacy outbox behavior for QoS0 async publishes
Update the PsychicMqttClient to ensure that QoS0 messages are enqueued with durable outbox storage. This change addresses issues with false-failure semantics in certain connected paths, improving message flow reliability. Additionally, modify platformio.ini to include SSL certificate generation and adjust build flags for reduced verbosity and enhanced functionality.
2026-04-23 22:48:21 -07:00
agessaman bb67b04ef8 fix(mqtt): mark configuration as dirty on setter calls and optimize config application during connect and reconnect
Update the PsychicMqttClient to set a _config_dirty flag whenever a configuration setter is called. This ensures that the MQTT configuration is only applied when changes are made, optimizing the connect and reconnect processes. Added logging to indicate whether the configuration was updated or unchanged.
2026-04-23 21:50:44 -07:00
agessaman 7d0c5bce50 enhance(mqtt): improve QoS handling and retry logic in MQTTBridge
Refactor the MQTTBridge to implement enhanced QoS handling for publish operations. Introduce retry mechanisms for QoS0 packets, allowing for transient failures to be retried with a delay. Update publish methods to return success status, improving error handling and logging. Additionally, adjust the packet queue processing to accommodate new retry logic and ensure better message delivery control.
2026-04-23 21:06:49 -07:00
agessaman e9ff1ae055 Refactor PsychicMqttClient to improve memory management and callback handling. Replace dynamic memory allocations with fixed-size arrays for callbacks, enhancing performance and reducing fragmentation. Introduce inline storage for topics and optimize buffer allocation during connection setup. Update version to 0.2.2 to reflect changes. 2026-04-21 20:43:09 -07:00
agessaman 1b5884bd35 Add reconnect method to PsychicMqttClient for improved MQTT client management
This commit introduces a new `reconnect` method in the `PsychicMqttClient` class, allowing for re-establishing a connection to the MQTT broker without needing to disconnect first. The method checks if the client is initialized, updates the configuration if necessary, and attempts to reconnect, enhancing the overall connection management. Additionally, the MQTT slot management has been updated to support up to 6 configurable slots, improving flexibility in connection handling.
2026-03-25 21:39:51 -07:00
agessaman 498566e6c9 MQTT bridge: fix memory use, improve status reporting
- Main broker: only allocate _mqtt_client when custom broker configured
  (analyzer-only saves one PsychicMqttClient). Reconnect main broker after
  forced disconnect with 30s throttle; set last_attempt on disconnect so
  throttle applies and avoids reconnect storms on flaky WiFi.
- Analyzer clients: call disconnect() when WiFi transitions to disconnected
  so ESP-IDF frees MQTT buffers (it does not free on WiFi drop). Reduces
  fragmentation and Max drop after disconnect/reconnect cycles.
- get wifi.status: report WiFi uptime (Xd Xh Xm Xs) when WITH_MQTT_BRIDGE.
  Track connect time in bridge; backfill when already connected at first check.
- get mqtt.status: show msgs on/off, broker (connected/disconnected/n/a),
  analyzer US/EU (connected/disconnected/off), and queue count.

Note: PsychicMqttClient change (register event only on first client creation)
belongs in the library repo if committed separately.
2026-02-02 19:09:31 -08:00
Rastislav Vysoky 03458269ac moved nrf sdk headers to ./lib/ and added Repeater envs for t114 & t-echo 2025-03-07 00:16:22 +01:00
Scott Powell 86f11d08aa * LocalIdentity:: writeTo( array ) and readFrom (array ) 2025-01-16 01:59:11 +11:00
Scott Powell 6c7efdd0f6 Initial commit 2025-01-13 14:07:48 +11:00