Skip to content

Commit 7f6a8f4

Browse files
authored
Refactor datetime formatting for ECR6600 platform (#1988)
* Refactor datetime formatting for ECR6600 platform Try fixing bad mqtt mesage for energycounter_clear_date on ECR6600 * Fix typo * Changed second occurence in source code
1 parent 8d83b41 commit 7f6a8f4

File tree

1 file changed

+15
-2
lines changed

1 file changed

+15
-2
lines changed

src/driver/drv_bl_shared.c

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -783,10 +783,16 @@ void BL_ProcessUpdate(float voltage, float current, float power,
783783
snprintf(datetime, sizeof(datetime), "%04i-%02i-%02iT%02i:%02i%+03i:%02i",
784784
ltm->tm_year+1900, ltm->tm_mon+1, ltm->tm_mday, ltm->tm_hour, ltm->tm_min,
785785
TIME_GetTimesZoneOfsSeconds()/3600, (abs(TIME_GetTimesZoneOfsSeconds())/60) % 60);
786-
*/
786+
*/
787+
#if PLATFORM_ECR6600
788+
// for ECR6000 printf("%+03i", 1); will not be "+01" but "0+1" ...
789+
int ttm = TIME_GetTimesZoneOfsSeconds()/60; // used to get +/- sign and minutes
790+
snprintf(datetime, sizeof(datetime), "%.16s%c%02i:%02i",TS2STR(ConsumptionResetTime, TIME_FORMAT_ISO_8601),
791+
ttm < 0 ? '-': '+', abs(ttm/60), abs(ttm) % 60);
792+
#else
787793
snprintf(datetime, sizeof(datetime), "%.16s%+03i:%02i",TS2STR(ConsumptionResetTime, TIME_FORMAT_ISO_8601),
788794
TIME_GetTimesZoneOfsSeconds()/3600, (abs(TIME_GetTimesZoneOfsSeconds())/60) % 60);
789-
795+
#endif
790796
cJSON_AddStringToObject(root, "consumption_clear_date", datetime);
791797
}
792798

@@ -924,8 +930,15 @@ void BL_ProcessUpdate(float voltage, float current, float power,
924930
ltm->tm_year+1900, ltm->tm_mon+1, ltm->tm_mday, ltm->tm_hour, ltm->tm_min,
925931
TIME_GetTimesZoneOfsSeconds()/3600, (abs(TIME_GetTimesZoneOfsSeconds())/60) % 60);
926932
*/
933+
#if PLATFORM_ECR6600
934+
// for ECR6000 printf("%+03i", 1); will not be "+01" but "0+1" ...
935+
int ttm = TIME_GetTimesZoneOfsSeconds()/60; // used to get +/- sign and minutes
936+
snprintf(datetime, sizeof(datetime), "%.16s%c%02i:%02i",TS2STR(ConsumptionResetTime, TIME_FORMAT_ISO_8601),
937+
ttm < 0 ? '-': '+', abs(ttm/60), abs(ttm) % 60);
938+
#else
927939
snprintf(datetime, sizeof(datetime), "%.16s%+03i:%02i",TS2STR(ConsumptionResetTime, TIME_FORMAT_ISO_8601),
928940
TIME_GetTimesZoneOfsSeconds()/3600, (abs(TIME_GetTimesZoneOfsSeconds())/60) % 60);
941+
#endif
929942

930943
MQTT_PublishMain_StringString(sensdataset->sensors[i].names.name_mqtt, datetime, 0);
931944
}

0 commit comments

Comments
 (0)