I decided on having official office hours a while back, which are listed on my website and in my email signature. It gives my work week more structure and me the possibility to point my clients to them and say "sorry, but you contacted me outside of my office hours,", as well as helping me to actually switch off PC and brain in the evening. Outside of those hours, I set an OoO message. If I have to take a spontaneous afternoon or day off, I will change my OoO accordingly to inform my clients. If I take longer breaks, say more than 2 days, I will notify my regular clients up front.
I have read colleagues arguing about having office hours, as you might miss out on potential jobs if you don't check your emails even after hours, but I have still decided to have them, as not having them started to stress me out (checking emails at 3 in the morning and stuff like that).