Idiomatic expressions using essere and avere
I am new to Italian and yesterday my teacher covered these idiomatic expressions saying that avere was used if the word was a verb, and essere if it was an adjective. I have been trying to categorize them and am really struggling as to my mind the words in the different groups are pretty indistinguishable and none are verbs ie they are not 'doing' words.
sono in ritardo / ho fretta
sono felice / ho caldo
sono contenta / ho paura
sono annoiata / ho sete
sono stanca / ho sonno
sono triste / ho fame
So essere is used for being late, happy, bored, tired and sad while avere is used for tired, cold, in a hurry, afraid, thirsty, and hungry.
As some of these are pretty much the same (being late and being in a hurry/ being tired and being tired) Is there actually a rule or is this something that I just have to learn by rote?