Here's a rule I did a while back. It does have code for chimney, windows, doors (a dutch door). I don't remember if it goes higher than one story, and it doesn't have windows on roof. BUT, it does have a fire in the fireplace that can be turned on and off! Remember to change path to assets so textures will show up.
Thank you very much Chris!
Also: is it possible that in this rule the implement 2 levels of detail:
1 for a simple model - a block with textured sidefacades and a type of roof and 2 for the same block but with windows, doors etc. and to be able to switch between them?
First make an attribute that switches between the two levels of details. Then use a case structure to break into two branches - one that is the high LOD in this rule, and then a low LOD version you describe above. Put the case in the part(s) of your rule where the level of detail changes would happen. What I mean is that if both LOD's use the extrusion and roof modeling code, then put the case right after the code that both use, and then branch it where the LOD deviates.