With 3x H801s you could easily achieve this. At less that $10 each. buying 3 would still be cheaper than a single Fibaro or Dresden (which you would probably have to purchase 3 of as well).
If you want to try to accomplish this with 1x H801 it would be a little different. With the H801s current firmware, you would need to create a specialized SmartApp & Virtual Switches, but you could achieve what you are looking for. It wouldn’t be too difficult to program (especially if you are looking to achieve just on/off, but dimming wouldn’t be too much more work).
I have already created the framework for such a thing here. You would essential need to change the virtual handler of the SmartApp to first check what the current color value of the H801 device is and then send setColor(hex:"#00ff00") to adjust the channel you are wanting to change. So, for example, say you want to turn the red channel on:
SmartApp would check the current value of the device. Let’s say it returns:
#00ffff
So then the SmartApp would send #ffffff.
If it would have returned #0000ff, then we would have send #ff00ff. The goal would be not to disturb the state of the other channels, that is why you would have to query the device first.
I have had it on my to do list to add the ability to control H801 to have independent lights on each channel and to be able to control them individually. I will think about it further and decide exactly what it would take.