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) {
|
||||
if (!_client.connected())
|
||||
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);
|
||||
debug(PSTR("Sending message on topic: %s\n"), _fmtBuffer);
|
||||
return _client.publish(_fmtBuffer, message.getString(_convBuffer));
|
||||
char *mqttMsg = protocolFormatMQTT(message);
|
||||
debug(PSTR("Sending message on topic: %s\n"), mqttMsg);
|
||||
return _client.publish(mqttMsg, message.getString(_convBuffer));
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -100,6 +100,16 @@ char * protocolFormat(MyMessage &message) {
|
||||
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 i = 0;
|
||||
if (c <= '9')
|
||||
|
||||
Reference in New Issue
Block a user