Добавляем хук для возможности реагирования на сообщения из Mqtt

из любого модуля.
This commit is contained in:
2022-11-25 13:45:50 +03:00
parent 5dce817580
commit ae389b770e
3 changed files with 9 additions and 1 deletions

View File

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

View File

@@ -117,6 +117,11 @@ void mqttSubscribe() {
}
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);
// SerialPrint("i", "=>MQTT", topicStr);
String payloadStr;
@@ -188,7 +193,7 @@ void mqttCallback(char* topic, uint8_t* payload, size_t length) {
// loadScenario();
// SerialPrint("i", F("=>MQTT"), F("Scenario received"));
// }
//}
//}
}
boolean publish(const String& topic, const String& data) {

View File

@@ -175,6 +175,8 @@ void IoTItem::checkIntFromNet() {
void IoTItem::onRegEvent(IoTItem* item) {}
void IoTItem::onMqttRecive(char* topic, uint8_t* payload, size_t length) {}
void IoTItem::publishValue() {}
void IoTItem::clearValue() {}