Skip to content

Commit 5513fad

Browse files
Copilotdorkmo
andcommitted
Fix time sync error handling for Notecard startup condition
Co-authored-by: dorkmo <[email protected]>
1 parent 13e39cd commit 5513fad

File tree

3 files changed

+28
-3
lines changed

3 files changed

+28
-3
lines changed

TankAlarm-112025-Client-BluesOpta/TankAlarm-112025-Client-BluesOpta.ino

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -669,13 +669,22 @@ static void syncTimeFromNotecard() {
669669
gNotecardFailureCount++;
670670
return;
671671
}
672-
JAddStringToObject(req, "mode", "auto");
673672
J *rsp = notecard.requestAndResponse(req);
674673
if (!rsp) {
675674
gNotecardFailureCount++;
676675
return;
677676
}
678677

678+
// Check for error response (e.g., "time is not yet set {no-time}")
679+
// This is normal during startup before Notecard syncs with cloud
680+
const char *err = JGetString(rsp, "err");
681+
if (err && strlen(err) > 0) {
682+
// Time not yet available - this is expected during startup
683+
// Will retry on next call - don't count this as a failure
684+
notecard.deleteResponse(rsp);
685+
return;
686+
}
687+
679688
double time = JGetNumber(rsp, "time");
680689
if (time > 0) {
681690
gLastSyncedEpoch = time;

TankAlarm-112025-Server-BluesOpta/TankAlarm-112025-Server-BluesOpta.ino

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2833,11 +2833,19 @@ static void ensureTimeSync() {
28332833
if (!req) {
28342834
return;
28352835
}
2836-
JAddStringToObject(req, "mode", "auto");
28372836
J *rsp = notecard.requestAndResponse(req);
28382837
if (!rsp) {
28392838
return;
28402839
}
2840+
// Check for error response (e.g., "time is not yet set {no-time}")
2841+
// This is normal during startup before Notecard syncs with cloud
2842+
const char *err = JGetString(rsp, "err");
2843+
if (err && strlen(err) > 0) {
2844+
// Time not yet available - this is expected during startup
2845+
// Will retry on next call
2846+
notecard.deleteResponse(rsp);
2847+
return;
2848+
}
28412849
double time = JGetNumber(rsp, "time");
28422850
if (time > 0) {
28432851
gLastSyncedEpoch = time;

TankAlarm-112025-Viewer-BluesOpta/TankAlarm-112025-Viewer-BluesOpta.ino

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -565,11 +565,19 @@ static void ensureTimeSync() {
565565
if (!req) {
566566
return;
567567
}
568-
JAddStringToObject(req, "mode", "auto");
569568
J *rsp = notecard.requestAndResponse(req);
570569
if (!rsp) {
571570
return;
572571
}
572+
// Check for error response (e.g., "time is not yet set {no-time}")
573+
// This is normal during startup before Notecard syncs with cloud
574+
const char *err = JGetString(rsp, "err");
575+
if (err && strlen(err) > 0) {
576+
// Time not yet available - this is expected during startup
577+
// Will retry on next call
578+
notecard.deleteResponse(rsp);
579+
return;
580+
}
573581
double time = JGetNumber(rsp, "time");
574582
if (time > 0) {
575583
gLastSyncedEpoch = time;

0 commit comments

Comments
 (0)