Half an hour each way is the limit I'd put up with. If he's going to be earlier or later than that, he should have called you to agree it was OK or change the date/time.
I'm utterly fed up of tradesmen taking the piss and simply won't put up with it anymore, but then again, I've had 30 years of living in our own house having to deal with them, so my patience has long since run out.
But it's not just tradies. I've found others like estate agents, solicitors, GPs and dentists, etc to be just as unreliable with timings and won't put up with that either. Not so long ago, I was kept waiting at the opticians for over 30 minutes and just told the receptionist I was leaving, I've done it at the dentist too but that was more in response to one time when I was 5 minutes late due to the city being grid locked after a car accident (I did phone them to tell them!) and her refusing to see me - pay back time!
Even in my own small accountancy practice, if a client arrives more than half an hour late for a pre-arranged meeting, I will turn them away, or will just go out if it's close to lunch time or finishing time or I've somewhere else to go.
Being unreliable with time-keeping, appointments, etc is something I simply won't tolerate anymore. But that's me speaking as a grumpy 60 year old who's had a lifetime of being messed around by people who don't give a shit about others.