55 void subscribe(
const std::string &topic,
void (T::*callback)(
const std::string &,
const std::string &),
59 void subscribe(
const std::string &topic,
void (T::*callback)(
const std::string &), uint8_t qos = 0);
61 template<
typename T>
void subscribe(
const std::string &topic,
void (T::*callback)(), uint8_t qos = 0);
96 void subscribe_json(
const std::string &topic,
void (T::*callback)(
const std::string &, JsonObject), uint8_t qos = 0);
98 template<
typename T>
void subscribe_json(
const std::string &topic,
void (T::*callback)(JsonObject), uint8_t qos = 0);
115 bool publish(
const std::string &topic,
const std::string &payload, uint8_t qos = 0,
bool retain =
false);
133 bool publish(
const std::string &topic,
float value, int8_t number_decimals = 3);
148 bool publish(
const std::string &topic,
int value);
192 void (T::*callback)(
const std::string &,
const std::string &), uint8_t qos) {
193 auto f = std::bind(callback, (T *)
this, std::placeholders::_1, std::placeholders::_2);
198 auto f = std::bind(callback, (T *)
this, std::placeholders::_2);
202 auto f = std::bind(callback, (T *)
this);
208 auto f = std::bind(callback, (T *)
this, std::placeholders::_1, std::placeholders::_2);
213 auto f = std::bind(callback, (T *)
this, std::placeholders::_2);
bool is_connected()
Check whether the MQTT client is currently connected and messages can be published.
void subscribe(const std::string &topic, void(T::*callback)(const std::string &, const std::string &), uint8_t qos=0)
Subscribe to an MQTT topic with the given Quality of Service.
bool publish(const std::string &topic, const std::string &payload, uint8_t qos=0, bool retain=false)
Publish an MQTT message with the given payload and QoS and retain settings.
MQTTClientComponent * global_mqtt_client
bool publish_json(const std::string &topic, const json::json_build_t &f, uint8_t qos, bool retain)
Publish a JSON-encoded MQTT message with the given Quality of Service and retain settings.
std::function< void(JsonObject)> json_build_t
Callback function typedef for building JsonObjects.
This class is a helper class for custom components that communicate using MQTT.
Implementation of SPI Controller mode.
void subscribe_json(const std::string &topic, const mqtt_json_callback_t &callback, uint8_t qos=0)
Subscribe to a MQTT topic and automatically parse JSON payload.
void subscribe(const std::string &topic, mqtt_callback_t callback, uint8_t qos=0)
Subscribe to an MQTT topic and call callback when a message is received.
void subscribe_json(const std::string &topic, void(T::*callback)(const std::string &, JsonObject), uint8_t qos=0)
Subscribe to an MQTT topic and call the callback if the payload can be decoded as JSON with the given...