move publish uptime to Network.cpp

This commit is contained in:
technyon
2022-09-10 10:30:33 +02:00
parent 6bfc7f686d
commit 5785e6c3ae
5 changed files with 20 additions and 18 deletions

View File

@@ -155,10 +155,23 @@ int Network::update()
_presenceCsv = nullptr;
}
if(_device->signalStrength() != 127 && ts - _lastMaintenancePublish > 2000)
if(_device->signalStrength() != 127 && ts - _lastRssiTs > 2000)
{
publishInt(_maintenancePathPrefix, mqtt_topic_wifi_rssi, _device->signalStrength());
_lastMaintenancePublish = ts;
int8_t rssi = _device->signalStrength();
if(rssi != _lastRssi)
{
publishInt(_maintenancePathPrefix, mqtt_topic_wifi_rssi, _device->signalStrength());
_lastRssi = rssi;
_lastRssiTs = ts;
}
}
if(_lastMaintenanceTs == 0 || (ts - _lastMaintenanceTs) > 30000)
{
publishULong(_maintenancePathPrefix, mqtt_topic_uptime, ts / 1000 / 60);
// publishUInt(_maintenancePathPrefix, mqtt_topic_freeheap, esp_get_free_heap_size());
_lastMaintenanceTs = ts;
}
_device->mqttClient()->loop();

View File

@@ -73,5 +73,8 @@ private:
std::map<String, String> _initTopics;
unsigned long _lastConnectedTs = 0;
unsigned long _lastMaintenancePublish = 0;
unsigned long _lastMaintenanceTs = 0;
unsigned long _lastRssiTs = 0;
int8_t _lastRssi = 127;
};

View File

@@ -69,18 +69,6 @@ void NetworkLock::initialize()
}
}
void NetworkLock::update()
{
unsigned long ts = millis();
if(_lastMaintenanceTs == 0 || (ts - _lastMaintenanceTs) > 30000)
{
_lastMaintenanceTs = ts;
publishULong(mqtt_topic_uptime, ts / 1000 / 60);
// publishUInt(mqtt_topic_freeheap, esp_get_free_heap_size());
}
}
void NetworkLock::onMqttDataReceived(char *&topic, byte *&payload, unsigned int &length)
{
char value[50] = {0};

View File

@@ -18,7 +18,6 @@ public:
virtual ~NetworkLock();
void initialize();
void update();
void publishKeyTurnerState(const NukiLock::KeyTurnerState& keyTurnerState, const NukiLock::KeyTurnerState& lastKeyTurnerState);
void publishBinaryState(NukiLock::LockState lockState);

View File

@@ -37,7 +37,6 @@ void networkTask(void *pvParameters)
// Network Device and MQTT is connected. Process all updates.
case 0:
case 1:
networkLock->update();
networkOpener->update();
network->update();
webCfgServer->update();