So, the following solution is a kind of a hack but it seems to work.
//individual time
BLYNK_WRITE(V8) { // Scheduler #7 Time Input widget
TimeInputParam t(param);
long startseconds = (t.getStartHour() * 3600) + (t.getStartMinute() * 60);
if (t.hasStartTime() && startseconds != 23280) {
long nowseconds = ((hour() * 3600) + (minute() * 60) + second());
int dayadjustment = -1;
if (weekday() == 1) {
dayadjustment = 6; // needed for Sunday Time library is day 1 and Blynk is day 7
}
if (t.isWeekdaySelected((weekday() + dayadjustment))) { //Time library starts week on Sunday, Blynk on Monday
//Schedule is ACTIVE today
if (nowseconds >= startseconds - ((brewtime/1000) + 31) && nowseconds < startseconds - ((brewtime/1000) - 31) && coffeeactive == false) { // 62s on 60s timer ensures 1 trigger command is sent
//reset timer in app
int startAt = -1;
int stopAt = -1;
char tz[]= "Europe/Berlin";
Blynk.virtualWrite(V8, startAt, stopAt, tz);
//start button
timer3.setTimeout(780L, []() {
coffeeaction();
});
}
}
}
}
The condition “if (t.hasStartTime() && startseconds != 23280)” prevents the time input to trigger any action when it was either resetted by the app or by hardware side. As long as you don’t want your action to be started at 6:28 am (=23280 seconds) this should work.
Anyway I really would appreciate a proper solution in order to reset the time input by code.