make rssi publish interval configurable

This commit is contained in:
technyon
2023-01-22 19:42:12 +01:00
parent d754f6319f
commit 5512a517c6
9 changed files with 26 additions and 9 deletions

View File

@@ -80,13 +80,18 @@ void Network::setupDevice()
void Network::initialize()
{
_restartOnDisconnect = _preferences->getBool(preference_restart_on_disconnect);
_rssiPublishInterval = _preferences->getInt(preference_rssi_publish_interval);
if(_hostname == "")
{
_hostname = "nukihub";
_preferences->putString(preference_hostname, _hostname);
}
if(_rssiPublishInterval == 0)
{
_rssiPublishInterval = -1;
_preferences->putInt(preference_rssi_publish_interval, _rssiPublishInterval);
}
_device->initialize();
Log->print(F("Host name: "));
@@ -205,15 +210,15 @@ int Network::update()
_presenceCsv = nullptr;
}
if(_device->signalStrength() != 127 && ts - _lastRssiTs > 2000)
if(_device->signalStrength() != 127 && _rssiPublishInterval > 0 && ts - _lastRssiTs > _rssiPublishInterval)
{
_lastRssiTs = ts;
int8_t rssi = _device->signalStrength();
if(rssi != _lastRssi)
{
publishInt(_maintenancePathPrefix, mqtt_topic_wifi_rssi, _device->signalStrength());
_lastRssi = rssi;
_lastRssiTs = ts;
}
}