Check the carbon brushes in the dynamo, you can see the top one by looking through the window in the top of the dynamo, its the thing with the small braided copper wire coming from it. The brush should be sat proud of the metal work it slots into, if not it wont be making good contact with the communicator.
The only thing is worn brushes causing the gen light to come on, usually the gen light goes out once the engine is revved.
fan belt should have about 10mm deflection when you push mid way between the top and bottom pulley.