[SYS] Add timestamp for messages (#1677)

* add timestamp for RTL_433 messages

- add timestamp when puglishing
- add "GMT" as timezone for timestamp

* move timestamp publishing to main.ino
This commit is contained in:
Dave authored and GitHub committed 2023-06-15 15:17:41 -05:00
1 parent 03105651aa
commit b5bc0f5dfc
2 files changed
+12 -18

No files matched your search

-8
View File
@@ -692,14 +692,6 @@ void procBLETask(void* pvParameters) {
String mac_adress = advertisedDevice->getAddress().toString().c_str();
mac_adress.toUpperCase();
BLEdata["id"] = (char*)mac_adress.c_str();
# if defined(ESP8266) || defined(ESP32)
# if message_UTCtimestamp == true
BLEdata["UTCtime"] = UTCtimestamp();
# endif
# if message_unixtimestamp == true
BLEdata["unixtime"] = unixtimestamp();
# endif
# endif
BLEdata["mac_type"] = advertisedDevice->getAddress().getType();
BLEdata["adv_type"] = advertisedDevice->getAdvType();
Log.notice(F("Device detected: %s" CR), (char*)mac_adress.c_str());
+12 -10
View File
@@ -400,6 +400,16 @@ void pub(const char* topicori, const char* payload, bool retainFlag) {
*/
void pub(const char* topicori, JsonObject& data) {
String dataAsString = "";
#if defined(ESP8266) || defined(ESP32)
# if message_UTCtimestamp == true
data["UTCtime"] = UTCtimestamp();
# endif
# if message_unixtimestamp == true
data["unixtime"] = unixtimestamp();
# endif
#endif
serializeJson(data, dataAsString);
Log.notice(F("Send on %s msg %s" CR), topicori, dataAsString.c_str());
String topic = String(mqtt_topic) + String(gateway_name) + String(topicori);
@@ -1953,8 +1963,8 @@ int unixtimestamp() {
String UTCtimestamp() {
time_t now;
time(&now);
char buffer[sizeof "yyyy-MM-ddThh:mm:ssZ"];
strftime(buffer, sizeof buffer, "%FT%TZ", gmtime(&now));
char buffer[sizeof "yyyy-MM-ddThh:mm:ssZGMT"];
strftime(buffer, sizeof buffer, "%FT%TZGMT", gmtime(&now));
return buffer;
}
@@ -1984,14 +1994,6 @@ String stateMeasures() {
StaticJsonDocument<JSON_MSG_BUFFER> jsonBuffer;
JsonObject SYSdata = jsonBuffer.to<JsonObject>();
SYSdata["uptime"] = uptime();
# if defined(ESP8266) || defined(ESP32)
# if message_UTCtimestamp == true
SYSdata["UTCtime"] = UTCtimestamp();
# endif
# if message_unixtimestamp == true
SYSdata["unixtime"] = unixtimestamp();
# endif
# endif
SYSdata["version"] = OMG_VERSION;
# ifdef ZmqttDiscovery