First, we have to realize what are the constraints. The desired water temperature does not correspond to the water temperature which is:
- in the trunk (is it even a right word? well, I'm talking about the tube between the faucet and the water outlet)
- and probably also some of the pipe.
It may be (theoretically and technically) possible to maintain it at a predefined level, but maintaining the correct temperature would be very expensive (constant warming up to a pre-set system, eg body temperature) . So, from an economic point of view, you need a workaround.
There are few ways for you to go, choosing some or all of the options (most of them have already been suggested in the other answers):
- give to the user possibility of pouring water of an incorrect temperature before he / she enters the shower enclosure. In the case of tube / shower combinations, it is possible to direct the water either to the shower or to the tap, so that you can use it and then go to the first one.
- giving visual cues explain the (obvious) fact that the water temperature may not be at the desired level from the beginning
- give to the user ability to adjust the water temperature – either by setting it to a certain level, or by trial and error, checking the temperature and changing the setting
- giving visual feedback about the temperature – the LED model shown by @SimonTeo is awesome here.
My idea of coping with it is a control that:
* allows the user to preset the temperature (but how to tell him that a preset on a command equals a certain temperature? You can choose Celsius or Farenheit or a more descriptive way – "body temperature", "hot shower", "cold shower")
* Then, until the water does not reach this temperature, the water is directed to the drain – this point should be accompanied by a visual feedback that users would understand (a pulsating led or something saying "wait for the water"), otherwise userw would think that the shower does not work at all
* Once the temperature reaches the preset, the water is directed to the shower
Nevertheless, the amount of water left in the trunk is a problem – it is behind any control unless it is drawn out of the trunk so that only water of the desired temperature reaches the user's body.