Run the main loop also if no wifi is availibe

This construct does survive the millis() rollover...

if ( millis() - lastCheckAtMs > cmTimeoutMs ) { . . .

This does not although it looks OK at first glance and works most of the time . . .

if ( lastCheckAtMs + cmTimeoutMs < millis() ) { . . .

But, anyway, for most practical purposes both are OK.