UtilitechAS.amsreader-firmware/src/PassthroughMqttHandler.h
2023-12-25 07:41:01 +01:00

31 lines
897 B
C++

/**
* @copyright Utilitech AS 2023
* License: Fair Source
*
*/
#ifndef _PASSTHROUGHMQTTHANDLER_H
#define _PASSTHROUGHMQTTHANDLER_H
#include "AmsMqttHandler.h"
class PassthroughMqttHandler : public AmsMqttHandler {
public:
PassthroughMqttHandler(MqttConfig& mqttConfig, RemoteDebug* debugger, char* buf) : AmsMqttHandler(mqttConfig, debugger, buf) {
this->topic = String(mqttConfig.publishTopic);
};
bool publish(AmsData* data, AmsData* previousState, EnergyAccounting* ea, PriceService* ps);
bool publishTemperatures(AmsConfiguration*, HwTools*);
bool publishPrices(PriceService*);
bool publishSystem(HwTools* hw, PriceService* ps, EnergyAccounting* ea);
bool publishBytes(uint8_t* buf, uint16_t len);
bool publishString(char* str);
private:
String topic;
void onMessage(String &topic, String &payload);
uint8_t getFormat();
};
#endif