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; _presenceCsv = nullptr;
} }
if(_device->signalStrength() != 127 && ts - _lastMaintenancePublish > 2000) if(_device->signalStrength() != 127 && ts - _lastRssiTs > 2000)
{ {
publishInt(_maintenancePathPrefix, mqtt_topic_wifi_rssi, _device->signalStrength()); int8_t rssi = _device->signalStrength();
_lastMaintenancePublish = ts;
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(); _device->mqttClient()->loop();

View File

@@ -73,5 +73,8 @@ private:
std::map<String, String> _initTopics; std::map<String, String> _initTopics;
unsigned long _lastConnectedTs = 0; 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) void NetworkLock::onMqttDataReceived(char *&topic, byte *&payload, unsigned int &length)
{ {
char value[50] = {0}; char value[50] = {0};

View File

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

View File

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