Last two companies most of the dev staffs have worked from home. Some have been in other states. But it was software and we could track things like did we make milestones, how often and what did they check into the repository, etc.. They were, however, all salaried. Frankly I never cared if it took them 4 hours or 8 hours to solve a problem or add feature so long as it was delivered on time according to what the project needed.
The other rule was quite simple: If the phone rings between 9AM and 5PM office time you'd better damn well answer it. I'm not calling you to chat I'm calling you because something is broke and needs to be urgently fixed. And I stuck to that. if I wanted a status update I'd send an email.