Feature: Dump hex data from meter to MQTT (#1071)

* Send raw data debug to MQTT

* Publish hexdump to /data

* Sensor for /data, but it doesnt work
This commit is contained in:
Gunnar Skjold
2025-12-01 14:02:07 +01:00
committed by GitHub
parent 9252a810df
commit 8438020dbd
15 changed files with 96 additions and 33 deletions

View File

@@ -472,8 +472,20 @@ uint8_t JsonMqttHandler::getFormat() {
return 0;
}
bool JsonMqttHandler::publishRaw(String data) {
return false;
bool JsonMqttHandler::publishRaw(uint8_t* raw, size_t length) {
if(strlen(mqttConfig.publishTopic) == 0 || !mqtt.connected())
return false;
if(length <= 0 || length > BufferSize) return false;
String str = toHex(raw, length);
snprintf_P(json, BufferSize, PSTR("{\"data\":\"%s\"}"), str.c_str());
char topic[192];
snprintf_P(topic, 192, PSTR("%s/data"), mqttConfig.publishTopic);
bool ret = mqtt.publish(topic, json);
loop();
return ret;
}
bool JsonMqttHandler::publishFirmware() {