Add MQTT topic generation
Add MQTT topic generation to the protocol definition file.
This commit is contained in:
@@ -59,9 +59,9 @@ MyMessage _mqttMsg;
|
|||||||
bool gatewayTransportSend(MyMessage &message) {
|
bool gatewayTransportSend(MyMessage &message) {
|
||||||
if (!_client.connected())
|
if (!_client.connected())
|
||||||
return false;
|
return false;
|
||||||
snprintf_P(_fmtBuffer, MY_GATEWAY_MAX_SEND_LENGTH, PSTR(MY_MQTT_PUBLISH_TOPIC_PREFIX "/%d/%d/%d/%d/%d"), message.sender, message.sensor, mGetCommand(message), mGetAck(message), message.type);
|
char *mqttMsg = protocolFormatMQTT(message);
|
||||||
debug(PSTR("Sending message on topic: %s\n"), _fmtBuffer);
|
debug(PSTR("Sending message on topic: %s\n"), mqttMsg);
|
||||||
return _client.publish(_fmtBuffer, message.getString(_convBuffer));
|
return _client.publish(mqttMsg, message.getString(_convBuffer));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -100,6 +100,16 @@ char * protocolFormat(MyMessage &message) {
|
|||||||
return _fmtBuffer;
|
return _fmtBuffer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
char * protocolFormatMQTTTopic(const char* prefix, MyMessage &message) {
|
||||||
|
snprintf_P(_fmtBuffer, MY_GATEWAY_MAX_SEND_LENGTH, PSTR("%s/%d/%d/%d/%d/%d"), prefix, message.sender, message.sensor, mGetCommand(message), mGetAck(message), message.type);
|
||||||
|
return _fmtBuffer;
|
||||||
|
}
|
||||||
|
|
||||||
|
char * protocolFormatMQTTSubscribe(const char* prefix) {
|
||||||
|
snprintf_P(_fmtBuffer, MY_GATEWAY_MAX_SEND_LENGTH, PSTR("%s/+/+/+/+/+"), prefix);
|
||||||
|
return _fmtBuffer;
|
||||||
|
}
|
||||||
|
|
||||||
uint8_t protocolH2i(char c) {
|
uint8_t protocolH2i(char c) {
|
||||||
uint8_t i = 0;
|
uint8_t i = 0;
|
||||||
if (c <= '9')
|
if (c <= '9')
|
||||||
|
|||||||
Reference in New Issue
Block a user