Check that all RF modules as in idle mode before sending mqtt packages
This commit is contained in:
parent
b7fb294368
commit
de2b7ab2d2
@ -205,6 +205,11 @@ HoymilesRadio_CMT* HoymilesClass::getRadioCmt()
|
||||
return _radioCmt.get();
|
||||
}
|
||||
|
||||
bool HoymilesClass::isAllRadioIdle()
|
||||
{
|
||||
return _radioNrf.get()->isIdle() && _radioCmt.get()->isIdle();
|
||||
}
|
||||
|
||||
uint32_t HoymilesClass::PollInterval()
|
||||
{
|
||||
return _pollInterval;
|
||||
|
||||
@ -36,6 +36,8 @@ public:
|
||||
uint32_t PollInterval();
|
||||
void setPollInterval(uint32_t interval);
|
||||
|
||||
bool isAllRadioIdle();
|
||||
|
||||
private:
|
||||
std::vector<std::shared_ptr<InverterAbstract>> _inverters;
|
||||
std::unique_ptr<HoymilesRadio_NRF> _radioNrf;
|
||||
|
||||
@ -16,7 +16,7 @@ void MqttHandleDtuClass::init()
|
||||
|
||||
void MqttHandleDtuClass::loop()
|
||||
{
|
||||
if (!MqttSettings.getConnected() || !Hoymiles.getRadioNrf()->isIdle()) {
|
||||
if (!MqttSettings.getConnected() || !Hoymiles.isAllRadioIdle()) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@ -41,7 +41,7 @@ void MqttHandleHassClass::publishConfig()
|
||||
return;
|
||||
}
|
||||
|
||||
if (!MqttSettings.getConnected() && Hoymiles.getRadioNrf()->isIdle()) {
|
||||
if (!MqttSettings.getConnected() && Hoymiles.isAllRadioIdle()) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@ -36,7 +36,7 @@ void MqttHandleInverterClass::init()
|
||||
|
||||
void MqttHandleInverterClass::loop()
|
||||
{
|
||||
if (!MqttSettings.getConnected() || !Hoymiles.getRadioNrf()->isIdle()) {
|
||||
if (!MqttSettings.getConnected() || !Hoymiles.isAllRadioIdle()) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user