esphome / esphome/feature-requests

Change mqtt library

Open
#811 13 comments 0 reactions 0 assignees View on GitHub
component: mqtt help wanted
Dominant language
No language data
Stars
450
Forks
29
PR merge metrics
No merged PRs in 30d

Description

**Describe the problem you have/What new integration you would like**

The current mqtt library used works fine when sending small data entries and texts, however:
- It can not send any data messages which are bigger then the underlaying buffer size of the network adapter (a little bigger than 1KB). No splitting, just dropped. (https://github.com/marvinroger/async-mqtt-client/issues/195)
- It does not properly handle binary messages received. The library calls the call back function multiple times with varying size. No data is lost, but one single 1024kB message can be split up into multiple parts. (Could depend on general load of the system, as it varies for me all the time)
- A lot of other bugs: https://github.com/marvinroger/async-mqtt-client/issues/196

It's thus hardly usable in case you want to stream data in/out of the i2s bus system.

Would be good to migrate to https://github.com/espressif/esp-mqtt and add binary data support to the esphome interface if possible.

**Please describe your use case for this integration and alternatives you've tried:**

**Additional context**

Contributor guide

No contributing guide indexed for this repository

Research direction

No files, tests, or entry points are named; start by locating the current MQTT integration and reviewing the linked async-mqtt-client reports. Compare those findings with the proposed esp-mqtt migration and binary-data support. Done would require a defined migration scope and verified handling of the described large and binary messages.

Written by the indexing model from the issue text.

Assessment

Domain
embedded-iot, networking
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.