Files
2025-12-22 00:51:03 +08:00

27 lines
780 B
C++

#include "mqtt/mqtt_app.hh"
#include "jsoncpp/json/json.h"
#include "jsoncpp/json/value.h"
#include "jsoncpp/json/writer.h"
#include <cstdint>
using namespace af::mqtt::v1;
void MqttApp::app_publish_state(State state) {
std::string payload;
uint8_t mask = static_cast<uint8_t>(state);
encode_state_json(mask, payload);
mqtt_client_->publish(Topics::state(topic_contex_), payload, 1, false);
}
void MqttApp::encode_state_json(uint8_t mask, std::string& str_json) {
Json::Value root;
root["version"] = "v1";
root["state"] = mask;
root["left"] = 0;
Json::FastWriter write;
str_json = write.write(root);
}
void MqttApp::init_topic_feed_callback() {
mqtt_client_->subscribe(Topics::cmd_ack(topic_contex_, "feed"), 0, nullptr);
}