re-added guard to onUpdate to avoid starting alarm unnecessarily