
when he is angry, don't tell him anything, just ignore him...act as if it isn't happening and speak to him like you would speak to him when he is in a good mood for eg: "man its boiling hot today, want some ice-cream?"
then when he has calmed down, sit and explain to him what it is that bothers you...but
first you have to let him hear something
he likes as this will soften his heart straight away and make him more inventive not only to the advice you give him in regards to him, but also the advice you give in regards to you and your children... so words of support and encouragement...and maybe telling him that you think what he's doing is fabulous...reminding him of his reward with Allah and saying something like: may allah reward you immensely for your efforts, etc..so yes, make dua for him both in front of him and in secret...
then you bring up
your issues and tell him and talk to him about the affects his moods have on your kids if he is unnecessarily stern with them...it does tend to cause them to be a little distressed and all.
if you want to change things, it is counter-productive to get angry and annoyed with one who is angry and annoyed with you. also when advising him always be
indirect and try to avoid as best as you can words that could potentially annoy him... this is because don't men (and even some women too) don't like being told what to do plus, he already knows what his problem so you echoing it (to him) is pointless and annoying...so avoid words like "moody" because the minute he hears that, he knows what you are getting at and all your efforts will go up in smoke
constantly encourage and support him so that he is extra motivated to quit this bad habit.