Hi Bruno,
Let me address your use case again.
if a user task is escalating a mail after 4 hours it should not be escalated on weekends, so when working hours are defined from monday to friday 8am to 5pm and a task is advised on thursday 3pm it should be timer should fire on friday at 10am.
So you have a business rule with a constant that certain tasks should be managed within 4 working hours.
Hence in your process model, assuming you use a boundary event on a user task to ‘escalate somehow’, I would configure the timer model with an expression which will look for a process variable called escalate.
Have a look at my example in this thread. Here I use an input mapping on the task to generate the timer date. It uses some script to calculate the date…
regards
Rob