Improved mqttlog daemaon: persistent registered devices.

This commit is contained in:
Martin Preuss
2024-02-17 17:33:09 +01:00
parent ef22bd65ea
commit 4c44890d3c
18 changed files with 591 additions and 61 deletions

View File

@@ -48,6 +48,7 @@
#define I18S(msg) msg
#define AQHOME_MQTTLOG_PING_INTERVAL 120
#define AQHOME_MQTTLOG_SAVE_INTERVAL 60
#define FULL_DEBUG
@@ -143,9 +144,11 @@ void _serve(AQHOME_MQTT *aqh)
int timeout;
time_t startTime;
time_t lastPingSendTime;
time_t lastSaveTime;
GWEN_DB_NODE *dbArgs;
startTime=time(NULL);
lastSaveTime=time(NULL);
dbArgs=AqHomeMqtt_GetDbArgs(aqh);
@@ -184,7 +187,28 @@ void _serve(AQHOME_MQTT *aqh)
lastPingSendTime=time(NULL);
}
}
if (1){
time_t now;
now=time(NULL);
if (now-lastSaveTime>AQHOME_MQTTLOG_SAVE_INTERVAL) {
DBG_ERROR(NULL, "Writing device files");
rv=AqHomeMqtt_SaveRuntimeDeviceFiles(aqh);
if (rv<0) {
DBG_INFO(NULL, "Error writing runtime data");
}
lastSaveTime=time(NULL);
}
}
} /* while */
rv=AqHomeMqtt_SaveRuntimeDeviceFiles(aqh);
if (rv<0) {
DBG_INFO(NULL, "Error writing runtime data");
}
}