|
@ -165,9 +165,11 @@ void app::setup(uint32_t timeout) { |
|
|
mMqtt.setup(mqttAddr, mqttTopic, mqttUser, mqttPwd, mqttDevName, mqttPort); |
|
|
mMqtt.setup(mqttAddr, mqttTopic, mqttUser, mqttPwd, mqttDevName, mqttPort); |
|
|
mMqtt.mClient->setCallback(std::bind(&app::cbMqtt, this, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3)); |
|
|
mMqtt.mClient->setCallback(std::bind(&app::cbMqtt, this, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3)); |
|
|
mMqttTicker = 0; |
|
|
mMqttTicker = 0; |
|
|
|
|
|
|
|
|
|
|
|
#ifdef __MQTT_TEST__ |
|
|
// für mqtt test
|
|
|
// für mqtt test
|
|
|
mMqttTicker = mMqttInterval -10; |
|
|
mMqttTicker = mMqttInterval -10; |
|
|
|
|
|
#endif |
|
|
mSerialTicker = 0; |
|
|
mSerialTicker = 0; |
|
|
|
|
|
|
|
|
if(mqttAddr[0] > 0) { |
|
|
if(mqttAddr[0] > 0) { |
|
@ -365,12 +367,17 @@ void app::loop(void) { |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
snprintf(val, 10, "%ld", millis()/1000); |
|
|
snprintf(val, 10, "%ld", millis()/1000); |
|
|
// sendMqttDiscoveryConfig();
|
|
|
|
|
|
|
|
|
#ifndef __MQTT_NO_DISCOVERCONFIG__ |
|
|
|
|
|
// MQTTDiscoveryConfig nur wenn nicht abgeschaltet.
|
|
|
|
|
|
sendMqttDiscoveryConfig(); |
|
|
|
|
|
#endif |
|
|
mMqtt.sendMsg("uptime", val); |
|
|
mMqtt.sendMsg("uptime", val); |
|
|
|
|
|
|
|
|
|
|
|
#ifdef __MQTT_TEST__ |
|
|
// für einfacheren Test mit MQTT, den MQTT abschnitt in 10 Sekunden wieder ausführen
|
|
|
// für einfacheren Test mit MQTT, den MQTT abschnitt in 10 Sekunden wieder ausführen
|
|
|
mMqttTicker = mMqttInterval -10; |
|
|
mMqttTicker = mMqttInterval -10; |
|
|
|
|
|
#endif |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
if(mSerialValues) { |
|
|
if(mSerialValues) { |
|
@ -495,7 +502,9 @@ bool app::buildPayload(uint8_t id) { |
|
|
//-----------------------------------------------------------------------------
|
|
|
//-----------------------------------------------------------------------------
|
|
|
void app::processPayload(bool retransmit) { |
|
|
void app::processPayload(bool retransmit) { |
|
|
|
|
|
|
|
|
|
|
|
#ifdef __MQTT_AFTER_RX__ |
|
|
boolean doMQTT = false; |
|
|
boolean doMQTT = false; |
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
DPRINTLN(DBG_VERBOSE, F("app::processPayload")); |
|
|
DPRINTLN(DBG_VERBOSE, F("app::processPayload")); |
|
|
for(uint8_t id = 0; id < mSys->getNumInverters(); id++) { |
|
|
for(uint8_t id = 0; id < mSys->getNumInverters(); id++) { |
|
@ -553,7 +562,10 @@ void app::processPayload(bool retransmit) { |
|
|
yield(); |
|
|
yield(); |
|
|
} |
|
|
} |
|
|
iv->doCalculations(); |
|
|
iv->doCalculations(); |
|
|
|
|
|
|
|
|
|
|
|
#ifdef __MQTT_AFTER_RX__ |
|
|
doMQTT = true; |
|
|
doMQTT = true; |
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
@ -561,6 +573,7 @@ void app::processPayload(bool retransmit) { |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
#ifdef __MQTT_AFTER_RX__ |
|
|
// ist MQTT aktiviert und es wurden Daten vom einem oder mehreren WR aufbereitet ( doMQTT = true)
|
|
|
// ist MQTT aktiviert und es wurden Daten vom einem oder mehreren WR aufbereitet ( doMQTT = true)
|
|
|
// dann die den mMqttTicker auf mMqttIntervall -2 setzen, also
|
|
|
// dann die den mMqttTicker auf mMqttIntervall -2 setzen, also
|
|
|
// MQTT aussenden in 2 sek aktivieren
|
|
|
// MQTT aussenden in 2 sek aktivieren
|
|
@ -569,7 +582,7 @@ void app::processPayload(bool retransmit) { |
|
|
++mMqttTicker = mMqttInterval -2; |
|
|
++mMqttTicker = mMqttInterval -2; |
|
|
DPRINT(DBG_DEBUG, F("MQTTticker auf Intervall -2 sec ")) ; |
|
|
DPRINT(DBG_DEBUG, F("MQTTticker auf Intervall -2 sec ")) ; |
|
|
} |
|
|
} |
|
|
|
|
|
#endif |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|