Senso,
O que liga a caldeira é um conjunto de sensores de temperatura e relés da caldeira original. Resumidamente, a caldeira está sempre ligada e configurada para manter a água a uma certa temperatura. Quando está abaixo da temperatura seleccionada, a caldeira dá corrente 220V a uma outra parte da mesma que vai aquecer a água. Quando esta chega à temperatura escolhida, a primeira parte da caldeira corta a corrente da segunda parte. O problema é que o motor que neste momento tenho a controlar a queda de pellets é demasiado forte (é um berbequim). O que pensei ao início foi colocar tudo ligado à "segunda parte" da caldeira. Quando a mesma liga essa segunda parte, ligava tudo (incluíndo o arduino). No entanto, apercebi-me que durante o tempo de "boot" do arduino íam cair imensos pellets. Julgo que o rglove sugeriu à uns posts atrás uma outra solução para isto, mas acabei por me ficar com esta. Quanto ao transformador a dar "1" mesmo desligado, era erro meu: esqueci-me de desligar o GND.
Quanto à primeira parte do teu post, vou-te ser sincero: não compreendi muito. Fui agora mesmo ler à wikipédia sobre o que é uma máquina de estados e julgo que fiquei a perceber o que pretendes. Não sei bem trabalhar com o código a esse ponto, no entanto é algo que vou aprofundar.
No entanto e para já gostava de ver se consigo colocar as coisas a dar com este código (tenho alguma pressa em ter isto pronto, para fazer alguns testes). Há alguma solução para ter mais ram que possa usar? O código que vou usar só vai uma vez ao "loop". O que está no loop é a função standby, e passa directamente para esta.