I am assuming that "was supposed to" and "ought to have" are the same: "he ought to have reminded me"/"he was supposed to remind me" = "il devrait me rappeler".
'was supposed' would use devoir in the imparfait as it is the past -
Il devait me contacter mais ne l'a pas fait = He was supposed to contact me but didn't do it
Il devait me rappeler = He was supposed to remind me /to call me back
'ought to' would use devoir in the conditional ( something that should happen)
Elle devrait aller voir ses parents plus souvent = She ought to go and visit her parents more often
'ought to have' would use devoir in the conditional past (something that should have happened but it's in the past so won't happen now)
Ils auraient dû me demander de les aider = They ought to have asked me to help them
Three different ideas and three different tenses, same verb.
But very good question!
Hope this helps!
Sign in to submit your answer
Don't have an account yet? Join today
Test your French to the CEFR standard