The dishwasher works great, so far I have coded only one type of cycle. The arduino turns on and automatically runs. 

Maybe in the future I might add an encoder and ON/OFF switch so as to select from multiple cycles (normal, light, pots & pans, etc).

For my dishwasher model, the heater assembly, vent assembly and wash motor were controlled by relays with a normal open connection to mains hot, no problem there. But the drain motor, dispenser wax motor and fill valve were controlled by triacs giving them mains neutral. Since I did not want to complicate things by creating a PCB I decided to just rewire some things and control everything by relays with normal open connections to mains hot. 

Also, my dishwasher contains a 50k ohm NTC thermistor which measures the water temp while in the wash cycle. Googling I found a good post in adafruit explaining how to setup and code for arduino

Electronics are powered by 2 small AC to DC 110v -> 5v supplys, one for the arduino nano and the other for the relay module, this becuase when the wash motor started, it would reset the arduino because of the big current draw. 

Safety wise, thermal fuse, the 2 door switches, thermostat and overfill switch remain as they were before.