@mprinfo,
pour faire des fonctions arithmétiques sur les temps, le plus simple est de se baser sur le unix time, qui est un temps en secondes depuis (1/1/1970 ?).
Donc ce sont des simples nombres que tu peux additionner et soustraire
exemples :
num_day = tonumber(num_day)
local Arrosage = {}
Arrosage.Last = os.time()
Arrosage.Next = Arrosage.Last + (num_day*24*60*60)
local NextDate = fibaro:get(selfID, "ui.ArrosageNext.value")
local NextYear = string.sub(NextDate,-4,-1)
local NextMonth = string.sub(NextDate, -7, -6)
local NextDay = string.sub(NextDate, 5, 6)
Arrosage.Next = os.time{year=NextYear, month=NextMonth, day=NextDay}
Arrosage.Last = os.time{year=NextYear, month=NextMonth, day=NextDay} - (num_day*24*60*60)