Merge pull request #247 from biveraxe/ver4dev

Упрощаем работу с хуком получения MQTT
This commit is contained in:
2022-11-25 22:02:08 +03:00
committed by GitHub
3 changed files with 6 additions and 10 deletions

View File

@@ -51,7 +51,7 @@ class IoTItem {
// хуки для системных событий // хуки для системных событий
virtual void onRegEvent(IoTItem* item); virtual void onRegEvent(IoTItem* item);
virtual void onMqttRecive(char* topic, uint8_t* payload, size_t length); virtual void onMqttRecive(String& topic, String& msg);
//методы для графиков //методы для графиков
virtual void publishValue(); virtual void publishValue();

View File

@@ -117,11 +117,6 @@ void mqttSubscribe() {
} }
void mqttCallback(char* topic, uint8_t* payload, size_t length) { void mqttCallback(char* topic, uint8_t* payload, size_t length) {
// распространяем принятое сообщение через хуки
for (std::list<IoTItem*>::iterator it = IoTItems.begin(); it != IoTItems.end(); ++it) {
(*it)->onMqttRecive(topic, payload, length);
}
String topicStr = String(topic); String topicStr = String(topic);
// SerialPrint("i", "=>MQTT", topicStr); // SerialPrint("i", "=>MQTT", topicStr);
String payloadStr; String payloadStr;
@@ -130,9 +125,10 @@ void mqttCallback(char* topic, uint8_t* payload, size_t length) {
payloadStr += (char)payload[i]; payloadStr += (char)payload[i];
} }
// SerialPrint("i", "=>MQTT", payloadStr); // распространяем принятое сообщение через хуки
for (std::list<IoTItem*>::iterator it = IoTItems.begin(); it != IoTItems.end(); ++it) {
// SerialPrint("i", F("=>MQTT"), "Msg from iotmanager: " + topicStr); (*it)->onMqttRecive(topicStr, payloadStr);
}
if (payloadStr.startsWith("HELLO")) { if (payloadStr.startsWith("HELLO")) {
SerialPrint("i", F("MQTT"), F("Full update")); SerialPrint("i", F("MQTT"), F("Full update"));

View File

@@ -175,7 +175,7 @@ void IoTItem::checkIntFromNet() {
void IoTItem::onRegEvent(IoTItem* item) {} void IoTItem::onRegEvent(IoTItem* item) {}
void IoTItem::onMqttRecive(char* topic, uint8_t* payload, size_t length) {} void IoTItem::onMqttRecive(String& topic, String& msg) {}
void IoTItem::publishValue() {} void IoTItem::publishValue() {}