Check that all RF modules as in idle mode before sending mqtt packages

This commit is contained in:
Thomas Basler 2023-03-08 23:08:28 +01:00
parent b7fb294368
commit de2b7ab2d2
5 changed files with 10 additions and 3 deletions

View File

@ -205,6 +205,11 @@ HoymilesRadio_CMT* HoymilesClass::getRadioCmt()
return _radioCmt.get(); return _radioCmt.get();
} }
bool HoymilesClass::isAllRadioIdle()
{
return _radioNrf.get()->isIdle() && _radioCmt.get()->isIdle();
}
uint32_t HoymilesClass::PollInterval() uint32_t HoymilesClass::PollInterval()
{ {
return _pollInterval; return _pollInterval;

View File

@ -36,6 +36,8 @@ public:
uint32_t PollInterval(); uint32_t PollInterval();
void setPollInterval(uint32_t interval); void setPollInterval(uint32_t interval);
bool isAllRadioIdle();
private: private:
std::vector<std::shared_ptr<InverterAbstract>> _inverters; std::vector<std::shared_ptr<InverterAbstract>> _inverters;
std::unique_ptr<HoymilesRadio_NRF> _radioNrf; std::unique_ptr<HoymilesRadio_NRF> _radioNrf;

View File

@ -16,7 +16,7 @@ void MqttHandleDtuClass::init()
void MqttHandleDtuClass::loop() void MqttHandleDtuClass::loop()
{ {
if (!MqttSettings.getConnected() || !Hoymiles.getRadioNrf()->isIdle()) { if (!MqttSettings.getConnected() || !Hoymiles.isAllRadioIdle()) {
return; return;
} }

View File

@ -41,7 +41,7 @@ void MqttHandleHassClass::publishConfig()
return; return;
} }
if (!MqttSettings.getConnected() && Hoymiles.getRadioNrf()->isIdle()) { if (!MqttSettings.getConnected() && Hoymiles.isAllRadioIdle()) {
return; return;
} }

View File

@ -36,7 +36,7 @@ void MqttHandleInverterClass::init()
void MqttHandleInverterClass::loop() void MqttHandleInverterClass::loop()
{ {
if (!MqttSettings.getConnected() || !Hoymiles.getRadioNrf()->isIdle()) { if (!MqttSettings.getConnected() || !Hoymiles.isAllRadioIdle()) {
return; return;
} }