Choosing a protocol for Home Automation over RS485

You could try Modbus ASCII instead of Modbus RTU.

Modbus Ascii was developed for use with Modems and is a standard protocol.

From off the top of my head, you basically have a start character which is always Ascii character ":", then you have the modbus function, modbus address, then the data, number of bytes, LRC error check and then Carriage Return and Line Feed characters.

Its a bit more 'structured' than RTU as it has strict start and end characters, so you can have a bit of a pause in between and it wont effect the outcome, whereas if you have something like 1.5 clocks with no data in RTU then it discards it and waits for the next frame.

This is all off the top of my head so I may have made a bit of a mistake in the order of things, however it is roughtly correct.

It would not be hard at all to implement Modbus ASCII in the arduino.

Google it, you will find a ton of info.

Hope that is of some help