Use Configured MQTT Topic
This commit is contained in:
@@ -12,7 +12,7 @@ int main(int argc, char** argv)
|
||||
try
|
||||
{
|
||||
Logging::OpenLog();
|
||||
Logging::SetLogMask(Logging::Severity::Debug);
|
||||
Logging::SetLogMask(Logging::Severity::Info);
|
||||
|
||||
INIReader iniReader("ToonBridge.ini");
|
||||
if (iniReader.ParseError() != 0)
|
||||
|
||||
+11
-5
@@ -9,7 +9,7 @@ namespace Toon {
|
||||
|
||||
Bridge::Bridge(int port, const ToonSettings& toonSettings, const MQTTSettings& mqttSettings) :
|
||||
m_mqttClient(mqttSettings.hostname, mqttSettings.port),
|
||||
m_messageHandler(m_mqttClient),
|
||||
m_messageHandler(m_mqttClient, mqttSettings.topic),
|
||||
m_port(port),
|
||||
m_toonSettings(toonSettings),
|
||||
m_mqttSettings(mqttSettings)
|
||||
@@ -19,9 +19,12 @@ Bridge::Bridge(int port, const ToonSettings& toonSettings, const MQTTSettings& m
|
||||
|
||||
Bridge::~Bridge()
|
||||
{
|
||||
std::stringstream ss;
|
||||
ss << m_mqttSettings.topic << "/BridgeState";
|
||||
|
||||
MQTT::MQTTMessage message;
|
||||
message.topic = m_mqttSettings.topic;
|
||||
message.payload = "ToonBridge Stop";
|
||||
message.topic = ss.str();
|
||||
message.payload = "Stop";
|
||||
m_mqttClient.Send(message);
|
||||
}
|
||||
|
||||
@@ -39,9 +42,12 @@ void Bridge::Start()
|
||||
m_pWebSocketSubscription.reset(new WebSocketSubscription(m_toonSettings));
|
||||
m_messageHandler.Connect(std::bind(&Bridge::TimeToLiveCallback, this, m_pWebSocketSubscription.get(), std::placeholders::_1));
|
||||
|
||||
std::stringstream ss;
|
||||
ss << m_mqttSettings.topic << "/BridgeState";
|
||||
|
||||
MQTT::MQTTMessage message;
|
||||
message.topic = m_mqttSettings.topic;
|
||||
message.payload = "ToonBridge Start";
|
||||
message.topic = ss.str();
|
||||
message.payload = ss.str();
|
||||
m_mqttClient.Send(message);
|
||||
}
|
||||
|
||||
|
||||
+23
-8
@@ -1,13 +1,13 @@
|
||||
#include "MessageHandler.h"
|
||||
#include <Logging.h>
|
||||
#include <sstream>
|
||||
|
||||
|
||||
namespace ToonBridge {
|
||||
namespace Toon {
|
||||
|
||||
MessageHandler::MessageHandler(MQTT::MQTT& mqtt) :
|
||||
m_mqtt(mqtt)
|
||||
MessageHandler::MessageHandler(MQTT::MQTT& mqtt, const std::string& mqttTopic) :
|
||||
m_mqtt(mqtt),
|
||||
m_mqttTopic(mqttTopic)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -46,8 +46,11 @@ void MessageHandler::Disconnect(size_t connection)
|
||||
|
||||
void MessageHandler::HandlePowerUsageMessage(const nlohmann::json& data)
|
||||
{
|
||||
std::stringstream ss;
|
||||
ss << m_mqttTopic << "/PowerUsage";
|
||||
|
||||
MQTT::MQTTMessage message;
|
||||
message.topic = "ToonBridge/PowerUsage";
|
||||
message.topic = ss.str();
|
||||
message.payload = data.dump();
|
||||
m_mqtt.Send(message);
|
||||
/*
|
||||
@@ -74,8 +77,11 @@ void MessageHandler::HandlePowerUsageMessage(const nlohmann::json& data)
|
||||
|
||||
void MessageHandler::HandleGasUsageMessage(const nlohmann::json& data)
|
||||
{
|
||||
std::stringstream ss;
|
||||
ss << m_mqttTopic << "/GasUsage";
|
||||
|
||||
MQTT::MQTTMessage message;
|
||||
message.topic = "ToonBridge/GasUsage";
|
||||
message.topic = ss.str();
|
||||
message.payload = data.dump();
|
||||
m_mqtt.Send(message);
|
||||
/*
|
||||
@@ -92,8 +98,11 @@ void MessageHandler::HandleGasUsageMessage(const nlohmann::json& data)
|
||||
|
||||
void MessageHandler::HandleWaterUsageMessage(const nlohmann::json& data)
|
||||
{
|
||||
std::stringstream ss;
|
||||
ss << m_mqttTopic << "/WaterUsage";
|
||||
|
||||
MQTT::MQTTMessage message;
|
||||
message.topic = "ToonBridge/WaterUsage";
|
||||
message.topic = ss.str();
|
||||
message.payload = data.dump();
|
||||
m_mqtt.Send(message);
|
||||
/*
|
||||
@@ -109,8 +118,11 @@ void MessageHandler::HandleWaterUsageMessage(const nlohmann::json& data)
|
||||
|
||||
void MessageHandler::HandleThermostatInfoMessage(const nlohmann::json& data)
|
||||
{
|
||||
std::stringstream ss;
|
||||
ss << m_mqttTopic << "/ThermostatInfo";
|
||||
|
||||
MQTT::MQTTMessage message;
|
||||
message.topic = "ToonBridge/ThermostatInfo";
|
||||
message.topic = ss.str();
|
||||
message.payload = data.dump();
|
||||
m_mqtt.Send(message);
|
||||
/*
|
||||
@@ -138,8 +150,11 @@ void MessageHandler::HandleThermostatInfoMessage(const nlohmann::json& data)
|
||||
|
||||
void MessageHandler::HandleThermostatStatesMessage(const nlohmann::json& data)
|
||||
{
|
||||
std::stringstream ss;
|
||||
ss << m_mqttTopic << "/ThermostatStates";
|
||||
|
||||
MQTT::MQTTMessage message;
|
||||
message.topic = "ToonBridge/ThermostatStates";
|
||||
message.topic = ss.str();
|
||||
message.payload = data.dump();
|
||||
m_mqtt.Send(message);
|
||||
/*
|
||||
|
||||
@@ -13,7 +13,7 @@ namespace Toon {
|
||||
class MessageHandler
|
||||
{
|
||||
public:
|
||||
MessageHandler(MQTT::MQTT& mqtt);
|
||||
MessageHandler(MQTT::MQTT& mqtt, const std::string& mqttTopic);
|
||||
~MessageHandler();
|
||||
|
||||
void HandleMessage(const std::string& message);
|
||||
@@ -37,6 +37,7 @@ private:
|
||||
|
||||
private:
|
||||
MQTT::MQTT& m_mqtt;
|
||||
std::string m_mqttTopic;
|
||||
TTLMessage m_signal;
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user