refresh was called twice with every timer expiry

Also unpacked  dashboard.set_interval to simplify logic a bit.

Also set_interval used to call refresh() when called. Imho this is un-expected when setting a long refresh interval. Removed it (pending discussion)