diff --git a/main/ZgatewayIR.ino b/main/ZgatewayIR.ino index 887b06658d..682fbf9863 100644 --- a/main/ZgatewayIR.ino +++ b/main/ZgatewayIR.ino @@ -274,8 +274,12 @@ void MQTTtoIR(char* topicOri, JsonObject& IRdata) { } if (signalSent) { // we acknowledge the sending by publishing the value to an acknowledgement topic, for the moment even if it is a signal repetition we acknowledge also Log.notice(F("MQTTtoIR OK" CR)); - IRdata["origin"] = subjectGTWIRtoMQTT; - enqueueJsonObject(IRdata); + // copy IRdata to IRdataAck document + StaticJsonDocument<JSON_MSG_BUFFER> IRdataAckBuffer; + JsonObject IRdataAck = IRdataAckBuffer.to<JsonObject>(); + IRdataAck = IRdata; + IRdataAck["origin"] = subjectGTWIRtoMQTT; + enqueueJsonObject(IRdataAck); } irrecv.enableIRIn(); // ReStart the IR receiver (if not restarted it is not able to receive data) } else {